# generaltranslation: General Translation Core SDK: standardizeLocale URL: https://generaltranslation.com/zh/docs/core/class/methods/locales/standardize-locale.mdx --- title: standardizeLocale description: GT standardizeLocale 方法的 API 参考文档 --- ## 概述 `standardizeLocale` 方法会将 BCP-47 区域设置代码标准化,以确保其格式和大小写正确。 它会把区域设置代码转换为规范的标准格式,使其适用于国际化 API,并确保整个应用中的一致性。 *** ## 参考 ### 参数 ### 参数说明 | 参数 | 说明 | | -------- | ----------------------------------------------- | | `locale` | 要标准化的 BCP-47 区域设置代码。若未提供,则使用实例的 `targetLocale`。 | ### 返回值 `string` - 标准化的 BCP-47 区域设置代码;如果输入无效,则返回空字符串 ### 抛出异常 * `Error` - 如果未提供区域设置,且该实例也未配置 `targetLocale` *** ## 行为 应用的常见格式修正如下: * `en_US` → `en-US` (下划线改为连字符) * `zh_cn` → `zh-CN` (下划线改为连字符,并修正大小写) * `EN-gb` → `en-GB` (语言代码小写,区域代码大写) * `Fr-ca` → `fr-CA` (整体大小写规范化) * `ja_jp` → `ja-JP` (修正下划线和大小写) *** ## 示例 ```typescript const gt = new GT({ sourceLocale: 'en', targetLocale: 'es-ES' }); // 标准化各种区域设置格式 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" // 已标准化的区域设置将原样返回,不做任何更改 console.log(gt.standardizeLocale('es-ES')); // "es-ES" console.log(gt.standardizeLocale('ja-JP')); // "ja-JP" ``` *** ## 说明 * 将下划线转换为连字符,并规范大小写 * 无效的区域设置代码返回空字符串 * 语言代码统一为小写,区域代码统一为大写 * 如存在,则保留区域设置扩展和变体 ## 后续步骤 * 使用 [`isValidLocale`](/docs/core/class/methods/locales/is-valid-locale) 验证标准化的区域设置 * 使用 [`resolveCanonicalLocale`](/docs/core/class/methods/locales/resolve-canonical-locale) 解析为标准区域设置 * 使用 [`getLocaleProperties`](/docs/core/class/methods/locales/get-locale-properties) 获取区域设置属性