Help:Extension:Translate/메시지 그룹 상태

This page is a translated version of the page Help:Extension:Translate/Message group states and the translation is 25% complete.
LanguageStats는 해당 언어의 각 메시지 그룹의 상태를 확인할 수 있습니다

This page contains documentation for message group workflow states. Let's imagine that some organization is using MediaWiki with the Translate extension. They use the wiki to write press releases among other things. What do they do? First they write a press release in a wiki, then make it translatable and invite translators to work on it. When translations are ready, they can publish them elsewhere on their website. But how do they know when a translation is ready, or more importantly proofread and corrected (see Quality assurance)? What if someone finds and fixes a mistake and the published version needs to be updated?

This is the use case the message group workflow feature is intended for. It lets you attach a tag to a message group indicating what state it is in, like "translating", "proofreading", "ready" or "published". This allows the different roles that work on a press release to explicitly expose the current state without the need of other communication methods. The translators can indicate when they consider their translations ready, and other translators can see what translations are already published. The translation administrator can periodically check which translations are ready and publish them, as well as update the pages that were already published. This is a workflow.

구성하기

기본적으로 이 기능은 비활성화됩니다. 위키 구성(LocalSettings.php )에서 설정해야 합니다. You need to decide what states you want to configure, and assign them colors in the hex format. In addition you can choose the user groups that can by default change the states.

샘플 구성입니다:


$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;

사용법

 
On Special:Translate the status is shown and can be changed

Once the configuration is set, both Special:LanguageStats and Special:MessageGroupStats will show a new column for the current state, and the tables can be sorted by state. The state can be changed in Special:Translate: just choose the group and language and you will see the state in the top corner of the message group description.

This state applies to a single language of a single message group, say the whole Italian translation of the translatable page "Fréttinga". In contrast, individual translation units can be accepted and whole translatable pages can be discouraged from further translation.


자동 상태 변경

Since September 2012 Translate supports automatic state changes. For example, when all the messages are translated, the state changes itself to proofreading, and when all messages have been proofread, the state changes to ready.

The conditions for these changes are called transitions. Transitions can have zero or more conditions on the following variables: UNTRANSLATED, OUTDATED, TRANSLATED, PROOFREAD. Each variable represents the number of messages in that state. UNTRANSLATED variable includes the OUTDATED messages. Each variable can be compared to three values: ZERO, NONZERO and MAX. For example transition to ready state would have condition PROOFREAD is MAX. See code example below.

The state of a language of a message group will be updated whenever a translation is changed or reviewed in that language. The state transitions are matched in the declaration order. All conditions must be fulfilled for the transition to match. If no transition matches, the message group will keep its existing state.

$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' ) ),
	)
);