多语言切换vue2+vue-i18n
环境:vue: 2.6.10,vue-i18n: 8.28.2
安装插件
npm install vue-i18n@8
在package.json中检查
在main.js中引入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import VueI18n from 'vue-i18n' ; Vue.use(VueI18n); const i18n = new VueI18n({ locale: localStorage.getItem( 'lang' ) || 'zh' , // 语言标识 //this.$i18n.locale // 通过切换locale的值来实现语言切换 messages: { 'zh' : require( '@/assets/VueI18n/language-zh' ), 'en' : require( '@/assets/VueI18n/language-en' ), 'fn' : require( '@/assets/VueI18n/language-fn' ) } }) new Vue({ el: '#app' , router, store, i18n, render: h => h(App) }) |
assets/VueI18n/language-en.js中定义对应几种语言的展示内容,每个文件变量名需要一样
module.exports = { langage:{ ch:"CH", en:"EN", fn:"FN" }, login: { title:"Login", message: "Welcome Sign In", } .....几个语言就几个js }
使用
几个切换语言的按钮
<div class="langages"> <span @click="changeLaguageZhEnFn('zh')">{{$t('langage.ch')}}</span> <span @click="changeLaguageZhEnFn('en')">{{$t('langage.en')}}</span> <span @click="changeLaguageZhEnFn('fn')">{{$t('langage.fn')}}</span> </div>
1 2 3 4 | changeLaguageZhEnFn(lang) { this .$i18n.locale = lang; this .lang = lang; }, |
其他的文字展示
<div class="title-container"> <h3 class="title">{{$t("login.title")}}</h3> </div>
<input :placeholder="$t(login.username)" maxlength="24">
防止当页面刷新 语言切换成初始状态 需要
localStorage.setItem('lang',"zh");
https://kazupon.github.io/vue-i18n/
标签:
vue
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2016-12-21 解决谷歌浏览器中的input背景色默认是黄色
2016-12-21 改变按钮在iPhone下的默认风格
2016-12-21 毕业论文—使用js将canvas保存为图片文件,并且自定义文件名
2016-12-21 毕业论文中使用的技术—FileReader接口