1# 设置应用偏好语言
2
3## 功能介绍
4
5对于多语言用户,很多情况下会将系统语言设置为一种语言(如中文),将特定APP应用的语言设置为另一种语言(如英语)。当界面加载应用资源时,依据应用设置的语言进行显示。开发过程中,开发者需将应用国际化特性区域设置为应用偏好语言,使应用界面的国际化特性与界面加载的资源保持一致。当前,应用仅支持设置一种语言。
6
7## 开发步骤
8
9接口具体使用方法和说明请参考[getAppPreferredLanguage](../reference/apis-localization-kit/js-apis-i18n.md#getapppreferredlanguage9)的API接口文档。
10
11以时间日期格式化为例说明。
12
131. 导入模块。
14   ```ts
15   import { i18n } from '@kit.LocalizationKit';
16   import { BusinessError } from '@kit.BasicServicesKit';
17   ```
18
192. 需要获取应用的偏好语言。
20   ```ts
21     let appPreferredLanguage: string = i18n.System.getAppPreferredLanguage(); // 获取应用偏好语言
22   ```
23
243. 设置应用的偏好语言。将应用偏好语言设置为目标语言后,该应用的界面会切换为目标语言。设置应用的偏好语言仅影响应用本身,不会影响系统语言设置。
25   ```ts
26    try {
27      i18n.System.setAppPreferredLanguage("zh-Hans"); // 设置应用偏好语言为zh-Hans
28    } catch(error) {
29      let err: BusinessError = error as BusinessError;
30      console.error(`call System.setAppPreferredLanguage failed, error code: ${err.code}, message: ${err.message}.`);
31    }
32   ```
33
344. 清除应用的偏好语言。将应用偏好语言设置为"default"后,该应用的界面会跟随系统语言变化,该特性将在应用重新启动后生效。
35   ```ts
36    try {
37      i18n.System.setAppPreferredLanguage("default"); // 清除应用的偏好语言
38    } catch(error) {
39      let err: BusinessError = error as BusinessError;
40      console.error(`call System.setAppPreferredLanguage failed, error code: ${err.code}, message: ${err.message}.`);
41    }
42   ```