From 421d92f39576faebe627a458b11d8303a0a996d1 Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle <patrizio.bekerle@tugraz.at> Date: Wed, 30 Jun 2021 10:23:36 +0200 Subject: [PATCH] Fix broken language switch when moving in browser history (#59) --- packages/app-shell/src/app-shell.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/app-shell/src/app-shell.js b/packages/app-shell/src/app-shell.js index bf2bab5e..5e582b4f 100644 --- a/packages/app-shell/src/app-shell.js +++ b/packages/app-shell/src/app-shell.js @@ -44,6 +44,7 @@ export class AppShell extends ScopedElementsMixin(DBPLitElement) { constructor() { super(); this.lang = i18n.language; + this.languages = []; this.activeView = ''; this.entryPointUrl = ''; this.subtitle = ''; @@ -270,8 +271,12 @@ export class AppShell extends ScopedElementsMixin(DBPLitElement) { * @param {string} lang */ updateLangIfChanged(lang) { + // if the language is switched to English then i18n.languages is ['en'], instead of ['en', 'de'] + // so we are now only adding new ones to this.languages + this.languages = Array.from(new Set(this.languages.concat(i18n.languages))); + // in case the language is unknown, fall back to the default - if (!i18n.languages.includes(lang)) { + if (!this.languages.includes(lang)) { lang = this.lang; } if (this.lang !== lang) { -- GitLab