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配置 - 不对输入或输出的语言代码进行任何校验
后续步骤
- 使用
resolveAliasLocale将别名解析回原始 locale - 使用
isValidLocale验证 locale - 使用
standardizeLocale规范化 locale 格式
本指南如何?