Skip to content

Latest commit

 

History

History
250 lines (178 loc) · 15.5 KB

File metadata and controls

250 lines (178 loc) · 15.5 KB

Co-op Translator

Ezily automatet an maintain transléshon dem for your educational GitHub content for plenti language dem 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 repozitori get 50+ language translations wey make di download size plenty. 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 one go give you everything you need to complete di course quick quick.

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 into plenti language dem without wahala. When you update your Markdown files, images, or notebooks, translations go dey automatically synchronized, make sure say your content still dey correct and up to date for learners all over di world.

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 like static files.

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

Dis design make Co-op Translator fit:

  • Sure sure detect outdated translations
  • Treat Markdown, images, and notebooks one kain
  • Scale safely across big, fast-moving, multi-language repositories

By modeling translations as managed artifacts, translation workflows follow modern software dependency and artifact management style.

How translation state is managed

Quick start

# Make and activate one virtual environment (wey dem recommend)
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# Install the package
pip install co-op-translator
# Translate
translate -l "ko ja fr" -md

Docker:

# Comot di public image from GHCR
docker pull ghcr.io/azure/co-op-translator:latest
# Run wit di 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 Python version wey dem support (now na 3.10-3.12). For poetry (pyproject.toml) dis one dey automatic.
  2. Create one .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 copying variables with suffixes like _1, _2, etc. All variables for one set must carry di same suffix.
  6. (Recommended) Clear any old translations to avoid wahala (eg, translations/)
  7. (Recommended) Add translation section inside your README using di 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 dey inline with source changes
  • Works locally (CLI) or for CI (GitHub Actions)
  • Use Azure OpenAI or OpenAI; optional Azure AI Vision for images dem
  • Preserve Markdown format and structure

Docs

Microsoft-specific guide

Note

Only for maintainers of Microsoft “For Beginners” repositories.

Support us and foster global learning

Make you join us revolutionize how educational content dey shared worldwide! Give Co-op Translator one ⭐ for GitHub and support our mission to break language wall for learning and technology. Your interest and contributions fit make big impact! Code contributions and feature suggestions always dey welcomed.

Explore Microsoft educational content in your language

Video presentations

👉 Click di image below to watch on YouTube.

  • Open at Microsoft: One short 18-minute intro and quick guide on how to take use Co-op Translator.

    Open at Microsoft

Contributing

Dis project dey welcome contributions and suggestions. If you wan contribute to Azure Co-op Translator, abeg check our CONTRIBUTING.md for how you fit help make Co-op Translator easy to use.

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 with any oda questions or comments.

Responsible AI

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

Large-scale natural language, image, and speech models - like di ones wey dem use for dis sample - fit fit behave in ways wey no fair, no reliable, or dey offensive, we fit cause harm. Abeg check di Azure OpenAI service Transparency note to know about risks and wahala dem.

Di way wey dem recommend to reduce dis kind risk na to put safety system for your architecture wey fit detect and stop bad behavior. Azure AI Content Safety dey provide independent protection layer, wey fit detect harmful user-generated and AI-generated content for apps and services dem. Azure AI Content Safety get text and image APIs wey go allow you detect bad material. We still get interactive Content Safety Studio wey allow you view, explore and try sample code for detecting harmful content for different modalities. Dis quickstart documentation go guide you how to dey make requests to di service.

Another tin wey you suppose consider na di overall application performance. For multi-modal and multi-models apps, we mean say di system go do as you and your users expect, including say e no go generate harmful outputs. E important to check di performance for your overall app using generation quality and risk and safety metrics.

You fit evaluate your AI application inside your development environment using prompt flow SDK. Whether na test dataset or target, your generative AI application generations go dey quantitatively measured with built-in evaluators or custom evaluators wey you choose. To start to dey use prompt flow sdk for evaluating your system, you fit follow di 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 dey follow Microsoft's Trademark & Brand Guidelines. If you use Microsoft trademarks or logos for modified versions of dis project, make sure e no confuse people or make dem think say Microsoft sponsor am. Any use of third-party trademarks or logos go follow di third-party policies.

Getting Help

If you jam wahala or get any questions about building AI apps, make you join:

Microsoft Foundry Discord

If you get product feedback or error wen you dey build, go 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 error or no too correct. Di original document for e own language na di correct source. For important info, e better make professional human translation do am. We no go responsible for any misunderstanding or wrong meaning wey fit come from dis translation.