co-op-translator

Co-op Translator

教育用のGitHubコンテンツの翻訳を、プロジェクトの進化に合わせて複数言語で簡単に自動化・維持できます。

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

🌐 多言語対応

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

ローカルでクローンすることを希望されますか?

このリポジトリには50以上の言語の翻訳が含まれており、ダウンロードサイズが大幅に増加します。翻訳なしでクローンするにはスパースチェックアウトを使用してください:

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"

これにより、コースを完了するために必要なすべてのものをより速いダウンロードで入手できます。

GitHub watchers GitHub forks GitHub stars

Microsoft Foundry Discord

Open in GitHub Codespaces

概要

Co-op Translator は、教育用GitHubコンテンツを複数の言語に簡単にローカライズするためのツールです。
Markdownファイル、画像、ノートブックを更新すると、翻訳が自動的に同期され、世界中の学習者に向けて正確かつ最新のコンテンツを提供できます。

翻訳されたコンテンツの整理例:

Example

翻訳状態の管理方法

Co-op Translatorは翻訳されたコンテンツをバージョン管理されたソフトウェアアーティファクトとして管理し、
静的ファイルとして扱いません。

ツールは翻訳済みMarkdown、画像、ノートブックの状態を
言語スコープのメタデータで追跡します。

この設計によりCo-op Translatorは以下を実現します:

翻訳を管理されたアーティファクトとしてモデル化することで、
翻訳ワークフローは最新のソフトウェア依存関係およびアーティファクト管理のプラクティスと自然に整合します。

翻訳状態の管理方法

クイックスタート

# 仮想環境を作成して有効化する(推奨)
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# パッケージをインストールする
pip install co-op-translator
# 翻訳する
translate -l "ko ja fr" -md

Docker:

# GHCRから公開イメージをプルする
docker pull ghcr.io/azure/co-op-translator:latest
# 現在のフォルダをマウントし、.envを提供して実行する(Bash/Zsh)
docker run --rm -it --env-file .env -v "${PWD}:/work" ghcr.io/azure/co-op-translator:latest -l "ko ja fr" -md

最小構成

  1. サポートされているPythonバージョン(現在3.10-3.12)があることを確認してください。poetry(pyproject.toml)では自動的に処理されます。
  2. テンプレートを使って .env ファイルを作成します: .env.template
  3. 1つのLLMプロバイダー(Azure OpenAIまたはOpenAI)を設定します
  4. (オプション)画像翻訳 (-img) の場合はAzure AI Visionを設定します
  5. (オプション)複数の認証情報セットを設定したい場合は、変数に _1_2 などのサフィックスを付けて複製します。セット内のすべての変数は同じサフィックスである必要があります。
  6. (推奨)競合を避けるために以前の翻訳をクリーンアップします(例: translations/
  7. (推奨)READMEに翻訳セクションを追加します。テンプレートは README languages template を参照してください
  8. 参照: Azure AIの設定

使い方

対応するすべてのタイプを翻訳:

translate -l "ko ja"

Markdownのみ:

translate -l "de" -md

Markdown+画像:

translate -l "pt" -md -img

ノートブックのみ:

translate -l "zh" -nb

その他のフラグ: コマンドリファレンス

特長

ドキュメント

Microsoft向けガイド

[!NOTE] Microsoft「For Beginners」リポジトリのメンテナ向けのみ。

私たちを支援し、グローバルな学習を促進しましょう

教育コンテンツのグローバル共有の革新にぜひご参加ください!Co-op Translator にGitHubで⭐をつけて、学習やテクノロジーの言語の壁を打ち破るミッションを応援してください。皆さんの関心と貢献が大きな影響をもたらします!コードの貢献や機能提案も大歓迎です。

Microsoft教育コンテンツをあなたの言語で探検

ビデオプレゼンテーション

👉 下の画像をクリックしてYouTubeで視聴してください。

コントリビューション

このプロジェクトは貢献や提案を歓迎します。Azure Co-op Translatorへの貢献に興味がある方は、ガイドラインについて CONTRIBUTING.md をご覧ください。Co-op Translatorをよりアクセスしやすいものにするための方法が記載されています。

コントリビューター

co-op-translator contributors

行動規範

このプロジェクトは Microsoft Open Source Code of Conduct を採用しています。 詳細については Code of Conduct FAQ を参照するか、追加の質問やコメントについては opencode@microsoft.com にお問い合わせください。

Responsible AI

Microsoft は、お客様が AI 製品を責任を持って使用できるよう支援し、知見を共有し、Transparency Notes や Impact Assessments などのツールを通じて信頼に基づくパートナーシップを構築することにコミットしています。これらの多くのリソースは https://aka.ms/RAI で確認できます。 Microsoft の Responsible AI への取り組みは、公平性、信頼性と安全性、プライバシーとセキュリティ、包括性、透明性、および説明責任という AI 原則に基づいています。

このサンプルで使用されているような大規模な自然言語、画像、音声モデルは、不公平、信頼性に欠ける、または不快な振る舞いをする可能性があり、それが害をもたらすことがあります。リスクや制限については、Azure OpenAI サービス Transparency note をご確認ください。

これらのリスクを軽減するために推奨されるアプローチは、害を及ぼす行動を検出し防止できる安全システムをアーキテクチャに組み込むことです。Azure AI Content Safety は、アプリケーションやサービス内で有害なユーザー生成および AI 生成コンテンツを検出できる独立した保護層を提供します。Azure AI Content Safety は、テキストと画像の API を含み、有害な内容の検出を可能にします。さらに、異なるモダリティの有害コンテンツ検出のサンプルコードを閲覧、探索、試用できるインタラクティブな Content Safety Studio も提供しています。以下の クイックスタートドキュメント では、サービスへのリクエスト方法を案内しています。

考慮すべきもう一つの側面は、全体的なアプリケーションのパフォーマンスです。マルチモーダルおよびマルチモデルのアプリケーションでは、パフォーマンスとは、システムがユーザーの期待どおりに動作し、有害な出力を生成しないことを意味すると考えています。アプリケーション全体のパフォーマンスを 生成品質およびリスク・安全性メトリクス を使って評価することが重要です。

開発環境で AI アプリケーションを評価するには、prompt flow SDK を使用できます。テストデータセットやターゲットを用いて、生成型 AI アプリケーションの生成結果が組み込み評価器や任意のカスタム評価器で定量的に測定されます。prompt flow sdk を使ったシステム評価の開始には、クイックスタートガイド を参照してください。評価の実行後は、Azure AI Studio で結果を可視化 することができます。

商標

このプロジェクトには、プロジェクト、製品、サービスの商標やロゴが含まれている場合があります。Microsoft の商標やロゴの許可された使用は Microsoft’s Trademark & Brand Guidelines に従う必要があります。 このプロジェクトの修正版で Microsoft の商標やロゴを使用する場合、混乱を生じさせたり Microsoft の後援を示唆したりしてはなりません。 第三者の商標やロゴの使用については、それら第三者の規約が適用されます。

ヘルプを得る

AI アプリの構築でつまずいたり質問がある場合は、以下に参加してください:

Microsoft Foundry Discord

製品フィードバックや開発中のエラーについては以下を訪問してください:

Microsoft Foundry Developer Forum


免責事項:
本書類はAI翻訳サービス Co-op Translator を使用して翻訳されています。正確性を期していますが、自動翻訳には誤りや不正確な箇所が含まれる可能性があることをご承知おきください。原文のネイティブ言語での文書が正式な情報源とみなされます。重要な情報については専門の人間翻訳をご利用いただくことを推奨します。本翻訳の利用によるいかなる誤解や解釈違いについても当方は一切責任を負いません。