From c74c6510eef603b81ad71e2024da11cc9d8abe26 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Fri, 17 Jul 2020 15:35:54 +0200
Subject: [PATCH] Fix language code detection for more than 2 letters codes

---
 src/app/services/internationalisation.service.ts | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts
index bac781614..6a1a79e7e 100644
--- a/src/app/services/internationalisation.service.ts
+++ b/src/app/services/internationalisation.service.ts
@@ -55,11 +55,12 @@ export class I18nService extends Observable implements Observer {
     /**
      * Defines the current language code from its ISO 639-1 code (2 characters) or locale code
      * (ex: "fr", "en", "fr_FR", "en-US")
-     * @see this.languageCodeFromLocaleCode()
      *
      * @param code ISO 639-1 language code
      */
     public async setLanguage(code: string) {
+        // ensure 2-letter language code
+        code = code.substring(0, 2);
         // is language supported ?
         if (! Object.keys(this._availableLanguages).includes(code)) {
             throw new Error(`LANGUAGE_UNSUPPORTED "${code}"`);
-- 
GitLab