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