[zanata-bugs] [Bug 953734] Implement review feature
bugzilla at redhat.com
bugzilla at redhat.com
Thu May 23 06:37:30 UTC 2013
https://bugzilla.redhat.com/show_bug.cgi?id=953734
--- Comment #6 from Ding-Yi Chen <dchen at redhat.com> ---
= Specs
== Roles
A non-maintainer user account can have zero to multiple of following "roles":
* Translator: The person that can input and change translation messages.
* Reviewer: The person that can approve or reject translation messages.
A project maintainer has both of the roles.
== States
A translation should be in either of following states:
1. Untranslated: No translation
2. Fuzzy: Translator thinks the translation is incomplete.
3. Translated: Translator thinks the translation is completed.
4. Approved: Reviewer accepts the translation as-is.
5. Rejected: Reviewer thinks the translation need to be changed.
== State transition
=== Translator Mode:
* Untranslated-> Fuzzy (Save as Fuzzy)
* Untranslated-> Translated (Save as Translated)
* Fuzzy -> Untranslated (Clear the translation)
* Fuzzy -> Translated (Save as Translated)
* Translated -> Untranslated (Clear the translation)
* Translated -> Translated (Save as Translated)
(Following are introduced by new review feature)
* Approved -> Untranslated (Clear the translation)
* Approved -> Fuzzy (Save as Fuzzy)
* Approved -> Translated (Save as Translated, Translation is changed)
* Approved -> Approved (Save as Translated, Translation is unchanged)
* Rejected -> Untranslated (Clear the translation)
* Rejected -> Fuzzy (Save as Fuzzy)
* Rejected -> Translated (Save as Translated)
=== Reviewer Mode:
* Translated -> Approved (Approve the translation)
* Translated -> Rejected (Reject the translation)
* Approved -> Translated (Undo review)
* Approved -> Rejected (Reject the translation)
* Rejected -> Translated (Undo review)
* Rejected -> Approved (Approve the translation)
== Client
Every registered user can pull translation.
But only user translator role can push translation.
(Project maintainer can also push the translation in the same way as
translator).
=== pull
==== pull file format that supports fuzzy
* Untranslated -> Untranslated
* Fuzzy -> Fuzzy
* Translated -> Translated
* Approved -> Translated
* Reject -> Fuzzy
==== pull file format that does not support fuzzy
* Untranslated -> Untranslated
* Fuzzy -> Untranslated
* Translated -> Translated
* Approved -> Translated
* Reject -> Untranslated
=== push
Most translation file formats do not support message states other than
untranslated, fuzzy and translated.
==== push file format that supports fuzzy
Columns:
* Local State: State of the message string in a translation file
* Server State: State of the message string in server.
* In History: Whether the local message string appears in the history list in
the server.
* Final State: The final state in server after push, and whether local or
server message string is used.
|======================================================================
| Local State | Server State | In History| Final State
| Untranslated | Untranslated | - | Untranslated
| Untranslated | Fuzzy | - | Fuzzy (Use Server)
| Untranslated | Translated | - | Translated (Use Server)
| Untranslated | Approved | - | Approved (Use Server)
| Untranslated | Rejected | - | Rejected (Use Server)
| Fuzzy | Untranslated | - | Fuzzy (Use Local)
| Fuzzy | Fuzzy | Yes | Fuzzy (Use Server)
| Fuzzy | Fuzzy | No | Fuzzy (Use Local)
| Fuzzy | Translated | - | Translated (Use Server)
| Fuzzy | Approved | - | Approved (Use Server)
| Fuzzy | Rejected | Yes | Rejected (Use Server)
| Fuzzy | Rejected | No | Fuzzy (Use Local)
| Translated | Untranslated | - | Translated (Use Local)
| Translated | Fuzzy | - | Translated (Use Local)
| Translated | Translated | Yes | Translated (Use Server)
| Translated | Translated | No | Translated (Use Local)
| Translated | Approved | Yes | Approved (Use Server)
| Translated | Approved | No | Translated (Use Local)
| Translated | Rejected | Yes | Rejected (Use Server)
| Translated | Rejected | No | Rejected (Use Local)
|======================================================================
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=Vn9dWyQpsw&a=cc_unsubscribe
More information about the zanata-bugs
mailing list