Open main menu
This page is a translated version of the page Help:Extension:Translate/Message group states and the translation is 94% complete.

Other languages:
Deutsch • ‎Deutsch (Sie-Form)‎ • ‎English • ‎Kiswahili • ‎Nederlands • ‎Zazaki • ‎català • ‎dansk • ‎español • ‎français • ‎lietuvių • ‎polski • ‎português do Brasil • ‎čeština • ‎Ελληνικά • ‎русский • ‎українська • ‎العربية • ‎中文 • ‎日本語
语言状态(LanguageStats)可以用于查看该语言中每个信息组的状态。

这个页面包含了信息组工作流状态的记录。设想一下,一些组织正在通过翻译拓展使用MediaWiki。除了其他东西,他们还使用wiki撰写新闻稿。他们会怎么做?首先他们会在wiki中写一篇新闻稿,然后将其转化为可翻译状态并邀请译者们翻译它。当翻译就绪时,新闻稿就可以在他们网站上的别处刊登了。但是他们怎么知道什么时候翻译已经就绪,或者进一步说,已经校对并订正(见 质量保证)好了呢?如果有人发现并修正了错误,刊登的版本需要相应地更新,这又会怎样呢?

信息组工作流特色功能就是为这种情况打造的。它让你能够为信息组标上表明其状态的标签(比如“进行中”、“校对中”、“已完成”或“已发布”)。这允许致力于一篇新闻稿的不同人清晰明了地显露其当前状态,而无需其他交流手段。一些译者可以表明他们觉得自己的翻译已经完成,而另一些译者可以查看哪些翻译已经发布。翻译管理员可以定期查看已经就绪的翻译并将它们发布,还可以更新已发布的页面。这就是工作流

设置

默认状态下,这个特色功能是禁用的。 必须在wiki配置(LocalSettings.php )中进行设置。你需要决定想要配置的状态,并用魔术字为它们分配颜色。此外,你还可以选择可以默认地改变这些状态的用户组。

下面是一个配置示例:


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

如何使用

 
状态在Special:Translate上显示,并且可以更改。

一旦配置完成,Special:LanguageStatsSpecial:MessageGroupStats都会显示新的包含当前状态的一列,且表格可以按状态整理。可以在Special:Translate上变更状态:只需选择组及语言,你就会在信息组描述的顶部角落处看见状态。

这种状态适用于单个信息组的单种语言,例如可译页面"Fréttinga"的全部意大利语翻译。相比而言,单独的翻译单元可以被接受,而整个的可译页面则可能被阻止继续翻译.

自动化状态更改

自2012年9月开始,支持自动化状态更改功能。比如,当所有信息都已经翻译完毕时,状态就会自己变为“校对中”,而当所有信息都已经校对完毕时,状态就变为“已完成”。

这些变化的前提条件称为“过渡”。“过渡”在以下变量上可以有零个至多个条件:未翻译已过时已翻译已校对。每个变量代表处于对应状态的信息数目。未翻译变量包含着已过时的信息。每个变量都可以与三个值进行比较:大于零最大值。比如,过渡为“已完成”状态需要有已校对达到最大值作为先决条件。参见以下示例。

一旦一份翻译在一种语言中被更改或检查,信息组的该语言的状态就将被更新。状态的转变与声明顺序相匹配。必须满足所有条件,才能转变以匹配。如果转变没有匹配,信息组将保持现有状态。

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