Language 模块
Language 模块用于一次性读取当前语言环境,便于接入的生成器应用据此切换自身应用内部的多语言词条。该模块只读取,不监听语言变化、也不主动切换宿主语言。
API 列表
| 方法 | 返回值 | 说明 |
|---|---|---|
sdk.language.getCurrentLocale() | SupportedLanguageCode | 返回当前语言短码(17 种之一),按下方优先级解析 |
sdk.language.getSupportedLocales() | SupportedLocale[] | 返回全部 17 种受支持语言的 { code, name }(返回副本) |
解析优先级
getCurrentLocale() 一次性解析,命中即返回。每个来源都有兜底;非浏览器 / 受限环境会直接落到 env 默认:
- URL 查询参数
?lang= - URL 路径前缀
/de/…(首段在支持列表内) - cookie
i18n_redirected localStorage的LANG_KEY- env 默认:
prod_cn → zh,其余 →en
所有取值都会归一化为受支持的短码(zh-CN → zh,大小写无关)。不支持的值会被跳过,继续向下一来源解析。
支持的语言(17 种)
getSupportedLocales() 返回下表完整列表,类型为 SupportedLocale[]({ code, name }):
| 短码 Code | 名称 Name |
|---|---|
zh | 简体中文 |
en | English |
zh-hant | 繁體中文 |
de | Deutsch |
es | Español |
fr | Français |
it | Italiano |
ja | 日本語 |
ko | 한국어 |
ru | Русский |
uk | Українська |
sl | Slovenščina |
th | ไทย |
pl | Polski |
cs | Čeština |
id | Bahasa Indonesia |
vi | Tiếng Việt |
典型用法
ts
const locale = sdk.language.getCurrentLocale() // 'de' | 'zh' | 'en' ...
// 根据语言切换生成器应用自身的词条
i18n.setLocale(locale)
// 获取全部受支持语言,例如用于渲染语言选择器
const locales = sdk.language.getSupportedLocales()
// [{ code: 'zh', name: '简体中文' }, { code: 'en', name: 'English' }, ...]说明
- 国服(
prod_cn)Web 页面为单语言模式(无 URL 前缀、无浏览器检测),解析会自然回退到zh。 - 模块只读、不订阅语言变化;如宿主发生路由切换、需要最新值,重新调用
getCurrentLocale()即可。 - 面向
*.atomm.com同域嵌入场景(Web Component / 微前端),此时 cookie / URL /localStorage可被读取。 SupportedLanguageCode(短码联合类型)与SupportedLocale({ code, name })均已从包内导出,供 TypeScript 用户引用。