useLanguagesStore.js
676 Bytes
import { defineStore } from 'pinia';
import { reactive, ref } from 'vue';
import { useI18n } from 'vue-i18n';
export const useLanguagesStore = defineStore('languages', () => {
const { locale } = useI18n();
const languagesItems = reactive(['en', 'cn', 'tw']);
const localitem = localStorage.getItem('language');
const local = localitem === null ? 'en' : localitem;
const selectedLanguage = ref(local);
const setLanguages = (val) => {
localStorage.setItem('language', val);
selectedLanguage.value = val;
locale.value = val;
};
return {
languagesItems,
selectedLanguage,
setLanguages
};
});