Skip to content

Language 模块

Language 模块用于一次性读取当前语言环境,便于接入的生成器应用据此切换自身应用内部的多语言词条。该模块只读取,不监听语言变化、也不主动切换宿主语言。

API 列表

方法返回值说明
sdk.language.getCurrentLocale()SupportedLanguageCode返回当前语言短码(17 种之一),按下方优先级解析
sdk.language.getSupportedLocales()SupportedLocale[]返回全部 17 种受支持语言的 { code, name }(返回副本)

解析优先级

getCurrentLocale() 一次性解析,命中即返回。每个来源都有兜底;非浏览器 / 受限环境会直接落到 env 默认:

  1. URL 查询参数 ?lang=
  2. URL 路径前缀 /de/…(首段在支持列表内)
  3. cookie i18n_redirected
  4. localStorageLANG_KEY
  5. env 默认:prod_cn → zh,其余 → en

所有取值都会归一化为受支持的短码(zh-CN → zh,大小写无关)。不支持的值会被跳过,继续向下一来源解析。

支持的语言(17 种)

getSupportedLocales() 返回下表完整列表,类型为 SupportedLocale[]{ code, name }):

短码 Code名称 Name
zh简体中文
enEnglish
zh-hant繁體中文
deDeutsch
esEspañol
frFrançais
itItaliano
ja日本語
ko한국어
ruРусский
ukУкраїнська
slSlovenščina
thไทย
plPolski
csČeština
idBahasa Indonesia
viTiế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 用户引用。

MIT Licensed