pleroma-fe/src/stores/i18n.js

27 lines
631 B
JavaScript
Raw Normal View History

import Cookies from 'js-cookie'
2026-02-23 20:14:39 +02:00
import { defineStore } from 'pinia'
2026-02-16 19:09:57 +02:00
import messages from 'src/i18n/messages'
import localeService from 'src/services/locale/locale.service.js'
2023-04-04 14:40:12 -06:00
2026-02-16 19:09:57 +02:00
const BACKEND_LANGUAGE_COOKIE_NAME = 'userLanguage'
2023-04-04 14:40:12 -06:00
export const useI18nStore = defineStore('i18n', {
state: () => ({
2026-01-06 16:22:52 +02:00
i18n: null,
2023-04-04 14:40:12 -06:00
}),
actions: {
2026-01-06 16:22:52 +02:00
setI18n(newI18n) {
2023-04-04 14:40:12 -06:00
this.$patch({
2026-01-06 16:22:52 +02:00
i18n: newI18n.global,
2023-04-04 14:40:12 -06:00
})
2026-01-06 16:22:52 +02:00
},
2026-02-16 19:09:57 +02:00
setLanguage(value) {
messages.setLanguage(this.i18n, value)
Cookies.set(
BACKEND_LANGUAGE_COOKIE_NAME,
localeService.internalToBackendLocaleMulti(value),
)
2026-02-23 20:14:39 +02:00
},
2026-01-06 16:22:52 +02:00
},
2023-04-04 14:40:12 -06:00
})