From 2c71e995f20e0c61c62504ea2c274cf329b7403c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 11 Oct 2025 20:46:29 +0300 Subject: [PATCH] feat(website/i18n): set up --- .vscode/settings.json | 3 ++- apps/website/package.json | 2 ++ apps/website/src/i18n.ts | 16 ++++++++++++++++ pnpm-lock.yaml | 16 ++++++++-------- 4 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 apps/website/src/i18n.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index 9ee96f4c1..0c6d55c65 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,7 +5,8 @@ "i18n-ally.keystyle": "nested", "i18n-ally.localesPaths": [ "apps/server/src/assets/translations", - "apps/client/src/translations" + "apps/client/src/translations", + "apps/website/public/translations" ], "npm.exclude": [ "**/dist", diff --git a/apps/website/package.json b/apps/website/package.json index a818aba4d..d5aa5117c 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -8,6 +8,8 @@ "preview": "pnpm build && vite preview" }, "dependencies": { + "i18next": "25.6.0", + "i18next-http-backend": "3.0.2", "preact": "10.27.2", "preact-iso": "2.11.0", "preact-render-to-string": "6.6.2" diff --git a/apps/website/src/i18n.ts b/apps/website/src/i18n.ts new file mode 100644 index 000000000..4c7095704 --- /dev/null +++ b/apps/website/src/i18n.ts @@ -0,0 +1,16 @@ +import { default as i18next } from "i18next"; +import HttpApi from 'i18next-http-backend'; + +console.log("INIT I18NEXT"); +i18next.use(HttpApi) +await i18next.init({ + debug: true, + lng: "en", + fallbackLng: "en", + backend: { + loadPath: "/translations/{{lng}}/{{ns}}.json", + }, + returnEmptyString: false +}); + +export const t = i18next.t; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9951d6416..faa37e2a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -765,6 +765,12 @@ importers: apps/website: dependencies: + i18next: + specifier: 25.6.0 + version: 25.6.0(typescript@5.9.3) + i18next-http-backend: + specifier: 3.0.2 + version: 3.0.2(encoding@0.1.13) preact: specifier: 10.27.2 version: 10.27.2 @@ -14691,8 +14697,6 @@ snapshots: '@ckeditor/ckeditor5-core': 47.0.0 '@ckeditor/ckeditor5-utils': 47.0.0 ckeditor5: 47.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-code-block@47.0.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)': dependencies: @@ -14754,8 +14758,6 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.0.0 '@ckeditor/ckeditor5-watchdog': 47.0.0 es-toolkit: 1.39.5 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-dev-build-tools@43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)': dependencies: @@ -14969,8 +14971,6 @@ snapshots: '@ckeditor/ckeditor5-table': 47.0.0 '@ckeditor/ckeditor5-utils': 47.0.0 ckeditor5: 47.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-emoji@47.0.0': dependencies: @@ -15639,8 +15639,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 47.0.0 '@ckeditor/ckeditor5-ui': 47.0.0 '@ckeditor/ckeditor5-utils': 47.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@47.0.0': dependencies: @@ -15698,6 +15696,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.0.0 ckeditor5: 47.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@codemirror/autocomplete@6.18.6': dependencies: