• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序开发:中英文切换能力的简单实现方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

项目背景,在已经完善的汉语微信小程序基础上,实现登录时切换中英文界面的功能,这里只要做前端固定文案部分,接口返回的内容先不考虑。实现代码如下:

1、首先在微信小程序的根目录下创建“language”文件夹,用于存储语言相关的js文件。用_en.js代表英语,_zh.js代表汉语。

 

 

 

 _en.js代码举例:

const languageMap = {
  "登录": "Login",
  "请输入手机号": "Mobile phone number",
  "密码": "Password",
  "登录说明": "Login instructions"
}

module.exports = {
  languageMap: languageMap
}

 

 _zh.js代码举例:

const languageMap = {
  "登录": "登录",
  "请输入手机号": "请输入手机号",
  "密码": "密码",
  "登录说明": "登录说明"
}

module.exports = {
  languageMap: languageMap
}

 

2、在utils文件夹下创建languageUtils.js,目的是写入操作语言的通用方法。

 

 

 languageUtils.js:

const app = getApp();

// 获取当前存的语言选择结果,如果没有默认用中文
const languageVersion = function () {
  return wx.getStorageSync(\'lang\') || \'zh\';
}

//返回翻译数据
function translate() {
  return require(\'../language/_\' + languageVersion() + \'.js\').languageMap;
}

//切换语言方法
const changeLanguage= function (langType) {
  if (langType== 1) {
    wx.setStorageSync(\'lang\', \'en\')
  } else {
    wx.setStorageSync(\'lang\', \'zh\')
  }
}

//抛出方法
module.exports = {
  languageVersion: languageVersion,
  changeLanguage: changeLanguage,
  _lang: translate,
}

 

切换语言就用小程序自己的Picker组件来操作,比较简单,举个小栗子:

<picker bindchange="changeLang" value="{{langInex}}" range="{{array}}">
    <view class="picker" >
        {{array[langInex]}} <i class="sz szxia"></i>
    </view>
 </picker>

 

3、正式使用,代码如下

 需要使用页面的Js文件:

//先将js文件引入页面
var lang = require(\'../../utils/languageUtils\');

//生命周期函数
 onShow: function () {
    this.initLanguage();
  },

 //初始化展示语言
  initLanguage() {
    this.setData({
      _lang: lang._lang()
    })
  
//把页面的Title值顺便修改一下   wx.setNavigationBarTitle({ title:
this.data._lang["登录"], }) }

 页面的wxml文件:

  <form bindsubmit="formSubmit">
    <view class="wp100">
      <input class="loginInput" value="{{mobile}}" name="mobile" focus="{{mobileFocus}}" type="number" maxlength="11"
        placeholder="{{_lang[\'请输入手机号\']}}" />
    </view>
    <view class="wp100 pt20 pr">
      <input class="loginInput wp100" focus="{{pwdFocus}}" name="pwd" type="password" placeholder="{{_lang[\'密码\']}}" />
    </view>
    <view class="wp100 pt50">
      <button class="loginBtn" formType="submit">{{_lang["登录"]}}</button>
    </view>
  </form>

这样就妥啦!!

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap