Документация

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 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();