Translator:create() 静态方法

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

Translator 接口的 create() 静态方法创建一个新的 Translator 实例,该实例可用于翻译文本。

注意: create() 方法需要 瞬时激活,也就是说,它必须在响应用户操作(如鼠标点击或按钮按下)时调用。

语法

js
Translator.create(options)

参数

options

一个指定 Translator 配置选项的对象。可能的值包括

sourceLanguage

一个指定待翻译输入文本的预期语言的字符串,该字符串应为一个有效的 BCP 47 语言标签

targetLanguage

一个指定输入文本将翻译成的语言的字符串,该字符串应为一个有效的 BCP 47 语言标签。

monitor 可选

一个带有 CreateMonitor 参数的回调函数,该函数允许监控 AI 模型的下载进度。

signal 可选

一个 AbortSignal 对象实例,允许通过关联的 AbortController 中止 create() 操作。

返回值

一个 Promise,该 Promise 会以一个 Translator 对象实例 fulfilled。

异常

InvalidStateError DOMException

如果页面的 Document 尚未激活,则抛出此异常。

NetworkError DOMException

在以下情况下抛出

  • 网络不可用,无法下载 AI 模型。
  • 用户已取消 AI 模型下载。
NotAllowedError DOMException

在以下情况下抛出

NotSupportedError DOMException

在以下情况下抛出

  • sourceLanguagetargetLanguage 中指定的语言标签无效或不受支持。如果指定的 sourceLanguagetargetLanguage 相同,则会出现这种情况。
  • 不支持指定的 sourceLanguagetargetLanguage 组合的 AI 模型不可用。
OperationError DOMException

通用异常,在 Translator 创建因任何其他原因失败时抛出。

示例

基本的 Translator 创建

js
const translator = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "ja",
});

规范

规范
翻译器和语言检测器 API
# dom-translator-create

浏览器兼容性

另见