文档

脚本 API

您还可以直接在脚本中使用 Magic Translate 客户端来翻译字符串和更改语言。

获取实例

使用脚本标签,该实例将在页面加载后创建,并作为 window.magicTranslate 可用。要在它准备就绪后立即使用,请收听 magictranslate:ready 活动:

document.addEventListener('magictranslate:ready', (event) => {
const magicTranslate = event.detail;
});

使用 npm,createMagicTranslate 返回实例。

在代码中翻译

要翻译字符串,请调用 translate。它返回了一个承诺。

const message = await magicTranslate.translate('Your order has been placed');
// with options
const formal = await magicTranslate.translate('How are you?', {
lang: 'fr',
formality: 'formal'
});

如果没有 lang 选项,文本将被翻译成当前语言。使用 id,你可以自行编辑文本的这种用法。

不应转换的值放在 v 中,引用为 $name。无论值是什么,文本都会作为模板翻译过一次并缓存:

const message = await magicTranslate.translate('Your order $id has shipped', {
v: { id: order.id }
});

当前语言

使用 magicTranslate.language 阅读当前语言。使用 setLanguage 对其进行更改并再次翻译页面,或使用 onLanguageChange 在语言发生变化时运行回调:

magicTranslate.setLanguage('fr');
const unsubscribe = magicTranslate.onLanguageChange((language) => {
document.documentElement.lang = language;
});

正在停止

destroy 停止翻译页面。已翻译的内容将保持翻译状态。

magicTranslate.destroy();