Complete client UI i18n migration

Adds client-side i18n support, language settings, translated UI copy, and locale parity coverage.
This commit is contained in:
chyendongnhanh338
2026-06-11 14:15:35 +08:00
committed by GitHub
parent 41cf070fd8
commit 08ebe5e7e1
199 changed files with 16426 additions and 1821 deletions
@@ -125,6 +125,19 @@ vi.mock("expo-router", () => ({
router: { navigate },
}));
vi.mock("react-i18next", () => ({
useTranslation: () => ({
t: (key: string, values?: Record<string, string>) => {
if (key === "sidebar.project.empty.title") return "No projects yet";
if (key === "settings.projectList.hostLoadFailed") {
return `Couldn't load projects from host ${values?.hostName}: ${values?.message}`;
}
if (key === "settings.projectList.editProject") return `Edit ${values?.projectName}`;
return key;
},
}),
}));
vi.mock("@/components/ui/loading-spinner", () => ({
LoadingSpinner: ({ size }: { size?: string | number }) =>
React.createElement("span", {