Polyglot
Chuỗi văn bản cho ứng dụng và trang web của bạn bằng 43 ngôn ngữ, được dịch bởi chính mô hình của bạn và được kiểm tra từng chuỗi một.
- Linux or macOS
- Python 3.9+
- Local LLM
- 6 file formats

Tính năng chính
Polyglot lấy các chuỗi tiếng Anh mà ứng dụng và trang web của bạn đã có và viết lại chúng sang tối đa 42 ngôn ngữ khác, trong các tệp và thư mục mà từng nền tảng mong đợi, sử dụng một mô hình do bạn tự vận hành. Mọi chuỗi đều được kiểm tra khi trả về: nếu một placeholder, một thẻ hoặc một tên bạn giữ lại bị mất, hoặc câu trả lời không thuộc bảng chữ cái của ngôn ngữ đó, chuỗi sẽ được yêu cầu dịch lại, và một chuỗi vẫn thất bại sẽ bị loại bỏ và được báo cáo thay vì đưa vào bản phát hành khi còn lỗi.
- Các định dạng bạn sử dụng. Tệp tin nhắn JSON (i18next, vue-i18n, next-intl, react-intl), Flutter ARB, Android strings.xml, Apple .strings, gettext .po và tài liệu Markdown, được ghi vào values-de, de.lproj, app_de.arb hoặc locale/de.
- Kiểm tra từng chuỗi. %1$s, {name}, {{count}}, thẻ HTML, ngắt dòng, URL và các tên bạn giữ lại phải trả về chính xác; đúng bảng chữ cái, không có câu trả lời rỗng hoặc ngoài tầm kiểm soát, không còn sót lại tiếng Anh.
- Các dạng số nhiều thực tế. Tiếng Nga có một, ít, nhiều và khác, tiếng Ả Rập có sáu dạng, tiếng Nhật có một dạng duy nhất: số nhiều Android và tin nhắn ICU tuân theo quy tắc riêng của từng ngôn ngữ.
- Chỉ những gì đã thay đổi. Mọi bản dịch tốt đều được ghi nhớ, nên việc chỉnh sửa một chuỗi tiếng Anh chỉ gửi một chuỗi, không phải toàn bộ tệp.
- Giọng điệu và thuật ngữ của bạn. Một mô tả sản phẩm, một giọng điệu, các tên không bao giờ dịch và một bảng thuật ngữ được đưa vào mọi yêu cầu, và các bình luận của bạn đi kèm như những ghi chú.
- Mô hình của bạn, máy của bạn. Bất kỳ máy chủ OpenAI-compatible nào: vLLM, llama.cpp, Ollama hoặc LM Studio, hoặc một API được lưu trữ nếu bạn chọn. Không tính phí theo từng từ.
Đã kiểm thử trên một mô hình thực tế
- Một mô hình thực tế, sáu định dạng, năm bảng chữ cái: một ứng dụng mẫu 70 chuỗi bằng JSON, Flutter ARB, Android, Apple .strings, gettext và Markdown, sang tiếng Đức, tiếng Nga, tiếng Nhật, tiếng Ả Rập và tiếng Tây Ban Nha, với một mô hình mở 27 tỷ tham số trên máy của chúng tôi: 346 trong số 350 chuỗi đã vượt qua các bước kiểm tra khi nhập vào, trong 7,5 phút trên một máy chủ dùng chung đang bận.
- Bốn chuỗi không đạt là lỗi trong các bước kiểm tra của chúng tôi, không phải của mô hình: một từ mượn tiếng Đức, một địa chỉ email và một tin nhắn số nhiều tiếng Nhật. Chúng tôi đã sửa các bước kiểm tra; lần chạy tiếp theo chỉ gửi bốn chuỗi đó và ghi tất cả 350 chuỗi trong 45 giây.
- Các dạng số nhiều đúng ngay lần đầu: một, ít, nhiều và khác cho tiếng Nga, sáu dạng cho tiếng Ả Rập, một dạng duy nhất cho tiếng Nhật.
- Toàn bộ 42 ngôn ngữ: 22 chuỗi web của ví dụ sang mọi ngôn ngữ mà Polyglot hỗ trợ, từ tiếng Amharic đến tiếng Trung phồn thể: 924/924 chuỗi đã được viết, trong 15 phút.
- Và những gì các bước kiểm tra không thấy được: trong tiếng Khmer, "You are offline" được dịch thành "you are online". Đó là tiếng Khmer hoàn hảo, nên nó đã vượt qua. Đó là lý do tài liệu yêu cầu một người bản ngữ xem xét các chuỗi quan trọng nhất.
Bên trong gồm những gì
Bộ dịch
Gửi các lô dữ liệu đến mô hình của bạn, kiểm tra, thử lại với vấn đề được chỉ rõ, một bộ nhớ dịch thuật, các ngôn ngữ chạy song song.
Sáu định dạng
Các trình đọc và ghi giữ lại các ký tự thoát, thư mục và quy tắc số nhiều của từng nền tảng.
Các bước kiểm tra
Có thể sử dụng độc lập: kiểm tra một bản dịch bạn đã có so với bản gốc tiếng Anh của nó.
Một ứng dụng ví dụ
Một ứng dụng nhỏ ở cả sáu định dạng kèm cấu hình, để bạn dùng thử trước khi dùng cho dự án của mình.
Yêu cầu
- Linux hoặc macOS với Python 3.9 trở lên; không cần cài đặt gì từ pip.
- Một máy chủ mô hình OpenAI-compatible với mô hình chỉ dẫn đa ngôn ngữ; của chúng tôi là một mô hình mở 27 tỷ tham số.
Nên biết
- Các bước kiểm tra phát hiện những gì làm hỏng ứng dụng, chứ không phải sai nghĩa: hãy để một người bản ngữ đọc trang sản phẩm, tường trả phí và văn bản pháp lý của bạn.
- Các mục số nhiều gettext vẫn giữ nguyên tiếng Anh trong phiên bản này.
- Tốc độ phụ thuộc vào mô hình của bạn.
- Các bước kiểm tra miễn phí và mã nguồn mở: translation-checks trên GitHub. Bộ công cụ bổ sung thêm bộ dịch, sáu định dạng, các dạng số nhiều, bộ nhớ và một năm cập nhật.
From our field notes
Câu hỏi
Những ngôn ngữ nào?
Tiếng Ả Rập, Amharic, Bulgaria, Séc, Đức, Hy Lạp, Tây Ban Nha, Ba Tư, Phần Lan, Philippines, Pháp, Gaelic Scotland, Do Thái, Creole Haiti, Hungary, Armenia, Indonesia, Ý, Nhật, Khmer, Kannada, Hàn, Macedonia, Mã Lai, Hà Lan, Na Uy, Oromo, Punjab, Ba Lan, Bồ Đào Nha (Brazil), Romania, Nga, Slovakia, Slovenia, Serbia, Thụy Điển, Thái, Thổ Nhĩ Kỳ, Ukraine, Việt và Trung giản thể và phồn thể, từ tiếng Anh.
Có cần GPU không?
Bản thân Polyglot thì không; máy chủ mô hình của bạn mới quyết định. Một mô hình nhỏ chạy trên CPU, chậm; GPU giúp xử lý một tệp lớn ở nhiều ngôn ngữ chỉ trong vài phút.
Điều gì xảy ra với một chuỗi mà mô hình dịch sai?
Chuỗi đó sẽ được yêu cầu dịch lại riêng lẻ, kèm theo mô tả lỗi. Nếu vẫn thất bại, chuỗi đó sẽ bị loại khỏi tệp, để ứng dụng của bạn hiển thị bản tiếng Anh cho chuỗi đó, và quá trình chạy sẽ liệt kê nó cùng với lý do. Không có dữ liệu lỗi nào được ghi vào.
Tôi có thể dùng API được lưu trữ thay thế không?
Có: bất kỳ dịch vụ nào có endpoint chat tương thích OpenAI. Hãy nhập URL cơ sở và tên mô hình vào polyglot.json, cùng với mã khóa vào một tệp.
Đã cập nhật: