vue项目多语言化

  1. 在src下面创建目录,放多语言包(json/js)
  2. . 使用vue-i18n,创建index.js
    import Vue from 'vue'; import VueI18n from 'vue-i18n';
    //引用element-ui语言包 element-en,element-zh // 导入语言包信息 import en from
    "./locale/en.json"; import zh from "./locale/zh-CN.json"; // 注册i18n
    Vue.use(VueI18n); // 语言包根据语言环境分类 const localeMessages = { en: {
        ...element-en,//element框架
        ...en }, zh:{
        ...element-zh
        ...zh } }; 
        const i18n = new VueI18n({ 
        locale: zh,//当前默认语言环境
         messages: localeMessages }) 
     3. 注册vue-i18n(main.js中)  
  		import i18n from './i18n';// 引入i18n实例
        
        new Vue({   i18n, // 挂载到根实例中   render: h => h(App) }).$mount('#app')
     4. element框架多语言化
     在index.js里面引用element语言包,
     在vue.config.js里面配置(或 webpack.config.js),
     configureWebpack里面的 plugins加入

在这里插入图片描述官网地址:https://element.eleme.cn/#/zh-CN/component/i18n

按需加载:ElementLocale.i18n((key, value) => i18n.t(key, value));

new webpack.NormalModuleReplacementPlugin(/element-ui[/\]lib[/\]locale[/\]lang[/\]zh-CN/,
‘element-ui/lib/locale/lang/en’)

     5. 可使用的插件(vscode)    vue-swift-i18n ,可以生成中文包,
     6. key    i18n-ally:增强多语言化之后代码的可读性
     7. i18n-ally配置:

vscode setting.json 配置 i18n

    // Vue: i18n-ally 插件如下须要本身配置
    "i18n-ally.localesPaths": ["src/assets/lang"], // 翻译的语言路径
    "i18n-ally.enabledParsers": ["json", "js"], // 翻译支持的语言文件格式,不写的话,无法支持js
    "i18n-ally.encoding": "utf-8", // 翻译文件的编码
    "i18n-ally.sourceLanguage": "zh-CN", // 根据此 zh-CN 语言文件翻译其他语言文件的 变量和内容
    "i18n-ally.displayLanguage": "zh-CN", // 组件中显示的语言
    "i18n-ally.keystyle": "flat", 
    // 翻译后变量的格式, flat(扁平式即对象属性路径变成一个长字符串), nested(嵌套式即对象属性变量可以进行相互之间的嵌套)
    // 注意: 如果 i18n-ally 检测不出来框架, 或 提示错误, 可能是版本太高的缘故

i18n-ally
在这里插入图片描述
在这里插入图片描述
参考文档:https://gitee.com/antfu/i18n-ally/#-%E5%B8%B8%E7%94%A8%E8%AE%BE%E7%BD%AE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 项目中实现多语言配置的方法很多,其中一种常见的做法是使用 `vue-i18n` 库。下面是使用 `vue-i18n` 实现多语言配置的步骤: 1. 安装 `vue-i18n` 库。 ```shell npm install vue-i18n --save ``` 2. 在 `main.js` 中引入 `vue-i18n` 库,并初始配置。 ```javascript import Vue from 'vue' import VueI18n from 'vue-i18n' import App from './App.vue' Vue.use(VueI18n) const i18n = new VueI18n({ locale: 'en', // 设置默认语言为英语 messages: { en: { greeting: 'Hello!' }, zh: { greeting: '你好!' } } }) new Vue({ el: '#app', i18n, render: h => h(App) }) ``` 在上面的代码中,首先引入 `vue-i18n` 库,并通过 `Vue.use()` 方法将其安装到 Vue 中。然后,初始 `VueI18n` 实例,并设置默认语言为英语,同时设置了英语和中文两种语言的翻译内容。 3. 在组件中使用 `$t` 方法来获取翻译内容。 ```html <template> <div> <p>{{ $t('greeting') }}</p> </div> </template> ``` 在上面的代码中,我们使用 `$t` 方法来获取 `greeting` 这个翻译内容。`$t` 方法会根据当前语言环境自动获取对应的翻译内容,如果找不到对应的翻译,则会返回原始字符串。 4. 在页面中添加语言切换按钮,以便用户可以切换不同的语言。 ```html <template> <div> <p>{{ $t('greeting') }}</p> <button @click="switchLang('en')">English</button> <button @click="switchLang('zh')">中文</button> </div> </template> <script> export default { methods: { switchLang(lang) { this.$i18n.locale = lang // 切换语言 } } } </script> ``` 在上面的代码中,我们添加了两个按钮,分别用于切换为英语和中文。当用户点击按钮时,会触发 `switchLang` 方法来切换当前的语言环境。在 `switchLang` 方法中,我们通过修改 `$i18n.locale` 属性来切换当前语言环境。 通过上面的步骤,我们就可以在 Vue 项目中实现多语言配置了。当用户切换语言时,页面中的文本内容会自动切换为对应的翻译内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值