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 @@