(gettext.info)Creating Compendia


Next: Using Compendia Prev: Compendium Up: Compendium
Enter node , (file) or (file)node

8.4.1 Creating Compendia
------------------------

   Basically every PO file consisting of translated entries only can be
declared as a valid compendium.  Often the translator wants to have
special compendia; let’s consider two cases: ‘concatenating PO files’
and ‘extracting a message subset from a PO file’.

8.4.1.1 Concatenate PO Files
............................

   To concatenate several valid PO files into one compendium file you
can use ‘msgcomm’ or ‘msgcat’ (the latter preferred):

     msgcat -o compendium.po file1.po file2.po

   By default, ‘msgcat’ will accumulate divergent translations for the
same string.  Those occurrences will be marked as ‘fuzzy’ and highly
visible decorated; calling ‘msgcat’ on ‘file1.po’:

     #: src/hello.c:200
     #, c-format
     msgid "Report bugs to <%s>.\n"
     msgstr "Comunicar `bugs' a <%s>.\n"

and ‘file2.po’:

     #: src/bye.c:100
     #, c-format
     msgid "Report bugs to <%s>.\n"
     msgstr "Comunicar \"bugs\" a <%s>.\n"

will result in:

     #: src/hello.c:200 src/bye.c:100
     #, fuzzy, c-format
     msgid "Report bugs to <%s>.\n"
     msgstr ""
     "#-#-#-#-#  file1.po  #-#-#-#-#\n"
     "Comunicar `bugs' a <%s>.\n"
     "#-#-#-#-#  file2.po  #-#-#-#-#\n"
     "Comunicar \"bugs\" a <%s>.\n"

The translator will have to resolve this “conflict” manually; she has to
decide whether the first or the second version is appropriate (or
provide a new translation), to delete the “marker lines”, and finally to
remove the ‘fuzzy’ mark.

   If the translator knows in advance the first found translation of a
message is always the best translation she can make use to the
‘--use-first’ switch:

     msgcat --use-first -o compendium.po file1.po file2.po

   A good compendium file must not contain ‘fuzzy’ or untranslated
entries.  If input files are “dirty” you must preprocess the input files
or postprocess the result using ‘msgattrib --translated --no-fuzzy’.

8.4.1.2 Extract a Message Subset from a PO File
...............................................

   Nobody wants to translate the same messages again and again; thus you
may wish to have a compendium file containing ‘getopt.c’ messages.

   To extract a message subset (e.g., all ‘getopt.c’ messages) from an
existing PO file into one compendium file you can use ‘msggrep’:

     msggrep --location src/getopt.c -o compendium.po file.po


automatically generated by info2www version 1.2.2.9