Help:Extension:Translate/Unstructured element translation/ja

This page explains how to make translation of customized wiki interfaces messages a bit more manageable, with the Translate extension. It applies to any part of the wiki which you want to automatically provide in the user's interface language. The most typical example is the sidebar, because there can be only one, but the same method can be used for the main page, if you want to have all translations of it under the same title, or even for templates.

ページ全体の翻訳が適さないウィキ本文にも、この方法を適用できます. ページ全体の翻訳が適さないものとは、マークアップを翻訳者に見せたくないような、マークアップが多いページや、テンプレートなどです. これは、インターフェイス メッセージや、 マジック ワード (ウィキテキストを書ける場所ならどこにあるインターフェイス メッセージも取り込めるようにする) を実現します. このマジック ワードは、ユーザー インターフェイス言語における標準/カスタマイズ済み/新規のインターフェイス メッセージを、自動的に展開できるようにします.

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

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


 * 1) MediaWiki developers usually discourage the usage of  because it fragments the cache. Instead of storing one cached rendered version of a page, when  is used it needs to be cached potentially in hundreds of different languages.
 * 2) It is harder to setup, requiring access to wiki configuration.
 * 3) There is no automatic tracking of outdated translations and completion statistics might be off when new messages are added or deleted.
 * 4) Only wiki administrators can add messages to the message groups and translate them. This means that the system is suitable only for pages which don't change often, or administrators will have a lot of work.

The good thing is that it works most of the time and you can still get the job done. There are two tutorials that provide examples of the common use cases. Before that there is section which details how to set up a message group, something which is always needed when using this method.

セットアップ
サーバー管理者はこの手順を完了する必要があります. 以下のスニペットを LocalSettings.php に追加する必要があります. メッセージ群 iD  は固有である必要があり、同じ ID を複数の群で再使用してはいけません. コンストラクター  はページ Mediawiki:Sidebar-messages を意味しています. ラベルは、メッセージ群を選択できるドロップダウンや他の場所で使用されます. 説明は、Special:Translate に表示されます. これらの値を変更でき、そしてこれらの値を、新しいメッセージ群を追加する際に適切な値に変更する必要があります.

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

あとは MediaWiki:Sidebar-messages (または前の手順で定義したもの) に移動して、以下のように書くだけです: sidebar-commonpages sidebar-faq つまり、これは名前空間名「MediaWiki:」を除いたシステムメッセージ名を、空白で区切って列挙したものです.

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

地域化されたメインページのチュートリアル
Another use case is a page with lots of markup or templates. See the main page of translatewiki.net for example. The advantage of this method is that the language automatically appears in the user's interface language. The drawback is that to change the language in which the page is displayed, the interface language must be changed.

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


 * 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 full of chocolate. そしてこれを以下のように変更します: 

以下の内容の MediaWiki:Mainpage-slogan を作成します: is a community for chefs and bakers that love chocolate. 以下の内容の MediaWiki:Mainpage-pagecount を作成します: We currently have full of chocolate. 以下の内容の MediaWiki:Mainpage-messages を作成します: mainpage-slogan mainpage-pagecount これで完了です! 新しいメッセージを、いつでも追加/除去できます.

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

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