1. 准备3个js文件

1.1 en.js、zh.js 用于替换语言字段
# en.js
export default {
register: 'register',
forgetpassword: 'ForgetPassword?',
Login: 'Login',
}
# zh.js
export default {
register: '注册',
forgetpassword: '忘记密码?',
Login: '登录',
}
1.2 i18n.js 用于配置i18n
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import enLocalefrom from 'element-ui/lib/locale/lang/en'
import zhLocalefrom from 'element-ui/lib/locale/lang/zh-CN'
import enLocale from '../lang/en'
import zhLocale from '../lang/zh'
import locale from 'element-ui/lib/locale'
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: localStorage.getItem('locale') || 'zh',
messages: {
'en': {
...enLocale,
...enLocalefrom
},
'zh': {
...zhLocale,
...zhLocalefrom
}
}
})
locale.i18n((key, value) => i18n.t(key, value))
export default i18n
1.3 main.js引入i18n
import i18n from './i18n/i18n' # 引入本地配置的i18n.js‘
new Vue({
el: '#app',
router,
store,
i18n, # Vue中引入
render: h => h(App),
})
2. 使用多语言字段
2.1 html中使用
<el-dropdown-item>{{ $t('Login') }}</el-dropdown-item>
<el-input
:placeholder="$t('Login')"
/>
2.2 js中使用
import i18n from '/src/i18n/i18n'
message: i18n.t('Login')
3. 切换语言
<el-dropdown
class="right-menu-item"
trigger="click"
>
<div>
<svg-icon
icon-class="language"
class-name="language-icon"
/>
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
:disabled="$i18n.locale == 'zh'"
@click.native="toggleLang('zh')"
>中文</el-dropdown-item>
<el-dropdown-item
:disabled="$i18n.locale == 'en'"
@click.native="toggleLang('en')"
>English</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
toggleLang(lang) {
if (lang == "zh") {
localStorage.setItem("locale", "zh");
this.$i18n.locale = localStorage.getItem("locale");
this.$message({
message: "切换为中文",
type: "success",
});
} else if (lang == "en") {
localStorage.setItem("locale", "en");
this.$i18n.locale = localStorage.getItem("locale");
this.$message({
message: "Switch to English",
type: "success",
});
}
location.reload();
},
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?