Translation packages Translation items track the state of translation for each object
a translation item has:
- a reference the actual object to be translated
- a label inferred from object
- a type inferred from object [statement, phrase node, lookup table entry, lexicon entry]
- a state
the UI for translation has a common header and differing content per type, and for all but lexicon entries shows source and target language content side-by-side.
An object can be one of the following types, based on the role the object takes in the Cockpit project.
These usually represent single words or phrases that get used multiple times in other objects (through variables). They often are close to data.
Each phrase node contains one or more vocabularies, groups of noun, adjective and head noun, containing a DELTA each(see OTHER DOCS). If a phrase node has more than one vocabulary, one gets chosen at random when a text is generated.
You don't need to always match the number of vocabularies when you translate.
Lookup table entries are similar to phrase nodes. They also contain one or more vocabularies each, but are part of a larger "lookup table" node in the cockpit project. Each entry in a lookup table has a key, which you can see in the name of the translation item in the translate app, and which is used to choose a single entry by comparing the keys to data. Since a lookup table can contain hundreds or more entries, we have split them up at the entry level and made each of them a translation item, to give you more fine-grained control.
Statements represent larger pieces of text. They are the last step before the final generated text and are not used by other objects. The order in which statements are put together can change based on data, which you as a translator can not influence. A statement contains one DELTA and in statements you will most likely see bigger branchings and multiple containers, which include the earlier objects into the final text.
In contrast to all other object types, a lexicon entry does not correspond to an existing object in the cockpit project, but is created by you when you need to provide us with more lexical information on a specific word in the target language.
Translation Item States
Each translation item is in one of the following states at all times:
|Initial item state. Nobody has started translating this item.|
|A translator (you or someone else) has started working on this item. You can have multiple items in progress at once.|
|The item is translated and submitted for review by a cockpit user. This is the target state for you as a translator.|
|A cockpit user is currently reviewing this. While in review, the item is readonly and cannot be edited by any translator.|
|Translation item has been successfully merged into the source project by a cockpit user. Once this state is reached, it cannot be left anymore and the item is readonly|
|Marks the item as needing work from you or another translator. Look out for comments.|
|Marks the item as unresolvable by you or another translator. Request for help by a cockpit user.|
|A cockpit user has unblocked this item. You or another translator can continue working on it.|
|A cockpit user has rejected this submitted item after review. You or another translator need to work on this again.|
|After sync when an item was done and the source content changed, a translator needs to check it again.|
|Only set when on sync the source has been deleted. You can ignore the item going forward.|
Translation Item Sub-Workflows (?)
This is the ideal path a translation item can take. You or another translator translates the item in the translate app in one go, submits it, after which a cockpit user reviews it and merges it back into the project.
Rejection and resubmit
If a cockpit user notices a problem when reviewing a submitted item, they can
After fixing the problem, the you or another translator should submit the item again, at which point a cockpit user will review it again, ultimately merging it, or, if there are still problems, rejecting it again.
If you or another translator encounter a blocker you think you (or another assigned translator) can solve yourself later, you can mark an item as
Blocking and unblocking
If you or another translator think you are stuck and need help from a cockpit user, you can mark an item as
This is intended for cases when there are problems in parts of the ruleset that aren't visible to you, like variable definitions or other data or logic rules(?).
Cockpit users can
sync the translation package with the source project, updating the package ruleset to fix smaller problems that may block you.
Sometimes this will change the source of translation items you already translated, marking them as
New translation items may also get added. Now invalid items will get removed from the list if they are