文档

Magic Translate vs. Angular i18n

Angular 应用程序通常使用以下三种工具之一进行翻译:Angular 的内置 i18n、ngx-translate 或 Transloco。在发布应用程序之前,这三种语言都需要对每种语言进行翻译。Magic Translate 直接翻译模板中的文本,无需翻译文件。

一目了然

Magic TranslateAngular i18nngx-translate 和 Transloco
你如何写文字你自己的话,在 <t> 或 t pipe你自己的话,用 i18n 标记每条消息的密钥
翻译AI 翻译,自动创建提取到 XLIFF 文件并由你翻译每种语言的 JSON 文件,由你编写
切换语言在运行时每种语言一个版本在运行时
服务器渲染是的,在编译时使用预渲染进行翻译是的是的,需要额外的设置
价格免费套餐,然后根据使用量订阅月度套餐免费,是 Angular 的一部分开源且免费

代码有何不同

使用 Angular 的内置 i18n,你可以标记文本、提取它并翻译每种语言的解压缩文件:

<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

一次可以切换一个组件。用 <t> 中的英文文本替换密钥或 i18n 属性,或使用 t pipe 作为属性。Angular 指南显示了设置。

准备好试试了吗?按照入门指南在五分钟内翻译您的第一个组件。