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 的属性
本指南如何?