diff options
| author | Ariel Costas Guerrero <ariel@costas.dev> | 2025-06-24 16:14:28 +0200 |
|---|---|---|
| committer | Ariel Costas Guerrero <ariel@costas.dev> | 2025-06-24 16:14:28 +0200 |
| commit | ecb73e1684b42265af3f8d93541600e4d0f9c414 (patch) | |
| tree | 26e413973b32de0367aa06cfc0df329c67733821 /src/frontend/app/i18n/index.ts | |
| parent | f65b4e1e0d5648038823962349279be4badc68ed (diff) | |
Implement i18n
Closes #18
Diffstat (limited to 'src/frontend/app/i18n/index.ts')
| -rw-r--r-- | src/frontend/app/i18n/index.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/frontend/app/i18n/index.ts b/src/frontend/app/i18n/index.ts new file mode 100644 index 0000000..a7ba6aa --- /dev/null +++ b/src/frontend/app/i18n/index.ts @@ -0,0 +1,31 @@ +import i18n from 'i18next'; +import { initReactI18next } from 'react-i18next'; +import LanguageDetector from 'i18next-browser-languagedetector'; +import esES from './locales/es-ES.json'; +import glES from './locales/gl-ES.json'; +import enGB from './locales/en-GB.json'; + +// Add more languages as needed +const resources = { + 'es-ES': { translation: esES }, + 'gl-ES': { translation: glES }, + 'en-GB': { translation: enGB }, +}; + +i18n + .use(LanguageDetector) + .use(initReactI18next) + .init({ + resources, + fallbackLng: 'es-ES', + interpolation: { + escapeValue: false, + }, + supportedLngs: ['es-ES', 'gl-ES', 'en-GB'], + detection: { + order: ['querystring', 'cookie', 'localStorage', 'navigator', 'htmlTag'], + caches: ['localStorage', 'cookie'], + }, + }); + +export default i18n; |
