[ANN] Shape Of Things To Come

Tommy Reynolds Tommy.Reynolds at MegaCoder.com
Wed Feb 15 07:09:22 UTC 2006


My Fellow Contributors,

Now that the FC5t3 Release Notes panic is over, at least for some of
us, it is time to break things agai.. I mean, to add wonderful new
features.  

To better fit the process model used by the I18N translating teams,
our file organization and toolchain need to be modified.  Previously,
non-English documents have been committed to CVS based on their
translated XML files.  However, translators do not work with XML
files the same way that document authors do.  Translators use an
intermediate file format known as .POT or .PO files, edit those .PO
files, and then merge the translations back into XML form to produce
the translated XML files; translated XML files do not spring
fully-formed from the mind of Zeus but are derived via merging these
.PO files with the original XML files.

Regrettably, I cannot make all the accomodations necesssary for this
solely in the "Makefile.common" file.  Document authors will need to
help.  Happily, the changes should be trivial.

Here is a quick summary of the pending changes.  Refer to the
"example-tutorial/" document to see the required changes.

1)  Only one rpm-info.xml file, and that is in the top-level dir.

    "One rpm-info file to rule them all, and in their XML bind them."

2)  XML file names are now language independant (para.xml, not
    para-en.xml).

    This is necessary because the translated XML files are produced
    by substituting replacement text directly into the original XML
    document files, in an automated process.  If referenced XML
    files, such as <mediaobjects>, have language-specific names, the
    translated XML file will reference the wrong picture.

    Therefore, all filenames must not contain a "*-${LANG}.xml"
    component.

3)  The "Makefile" in the document directory has been completely
    rewritten.  

    Since translated XML files are automatically created, the
    original document language must be separated from the enumeration
    of the translated locales.
    
    A ${PRI_LANG} variable identifies the original language for
    the document.  Additional language translations are listed in the
    ${OTHERS} macro.  The ${XMLEXTRAFILES-${LANG}} variable is no
    more; instead an XMLFILES_template must be filled out to
    enumerate the necessary XML files.

4)  Translated XML files are automatically generated from .POT and
    .PO files located in a "po/" directory.

    The "po/" file need not exist until translations are created and
    the ${OTHERS} "Makefile" list populated.  The "po/" directory
    must be under CVS control.

5)  Translated XML files should NOT be archived in CVS, since they
    are now generated files.

    There should be real XML files in the "${PRI_LANG}/" directory
    and that directory should be under CVS control.

    Directories and files for the translations enumerated in the
    ${OTHERS} list are dynamically created and destroyed.  For
    example, if ${OTHERS} is defined as:

    OTHERS=de no it ru

    Then directories "de/", "no/", "it/", "ru/" need NOT exist and
    should NOT be placed under CVS control.

    XML files such as "de/example-tutorial.xml" will be dynamically
    created from the "en/example-tutorial.xml",
    "po/example-tutorial.pot", and "po/de.xml" files and should NOT
    be placed under CVS control.

6)  Many new virtual targets have been added to "Makefile.common", 
    such as "make xml-de", "make po-de", and the like.  
    
    Consult the "Makefile.common".  You'll just have to look ;-)

As always, comments, suggestions, patches and bribes are cheerfully
accepted.

Cheers




More information about the fedora-docs-list mailing list