From a062eacb3073ac8db12db1845e200257db6f3df6 Mon Sep 17 00:00:00 2001 From: dragongoose Date: Sat, 19 Aug 2023 20:37:11 -0400 Subject: [PATCH] Move languages to settings menu --- src/components/NavbarView.vue | 11 ++++++++--- src/settingsManager.ts | 30 +++++++++++++++++++++++------- src/views/SettingsView.vue | 12 +++++++----- 3 files changed, 38 insertions(+), 15 deletions(-) diff --git a/src/components/NavbarView.vue b/src/components/NavbarView.vue index 5e1d821..ca78086 100644 --- a/src/components/NavbarView.vue +++ b/src/components/NavbarView.vue @@ -16,6 +16,12 @@ export default { toggle() { this.open = !this.open } + }, + mounted() { + const savedLocale = localStorage.getItem('language') + if(savedLocale) { + this.$i18n.locale = savedLocale + } } } @@ -29,7 +35,6 @@ export default { -
@@ -57,7 +62,7 @@ export default {
diff --git a/src/settingsManager.ts b/src/settingsManager.ts index 0ac711b..9550c9b 100644 --- a/src/settingsManager.ts +++ b/src/settingsManager.ts @@ -1,19 +1,35 @@ +export const setLanguage = (selectedLanguage: string, i18n: any) => { + // Locales and languages in arrays to match them + const locales = ['en-US', 'es-ES', 'nl-NL', 'pt-PT', 'fa-IR', 'he-IL', 'ru-RU', 'ko-KR'] + const languages = ['English', 'Español', 'Nederlands', 'Português', 'فارسی', 'עִבְרִית', 'Русский', '한국어'] + + const locale = locales[languages.indexOf(selectedLanguage)] + localStorage.setItem("language", locale) + i18n.locale = locale +} + export function getDefaultSettings() { return { version: import.meta.env.SAFETWITCH_TAG, - audioOnly: { - name: 'Audio Only', - selected: false, - type: 'checkbox' - }, + // audioOnly: { + // name: 'Audio Only', + // selected: false, + // type: 'checkbox' + // }, defaultQuality: { - name: 'Default Quality', + name: 'defaultQuality', options: ['160p', '360p', '480p', '720p', '1080p'], selected: '480p', type: 'option' }, + language: { + name: 'language', + options: ['English', 'Español', 'Nederlands', 'Português', 'فارسی', 'עִבְרִית', 'Русский', '한국어'], + selected: 'English', + type: 'option' + }, chatVisible: { - name: 'Hide Chat', + name: 'chatVisible', selected: false, type: 'checkbox' } diff --git a/src/views/SettingsView.vue b/src/views/SettingsView.vue index 0e52f7c..335e3c0 100644 --- a/src/views/SettingsView.vue +++ b/src/views/SettingsView.vue @@ -1,5 +1,5 @@