GT ClassMethodsTranslation

translate

GT translate 方法的 API 参考

概述

translate 方法是 GT 库中的核心翻译函数。 它使用 AI 驱动的翻译服务,将内容从源 locale 翻译为指定的目标 locale。

const gt = new GT({
  apiKey: 'your-api-key',
  projectId: 'your-project-id'
});

const result = await gt.translate('Hello, world!', 'es');
console.log(result); // "¡Hola, mundo!"

该方法支持多种内容类型,包括纯文本、ICU 消息格式和 i18next 风格消息,并可选附带元数据以提升翻译准确性。

需要认证: 在 GT 实例中必须配置 apiKey(或 devApiKey)和 projectId 才能使用 translate 方法。


参考资料

参数

translate 方法针对不同内容类型提供了多个重载:

文本内容

Prop

Type

JSX 内容

Prop

Type

ICU 消息格式

Prop

Type

i18next 格式

Prop

Type

参数说明

参数说明
source待翻译内容。可以是纯文本、JSX 元素、ICU 消息或 i18next 消息
targetLocale目标语言的 BCP-47 语言代码(例如 'es'、'fr-CA')
metadata可选的翻译上下文,包括 context、tags 和格式化 options

返回

Promise<TranslationResult | TranslationError>
  • TranslationResult: 包含译文内容及其元数据
  • TranslationError: 翻译失败时包含错误信息

运行行为

内容类型检测

该方法会根据 source 参数自动识别内容类型:

  • String:按纯文本或 ICU 消息格式处理
  • JSX Elements:按 React 风格的 JSX 内容处理
  • Objects:按结构化消息格式处理

语言环境解析

  • 将目标语言环境按 BCP-47 标准进行验证
  • 如已配置,将应用自定义语言环境映射
  • 发起 API 请求时使用规范的语言代码

上下文增强

当自定义映射为目标 locale 包含区域或书写体系代码时,这些信息会自动添加到元数据中,从而提升翻译的准确性。


示例

const gt = new GT({
  apiKey: 'your-api-key',
  projectId: 'your-project-id'
});

const result = await gt.translate('欢迎使用我们的应用', 'fr');
console.log(result); 
// "Bienvenue dans notre application"

注意事项

  • 将指定字符串翻译为目标 locale,并返回一个 Promise

后续步骤

这份指南怎么样?

translate