From d283961287c2d4568f521254b78dd047f5350c6a Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 5 Mar 2019 17:17:34 +0100
Subject: [PATCH] Fix #130

---
 src/app/app.component.ts | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 968194eae..9f8a8f069 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -103,8 +103,15 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
   }
 
   ngOnInit() {
-    this.intlService.addObserver(this);
-    this.intlService.setLocale(this.appSetupService.language);
+    // try to detect the browser's language
+    const navLang = navigator.language;
+    try {
+      this.intlService.setLocale(navLang);
+    } catch (e) {
+      console.error(e.toString());
+      this.intlService.setLocale(this.appSetupService.language);
+    }
+
     this.formulaireService.addObserver(this);
     this.subscribeErrorService();
     this._innerWidth = window.innerWidth;
@@ -206,14 +213,6 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
     this.errorService.removeObserver(this);
   }
 
-  private updateLocale() {
-    const tag = this.appSetupService.language;
-    document["locale"] = tag;
-    this.intlService.setLocale(tag);
-
-    this.appRef.tick();
-  }
-
   // interface Observer
 
   update(sender: any, data: any): void {
@@ -260,8 +259,6 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
           this.closeCalculator(form);
           break;
       }
-    } else if (sender instanceof I18nService) {
-      this.updateLocale();
     } else if (sender instanceof FormulaireDefinition) {
       switch (data["action"]) {
         case "nameChanged":
-- 
GitLab