小程序鸿毛框架(六)中英文/国际化

    前端开发中有些需要支持中英文的,这篇就写一下我在项目中使用如何使用国际化的

 

       中文: cn.js   

const CN = {
  movie:"电影",
  movie_name:'你的名字',
  movie_play: "观看",
  movie_over: "已看完",
  movie_replay: "重看",
};

module.exports = CN;

       英文: en.js   

const EN = {
  movie: "Movie",
  movie_name: 'Your Name',
  movie_play: "Show",
  movie_over: "Over",
  movie_replay: "Reshow",
}

module.exports = EN;

       日文: jp.js   

const JP = {
  movie: "映画",
  movie_name: 'あなたの名前',
  movie_play: "見る",
  movie_over: "読み終わった",
  movie_replay: "リプレイ",
};

module.exports = JP;

       语言管理: language.js   

/*
  国际化文件(默认为中文)
  通过 languageCode 可以修改当前显示的语言
*/ 

const CN = require('cn.js');
const EN = require('en.js');
const JP = require('jp.js');
const CODE_KEY = "goal_language_code";

const LanguageManager = {
  //获取语言
  get language (){
    return [CN, EN, JP][this.languageCode-1];
  },
  // 设置语言code 1:中文 2:英文 3:日文
  set languageCode(code) {
    code = parseInt(code);
    wx.setStorageSync(CODE_KEY, code);
    if (this.onChange) {
      this.onChange(this.languageCode);
    }
  },
  // 获取语言code 如果没有设置默认为1
  get languageCode(){
    return wx.getStorageSync(CODE_KEY) ? wx.getStorageSync(CODE_KEY) : 1;
  }
};

module.exports = LanguageManager;

   实例:pages/index.js


// pages/index.js

//引入语言管理类
const LanguageMana = require('./language.js');

Page({
  onLoad: function(options) {
    this.bindCN();
  },
  bindCN() { //中文
    LanguageMana.languageCode = 1;
    console.log(LanguageMana.language.movie);
    console.log(LanguageMana.language.movie_name);
  },
  bindEN() { //英文
    LanguageMana.languageCode = 2;
    console.log(LanguageMana.language.movie);
    console.log(LanguageMana.language.movie_name);
  },
  bindJP() { //日文
    LanguageMana.languageCode = 3;
    console.log(LanguageMana.language.movie);
    console.log(LanguageMana.language.movie_name);
  }
})

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值