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

uni-app - - - - -vue3使用i18n配置国际化语言

uni-app - - - - -使用i18n配置国际化语言

  • 1. 安装vue-i18n
  • 2. 配置文件
    • 2.1 创建如下文件
    • 2.2 文件配置
    • 2.3 main文件导入i18n
  • 3. 页面内使用
    • 3.1 template内直接使用
    • 3.2 变量接收使用

1. 安装vue-i18n

npm install vue-i18n --save

2. 配置文件

2.1 创建如下文件

在这里插入图片描述

  • locales文件夹里的js文件,对应各个语言的配置

2.2 文件配置

en-US.js

// 英文配置文件
export default {str: 'string',obj: {key1: 'value1',key2: 'value2'},arr: ['arr1', 'arr2']
}

zh-CN.js

// 中文配置文件
export default {str: '字符串',obj: {key1: '字段1',key2: '字段2'},arr: ['元素1', '元素2']
}

index.js

import {createI18n
} from "vue-i18n";
import zhCN from "./locales/zh-CN";
import enUS from "./locales/en-US";const systemInfo = uni.getSystemInfoSync();
console.log(systemInfo);//uni.showModal({
//	title: '宿主语言',
//	content: systemInfo.hostLanguage
//})let _lan = systemInfo.hostLanguage || 'zh-CN'; //  获取本地存储 || 根据浏览器语言设置console.log('当前语言为:', _lan);const i18n = createI18n({fallbackLocale: 'zh-CN',legacy: false, // 使用Composition API,这里必须设置为falselocale: _lan, // 默认使用语言globalInjection: true, // 全局注册$t方法messages: {"zh-CN": zhCN,en: enUS,},
});export default i18n;

2.3 main文件导入i18n

import i18n from "./language";...app.use(i18n)

3. 页面内使用

3.1 template内直接使用

注意:对象、数据 使用$tm

<view>字符串:  {{ $t('str') }} </view>
<view>字符串:  {{ $tm('obj.key1') }} </view>
<view>字符串:  {{ $tm('arr')[0] }} </view>

3.2 变量接收使用

<view>字符串:  {{ pageStr }} </view>
<view>字符串:  {{ pageObj }} </view>
<view>字符串:  {{ pageArr }} </view>
import i18n from "/language";const pageStr = ref(computed(() => i18n.global.t("str")))
const pageObj = ref(computed(() => i18n.global.tm("obj")))
const pageArr = ref(computed(() => i18n.global.tm("arr")))return {pageStr,pageObj,pageArr
}

相关文章:

  • Qt系统相关——事件
  • 东华大学《2020年+2022年824自动控制原理真题》 (完整版)
  • 【Android】页面启动耗时统计流程梳理
  • Git从了解到操作
  • JavaEE: 深入探索TCP网络编程的奇妙世界(二)
  • 建立队列,插入队列,删除队列
  • scrapy之setting文件详解
  • 0基础学习PyTorch——时尚分类(Fashion MNIST)训练和推理
  • 阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
  • 10.Lab Nine —— file system-上
  • 丹摩智算(damodel)部署stable diffusion实验
  • 三子棋小游戏
  • 【React】组件通信
  • Android 已经过时的方法用什么新方法替代?
  • 使用Python解决数据分析中的相关性分析
  • Bootstrap JS插件Alert源码分析
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • javascript 总结(常用工具类的封装)
  • javascript从右向左截取指定位数字符的3种方法
  • JavaScript新鲜事·第5期
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Mac转Windows的拯救指南
  • maya建模与骨骼动画快速实现人工鱼
  • mockjs让前端开发独立于后端
  • python_bomb----数据类型总结
  • Python学习之路13-记分
  • select2 取值 遍历 设置默认值
  • 番外篇1:在Windows环境下安装JDK
  • 观察者模式实现非直接耦合
  • 深入浅出webpack学习(1)--核心概念
  • 小而合理的前端理论:rscss和rsjs
  • 智能合约Solidity教程-事件和日志(一)
  • 主流的CSS水平和垂直居中技术大全
  • 函数计算新功能-----支持C#函数
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # wps必须要登录激活才能使用吗?
  • #1014 : Trie树
  • #APPINVENTOR学习记录
  • #Java第九次作业--输入输出流和文件操作
  • #Linux(帮助手册)
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (11)MSP430F5529 定时器B
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (分布式缓存)Redis分片集群
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (离散数学)逻辑连接词
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (三)Honghu Cloud云架构一定时调度平台
  • (一)kafka实战——kafka源码编译启动
  • (一)Linux+Windows下安装ffmpeg
  • (转)详解PHP处理密码的几种方式
  • (转)一些感悟