X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fapp.module.ts;h=51e35437824629f8ca399ff78ed99a4e97507007;hb=bbe0f0645ca958d33a3f409b15166609733b663f;hp=874fc43aa28cafdc1a2b177f7a00b323b6531693;hpb=230de99e7146f75b0af056a42c54161597c03002;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts index 874fc43aa..51e354378 100644 --- a/client/src/app/app.module.ts +++ b/client/src/app/app.module.ts @@ -1,4 +1,4 @@ -import { NgModule } from '@angular/core' +import { LOCALE_ID, NgModule, TRANSLATIONS, TRANSLATIONS_FORMAT } from '@angular/core' import { BrowserModule } from '@angular/platform-browser' import { AboutModule } from '@app/about' import { ServerService } from '@app/core' @@ -16,6 +16,8 @@ import { MenuComponent } from './menu' import { SharedModule } from './shared' import { SignupModule } from './signup' import { VideosModule } from './videos' +import { buildFileLocale, getCompleteLocale, getDefaultLocale, isDefaultLocale } from '../../../shared/models/i18n' +import { getDevLocale, isOnDevLocale } from '@app/shared/i18n/i18n-utils' export function metaFactory (serverService: ServerService): MetaLoader { return new MetaStaticLoader({ @@ -45,8 +47,6 @@ export function metaFactory (serverService: ServerService): MetaLoader { CoreModule, SharedModule, - AppRoutingModule, - CoreModule, LoginModule, ResetPasswordModule, @@ -59,8 +59,30 @@ export function metaFactory (serverService: ServerService): MetaLoader { provide: MetaLoader, useFactory: (metaFactory), deps: [ ServerService ] - }) + }), + + AppRoutingModule // Put it after all the module because it has the 404 route ], - providers: [ ] + providers: [ + { + provide: TRANSLATIONS, + useFactory: (locale) => { + // On dev mode, test localization + if (isOnDevLocale()) { + locale = getDevLocale() + return require(`raw-loader!../locale/target/angular_${locale}.xml`) + } + + // Default locale, nothing to translate + const completeLocale = getCompleteLocale(locale) + if (isDefaultLocale(completeLocale)) return '' + + const fileLocale = buildFileLocale(locale) + return require(`raw-loader!../locale/target/angular_${fileLocale}.xml`) + }, + deps: [ LOCALE_ID ] + }, + { provide: TRANSLATIONS_FORMAT, useValue: 'xlf' } + ] }) export class AppModule {}