API JavaScript
Вы также можете использовать клиент Magic Translate непосредственно в скриптах для перевода строк и изменения языка.
Получение экземпляра
С помощью тега script экземпляр создается после загрузки страницы и доступен как 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();