GT ClassMethodsLocales
resolveCanonicalLocale
GT resolveCanonicalLocale 方法的 API 参考
概述
在对 locale 进行别名映射(如 cn -> zh)的场景下,若已配置自定义映射,resolveCanonicalLocale 方法会将别名的 locale 代码转换为其规范的 BCP-47 locale 代码。
参考资料
参数
Prop
Type
参数说明
| 参数 | 说明 | 
|---|---|
| locale | 要解析为标准(规范)形式的别名语言代码。若未提供,则使用该实例的 targetLocale | 
| customMapping | 可选的自定义映射,用于覆盖该实例的默认映射 | 
返回
string - 若存在映射,则返回规范的 BCP-47 语言代码;否则返回原始语言代码
抛出
- Error- 如果未提供 locale,且该实例未配置- targetLocale
示例
const gt = new GT({
  sourceLocale: 'en',
  customMapping: {
    'cn': { code: 'zh', name: '普通话' },
  }
});
// 将别名转换为标准语言代码
const canonical = gt.resolveCanonicalLocale('cn');
console.log(canonical); // "zh"
// 标准 BCP-47 代码保持不变
const unchanged = gt.resolveCanonicalLocale('fr-FR');
console.log(unchanged); // "fr-FR"注意
- 将别名 locale 代码转换为规范的 BCP-47 locale 代码
- 若不存在自定义映射,则返回原始 locale
- 可与 GT 构造函数中的 customMapping配置配合使用
- 不对输入或输出的 locale 代码进行任何校验
后续步骤
- 使用 resolveAliasLocale将 locale 解析回其别名
- 使用 isValidLocale验证 locales
- 使用 standardizeLocale标准化 locale 格式
这份指南怎么样?

