]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/main.ts
Update locales
[github/Chocobozzz/PeerTube.git] / client / src / main.ts
index e1a69e4a4b55a5d86ba5bd3fdb77da19c51ed49a..2b65072adcf748b6bcf1e372892db7c8cd4965a0 100644 (file)
@@ -1,17 +1,31 @@
-import { enableProdMode } from '@angular/core'
+import { enableProdMode, TRANSLATIONS, TRANSLATIONS_FORMAT } from '@angular/core'
 import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
 
 import { AppModule } from './app/app.module'
 import { environment } from './environments/environment'
 
 import { hmrBootstrap } from './hmr'
+import { getDevLocale, isOnDevLocale } from '@app/shared/i18n/i18n-utils'
+import { buildFileLocale } from '../../shared'
 
+let providers: any[] = []
 if (environment.production) {
   enableProdMode()
 }
 
+// Template translation, should be in the bootstrap step
+if (isOnDevLocale()) {
+  const locale = buildFileLocale(getDevLocale())
+  const translations = require(`raw-loader!./locale/angular.${locale}.xlf`)
+
+  providers = [
+    { provide: TRANSLATIONS, useValue: translations },
+    { provide: TRANSLATIONS_FORMAT, useValue: 'xlf' }
+  ]
+}
+
 const bootstrap = () => platformBrowserDynamic()
-  .bootstrapModule(AppModule)
+  .bootstrapModule(AppModule, { providers })
   .then(bootstrapModule => {
     // TODO: Uncomment and remove unregistration when https://github.com/angular/angular/issues/21191 is fixed
     // TODO: Remove when https://github.com/angular/angular-cli/issues/8779 is fixed?
@@ -20,7 +34,7 @@ const bootstrap = () => platformBrowserDynamic()
     //     .catch(err => console.error('Cannot register service worker.', err))
     // }
 
-    if (navigator.serviceWorker) {
+    if (navigator.serviceWorker && typeof navigator.serviceWorker.getRegistrations === 'function') {
       navigator.serviceWorker.getRegistrations()
         .then(registrations => {
           for (const registration of registrations) {