From mediawiki.org
This page is a translated version of the page Help:Extension:Translate/Message group states and the translation is 33% complete.
LanguageStats kann nach dem Status jeder Nachrichtengruppe in der Sprache kontrolliert werden.

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.


In der Standardeinstellung ist diese Funktion deaktiviert. Sie muss in der Wikikonfiguration eingerichtet werden (LocalSettings.php ). Sie müssen entscheiden, welche Status Sie konfigurieren wollen, und ihnen einige Farben im hex-Format zuweisen. Zusätzlich müssen Sie die Benutzergruppen auswählen, die in der Standardeinstellung die Status ändern können.

Hier ist ein Beispiel für eine Konfigurierung:

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

Message groups can override the global workflow states and provide their own ones. They can do more granular permission control by state level. A state can only be selected by the user groups that have the specified right.

$wgTranslateWorkflowStates = array(
     'published' => array( 'color' => 'FF0000', 'right' => 'translate-publish' )

$wgGroupPermissions['translationadmin']['translate-publish'] = true;


Auf Spezial:Übersetzen wird der Status angezeigt und kann geändert werden.

Wenn die Konfiguration eingerichtet worden ist, zeigt sowohl Spezial:Sprachstatistiken als auch Spezial:Nachrichtengruppenstatistiken eine neue Spalte für den derzeitigen Status an und die Tabellen können nach Status sortiert werden. Der Status kann in Spezial:Übersetzen geändert werden: Wählen Sie einfach die Gruppe und Sprache und dann sehen Sie den Status in der oberen Ecke der Beschreibung der Nachrichtengruppe.

Dieser Status gilt für eine einzelne Sprache einer einzelnen Nachrichtengruppe, also beispielsweise für die ganze italienische Übersetzung der übersetzbaren Seite „Fréttinga“. Demgegenüber können übersetzbare Einheiten akzeptiert und ganze übersetzbare Seiten von zukünftigen Übersetzungen ausgenommen werden.

Automatic state changes

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