# generaltranslation: General Translation Core SDK: isValidLocale URL: https://generaltranslation.com/zh/docs/core/class/methods/locales/is-valid-locale.mdx --- title: isValidLocale description: GT isValidLocale 方法的 API 参考文档 --- ## 概述 `isValidLocale` 方法用于验证某个区域设置代码的格式是否正确,并且能否被识别为有效的 BCP-47 区域设置。 它基于 `Intl` API 检查区域设置的结构、语言识别以及区域/书写系统是否有效,并支持自定义区域设置映射。 *** ## 参考 ### 参数 ### 参数说明 | 参数 | 说明 | | --------------- | ----------------------------------------------- | | `locale` | 要验证的 BCP-47 区域设置代码。未提供时,使用实例的 `targetLocale` | | `customMapping` | 用于检查其他有效区域设置的可选自定义映射。未提供时,使用实例的 `customMapping` | ### 返回值 `boolean` - 如果区域设置有效,则返回 `true`;否则返回 `false` ### 抛出 * `Error` - 如果未提供区域设置,且该实例未配置 `targetLocale` *** ## 示例 ```typescript const gt = new GT({ sourceLocale: 'en', targetLocale: 'es' }); const isValid = gt.isValidLocale('en-US'); console.log(isValid); // true const isInvalid = gt.isValidLocale('invalid-locale'); console.log(isInvalid); // false ``` *** ## 说明 * 使用浏览器 `Intl` API 对 BCP-47 区域设置进行全面校验 * 自定义映射的区域设置 始终校验为 `true` (绕过标准校验) * 支持私有用途语言代码 (qaa-qtz) * 对格式错误或无法识别的区域设置代码,返回 `false` ## 后续步骤 * **[通过 getLocaleProperties 获取区域设置属性](/docs/core/class/methods/locales/get-locale-properties)** * **[通过 determineLocale 确定最佳区域设置](/docs/core/class/methods/locales/determine-locale)** * **[通过 getLocaleName 获取区域设置名称](/docs/core/class/methods/locales/get-locale-name)** * **[了解 CustomMapping 类型](/docs/core/types/custom-mapping)**