LanguageDetector: create() 静态方法

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

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

LanguageDetector 接口的 create() 静态方法用于创建一个新的 LanguageDetector 实例来检测语言。

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

语法

js
LanguageDetector.create(options)

参数

options

一个用于配置 LanguageDetector 的选项对象。可能的值包括:

expectedInputLanguages

一个字符串数组,指定输入文本的预期语言,这有助于提高语言检测的准确性。这些应该是有效的 BCP 47 语言标签。默认为 ["en"]

monitor 可选

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

signal 可选

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

返回值

一个 Promise,它会在解析时返回一个 LanguageDetector 对象实例。

异常

InvalidStateError DOMException

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

NetworkError DOMException

在以下情况下抛出

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

在以下情况下抛出

NotSupportedError DOMException

在以下情况下抛出

  • expectedInputLanguages 中指定的语言标签无效或不受支持。
  • 不支持指定 expectedInputLanguages 的 AI 模型不可用。
OperationError DOMException

LanguageDetector 创建因任何其他原因失败时抛出的通用异常。

示例

基本 LanguageDetector 创建

js
const detector = await LanguageDetector.create({
  expectedInputLanguages: ["en-US", "zh"],
});

规范

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

浏览器兼容性

另见