Translation Item

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
  • comments

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.

(Object) types

An object can be one of the following types, based on the role the object takes in the Cockpit project.

Phrase Node

Phrase Nodes 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 Entry

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.

Lexicon Entry

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. In the chapter Editing Head Nouns and Creating Lexicon Entriesopen in new window you will learn more about when you should create a lexicon entry.

Translation Item States

Full Translation Item Lifecylce

Each translation item is in one of the following states at all times:

Not StartedInitial item state. Nobody has started translating this item.
In ProgressA translator (you or someone else) has started working on this item. You can have multiple items in progress at once.
SubmittedThe item is translated and submitted for review by a cockpit user. This is the target state for you as a translator.
In ReviewA cockpit user is currently reviewing this. While in review, the item is readonly and cannot be edited by any translator.
MergedTranslation 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
Needs EditingMarks the item as needing work from you or another translator. Look out for comments.
BlockedMarks the item as unresolvable by you or another translator. Request for help by a cockpit user.
UnblockedA cockpit user has unblocked this item. You or another translator can continue working on it.
RejectedA cockpit user has rejected this submitted item after review. You or another translator need to work on this again.
OutdatedAfter sync when an item was done and the source content changed, a translator needs to check it again.
DeletedOnly set when on sync the source has been deleted. You can ignore the item going forward.

Translation Item Sub-Workflows

The Ideal Path

Happy Path Translation Item Lifecylce

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

Rejection Translation Item Lifecylce

If a cockpit user notices a problem when reviewing a submitted item, they can reject it, giving it back to you or another translator to improve it, along with a comment describing their reason for rejection.

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.

Needs editing

Needs Editing Translation Item Lifecylce

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 Needs Editing, moving it out of In Progress. This leaves the item in control of the translators.

Blocking and unblocking

Blocking Translation Item Lifecylce

If you or another translator think you are stuck and need help from a cockpit user, you can mark an item as Blocked and write a comment, signaling a problem to a cockpit user.

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(?).

Sync the Translation Package with the Source Project

Sync Translation Item Lifecylce

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 Outdated. You then need to check the translation again. If you did not yet start translating an item and its source changes, it will stay Not Started.

New translation items may also get added. Now invalid items will get removed from the list if they are Not Started, otherwise they will get marked as Deleted so you can still see the work that you did on them.