gettext: Auxiliary

1 
1 8.3.13 Consulting Auxiliary PO Files
1 ------------------------------------
1 
1    PO mode is able to help the knowledgeable translator, being fluent in
1 many languages, at taking advantage of translations already achieved in
1 other languages she just happens to know.  It provides these other
1 language translations as additional context for her own work.  Moreover,
1 it has features to ease the production of translations for many
1 languages at once, for translators preferring to work in this way.
1 
1    An "auxiliary" PO file is an existing PO file meant for the same
1 package the translator is working on, but targeted to a different mother
1 tongue language.  Commands exist for declaring and handling auxiliary PO
1 files, and also for showing contexts for the entry under work.
1 
1    Here are the auxiliary file commands available in PO mode.
1 
1 ‘a’
1      Seek auxiliary files for another translation for the same entry
1      (‘po-cycle-auxiliary’).
1 
1 ‘C-c C-a’
1      Switch to a particular auxiliary file (‘po-select-auxiliary’).
1 
1 ‘A’
1      Declare this PO file as an auxiliary file
1      (‘po-consider-as-auxiliary’).
1 
1 ‘M-A’
1      Remove this PO file from the list of auxiliary files
1      (‘po-ignore-as-auxiliary’).
1 
1    Command ‘A’ (‘po-consider-as-auxiliary’) adds the current PO file to
1 the list of auxiliary files, while command ‘M-A’
1 (‘po-ignore-as-auxiliary’ just removes it.
1 
1    The command ‘a’ (‘po-cycle-auxiliary’) seeks all auxiliary PO files,
1 round-robin, searching for a translated entry in some other language
1 having an ‘msgid’ field identical as the one for the current entry.  The
1 found PO file, if any, takes the place of the current PO file in the
1 display (its window gets on top).  Before doing so, the current PO file
1 is also made into an auxiliary file, if not already.  So, ‘a’ in this
1 newly displayed PO file will seek another PO file, and so on, so
1 repeating ‘a’ will eventually yield back the original PO file.
1 
1    The command ‘C-c C-a’ (‘po-select-auxiliary’) asks the translator for
1 her choice of a particular auxiliary file, with completion, and then
1 switches to that selected PO file.  The command also checks if the
1 selected file has an ‘msgid’ field identical as the one for the current
1 entry, and if yes, this entry becomes current.  Otherwise, the cursor of
1 the selected file is left undisturbed.
1 
1    For all this to work fully, auxiliary PO files will have to be
1 normalized, in that way that ‘msgid’ fields should be written _exactly_
1 the same way.  It is possible to write ‘msgid’ fields in various ways
1 for representing the same string, different writing would break the
1 proper behaviour of the auxiliary file commands of PO mode.  This is not
1 expected to be much a problem in practice, as most existing PO files
1 have their ‘msgid’ entries written by the same GNU ‘gettext’ tools.
1 
1    However, PO files initially created by PO mode itself, while marking
1 strings in source files, are normalised differently.  So are PO files
1 resulting of the ‘M-x normalize’ command.  Until these discrepancies
1 between PO mode and other GNU ‘gettext’ tools get fully resolved, the
1 translator should stay aware of normalisation issues.
1