wiki:TranslationsManagement
Step Work on original module Work on translation Automatic processing
0 Upload a new module (or create one from a template) Set the original module workflow state to "Write"
1 Write
2 Add automatic xml:id values on all elements that miss it
3 Comment (that step can be shared among various people) and/or edit, Optionally go back to step 1.
4 Validate (module is not modified) The module goes into step "Done"
5 Tell you want to start a new translation Copy original file to target language dir, replace all xml:lang='orig' to xml:lang='trgt'
6 First translation: the translator downloads either the original XML either an XLIFF representation of it1. He can get the TMX too
7 Comment (that step can be shared among various people) and/or fix, Optionally go back to step 5.
8 Validate (module is not modified) The module goes into step "Done"
9 Tell you want to start a new version Set the original module workflow state to "Update"
10 Update
11 Add automatic xml:id values on all elements that miss it
12 For all xml:id of the document while it was in the "Done" step, compare all strings with the current version. If it changed, increment a revision counter associated to the element (identified by its xpointer: content/en/java.xml#id453)
13 Generate a report that shows the changes according to latest step processing
14 Comment (that step can be shared among various people) and/or edit, Optionally go back to step 1.
15 Validate (module is not modified) The module goes into step "Done"
16 [Step 12+13] on translation instead of original
17a Update the translation, either by downloading the original (or its XLIFF2) and TMX into a CAT tool;
17b or by editing the old translation based on the changes report In this case, remember the version (X) of the original at the date of now3
18 Add automatic xml:id values on all elements that miss it
19 Comment (that step can be shared among various people) and/or fix, Optionally go back to step 17.
20 Validate (module is not modified) The module goes into step "Done"
21 Synchronize the revision counter for all xml:id of the translation with the same number as the original at version X
22 [Cycle to step 9]

Notes:

  • There can be a specific module type for TMX files, that would go through a validation step too, and provide merging for various translation memories provided by different translators working on different documents
  • Ideally each segment translation in the TMX should be linked to the user that translated it for reference
  • Same for glossary sharing (what format?)
  • A framework exists to help with implementation:  http://okapi.opentag.com/
  • The XLIFF can be marked to specify which translation units are to be updateds or not:  http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html#state
  • The xml:id/revision system implies there is no translatable text in attributes. See  http://www.w3.org/TR/xml-i18n-bp/#DevAttributes


  1. 1. That implies the addon associated to the file type provides a filter (XSL?) to export to XLIFF
  2. 2. That implies the addon associated to the file type provides a filter (XSL?) to inject back an XLIFF into the original
  3. 3. This is required if the original starts a new revision cycle before the translation cycle finishes