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

@@ -1,6 +1,7 @@
"use client";
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { getJackpotSummary } from "@/api/jackpot";
import { formatMinorAsCurrency } from "@/lib/money";
@@ -13,6 +14,7 @@ type JackpotResultsStripProps = {
export function JackpotResultsStrip({
currencyCode = "NPR",
}: JackpotResultsStripProps) {
const { t } = useTranslation("player");
const [minor, setMinor] = useState<number | null>(null);
const [enabled, setEnabled] = useState(false);
@@ -44,7 +46,7 @@ export function JackpotResultsStrip({
return (
<div className="rounded-xl border border-amber-200 bg-gradient-to-r from-amber-100 via-white to-[#f8fbff] px-3 py-3 shadow-[0_8px_20px_rgba(180,83,9,0.08)]">
<p className="text-[11px] font-black uppercase tracking-normal text-amber-700">
Jackpot
{t("results.jackpotLabel")}
</p>
<p className="font-mono text-lg font-black tabular-nums text-[#0b3f96]">
{formatMinorAsCurrency(minor, currencyCode.toUpperCase())}