-
安装vue-i18n:
npm install vue-i18n
-
在main.js中引入vue-i18n和定义语言包:
import Vue from 'vue' import VueI18n from 'vue-i18n' Vue.use(VueI18n) const messages = { en: { greeting: 'Hello!' }, zh: { greeting: '你好!' } } const i18n = new VueI18n({ locale: 'en', // 默认显示英文 messages }) new Vue({ i18n, render: h => h(App) }).$mount('#app')
-
在组件中使用翻译:
<template> <div> <p>{{ $t('greeting') }}</p> </div> </template> <script> export default { mounted() { // 切换语言为中文 this.$i18n.locale = 'zh' } } </script>
在上述示例中,首先在main.js中引入vue-i18n,并定义了两种语言的翻译内容。然后,在创建Vue实例时,将VueI18n实例作为插件注册,并传入语言包。最后,在组件中使用$t
方法进行翻译,在mounted钩子函数中可以通过this.$i18n.locale
来切换语言。
当切换语言时,vue-i18n会自动根据当前语言显示翻译内容。例如,在上述示例中,初始语言为英文,因此页面上展示的是"Hello!“,当切换语言为中文时,页面上的文本会自动更新为"你好!”。
这只是一个简单的vue-i18n案例,你可以根据具体项目需求进行更复杂的语言包配置和翻译使用。