co-op-translator

Logo

Co-op Translator: 教育ドキュメントの翻訳を手軽に自動化

ドキュメントの翻訳を簡単に自動化し、世界中の読者に届けましょう。

Python package License: MIT Downloads Downloads Code style: black

GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

Co-op Translatorによる言語サポート

フランス語 | スペイン語 | ドイツ語 | ロシア語 | アラビア語 | ペルシャ語 (ファルシ) | ウルドゥー語 | 中国語 (簡体字) | 中国語 (繁体字、マカオ) | 中国語 (繁体字、香港) | 中国語 (繁体字、台湾) | 日本語 | 韓国語 | ヒンディー語 | ベンガル語 | マラーティー語 | ネパール語 | パンジャブ語 (グルムキー) | ポルトガル語 (ポルトガル) | ポルトガル語 (ブラジル) | イタリア語 | ポーランド語 | トルコ語 | ギリシャ語 | タイ語 | スウェーデン語 | デンマーク語 | ノルウェー語 | フィンランド語 | オランダ語 | ヘブライ語 | ベトナム語 | インドネシア語 | マレー語 | タガログ語 (フィリピン語) | スワヒリ語 | ハンガリー語 | チェコ語 | スロバキア語 | ルーマニア語 | ブルガリア語 | セルビア語 (キリル) | クロアチア語 | スロベニア語 | ウクライナ語 | ビルマ語 (ミャンマー)

[!NOTE] これはこのリポジトリの現在の翻訳状況です。Co-op Translatorが対応している全言語の一覧はLanguage Supportセクションをご覧ください。

GitHub watchers GitHub forks GitHub stars

Azure AI Community Discord

Open in GitHub Codespaces Open in Dev Containers

概要:教育コンテンツの翻訳を効率化する

言語の壁は、世界中の学習者や開発者が貴重な教育リソースや技術知識にアクセスするのを大きく妨げています。これにより参加が制限され、グローバルなイノベーションや学習の進展が遅くなっています。

Co-op Translator は、Microsoft自身の大規模な教育シリーズ(「For Beginners」ガイドなど)の非効率な手動翻訳プロセスを解決する必要から生まれました。現在では誰もが使いやすく強力なツールへと進化し、これらの壁を打ち破ることを目指しています。CLIやGitHub Actionsを通じて高品質な自動翻訳を提供し、教育者、学生、研究者、開発者が言語の制約なく知識を共有・利用できるよう支援します。

Co-op Translatorが翻訳済みの教育コンテンツをどのように整理するかご覧ください:

Example

Markdownファイルや画像内のテキストは自動で翻訳され、言語ごとのフォルダーにきれいに整理されます。

今すぐCo-op Translatorで教育コンテンツのグローバルアクセスを実現しましょう!

Microsoftの学習リソースのグローバルアクセスを支援

Co-op Translatorは、世界中の開発者コミュニティに向けた主要なMicrosoft教育プロジェクトの言語の壁を橋渡しし、翻訳プロセスを自動化します。現在Co-op Translatorを利用している例は以下の通りです:

Generative-AI-for-beginners ML-For-Beginners AI-For-Beginners ai-agents-for-beginners PhiCookBook Generative-AI-for-beginners-dotnet

主な特徴

仕組み

Architecture

Co-op Translatorは、プロジェクトフォルダー内のMarkdownファイルや画像を以下のように処理します:

  1. テキスト抽出:Markdownファイルからテキストを抽出し、設定によっては(例:Azure AI Vision)画像内のテキストも抽出
  2. AI翻訳:抽出したテキストを設定されたLLM(Azure OpenAI、OpenAIなど)に送信して翻訳
  3. 結果保存:翻訳済みのMarkdownファイルや画像(翻訳済みテキスト入り)を言語別フォルダーに保存し、元のフォーマットを保持

はじめに

CLIを使ってすぐに始めるか、GitHub Actionsで完全自動化するか、ご自身のワークフローに合った方法を選べます:

  1. コマンドライン(CLI) - 一回限りの翻訳や手動操作に最適
  2. GitHub Actions - プッシュのたびに自動翻訳を実行

[!NOTE] このチュートリアルはAzureリソースを中心に説明していますが、対応する任意の言語モデルを使用できます。

対応言語

Co-op Translatorは幅広い言語に対応し、グローバルなユーザーにリーチできます。以下をご確認ください:

クイックリファレンス

言語 コード 言語 コード 言語 コード
アラビア語 ar ベンガル語 bn ブルガリア語 bg
ビルマ語(ミャンマー) my 中国語(簡体字) zh 中国語(繁体字、香港) hk
中国語(繁体字、マカオ) mo 中国語(繁体字、台湾) tw クロアチア語 hr
チェコ語 cs デンマーク語 da オランダ語 nl
フィンランド語 fi フランス語 fr ドイツ語 de
ギリシャ語 el ヘブライ語 he ヒンディー語 hi
ハンガリー語 hu インドネシア語 id イタリア語 it
日本語 ja 韓国語 ko マレー語 ms
マラーティー語 mr ネパール語 ne ノルウェー語 no
ペルシャ語(ファルシ) fa ポーランド語 pl ポルトガル語(ブラジル) br
ポルトガル語(ポルトガル) pt パンジャブ語(グルムキー) pa ルーマニア語 ro
ロシア語 ru セルビア語(キリル文字) sr スロバキア語 sk
スロベニア語 sl スペイン語 es スワヒリ語 sw
スウェーデン語 sv タガログ語(フィリピン語) tl タイ語 th
トルコ語 tr ウクライナ語 uk ウルドゥー語 ur
ベトナム語 vi

言語コードの使い方

Co-op Translatorを使う際は、言語をコードで指定します。例:

# Translate to French, Spanish, and German
translate -l "fr es de"

# Translate to Chinese (Simplified) and Japanese
translate -l "zh ja"

[!NOTE] 言語サポートに関する詳細な技術情報(フォント仕様、既知の問題、新しい言語の追加方法など)は、Supported Languages Documentationをご覧ください。

対応モデルとサービス

種類 名称
言語モデル Azure OpenAI OpenAI
AIビジョン Azure AI Vision

[!NOTE] AIビジョンサービスが利用できない場合、Co-op TranslatorはMarkdown-only modeに切り替わります。

初期設定

始める前に以下のリソースを用意してください:

  1. 言語モデルリソース(必須):
    • Azure OpenAI(推奨)— エンタープライズレベルの信頼性と高品質な翻訳を提供
    • OpenAI — Azureアクセスがない場合の代替
    • 対応モデルの詳細はSupported Models and Servicesを参照
  2. AIビジョンリソース(任意):
    • Azure AI Vision — 画像内テキストの翻訳を可能にする
    • 未設定の場合は自動的にMarkdown-only modeが使われる
    • 画像内のテキスト翻訳が必要なプロジェクトに推奨
  3. 設定手順:

翻訳前のプロジェクト準備

翻訳を始める前に、以下の手順でプロジェクトを整えましょう:

  1. READMEの準備:
    • README.mdに翻訳版へのリンクを貼るための翻訳テーブルを追加
    • 例:

      
      ### 🌐 Multi-Language Support
           
      [French](/co-op-translator/translations/fr/) | [Spanish](/co-op-translator/translations/es/) | [German](/co-op-translator/translations/de/) | [Russian](/co-op-translator/translations/ru/) | [Arabic](/co-op-translator/translations/ar/) | [Persian (Farsi)](/co-op-translator/translations/fa/) | [Urdu](/co-op-translator/translations/ur/) | [Chinese (Simplified)](/co-op-translator/translations/zh/) | [Chinese (Traditional, Macau)](/co-op-translator/translations/mo/) | [Chinese (Traditional, Hong Kong)](/co-op-translator/translations/hk/) | [Chinese (Traditional, Taiwan)](/co-op-translator/translations/tw/) | [Japanese](/co-op-translator/translations/ja/) | [Korean](/co-op-translator/translations/ko/) | [Hindi](/co-op-translator/translations/hi/) | [Bengali](/co-op-translator/translations/bn/) | [Marathi](/co-op-translator/translations/mr/) | [Nepali](/co-op-translator/translations/ne/) | [Punjabi (Gurmukhi)](/co-op-translator/translations/pa/) | [Portuguese (Portugal)](/co-op-translator/translations/pt/) | [Portuguese (Brazil)](/co-op-translator/translations/br/) | [Italian](/co-op-translator/translations/it/) | [Polish](/co-op-translator/translations/pl/) | [Turkish](/co-op-translator/translations/tr/) | [Greek](/co-op-translator/translations/el/) | [Thai](/co-op-translator/translations/th/) | [Swedish](/co-op-translator/translations/sv/) | [Danish](/co-op-translator/translations/da/) | [Norwegian](/co-op-translator/translations/no/) | [Finnish](/co-op-translator/translations/fi/) | [Dutch](/co-op-translator/translations/nl/) | [Hebrew](/co-op-translator/translations/he/) | [Vietnamese](/co-op-translator/translations/vi/) | [Indonesian](/co-op-translator/translations/id/) | [Malay](/co-op-translator/translations/ms/) | [Tagalog (Filipino)](/co-op-translator/translations/tl/) | [Swahili](/co-op-translator/translations/sw/) | [Hungarian](/co-op-translator/translations/hu/) | [Czech](/co-op-translator/translations/cs/) | [Slovak](/co-op-translator/translations/sk/) | [Romanian](/co-op-translator/translations/ro/) | [Bulgarian](/co-op-translator/translations/bg/) | [Serbian (Cyrillic)](/co-op-translator/translations/sr/) | [Croatian](/co-op-translator/translations/hr/) | [Slovenian](/co-op-translator/translations/sl/) | [Ukrainian](/co-op-translator/translations/uk/) | [Burmese (Myanmar)](/co-op-translator/translations/my/) 
          
      
  2. 既存の翻訳の整理(必要に応じて):
    • 既存の翻訳フォルダー(例:translations/)を削除
    • 古い翻訳ファイルを削除してクリーンな状態にする
    • 新しい翻訳プロセスと競合しないようにするため

クイックスタート:コマンドライン

コマンドラインで素早く始めるには:

  1. 仮想環境を作成:

     python -m venv .venv
    
  2. 仮想環境を有効化:

    • Windowsの場合:
     .venv\scripts\activate
    
    • Linux/macOSの場合:
     source .venv/bin/activate
    
  3. パッケージをインストール:

     pip install co-op-translator
    
  4. 資格情報を設定:

    • プロジェクトのルート ディレクトリにある .env ファイル。
    • .env.template ファイルの内容を新しい .env ファイルにコピーします。
    • .env ファイルに必要な API キーとエンドポイント情報を入力します。
  5. 翻訳を実行する:

    • ターミナルでプロジェクトのルート ディレクトリに移動します。
    • Execute the translate command, specifying target languages with the -l flag:
     translate -l "ko ja fr"
    

    (リポジトリ内の "ko ja fr" with your desired space-separated language codes)

Detailed Usage Guides

Choose the approach that best fits your workflow:

1. Using the Command Line (CLI)

2. Using GitHub Actions (Automation)

トラブルシューティングとヒント

追加リソース

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

Co-op Translatorについてのプレゼンテーションをこちらでご覧いただけます(画像をクリックするとYouTubeで視聴可能):

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

教育コンテンツの世界的な共有方法を一緒に革新しましょう!GitHubでCo-op Translatorに⭐をつけて、学習や技術における言語の壁を取り除く私たちのミッションを応援してください。皆さんの関心と貢献が大きな影響をもたらします!コードの貢献や機能提案はいつでも歓迎します。

貢献について

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

貢献者

co-op-translator contributors

行動規範

このプロジェクトはMicrosoft Open Source Code of Conductを採用しています。 詳細はCode of Conduct FAQをご覧いただくか、 ご質問やご意見があればopencode@microsoft.comまでお問い合わせください。

責任あるAI

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

このサンプルで使用されているような大規模な自然言語、画像、音声モデルは、不公平、不信頼、攻撃的な振る舞いをする可能性があり、それが害を引き起こすことがあります。リスクや制限については、Azure OpenAI service 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の商標およびブランドガイドラインに従う必要があります。 このプロジェクトの改変版でMicrosoftの商標やロゴを使用する場合、混乱を招いたりMicrosoftの後援を示唆したりしてはなりません。 第三者の商標やロゴの使用は、それら第三者のポリシーに従います。

免責事項:
本書類はAI翻訳サービスCo-op Translatorを使用して翻訳されました。正確性には努めておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。正式な情報源としては、原文の原語版を参照してください。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の使用により生じたいかなる誤解や誤訳についても、当方は責任を負いかねます。