chengkun
2025-09-04 0ea78440cb53b7ecf0ef715e3f51d88918c5821d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const { createI18n, useI18n } = VueI18n;
// 通过选项创建 VueI18n 实例
const i18n = createI18n({
    locale: localStorage.getItem('changjiang-park-lang') || 'zh-cn',
    messages,
    fallbackLocale: 'zh-cn',
    legacy: false,
})
const sharedMixin = {
    data() {
        return {
            languageList: [
                { id: 1, name_loc: '简体中文', symbol: 'zh-cn' },
                { id: 2, name_loc: 'English', symbol: 'en-us' },
                // { id: 3, name_loc: 'ar', symbol: 'ar' },
            ],
            currentLang: '',
            i18n: i18n.global, // 引入i18n实例
        }
    },
 
    // 生命周期 - 创建完成(可以访问当前this实例)
    mounted() {
    },
 
    // 创建生命周期
    created() {
        this.currentLang = this.i18n.locale || 'zh-cn';
    },
 
    // 方法
    methods: {
        ///// 切换语言 /////
        changeLanguage(newLang) {
            this.i18n.locale = newLang;
            this.i18n.currentLocale = newLang;
            localStorage.setItem('changjiang-park-lang', newLang);
        },
    }
}