首先需要一個工具類:locales.js
// Time 為事例值 export default { //英文 "en": { "Time":"Time" }, //中文 "zh-cn": { "Time":"時間" }, //繁體 "zh-hk": { "Time":"時間" } }
然后是另一個工具類:wxapp-i18n.js
let T = {} T.locale = null T.locales = {} T.registerLocale = function (locales) { T.locales = locales; } T.setLocale = function (code) { T.locale = code } T._ = function (line, data) { const locale = T.locale const locales = T.locales if (locale && locales[locale] && locales[locale][line]) { line = locales[locale][line] } return line } export default T
然后在 app.js 中引入文件並做處理.
//國際化 import locales from './utils/locales' import T from './utils/wxapp-i18n' // 數據注入 T.registerLocale(locales) try { // 獲取系統設置的語言格式 var value = wx.getStorageSync('language') if (value) { T.setLocale(value) } else { T.setLocale('zh-hk')//默認顯示繁體 } } catch (e) { T.setLocale('zh-hk')//默認顯示繁體 } wx.T = T
使用方式如下, 假設需要在index.wxml中使用國際化,則在index.js中書寫:
setLang() { const _ = wx.T._ this.setData({ Time: _('Time') }) }
setLang 是自定義方法,可以在 OnLoad中調用此方法.
那么這樣,就可以達到一個 小程序實現國際化的目的了!
轉: https://blog.csdn.net/qq_37802298/article/details/84063702