多语言
脚手架支持多语言设置,分为应用部分和框架部分,应用部分,即开发者自己的代码里涉及的界面部分,框架部分,即uni-app内置组件和API涉及界面的部分。
应用多语言
应用多语言,即开发者自开发的页面组件等的内容中,这部分国际化采用vue-i18n,目前集成了中文(zh-Hans)、英文(en)、日文(ja)三种
设置方式
1、在 /src/locale/i18n/languages
文件夹下对应的语言种类中编辑添加国际化文案。
2、国际化使用
vue
<!-- 示例 -->
<template>
<view class="content">
<!-- t为国际化转化方法, create.app为国际化key值 -->
<text>{{ t("create.app") }}</text>
</view>
</template>
<script setup lang="ts">
import useIntl from "@/locale/i18n/use-intl";
const { t } = useIntl();
</script>
多语言扩展
1、在 /src/locale/i18n/languages
文件夹下新增对应的多语言json文件
2、在 /src/locale/i18n/index
文件内引入并设置好对应的语言编码
框架多语言
uni-app 有内置的基础组件,比如picker,或者与界面相关的API,比如showModal。这些界面包含的文字也需要国际化。
目前框架内置多语言支持:
- 中文简体(zh-Hans)
- 中文繁体(zh-Hant)
- 英语(en)
- 法语(fr)
- 西班牙语(es)
内置组件和接口显示会根据系统语言环境自动切换,未支持的系统语言环境会显示为英文
内置组件及api多语言扩展
如果自动适配语言不满足需求,比如需要预置的5种语言外的更多语言。那么可以使用自定义方案。在指定目录创建指定文件,用同名词条来替换,语言地区代码请遵循 BCP47 规范
详见:https://uniapp.dcloud.net.cn/tutorial/i18n.html#uni-framework
uni-ui组件多语言扩展
以 uni-datetime-picker组件为例
- 在
/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n
文件夹下新增多语言json文件 - 在
/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index
中引入多语言文件
注意:扩展的语言编码需要统一
多语言切换
javascript
import useIntl from "@/locale/i18n/use-intl";
const { setLanguage } = useIntl();
// 示例
setLanguage('en') // 参数为切换的语言编码