电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Vue Element前端應用開發之界面語言國際化

瀏覽:10日期:2022-09-29 17:44:22
目錄概述1、main入口函數支持2、界面處理實現概述

VUE+Element 前端應用實現國際化的處理還是非常方便的,一般在Main.js函數里面引入語言文件,然后在界面上進行一定的處理,把對應的鍵值轉換為對應語言的語義即可。本篇隨筆介紹在VUE+Element 前端應用中如何實現在界面快速的支持多語言國際化的處理邏輯代碼。

1、main入口函數支持

Element 組件內部默認使用中文,若希望使用其他語言,則需要進行多語言設置。以英文為例,在 main.js 中:

// 完整引入 Elementimport Vue from ’vue’import ElementUI from ’element-ui’import locale from ’element-ui/lib/locale/lang/en’Vue.use(ElementUI, { locale })

由于我們現在是需要處理多語言的切換,那么,我們在src下面的一個目錄里面創建一個lang目錄,在其中里面編輯zh.js和en.js分別代表中英文語言對照信息,index.js文件則為引入這兩個文件的處理關系。

Vue Element前端應用開發之界面語言國際化

在index.js里面,需要設置一個函數,用來獲取Cookie里面存儲的語言,如果沒有找到,以瀏覽器國際化語言為準,如下代碼所示。

export function getLanguage() { const chooseLanguage = Cookies.get(’language’) if (chooseLanguage) return chooseLanguage // 如果沒有選擇語言,那么使用瀏覽器語言 const language = (navigator.language || navigator.browserLanguage).toLowerCase() const locales = Object.keys(messages) for (const locale of locales) { if (language.indexOf(locale) > -1) { return locale } } return ’en’}

其中代碼行

const locales = Object.keys(messages)

是獲取message對象里面的鍵,如下所示。

import Vue from ’vue’import VueI18n from ’vue-i18n’import Cookies from ’js-cookie’import elementEnLocale from ’element-ui/lib/locale/lang/en’ // element-ui langimport elementZhLocale from ’element-ui/lib/locale/lang/zh-CN’// element-ui langimport enLocale from ’./en’import zhLocale from ’./zh’Vue.use(VueI18n)// 定義對應語言鍵,展開對應的鍵值對應表const messages = { en: { ...enLocale, ...elementEnLocale }, zh: { ...zhLocale, ...elementZhLocale }}

其中message就是一個兩個語言(en/zh)字典下的對照表,包含各自對應鍵值下的內容。

然后整個index.js文件就是公布對應的多語言處理接口和屬性。

const i18n = new VueI18n({ locale: getLanguage(), messages})export default i18n

然后在main.js函數里面處理國際化的處理即可

Vue.use(ElementUI, { size: Cookies.get(’size’) || ’medium’, // set element-ui default size i18n: (key, value) => i18n.t(key, value) })new Vue({ el: ’#app’, router, store, i18n, render: h => h(App)})

有了這些準備,那么我們在界面上就可以調用對應的鍵來獲取對應語言的語義了,

2、界面處理實現

首先,我們編輯一下對應國際化的鍵值內容,例如中文參照如下所示。

Vue Element前端應用開發之界面語言國際化

例如對應登錄界面上,界面效果如下所示。

Vue Element前端應用開發之界面語言國際化

或者

Vue Element前端應用開發之界面語言國際化

其中里面的文本內容,我們都是以國際化處理內容。

如登陸表單里面的代碼如下所示。

<el-form ref='loginForm' :model='loginForm' :rules='rules' class='loginForm'> <el-form-item prop='username' class='login-item'> <el-input v-model='loginForm.username' type='text' :placeholder='$t(’login.username’)' prefix-icon='el-icon-user-solid' @keyup.enter.native='submitForm(’loginForm’)' /> </el-form-item> <el-form-item prop='password' class='login-item'> <el-input v-model='loginForm.password' type='password' :placeholder='$t(’login.password’)' prefix-icon='el-icon-lock' @keyup.enter.native='submitForm(’loginForm’)' /> </el-form-item> <el-form-item> <el-button :loading='loading' type='primary' @click='submitForm(’loginForm’)'>{{ $t(’login.logIn’) }}</el-button> </el-form-item> <div class='tiparea'> <span style='margin-right:20px;'>{{ $t(’login.username’) }} : admin</span> <span> {{ $t(’login.password’) }} : {{ $t(’login.any’) }}</span> </div></el-form>

我們多處采用了類似$t(’login.username’) 的函數處理方式來動態獲取對應語言的內容即可,其中$t()函數里面就是對應的語義解析的鍵參數,對應我們lang/zh.js里面或者lang/en.js里面的內容即可。

其中多語言切換的時候,單擊圖標就可以切換為其他語言內容了。

Vue Element前端應用開發之界面語言國際化

切換英文后界面如下所示

Vue Element前端應用開發之界面語言國際化

同樣,其他地方,如果需要切換多語言的國際化處理,也可以使用$t的轉義方式,在頂部導航欄里面,我們可以設置得到多語言支持的界面。

Vue Element前端應用開發之界面語言國際化

中文界面提示如下所示。

Vue Element前端應用開發之界面語言國際化

這部分的實現代碼是在組件模塊里面,一樣可以實現國際化的處理的。

<template v-if='device!==’mobile’'> <search /> <error-log /> <el-tooltip :content='$t(’navbar.fullscreen’)' effect='dark' placement='bottom'> <screenfull /> </el-tooltip> <el-tooltip :content='$t(’navbar.size’)' effect='dark' placement='bottom'> <size-select /> </el-tooltip> <el-tooltip :content='$t(’navbar.language’)' effect='dark' placement='bottom'> <lang-select /> </el-tooltip> </template>

以上就是Vue Element前端應用開發之界面語言國際化的詳細內容,更多關于Vue Element之界面語言國際化的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
主站蜘蛛池模板: 冷油器,取样冷却器,热力除氧器-连云港振辉机械设备有限公司 | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 宿舍管理系统_智慧园区系统_房屋/房产管理系统_公寓管理系统 | 智能监控-安防监控-监控系统安装-弱电工程公司_成都万全电子 | 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | 天津力值检测-天津管道检测-天津天诚工程检测技术有限公司 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 挤塑板-XPS挤塑板-挤塑板设备厂家[襄阳欧格] | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 营养师网,营养师考试时间,报名入口—网站首页 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 沈阳建筑设计公司_加固改造设计_厂房设计_设计资质加盟【金辉设计】 | 全自动贴标机-套标机-工业热风机-不干胶贴标机-上海厚冉机械 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 西安微信朋友圈广告投放_微信朋友圈推广_西安度娘网络科技有限公司 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 膏方加工_丸剂贴牌_膏滋代加工_湖北康瑞生物科技有限公司 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 便携式高压氧舱-微压氧舱-核生化洗消系统-公众洗消站-洗消帐篷-北京利盟救援 | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 闭端端子|弹簧螺式接线头|防水接线头|插线式接线头|端子台|电源线扣+护线套|印刷电路板型端子台|金笔电子代理商-上海拓胜电气有限公司 | 南京办公用品网-办公文具用品批发-打印机耗材采购 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 |