mirror of
https://github.com/owntone/owntone-server.git
synced 2025-11-23 11:07:56 -05:00
[web] Move locale logic into the settings store
This commit is contained in:
@@ -175,22 +175,10 @@ export default {
|
||||
computed: {
|
||||
locale: {
|
||||
get() {
|
||||
const languages = this.$i18n.availableLocales
|
||||
let locale = languages.find((lang) => lang === this.$i18n.locale)
|
||||
const [partial] = this.$i18n.locale.split('-')
|
||||
if (!locale) {
|
||||
locale = languages.find((lang) => lang === partial)
|
||||
}
|
||||
if (!locale) {
|
||||
locale = languages.forEach((lang) => lang.split('-')[0] === partial)
|
||||
}
|
||||
if (!locale) {
|
||||
locale = this.$i18n.fallbackLocale
|
||||
}
|
||||
return locale
|
||||
return this.settingsStore.currentLocale()
|
||||
},
|
||||
set(locale) {
|
||||
this.$i18n.locale = locale
|
||||
this.settingsStore.setLocale(locale)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,21 @@ const { t, availableLocales } = i18n.global
|
||||
|
||||
export const useSettingsStore = defineStore('SettingsStore', {
|
||||
actions: {
|
||||
currentLocale() {
|
||||
const languages = availableLocales
|
||||
let locale = languages.find((lang) => lang === i18n.global.locale.value)
|
||||
const [partial] = i18n.global.locale.value.split('-')
|
||||
if (!locale) {
|
||||
locale = languages.find((lang) => lang === partial)
|
||||
}
|
||||
if (!locale) {
|
||||
locale = languages.find((lang) => lang.split('-')[0] === partial)
|
||||
}
|
||||
if (!locale) {
|
||||
locale = i18n.global.fallbackLocale
|
||||
}
|
||||
return locale
|
||||
},
|
||||
get(categoryName, optionName) {
|
||||
return (
|
||||
this.categories
|
||||
@@ -16,6 +31,9 @@ export const useSettingsStore = defineStore('SettingsStore', {
|
||||
async initialise() {
|
||||
this.$state = await settings.state()
|
||||
},
|
||||
setLocale(locale) {
|
||||
i18n.global.locale.value = locale
|
||||
},
|
||||
update(option) {
|
||||
const settingCategory = this.categories.find(
|
||||
(category) => category.name === option.category
|
||||
|
||||
Reference in New Issue
Block a user