Help:Extension:Translate/Message group states

This page is about message group workflow states. Let's forget that ugly word monster for a moment and let me explain what it is about. I'll tell you an example. Let's imagine that some organization is using MediaWiki with Translate extension. They use the wiki to write press releases among other things. What to they do? First they write a press release in a wiki, then make it translatable and invite translations to work on it. When translations are ready, they can publish them elsewhere on their website. But how do they know when translation is ready, and more importantly proofread (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 was developed for. It lets you attach a tag to the message group saying what state it is in, like "translating", "proofreading", "ready" or "published". This allows the people who work on the press releases to explicitly expose the current state without need of other communication methods. The translation administrator can once a day look which translations are ready and publish or updated published versions. The translator can control when their translator is ready, and other translators can see what translations are already published. This is a workflow.

Setting up
By default this feature is disabled. It must be set up in the wiki configuration – it cannot be done inside the wiki. You need to decide what states you want, and assign them some colors in the hex format. In addition you need to choose the user groups that can change the states, for example translators.

Here is a sample configuration:

How to use
Once the configuration is done, both Special:LanguageStats and Special:MessageGroupStats will show a new column for the current state, and you can sort 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 the message group (e.g. the Italian translation of Fréttinga, i.e. all the Italian translation units of the translatable page), not to the message group as a whole (e.g. the set of translation units for a translatable page).

Everyone is allowed to see the states, and anyone who is allowed to change the state can change it to any of the available states. Don't confuse this with the discouraging feature that allows hiding some translatable pages from translation: this is a state which is applied to a message group as a whole (which equals the translatable page in the page translation case), to tell translators what are the current priorities across all translation tasks.

Current limitations
Currently the states are fully user controlled. For now it is not possible to have automatic state changes (e.g. from "published" back to "ready" if translation has been updated) or do actions based on states (e.g. preventing further editing of a translation once published; sending email reporting that translation is ready). It is also not possible to limit who can change states in any way, by language, group or states. In addition the states are the same for all groups, although you can just choose not to use them for some groups.

These limitations are not inherent, they just have not been implemented. Some of them are likely be implemented at later time, depending on the feedback and requests we get.