小程序 之中英文切换

Posted 样子2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序 之中英文切换相关的知识,希望对你有一定的参考价值。

一、效果图

 

 

 二、示例

languageUtils.js

const app = getApp()
//语言切换
const languageVersion=function(){
  var lang = wx.getStorageSync(\'lang\') ? wx.getStorageSync(\'lang\') : \'zh\'
  if (lang == \'zh\') {
    // 导入我们定义好的中文字典
    var zh_lang = require(\'../language/zh_lang.js\')
  //  console.log(zh_lang)
    return zh_lang
  } else {
    //导入我们定义好的英文字典
    var en_lang = require(\'../language/en_lang.js\')
//    console.log(en_lang)
    return en_lang
  }
}
//切换版本
const changLanguage=function(){
//修改前面已经定义好的,用于标识小程序的语言版本
var lang = wx.getStorageSync(\'lang\') ? wx.getStorageSync(\'lang\') : \'zh\'
  if (lang == \'zh\') {
    wx.setStorageSync(\'lang\', \'en\')
    //console.log("当前语言版本:英文",app.globalData.version)
  } else {
    wx.setStorageSync(\'lang\', \'zh\')
   // console.log("当前语言版本:中文",app.globalData.version)
  }
}
//抛出方法
module.exports={
  \'languageVersion\': languageVersion,
  \'changLanguage\': changLanguage
}

en_lang.js

var Languague = {
  home: {
    test: \'i am home page\'
  },

  product: {
    name: \'test\',
    list: []
  },

  understand: {
    test: \'i am understanding product page\'
  },

  userCenter:{
    //中英文切换按钮
    changeLanguage:"change to Chinese",
    userInfo:{
      title:"personal information"
    },
     //联系我们
    contactUs:{
      title:"contact us"
    },
  },

  //底部英文版工具栏,这里是用于自定义tarbar用的
  toolbar:{
    list: [
      {
        pagePath: "page/home0/index",
        selectedIconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
        iconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
        text: \'Home Page\',
        isdot: false,
        number: 0
      }, {
        pagePath: "page/home1/index",
        selectedIconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
        iconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
        text: \'Product Center\',
        isdot: false,
        number: 0
      }, {
        pagePath: "page/home2/index",
        selectedIconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
        iconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
        text: \'Understand\',
        isdot: false,
        number: 0
      }, {
        pagePath: "page/home3/index",
        selectedIconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
        iconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
        text: \'Me\',
        isdot: false,
        number: 0
      }
    ]
  }
}

module.exports = {
  lang: Languague
}

zh_lang.js

var Languague = {
  home: {
    test: \'我是首页\'
  },

  product: {
    name: \'测试\',
    list: []
  },

  understand: {
    test: \'我是了解产品页\'
  },
  
  userCenter: {
    changeLanguage: "切换英文",
    userInfo: {
      title: "个人信息"
    },
    contactUs: {
      title: "联系我们"
    }
  },

  //顶部导航栏,这里是用于自定义tarbar用的
  toolbar: {
    list: [{
      pagePath: "page/home0/index",
      selectedIconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
      iconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
      text: \'首页\',
      isdot: false,
      number: 0
    }, {
      pagePath: "page/home1/index",
      selectedIconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
      iconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
      text: \'产品中心\',
      isdot: false,
      number: 0
    }, {
      pagePath: "page/home2/index",
      selectedIconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
      iconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
      text: \'了解产品\',
      isdot: false,
      number: 0
    }, {
      pagePath: "page/home3/index",
      selectedIconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
      iconPath: \'/we7_bybook_plugin_temp2/resource/img/logo.png\',
      text: \'我的\',
      isdot: false,
      number: 0
    }]
  }
}

module.exports = {
  lang: Languague
}

在页面中使用:

var app = getApp(),
  _this, languageUtil = require(\'../../utils/languageUtils\')
Page({
  data: {
    blockid: 0,
    bgcolor: \'#ffffff\',
    color: "#cccccc",
    selectedColor: \'#369138\',
    showborder: true,
    bordercolor: "",
    tabbar: [],
  },
  tabbarChange(e) {
    var index = parseInt(e.detail)
    _this.setData({
      blockid: index
    })
    _this.setTitle()
  },
  onLoad() {
    _this = this
    wx.hideHomeButton({
      success: (res) => {},
    })
  },
  onShow() {
    _this.initLanguage()
  },
  setTitle() {
    var title = _this.data.content.lang.toolbar.list[_this.data.blockid].text
    wx.setNavigationBarTitle({
      title: title,
    })
  },
  switchLanguage() {
    //切换当前版本,即修改公共变量中的version
    languageUtil.changLanguage()
    _this.initLanguage()
  },
  //初始化语言
  initLanguage() {
    //获取当前小程序语言版本所对应的字典变量
    var lang = languageUtil.languageVersion()
    _this.setData({
      content: lang
    })
    _this.setTitle()
  }
})

 

<view wx:if="{{content.lang.toolbar.list.length >0}}" class="">
  <block wx:if="{{blockid==0}}">
    <view>{{content.lang.home.test}}</view>
  </block>
  <block wx:if="{{blockid==1}}">
    <component_product />
  </block>
  <block wx:if="{{blockid==2}}">
    <view>{{content.lang.understand.test}}</view>
    <navigator url="../product/index">跳转</navigator>
  </block>
  <block wx:if="{{blockid==3}}">
    <view>{{content.lang.userCenter.userInfo.title}}</view>
    <view>{{content.lang.userCenter.contactUs.title}}</view>
    <button bindtap="switchLanguage">{{content.lang.userCenter.changeLanguage}}</button>
  </block>
  <tabbar tabbarData="{{content.lang.toolbar.list}}" active="{{0}}" bgcolor="{{bgcolor}}" color="{{color}}"
    selectedColor="{{selectedColor}}" showborder="{{showborder}}" bind:tapChange="tabbarChange" />
</view>

 

以上是关于小程序 之中英文切换的主要内容,如果未能解决你的问题,请参考以下文章

小程序--导航栏切换(tab切换)

小程序做一个能够左右滑动切换的多tab页面

微信小程序代码片段

此应用小部件片段中所有意图 (PendingIntents) 的逻辑流

切换到 ActionBarActivity 时多个地图崩溃

Android 片段复制