GT ClassMethodsLocales

resolveCanonicalLocale

GT resolveCanonicalLocale 方法的 API 参考

概览

在为 locale 设置别名(例如 cn -> zh)的场景中,当配置了自定义映射时,resolveCanonicalLocale 方法会将别名语言代码转换为其规范的 BCP-47 语言代码。


参考资料

参数

Prop

Type

参数说明

参数说明
locale要解析为规范形式的别名语言代码。若未提供,则使用实例的 targetLocale
customMapping可选的自定义映射,用于替代实例的默认映射

返回值

string - 若存在映射,则返回规范的 BCP-47 语言代码;否则返回原始语言代码

抛出

  • Error - 当未提供 locale 且该实例未配置 targetLocale

示例

const gt = new GT({
  sourceLocale: 'en',
  customMapping: {
    'cn': { code: 'zh', name: 'Mandarin' },
  }
});

// 将别名转换为规范 locale
const canonical = gt.resolveCanonicalLocale('cn');
console.log(canonical); // "zh"

// 常规 BCP-47 代码直接通过,保持不变
const unchanged = gt.resolveCanonicalLocale('fr-FR');
console.log(unchanged); // "fr-FR"

说明

  • 将别名语言代码转换为规范的 BCP-47 语言代码
  • 若不存在自定义映射,则返回原始语言代码
  • 适用于 GT 构造函数中的 customMapping 配置
  • 不对输入或输出的语言代码进行任何校验

后续步骤

本指南如何?