vue中的js文件如何使用i18n 国际化
时间: 2023-10-02 22:09:52 浏览: 93
在Vue中使用i18n国际化,可以在vue文件中使用`$t`方法获取文本信息,也可以在js文件中使用`$t`方法获取文本信息。对于js文件的使用方式,可以参考下面的步骤:
1. 在Vue实例中引入和初始化i18n插件,并在Vue实例中传入i18n实例。具体代码如下:
```javascript
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import messages from './lang'
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: 'zh-CN',
messages
})
new Vue({
i18n,
render: h => h(App)
})
```
其中,`messages`是一个对象,包含了所有语言的key-value对。
2. 在js文件中,通过`Vue.prototype.$t`方法获取对应语言的文本信息。具体代码如下:
```javascript
import Vue from 'vue'
Vue.prototype.$t('message.hello')
```
其中,`message.hello`是对应语言的key值,可以根据需要进行修改。如果需要获取带有变量的文本信息,则可以使用`$t`方法的第二个参数,如下所示:
```javascript
Vue.prototype.$t('message.welcome', { name: 'John' })
```
其中,`message.welcome`是对应语言的key值,`{ name: 'John' }`是一个对象,包含了需要替换的变量信息,可以在对应语言的value值中使用`{变量名}`进行替换。例如:
```javascript
const messages = {
'zh-CN': {
welcome: '欢迎{name}使用本系统'
},
'en-US': {
welcome: 'Welcome {name} to use this system'
}
}
```
以上就是在Vue中使用i18n国际化的基本流程和js文件中使用`$t`方法的示例代码。
阅读全文