vue中如何使用i18n实现国际化

最近在用i18n实现国际化,作出以下总结。常见的使用场景:
1.vue 文件 template 中使用
2. vue 文件中 js 中使用
3. js 文件中使用
4. 后台请求数据中使用
1、首先在自己的项目中安装 vue-i18n依赖包。这里使用NPM进行安装,如果没有,也可以使用CNPM进行安装。

npm install vue-i18n --save-dev

2、将i18n引入vue实例中,在项目中实现调用API和模板语法。
(1)新建一个i18n.js 文件,引入
var Vue = require(‘vue’)
var VueI18n = require(‘vue-i18n’)
在这里插入图片描述
(2)mian.js 中引入 i18n.js
在这里插入图片描述
改安装改倒入的都OK了,现在开始针对以上的各个场景提出解决方案:
1.vue 文件 template 中使用
在这里插入图片描述
左边是i18n.js 里面定义的变量,右边是页面模版,写法就是{{}}里面嵌入
$t(‘变量名’)
5. vue 文件中js 的使用:
在这里插入图片描述
6. js文件中使用:这个稍稍麻烦一点:
在对应的js 文件里引用vue
import Vue from ‘vue’
在这里插入图片描述

js 文件中i18n 变量提取,还有一种方法,就是在vue 文件引用方法的地方,传入一个this 作为参数,在js 文件中,用context接收一下,然后接可以用context.$t了。
在这里插入图片描述
在这里插入图片描述
7. 前面这三种场景,是基于这些文案在前端页面定好的,那么,如果有些字段实在后端定好的,也就是说,这些字段是通过后台请求拿到的,这个,这种场景的解决方案:
在这里插入图片描述
在这里插入图片描述
这种情况,获取数据的时候,用map处理一下。

猜你喜欢

转载自blog.csdn.net/weixin_36430673/article/details/104994555