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

Magic Translate vs. Angular i18n

Приложения Angular обычно переводятся с помощью одного из трех инструментов: встроенных в Angular инструментов i18n, ngx-translate или Transloco. Все три приложения должны быть переведены на каждый язык, прежде чем вы выпустите приложение. Magic Translate переводит текст в ваших шаблонах напрямую, без файлов перевода.

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

Magic TranslateAngular в 18nngx-translate и Transloco
Как вы пишете текстВаши собственные слова в <t> или t pipeВаши собственные слова, отмеченные i18nКлюч для каждого сообщения
ПереводыПеревод AI, созданный автоматическиИзвлечено в файлы XLIFF и переведено вамиНаписанные вами файлы JSON на каждом языке
Переключение языковВо время выполненияОдна сборка на каждый языкВо время выполнения
Рендеринг на сервереДа, переведено во время сборки с предварительной визуализациейДаДа, с дополнительной настройкой
ЦенаБесплатный план, затем ежемесячные планы в зависимости от использованияБесплатно, часть AngularС открытым исходным кодом и бесплатно

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

С помощью встроенного i18n Angular вы отмечаете текст, извлекаете его и переводите извлеченный файл на любой язык:

<h2 i18n>Your shopping cart</h2>
ng extract-i18n
# then translate messages.xlf into messages.de.xlf, messages.fr.xlf, …
# and build the app once per language

В ngx-translate или Transloco у каждого сообщения есть ключ, а его переводы хранятся в файлах JSON:

<!-- ngx-translate -->
<h2>{{ 'cart.title' | translate }}</h2>
<!-- Transloco -->
<h2>{{ 'cart.title' | transloco }}</h2>

С помощью Magic Translate вы пишете текст и выпускаете свое приложение:

<h2><t>Your shopping cart</t></h2>
<input [placeholder]="'Search products' | t" />

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

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

Когда выбрать Angular i18n, ngx-translate или Transloco

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

Переход на Magic Translate

Можно переключать по одному компоненту за раз. Замените ключ или атрибут i18n английским текстом в <t> или используйте t pipe для атрибутов. В руководстве Angular показана настройка.

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