微信小程序配置实现中英文国际化语言切换

news2024/11/24 2:18:58

目录

1,在根目录新建文件夹和js文件

2. 在main.js中设置全局语言状态(默认设置为中文)

3. 页面添加  语言切换按钮(登录页面)

4. 在需要显示的页面导入使用


1,在根目录新建文件夹和js文件

根目录新建一个locales.js文件, 通用的一些函数可以放在此文件该文件夹下 ,如下图所示

配置中英文字段,字段要一一对应

let localList = {
  'zh': {
    'language': '简体中文',
    'login': '登录',
    'register': '注册账号',
    'phone': '账号',
    'password': '密码',
    ... ... (自己配置)
  },

  'en': {
    'language': 'English',
    'login': 'Login',
    'register': 'Register',
    'phone': 'Phone',
    'password': 'Password',
    ... ...
  }
}

module.exports = {
  localList: localList
}

2. 在main.js中设置全局语言状态(默认设置为中文)

let lang = uni.getSystemInfoSync().language
if (uni.getStorageSync("local") == "") {
  let localList = require("./utils/locales.js")
  if (lang == "zh" || lang == "zh_CN") {
    uni.setStorageSync("local", localList.localList.zh)
  } else {
    uni.setStorageSync("local", localList.localList.en)
  }
}

3. 页面添加  语言切换按钮(登录页面)

切换语言按钮

<span class="changeLang" @click="changeLang">
   {{local.ChangeLanguage}}
</span>

切换语言包的 js 点击事件操作

changeLang() {
  let that = this
  uni.showActionSheet({
    itemList: ['中文', 'English'],
    success(res) {
      let localList = require("../../utils/locales")
      if (res.tapIndex == 0) uni.setStorageSync("local", localList.localList.zh)
      if (res.tapIndex == 1) uni.setStorageSync("local", localList.localList.en)
      that.local = uni.getStorageSync("local")
      uni.$showSuccMsg(that.local.SwitchSucc);
      return
    },
    fail(res) {
      console.log(res.errMsg)
    }
  })
},

4. 在需要显示的页面导入使用

 在页面的data中导入本地语言包对象

data() {
  return {
    local: uni.getStorageSync("local"),
  }
}

使用{{ }}获取本地数据渲染到需要显示的位置

<span>{{local.ChangeLanguage}}</span>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/535333.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果手机通话怎么录音?通话录音的详细教程!

案例&#xff1a;iPhone怎么一边通话一边录音&#xff1f; 【苹果手机通过普通的方式不能边通话边录音&#xff0c;有什么方法可以帮到我吗&#xff1f;感谢&#xff01;】 录制通话可以帮助用户记录重要的电话内容&#xff0c;如商务谈判、家庭事务等。但是录音涉及隐私&…

Java基础(41)Java输入/输出流

在Java中所有数据都是使用流读写的。流是一组有序的数据序列&#xff0c;将数据从一个地方带到另一个地方。根据数据流向的不同&#xff0c;可以分为输入&#xff08;Input&#xff09;流和输出&#xff08;Output&#xff09;流两种。 什么是输入/输出流 Java 程序通过流来完…

Unity3D :创建您的第一个运行时 UI

ygtu May 16, 2023 • 27 min read 推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 3D工具集&#xff1a; NSDT简石数字孪生 创建您的第一个运行时 UI 本页将指导您完成使用 UI 工具包设置简单字符选择屏幕的步骤。它涵盖了 UI 元素和模板的创建、场景设置以及如何将脚…

公网SSH远程连接Termux - 电脑使用安卓Termux【cpolar内网穿透】

文章目录 1.安装ssh2.安装cpolar内网穿透3.远程ssh连接配置4.公网远程连接5.固定远程连接地址 使用安卓机跑东西的时候&#xff0c;屏幕太小&#xff0c;有时候操作不习惯。不过我们可以开启ssh&#xff0c;使用电脑PC端SSH远程连接手机termux。 本次教程主要实现在安卓手机te…

如何提高PID控制器离散化精度(SCL+梯形图代码)

通常采样率(执行频率)1/Ts的典型取值为闭环带宽的5~10倍。实际上大部分工程采样率范围会使我们所期望的闭环性能下降,要忽略采样造成的影响,采样率至少是典型值的10倍。原则上,采样率1/Ts在允许的计算能力范围内越大越好。当采样率较低时,提高PID控制器离散化精度的一种方…

DSSR122 4899001-NK汽车电子电气架构进化的终点在哪里

​ DSSR122 4899001-NK汽车电子电气架构进化的终点在哪里 随着人们对汽车性能要求的不断提高&#xff0c;越来越多的汽车电子/电气&#xff08;E/E&#xff09;架构系统被集成到汽车中&#xff0c;成为智能交通、自动驾驶、智能城市等更广泛生态系统的组成部分。汽车行业自动化…

Spring Boot 集成 Redis

Spring Boot 集成 Redis 一 集成Jedis1.1 Jedis1.2 集成步骤1.2.1 建Module1.2.2 改POM1.2.3 写YML1.2.4 主启动1.2.5 业务类 二 集成lettuce2.1 lettuce2.2 lettuce Vs Jedis2.3 集成步骤2.3.1 改pom2.3.2 业务类 三 集成RedisTemplate3.1 单机集成3.1.1 POM3.1.2 YML配置3.1.…

terrapos处理pospac数据(二)

上篇&#xff08;参考文献2&#xff09;说到terrapos不能处理pospac中的GPS数据&#xff0c;博主猜测可能的原因是没有记录主天线、方向天线和差分天线的原始数据&#xff0c;但是&#xff0c;即使记录这三种原始数据&#xff0c;当从pospac中提取IMU和GPS数据的时候&#xff0…

macOS Ventura 13.4 RC3(22F66)发布

系统介绍 5 月 17 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 13.4 RC 3 更新&#xff08;内部版本号&#xff1a;22F66&#xff09;&#xff0c;本次更新距离上次发布隔了 5 天。 macOS Ventura 带来了台前调度、连续互通相机、FaceTime 通话接力等功能。其中&…

我和C++的故事---第一次见面.

&#x1f4dd;个人主页&#xff1a;认真写博客的夏目浅石. &#x1f3e0;学习社区&#xff1a;夏目友人帐. 文章目录 前言一、第一个C程序二、C 关键字(C98)三、命名空间1、命名空间的定义2、命名空间的使用3、命名空间的三种展开方式 四、C输入&&输出&&换行1、…

doxygen: 在Windows上源码编译

文章目录 1. 目的2. 思路3. 安装 Chocolatey4. 用 choco 安装 bison 和 flex安装 gs:安装 libiconv 5. 编译报错 1. 目的 在 windows 上源码编译 doxygen&#xff0c; 改代码加功能。 2. 思路 doxygen 依赖 flex 和 bison&#xff0c; 手动编译 flex 和 bison 很麻烦可以用…

孤独患者的树洞?AI情感陪伴是如何实现的?

一、人工智能大模型 自ChatGPT发布以来&#xff0c;越来越多的中国企业和研究机构扎堆冲入AI大模型赛道&#xff0c;试图在自然语言处理、机器翻译、问答等方面取得重大突破。在未来&#xff0c;这些模型有机会应用于金融、医疗、电商等各领域。 人工智能大模型的应用不仅可以…

矿山电子封条 yolov8网络模型

矿山电子封条通过yolov8网络模型利用AI图像智能视频识别等技术&#xff0c;矿山电子封条yolov8网络模型智能分析异常情况&#xff0c;包括不限于人数变化情况、出入井人员以及相关现场设备开停状态进行自动全天候远程监控。YOLOv8 主要参考了最近提出的诸如 YOLOX、YOLOv6、YOL…

为什么Windows/Linux 的端口数量最大限制为65535?

端口0&#xff1a;一般是用来表示所有端口&#xff0c;即1–65535。另外其他答主也提到1–1024是知名端口号&#xff0c;但那是很久以前数据&#xff0c;是该更新了。举几个大于1024的知名端口号&#xff1a;1614/1615&#xff1a;思科ISE用于AAA的端口号1812/1813&#xff1a;…

【腾讯云 Finops Crane 集训营】基于 Kubernetes 实现云资源分析与成本优化平台

基于 Kubernetes 实现云资源分析与成本优化平台 一、基本介绍1.主要功能2.整体架构 二、基于 Kubernetes 实现云资源分析与成本优化平台1.准备工作2.安装 Prometheus/Grafana 软件包3.安装 Crane 软件包4. 使用智能弹性 EffectiveHPA4.配置集群 三、功能验证1.成本展示2.资源推…

3分钟了解FactoryBean的作用和底层工作原理

大家好&#xff0c;我是冰点&#xff0c;本节我们通过对FactoryBean 接口源码解析&#xff0c;以及使用示例剖析&#xff0c;让大家3分钟了解FactoryBean的作用和底层工作原理。以及FactoryBean的使用场景&#xff0c;学以致用。 FactoryBean是Spring框架中的一个接口&#xf…

基于 resnet 对 CIFAR-10 图片进行分类和网络微调

本文基于李沐老师的 实战 Kaggle 比赛&#xff1a;图像分类 (CIFAR-10) 文章目录 数据格式数据加载标签转化划分数据集查看数据搭建网络主训练函数网络训练 数据格式 CIFAR-10 下载地址&#xff1a;https://www.kaggle.com/competitions/cifar-10/data 下拉到最下面有一个 Do…

JavaScript中的Event(事件)详解

Event 对象 Event 对象代表事件的状态&#xff0c;比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 事件通常与函数结合使用&#xff0c;函数不会在事件发生前被执行&#xff01; 事件句柄 (Event Handlers) HTML 4.0 的新特性之一是能够使 HTML 事…

Maven uber-jar(带依赖的打包插件)maven-shade-plugin

文章目录 最基础的 maven-shade-plugin 使用生成可执行的 Jar 包 和 常用的资源转换类包名重命名打包时排除依赖与其他常用打包插件比较 本文是对 maven-shade-plugin 常用配置的介绍&#xff0c;更详细的学习请参照 Apache Maven Shade Plugin 官方文档 通过使用 maven-shade…

BetaFlight飞控启动运行过程简介疑问跟踪

BetaFlight飞控启动&运行过程简介疑问跟踪 1. 源由2. 【已解存疑】问题一&#xff1a;6.1 Why desiredPeriodCycles is so important to Betaflight task?3. 【已解】问题二&#xff1a;6.2 What root cause has made gyro task to been overrun, so scheduler has to ski…