# uni.getLocale()

获取当前设置的语言

平台差异说明

App H5 微信小程序 支付宝小程序 百度小程序 抖音小程序、飞书小程序 QQ小程序 快手小程序 华为快应用 360小程序 京东小程序 元服务
3.2.5+ 3.2.5+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ x

HarmonyOS Next 兼容性

HarmonyOS Next
HBuilderX 4.23

如果当前应用设置过语言,会获取到之前设置的语言,未设置时会返回根据系统语言类型自动选择的语言。

# uni.setLocale(locale)

设置当前语言

平台差异说明

App H5 微信小程序 支付宝小程序 百度小程序 抖音小程序、飞书小程序 QQ小程序 快手小程序 华为快应用 360小程序 京东小程序 元服务
3.2.5+ 3.2.5+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ x

HarmonyOS Next 兼容性

HarmonyOS Next
HBuilderX 4.23

仅可设置为框架内置语言与自定义扩展的语言,遵循 BCP47 规范。

参数说明

参数名 类型 必填
locale String

# 参数 HarmonyOS Next 兼容性

名称 HarmonyOS Next 兼容性
locale -

# uni.onLocaleChange(callback)

用于监听应用语言切换

平台差异说明

App H5 微信小程序 支付宝小程序 百度小程序 抖音小程序、飞书小程序 QQ小程序 快手小程序 华为快应用 360小程序 京东小程序 元服务
3.2.7+ 3.2.7+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ 3.4.14+ x

HarmonyOS Next 兼容性

HarmonyOS Next
HBuilderX 4.23

# 参数 HarmonyOS Next 兼容性

名称 HarmonyOS Next 兼容性
callback -

# OnLocaleChangeCallbackResult 的属性值

名称 HarmonyOS Next 兼容性
locale -

callback返回参数说明

参数名 类型 说明
locale String 当前语言

# 注意事项

  • 组件和接口显示会根据设置的语言环境自动切换,未支持的系统语言环境会显示为英文。
  • App-Android、App-iOS 平台修改系统语言后会重启应用。
  • App-Android 平台设置新的语言后会自动重启应用。
  • 框架内置如下语言,如需自定义内容或增加其他语言参考:自定义国际化内容
    • 英语 en
    • 中文简体 zh-Hans
    • 繁体 zh-Hant
    • 法语 fr
    • 西班牙语 es
  • manifest.json -> locale 可以配置应用的默认语言。
  • 仅 3.1.5 - 3.2.4 版本会自动使用 vue-i18n 内配置的语言。
  • 在小程序平台仅影响用户业务层(vue-i18n)的语言配置,不能影响小程序原生组件和接口的语言。

# 语言回退规则

需要注意的是,语言的处理逻辑是建立在应用locale目录 配置了对应资源的前提下。 资源配置文档

  • 如果应用的 locale目录下配置了对应的资源,那么语言的设置和获取是一致的

  • 如果应用的 locale目录没有配置对应的资源,则会根据具体的平台规则进行回退。

举个例子,应用中仅配置了英文和中文资源,没有配置日语资源,但是通过系统设置修改语言为日文,此时调用 uni.getLocale() 在android平台上获取到的返回值不会是jp 而是en