GT ClassMethodsLocales
standardizeLocale
GT standardizeLocale 方法的 API 参考
概览
standardizeLocale 方法会将 BCP-47 语言代码标准化,确保其格式和大小写正确。
它会把语言代码转换为规范的标准形式,便于与国际化 API 搭配使用,并在整个应用中保持一致性。
参考资料
参数
Prop
Type
参数说明
| 参数 | 说明 | 
|---|---|
| locale | 要标准化的 BCP-47 语言代码。若未提供,则使用该实例的 targetLocale | 
返回
string - 标准化的 BCP-47 语言代码;如果输入无效,则返回空字符串
抛出
- Error- 当未提供 locale 且该实例未配置- targetLocale时
行为
应用的常见格式更正:
- en_US→- en-US(下划线改为连字符)
- zh_cn→- zh-CN(下划线改为连字符,并修正大小写)
- EN-gb→- en-GB(语言小写,地区大写)
- Fr-ca→- fr-CA(大小写全面规范)
- ja_jp→- ja-JP(下划线改为连字符,并修正大小写)
示例
const gt = new GT({
  sourceLocale: 'en',
  targetLocale: 'es-ES'
});
// 标准化各种locale格式
console.log(gt.standardizeLocale('en_us')); // "en-US"
console.log(gt.standardizeLocale('zh_cn')); // "zh-CN"
console.log(gt.standardizeLocale('EN-gb')); // "en-GB"
console.log(gt.standardizeLocale('fr-ca')); // "fr-CA"
// 已标准化的locale保持不变
console.log(gt.standardizeLocale('es-ES')); // "es-ES"
console.log(gt.standardizeLocale('ja-JP')); // "ja-JP"说明
- 将下划线转换为连字符,并规范大小写
- 对无效的语言代码返回空字符串
- 语言代码使用小写,地区代码使用大写
- 在存在时保留 locale 的扩展和变体
后续步骤
- 使用isValidLocale验证标准化的 locale
- 使用resolveCanonicalLocale解析规范的 locale
- 使用getLocaleProperties获取 locale 属性
这份指南怎么样?

