GT ClassMethodsLocales

requiresTranslation

GT requiresTranslation 方法的 API 参考

概述

requiresTranslation 方法会根据源和目标 locale 判断是否需要翻译。 它通过比较语言代码并参考已批准的 locale 列表来确定源内容是否需要翻译。


参考资料

参数

Prop

Type

参数说明

参数描述
sourceLocale源语言代码(locale code)。如果未提供,则使用该实例的 sourceLocale
targetLocale目标语言代码(locale code)。如果未提供,则使用该实例的 targetLocale
approvedLocales已批准的目标语言列表(locales)。如果未提供,则使用该实例的 locales 列表
customMapping用于语言解析的可选自定义映射(customMapping)

返回

boolean - 若需要翻译则返回 true,否则返回 false

抛出

  • Error - 当未提供源语言,且实例未配置 sourceLocale
  • Error - 当未提供目标语言,且实例未配置 targetLocale

示例

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

// 目标语言不在支持的 locale 列表中
console.log(gt.requiresTranslation('en-US', 'it-IT')); // false (it-IT 不在支持的 locale 列表中)

说明

  • 不仅做精确匹配,还会考虑 locale 的语言族
  • 遵循已批准的 locale 列表
  • 若目标 locale 不在已批准的 locales 中(如有提供),则返回 false

后续步骤

这份指南怎么样?

requiresTranslation