[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