脚本 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 optionsconst 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();