Magic Translate vs. Angular i18n
Приложения Angular обычно переводятся с помощью одного из трех инструментов: встроенных в Angular инструментов i18n, ngx-translate или Transloco. Все три приложения должны быть переведены на каждый язык, прежде чем вы выпустите приложение. Magic Translate переводит текст в ваших шаблонах напрямую, без файлов перевода.
С первого взгляда
| Magic Translate | Angular в 18n | ngx-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 показана настройка.
Готовы попробовать? Следуйте инструкциям по началу работы, чтобы перевести первый компонент за пять минут.