Help:Extension:Translate/Unstructured element translation/ja

このページではカスタマイズしたシステム メッセージを翻訳するときに、翻訳拡張機能を利用して処理しやすくする方法を説明します. ウィキの、必ずユーザーの UI 言語で自動表示するべき箇所で使用できます. 最もよくある例は、通常、1 セットだけ翻訳すれば済むサイドバーですが、本文ページでも同一タイトルのページ内または複数のテンプレート群でさえ、翻訳を一括処理する場合にこの拡張機能を利用できます.

この方法は、ページ全体を翻訳することが適さないウィキ本文、つまり本文中の翻訳者に見せたくないマークアップ、マークアップが過剰なページ、テンプレートなどにも適用できます. This all revolves around interface messages, or the magic word, that allows you to include interface messages anywhere where you can write wikitext. This magic word allows to automatically substitute the interface message, whether standard, customized or new, in the user interface language.

ウィキのインターフェイスの自動地域化の機能は、ウィキの本文にも適用できますが、インターフェイスの言語を既定の言語から変更できない匿名利用者の問題は解決できません. 下記の 言語の選択の節にある注釈をご覧ください.

ページの翻訳と比較して、この手法にはいくつかの難点があります.


 * 1) MediaWiki 開発者は通常、キャッシュを不安定にする  マジックワードの使用を推奨しません.  を使用すると、そのページの特定のバージョンのキャッシュをレンダリングして格納するのではなく、潜在的に何百もの異なる言語でキャッシュする必要があるのです.
 * 2) 設定が複雑で、wiki の設定にアクセス権が必要です.
 * 3) 古くなった翻訳を自動的に追跡する機能がなく、新しいメッセージが追加/削除された際に完成度の統計が無効になるかもしれません.
 * 4) メッセージ群の翻訳やメッセージの追加ができるのは、ウィキ管理者のみです. そのためこのシステムの使用はあまり変更しないページに限定される、言い換えるなら頻繁に更新するページで用いると管理者の仕事を増やしてしまうことになります.

それでも利点はあり、多くの場合、この拡張機能は有効でジョブを完了します. 一般的な使用法のチュートリアルを2件紹介する前に、次の節では、この方法を導入するには必須の前処理として、メッセージ群の設定方法を説明します.

セットアップ
サーバー管理者はこの手順を完了する必要があります. 以下のスニペットを LocalSettings.php に追加する必要があります.

メッセージ群 iD は固有である必要があり、同じ ID を複数の群で再利用してはいけません. コンストラクター$wiki-msg-group の第2引数$sidebar-msg-paramはページ$sidebar-msg-pageを意味しています. ラベルは、メッセージ群を選択できるドロップダウン他の場所で使用されます. 説明は$spec-translateに表示されます. これらの値は可変で、新しいメッセージ群を追加する際には、必ず適切な値に変更し直さなければいけません. The second parameter to the  constructor, , refers to the MediaWiki:Sidebar-messages page. The label is shown in dropdowns and other places where you can select a message group. The description is shown in Special:Translate. Those are the values you can and should change to what suits your wiki when adding a new custom message group.

地域化されたサイドバーのチュートリアル
セットアップの手順が既に済んでいることを想定しています. サイドバーのカスタマイズ ガイドの手順に注意深く従ってください. 以下のようなシンプルなサイドバーを作成したと想定します:


 * sidebar-commonpages
 * FAQ|sidebar-faq

そして、 MediaWiki:Sidebar-commonpages contains の内容は  で、 MediaWiki:Sidebar-faq の内容は   です.

あとは MediaWiki:Sidebar-messages (または前の手順で定義したもの) に移動して、以下のように書くだけです:

sidebar-commonpages sidebar-faq

つまり、これは名前空間名「MediaWiki:」を除いたシステムメッセージ名を、空白で区切って列挙したものです.

さらに、 Special:Translate/wiki-sidebar (または前の手順で定義したもの. 定義済みの群については Special:Translate をご覧ください. ) に移動してください. これでメッセージを他の言語に翻訳できるようになりました. すべてのメッセージが MediaWiki 名前空間にあるため、メッセージの一覧を編集したり実際に翻訳したりできるのはウィキの管理者のみです.

地域化されたメインページのチュートリアル
マークアップやテンプレートが多いページでも、翻訳拡張機能を使えます. その長所はメッセージが最初からユーザーのシステム言語で表示される点です. 短所はページを表示する言語を変更するには、個人設定で言語を選び直さなければならない点です.

作業手順は前述のチュートリアルと同様です:


 * 1) 新しいメッセージ群を用意します
 * 2) ウィキページを開きます
 * 3) 翻訳対象の部分を  に置換して、その内容を MediaWiki:Mainpage-messagename に移動します
 * 4) MediaWiki:Mainpage-messages (or what was defined in the setup) に移動して、メッセージ名を空白区切りで追加します
 * 5) これで完了です. Special:Translate でメインページを翻訳してください.

例を示します. 以下の内容の Main Page を作成します:

 is a community for chefs and bakers that love chocolate. We currently have pages full of chocolate.

そしてこれを以下のように変更します:



以下の内容の MediaWiki:Mainpage-slogan を作成します:

is a community for chefs and bakers that love chocolate.

以下の内容の MediaWiki:Mainpage-pagecount を作成します:

We currently have pages full of chocolate.

以下の内容の MediaWiki:Mainpage-messages を作成します:

mainpage-slogan mainpage-pagecount

これで完了です! 新しいメッセージを、いつでも追加/除去できます.

言語の選択
利用者がページの言語を切り替えるのに個人設定を変更する必要があるだけでなく、匿名の利用者はインターフェイスの言語を変更できずに常にウィキの既定の言語を使用することになります. 匿名の利用者に言語を変更する方法を提供しない場合、このシステムで翻訳したページは既定の言語で表示されます.

幸運なことに解決策があります. 拡張機能を使用すると、利用者の好みの言語を推測でき、利用者が手動で他の言語を選択したり、その設定を Cookie に保存することもできます. これには (ほぼデバッグのみに使用する)  パラメーターのようなトリックは不要です.