微信小程序国际化

微信小程序使用多语言

步骤如下:

1.安装

bash 复制代码
npm install Shawn-zhao/mini-i18n

这是从GitHub下载依赖,而不是从https://www.npmjs.com/,所以淘宝镜像是不行的,如果安装失败,请科学上网。如果小程序的项目之前没用使用过npm,则需要先在小程序根目录执行

bash 复制代码
npm init -y

然后再执行

bash 复制代码
npm install Shawn-zhao/mini-i18n

最后需要在小程序开发工具中执行:工具->构建npm,提示构建成功,就可以开始写代码了。构建失败请参考developers.weixin.qq.com/miniprogram...

2.创建语言包

项目根目录创建locales文件夹,在文件夹中创建en.js、zh.js、index.js,前两个文件就是语言包配置。

index.js文件如下:

javascript 复制代码
import zh from './zh';
import en from './en';

export default {
	'zh-Hans': zh,
	en
}

en.js如下:

javascript 复制代码
export default {
  home: {
    text1: "mini-i18n is a js library that implements multi-language mini programs",
    text2: "It is suitable for use in scenarios that seek a universal framework, no third-party dependencies, and no frequent language switching.",
  },
};

zh.js如下:

javascript 复制代码
export default {
  home: {
    text1: "mini-i18n 是一个实现小程序多语言的 js 库",
    text2: "适合寻求框架通用、无三方依赖、且无频繁语言切换的场景使用。",
  },
};

3.小程序中初始化

在app.js的onLaunch中添加如下代码:

javascript 复制代码
import { i18n } from "mini-i18n"
import locales from "./locales/index"

App({
  onLaunch() {
    i18n.init({
      locales,
      lang: 'zh_CN',
      defualtLang: 'zh_CN',
      isHint: true,
      themeColor: '#ff6600',
      homePath: '/pages/index/index'
    })
  }
})

4.在页面中使用

使用t()获取对应的语言内容,如下所示:

javascript 复制代码
import {
  t
} from 'mini-i18n'

Page({
  data: {
    text1: '',
    text2: ''
  },

  onLoad() {
    this.setData({
      text1: t('home.text1'),
      text2: t('home.text2')
    })
  }
})

wxml中

xml 复制代码
<text>{{text1}}</text>
<text>{{text2}}</text>

可以将开发者工具切换为英文版,或者手机微信切换为英文版,查看运行效果。运行结果:

5.其他

代码片段:developers.weixin.qq.com/s/eTlaGim97...

GitHub地址github.com/Shawn-zhao/... ,该项目是从github.com/zhangchao-w... fork过来的,修改了一些bug。如果发现bug需要修改,可以将代码下载下来,然后修改并编译,小程序添加本地依赖(dependencies添加"mini-i18n": "file:D:/xxx/xxx/mini-i18n")并自测通过后发起pull request。

相关推荐
现任明教教主~4 小时前
运营级多门店洗车贴膜汽车在线核销保养服务系统洗车预约洗车系统消费分佣扫码核销系统
微信小程序·小程序·汽车
陪我去看海7 小时前
被要求猛出小程序,做了这个多平台多环境的部署替我承受压力
前端·微信小程序·抖音小程序
無名路人8 小时前
小程序点餐页吸顶滚动之分类按需加载,上划切换
前端·vue.js·微信小程序
用户7884773163417 小时前
一个门店预约小程序,真正难的不是页面,是这 4 个后端接口
微信小程序
老马识码17 小时前
一个围棋小程序里的七个 Agent:场景、提示词和结构化输出的门道
人工智能·微信小程序
拖孩17 小时前
一个人 + AI 做的小程序,一个半月把服务器钱赚回来一半了
前端·后端·微信小程序
前端小万6 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
拖孩6 天前
代码我能全交给 AI,流量主这 500 个访客它一个都替不了我
前端·后端·微信小程序
甜到心里的蛋糕6 天前
如何用企业微信实现让微信收到通知实时通知
服务器·python·微信小程序·fastapi
2601_963870206 天前
基于springboot的综合网上购物商场系统
微信小程序·小程序·课程设计