在uniapp中實(shí)現(xiàn)中英文切換的方法
具體實(shí)現(xiàn)步驟
- 1.安裝插件:首先,需要安裝用于管理多語言的插件。我們可以選擇 vue-i18n插件,它是一款比較流行的國際化插件,重要的是它可以在uniApp 中使用。直接在終端中執(zhí)行以下命令即可:
npm install vue-i18n
安裝成功我們可以看到項(xiàng)目下多了個(gè)node_modules目錄,里面有vue-i18n插件了。

- 2.創(chuàng)建兩個(gè)js文件
zh.js和en.js,用戶保存翻譯的中英文內(nèi)容,這也沒辦法,這樣自己翻譯的比較準(zhǔn)確。我這里是放到了common/util目錄下,這需要你自己看放哪里合適了。

zh.js實(shí)例如下:
export default {
common:{
switch:'切換語言',
setting:'設(shè)置中心',
back:'返回',
account:'賬號(hào)',
login:'登錄',
password:'密碼'
}
}
en.js實(shí)例如下:
export default {
common:{
switch:'Switch language',
setting:'Setting',
back:'Back',
account:'Account',
login:'Login',
password:'Password'
}
}
- 3.在入口文件
main.js中初始化vue-i18n插件,并配置多語言支持,即加入以下代碼:
import VueI18n from 'vue-i18n'
import zh from './common/util/zh.js'
import en from './common/util/en.js'
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: 'en', // 默認(rèn)語言為英文
messages: {
en,
zh
}
})
在最后掛載到app的地方加入上面定義的i18n
new Vue({
i18n,
// 其他配置...
}).$mount('#app')
- 4.下面就是在設(shè)置頁面做個(gè)切換語言的功能了,我在個(gè)人中心的設(shè)置頁面寫了一下樣式:

- [注] 代碼邏輯很簡單,就是寫了個(gè)語言切換樣式,切換時(shí)觸發(fā)
checkChange事件,從而達(dá)到切換語言的目的,代碼如下:
<template>
<view>
<scroll-view scroll-y class="page">
<cu-custom bgColor="bg-gradual-pink" :isBack="true">
<block slot="backText">{{$t('common.back')}}</block>
<block slot="content">{{$t('common.setting')}}</block>
<!-- <view slot="right" @tap="rightClick">編輯</view> -->
</cu-custom>
<uni-section :title="$t('common.switch')" type="line">
<view class="uni-px-5 uni-pb-5">
<uni-data-checkbox v-model="lang" :localdata="items" @change="checkChange"></uni-data-checkbox>
</view>
</uni-section>
</scroll-view>
</view>
</template>
<script>
import api from '@/api/api.js'
export default {
data() {
return {
items: [{
value: 'en',
text: 'English'
},
{
value: 'zh',
text: '中文簡體'
}
],
lang: 'en'
};
},
onLoad() {},
methods: {
checkChange: function(evt) {
this.$i18n.locale = evt.detail.value;
},
}
}
</script>
- 5.從上面代碼我們可以看出,在組件模板中使用$t方法獲取對(duì)應(yīng)的語言文本:
<template>
<view>
<text>{{ $t('common.switch') }}</text> <!-- 使用 $t 方法獲取對(duì)應(yīng)語言的文本 -->
</view>
</template>
- 6.如果是js中需要設(shè)置多語言,我們可以使用this.$t()方式獲取對(duì)應(yīng)的語言文本,如:
this.loginText = this.$t('common.login')
- 7.到此我們需要的功能基本就實(shí)現(xiàn)了,剩下的就是需要翻譯什么往js里面寫,需要的地方獲取就行,來看下效果:

總結(jié)
好了,通過以上步驟我們已經(jīng)知道怎么實(shí)現(xiàn)多語言切換了,如果需要增加其他語言,我們可以繼續(xù)增加js語言翻譯文件,按照上面的方法引入即可;這種方式跟我之前用elementUI做的后臺(tái)語言切換實(shí)現(xiàn)方式一模一樣,可見平時(shí)多積累,后面再碰到相同的問題就很容易解決了。
以上就是在uniapp中實(shí)現(xiàn)中英文切換的方法的詳細(xì)內(nèi)容,更多關(guān)于uniapp中英文切換的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- uniapp?動(dòng)態(tài)組件實(shí)現(xiàn)Tabs標(biāo)簽切換組件(喜馬拉雅app作為案例)
- vue、uniapp實(shí)現(xiàn)組件動(dòng)態(tài)切換效果
- uniapp單頁面實(shí)現(xiàn)頁面切換的使用示例
- uniapp實(shí)現(xiàn)tabs切換(可滑動(dòng))效果實(shí)例
- uniapp實(shí)現(xiàn)全局設(shè)置字體大小(小中大的字體切換)
- uniapp組件之tab選項(xiàng)卡滑動(dòng)切換功能實(shí)現(xiàn)
- Uniapp 實(shí)現(xiàn)頂部標(biāo)簽頁切換功能(詳細(xì)步驟)
相關(guān)文章
JavaScript聲明函數(shù)的5種方法小結(jié)
本文主要介紹了JavaScript聲明函數(shù)的5種方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
js判斷手機(jī)瀏覽器操作系統(tǒng)和微信瀏覽器的方法
做手機(jī)端的前端開發(fā),少不了對(duì)手機(jī)平臺(tái)的判斷。如,對(duì)于app下載,就要判斷在Android平臺(tái)下就顯示Android下載提示;在iOS平臺(tái)下就顯示iOS下載提示2016-04-04
JS實(shí)現(xiàn)在Repeater控件中創(chuàng)建可隱藏區(qū)域的代碼
在WEB應(yīng)用中,如何才能使應(yīng)用高效率呢?如何才能吸引用戶呢?這的確是個(gè)大學(xué)問,頁面的內(nèi)容,色搭配等都十分重要。但不可忽視的是,多數(shù)情況下,對(duì)于數(shù)據(jù)的呈現(xiàn)方式也是十分重要的。2010-09-09
js 將json字符串轉(zhuǎn)換為json對(duì)象的方法解析
將json字符串轉(zhuǎn)換為json對(duì)象的方法。在數(shù)據(jù)傳輸過程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對(duì)象,所以,JSON對(duì)象和JSON字符串之間的相互轉(zhuǎn)換是關(guān)鍵2013-11-11
js+css使DIV始終居于屏幕中間 左下 左上 右上 右下的代碼集合
js+css使DIV始終居于屏幕中間 左下 左上 右上 右下的代碼集合,需要的朋友可以參考下。2011-03-03
javascript實(shí)現(xiàn)簡單的省市區(qū)三級(jí)聯(lián)動(dòng)
本文給大家反映的是javascript實(shí)現(xiàn)的簡單的省市區(qū)三級(jí)聯(lián)動(dòng)特效,不需要訪問后臺(tái)服務(wù)器端,不使用Ajax,無刷新,純JS實(shí)現(xiàn)的省市區(qū)三級(jí)聯(lián)動(dòng)。當(dāng)省市區(qū)數(shù)據(jù)變動(dòng)是只需調(diào)正js即可。2015-05-05

