Mise en place de l'anglais comme deuxième langue pour l'application
Some checks failed
Build & Push Images / build (brain) (push) Has been cancelled
Build & Push Images / build (core) (push) Has been cancelled
Build & Push Images / build (web) (push) Has been cancelled
Build & Push Images / build-switcher (push) Has been cancelled

This commit is contained in:
2026-06-14 16:24:05 +02:00
parent 6e75326779
commit af3a6d443c
198 changed files with 7801 additions and 1720 deletions

View File

@@ -4,7 +4,10 @@ import { PreloadAllModules, provideRouter, withPreloading } from '@angular/route
import { routes } from './app/app.routes';
import { provideHttpClient, withInterceptors } from '@angular/common/http';
import { APP_INITIALIZER, provideZoneChangeDetection } from '@angular/core';
import { provideTranslateService } from '@ngx-translate/core';
import { provideTranslateHttpLoader } from '@ngx-translate/http-loader';
import { ConfigService } from './app/services/config.service';
import { LanguageService } from './app/services/language.service';
import { sessionExpiredInterceptor } from './app/interceptors/session-expired.interceptor';
// withPreloading(PreloadAllModules) : une fois l'app initiale rendue, Angular
@@ -16,11 +19,26 @@ bootstrapApplication(AppComponent, {
providers: [
provideZoneChangeDetection(),provideRouter(routes, withPreloading(PreloadAllModules)),
provideHttpClient(withInterceptors([sessionExpiredInterceptor])),
provideTranslateService({
loader: provideTranslateHttpLoader({
prefix: 'assets/i18n/',
suffix: '.json',
}),
fallbackLang: 'fr',
}),
{
provide: APP_INITIALIZER,
useFactory: (config: ConfigService) => () => config.load(),
deps: [ConfigService],
multi: true,
},
{
// Applique la langue (localStorage → navigateur → fr) et précharge le JSON
// correspondant avant le premier rendu, pour éviter un flash de clés brutes.
provide: APP_INITIALIZER,
useFactory: (lang: LanguageService) => () => lang.init(),
deps: [LanguageService],
multi: true,
},
],
}).catch((err: Error) => console.error(err));