翻译器和语言检测器 API

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

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

Translator and Language Detector APIs 提供通过浏览器自带的内部 AI 模型来检测文本语言以及将文本翻译成不同语言的功能(不同浏览器内置的 AI 模型可能有所不同)。

概念与用法

翻译大量文本是当今网络上的常见任务。典型的用例包括:

  • 即时翻译您语言不支持的文章。
  • 将用户的支持请求翻译成客服人员能理解的语言。
  • 促进不同语言用户之间的聊天交流。

检测文本语言是成功实现自动化翻译的重要前提,但其用途也超越了直接翻译。例如,它可以根据用户的文本输入自动配置用户界面,从更新 UI 和错误字符串,到自动加载合适的词典以进行拼写检查或脏话检测。

AI 非常适合促进语言检测和翻译。Translator and Language Detector APIs 提供基于异步(Promise)的机制,让网站可以通过浏览器自带的内部 AI 模型来检测语言和翻译文本。这很有用且高效,因为浏览器会处理服务,而开发者不必依赖用户下载 AI 模型,或者托管或付费使用基于云的翻译服务。

您还可以使用 AbortController 来取消挂起的 P2P 操作。

TranslatorLanguageDetector 实例会消耗大量资源,因此一旦您不再使用它们,建议使用 destroy() 实例方法将其移除(例如,Translator.destroy())。

有关如何使用这些 API 的演练,请参阅 使用 Translator and Language Detector APIs

接口

LanguageDetector 实验性

包含所有语言检测功能,包括检查 AI 模型可用性、创建新的 LanguageDetector 实例、使用它来检测语言等。

Translator 实验性

包含所有翻译功能,包括检查 AI 模型可用性、创建新的 Translator 实例、使用它来创建翻译等。

HTTP 标头

Permissions-Policylanguage-detector 指令

控制对语言检测功能的访问。如果策略明确禁止使用,任何尝试调用 LanguageDetector 方法的操作都将以 NotAllowedError DOMException 失败。

Permissions-Policytranslator 指令

控制对翻译功能的访问。如果策略明确禁止使用,任何尝试调用 Translator 方法的操作都将以 NotAllowedError DOMException 失败。

安全注意事项

创建 LanguageDetectorTranslator 对象需要用户最近与页面进行过交互(需要 暂时的用户激活)。

对 API 的访问还通过 language-detectortranslator Permissions-Policy 指令进行控制。

示例

完整示例请参阅 使用 Translator and Language Detector APIs

规范

规范
未知规范

浏览器兼容性

另见