AIを使用したMoodleプラグイン翻訳の強化と迅速化
Moodle 4.1から5.2で利用できる、ローカルプラグインPlugin Translator by Brickfieldをご覧ください。
AIを使用して、プラグインの言語ストリングまたはMoodleコアのストリングをより簡単に翻訳できます。この使いやすいインタフェースでは、Moodleの翻訳者がプラグインの言語ストリングを翻訳API(現在はAzureおよびDeepL)に送信し、返された結果をレビューし、必要に応じてさらに修正を加えてから、言語ファイルの内容を保存またはダウンロードできます。
Moodleマーケットプレイスで翻訳済みのプラグインを探す
- 旧Moodleプラグインディレクトリ(現在のMoodleマーケットプレイス)で公開されていたほぼすべてのプラグインは、AMOSにインポートされており、翻訳できる状態になっています。
- Moodleプラグインの翻訳に関する動画チュートリアルをご覧ください。
- Moodleマーケットプレイスでプラグインのページを見ているときに、そのプラグインの「Translations」タブを開きます。プラグインが現在翻訳されているすべての言語を確認できます。
- 希望する言語が表示されない場合は、「Contribute a translation」リンクをクリックします。AMOS翻訳サイトに移動します。
- AMOSアカウントを持っていない場合は、該当するリンクを使用して「Create a new account」を行う必要があります。
- すでにAMOSの翻訳者アカウントを持っている場合は、翻訳への貢献を始めることができます。
- すべての言語パック(English fixesを除く)を選択し、「String identifier」ボックスに「pluginname」と入力すると、AMOSは利用可能なすべての翻訳でプラグイン名を表示します。
- 関心のあるMoodleブランチを選択していることを確認してください。
- いずれかの(または多くの)言語で翻訳が利用できない場合、それらの言語の「Translation」という名前のボックスは空になります。
- プラグイン名が翻訳されている場合、そのプラグインはその言語に翻訳されている可能性が高いです。AMOSで設定を変更して、自分で確認することができます。
プラグイン翻訳の優先度
- お気に入りのプラグインを翻訳して、ほかの言語のMoodleユーザを手助けしてください。
- Moodleマーケットプレイスで、プラグインをMost installedまたはLatest releaseで並べ替えるか、単にお気に入りのプラグインを選んでください。
AMOSでのH5Pの翻訳
AMOSで、H5P(およびhvp)に関連するすべてのプラグインを翻訳する必要があります。そのうえで、H5PサイトでH5Pモジュールのストリングも翻訳する必要があります。これは、weblate(推奨される方法)またはGitHub(古い方法)のいずれかを使用して行うことができます。
weblateを使用したH5Pの翻訳(推奨される方法)
https://translate-h5p.tk/contributing/にアクセスして登録します。
使用する言語にメンテナがいる場合は、ストリングの翻訳を提案できます。
FAQや、質問・疑問・問題については、https://h5p.org/forum/6を確認してください。
使用する言語にメンテナがいない場合は、メンテナになることを申請できます(serettig@posteo.deにメールを送信してください)。
英語の原文ストリングの1つ(または少数)が空白の場合は、翻訳でも単に空白のままにしておいてかまいません。weblateは未翻訳のストリングについて警告を出すかもしれませんが、無視してかまいません!
英語の言語ストリングがすべて翻訳されていることを確認することが非常に重要です。そのファイルが部分的にしか翻訳されていない場合は、英語のオリジナルの言語ストリングを使用してください。空のフィールドを残すと、weblateの進行を妨げる深刻なエラーが発生し、weblateはこのモジュールの翻訳を締め切ってしまいます。
weblateがモジュールの翻訳を締め切った場合、言語ストリングの追加や変更はGitHub経由でのみ行うことができます(以下を参照してください)。
言語メンテナの場合は、1つのH5Pモジュールのすべてのストリングが使用する言語に適切に翻訳されていることを確認した後でのみ、wordslateに変更をコミットしてください(「Manage」 > 「Commit」)。その後、変更をプッシュしてください(「Manage」 > 「Repository maintenance」 > 「PUSH」)。その後、GitHubのコードの担当者が、weblateを通じて送られたプルリクエストをレビューして受け入れるのを待つ必要があります。
Joubelがレビューして受け入れられるように、ライブラリを1つ翻訳し終えたら、必ず変更をプッシュすることを忘れないでください。
英語の原文の言語ストリングに誤字やその他の誤りを見つけた場合は、元のH5PモジュールのGitHubページでissue(またはプルリクエスト)を作成できます。開発者は喜んでそれを確認し、必要に応じて修正してくれます。
weblateを使用したH5Pモジュール名の翻訳
weblateを使用してH5Pのストリングをすべて翻訳した後は、weblateを使用してLUMIを翻訳することも検討してください。そうすることで、H5Pユーザが無料のLUMIアプリを使用してMoodleコースで使用する.h5pファイルを作成するときに、H5Pモジュールの名前と説明を英語以外の言語で表示できるようになります。
ほかの言語で各H5Pモジュールの説明が表示されると、H5Pを使い始めたばかりの多くのMoodleユーザにとって使いやすくなる可能性があります:
GitHubを使用したH5Pの翻訳(古い方法)
Moodle用H5Pプラグインは現在(2020年4月)14333サイトにインストールされており、Moodleのロードマップでは「H5P統合の改善」がMoodle 3.8以降で検討されていますが、AMOSで何らかの翻訳済み言語ストリングがある言語は30言語(2020年4月)にとどまっています。
AMOSでMoodle用H5Pプラグインを翻訳した後でも、このプラグインを英語以外の言語で使用するほとんどのユーザには、使用時に(一部または全部の)未翻訳のストリングが表示されることがあります。これは、すべてのH5Pライブラリ(「コンポーネント」/「プラグイン」)が、H5P Moodleプラグインとは関係のない独自の翻訳インフラストラクチャを持っているためです。また、各ライブラリのGitHubリポジトリで見られる、貢献された翻訳のプルリクエストがどのくらいの頻度でマージおよび配布されているのかは、はっきりとはわかりません。
H5Pコンテンツタイプの翻訳状況の概要を示すページがhttps://localization.h5p.org/ にあります。
言語(たとえばスペイン語)をクリックすると、すべてのH5Pモジュールと、その言語に翻訳されたストリングの割合が表示されます。
モジュール(たとえばAudio)をクリックすると、そのモジュールについて、その言語の未翻訳および翻訳済みのすべてのストリングの一覧が表示されます。
そのページの下部に「Head over to the source repository」というリンクがあります。このリンクをクリックすると、そのモジュールのGitHubページに移動します。そこで使用する言語の翻訳を修正または追加し、「Pull request」を作成してこの翻訳を貢献できます。
関連項目:
- h5p.tk - H5Pのストリングの翻訳に使用できるユーザフレンドリーなプラットフォームです。
- GitHub経由でコンテンツタイプの翻訳を追加するためのガイド
翻訳できないストリング
AMOSは、MoodleコアおよびほとんどのMoodleプラグインの言語ストリングの翻訳で素晴らしい働きをしますが、英語の言語ストリングの中には、AMOSで翻訳できないものもあります。
コーディングエラーのあるプラグイン
Moodleマーケットプレイスでダウンロードできる一部のプラグインでは、コーディングエラーのために、英語の言語ストリングをAMOSで翻訳できない場合があります。このエラーは、プラグインのメンテナが特定して修正する必要があります。プラグイン貢献チェックリスト:ストリングをご覧ください:
- プラグインのコードは、ストリングの先頭および末尾の空白に依存してはいけません。
- ストリングファイルは、$string['id'] = 'value'; という構文の純粋なデータファイルと見なす必要があります。
- 連結、ヒアドキュメントおよびNowdocなど、ほかのPHP構文は、AMOSがストリングを処理する際に使用するツールではサポートされていません(Moodle自体では動作する場合でも)。
- ストリングファイルの中では、ストリング連結演算子もほかのPHPロジックも使用しないでください。ストリングファイルは、本当に単純な $string['key'] = 'value'; 構文のプレーンなデータファイルとして扱うべきものであり、それ以上のものではありません。
英語の言語ストリングがハードコードされているプラグイン
特定のプラグインについて、AMOSで利用できるストリングを100%翻訳したにもかかわらず、元の英語(未翻訳)のストリングが表示されることがあります。
- ブラウザのキャッシュとサーバのキャッシュを削除したこと、1時間待ったこと(AMOSが言語パックを更新するため)、そして言語パックを更新したことを確認してください。
- それでも問題が解決しない場合は、Moodleマーケットプレイスのプラグインのページに表示されているサポート情報を通じて、プラグインのメンテナに連絡してください。
- プラグインの作成者が、プラグインのフォルダ構造内のいずれかのサブディレクトリの中に、追加の「Lang」フォルダを入れ子にしている場合、それらの入れ子になったLangフォルダ内の英語の言語ストリングはAMOSで利用できず、ハードコードされているように見えます。プラグインの作成者に連絡してください。
- ほとんどのMoodleプラグインの作成者は、ハードコードされた英語のストリングを、現在ではAMOSで翻訳できるストリング変数に、非常に素早く置き換えてくれています。
- 問題がコアプラグインにあると思われる場合は、AMOS翻訳フォーラムに問題を投稿できます。
ログの説明は翻訳できない
- ログの説明が翻訳されない理由をご覧ください。
翻訳してはならない項目
- 翻訳FAQの翻訳してはならない項目をご覧ください。
一部のMoodleブランチではAMOSで翻訳を利用できるが、ほかのブランチでは利用できない場合
プラグイン自体はMoodleマーケットプレイスですべてのブランチ向けに実際にダウンロードできるにもかかわらず、そのプラグインの英語の言語ストリングが、一部のMoodleブランチでは翻訳可能なのに、ほかのブランチでは翻訳できないことがあります。
この投稿の例をご覧ください。原因はおそらくプログラミングエラー(上記の「コーディングエラーのあるプラグイン」を参照してください)であり、プラグインのメンテナが修正する必要があります。
プラグインのZIPファイルのlangフォルダ内に翻訳が含まれている場合
サイトでデバッグが有効になっている場合、ユーザがプラグインをインストールするときに「言語ファイルが見つかりました。」という警告メッセージが表示されますが、インストールは続行できることがあります。
適切にインストールされたダウンロード済みプラグイン内の言語ストリングは、言語パックのストリングの翻訳を上書きしますが、言語カスタマイゼーションで定義されたストリングによって上書きされることがあります。
ストリングの優先順位
- 言語カスタマイゼーションツールで定義されたストリング
- インストールされた子言語パック(例:es_ve言語パック)で定義されたストリング
- インストールされた親言語パック(例:es言語パック)で定義されたストリング
- ダウンロードしてインストールしたプラグインのZIPファイルの plugin_name/lang/xx/yy.php フォルダ(xxはenフォルダ以外の言語コード)に含まれているストリング(例:/server/moodle/theme/adaptable/lang/es/theme_adaptable.php ファイル内)
- ダウンロードしたMoodleブランチに同梱されている、オリジナルのオーストラリア英語の言語ストリング
- ダウンロードまたは更新したプラグインのZIPファイルの /lang/en フォルダ内にある、オリジナルのオーストラリア英語の言語ストリング
注:ローカルプラグインString overrideをご覧ください。このプラグインを使用すると、Moodleに同梱されているものか、コミュニティプラグインに由来するものかにかかわらず、プラグインが既存の翻訳を上書きできるようになります。
関連項目
- サードパーティのプラグインがAMOSに自動的にインポートされるようになりました - 仕組みを説明したお知らせ
- 翻訳FAQの翻訳してはならない項目