当前位置:首页 > 编程技术 > 正文内容

uniapp 国际化开发指南【多语言】

yc8881年前 (2022-12-02)编程技术636
  • 1. uniapp 的国际化

  • 2. VueI18n 多语言使用

    1. uniapp 的国际化


    zh-Hans 简体中文 zh-Hant 繁体中文

    国际化 (Internationalization,简称 i18n):指软件开发具备支持多种语言的地区功能

    i18n 简称的来源是单词 Internationalization 的首末字符 i 和 n,18 为中间的字符数量

    uniapp 的国际化开发指南文档 : https://uniapp.dcloud.net.cn/tutorial/i18n.html

    2. VueI18n 多语言使用


    一、创建国际化 json 文件

    ├── locale│   ├── index.js│   ├── en.json│   ├── zh-Hans.json│   └── zh-Hant.json

    语言文件示例 (zh-Hans.json) :

    {    "app.name": "天乐商城",    "index.title": "首页",}

    合并导出国际化 json 文件 (index.js) :

    import en from './en.json';import zhHans from './zh-Hans.json';export default { 'zh-Hans': zhHans, en }

    二、main.js 引入并初始化 VueI18n

    // 导入国际化 json 文件import messages from '@/locale/index'const i18nConfig = { locale: uni.getLocale(), messages }// Vue 安装 VueI18nimport VueI18n from 'vue-i18n'Vue.use(VueI18n)const i18n = new VueI18n(i18nConfig)// 挂载到 Vue 实例const app = new Vue({    ...App,    i18n})

    三、使用多语言

    页面模板中使用 $t 获取,并传递国际化 json 文件中定义的 key

    <view>{{ $t('index.title') }}</view>

    js 中使用 this.$t(),注意: this 指向的是 vue 实例

    this.$t('index.title')

    pages.json 中使用

    {    "pages": [{        "path": "pages/index/index",        "style": {            // 使用 %% 占位            "navigationBarTitleText": "%index.title%"        }    }],    "tabBar": {        "list": [{            "pagePath": "pages/index/index",            // 使用 %% 占位            "text": "%index.home%"        }]    }}

    四、切换语言

    uni.setLocale() 在 App 中会重启应用

    uni.setLocale('en')this.$i18n.locale = 'en'


    本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


    从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


    本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


    本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


    若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


    本文链接:https://www.10zhan.com/biancheng/10148.html

    标签: uniapp
    分享给朋友:

    “uniapp 国际化开发指南【多语言】” 的相关文章

    【说站】Thymeleaf报错Error resolving template “XXX”

    【说站】Thymeleaf报错Error resolving template “XXX”

    修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

    【说站】用一句话就可以去除宝塔面板操作上的二次验证

    【说站】用一句话就可以去除宝塔面板操作上的二次验证

    用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

    【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

    【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

    今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...

    【说站】vagrant实现linux虚拟机的安装并配置网络

    【说站】vagrant实现linux虚拟机的安装并配置网络

    一、VirtualBox的下载和安装1、下载VirtualBox官网下载:https://www.virtualbox.org/wiki/Downloads我的电脑是Windows的,所以下载Wind...

    【说站】linux中redis如何以redis用户重启?

    【说站】linux中redis如何以redis用户重启?

    通过上图我们可以看到,目前状态是已经以 redis 用户启动着,我想修改下 redis 的密码,然后怎么以 redis 用户重启呢?redis 是 nologin 用户,不能通过 su redis 切...

    【说站】Python获取最新疫情数据实现动态地图实时展示各地情况

    【说站】Python获取最新疫情数据实现动态地图实时展示各地情况

    疫情降临转眼已经第三年了,时间过得真快,愿疫情早点结束,世界不再多灾多难。最近疫情稍微好转一些了,所以咱们获取一下最新的疫情数据,做个可视化地图看看。效果展示获取到的数据咱们保存到表格可视化地图颜色是...