mirror of
				https://github.com/zulip/zulip-desktop.git
				synced 2025-11-03 21:43:18 +00:00 
			
		
		
		
	Configure language by value, not by index.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
This commit is contained in:
		@@ -47,7 +47,7 @@ export default class BaseSection extends BaseComponent {
 | 
			
		||||
	generateSelectTemplate(options: {[key: string]: string}, className?: string, idName?: string): string {
 | 
			
		||||
		let select = `<select class="${escape(className)}" id="${escape(idName)}">\n`;
 | 
			
		||||
		Object.keys(options).forEach(key => {
 | 
			
		||||
			select += `<option value="${escape(key)}">${escape(options[key])}</option>\n`;
 | 
			
		||||
			select += `<option name="${escape(key)}" value="${escape(key)}">${escape(options[key])}</option>\n`;
 | 
			
		||||
		});
 | 
			
		||||
		select += '</select>';
 | 
			
		||||
		return select;
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user