1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue使用vue-i18n实现国际化需要哪些步骤

vue使用vue-i18n实现国际化需要哪些步骤

时间:2022-01-16 20:46:27

相关推荐

vue使用vue-i18n实现国际化需要哪些步骤

web前端|js教程

vue-i18n,需要

web前端-js教程需求

校园留言板源码,vscode改不了背景,ubuntu安斗,tomcat日子乱码,sqlite怎么打开微信,一个前端框架可以用多久,中国爬虫文化巡展,js 调用 php方法,快速seo优化运营,网站多语言翻译插件,网页分享asp代码下载,帝国cms 搜索结果模板lzw

公司项目需要国际化,点击按钮切换中文/英文

在线名字设计源码,Ubuntu退tty模式,python爬虫库成品,php反弹端口,seo诊断结论lzw

1、安装

农家乐网站源码,ubuntu重启连接网络,爬虫的秘密作文,allpay php,seo流量承载lzw

npm install vue-i18n --save

2、注入 vue 实例中,项目中实现调用 api 和 模板语法

import VueI18n from vue-i18nVue.use(VueI18n) ;const i18n = new VueI18n({ locale: zh-CN, // 语言标识, 通过切换locale的值来实现语言切换,this.$i18n.locale messages: { zh-CN: require(./common/lang/zh), // 中文语言包 en-US: require(./common/lang/en) // 英文语言包 }})new Vue({ el: #app, i18n, // 最后 router, template: \, components: { App }})

3、对应语言包

zh.js中文语言包:

export const lang = { homeOverview:首页概览, firmOverview:公司概述, firmReports:财务报表, firmAppendix:更多附录, firmIndex:主要财务指标, firmAnalysis:对比分析, firmNews:新闻事件档案, firmOther:其他功能,}

en.js 英文语言包:

export const lang = { homeOverview:Home overview, firmOverview:firmOverview, firmReports:firmReports, firmAppendix:firmAppendix, firmIndex:firmIndex, firmAnalysis:firmAnalysis, firmNews:firmNews, firmOther:firmOther}

4、按钮控制切换语言

this.$i18n.locale,当你赋值为‘zh-CN’时,导航栏就变成中文;当赋值为 ‘en-US’时,就变成英文:

中文

changeLangEvent() { console.log(changeLangEvent); this.$confirm(确定切换语言吗?, 提示, { confirmButtonText: 确定, cancelButtonText: 取消, type: warning }).then(() => { if ( this.$i18n.locale === zh-CN ) { this.$i18n.locale = en-US;//关键语句 console.log(en-US) }else { this.$i18n.locale = zh-CN;//关键语句 console.log(zh-CN) } }).catch(() => { console.log(catch); this.$message({ type: info, }); }); }

5、模板渲染

静态渲染:

{{$t(lang .homeOverview)}}

如果是element-ui 的,在要翻译的前面加上冒号

比如:label=”用户姓名” 就改成 :label=”$t(‘order.userName’)”

动态渲染:

{{navCompany}} computed:{ navCompany:function(){ if(this.nav_company){let str = lang+this.nav_company;return this.$t(str); } }}, {{ getTitle(title1) }}methods: { getTitle(title){ let str = lang.+title; return this.$t(str); }}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。