Skip to main content

Easily automate the translation of your documentation into multiple languages to reach a global audience.

Project description

Co-op Translator

Easily automate the translation of your educational GitHub content into multiple languages to reach a global audience.

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 | Korean | Lithuanian | Malay | Marathi | Nepali | Norwegian | Persian (Farsi) | Polish | Portuguese (Brazil) | Portuguese (Portugal) | Punjabi (Gurmukhi) | Romanian | Russian | Serbian (Cyrillic) | Slovak | Slovenian | Spanish | Swahili | Swedish | Tagalog (Filipino) | Tamil | Thai | Turkish | Ukrainian | Urdu | Vietnamese

GitHub watchers GitHub forks GitHub stars

Microsoft Azure AI Foundry Discord Open in GitHub Codespaces

Overview

Co-op Translator enables you to quickly translate your educational GitHub content into multiple languages, reaching a global audience effortlessly. When you update your Markdown files, images, or Jupyter notebooks, translations are automatically synchronized to ensure your educational GitHub content stays fresh and relevant for international users.

See how Co-op Translator organizes translated educational GitHub content:

Example

Quick start

# Create and activate a virtual environment (recommended)
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:

# Pull the public image from GHCR
docker pull ghcr.io/azure/co-op-translator:latest
# Run with current folder mounted and .env provided (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

  • Create a .env using the template: .env.template
  • Configure one LLM provider (Azure OpenAI or OpenAI)
  • For image translation (-img), also set Azure AI Vision
  • Recommended: If you have translations generated by other tools, clean them up first to avoid conflicts (for example: translations/).
  • Recommended: Add a translations section to your README using the README languages template
  • 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

Support Us and Foster Global Learning

Join us in revolutionizing how educational content is shared globally! Give Co-op Translator a ⭐ on GitHub and support our mission to break down language barriers in learning and technology. Your interest and contributions make a significant impact! Code contributions and feature suggestions are always welcome.

Explore Microsoft educational content in your language

Video Presentations

Learn more about Co-op Translator through our presentations (Click the image below to watch on YouTube.):

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

    Open at Microsoft

Contributing

This project welcomes contributions and suggestions. Interested in contributing to Azure Co-op Translator? Please see our CONTRIBUTING.md for guidelines on how you can help make Co-op Translator more accessible.

Contributors

co-op-translator contributors

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Responsible AI

Microsoft is committed to helping our customers use our AI products responsibly, sharing our learnings, and building trust-based partnerships through tools like Transparency Notes and Impact Assessments. Many of these resources can be found at https://aka.ms/RAI. Microsoft's approach to responsible AI is grounded in our AI principles of fairness, reliability and safety, privacy and security, inclusiveness, transparency, and accountability.

Large-scale natural language, image, and speech models - like the ones used in this sample - can potentially behave in ways that are unfair, unreliable, or offensive, in turn causing harms. Please consult the Azure OpenAI service Transparency note to be informed about risks and limitations.

The recommended approach to mitigating these risks is to include a safety system in your architecture that can detect and prevent harmful behavior. Azure AI Content Safety provides an independent layer of protection, able to detect harmful user-generated and AI-generated content in applications and services. Azure AI Content Safety includes text and image APIs that allow you to detect material that is harmful. We also have an interactive Content Safety Studio that allows you to view, explore and try out sample code for detecting harmful content across different modalities. The following quickstart documentation guides you through making requests to the service.

Another aspect to take into account is the overall application performance. With multi-modal and multi-models applications, we consider performance to mean that the system performs as you and your users expect, including not generating harmful outputs. It's important to assess the performance of your overall application using generation quality and risk and safety metrics.

You can evaluate your AI application in your development environment using the prompt flow SDK. Given either a test dataset or a target, your generative AI application generations are quantitatively measured with built-in evaluators or custom evaluators of your choice. To get started with the prompt flow sdk to evaluate your system, you can follow the quickstart guide. Once you execute an evaluation run, you can visualize the results in Azure AI Studio.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Getting Help

If you get stuck or have any questions about building AI apps, join:

Azure AI Foundry Discord

If you have product feedback or errors while building visit:

Azure AI Foundry Developer Forum

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

co_op_translator-0.11.2.tar.gz (15.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

co_op_translator-0.11.2-py3-none-any.whl (15.9 MB view details)

Uploaded Python 3

File details

Details for the file co_op_translator-0.11.2.tar.gz.

File metadata

  • Download URL: co_op_translator-0.11.2.tar.gz
  • Upload date:
  • Size: 15.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for co_op_translator-0.11.2.tar.gz
Algorithm Hash digest
SHA256 9ac1cb6c95ce6370d9f41361b814f7ded1ad05ede962da296e73e5495dd5859a
MD5 33dd8203c65ae82c61c23f5466991974
BLAKE2b-256 2585423a5a9f31c208aa3fea2e0aa66dab941de52140d3d3a2f6e854d76806f1

See more details on using hashes here.

File details

Details for the file co_op_translator-0.11.2-py3-none-any.whl.

File metadata

File hashes

Hashes for co_op_translator-0.11.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1dbae1f1a11647c0e2c350fff7f40c63f5d78f0aba417286d310046aa6604c13
MD5 6f1037decb8087cb1ed13df1ce1f4186
BLAKE2b-256 4e317a7ba3231c4ca6fd9b2cf7352a35ed7ab053b80327c8d35287430efb1dd8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page