commit d690d6a14f5eb6ca9dbade78f0234684a9c68c2f
parent cf12313159be251a18bd24104f5b18948e9132e1
Author: Katja (ctucx) <git@ctu.cx>
Date: Wed, 5 Feb 2025 10:14:41 +0100
parent cf12313159be251a18bd24104f5b18948e9132e1
Author: Katja (ctucx) <git@ctu.cx>
Date: Wed, 5 Feb 2025 10:14:41 +0100
settingsView: automaticly render available languages
2 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/src/languages.js b/src/languages.js @@ -8,15 +8,7 @@ export const getDefaultLanguage = () => { return 'en'; }; -export const getLanguages = () => { - let availableLanguages = {}; - - Object.keys(languages).forEach((element) => { - availableLanguages[element] = languages[settings.language][element]; - }); - - return availableLanguages; -} +export const getLanguages = () => Object.keys(languages); export const t = (key, ...params) => { let translation = languages[settings.language][key];
diff --git a/src/settingsView.js b/src/settingsView.js @@ -3,7 +3,7 @@ import { db, clearDataStorage } from './dataStorage.js'; import { modifySettings, settings } from './settings.js'; import { showModal, hideOverlay } from './overlays.js'; import { ElementById, hideElement, showElement } from './helpers.js'; -import { t } from './languages.js'; +import { t, getLanguages } from './languages.js'; import { searchView } from './searchView.js'; import { initHafasClient } from './hafasClient.js'; @@ -17,9 +17,9 @@ const settingsTemplate = () => html` <div class="flex-row"> <label for="language">${t('language')}:</label> <select id="language"> - <option value="en" ?selected=${settings.language === 'en'}>${t('en')}</option> - <option value="de" ?selected=${settings.language === 'de'}>${t('de')}</option> - <option value="nl" ?selected=${settings.language === 'nl'}>${t('nl')}</option> + ${getLanguages().map(lang => html` + <option value="${lang}" ?selected=${settings.language === lang}>${t(lang)}</option> + `)} </select> </div>