Moodleの翻訳に協力するにはどうすればよいですか?
ガイド「翻訳への貢献」を参照してください。
言語パックに誤りを見つけました。どうすればよいですか?
- ぜひその誤りの修正を投稿してください。または、翻訳クレジットに記載されている言語パックのメンテナに連絡することもできます。
- 英語の言語ストリングのタイプミスの修正や改善の提案は、英語(修正)(en_fix)言語パックに投稿できます。
月名と曜日が英語で表示されます。どうすれば翻訳できますか?
これはMoodleのバグでも、翻訳の不足でもありません。曜日と月の名前はオペレーティングシステムから取得されます。Moodleが動作しているサーバに、特定のロケールがインストールされていないようです。サーバ管理者に連絡して、必要なロケールをインストールするよう依頼する必要があります。詳細はロケール一覧を参照してください。
特定の言語に使用するロケールは、langconfig.phpファイルのストリングlocale(Unix系オペレーティングシステム用)およびlocalewin(Windowsオペレーティングシステム用)で設定されます。
Ubuntu/Debianでは、パッケージlocale-allをインストールすると、既存のすべての言語をサポートできます。
Mac OSはロケールのサポートが非常に限られていることが知られています。これは修正できません。
ログの説明が英語で表示されるのはなぜですか?
ログレポートでは、説明は英語でのみ表示されるようになっており、翻訳することはできません。例:"The user with id '2' viewed the course with id '4'."
新しい言語パックを始めるところです、または言語パックに貢献しています。ユーザインタフェースのストリングから先に翻訳できますか?
いいえ。どのストリングがユーザに表示され、どのストリングが表示されないかを知る方法はありません。ただし、少しでも助けになるよう、考慮できる非公式の優先順位がいくつかあります。
まず:
- langconfigが正しく設定されていることを確認してください。
- 翻訳の優先度を確認してください。すべてのファイルに、翻訳の緊急度に応じた評価が付けられています。
- サードパーティのプラグインも、標準のMoodleディストリビューションに含まれていないため、緊急度は低くなります。翻訳の優先度を考える際に参考になりそうな、Moodleのダウンロード数上位20のプラグインの一覧があります。
英語の言語パックには何語ありますか?
ディスカッション「How many words are there in the English language pack?」を参照してください。
複数の言語パックがあるMoodleの言語
アメリカ英語(およびその他の英語の分派)の翻訳はありますか?
Moodleの「公式」言語は、実はオーストラリア英語(G'day mate!)で、イギリス英語とほぼ100%同じです。ある人はかつて「アメリカとイギリスは共通の言語によって隔てられた2つの国である」と言いました。
- 英語 - アメリカ合衆国(en_us)]言語パックには、主に異なる綴りが含まれています(color 対 colour、enroll 対 enrolなど)。
- 英語 - 海賊(en_ar)]言語パックは、「Talk Like a Pirate」デーに使用されます。
- 英語 - アメリカ合衆国K12(en_us_k12)言語パックは、アメリカ、カナダおよびその他の英語圏の国のK-12(幼稚園から12年生まで)の初等・中等教育で使用されます。en_us言語パックの綴りを含み、「course」という用語は「class」に名前が変更されています。
- 子ども向け英語(en_kids)言語パックは、Moodleユーザが目にする最も一般的な英語のストリングを簡略化したもので、小さな子どもにとってより簡単で適していると考えられているようです。
- 英語(修正)(en_fix)言語パックは、ガイド「英語の言語ストリングの改善」で説明されているように、Moodleコアの言語ストリングの改善やタイプミスの修正を提案するために使用されます。
Moodleにドイツ語用の言語パックが4種類あるのはなぜですか?
- ドイツには、人々が互いに「Sie」で話す丁寧な言葉づかいがあります。これは大人の丁寧な言葉です。英語で「Sir」を使うのと似たようなものだと思います。通常のドイツ語言語パックは、この丁寧な言葉づかいを使用しています。Moodleの言語パックおよび翻訳されたプラグインのほぼすべてのストリングは、丁寧な言葉づかいで翻訳されています。
- 学校ではこうした丁寧な言葉は使えません……学校では「du」を使うくだけた言葉づかいをします。学生は友達同士のように話します。そのため、言語パック「German personal」(de_du)を作りました。このパックでは、丁寧な言葉の「Sie」「Ihre」「Ihnen」(そう、これらの単語は大文字で書かれます)の代わりに、親しい言葉の「du」「dein」「dir」などを使います。
- 私(Ralf Krause)は個人的に「German personal」(de_du)または「German Kids」(de_kids)を使っています。「German Kids」は親しい言葉の「du」「dein」「dir」を使いますが、より理解しやすい言葉づかいも使っています。
- 以前、Moodleをソーシャルコミュニケーションのプラットフォームにしようとしましたが、誰も使いたがりませんでした。そこで「German community」を作りました。ソーシャルプラットフォームでは、教師、学生、参加者、教室、コースについて話す人はいません……ソーシャルプラットフォームでは、グループのメンバやミーティングという言葉を使います。このパックが今後使用されるかどうかはわかりません。
Moodleにスペイン語用の言語パックが複数あるのはなぜですか?
- スペインと多くの南米諸国では、メキシコや中米で使用されている(小数点の)ピリオドとは異なる(カンマの)小数点記号を使用しています。
- 英語のMoodleコアは、計算にデフォルトで小数点にピリオドを使用しており、Moodleドキュメントも同様です。
- これにより、評定表の計算やスペイン語版Moodleドキュメントで多くの問題が発生しました。
- 「アメリカとイギリスは共通の言語によって隔てられた2つの国である」のと同様に、スペインとメキシコもそうです。スペイン語で書かれたメキシコスペイン語のドキュメンテーションページを参照してください。
- ベネズエラスペイン語(es_ve)は、国際スペイン語の非常に小さな子言語です。
- コロンビアスペイン語(es_co)は、国際スペイン語の非常に小さな子言語です。
- メキシコスペイン語(es_mx)は、メキシコのMoodleユーザのために特別に作られた、非常に新しく、包括的で、独立した言語パックです。
- 子ども向けメキシコスペイン語(es_mx_kids)は、Moodleユーザが目にする最も一般的なメキシコスペイン語のストリングを簡略化したもので、小さな子どもにとってより簡単で適していると考えられています。
- その他の2つの(現在は廃止された)スペイン語の子言語について読むことができます。
他の言語に子言語があるのはなぜですか?
- コード名に-kidsが含まれる言語は、すべて小さな子ども向けに一般的な言語ストリングを簡略化した子言語です。
- 時間があれば、メインの言語パックに対してこのような子ども向けの子言語を1つ用意するとよいでしょう。
- 現在(2025年初め)の子ども向け言語は次のとおりです:
- Deutsch (kids)
- English (kids)
- Español de México para niños(子ども向けメキシコスペイン語)
- Ελληνικά για παιδιά(子ども向けギリシャ語)
- עברית בתי־ספר(子ども向けヘブライ語)
- हिंदी(子ども向けヒンディー語)
- Japanese (kids)
- Português Brasil(子ども向けブラジルポルトガル語)
- ノルウェー語(初等)言語パックは、初等教育向けです。
- 企業向けフィンランド語は、企業向けです。
- 「_wp」で終わる言語は、Moodle Workplace用の補助言語です。これらはMoodle Workplaceを提供している企業によってメンテナンスされています。
翻訳してはいけない項目はありますか?
{波括弧}で囲まれたMoodle変数
次の単語は、{波括弧}で囲まれている場合、Moodleの変数名のプレースホルダです。翻訳してはならず、波括弧の中でそのままにしておく必要があります:
firstname, lastname, username, email, city, country, lang, timezone, mailformat, maildisplay, maildigest, htmleditor, ajax, autosubscribe, institution, department, idnumber, skype, msn, aim, yahoo, icq, phone1, phone2, address, url, description, descriptionformat, password, auth, oldusername, deleted, suspended, course1, course2, course3, course4
これらは、ドキュメンテーションページ(このページなど)のすべての翻訳でも、まったくこのとおりに書く必要があります。ただし、翻訳者が括弧で囲んだ翻訳を添えることはできます。例えば、スペイン語のドキュメンテーションページでは、password(contraseña)のような表記が見られます。
実際のところ、AMOSではどのプレースホルダも翻訳できません。「予約された」$aプロパティの公式な一覧はありません。{$a->xyz}のxyzに何が入っていても、AMOSではそのままにしておく必要があります。
例:
(この場合、メキシコスペイン語に翻訳するときは)次のようにする必要があります:
ただし、日本語のように姓を名の前に置く言語の場合は、次のように翻訳します:
%文字で囲まれたプレースホルダ(%example%)は翻訳してはいけません
Moodle Cloud Signup and Portal stringsローカルプラグインはMoodleCloudへのアクセスに使用され、一部の単語が%文字で囲まれたストリング(例:%date%)がいくつか含まれています。これらの単語は翻訳してはならず、言語パックの翻訳にそのまま正確にコピーする必要がありますが、ストリングのそれ以外の部分は翻訳してもしなくてもかまいません。
- 翻訳できず、そのまま正確にコピーする必要があるストリングの例:
- 1つのプレースホルダ(ハイライト部分)と、簡単に翻訳できる通常のテキストを含むストリングの例:
H5Pの、%または:文字が前に付いたプレースホルダは翻訳してはいけません
Moodle 3.9以降Moodleに統合されているH5Pエディタには、「%」または「:」が前に付いた変数があります。これらは内部で正しい値に変換されるため、翻訳してはいけません。Moodleの波括弧変数と同じように扱ってください。
- 翻訳できず、そのまま正確にコピーする必要がある「%」付きの変数の例:
"Parameters contain %used while only %supported or earlier are supported." この場合、%usedおよび%supportedは翻訳してはいけません。そのため、例えばスペイン語の翻訳は次のようなものになります: "Parámetros contiene %used mientras que sólo se soportan %supported o anterior."
- 翻訳できず、そのまま正確にコピーする必要がある「:」付きの変数の例:
"The :property value exceeds the maximum of :max." この場合、:propertyおよび:maxは翻訳してはいけません。このストリングのスペイン語の翻訳は次のようなものになります: "El valor de :property excede el máximo de :max."
すべてのフィールド名は英語のままにする必要があります
- これらの名前はソフトウェアで使用されるフックです。翻訳しないでください。
- Moodle 3.1のファイルtool_uploadcourseのストリングuploadcourses_helpの次の例を参照してください:
- ストリングのテキストでは、これらの単語(緑の四角で囲まれた部分)がフィールド名であることが示されている(赤の四角)点に注目してください。また、スペイン語の翻訳では、段落の最後の部分(así escritos, en inglés)で、これらのフィールド名をここに書かれているとおり英語で書く必要があることが明示されている点にも注目してください。
- Moodleで使用されているフィールド名には、次のようなものがあります:
category, category_id, category_idnumber, category_path, context, course, description, descriptionformat, email, enrolmentkey, firstname, fullname, groupname, hidepicture, idnumber, intro, lastname, maxgrade, maxrequest, name, password, picture, section, shortname, teachers, timeopen, timeclose, timeend, timestart, username, visible,
- これらのフィールド名が出てくるストリングの例としては、uploadcohorts_help | core_cohort、importgroups_help | core_group、uploadcourses_help | tool_uploadcourseおよびuploadusers_help | tool_uploaduserがあります。
- これらのフィールド名は、実際のフィールド名として(翻訳してはいけません)出てくる場合もあれば、別のコンテクストで通常の単語として(翻訳でき、翻訳する必要があります)出てくる場合もあります。注意を払い、可能であれば、実際のサーバまたはテストサーバでいくつかのデータを使って翻訳をテストし、Moodleが正しく動作することを常に確認してください。
h5plib_v126の変数
ファイルh5plib_v126で:somethingのように書かれている変数は、翻訳してはいけません。例:
:entity :property :language :contentType :owner
<a href="../に続くローカルアドレス
言語ストリング内の<a href="../を含むアドレスは、Moodleサーバ内の特定のURLを参照しています。式のアドレス部分はそのままにしておく必要がありますが、説明的な名前の部分は翻訳できます。次の例を参照してください:
noassignableroles | tool_cohortautoroles There are currently no roles that can be assigned in the user context. <a href="../../roles/manage.php">Manage roles</a>
- <a href="../../roles/manage.php">の部分はそのままにしておく必要があります。これは、ロールを管理するために実行される、Moodleサーバ内のPHPコードを参照しているためです。
- 「Manage roles」は翻訳できます/翻訳すべきです/翻訳する必要があります。
- 末尾の</a>を残すことを忘れないでください。
<nowiki><a href="http://docs.moodle.org/en/</nowiki>
に続くMoodleドキュメントのアドレス
<nowiki><a href="http://docs.moodle.org/en/</nowiki>
言語ストリング内の
<nowiki><a href="http://docs.moodle.org/en/ </nowiki>
を含むアドレスは、英語版Moodleドキュメントの特定のURLを参照しています。そのアドレスを確認し、自分の言語にそのページの有効な翻訳がある場合に限り、元の英語版ドキュメントのアドレスを自分の言語のアドレスに置き換えることができます/置き換えるべきです。次の例を参照してください:
core backup | nonisowarning Warning: this backup is from a non-Unicode version of Moodle (pre 1.6). If this backup contains any non-ISO-8859-1 texts then they may be CORRUPTED if you try to restore them to this Unicode version of Moodle. See the <a href="http://docs.moodle.org/en/Backup_FAQ">Backup FAQ</a> for more information about how to recover this backup correctly.
- このページには6つの異なる言語の翻訳があります。そのため、このアドレスを置き換えられるのは、自分の言語がそれらのいずれかである場合だけです。
<a href="http://に続くその他のインターネットアドレス
- Moodleドキュメントのアドレスと同じように進める必要があります:
- 例:
auth_radius | auth_radiusdescription This method uses a <a href="http://en.wikipedia.org/wiki/RADIUS">RADIUS</a> server to check whether a given username and password is valid.
- RADIUSサーバに関する(英語版Wikipediaの)ページを確認し、このアドレスをそのままにするか、自分の言語の対応するWikipediaの翻訳に置き換えるかを判断できます。
翻訳してはいけないHTMLコード
次のHTMLコードは予約語であり、翻訳してはいけません。ただし、翻訳でそれらを残すかどうか、また残す場合に並べ替えてよいかどうかを判断するために、翻訳者がその意味を理解しておくことは重要です。
- - ノーブレークスペース。つまり、スペースですが、行末でこのスペースの代わりに改行が挿入されることはありません。
 
- および
&ensp
- それぞれenスペースとemスペースを表します。enスペースは現在のフォントのポイントサイズの半分、emスペースはポイントサイズと同じです。固定ピッチフォントの場合、ユーザエージェントはenスペースを1つのスペース文字、emスペースを2つのスペース文字と同等に扱うことができます。&emsp
- - アンパサンド記号(&)
&
- - アポストロフィ記号(')
&apos
- - 著作権記号(©)
©
- - 「プラスマイナス」記号(±)
±
- - 乗算記号(*)
×
- - 除算記号(/)
÷
- - 「大なり」記号( > )
>
- - 「小なり」記号(<)
<
- - 引用符(‘)
«
- - 左一重引用符(‘)
&lsquo
- - 右一重引用符(’)
&rsquo
- - ダイエレシス付きの小文字o(ö)
ö
- - emダッシュ記号(—)
&mdash
計算関数は翻訳してはいけません
計算関数は等号(=)で始まります。その後に、システムでサポートされている演算子と関数を使用した式が続きます。 ファイル:DO NOT translate calculation functions.png
core_langconfigの「thisdirection」および「thisdirectionvertical」ストリングは決して翻訳してはいけません
core_langconfigの「thisdirection」および「thisdirectionvertical」ストリングは、翻訳されることを意図した変数ではないため、決して翻訳してはいけません。これらは、テーマが左から右に書く言語または右から左に書く言語を表示するために使用する接頭辞のセレクタです。これらの変数に関する問題の詳細をお読みください。
MoodleBox
「MoodleBox」という単語は、すべての言語でそのままにしておく必要があります。
Safe Exam Browser
Safe Exam Browserの主開発者からのフィードバック:
このソフトウェアはどの言語でも「Safe Exam Browser」と呼ばれており、アプリケーションの名前は翻訳しません。そのため、どのプラグインでもこれを翻訳するのは意味がありません。「Safe Exam Browser (Navegador de Examen Seguro)」のように、サブタイトルや括弧内で使用することはできます。
言語パック内のすべてのプレースホルダの整合性をチェックする方法はありますか?
- 現時点ではありません。MDL-51775 を参照してください。
- この方法を使用して整合性をチェックできます:
- Moodleのローカルインスタンスに言語パックを読み込みます。
- 翻訳メモリを生成するために、言語パックを言語カスタマイゼーションツールに読み込み、テキストをデータベースに読み込ませます。
- ファイル(tm_generator.txt)内のSQLインスタンスを実行します。
- クエリの結果をtemplate.tmxファイルに挿入します。
- 結果として、Checkmateで分析できる翻訳メモリができます。
- 問題点:Checkmateで許可されていない文字のために多くのエラーが発生する可能性が高く、一部の翻訳単位を手動で削除する必要があります。その後、いくつかの考えられるエラーを示すレポートが得られます(添付画像を参照してください)。
- もちろん、Moodleに統合された品質チェックシステムがあれば素晴らしいでしょう。MDL-51775 に投票してください。
- ファイルtm_generator.txtの内容は次のとおりです(言語をeuから自分の言語に変更してください):
SELECT concat('<tu tuid="',mdl_tool_customlang_components.name,'|',mdl_tool_customlang.stringid,'">
<tuv xml:lang="en"><seg>',mdl_tool_customlang.original,'</seg></tuv>
<tuv xml:lang="',mdl_tool_customlang.lang,'"><seg>',mdl_tool_customlang.master,'</seg></tuv>
</tu>') as txt
FROM mdl_tool_customlang INNER JOIN mdl_tool_customlang_components ON mdl_tool_customlang.componentid = mdl_tool_customlang_components.id
WHERE (((mdl_tool_customlang.lang)="eu") AND ((mdl_tool_customlang.original) Is Not Null) AND ((mdl_tool_customlang.master) <>mdl_tool_customlang.original));
- template.tmxファイルの内容は次のとおりです:
<?xml version="1.0" encoding="UTF-8"?>
<tmx version="1.4"><header creationtool="SQLQuery" creationtoolversion="unknown" segtype="paragraph" o-tmf="unknown" adminlang="en" srclang="en" datatype="unknown"></header><body>
PLACE HERE THE RESULT OF THE SQL QUERY </body> </tmx>
名詞か動詞かわからない英単語はどのように翻訳すればよいですか?
例えば、英語の単語「Grade」は名詞にも動詞にもなりますが、多くの言語では名詞と動詞で異なる単語を使います。例えばスペイン語には「Calificación」(名詞)と「Calificar」(動詞)があります。ストリングの名前(ストリング識別子)がgradenounかgradeverbかを確認してください。サードパーティのプラグインの一部である場合は、プラグインのメンテナに連絡してください。
標準のMoodleでわからないその他の単語については、フォーラムUsing AMOS tool for language pack translationで質問できます。コードの変更が必要な場合は、誰かがトラッカーのイシューを作成します。
翻訳メモリとは何ですか?また、Moodleの言語パックから翻訳メモリを作成するにはどうすればよいですか?
Moodleドキュメントの翻訳に協力するにはどうすればよいですか?
ガイド「Moodleドキュメントの翻訳」を参照してください。
ストリングのコンテクストを知るにはどうすればよいですか?
ユーザドキュメントの「コンポーネントおよびストリング識別子の検索」および「言語FAQ」で説明されている方法で、言語ストリングがどこにあるかを調べることができます。
2つのウィンドウを使用し(2台のモニタを使用してもよいでしょう)、一方に英語のページを、もう一方に自分の言語のページを表示するとよいかもしれません。
元の英語の言語ストリングに複数の意味があると思われ、どれが当てはまるか推測できない場合は、AMOS翻訳フォーラムに投稿してください。
翻訳できるMoodleのエラーメッセージの一覧はありますか?
エラーメッセージは、ユーザドキュメントのCategory:Errorに一覧表示されています。
複数の(異なる)Moodleブランチでプラグインの翻訳をテストするにはどうすればよいですか?
- Linux
- これらの手順に従うと、1台のUbuntu(またはその他のLinuxディストリビューション)マシンで複数のMoodleブランチを使用できます。
- Windows
- Windows(7、8、10)PCの異なるフォルダに、複数のローカルMoodleサーバを置くことができます。あるブランチのサーバを起動して作業し、停止してから別のブランチを起動するのはとても簡単です。
- Mac
- これについては書く必要があります……
言語パックをオフラインで翻訳できますか?/英語以外の言語をソース言語として使用できますか?
はい、できます。ただし、問題を引き起こすリスクが高いため、お勧めしません(サイトは言語パックを自動的に更新するため、問題はすぐに世界中に広がることを忘れないでください)。 問題の1つは、未翻訳のストリングや誤った言語のストリングを言語パックに含めることは絶対に避けなければならないことです。これは決してあってはなりません。もう1つの問題は、どのストリングがすでに翻訳されているかを知る方法がないことです。また、構文エラーのリスクも高くなります。どうしても必要な場合は、次の手順に従うことができます:
- 英語の言語パック(別のソース言語を使用したい場合は別の言語パック)をダウンロードします。
- PHPファイルで直接翻訳します。できれば構文ハイライト機能のあるもの(Geany、Gedit、WindowsのNotepad++など)を使用してください。
- 重要:アップロードする前に、未翻訳の行をすべてファイルから削除してください。そのため、1行ずつ翻訳し、元のソースファイルを保持しておくと、処理した行番号の記録を使って作業できるのでおそらく最善です。
- https://docs.moodle.org/en/AMOS_manual#Importing_a_file のマニュアルに従って、ファイルを翻訳ポータルにインポートします(重要:ZIPファイルにはフォルダを含めることはできません)。
H5Pコンテンツタイプを翻訳するにはどうすればよいですか?
H5Pコンテンツタイプは、GitHubで言語ファイルを編集し、プルリクエストを作成することで翻訳できます。
詳細は、H5P Contributing のセクション「Translating Content Types」およびAdding content type translations via GitHubを参照してください。
使用しているすべてのサードパーティのプラグインの翻訳を完成させるにはどうすればよいですか?
- https://yourmoodlesite/moodle/admin/plugins.php?updatesonly=0&contribonly=1 にアクセスして、使用しているすべてのサードパーティのプラグインの一覧を作成します。
- サードパーティのストリングの一覧を一時ファイルtemp.txtにコピーします。
- Linuxコマンド を使用して、Moodle翻訳サイトにアクセスし、不足しているものを確認するためのパーマリンクを生成します。モジュール名以外のものがいくつか含まれている可能性があるため、リンクを整理する必要がありますが、結果として、Moodle翻訳サーバ上でサイトに不足している、または古くなっているすべての翻訳を表示するリンクが得られます。そこにいる間に、ぜひ修正してください ;-)
echo "https://lang.moodle.org/local/amos/view.php?c="`grep _ temp.txt | tr "\n" ","`"&s&d&m=1"
関連項目
- 既存の言語パックを編集する方法については、ユーザドキュメントの言語カスタマイゼーションを参照してください。
- Generating a translation memory and running a quality testフォーラムディスカッション
- translation in contextフォーラムディスカッション



