Jump to content

Help:扩展:翻译/消息组状态

From mediawiki.org
This page is a translated version of the page Help:Extension:Translate/Message group states and the translation is 89% complete.
Outdated translations are marked like this.
语言状态(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上变更状态:只需选择组及语言,你就会在信息组描述的顶部角落处看见状态。 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.

这种状态适用于单个信息组的单种语言,例如可译页面"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' ) ),
	)
);