当前位置: 首页 > news >正文

微信小程序中英文切换miniprogram-i18n-plus

原生微信小程序使用 miniprogram-i18n-plus

第一步:

npm install miniprogram-i18n-plus -S

安装完成后,会在项目文件文件夹 node_modules文件里生成 miniprogram-i18n-plus, 然后在工具栏-工具-构建npm,然后看到miniprogram_npm里面有一个miniprogram-i18n-plus

第二步:

在app.js文件中设置  进入小程序判断有无存储在storage 的语言,没有的话就获取系统当前语言是什么语言,有就拿已存储设置得语言

import storage from './utils/storage';   // 自定义得缓存文件
import setLanguage from "./i18n/index";  // 引入得 miniprogram-i18n-plus 处理得文件
let language = "en_US"; // zh_CN en_US   // 默认得语言
App({onLaunch() {// 判断有无存储在storage 的语言,没有的话就获取系统当前语言是什么语言,有就拿已存储的if(storage.get('language')) {language = storage.get('language')} else {wx.getSystemInfo({success:(res)=> {if(res.language === 'en') {language = 'en_US'}else {language = 'zh_CN'}storage.set('language', language)}})}setLanguage.setLanguage();},globalData: {statusBarHeight: wx.getSystemInfoSync()['statusBarHeight'],}
})

在文件中创建一个i18n文件夹,里面创建index.js文件和中文语言文件zh.js和英文文件en.js,

index.js文件代码

import i18nInstance from "../miniprogram_npm/miniprogram-i18n-plus/index";  //引入得插件
import storage from '../utils/storage';  // 缓存文件
import en_US from './en';                // 英文文件
import zh_CN from './zh';                // 中文文件
function setLanguage () {const locales = {...zh_CN,...en_US};// 更改语言let language= storage.get('language')  // 语言缓存i18nInstance.setLocale(language);        i18nInstance.loadTranslations(locales);
}
module.exports = {setLanguage: setLanguage
}

en.js 文件 

const languageMap = {"title": 'Must-Read for Beginners ',"tips": 'Hot Topic ',
}
module.exports = {en_US: languageMap
}

zh.js 文件

const languageMap = {title: '新手必读',tips: '热门话题',
}
module.exports = {zh_CN: languageMap
}

第三步:

在文件中使用 需要引入  miniprogram-i18n-plus  在data 中定义 

i18n: i18nInstance.getLanguage()
import { i18nInstance } from "../../miniprogram_npm/miniprogram-i18n-plus/index";Page({data: {i18n: i18nInstance.getLanguage()}
})

也可以使用官网得方法  在onLoad 函数中设置

Page({data: {language: {},},onLoad() {i18nInstance.effect({context: this,callback: this.setLanguage,});},setLanguage() {this.setData({language: i18nInstance.getLanguage(),});},
});

最后:

在文件中调用  index.wxml  

<view> {{i18n.title}} </view>

http://www.lryc.cn/news/599222.html

相关文章:

  • 三、Spark 运行环境部署:全面掌握四种核心模式
  • day33:零基础学嵌入式之网络——HTTP服务端
  • GaussDB 逻辑备份实操
  • 《剑指offer》-数据结构篇-链表
  • Java 大视界 -- Java 大数据机器学习模型在金融衍生品市场波动特征挖掘与交易策略创新中的应用(363)
  • MySQL存储引擎深度解析与实战指南
  • 电科金仓新一代数据库一体机:国产化方案替换优质选择
  • Java研学-RabbitMQ(三)
  • LeetCode 391:完美矩形
  • SQL164 2021年11月每天新用户的次日留存率
  • 虚拟地址-物理地址
  • 关于“PromptPilot”
  • jwt 验证方法 (ASP.NET Core)
  • Uniapp编写微信小程序,绘制动态圆环进度条
  • Linux——线程(下)
  • uniapp小程序上传图片并压缩
  • 【MacOS】发展历程
  • 基于 Nginx 与未来之窗防火墙构建下一代自建动态网络防护体系​—仙盟创梦IDE
  • 好看的小程序推广单页HTML源码 可用作导航页
  • 校园二手交易小程序的设计与实现
  • 如何将荣耀手机的照片传输到 Mac
  • 小程序安卓ApK转aab文件详情教程MacM4环境
  • Linux 时间同步的流程
  • 小程序卡顿到丝滑体验:ZKmall开源商城性能优化与兼容修复实战指南
  • 教培机构如何开发自己的证件照拍照采集小程序
  • 【pybind11】 pybind11如何调用python
  • 《整合Spring Cache:本地缓存、Redis与Caffeine对比实践》
  • Python 数据可视化之 Matplotlib 库
  • 【国内电子数据取证厂商龙信科技】谁是躲在“向日葵”后的
  • OSPF之多区域