微信小程序國際化 miniprogram-i18n-plus

需求:項目需要加語言國際化功能;

網(wǎng)上一般可以搜到的兩種方案,一種是微信的 miniprogram-i18n,一種是大佬寫的 miniprogram-i18n-plus;微信的 miniprogram-i18n 使用有點麻煩,可自行了解;這里只記錄 miniprogram-i18n-plus 的使用方法(在大佬 git 文檔的基礎(chǔ)上稍作補充莉测,可結(jié)合本文與大佬的git文檔一起看),避免以后繼續(xù)踩坑唧喉;

第一步:
檢查項目中是否有 package.json 文件捣卤,如果沒有的話,需要在微信開發(fā)工具終端中使用命令行: npm init 來生成 package.json 文件八孝,如果有該文件董朝,可以跳過這步執(zhí)行第二步;

npm init 

執(zhí)行命令期間需要按幾次回車鍵

image.png

第二步
繼續(xù)在微信開發(fā)者工具終端中執(zhí)行命名行 npm install miniprogram-i18n-plus -S 干跛; 執(zhí)行完成后子姜,會生成一個 node_modules 文件;

npm install miniprogram-i18n-plus -S

第三步:
生成 node_modules 文件后楼入,需要點開開發(fā)工具的工具欄哥捕;工具 -> 構(gòu)建 npm


image.png

npm構(gòu)建成功后,又會生成一個 miniprogram_npm 文件


image.png

構(gòu)建不成功的同學(xué)可以參考下這個方案(https://blog.csdn.net/Mitin_/article/details/125929168)修改 prject.config.json 文件的配置項嘉熊;

以上步驟均完成遥赚,就可以根據(jù)文檔中的說明,引用文件阐肤,調(diào)用方法了凫佛;
在 app.js 文件中寫入以下方法讲坎,初始化語言展示設(shè)置:

// app.js
// 以下是git文檔中的引入路徑,我的需要再多引入一層 index(import i18nInstance from "./miniprogram_npm/miniprogram-i18n-plus/index";) 否則會報錯愧薛,大家可以根據(jù)自己的情況看看晨炕;
import i18nInstance from "./miniprogram_npm/miniprogram-i18n-plus";

App({
  onLaunch() {
    // 需要展示的文字內(nèi)容
    const locales = {
      zh_CN: {
        test: "測試",
      },
      en_US: {
        test: "Test",
      },
    };
    // 可根據(jù)系統(tǒng)語言來動態(tài)設(shè)置
    //  ******重點*****: 這里設(shè)置的字符串內(nèi)容(zh_CN  en_US),要與上面 locales 對象中寫的對應(yīng)(大小寫厚满,下劃線均要一模一樣)府瞄,如果有錯誤碧磅,會報錯
    // let lang = wx.getAppBaseInfo().language
    // let resultL = lang.toLowerCase().includes('zh_cn') ? 'zh_CN' : 'en_US'
    // i18nInstance.setLocale(resultL);
   
    i18nInstance.setLocale("zh_CN");
    i18nInstance.loadTranslations(locales);
  },
});

在需要使用的頁面中:
index.js

// index.js

import i18nInstance from "./miniprogram_npm/miniprogram-i18n-plus";

Page({
  onLoad() {
    i18nInstance.effect(this);
  },
});

index.wxml

<view>{{ $language.test }}</view>

補充:大佬的git文檔中并沒有說碘箍,怎么處理 js 文件中的文字,即在 js 中修改 navigationBarTitleText
index.js

import i18nInstance from "../../miniprogram_npm/miniprogram-i18n-plus/index";

Page ({
    
  data: {
   
  },

onLoad: function (options) {
     
   i18nInstance.effect(this);

    wx.setNavigationBarTitle({
      title: $language.test,
    })
  }
}) 

(以上寫法會報錯: VM5282 WAService.js:1 ReferenceError: $language is not defined)

wxml 文件中可以使用 $language 來調(diào)用文字鲸郊,但是 js 中會報錯丰榴;

解決辦法:
直接使用 i18nInstance.getLanguage() 方法來獲取當前的語言對象,不使用原先的 i18nInstance.effect(this) 方式
index.js

import i18nInstance from "../../miniprogram_npm/miniprogram-i18n-plus/index";

Page ({
    
  data: {
     i18nL: i18nInstance.getLanguage()
  },

onLoad: function (options) {
     
    wx.setNavigationBarTitle({
      title: this.data.i18nL.test,
    })
  }
}) 

wxml 文件也需要做出相應(yīng)的改變
index.wxml

<view>{{ i18nL.test }}</view>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秆撮,一起剝皮案震驚了整個濱河市四濒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌职辨,老刑警劉巖盗蟆,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異舒裤,居然都是意外死亡喳资,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門腾供,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仆邓,“玉大人,你說我怎么就攤上這事伴鳖〗谥担” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵榜聂,是天一觀的道長搞疗。 經(jīng)常有香客問我,道長须肆,這世上最難降的妖魔是什么匿乃? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮休吠,結(jié)果婚禮上扳埂,老公的妹妹穿的比我還像新娘。我一直安慰自己瘤礁,他們只是感情好阳懂,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般岩调。 火紅的嫁衣襯著肌膚如雪巷燥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天号枕,我揣著相機與錄音缰揪,去河邊找鬼。 笑死葱淳,一個胖子當著我的面吹牛钝腺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赞厕,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼艳狐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了皿桑?” 一聲冷哼從身側(cè)響起毫目,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诲侮,沒想到半個月后镀虐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡沟绪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年刮便,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片近零。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡诺核,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出久信,到底是詐尸還是另有隱情窖杀,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布裙士,位于F島的核電站入客,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏腿椎。R本人自食惡果不足惜桌硫,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啃炸。 院中可真熱鬧铆隘,春花似錦、人聲如沸南用。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肿嘲,卻和暖如春融击,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雳窟。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工尊浪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人封救。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓拇涤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親兴泥。 傳聞我的和親對象是個殘疾皇子工育,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359