Vue項(xiàng)目引入translate.js國(guó)際化自動(dòng)翻譯組件的方法
建議 translate.js 配合 i18 使用
本文只介紹 translate.js 的引入和使用方式
無(wú)論什么庫(kù) 在翻譯上 都不會(huì)做到 ( 100%翻譯 && 100%準(zhǔn)確 ) 所以不要吹毛求疵
官方文檔:translate.js 前端翻譯
該組件優(yōu)點(diǎn):
- 自動(dòng)翻譯 自動(dòng)匹配本地語(yǔ)種
- 利于SEO 對(duì)搜索引擎友好
- 使用簡(jiǎn)單 直接引入使用即可
- 瞬時(shí)翻譯 使用了緩存預(yù)加載
該組件缺點(diǎn)
- 正因?yàn)槔赟EO 假設(shè)中譯英 獲取DOM節(jié)點(diǎn)的時(shí)候還是中文
- DOM不刷新 DOM內(nèi)容刷新時(shí) 不會(huì)自動(dòng)翻譯 所以最好配合 i18 使用
1. 安裝
npm i i18n-jsautotranslate
2. 引入
在main.js內(nèi)
import translate from 'i18n-jsautotranslate' translate.setUseVersion2() //設(shè)置使用v2.x 版本 translate.selectLanguageTag.show = false //是否顯示切換欄 translate.listener.start() //監(jiān)控頁(yè)面動(dòng)態(tài)渲染的文本進(jìn)行自動(dòng)翻譯 Vue.prototype.$translate = translate
3. 使用
只保留關(guān)鍵代碼
大體邏輯是在 localStorage 里存入一個(gè) val 根據(jù)這個(gè) val 去判斷要切換的語(yǔ)種
<div @click="languageAuto()"> 一鍵翻譯 </div> data() { return { language: zh, } }, // 翻譯 languageAuto() { this.language == 'zh' ? (this.language = 'en') : (this.language = 'zh') localStorage.setItem('language', `{"language":"${this.language}"}`) if (this.language == 'zh') { console.log('轉(zhuǎn)為中文') this.$translate.changeLanguage('chinese_simplified') } if (this.language == 'en') { console.log('轉(zhuǎn)為英文') this.$translate.changeLanguage('english') } this.$translate.execute() //進(jìn)行翻譯 },
4.備注
在請(qǐng)求接口數(shù)據(jù)返回選然后 或者 路由切換后
會(huì)出現(xiàn)一半原始語(yǔ)種 一半翻譯語(yǔ)種的情況
此時(shí)可以在請(qǐng)求攔截器的相應(yīng)攔截 和 路由后置守衛(wèi)里添加
this.$translate.execute() //進(jìn)行翻譯
vue 報(bào)錯(cuò)的情況下可以如下操作
import Vue from 'vue' let vm = new Vue() vm.$nextTick(() => { vm.$translate.execute() })
總結(jié)
到此這篇關(guān)于Vue項(xiàng)目引入translate.js國(guó)際化自動(dòng)翻譯組件的文章就介紹到這了,更多相關(guān)Vue引入translate.js組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue開(kāi)發(fā)環(huán)境跨域訪問(wèn)問(wèn)題
這篇文章主要介紹了Vue開(kāi)發(fā)環(huán)境跨域訪問(wèn)問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01vue3之a(chǎn)xios跨域請(qǐng)求問(wèn)題及解決
這篇文章主要介紹了vue3之a(chǎn)xios跨域請(qǐng)求問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09一步步教你用Vue.js創(chuàng)建一個(gè)組件(附代碼示例)
組件(Component)是Vue.js最強(qiáng)大的功能之一,組件可以擴(kuò)展HTML元素,封裝可重用的代碼,下面這篇文章主要給大家介紹了關(guān)于如何一步步用Vue.js創(chuàng)建一個(gè)組件的相關(guān)資料,需要的朋友可以參考下2022-12-12Vue之版本升級(jí)后不兼容的問(wèn)題及解決過(guò)程
本文將探討 Vue 版本升級(jí)后常見(jiàn)的不兼容問(wèn)題,并提供相應(yīng)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03Vue項(xiàng)目中對(duì)index.html中BASE_URL的配置方式
這篇文章主要介紹了Vue項(xiàng)目中對(duì)index.html中BASE_URL的配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06Vue+Java+Base64實(shí)現(xiàn)條碼解析的示例
這篇文章主要介紹了Vue+Java+Base64實(shí)現(xiàn)條碼解析的示例,幫助大家實(shí)現(xiàn)條碼解析,感興趣的朋友可以了解下2020-09-09vue+ElementUI實(shí)現(xiàn)訂單頁(yè)動(dòng)態(tài)添加產(chǎn)品數(shù)據(jù)效果實(shí)例代碼
本篇文章主要介紹了vue+ElementUI實(shí)現(xiàn)訂單頁(yè)動(dòng)態(tài)添加產(chǎn)品效果實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07