lang.ts 587 B

123456789101112131415161718192021
  1. import { defineStore } from 'pinia'
  2. import { elementZhTw, elementEn } from '@/plugins/element'
  3. interface LangState {
  4. lang: string
  5. ElementLocale: any
  6. }
  7. export const useLangStore = defineStore('lang', {
  8. state: (): LangState => ({
  9. lang: localStorage.getItem('lang') || 'Chinese',
  10. ElementLocale: localStorage.getItem('lang') === 'Chinese' ? elementZhTw : elementEn
  11. }),
  12. getters: {},
  13. actions: {
  14. setLang(lang: string) {
  15. localStorage.setItem('lang', lang)
  16. this.lang = lang
  17. this.ElementLocale = lang === 'Chinese' ? elementZhTw : elementEn
  18. }
  19. }
  20. })