翻訳
Moodleは、多言語化できるよう設計されています。Moodleインターフェースの一部として、それぞれの「ストリング」または「ページ」のテキストが一連の言語ファイルより表示されます。
Moodle言語パックの構造
Moodle 1.6
- すべてのMoodle言語パックは、「ja」「es」「nl」のような独自のフォルダ名が付けられ「lang」フォルダ内に入ります。Moodle 1.6以降、「lang」フォルダは「moodledata」内に入れられ、言語パックのフォルダには、「ja_utf8」「es_utf8」「nl_utf8」のようにUTF-8言語パックのフォルダ名が付けられます。デフォルトの英語言語パック「en_utf8」は、データベース移行処理の前に1.5から1.6へのアップグレードで使用するため、今までどおり「moodle/lang」の中に、小さな非UTF-8バージョン(en)と共に入れられます。
- すべてのメインファイルは、.php拡張子が付いて「lang/xx_utf8」フォルダの中にあります ( 例 moodle.php、resource.php等 )。これらのファイルには、しばしば「ストリング - string」と呼ばれる短い言葉が含まれています。それぞれのストリングは、変数の置換および異なる言語の表示をサポートします。
例 $strdueby = get_string("assignmentdueby", "assignment", userdate($date));
- 特定の言語でストリングが存在しない場合、代わりに該当する英語のストリングが自動的に使用されます。
- 文脈依存のヘルプファイルをポップアップするため、HTMLページを含んだ「ヘルプ」フォルダもあります。
- インストール用の言語パックは「install/lang」フォルダの中にあります。これらの言語パックには、インストール処理に必要なストリングのみ含まれています。ファイルは、毎晩自動的に download.moodle.orgサーバで生成されますので、手動で変更しないでください。翻訳者にとっては不思議な経験だと思いますが、インストールスクリプトで使用されているストリングを追加した場合、24時間後までMoodle 1.6のダウンロードで見ることはできません。
新しい言語パックの作成
あなたの言語がMoodleでサポートされていない場合、新しく翻訳を始めてみてください。新しい言語の翻訳を開始した場合、翻訳コーディネーターのKoen roggemansにご連絡ください (translation@moodle.org)。また、Using MoodleのLanguages Forumにも、新たに翻訳を始めたことに関して投稿してください。
あなたが行うべきことは、あなたの言語の2文字コードを使用して、新たな言語ディレクトリを作成することです。これらの標準コードは、 lib/languages.phpで見ることができます。既存の言語のローカルバージョンを作成する場合、言語の2文字コードに、アンダースコアと意味のある2文字拡張子を付加してください ( 例 ポルトガル語 = pt / ポルトガル語のブラジル語バージョン = pt_br / ポルトガル語ユニコード = pt_utf8 / ポルトガル語のブラジル語ユニコードバージョン = pt_br_utf8 )。 ユニコードバージョンの言語パックを作成する場合、末尾に「_utf8」を付加してください。Moodle 1.6以降、Moodleは常にユニコードで動作しますので、言語パックには標準で末尾に「_utf8」が付加されています。
次に、あなたの新しい言語パック用ディレクトリに、他の言語パックより「langconfig.php」をコピーしてください。「en_utf8」フォルダからコピーするのがベストです。
これで、言語パックに新しい文字列を追加する準備ができました。詳細は下記をご覧ください。
あなたがlangcache設定を「Yes」にしている場合、ドロップダウンリストに新しい言語がすぐに表示されませんので注意してください。
Moodle 1.6
Moodle 1.6以降、文字コードとしてUTF-8のみ使用されます。この設定は、各言語パックディレクトリの「langconfig.php」にある「thiscarset」変数 ( $string['thischarset'] = 'UTF-8'; ) に記述してありますが、変更しないでください。「langconfig.php」にある他の設定は、あなたの言語パックの日付表記法、ロケール設定、文字の方向等です。これらの変数は変更することが可能です。編修作業には注意してください! ;-)
既存の言語ファイルの編集
小規模なカスタマイズ
あなたのサイトをより良くするため、インターフェースを少しだけ変更したい場合、標準の言語パックを編集しないでください。標準の言語パックを編集した場合、次に管理画面を使用して言語パックを更新する時に、変更内容が上書きされてしまいます。
代わりに新しい言語パックを作成して、「parentlanguage」ストリング (langconfig.php内) に、あなたの言語に最も近い言語コード (例 ja_utf8 ) を追加してください。ここで指定した言語はMoodleによってチェックされ、あなたの新しい言語パックで必要なストリングが含まれていない部分を補います。
Moodle 1.6以前のバージョンでは、ローカル英語言語パックの名称は「en_local」にすると良いでしょう。そして、親言語を「en」または「en_us」に設定してください。
$string['parentlanguage'] = 'en';
あなたの「en_local」言語パックの中に、「thislanguage」ストリングを作成する必要がありますので注意してください:
$string['thislanguage'] = 'English at OCU';
Moodle 1.5.x およびそれ以前のバージョンでは、すべてのユーザがあなたの新しい言語パックを選択できることを確認してください。ユーザはプロフィールページで言語を変更することができます。SQLコマンドを使用して、あなたがすべての言語設定を一括変更することもできます。また、「管理 >> 言語設定 >> 言語設定」にて、利用可能な言語を制限することもできます。
Moodle 1.6
Moodle 1.6で開始する場合、最良の方法は「xxxx_local」と呼ばれる新しい言語ディレクトリを作成することです。「xxxx」はあなたが修正したい言語パックの名称です (例 es_utf8_local または ja_utf8_local)。この新しいローカル言語パックは、メインの言語パックの前に自動的にチェックされます。ローカル言語パックには、変更部分のみ含ませてください (あなたが変更した言語パックすべてが必要なわけではありません)。ローカル言語パックは、Moodleサイトの言語メニューに表示されませんので、あなたは設定を変更する必要はありません。
あなたが1つの言語パックの変形版を複数作りたい場合、Moodle 1.5以降のバージョンで記述されている「parentlanguage」を使用する方法も動作します。この場合、さらに「thislanguage」ストリングを追加する必要があります。Moodle 1.6では、「thislanguage」ストリングを「moodle.php」にではなく、「langconfig.php」に追加してください。
Moodle 1.9
Moodle 1.9以降では、間違ってメインの言語パックを変更することはできません。あなたの言語パック修正内容は、デフォルトで「xxxx_local」に保存されます。
Moodleインターフェース言語ファイルの翻訳 ( 「ストリング」ファイル )
- あなたのMoodleサーバに管理者としてログインしてください。
- 管理 >> 設定 >> 言語設定 から言語管理ページへ移動してください。
- このページで、あなたの言語をメニューから選択することができます。「翻訳ストリングの編集」を選択してください。
- 各ファイルを編集できるフォームが表示されます。表示されない場合、ファイルに書き込み権が与えられているか確認してください - ファイルのパーミッションを変更してください。
- フォームは、3つのカラムから構成されます。最初は各ストリングの名称、2番目は英語のストリング、そして最後は現在の言語の翻訳内容です。
- 各ファイルの未翻訳ストリング ( ハイライトされています ) を編集して、各フォーム下部にある「変更を保存する」ボタンを忘れずにクリックしてください。
- ストリングを空のままにすることもOKです - Moodleは、代わりにそのストリングの親言語のストリングを使用します。親言語をmoodle.phpで設定することができます。そうでなければ英語が常にデフォルトの親言語として使用されます。
- すべての未翻訳ストリングを確認する早い方法は「未翻訳ストリングの確認」ボタンを使用することです。未翻訳ストリングを完全に空にしてください。そうでなければ、この便利なツールは動作しません。
ヘルプファイルの翻訳
ヘルプファイルを翻訳するため、Moodleには内蔵エディタがあります。内蔵エディタは、参照言語としてen_utf8言語パックを使用します。言語パックの起こり得る問題を修正し、古い翻訳を警告およびマーク (ドロップダウン中でアスタリス) し、ユニコードを処理することのできるMoodle内蔵エディタの使用を強くお勧めします。
あなたが参照用言語パックとして英語以外の言語を使用したい場合 (良いアイディアではありません)、参照用言語パックのヘルプファイルをコピーして、あなたの言語パックの場所にペーストしてください。そして、ユニコードをサポートしているテキストエディタを使用して、ファイルを翻訳してください。ファイル内のコードは変更しないでください (通常、HTMLタグのみでコードはありません)。多くのゴミが追加される場合がありますので、ヘルプファイルの翻訳にワードプロセッサ等のプログラムを使用しないでください。それから、あなたの言語パック内に未翻訳または空のヘルプファイルを残さないでください。
ヘルプファイルの作成には、XHTMLに準拠することを配慮してください。短く言えば以下のことです:
- すべてのタグは閉じてください。
<p>lalala</p>
- すべての要素はネスト化してください。
<p> lalala <em>lalala</em> </p>
- すべての要素および属性には小文字を使用してください。
- すべての属性は引用符の中に完全な形で記述してください。
<p align="right"> lalala </p>
- 空の要素は /> で終わらせてください。
<br /> <hr />
"/" 記号の前には余分なスペースを入れてください。 - <img には alt="" (空白でもOK) を含み、他の空の要素と同じく
<img alt="" src="picture.gif" />
のようにスペースおよび /> で閉じる必要があります。 - <?= は <? にしてください。
<?php
- いかなるフォントタグも使用しないでください。言語ファイルには、
<p><em> <h1> <h2>
等のタグで十分です ...
ヘルプフォルダ内のファイルには、文書型定義、「html、body、headの開始タグおよび終了タグ」は不要です - これらのファイルは、「help.php」によりインクルードされます。このスクリプトはページの体裁を整えます。このことは、HTMLの創造性の余地がそれほどないことを意味します! 英語のヘルプファイルに準拠してください。
Moodle 1.6
docsフォルダのファイルは、文書型定義、header等を含み、完全にXHTMLに準拠する必要があります。Moodle 1.6より、docsフォルダのファイルは、このwikiに移動されました。
言語管理画面の「未翻訳ストリングの確認」をクリックすることで、どのファイルが不足しているか確認することができます。不足しているファイルがある場合、Moodleは代わりに親言語ファイルを使用します。この便利なツールが動作しなくなりますので、未翻訳のヘルプファイルをあなたの言語パックのフォルダに入れないでください。
Moodleプロジェクトにあなたの言語パックを投稿
あなたの翻訳をMoodleと共有することは、確実にあなたの言語を話す他の人々の役に立つことになります。あなたのインターフェース言語は、将来のMoodleバージョンで利用できるようになります。
あなたの新しい言語ディレクトリをzipファイルにアーカイブして、translation@moodle.org 宛にメールでお送りください。
あらためて詳細な情報をお送りします。
コミットする前のチェックリスト:
- 空のファイルがありませんか?
- 未翻訳のファイルまたはストリングがありませんか?
- ワードプロセッサで編集したファイルがありませんか?
- 翻訳者の言語、氏名、メールアドレスが含まれたREADMEファイルがありますか?
- フォルダ名に正しい言語コード ( moodle\lib\languages.phpを確認してください ) を使用していますか?
- 言語ファイルは、テストサイト上でエラーなしで動作しますか?
- ストリングおよびファイルは、XHTMLに準拠していますか?
- 正しいlangconfig.phpがありますか?
標準言語パックのメンテナンス
あなたがMoodleの言語パックをメンテナンスしている場合、最新バージョンのMoodleを入手して、あなたの変更を簡単に直接Moodleプロジェクトへ「登録」することができるMoodle CVSの利用が最良です。
Moodle 1.6
翻訳には常にHEADを使用してください。Moodle 1.6まではメインコードの中にある言語パックを修正していましたが、Moodle 1.6以降のバージョンでは、「dataroot/lang」ディレクトリの言語パックを修正することになります。
- 常に最新のMoodleコードをチェックアウトしてください。
- あなたのサイトをアップグレードしてください。もちろん、翻訳には運用環境以外のサーバを利用してください。
- あなたのdatarootディレクトリに移動して、CVSから新しいlandディレクトリをチェックアウトしてください。Unix/Linxでは次のようになります:
cd moodledata (for example) cvs -z3 -d:ext:me@moodle.cvs.sourceforge.net:/cvsroot/moodle co lang
また、Windows版のTortoiseCVSを使用すると次のようになります:
right click on your dataroot folder, choose "CVS Checkout", CVSROOT field: :ext:sfusername@moodle.cvs.sourceforge.net:/cvsroot/moodle Module: lang
- Moodle 1.6以前のバージョンであなたが翻訳したように、Moodle GUIを使用して言語ファイルの編集を継続してください。
翻訳したファイルをCVSに登録するには、/dataroot/langディレクトリに移動して、あなたの変更をコミットしてください。
あなたが本当にMoodle 1.5またはそれ以前の言語パックを更新したい場合、あなたの言語パックをZIP圧縮して、translation@moodle.orgに送信してください。moodle/lang/xxへのCVS書き込み権限は、lang/xxx_utf8へ移動しました。
この設定に関して手助けが必要な場合、translation@moodle.orgにご連絡ください。
Moodleのサードバーティコンポーネントの翻訳
Moodleのサードパーティモジュールおよびプラグイン (モジュール、ブロック、フィルタ、認証プラグイン、課題タイプ、データフィールド、データプリセット、登録プラグイン、コースフォーマット、問題タイプ、コースレポート、小テストレポート、リソースタイプ) の言語ファイルは、 モジュールまたはプラグインフォルダ内のlangフォルダにあります - 例「moodle/mod/modulename/lang/ja_utf8」。あなたがこのようなモジュールを翻訳したい場合、モジュールまたはプラグインの「lang/en_utf8」フォルダにある英語の言語ファイルをベースにしてください。文字コードUTF-8を利用できるテキストエディタを使用して、このファイルを翻訳し、モジュールまたはプラグインの適切な新しい言語フォルダ「/lang/XX_utf8/finename.php」に保存してください。モジュールまたはプラグインのreadmeファイルに開発者のメールアドレスが記載されていると思いますので、忘れずに翻訳済みファイルを開発者にメール送信してください。このことであなたの作業がMoodleアップグレード等で失われることなく、他のMoodlerに利用できるようになることを確実にします。
関連情報
- Using Moodle 言語フォーラム - 翻訳者に影響する事柄に関するニュースおよびディスカッション - 英語
- 翻訳謝辞 (Translation credits) - 英語
- プロジェクトの変更内容に関して日々情報を得るため、CVSメーリングリストへの登録をお勧めします。このことにより、あなたの翻訳を可能な限りオリジナルの英語テキストに近づけることができます。