当前位置: 首页 > 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";let _lan = uni.getStorageSync('_lan') || '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
}
http://www.lryc.cn/news/445903.html

相关文章:

  • VSCode好用的插件推荐
  • Linux:八种重定向详解(万字长文警告)
  • set和map系列容器
  • 企业告警智策助手 | OPENAIGC开发者大赛企业组AI创作力奖
  • 函数组件、Hooks和类组件区别
  • 在线点餐新体验:Spring Boot 点餐系统
  • WPF中Viewbox的介绍和用法
  • QMT如何获取股票基本信息?如上市时间、退市时间、代码、名称、是否是ST等。QMT量化软件支持!
  • 2024年中国科技核心期刊目录(科普卷)
  • [解决]navicat连接mysql成功,但是使用jdbc连接不上
  • sar信号RD域的距离向傅里叶变换
  • 4 html5 web components原生组件详细教程
  • nginx+keepalived健康检查案例详解(解决nginx出现故障却不能快速切换到备份服务器的问题)
  • 什么是AI大模型?
  • 建造者模式__c#
  • 学习MRI处理过程中搜到的宝藏网站
  • 【C语言】const char*强制类型转换 (type cast)的告警问题
  • python-比较月亮大小/数组下标/人见人爱a+b
  • 什么是组态、组态的应用场景介绍
  • Java项目: 基于SpringBoot+mybatis+maven实现的智能推荐卫生健康系统分前后台(含源码+数据库+开题报告+任务书+毕业论文)
  • 本地生活商城开发搭建 同城O2O线上线下推广
  • 41. 如何在MyBatis-Plus中实现批量操作?批量插入和更新的最佳实践是什么?
  • LlamaIndex 的Node节点后处理器模块介绍
  • Dubbo 如何使用 Zookeeper 作为注册中心:原理、优势与实现详解
  • Linux:进程间通信之命名管道
  • UE4_后期处理七—仿红外线成像效果
  • 静态路由和默认路由(实验)
  • TCP: Textual-based Class-aware Prompt tuning for Visual-Language Model
  • 2024年软考网络工程师中级题库
  • CSS的盒子模型(Box Model)