Magic Translate vs. vue-i18n
vue-i18n là thư viện i18n tiêu chuẩn cho Vue và @nuxtjs/i18n được xây dựng trên thư viện này cho Nuxt. Giống như hầu hết các thư viện i18n, nó sử dụng một khóa cho mỗi thư và một tập hợp tin nhắn cho mỗi ngôn ngữ. Magic Translate dịch trực tiếp văn bản trong mẫu Vue của bạn, không cần khóa hoặc tệp tin nhắn.
Sơ lược
| Magic Translate | vue-i18n | |
|---|---|---|
| Cách bạn viết văn bản | Lời nói của riêng bạn, được gói trong <T> | Một khóa cho mỗi tin nhắn, chẳng hạn như $t('cart.title') |
| Bản dịch | Dịch AI, được tạo tự động | Bạn hoặc dịch giả của bạn viết chúng |
| Tệp tin nhắn | Không | Một bộ tin nhắn cho mỗi ngôn ngữ |
| Ngôn ngữ mới | Thay đổi cài đặt language | Dịch mọi tin nhắn sang ngôn ngữ mới |
| Chuyển đổi ngôn ngữ | Khi chạy, với useLanguageSwitcher | Khi chạy, bằng cách thay đổi địa phương |
| Số nhiều và định dạng | Dịch như một phần của câu | Được tích hợp sẵn, với các quy tắc số nhiều và định dạng ngày và số |
| Giá | Gói miễn phí, sau đó gói hàng tháng dựa trên mức sử dụng | Mã nguồn mở và miễn phí |
Mã khác nhau như thế nào
Với vue-i18n, bạn xác định các thông điệp cho từng ngôn ngữ và tham khảo chúng bằng phím:
// i18n.tsimport { 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>
Với Magic Translate, văn bản vẫn ở trong mẫu:
<h2><T>Your shopping cart</T></h2>
Đối với các thuộc tính như chỗ giữ chỗ, hãy sử dụng useTranslate:
<input :placeholder="t('Search products')" />
Khi nào nên chọn Magic Translate
- Bạn muốn ứng dụng Vue của mình bằng nhiều ngôn ngữ mà không cần quản lý tin nhắn cho từng ngôn ngữ.
- Bạn không có dịch giả hoặc bạn muốn phát hành bản cập nhật mà không cần chờ bản dịch.
- 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 vue-i18n
- 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 các công cụ tìm kiếm để xem HTML đã dịch từ kết xuất máy chủ Nuxt. Magic Translate cho Vue dịch trong trình duyệt.
- Bạn muốn có một thư viện mã nguồn mở miễn phí mà không có dịch vụ bên ngoài.
Chuyển từ vue-i18n sang 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ế $t('key') bằng văn bản tiếng Anh từ thư của bạn, được gói bằng <T> hoặc sử dụng t() từ useTranslate cho các thuộc tính. Cả hai thư viện có thể chạy cạnh nhau trong khi bạn di chuyển. Hướng dẫn Vue 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.