Skip to content

Latest commit

 

History

History
250 lines (178 loc) · 15.7 KB

File metadata and controls

250 lines (178 loc) · 15.7 KB

Co-op Translator

Ezili automate an maintain translations for your educational GitHub content across many languages as your project dey grow.

Python 3.10–3.12 Python package License: MIT Downloads Downloads Container: GHCR Code style: black

GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

🌐 Multi-Language Support

Supported by Co-op Translator

Arabic | Bengali | Bulgarian | Burmese (Myanmar) | Chinese (Simplified) | Chinese (Traditional, Hong Kong) | Chinese (Traditional, Macau) | Chinese (Traditional, Taiwan) | Croatian | Czech | Danish | Dutch | Estonian | Finnish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Kannada | Khmer | Korean | Lithuanian | Malay | Malayalam | Marathi | Nepali | Nigerian Pidgin | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Telugu | Thai | Turkish | Ukrainian | Urdu | Vietnamese

Prefer to Clone Locally?

Dis repository get 50+ language translations wey dey increase di download size well-well. To clone without translations, use 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"

Dis go give you everything you need to complete di course with way faster download.

GitHub watchers GitHub forks GitHub stars

Microsoft Foundry Discord

Open in GitHub Codespaces

Overview

Co-op Translator dey help you localize your educational GitHub content to many languages without stress. When you update your Markdown files, images, or notebooks, translations dey stay automatically synchronized, so your content go dey correct and fresh for learners for all obodo.

Example of how translated content dey organized:

Example

How translation state is managed

Co-op Translator dey manage translated content as versioned software artifacts,
no be as static files.

The tool dey track di state of translated Markdown, images, and notebooks using language-scoped metadata.

Dis design allow Co-op Translator to:

  • Reliably detect outdated translations
  • Treat Markdown, images, and notebooks consistently
  • Scale safely across large, fast-moving, multi-language repositories

By modeling translations as managed artifacts, translation workflows dey naturally align with modern software dependency and artifact management practices.

How translation state is managed

Quick start

# Make and waka the virtual environment (na beta make you do am)
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# Put the package inside
pip install co-op-translator
# Change am to oda language
translate -l "ko ja fr" -md

Docker:

# Drag the public image from GHCR
docker pull ghcr.io/azure/co-op-translator:latest
# Run wit current folder mount and .env provide (Bash/Zsh)
docker run --rm -it --env-file .env -v "${PWD}:/work" ghcr.io/azure/co-op-translator:latest -l "ko ja fr" -md

Minimal setup

  1. Make sure say you get supported Python version (right now na 3.10-3.12). For poetry (pyproject.toml) dis dey handled automatically.
  2. Create .env file using di template: .env.template
  3. Configure one LLM provider (Azure OpenAI or OpenAI)
  4. (Optional) For image translation (-img), configure Azure AI Vision
  5. (Optional) You fit configure many credential sets by duplicating variables with suffixes like _1, _2, etc. All variables for one set must get the same suffix.
  6. (Recommended) Clean up any previous translations to avoid wahala (e.g., translations/)
  7. (Recommended) Add translation section to your README using README languages template
  8. See: Set up Azure AI

Usage

Translate all supported types:

translate -l "ko ja"

Only Markdown:

translate -l "de" -md

Markdown + images:

translate -l "pt" -md -img

Only notebooks:

translate -l "zh" -nb

More flags: Command reference

Features

  • Automated translation for Markdown, notebooks, and images
  • Keeps translations in sync with source changes
  • Works locally (CLI) or in CI (GitHub Actions)
  • Uses Azure OpenAI or OpenAI; optional Azure AI Vision for images
  • Preserves Markdown formatting and structure

Docs

Microsoft-specific guide

Note

For maintainers of Microsoft “For Beginners” repositories only.

Support us and foster global learning

Join us make we change how educational content dey shared globally! Give Co-op Translator a ⭐ for GitHub and support our mission make language barrier no dey for learning and technology. Your interest and contributions dey make big difference! Code contributions and feature suggestions dey always welcome.

Explore Microsoft educational content in your language

Video presentations

👉 Click the image below make you watch for YouTube.

  • Open at Microsoft: Small 18-minute introduction and quick guide on how to use Co-op Translator.

    Open at Microsoft

Contributing

Dis project dey welcome contributions and suggestions. You want contribute to Azure Co-op Translator? Abeg see our CONTRIBUTING.md for guidelines on how you fit help make Co-op Translator more accessible.

Contributors

co-op-translator contributors

Code of Conduct

Dis project don adopt di Microsoft Open Source Code of Conduct. For more info see di Code of Conduct FAQ or contact opencode@microsoft.com if you get any additional questions or comments.

Responsible AI

Microsoft dey committed to helping our customers use our AI products responsibly, dey share our learnings, and build trust-based partnerships through tools like Transparency Notes and Impact Assessments. Plenti of these resources fit dey for https://aka.ms/RAI. Microsoft approach to responsible AI base on our AI principles of fairness, reliability and safety, privacy and security, inclusiveness, transparency, and accountability.

Big-big natural language, image, and speech models - like di ones wey dem use for dis sample - fit sometimes behave in ways wey no fair, no reliable, or dey offensive, wey fit cause wahala. Abeg look di Azure OpenAI service Transparency note to sabi more about di risks and limits.

Di betta way to reduce these risks na to put safety system for your architecture weh fit detect and stop bad behavior. Azure AI Content Safety dey provide independent layer of protection, wey fit detect bad user-generated and AI-generated content for applications and services. Azure AI Content Safety get text and image APIs weh go help you detect harmful material. We also get interactive Content Safety Studio weh let you view, explore and try sample code wey fit detect harmful content for different types. Dis quickstart documentation go guide you how to make requests to di service.

Another thing wey you must consider na how your full application go perform. For multi-modal and multi-models applications, performance mean say di system go work as you and your users dey expect, including say e no go generate harmful outputs. E dey important to check how your full application dey perform using generation quality and risk and safety metrics.

You fit evaluate your AI app for your development environment using di prompt flow SDK. Whether na test dataset or target, your generative AI app generations go dey measured well with built-in evaluators or your own custom evaluators. To start with di prompt flow sdk to evaluate your system, you fit follow the quickstart guide. Once you run evaluation, you fit visualize di results inside Azure AI Studio.

Trademarks

Dis project fit get trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos need to follow Microsoft's Trademark & Brand Guidelines. If you use Microsoft trademarks or logos for modified versions of dis project, e no suppose cause confusion or make people think Microsoft sponsor am. Any use of third-party trademarks or logos na for those third-party policies to follow.

Getting Help

If you get stuck or you get questions about how to build AI apps, waka go:

Microsoft Foundry Discord

If you get product feedback or errors while you dey build, waka visit:

Microsoft Foundry Developer Forum


Disclaimer:
Dis document don translate wit AI translation service Co-op Translator. Even tho we dey try make am correct, abeg sabi say automated translations fit get errors or incorrect tins. Di original document wey e dey for im original language na di correct one. For important information, e better make human professional translate am. We no go responsible for any wahala or wrong understanding wey fit happen because of this translation.