Configure language by value, not by index.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
This commit is contained in:
Anders Kaseorg
2020-04-22 12:59:15 -07:00
parent 714cd926ae
commit 7ffddded5d
2 changed files with 4 additions and 6 deletions

View File

@@ -416,14 +416,12 @@ export default class GeneralSection extends BaseSection {
const langMenu: HTMLSelectElement = document.querySelector('.lang-menu');
// The next three lines set the selected language visible on the dropdown button
let langIndex = ConfigUtil.getConfigItem('languageIndex');
langIndex = (langIndex === null) ? 4 : langIndex;
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
(langMenu.options[langIndex] as HTMLOptionElement).setAttribute('selected', '');
let language = ConfigUtil.getConfigItem('appLanguage');
language = language && langMenu.options.namedItem(language) ? language : 'en-US';
langMenu.options.namedItem(language).selected = true;
langMenu.addEventListener('change', (event: Event) => {
ConfigUtil.setConfigItem('appLanguage', (event.target as HTMLSelectElement).value);
ConfigUtil.setConfigItem('languageIndex', (event.target as HTMLSelectElement).selectedIndex);
});
}