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

Magic Translate vs. vue-i18n

vue-i18n — это стандартная библиотека i18n для Vue, а @nuxtjs/i18n основывается на ней для Nuxt. Как и в большинстве библиотек i18n, она использует ключ для каждого сообщения и набор сообщений для каждого языка. Magic Translate переводит текст в ваших шаблонах Vue напрямую, без ключей или файлов сообщений.

С первого взгляда

Magic Translatevue-i18n
Как вы пишете текстВаши собственные слова, завернутые в <T>Ключ для каждого сообщения, например $t('cart.title')
ПереводыПеревод AI, созданный автоматическиВы или ваши переводчики пишете их
Файлы сообщенийНетОдин набор сообщений на каждый язык
Новые языкиИзмените настройку languageПереводите каждое сообщение на новый язык
Переключение языковВо время выполнения, с useLanguageSwitcherВо время выполнения, путем изменения локали
Множественное число и форматированиеПереведено как часть предложенияВстроенный, с правилами множественного числа и форматированием дат и чисел
ЦенаБесплатный план, затем ежемесячные планы в зависимости от использованияС открытым исходным кодом и бесплатно

Чем отличается код

С помощью vue-i18n вы определяете сообщения для каждого языка и обращаетесь к ним по ключу:

// i18n.ts
import { createI18n } from 'vue-i18n';
export const i18n = createI18n({
locale: 'de',
messages: {
en: { cart: { title: 'Your shopping cart' } },
de: { cart: { title: 'Ihr Warenkorb' } }
}
});
<h2>{{ $t('cart.title') }}</h2>

При использовании Magic Translate текст остается в шаблоне:

<h2><T>Your shopping cart</T></h2>

Для таких атрибутов, как заполнители, используйте useTranslate:

<input :placeholder="t('Search products')" />

Когда выбирать Magic Translate

  • Вы хотите, чтобы ваше приложение Vue было доступно на многих языках без управления сообщениями на каждом из них.
  • У вас нет переводчиков или вы хотите выпускать обновления, не дожидаясь переводов.
  • Ваш текст часто меняется, и вы хотите, чтобы все языки оставались в актуальном состоянии.

Когда выбирать vue-i18n

  • Весь текст должен быть переведен или рецензирован человеком.
  • Вам нужно, чтобы поисковые системы видели переведенный HTML-код из рендеринга сервера Nuxt. Magic Translate для Vue переводится в браузере.
  • Вам нужна бесплатная библиотека с открытым исходным кодом без внешних сервисов.

Переход с vue-i18n на Magic Translate

Можно переключать по одному компоненту за раз. Замените $t('key') английским текстом из сообщений, завернутым в <T>, или используйте t() из useTranslate в качестве атрибутов. Во время миграции обе библиотеки могут работать бок о бок. В руководстве Vue показана настройка.

Готовы попробовать? Следуйте инструкциям по началу работы, чтобы перевести первый компонент за пять минут.