# generaltranslation: General Translation Core SDK: requiresTranslation URL: https://generaltranslation.com/zh/docs/core/class/methods/locales/requires-translation.mdx --- title: requiresTranslation description: GT requiresTranslation 方法的 API 参考文档 --- ## 概述 `requiresTranslation` 方法会根据源区域设置和目标区域设置来判断是否需要翻译。 它会通过比较区域设置代码,并结合已批准的区域设置列表,检查源内容是否需要翻译。 *** ## 参考 ### 参数 ### 参数说明 | 参数 | 说明 | | ----------------- | ------------------------------------- | | `sourceLocale` | 源区域设置代码。如未提供,则使用实例的 `sourceLocale` | | `targetLocale` | 目标区域设置代码。如未提供,则使用实例的 `targetLocale` | | `approvedLocales` | 已批准的区域设置列表。如未提供,则使用实例的 `locales` 数组 | | `customMapping` | 用于确定区域设置的可选自定义映射 | ### 返回值 `boolean` - 需要翻译时为 `true`,否则为 `false` ### 抛出 * `Error` - 如果未提供源区域设置,且实例未配置 `sourceLocale` * `Error` - 如果未提供目标区域设置,且实例未配置 `targetLocale` *** ## 示例 ```typescript const gt = new GT({ sourceLocale: 'en-US', targetLocale: 'es-ES', locales: ['en-US', 'es-ES', 'fr-FR', 'de-DE'] }); // 不同语言需要翻译 console.log(gt.requiresTranslation('en-US', 'es-ES')); // true console.log(gt.requiresTranslation('en-US', 'fr-FR')); // true // 相同语言不需要翻译 console.log(gt.requiresTranslation('en-US', 'en-US')); // false console.log(gt.requiresTranslation('es-ES', 'es-ES')); // false // 同一语言的不同方言不需要翻译 console.log(gt.requiresTranslation('en-US', 'en-GB')); // false console.log(gt.requiresTranslation('es-ES', 'es-MX')); // false // 目标语言不在已批准的区域设置列表中 console.log(gt.requiresTranslation('en-US', 'it-IT')); // false(it-IT 不在已批准的区域设置列表中) ``` *** ## 说明 * 会考虑区域设置的语言族,而不只是精确匹配 * 遵循已批准的区域设置列表 * 如果提供了已批准的区域设置列表,当目标区域设置不在其中时,返回 `false` ## 后续步骤 * 使用 [`isSameLanguage`](/docs/core/class/methods/locales/is-same-language) 检查各区域设置之间的关系 * 使用 [`determineLocale`](/docs/core/class/methods/locales/determine-locale) 确定最合适的区域设置 * 使用 [`isValidLocale`](/docs/core/class/methods/locales/is-valid-locale) 验证区域设置是否有效