• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 设置系统语言与区域
2
3
4## 实现原理
5
6在设置的“语言和系统”中可以添加多种语言,多种语言形成的列表称为语言列表,列表中的第一个语言称为系统语言。系统区域是依据区域标识划分的特定地区。
7
8当设置/切换系统语言时,系统会检查[扩展参数](i18n-locale-culture.md)与系统语言是否匹配,若不匹配,则删除扩展属性。例如,当前系统语言设置为阿拉伯语“ar”,使用本地数字为“arab”。当系统语言切换为马来西亚语“my”时,本地数字属性更改为马来西亚的本地数字“mymr”。当切换为中文时,因中文不支持设置本地数字,采用阿拉伯数字,因此本地数字的扩展属性会被移除。
9
10
11## 开发步骤
12
13接口具体使用方法和说明请参考[System](../reference/apis/js-apis-i18n.md#system9)的API接口文档。
14
151. 导入模块。
16   ```ts
17   // 导入模块
18   import I18n from '@ohos.i18n';
19   import { BusinessError } from '@ohos.base';
20   ```
21
222. 获取系统语言、系统地区、系统区域。
23   ```ts
24   // 获取系统语言
25   try {
26     let systemLanguage = I18n.System.getSystemLanguage();  // systemLanguage为当前系统语言
27   } catch(error) {
28     console.error(`call System.getSystemLanguage failed, error code: ${error.code}, message: ${error.message}.`);
29   }
30
31   // 获取系统地区
32   try {
33     let systemRegion = I18n.System.getSystemRegion();  // systemRegion为当前系统地区
34   } catch(error) {
35     console.error(`call System.getSystemRegion failed, error code: ${error.code}, message: ${error.message}.`);
36   }
37
38   // 获取系统区域
39   try {
40     let systemLocale = I18n.System.getSystemLocale();  // systemLocale为当前系统区域
41   } catch(error) {
42     console.error(`call System.getSystemLocale failed, error code: ${error.code}, message: ${error.message}.`);
43   }
44   ```
45
463. 设置系统语言、系统地区、系统区域。
47   ```ts
48   // 设置系统当前语言为 "zh"
49   try {
50     I18n.System.setSystemLanguage('zh');
51   } catch(error) {
52     let err: BusinessError = error as BusinessError;
53     console.error(`call System.setSystemLanguage failed, error code: ${err.code}, message: ${err.message}.`);
54   }
55
56   // 设置系统当前地区为 "CN"
57   try {
58     I18n.System.setSystemRegion('CN');
59   } catch(error) {
60     let err: BusinessError = error as BusinessError;
61     console.error(`call System.setSystemRegion failed, error code: ${err.code}, message: ${err.message}.`);
62   }
63
64   // 设置系统当前区域为 "zh-Hans-CN"
65   try {
66     I18n.System.setSystemLocale('zh-Hans-CN');
67   } catch(error) {
68     let err: BusinessError = error as BusinessError;
69     console.error(`call System.setSystemLocale failed, error code: ${err.code}, message: ${err.message}.`);
70   }
71   ```
72