Help:Extension:Translate/メッセージ群の統計
このページは、メッセージ群のワークフローの状態の説明文書です。 ある団体が MediaWiki の Translate 拡張機能を使うと仮定します。 特に記者発表資料の作成にウィキを採用する場合を考えます。 どんな使い方をするでしょうか? まずウィキ上に記者発表資料を入力し、翻訳可能のフラグを付けて翻訳者に作業を呼びかけるでしょう。 翻訳が完了するとウェブサイト上のどこにでも公開できます。 できるものの、翻訳や、もっと重要な査読や訂正がいつほんとうに完了するか把握できるでしょうか?(品質の保証を参照) 公表後、もし誤りが見つかって訂正されると、ウェブサイトも更新が必要でしょうか?
メッセージ群ワークフローはこの使用例を想定した機能です。 メッセージ群にタグを付けて「翻訳中」「査読」「完了」など状態を表示します。 これは記者発表に関連するさまざまな役割が、他の連絡手段を使わなくても互いに現状を明確に開示できるようにします。 翻訳者は各自の作業完了を示し、翻訳者同士も他の人がすでに公開した訳文を参照できます。 翻訳管理者は定期的に公開可能な翻訳はどれか判断して公開したり、すでに公開したページの更新をしたりできます。 ワークフローはこちらです。
セットアップ
既定では、この機能は無効になっています。
ウィキの構成で準備
します (LocalSettings.php
)。
設定しようとする状態をまず決めてから、hex 形式で色指定をしてください。.
さらに加えて状態の変更を認める利用者グループ をあらかじめ指定することもできます。
以下は設定の例です。
$wgTranslateWorkflowStates = array(
'new' => array( 'color' => 'FF0000' ), // red
'needs_proofreading' => array( 'color' => '0000FF' ), // blue
'ready' => array( 'color' => 'FFFF00' ), // yellow
'published' => array( 'color' => '00FF00' ), // green
);
$wgGroupPermissions['translator']['translate-groupreview'] = true;
メッセージ群はグローバルなワークフローを上書きして固有のものを表示できます。 国や地方レベルというより精度の高い許可管理ができるはずです。 状態を選べるのは、特定の権限を与えられた利用者グループのみです。
$wgTranslateWorkflowStates = array(
'published' => array( 'color' => 'FF0000', 'right' => 'translate-publish' )
);
$wgGroupPermissions['translationadmin']['translate-publish'] = true;
使用法
設定が完了すると、Special:LanguageStats および Special:MessageGroupStats の表は両方とも新しい列に現状を表示し、状態でソートできます。 状態の変更は Special:Translate で行います。グループと言語を選択すると、メッセージ群の説明の上の角に状態を表示します。
この状態は単一のメッセージ群の単一の言語にのみ該当し、例えば翻訳対象の「Fréttinga」のページの、イタリア語訳すべてについて表示します。 対照的に個別の翻訳単位が accepted で、翻訳対象ページ全文は discouraged from further translation でも成立します。
進捗状況の自動変更
2012年9月以降、Translate は状態の変更を自動で行っています。例えばもし全メッセージの翻訳が終わると状態は査読に、すべて査読が終わると完了に変更されます。
これら修正の条件をtransitions と呼びます (トランジション)。 トランジションは以下の変数を使い条件をゼロ以上に設定:UNTRANSLATED、OUTDATED、TRANSLATED、PROOFREAD。(未訳、要更新、翻訳済み、査読済み) 変数ごとにその状態に達したメッセージの件数を表します。 UNTRANSLATED 変数には OUTDATED メッセージを内包します。 それぞれの変数は3つの値 に対応:ZERO、NONZERO 、MAX。 たとえば翻訳が ready の状態に切り替わる条件は、 PROOFREAD が MAX の場合。 下記のコードを参照してください。
特定のメッセージ群の状態はその言語で訳文に変更や査読が加わるたび、更新されます。 翻訳の状態はその宣言の順に一致させます。 翻訳は、すべての条件を満たさなければ一致しません。 翻訳が一致しない場合らメッセージ群は現状を維持します。
$wgTranslateWorkflowStates = array(
// States
// 'ready' => ( ... ),
'state conditions' => array(
array( 'ready', array( 'PROOFREAD' => 'MAX' ) ),
array( 'proofreading', array( 'TRANSLATED' => 'MAX' ) ),
array( 'unset', array( 'UNTRANSLATED' => 'MAX', 'OUTDATED' => 'ZERO', 'TRANSLATED' => 'ZERO' ) ),
array( 'inprogress', array( 'UNTRANSLATED' => 'NONZERO' ) ),
)
);
-
MessageGroupStats は、1 つのメッセージ群のすべての言語での翻訳の状態を見るために使用できます。