小程序國際化實現方式


 

首先需要一個工具類: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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM