Magic Translate vs. Angular i18n
Các ứng dụng Angular thường được dịch bằng một trong ba công cụ: i18n, ngx-translate hoặc Transloco tích hợp sẵn của Angular. Cả ba yêu cầu bản dịch cho mỗi ngôn ngữ trước khi bạn phát hành ứng dụng của mình. Magic Translate dịch văn bản trong mẫu của bạn trực tiếp, không cần tệp dịch.
Sơ lược
| Magic Translate | Angular i18n | ngx-translate và Transloco | |
|---|---|---|---|
| Cách bạn viết văn bản | Lời nói của riêng bạn, trong <t> hoặc t pipe | Lời nói của riêng bạn, được đánh dấu bằng i18n | Một chìa khóa cho mỗi tin nhắn |
| Bản dịch | Dịch AI, được tạo tự động | Trích xuất thành tệp XLIFF và được dịch bởi bạn | Các tệp JSON cho mỗi ngôn ngữ, được viết bởi bạn |
| Chuyển đổi ngôn ngữ | Khi chạy | Một bản dựng cho mỗi ngôn ngữ | Khi chạy |
| Kết xuất máy chủ | Có, được dịch tại thời điểm xây dựng với cài đặt trước | Vâng | Có, với thiết lập bổ sung |
| Giá | Gói miễn phí, sau đó gói hàng tháng dựa trên mức sử dụng | Miễn phí, một phần của Angular | Mã nguồn mở và miễn phí |
Mã khác nhau như thế nào
Với i18n tích hợp sẵn của Angular, bạn đánh dấu văn bản, giải nén nó và dịch tệp đã trích xuất cho mọi ngôn ngữ:
<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
Với ngx-translate hoặc Transloco, mỗi thư có một khóa và bản dịch của nó tồn tại trong các tệp JSON:
<!-- ngx-translate --><h2>{{ 'cart.title' | translate }}</h2><!-- Transloco --><h2>{{ 'cart.title' | transloco }}</h2>
Với Magic Translate, bạn viết văn bản và phát hành ứng dụng của mình:
<h2><t>Your shopping cart</t></h2><input [placeholder]="'Search products' | t" />
Khi nào nên chọn Magic Translate
- Bạn muốn ứng dụng Angular của mình bằng nhiều ngôn ngữ mà không cần trích xuất, dịch và tải tệp.
- Bạn muốn người dùng chuyển đổi ngôn ngữ mà không cần tải lại ứng dụng hoặc xây dựng ứng dụng một lần cho mỗi ngôn ngữ.
- Văn bản của bạn thay đổi thường xuyên và bạn muốn mọi ngôn ngữ được cập nhật.
Khi nào nên chọn Angular i18n, ngx-translate hoặc Transloco
- Tất cả văn bản phải được dịch hoặc xem xét bởi một người.
- Bạn cần kiểm soát chính xác số nhiều và từ ngữ trong mỗi ngôn ngữ.
- Bạn muốn một giải pháp miễn phí mà không có dịch vụ bên ngoài.
Chuyển đến Magic Translate
Bạn có thể chuyển đổi một thành phần tại một thời điểm. Thay thế khóa hoặc thuộc tính i18n bằng văn bản tiếng Anh trong <t> hoặc sử dụng t pipe cho các thuộc tính. Hướng dẫn Angular hiển thị thiết lập.
Sẵn sàng để thử nó? Làm theo hướng dẫn bắt đầu để dịch thành phần đầu tiên của bạn trong năm phút.