refactor: 完成全站国际化改造,统一多语言支持

此提交完成了全项目的国际化适配:
1. 新增多语言翻译文件与基础配置
2. 替换所有硬编码文本为i18n调用
3. 优化语言切换与文档语言同步逻辑
4. 重构部分业务逻辑以支持动态翻译
5. 移除过时代码与硬编码配置
This commit is contained in:
2026-05-15 10:41:14 +08:00
parent ac612cb32c
commit f2c7f5e4f1
53 changed files with 2179 additions and 767 deletions

View File

@@ -10,10 +10,6 @@ export default async function DrawResultByNoPage(props: PageProps) {
return (
<div className="flex flex-col gap-4">
<div>
<h1 className="text-lg font-semibold tracking-tight"></h1>
<p className="text-xs text-muted-foreground"> · 23 </p>
</div>
<DrawResultDetailScreen drawNo={drawNo} />
</div>
);

View File

@@ -3,13 +3,8 @@ import { DrawResultsListScreen } from "@/features/results/draw-results-list-scre
export default function DrawResultsHistoryPage() {
return (
<div className="flex flex-col gap-4">
<div>
<h1 className="text-lg font-semibold tracking-tight"></h1>
<p className="text-xs text-muted-foreground">
GMT §4.6
</p>
</div>
<DrawResultsListScreen />
</div>
);
}

View File

@@ -6,7 +6,7 @@ import { EntryGate } from "@/features/player/entry-gate";
function EntryFallback(): ReactNode {
return (
<div className="flex min-h-dvh flex-col items-center justify-center bg-gradient-to-b from-red-800 to-red-950 px-4 text-sm text-white/90">
<p></p>
<p>Loading...</p>
</div>
);
}