feat(I18n) 添加I18n相关功能,支持中文和英文

This commit is contained in:
2025-12-19 17:53:10 +08:00
parent af49eb9747
commit 6f6dea9f03
9 changed files with 297 additions and 27 deletions

View File

@@ -1,5 +1,6 @@
import { useState, useCallback } from 'react'
import { ThemeProvider } from './contexts/ThemeContext'
import { LanguageProvider, useLanguage } from './contexts/LanguageContext'
import FloatingHeader from './components/FloatingHeader'
import IpInput from './components/IpInput'
import LatencyMap from './components/LatencyMap'
@@ -12,6 +13,7 @@ function AppContent() {
const [results, setResults] = useState<Map<string, LatencyResult>>(new Map())
const [testing, setTesting] = useState(false)
const [selectedNodeId, setSelectedNodeId] = useState<string | null>(null)
const { t } = useLanguage()
const handleTest = useCallback(async (target: string) => {
setTesting(true)
@@ -35,7 +37,7 @@ function AppContent() {
<main className="app-main" style={{ paddingTop: '5rem' }}>
<p className="app-description">
Test network latency from global locations to any IP address or domain
{t('从全球各地测试到任意IP地址或域名的网络延迟', 'Test network latency from global locations to any IP address or domain')}
</p>
<IpInput onTest={handleTest} testing={testing} />
<LatencyMap
@@ -51,7 +53,7 @@ function AppContent() {
</main>
<footer className="app-footer">
<p>© 2024 Latency Test. Powered by GlobalPing.</p>
<p>{t('© 2024 延迟测试。由 GlobalPing 提供支持。', 2024 Latency Test. Powered by GlobalPing.')}</p>
</footer>
</div>
)
@@ -60,7 +62,9 @@ function AppContent() {
export default function App() {
return (
<ThemeProvider>
<AppContent />
<LanguageProvider>
<AppContent />
</LanguageProvider>
</ThemeProvider>
)
}