• 小程序国际化实现方式


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

  • 相关阅读:
    访问修饰符
    SqlServer 查运行进程
    SqlServer 作业计时执行存储过程,杀超时进程
    VS快捷键操作
    sql server 命令
    vs 加载 dev控件
    TreeList显示[+] [-] 线条样式
    佳能MG2580S清零
    Dev WaitDialog 使用
    导出.txt / .pdf / .xls
  • 原文地址:https://www.cnblogs.com/fps2tao/p/11031165.html
Copyright © 2020-2023  润新知