Skip to content

Latest commit

 

History

History
247 lines (176 loc) · 20.7 KB

File metadata and controls

247 lines (176 loc) · 20.7 KB

Co-op Translator

Dễ dàng tự động hóa và duy trì bản dịch cho nội dung giáo dục trên GitHub của bạn sang nhiều ngôn ngữ khi dự án của bạn phát triển.

Python 3.10–3.12 Gói Python Giấy phép: MIT Lượt tải Lượt tải Container: GHCR Phong cách mã: black

Người đóng góp GitHub Issue trên GitHub Pull request trên GitHub Chào đón PR

Bắt đầu tại đây: Chọn quy trình làm việc của bạn | Cấu hình | CLI | Python API | MCP Server

🌐 Hỗ trợ đa ngôn ngữ

Được hỗ trợ bởi Co-op Translator

Tiếng Ả Rập | Tiếng Bengal | Tiếng Bulgaria | Miến Điện (Myanmar) | Tiếng Trung (Giản thể) | Tiếng Trung (Phồn thể, Hồng Kông) | Tiếng Trung (Phồn thể, Macau) | Tiếng Trung (Phồn thể, Đài Loan) | Tiếng Croatia | Tiếng Séc | Tiếng Đan Mạch | Tiếng Hà Lan | Tiếng Estonia | Tiếng Phần Lan | Tiếng Pháp | Tiếng Đức | Tiếng Hy Lạp | Tiếng Do Thái | Tiếng Hindi | Tiếng Hungary | Tiếng Indonesia | Tiếng Ý | Tiếng Nhật | Tiếng Kannada | Tiếng Khmer | Tiếng Hàn | Tiếng Litva | Tiếng Mã Lai | Tiếng Malayalam | Tiếng Marathi | Tiếng Nepal | Tiếng Pidgin Nigeria | Tiếng Na Uy | Tiếng Ba Tư (Farsi) | Tiếng Ba Lan | Tiếng Bồ Đào Nha (Brazil) | Tiếng Bồ Đào Nha (Portugal) | Tiếng Punjabi (Gurmukhi) | Tiếng Romania | Tiếng Nga | Tiếng Serbia (Chữ Cyrillic) | Tiếng Slovakia | Tiếng Slovenia | Tiếng Tây Ban Nha | Tiếng Swahili | Tiếng Thụy Điển | Tiếng Tagalog (Filipino) | Tiếng Tamil | Tiếng Telugu | Tiếng Thái | Tiếng Thổ Nhĩ Kỳ | Tiếng Ukraina | Tiếng Urdu | Tiếng Việt

Thích sao chép về máy hơn?

Kho lưu trữ này bao gồm hơn 50 bản dịch ngôn ngữ, điều này làm tăng đáng kể kích thước tải xuống. Để clone mà không lấy phần bản dịch, hãy sử dụng sparse checkout:

Bash / macOS / Linux:

git clone --filter=blob:none --sparse https://github.com/Azure/co-op-translator.git
cd co-op-translator
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

CMD (Windows):

git clone --filter=blob:none --sparse https://github.com/Azure/co-op-translator.git
cd co-op-translator
git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"

Điều này cung cấp cho bạn mọi thứ cần thiết để hoàn thành khóa học với tốc độ tải xuống nhanh hơn nhiều.

Người theo dõi GitHub Fork trên GitHub Sao GitHub

Microsoft Foundry Discord

Mở trong GitHub Codespaces

Tổng quan

Co-op Translator giúp bạn bản địa hóa nội dung giáo dục trên GitHub của mình sang nhiều ngôn ngữ một cách dễ dàng. Khi bạn cập nhật các tệp Markdown, hình ảnh hoặc sổ tay (notebook), các bản dịch sẽ tự động được đồng bộ, đảm bảo nội dung của bạn luôn chính xác và cập nhật cho người học trên toàn thế giới.

Sử dụng từ CLI để dịch repository, từ Python API để tự động hóa, hoặc qua MCP server cho các luồng công việc với agent và editor.

Ví dụ về cách tổ chức nội dung đã được dịch:

Ví dụ

Tại sao dùng Co-op Translator?

Dịch một tệp thì dễ. Giữ cho toàn bộ kho tài liệu được dịch, liên kết và cập nhật mới là phần khó.

Vấn đề Co-op Translator giúp như thế nào
Tài liệu dài không phải là một prompt duy nhất Các tệp Markdown lớn được chia thành các phần nhỏ, vì vậy một README dài không phụ thuộc vào một phản hồi mô hình mong manh duy nhất. Nếu một phần bị lỗi, Co-op Translator có thể thử lại và chia lại chỉ phần bị lỗi đó.
Bản dịch không hoàn chỉnh không nên được đánh dấu là hiện tại Một bản dịch bị cắt ngắn không bao giờ nên được đóng dấu là đã cập nhật. Co-op Translator kiểm tra tính toàn vẹn của bản dịch trước khi lưu và có thể phát hiện các bản dịch hiện có bị thiếu cấu trúc.
Các liên kết nên khớp với cấu trúc repo đã dịch Các bản dịch thủ công thường để các liên kết tương đối trỏ về cây nguồn. Co-op Translator viết lại các liên kết Markdown, notebook, hình ảnh và README để khớp với cấu trúc translations/<lang>/....
Dịch hoạt động trên toàn bộ repository Co-op Translator xử lý các tệp README, docs, notebooks và văn bản trong hình ảnh như một phần của một luồng công việc repository, thay vì dịch từng tệp một.
Duy trì bản dịch quan trọng hơn là tạo ra chúng một lần Băm nguồn và siêu dữ liệu bản dịch cho phép Co-op Translator tìm các tệp đã lỗi thời, bỏ qua các tệp không đổi và giữ nội dung dịch được đồng bộ khi repo nguồn phát triển.

Cách trạng thái bản dịch được quản lý

Co-op Translator quản lý nội dung đã dịch như các artifact phần mềm có phiên bản,
không phải như các tệp tĩnh.

Công cụ theo dõi trạng thái của Markdown, hình ảnh và notebooks đã dịch sử dụng siêu dữ liệu theo ngôn ngữ.

Thiết kế này cho phép Co-op Translator:

  • Phát hiện đáng tin cậy các bản dịch đã lỗi thời
  • Xem Markdown, hình ảnh và notebooks một cách nhất quán
  • Mở rộng an toàn trên các repository lớn, di chuyển nhanh và đa ngôn ngữ

Bằng cách mô hình hóa bản dịch như các artifact được quản lý, các luồng công việc dịch phù hợp tự nhiên với các thực hành quản lý phụ thuộc và artifact phần mềm hiện đại.

Cách trạng thái bản dịch được quản lý

Bài phân tích chuyên sâu liên quan

Bắt đầu

Co-op Translator có thể được sử dụng từ CLI, Python API hoặc MCP server. Bắt đầu với hướng dẫn workflow nếu bạn đang chọn giữa dịch cục bộ, tự động hóa, CI, và tích hợp agent/editor.

Ví dụ CLI tối thiểu sau khi cấu hình:

python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate

pip install co-op-translator
translate -l "ko" -md
co-op-review -l "ko"

Đối với lần chạy đầu trên các repository lớn, hãy sử dụng --dry-run trước khi ghi các tệp đã dịch. Xem CLI Reference để biết các cờ loại nội dung, nhật ký, xem xét và di chuyển liên kết.

Chạy nhanh trong container với Bash/Zsh:

docker run --rm -it --env-file .env -v "${PWD}:/work" ghcr.io/azure/co-op-translator:latest -l "ko" -md

Chạy nhanh trong container với PowerShell:

docker run --rm -it --env-file .env -v ${PWD}:/work ghcr.io/azure/co-op-translator:latest -l "ko" -md

Tính năng

  • Dịch tự động cho Markdown, notebooks và hình ảnh
  • Giữ các bản dịch đồng bộ với các thay đổi nguồn
  • Hoạt động cục bộ (CLI) hoặc trong CI (GitHub Actions)
  • Cung cấp công cụ dịch Markdown, notebook, hình ảnh, xem xét và dịch dự án thông qua MCP
  • Sử dụng Azure OpenAI hoặc OpenAI làm nhà cung cấp dịch
  • Cho phép MCP host các agent dịch các đoạn Markdown và notebook mà không cần thông tin xác thực LLM của Co-op Translator
  • Sử dụng Azure AI Vision để trích xuất và dịch văn bản trong hình ảnh
  • Xem xét cấu trúc và độ mới của bản dịch bằng các kiểm tra xác định
  • Bảo toàn định dạng và cấu trúc Markdown

Tài liệu

Hướng dẫn dành riêng cho Microsoft

Note

Dành cho những người duy trì các kho “For Beginners” của Microsoft.

Ủng hộ chúng tôi và thúc đẩy việc học toàn cầu

Hãy cùng chúng tôi cách mạng hóa cách nội dung giáo dục được chia sẻ trên toàn cầu! Hãy cho Co-op Translator một ⭐ trên GitHub và ủng hộ sứ mệnh của chúng tôi trong việc xóa bỏ rào cản ngôn ngữ trong học tập và công nghệ. Sự quan tâm và đóng góp của bạn tạo ra ảnh hưởng đáng kể! Luôn hoan nghênh đóng góp mã và gợi ý tính năng.

Khám phá nội dung giáo dục của Microsoft bằng ngôn ngữ của bạn

Bài thuyết trình video

👉 Nhấp vào hình ảnh bên dưới để xem trên YouTube.

  • Open at Microsoft: Giới thiệu ngắn 18 phút và hướng dẫn nhanh cách sử dụng Co-op Translator.

    Open at Microsoft

Đóng góp

Dự án này hoan nghênh các đóng góp và đề xuất. Quan tâm đến việc đóng góp cho Azure Co-op Translator? Vui lòng xem CONTRIBUTING.md của chúng tôi để biết hướng dẫn về cách bạn có thể giúp Co-op Translator trở nên dễ tiếp cận hơn.

Những người đóng góp

những người đóng góp co-op-translator

Quy tắc Ứng xử

Dự án này đã áp dụng Bộ Quy tắc Ứng xử Mã nguồn mở của Microsoft. Để biết thêm thông tin, xem Câu hỏi thường gặp về Bộ Quy tắc Ứng xử hoặc liên hệ opencode@microsoft.com nếu bạn có thêm câu hỏi hoặc ý kiến.

Trách nhiệm về AI

Microsoft cam kết giúp khách hàng sử dụng các sản phẩm AI của chúng tôi một cách có trách nhiệm, chia sẻ những bài học của chúng tôi và xây dựng các quan hệ đối tác dựa trên sự tin tưởng thông qua các công cụ như Transparency Notes và Impact Assessments. Nhiều tài nguyên này có thể được tìm thấy tại https://aka.ms/RAI. Cách tiếp cận của Microsoft đối với AI có trách nhiệm được dựa trên các nguyên tắc AI của chúng tôi: công bằng, đáng tin cậy và an toàn, quyền riêng tư và bảo mật, tính bao trùm, minh bạch và trách nhiệm giải trình.

Các mô hình ngôn ngữ, hình ảnh và giọng nói quy mô lớn - giống như những mô hình được sử dụng trong ví dụ này - có thể hành xử theo những cách không công bằng, không đáng tin cậy hoặc gây xúc phạm, từ đó gây ra những tác hại. Vui lòng tham khảo Azure OpenAI service Transparency note để được thông tin về các rủi ro và hạn chế.

Cách tiếp cận được khuyến nghị để giảm thiểu các rủi ro này là bao gồm một hệ thống an toàn trong kiến trúc của bạn để có thể phát hiện và ngăn chặn hành vi có hại. Azure AI Content Safety cung cấp một lớp bảo vệ độc lập, có khả năng phát hiện nội dung do người dùng hoặc AI tạo ra có hại trong ứng dụng và dịch vụ. Azure AI Content Safety bao gồm các API văn bản và hình ảnh cho phép bạn phát hiện các tài liệu có hại. Chúng tôi cũng có một Content Safety Studio tương tác cho phép bạn xem, khám phá và thử các đoạn mã mẫu để phát hiện nội dung có hại trên các phương thức khác nhau. Tài liệu khởi động nhanh sau đây hướng dẫn bạn cách thực hiện các yêu cầu tới dịch vụ.

Một khía cạnh khác cần cân nhắc là hiệu năng tổng thể của ứng dụng. Với các ứng dụng đa phương thức và đa mô hình, chúng tôi coi hiệu năng là việc hệ thống hoạt động như bạn và người dùng mong đợi, bao gồm cả không tạo ra các kết quả có hại. Việc đánh giá hiệu năng của toàn bộ ứng dụng bằng các chỉ số chất lượng sinh và chỉ số rủi ro và an toàn là rất quan trọng.

Bạn có thể đánh giá ứng dụng AI của mình trong môi trường phát triển bằng cách sử dụng prompt flow SDK. Dựa trên một bộ dữ liệu thử nghiệm hoặc một mục tiêu, các tác phẩm sinh của ứng dụng generative AI của bạn được đo định lượng bằng các bộ đánh giá tích hợp hoặc các bộ đánh giá tùy chỉnh do bạn lựa chọn. Để bắt đầu với prompt flow sdk nhằm đánh giá hệ thống của bạn, bạn có thể làm theo hướng dẫn khởi động nhanh. Sau khi bạn thực hiện một lần chạy đánh giá, bạn có thể trực quan hóa kết quả trong Azure AI Studio.

Nhãn hiệu

Dự án này có thể chứa nhãn hiệu hoặc logo cho các dự án, sản phẩm hoặc dịch vụ. Việc sử dụng nhãn hiệu hoặc logo của Microsoft được ủy quyền phải tuân theo và phải phù hợp với Microsoft's Trademark & Brand Guidelines. Việc sử dụng nhãn hiệu hoặc logo của Microsoft trong các phiên bản đã chỉnh sửa của dự án này không được gây nhầm lẫn hoặc ngụ ý sự tài trợ của Microsoft. Bất kỳ việc sử dụng nhãn hiệu hoặc logo của bên thứ ba nào đều phải tuân theo chính sách của bên thứ ba đó.

Nhận trợ giúp

Nếu bạn gặp bế tắc hoặc có bất kỳ câu hỏi nào về việc xây dựng ứng dụng AI, hãy tham gia:

Microsoft Foundry Discord

Nếu bạn có phản hồi về sản phẩm hoặc gặp lỗi khi phát triển, hãy truy cập:

Microsoft Foundry Developer Forum