From fece4dcee1f56609b763344122bfe0381ce2fb17 Mon Sep 17 00:00:00 2001 From: Paul Coral Date: Wed, 6 Aug 2025 21:58:14 +0200 Subject: [PATCH] fix translation init --- apps/backend/{src => }/assets/i18n/en.json | 0 apps/backend/{src => }/assets/i18n/fr.json | 0 apps/backend/nest-cli.json | 5 ++- .../localization/localization.service.ts | 39 ++++++++++--------- 4 files changed, 25 insertions(+), 19 deletions(-) rename apps/backend/{src => }/assets/i18n/en.json (100%) rename apps/backend/{src => }/assets/i18n/fr.json (100%) diff --git a/apps/backend/src/assets/i18n/en.json b/apps/backend/assets/i18n/en.json similarity index 100% rename from apps/backend/src/assets/i18n/en.json rename to apps/backend/assets/i18n/en.json diff --git a/apps/backend/src/assets/i18n/fr.json b/apps/backend/assets/i18n/fr.json similarity index 100% rename from apps/backend/src/assets/i18n/fr.json rename to apps/backend/assets/i18n/fr.json diff --git a/apps/backend/nest-cli.json b/apps/backend/nest-cli.json index f9aa683..b964781 100644 --- a/apps/backend/nest-cli.json +++ b/apps/backend/nest-cli.json @@ -3,6 +3,9 @@ "collection": "@nestjs/schematics", "sourceRoot": "src", "compilerOptions": { - "deleteOutDir": true + "deleteOutDir": true, + "assets": [ + { "include": "assets/**/*", "watchAssets": true } + ] } } diff --git a/apps/backend/src/services/localization/localization.service.ts b/apps/backend/src/services/localization/localization.service.ts index bcd6115..05b8940 100644 --- a/apps/backend/src/services/localization/localization.service.ts +++ b/apps/backend/src/services/localization/localization.service.ts @@ -6,24 +6,27 @@ import * as i18nextBackend from 'i18next-fs-backend'; export const LOCALIZATION_SERVICE = 'LOCALIZATION_SERVICE'; -export const localizationServiceProvider: FactoryProvider = { - provide: LOCALIZATION_SERVICE, - scope: Scope.REQUEST, - useFactory: async (req: Request) => { - const instance = i18next.createInstance().use(i18nextBackend as any); - const supportedLang = - req.acceptsLanguages().find((l) => isSupportedLang(l)) ?? 'fr'; - await instance.init({ - lng: supportedLang, - debug: true, - backend: { - loadPath: `${__dirname}/src/assets/i18n/{{lng}}.json`, - }, - }); - new LocalizationService(instance); - }, - inject: ['REQUEST'], -}; +export const localizationServiceProvider: FactoryProvider = + { + provide: LOCALIZATION_SERVICE, + scope: Scope.REQUEST, + useFactory: async (req: Request) => { + const instance = i18next.createInstance().use(i18nextBackend as any); + const supportedLang = req + .acceptsLanguages() + .find((l) => isSupportedLang(l)); + await instance.init({ + lng: supportedLang, + fallbackLng: 'en', + debug: false, + backend: { + loadPath: `assets/i18n/{{lng}}.json`, + }, + }); + return new LocalizationService(instance); + }, + inject: ['REQUEST'], + }; export class LocalizationService { constructor(private readonly i18n: i18next.i18n) {}