Help:Extension:Translate/Translation aids/ja

翻訳支援 (あるいは翻訳ヘルパーとも) は翻訳中に役立つ必要な情報を翻訳者に提供する、モジュール群のことを指します. 翻訳支援には種類があり、翻訳メモリや機械翻訳の訳文、メッセージに関する説明文書、あるいはメッセージの定義 – 翻訳の必要がある文までお勧めします.

message collectionと翻訳支援が提供するデータには重複が見られますが、基本的にメッセージ収集機能にはメッセージの一覧を抽出するために欠かせない情報しか提供できません. それらはつまり定義、翻訳、翻訳状況、直前の翻訳者 (査読できるのは自分以外の人の訳文に限定されるため) 等に相当します.

翻訳にはたくさんの支援クラスが伴います. 翻訳支援機能クラスを拡張するどのクラスも、唯一、 と呼ばれる方式を実装するだけで処理します. 返す情報は構造化 (入れ子状の列) されます. これらのモジュールはPHPから直接呼び出すか、WebAPIを介することもできます.

MediaWiki 内での翻訳支援の使用方法
メッセージの説明文書を利用できる場合にそれを取得する、単純な例です.

翻訳支援 API の使用方法
上記の例で見たとおり、翻訳支援はWebAPIを介して利用でき、その場合、MediaWiki WebAPIのフレームワークを使用します. 翻訳支援の利用手順は簡単で、URL http://translatewiki.net/w/api.php?action=translationaids&title=MediaWiki%3AJan%2Fde の入手にHTTP GETを当てるのと同様です. 書式は何種類かありますが、JSON及びXMLが最も一般的に利用されています. このAPIには認証は不要ですが、翻訳支援によっては、「inotherlanguages」のように使用言語の判定に利用者の個人設定を使用します. 左記の翻訳支援は、MediaWiki WebAPIの説明文書に書いてあるとおり、ログインしてから使います.

以下のようなデータが返ってくるはずです (読みやすく整形した JSON 形式です): どの翻訳支援機能を呼び出すにも、ここにキーが必ずありますが (呼び出しが残念ながら失敗した場合を除く)、PHP側で例外を使えても、JavaScript側ではどの支援機能にもキー「エラー」とそれに伴う値としてエラーメッセージが設定してある場合が考えられます. 上記で を使うと、例を見ることができます. 直前の翻訳に対して何も変更が加わっていないため、差分の表示は不可能と返してきます.

JavaScript の例
JavaScriptの例を示します. 既定ではAPIはすべての翻訳支援を返しますが、 引数を用いると返すものを特定します. 例ではjsonpを用いて、サイト横断の制限を回避しました. ただし要注意点は、jsonpを利用するとホワイトアクションは不可のため、JavaScriptでこのAPIを使用する時のコツは以下のとおりです. proxyを利用するか、同じホスト上でスクリプトを走らせるか、別途、軽いヘルパー (未実装) を対象サイトから読み込みます.

命名規則と戻り値
各翻訳支援には唯一の識別子文字列があります. 識別子では特殊文字、特に JavaScript の識別子として有効ではない文字 ( 、 など) を避けるべきです.

各翻訳支援が戻す配列は開発者ごとに異なるものの、一般的な推奨事項は守らなければなりません.

もし値として文字列を返す場合、フィールドのキーとして が必須です. フィールドには言語が必須です. このデータの利用者はHTMLでもどこでも、文字列に指定された言語と書字方向 (このページでは未提供) を漏れなくタグ付けする必要があります. HTML出力が提供できる場合は、キー を付与して提示します. 例えば、メッセージの説明文書や差分がこれに該当します.

訳文のお勧めは、例えば機械翻訳や翻訳メモリからの出力には、適する場合は次のキーを使用します.


 * ,  and   (target language is implicitly the same as the language of the translation)
 * : 使用するサービスの識別子
 * : [0,1]値を用い、値が大きいほど指示された例が適合している.

標準の支援の一覧
[フィールド名] は、戻り値がリストであることを意味しています. PHP では、添字が整数の配列にキー  が追加されたものです. これが必要な理由は前述の通りです.