Blame Manuals/Filesystem/filesystem-html/filesystem_37.html

ee1f37
ee1f37
<html>
ee1f37
ee1f37
ee1f37
Permission is granted to copy, distribute and/or modify this document
ee1f37
under the terms of the GNU Free Documentation License, Version 1.2 or
ee1f37
any later version published by the Free Software Foundation; with no
ee1f37
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
ee1f37
copy of the license is included in the section entitled GNU Free
ee1f37
Documentation License.  
ee1f37
-->
ee1f37
ee1f37
ee1f37
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
ee1f37
            Karl Berry  <karl@freefriends.org>
ee1f37
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
ee1f37
            and many others.
ee1f37
Maintained by: Many creative people <dev@texi2html.cvshome.org>
ee1f37
Send bugs and suggestions to <users@texi2html.cvshome.org>
ee1f37
ee1f37
-->
ee1f37
<head>
db14a4
<title>CentOS Artwork Repository: 3.34 trunk/Locales</title>
ee1f37
db14a4
<meta name="description" content="CentOS Artwork Repository: 3.34 trunk/Locales">
db14a4
<meta name="keywords" content="CentOS Artwork Repository: 3.34 trunk/Locales">
ee1f37
<meta name="resource-type" content="document">
ee1f37
<meta name="distribution" content="global">
ee1f37
<meta name="Generator" content="texi2html 1.76">
ee1f37
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
ee1f37
<style type="text/css">
ee1f37
ee1f37
@import "/home/centos/artwork/trunk/Identity/Models/Css/Texi2html/common.css";
ee1f37
ee1f37
a.summary-letter {text-decoration: none}
ee1f37
pre.display {font-family: serif}
ee1f37
pre.format {font-family: serif}
ee1f37
pre.menu-comment {font-family: serif}
ee1f37
pre.menu-preformatted {font-family: serif}
ee1f37
pre.smalldisplay {font-family: serif; font-size: smaller}
ee1f37
pre.smallexample {font-size: smaller}
ee1f37
pre.smallformat {font-family: serif; font-size: smaller}
ee1f37
pre.smalllisp {font-size: smaller}
ee1f37
span.sansserif {font-family:sans-serif; font-weight:normal;}
ee1f37
ul.toc {list-style: none}
ee1f37
-->
ee1f37
</style>
ee1f37
ee1f37
ee1f37
</head>
ee1f37
ee1f37
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
ee1f37
ee1f37
db14a4
[ < ]
ee1f37
[ > ]
ee1f37
   
db14a4
[ << ]
db14a4
[ Up ]
db14a4
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
db14a4
[Top]
db14a4
[Contents]
db14a4
[Index]
db14a4
[ ? ]
ee1f37
ee1f37
ee1f37
ee1f37

3.34 trunk/Locales

ee1f37
ee1f37
ee1f37
ee1f37

3.34.1 Goals

ee1f37
ee1f37

The <tt>`trunk/Translations'</tt> directory exists to:

ee1f37

ee1f37
    ee1f37
  • Organize translation files.
  • ee1f37
  • Organize translation templates used to produce translation files.
  • ee1f37
    ee1f37
    ee1f37
    ee1f37
    ee1f37

    3.34.2 Description

    ee1f37
    ee1f37

    When you create artwork for CentOS distribution you find that some

    ee1f37
    artworks need to be created for different major releases of CentOS
    ee1f37
    distribution and inside each major release that needs to be created for
    ee1f37
    different locales. To get an approximate idea of how many files we are
    ee1f37
    talking about, consider the followig approximate statistic:
    ee1f37

    ee1f37
      ee1f37
    • Inside CentOS distribution, there are around 30 images to
    • db14a4
      rebrand.(2)
      ee1f37
      ee1f37
    • There are near to four major releases of CentOS distribution to
    • db14a4
      rebrand in parallel development.(3) 
      ee1f37
      ee1f37
    • Each CentOS distribution in parallel development supports more
    • db14a4
      than two hundreds locales.(4)
      ee1f37
      ee1f37
      ee1f37

      In order to aliviate maintainance of artwork production for such

      ee1f37
      environment, we divided artwork production in three production lines:
      ee1f37

      ee1f37
        db14a4
      1. See section trunk/Identity/Themes/Models, to define artworks
      2. ee1f37
        characteristics (e.g., dimensions, position on the screen, etc.).
        db14a4
      3. See section trunk/Identity/Themes/Motifs, to define artworks visual
      4. ee1f37
        styles (e.g., the look and feel).
        ee1f37
      5. Translations, to define which major releases and locales
      6. ee1f37
        artworks are produced for. 
        ee1f37
        ee1f37
        ee1f37

        Inside CentOS Artwork Repository, the artworks' translation production

        ee1f37
        line is stored under <tt>`trunk/Translations'</tt> directory.
        ee1f37

        ee1f37

        Inside <tt>`trunk/Translations'</tt> directory, we use "translation

        ee1f37
        entries" to organize artworks' "translation files" and artworks'
        ee1f37
        "translation templates".
        ee1f37

        ee1f37
        ee1f37
        ee1f37

        3.34.2.1 Translation Entries

        ee1f37
        ee1f37

        Translation entries exists for each artwork you want to produce.

        ee1f37
        Translation entries can be empty directories, or directories
        ee1f37
        containing translation files and translation templates.  
        ee1f37

        ee1f37

        When translation entries are empty directories, the identity entry is

        ee1f37
        used as reference to create file names and directories layout for
        ee1f37
        rendered files.  In this case, the centos-art script takes
        ee1f37
        one design template and outputs one non-translated file for each
        ee1f37
        design template available.  This configuration is mainly used to
        ee1f37
        produce non-translatable artworks like themes' backgrounds.
        ee1f37

        ee1f37

        When translation entries contain translation files, the translation

        ee1f37
        entry implements the CentOS release schema and is used as reference to
        ee1f37
        create file names and directories layout for translated artworks. In
        ee1f37
        this case, the centos-art script applies one translation
        ee1f37
        file to one design template to create one translated instance which is
        ee1f37
        used to output one translated file. When the translated file is
        ee1f37
        rendered, the centos-art script remove the previous instance
        ee1f37
        and takes the next file in the list of translation files to repate the
        ee1f37
        whole process once again, and so on for all files in the list. This
        ee1f37
        configuration is mainly used to produce translatable artworks like
        ee1f37
        Anaconda progress slide images.
        ee1f37

        ee1f37

        To find out correspondence between translation entries and identity

        ee1f37
        entries, you need to look the path of both translation entries and
        ee1f37
        identity entries. For example, if you are using the Modern
        ee1f37
        artisitic motif, the identity entry for Anaconda progress artwork is:
        ee1f37

        ee1f37
        trunk/Identity/Themes/Motifs/Modern/Distro/Anaconda/Progress
        ee1f37
        ee1f37

        and its translation entry is:

        ee1f37

        ee1f37
        trunk/Translations/Identity/Themes/Distro/Anaconda/Progress
        ee1f37
        ee1f37

        Note how the <tt>`Translations/'</tt> directory prefixes <tt>`Identity/'</tt>

        ee1f37
        directory, also how static values (e.g., Identity, Themes, Distro,
        ee1f37
        etc.) in the identity entry path remain in translation entry path, and
        ee1f37
        how variable values like theme names (e.g., Modern) are stript
        ee1f37
        out from translation entry path. The same convenction can be applied
        ee1f37
        to other identity entries in order to determine their translation
        ee1f37
        entries, or to other translation entries to determine their identity
        ee1f37
        entries.
        ee1f37

        ee1f37
        info

        Note

        Translation entries related to identity entries under

        ee1f37
        <tt>`trunk/Identity/Themes/Motifs'</tt> do not use <tt>`Motifs/'</tt> in the
        ee1f37
        path.  We've done this because <tt>`trunk/Identity/Themes/Models'</tt>
        ee1f37
        structure, the other structure under <tt>`trunk/Identity/Themes'</tt>,
        ee1f37
        doesn't require translation paths so far. So in the sake of saving
        ee1f37
        characters space when building translation entries for
        ee1f37
        <tt>`trunk/Identity/Themes/Motifs'</tt> structure, we organize Motifs
        ee1f37
        translation entries under <tt>`trunk/Translations/Identity/Themes/'</tt>
        ee1f37
        directly. 
        ee1f37

        ee1f37

        If for some reason <tt>`trunk/Identity/Themes/Models'</tt> structure

        ee1f37
        requires translation entries, we need to re-oraganize the current
        ee1f37
        directory structure accordingly.
        ee1f37

        ee1f37
        ee1f37

        Translation entries, as described above, can be re-used by similar

        ee1f37
        identity entries. For example the following identity entries:
        ee1f37

        ee1f37
        trunk/Identity/Themes/Motifs/Modern/Distro/Anaconda/Progress/
        ee1f37
        trunk/Identity/Themes/Motifs/TreeFlower/Distro/Anaconda/Progress/
        ee1f37
        trunk/Identity/Themes/Motifs/Mettle/Distro/Anaconda/Progress/
        ee1f37
        ee1f37

        are all valid identity entries able to re-use translation files inside

        ee1f37
        Anaconda progress translation entry (the one shown in our example
        ee1f37
        above). This way, you can create several identity entries and maintain
        ee1f37
        just one translation entry for all of them.  Once you change the
        ee1f37
        translation files inside the common translation entry, changes inside
        ee1f37
        identity entries will take effect inside the next you render them.
        ee1f37

        ee1f37

        Trying to make things plain and simple: inside CentOS Artwork

        ee1f37
        Repository, graphic designers can concentrate their efforts in
        ee1f37
        artworks look and feel (the identity entries), and translators in
        ee1f37
        artworks translations (the translation entries).
        ee1f37

        ee1f37
        ee1f37
        ee1f37

        3.34.2.2 Translation Markers

        ee1f37

        ee1f37
        ee1f37

        ee1f37

        Translation markers are used in "Theme Model Designs" and

        ee1f37
        "Translation Files" as replacement patterns to commit content
        ee1f37
        translation.  When you are rendering content using
        ee1f37
        centos-art script inisde <tt>`trunk/Identity'</tt> structure,
        ee1f37
        artistic motifs and translation files are applied to model designs to
        ee1f37
        produce translated content as result. In order to have the appropriate
        ee1f37
        translation in content rendered, markers defintion in translation
        ee1f37
        files should match markers in model designs exactly. 
        ee1f37

        ee1f37

        Translation markers can be whatever text you want, but as convenction

        ee1f37
        we use the following to represent releases of CentOS distribution:
        ee1f37

        ee1f37
        ee1f37
        <samp>`=MINOR_RELEASE='</samp>
        ee1f37

        Replace with minor release of CentOS distribution. In the schema M.N, the minor

        ee1f37
        release is represented by the N letter.
        ee1f37

        ee1f37
        <samp>`=MAJOR_RELEASE='</samp>
        ee1f37

        Replace with major release of CentOS distribution. In the schema M.N,

        ee1f37
        the major release is represented by the M letter.
        ee1f37

        ee1f37
        <samp>`=RELEASE='</samp>
        ee1f37

        Replace the full release of CentOS distribution. It is

        ee1f37
        <samp>`=MAJOR_RELEASE=.=MINOR_RELEASE='</samp> basically. 
        ee1f37

        ee1f37
        ee1f37
        ee1f37

        Specific translation markers convenctions are described inside

        ee1f37
        specific translation entries. Read translation entries documentation
        ee1f37
        to know more about supported translation markers.
        ee1f37

        ee1f37

        Translation markers standardization creates a common point of

        ee1f37
        reference for translators and graphic designers. To have translation
        ee1f37
        markers well defined makes possible that translators and graphic
        ee1f37
        designers can work together but independently one another.
        ee1f37

        ee1f37
        ee1f37
        ee1f37

        3.34.2.3 Translation Files

        ee1f37
        ee1f37

        Translation files are text files with sed commands inside,

        ee1f37
        replacement commands mainly. As convenction, translation file names
        ee1f37
        end in <samp>`.sed'</samp>. Translation files are used by centos-art
        ee1f37
        script to produce translated artworks for specific major releases of
        ee1f37
        CentOS Distribution. There are common translation files, specific
        ee1f37
        translation, and template translation files.
        ee1f37

        ee1f37

        For example, the Firstboot artwork of CentOS distribution uses the

        ee1f37
        images <tt>`splash-small.png'</tt> and <tt>`firstboot-left.png'</tt> as based
        ee1f37
        to control its visual style. The <tt>`splash-small.png'</tt> image
        ee1f37
        contains, in its graphic design, the release number information of
        ee1f37
        CentOS distribution. So the <tt>`splash-small.png'</tt> is
        ee1f37
        release-specific. In the other hand, the <tt>`firstboot-left.png'</tt>
        ee1f37
        doesn't contain release number information. So the
        ee1f37
        <tt>`firstboot-left.png'</tt> is not release-specific.
        ee1f37

        ee1f37

        If we want to produce Firstboot artwork for different major releases

        ee1f37
        of CentOS distribution, using a monolithic visual identity, all
        ee1f37
        Firstboot images should have the same visual style and, at the same
        ee1f37
        time, the release-specific information in the release-specific images. 
        ee1f37

        ee1f37
        info

        Note

        The monolithic visual identity is implemented using

        db14a4
        theme models (see section trunk/Identity/Themes/Models) and artistic
        db14a4
        motifs (see section trunk/Identity/Themes/Motifs).
        ee1f37

        ee1f37
        ee1f37

        Assuming that both theme models and theme motifs are ready for using,

        ee1f37
        the initial translation entry to produce Firstboot artworks would look
        ee1f37
        like the following:
        ee1f37

        ee1f37
        trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
        ee1f37
        |-- Tpl
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        `-- firstboot-left.sed
        ee1f37
        ee1f37

        With the translation entry above, centos-art command is able

        ee1f37
        to produce the image <tt>`firstboot-left.png'</tt> only. To produce
        ee1f37
        <tt>`splash-small.png'</tt> images for major releases (e.g., 3, 4, 5, and
        ee1f37
        6) of CentOS distribution we need to produce the release-specific
        ee1f37
        translation files using the centos-art script as following:
        ee1f37

        ee1f37
        centos-art render --entry=/home/centos/artwork/trunk/Translations/Identity/Themes/BootUp/Firstboot --filter='3,4,5,6'
        ee1f37
        ee1f37

        The above command produces the following translation entiry:

        ee1f37

        ee1f37
        trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
        ee1f37
        |-- 3
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- 4
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- 5
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- 6
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- Tpl
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        `-- firstboot-left.sed
        ee1f37
        ee1f37

        At this point centos-art is able to produce the Firstboot

        ee1f37
        artwork images for major releases of CentOS distribution. To add new
        ee1f37
        release-specific translation files, run the translation rendering
        ee1f37
        command with the release number you want to produce translation files
        ee1f37
        for in the <samp>`--filter='release-number''</samp> argument.
        ee1f37

        ee1f37
        ee1f37
        ee1f37

        3.34.2.4 Template Translation Files

        ee1f37
        ee1f37

        Template translation files are translation files stored inside

        ee1f37
        translation template directory. Template translation files are used by
        ee1f37
        centos-art script to produce specific translation files
        ee1f37
        only. Template translation files may be empty or contain sed
        ee1f37
        replacement commands. If template translation files are empty files,
        ee1f37
        the final specifc translation file built from it contains
        ee1f37
        release-specific replacement commands only. For example, see the
        ee1f37
        following translation entry:
        ee1f37

        ee1f37
        trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
        ee1f37
        |-- 3
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- 4
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- 5
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- 6
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- Tpl
        ee1f37
        |   `-- splash-small.sed    <-- template translation file.
        ee1f37
        `-- firstboot-left.sed
        ee1f37
        ee1f37

        In the above exmaple, the <tt>`splash-small.sed'</tt> file is a template

        ee1f37
        translation file and looks like:
        ee1f37

        ee1f37
        # -------------------------------------
        ee1f37
        # $Id: splash-small.sed 94 2010-09-18 10:59:42Z al $
        ee1f37
        # -------------------------------------
        ee1f37
        ee1f37

        In the above template translation file there are three comments lines,

        ee1f37
        but when you render it, the centos-art adds the
        ee1f37
        release-specific replacement commands. In our Firstboot example, after
        ee1f37
        rendering Firstboot translation entry, the <tt>`splash-small.sed'</tt>
        ee1f37
        translation file specific to CentOS 5, looks like the following:
        ee1f37

        ee1f37
        # Warning: Do not modify this file directly. This file is created
        ee1f37
        # automatically using 'centos-art' command line interface.  Any change
        ee1f37
        # you do in this file will be lost the next time you update
        ee1f37
        # translation files using 'centos-art' command line interface. If you
        ee1f37
        # want to improve the content of this translation file, improve its
        ee1f37
        # template file instead and run the 'centos-art' command line
        ee1f37
        # interface later to propagate your changes.
        ee1f37
        # -------------------------------------
        ee1f37
        # $Id: splash-small.sed 94 2010-09-18 10:59:42Z al $
        ee1f37
        # -------------------------------------
        ee1f37
        ee1f37
        # Release number information.
        ee1f37
        s!=RELEASE=!=MAJOR_RELEASE=.=MINOR_RELEASE=!g
        ee1f37
        s!=MINOR_RELEASE=!0!g
        ee1f37
        s!=MAJOR_RELEASE=!5!g
        ee1f37
        ee1f37

        If template translation files are not empty, replacement commands

        ee1f37
        inside template translation files are preserved inside
        ee1f37
        release-specific translation files.  For example, consider the English
        ee1f37
        template translation file of Anaconda progress welcome slide.  The
        ee1f37
        translation template directory structure looks like the following:
        ee1f37

        ee1f37
        trunk/Translations/Identity/Themes/Distro/Anaconda/Progress/
        ee1f37
        `-- Tpl
        ee1f37
            `-- en
        ee1f37
                `-- 01-welcome.sed
        ee1f37
        ee1f37

        and if we render translation files for CentOS 4 and CentOS 5 major

        ee1f37
        releases, the translation entry would look like the following:
        ee1f37

        ee1f37
        trunk/Translations/Identity/Themes/Distro/Anaconda/Progress/
        ee1f37
        |-- 4
        ee1f37
        |   `-- en
        ee1f37
        |       `-- 01-welcome.sed
        ee1f37
        |-- 5
        ee1f37
        |   `-- en
        ee1f37
        |       `-- 01-welcome.sed
        ee1f37
        `-- Tpl
        ee1f37
            `-- en
        ee1f37
                `-- 01-welcome.sed
        ee1f37
        ee1f37
        info

        Note

        Release-specific translation directories preserve

        ee1f37
        template translation directory structure and file names.
        ee1f37

        ee1f37
        ee1f37

        In the example above, the template translation file looks like the

        ee1f37
        following:
        ee1f37

        ee1f37
        # ------------------------------------------------------------
        ee1f37
        # $Id: 01-welcome.sed 94 2010-09-18 10:59:42Z al $
        ee1f37
        # ------------------------------------------------------------
        ee1f37
        s/=TITLE=/Welcome to CentOS =MAJOR_RELEASE= !/
        ee1f37
        s/=TEXT1=/Thank you for installing CentOS =MAJOR_RELEASE=./
        ee1f37
        s/=TEXT2=/CentOS is an enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor./
        ee1f37
        s/=TEXT3=/CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork./
        ee1f37
        s/=TEXT4=//
        ee1f37
        s/=TEXT5=//
        ee1f37
        s/=TEXT6=//
        ee1f37
        s!=URL=!http://www.centos.org/!
        ee1f37
        ee1f37

        and, after render the translation entry, specific translation files

        ee1f37
        look like the following:
        ee1f37

        ee1f37
        # Warning: Do not modify this file directly. This file is created
        ee1f37
        # automatically using 'centos-art' command line interface.  Any change
        ee1f37
        # you do in this file will be lost the next time you update
        ee1f37
        # translation files using 'centos-art' command line interface. If you
        ee1f37
        # want to improve the content of this translation file, improve its
        ee1f37
        # template file instead and run the 'centos-art' command line
        ee1f37
        # interface later to propagate your changes.
        ee1f37
        # ------------------------------------------------------------
        ee1f37
        # $Id: 01-welcome.sed 94 2010-09-18 10:59:42Z al $
        ee1f37
        # ------------------------------------------------------------
        ee1f37
        ee1f37
        s/=TITLE=/Welcome to CentOS =MAJOR_RELEASE= !/
        ee1f37
        s/=TEXT1=/Thank you for installing CentOS =MAJOR_RELEASE=./
        ee1f37
        s/=TEXT2=/CentOS is an enterprise-class Linux Distribution derived from sources freely provided to the public by a prominen t North American Enterprise Linux vendor./
        ee1f37
        s/=TEXT3=/CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. Cent OS mainly changes packages to remove upstream vendor branding and artwork./
        ee1f37
        s/=TEXT4=//
        ee1f37
        s/=TEXT5=//
        ee1f37
        s/=TEXT6=//
        ee1f37
        s!=URL=!http://www.centos.org/!
        ee1f37
        ee1f37
        # Release number information.
        ee1f37
        s!=RELEASE=!=MAJOR_RELEASE=.=MINOR_RELEASE=!g
        ee1f37
        s!=MINOR_RELEASE=!0!g
        ee1f37
        s!=MAJOR_RELEASE=!5!g
        ee1f37
        ee1f37

        In the example above, relevant lines begin with the <samp>`s'</samp> word

        ee1f37
        followed by a separation character (e.g., <samp>`/'</samp>, <samp>`!'</samp>, etc.).
        ee1f37
        These lines have the following format:
        ee1f37

        ee1f37
        s/REGEXP/REPLACEMENT/FLAGS
        ee1f37
        ee1f37

        The <samp>`/'</samp> characters may be uniformly replaced by any other single

        ee1f37
        character within any given s command.  The <samp>`/'</samp>
        ee1f37
        character (or whatever other character is used in its stead) can
        ee1f37
        appear in the REGEXP or REPLACEMENT only if it is preceded by a
        ee1f37
        <samp>`\'</samp> character.
        ee1f37

        ee1f37

        The s command is probably the most important in

        ee1f37
        sed and has a lot of different options.  Its basic concept
        ee1f37
        is simple: the s command attempts to match the pattern space
        ee1f37
        against the supplied REGEXP; if the match is successful, then that
        ee1f37
        portion of the pattern space which was matched is replaced with
        ee1f37
        REPLACEMENT.
        ee1f37

        ee1f37

        In the context of our translation files, the REGEXP is where you

        ee1f37
        define translation markers and REPLACEMENT where you define the
        ee1f37
        translation text you want to have after artworks rendering.  Sometimes
        ee1f37
        we use the FLAG component with the <samp>`g'</samp> command to apply the
        ee1f37
        replacements globally.
        ee1f37

        ee1f37
        Info

        Tip

        More information about how to use sed

        ee1f37
        replacement commands and flags is available in sed
        ee1f37
        documentation manual. To read sed documentation manual type
        ee1f37
        the following command: 
        ee1f37

        info sed
        ee1f37
        ee1f37
        ee1f37

        Inside translation files, you can use translation markers not only

        ee1f37
        inside the REGEXP but in the REPLACEMENT too. In order for this
        ee1f37
        configuration to work, the REPLACEMENT of translation markers needs to
        ee1f37
        be define after its definition. For example, see in the
        ee1f37
        release-specific translation file above, how the
        ee1f37
        <samp>`s!=MAJOR_RELASE=!5!g'</samp> replacement command is defined
        ee1f37
        after <samp>`=MAJOR_RELASE='</samp> translation marker definition in
        ee1f37
        the REPLACEMENT of <samp>`=TITLE='</samp> translation marker replacement
        ee1f37
        command.
        ee1f37

        ee1f37
        ee1f37
        ee1f37

        3.34.2.5 Common Translation Files

        ee1f37
        ee1f37

        Common translation files contain common translations or no

        ee1f37
        translation at all for their related artworks.  They are in the root
        ee1f37
        directory of the translation entry. Common translation files create
        ee1f37
        common artworks for all major releases of CentOS Distribution. 
        ee1f37

        ee1f37

        Translation entries, with common translation files inside, look like

        ee1f37
        the following:
        ee1f37

        ee1f37
        trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
        ee1f37
        |-- 3
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- 4
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- 5
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- 6
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        |-- Tpl
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        `-- firstboot-left.sed      <-- common translation file.
        ee1f37
        ee1f37
        ee1f37
        ee1f37

        3.34.2.6 Specific Translation Files

        ee1f37
        ee1f37

        Specific translation files contain specific translations for their

        ee1f37
        related artworks. Specific translation files are not in the root
        ee1f37
        directory of the translation entry, but inside directories which
        ee1f37
        describe the type of translation they are doing. Specific translation
        ee1f37
        files are produced automatically using the centos-art
        ee1f37
        script.
        ee1f37

        ee1f37
        trunk/Translations/Identity/Themes/Distro/BootUp/Firstboot/
        ee1f37
        |-- 3
        ee1f37
        |   `-- splash-small.sed    <-- CentOS 3 specific translation file.
        ee1f37
        |-- 4
        ee1f37
        |   `-- splash-small.sed    <-- CentOS 4 specific translation file.
        ee1f37
        |-- 5
        ee1f37
        |   `-- splash-small.sed    <-- CentOS 5 specific translation file.
        ee1f37
        |-- 6
        ee1f37
        |   `-- splash-small.sed    <-- CentOS 6 specific translation file.
        ee1f37
        |-- Tpl
        ee1f37
        |   `-- splash-small.sed
        ee1f37
        `-- firstboot-left.sed
        ee1f37
        ee1f37
        ee1f37
        ee1f37

        3.34.2.7 Translation Rendering

        ee1f37
        ee1f37

        When rendering translations, the centos-art script checks

        ee1f37
        the translation entry to verify that it has a translation template
        ee1f37
        directory inside. The translation template directory (<tt>`Tpl/'</tt>)
        ee1f37
        contains common translation files used to build release-specific
        ee1f37
        translation files. If the translation template directory doesn't exist
        ee1f37
        inside the translation entry the translation rendering fails. In this
        ee1f37
        case the centos-art script outputs a message and quits
        ee1f37
        script execution.
        ee1f37

        ee1f37
        ee1f37
        ee1f37

        3.34.2.8 Translation (Pre-)Rendering Configuration Scripts

        ee1f37
        ee1f37

        When the centos-art script finds a translation template

        ee1f37
        directory inside translation entry, it looks for translations
        ee1f37
        pre-rendering configuration scripts for that translation entry.
        ee1f37
        Translation pre-rendering configuration scripts let you extend
        ee1f37
        translation default functionality (described below). 
        ee1f37

        ee1f37

        Translation pre-rendering configuration scripts are stored under

        ee1f37
        <tt>`trunk/Scripts'</tt> directory, specifically under the appropriate
        ee1f37
        language implementation. If you are using centos-art Bash
        ee1f37
        implementation, the translation pre-rendering scripts are store in the
        ee1f37
        <tt>`trunk/Scripts/Bash/Config'</tt> location; if you are using
        ee1f37
        centos-art Python implementation, then translation
        ee1f37
        pre-rendering scripts are stored in the
        ee1f37
        <tt>`trunk/Scripts/Python/Config'</tt> location, and so on for other
        ee1f37
        implementations.
        ee1f37

        ee1f37

        Bash translation pre-rendering configuration scripts look like the

        ee1f37
        following:
        ee1f37

        ee1f37
        #!/bin/bash
        ee1f37
        #
        ee1f37
        # render_loadConfig.sh -- brief description here.
        ee1f37
        #
        ee1f37
        # Copyright (C) YEAR YOURNAME
        ee1f37
        # 
        ee1f37
        # This program is free software; you can redistribute it and/or modify
        ee1f37
        # it under the terms of the GNU General Public License as published by
        ee1f37
        # the Free Software Foundation; either version 2 of the License, or
        ee1f37
        # (at your option) any later version.
        ee1f37
        # 
        ee1f37
        # This program is distributed in the hope that it will be useful, but
        ee1f37
        # WITHOUT ANY WARRANTY; without even the implied warranty of
        ee1f37
        # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        ee1f37
        # General Public License for more details.
        ee1f37
        #
        ee1f37
        # You should have received a copy of the GNU General Public License
        ee1f37
        # along with this program; if not, write to the Free Software
        ee1f37
        # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
        ee1f37
        # USA.
        ee1f37
        # 
        ee1f37
        # ----------------------------------------------------------------------
        ee1f37
        # $Id: render_loadConfig.sh 94 2010-09-18 10:59:42Z al $
        ee1f37
        # ----------------------------------------------------------------------
        ee1f37
        ee1f37
        function render_loadConfig {
        ee1f37
        ...
        ee1f37
        }
        ee1f37
        ee1f37

        Translation pre-rendering scripts are function scripts loaded and

        ee1f37
        executed when rendering a translation entry. Translation pre-rendering
        ee1f37
        scripts are loaded using the translation entry being rendered as
        ee1f37
        reference. For example, suppose you are using the
        ee1f37
        centos-art Bash implementation, and you are rendering
        ee1f37
        translations for CentOS brands, in this situation the translation
        ee1f37
        entry would be:
        ee1f37

        ee1f37
        trunk/Translations/Identity/Brands
        ee1f37
        ee1f37

        and the entry inside the translation pre-rendering configuration

        ee1f37
        structure would be:
        ee1f37

        ee1f37
        trunk/Scripts/Bash/Config/Identity/Brands
        ee1f37
        ee1f37

        Once the centos-art script detects that translation

        ee1f37
        pre-rendering configuration directory exists, the centos-art
        ee1f37
        script looks for the translation pre-rendering configuration file.  If
        ee1f37
        the translation pre-rendering configuration file exists, it is loaded
        ee1f37
        and executed.  Once the translation pre-rendering configuration file
        ee1f37
        has been executed the translation rendering process is over, and so
        ee1f37
        the script execution.
        ee1f37

        ee1f37
        info

        Note

        Translation pre-rendering configuration files have the

        ee1f37
        following form:
        ee1f37

        render.conf.extension
        ee1f37

        where <samp>`extension'</samp> refers the programming language implementation

        ee1f37
        you are using. For example, <samp>`sh'</samp> for Bash, <samp>`py'</samp> for Python,
        ee1f37
        <samp>`pl'</samp> for Perl, and so on for other implementations.
        ee1f37

        ee1f37
        ee1f37

        As we are using Bash implementation to describe the translation

        ee1f37
        pre-rendering configuration example, the translation pre-rendering
        ee1f37
        configuration file that centos-art looks for, inside the
        ee1f37
        above translation pre-rendering configuration directory, is
        ee1f37
        <tt>`render.conf.sh'</tt>.
        ee1f37

        ee1f37
        ee1f37
        ee1f37

        3.34.2.9 Translation Rendering Default Functionality

        ee1f37
        ee1f37

        In the other hand, if the translation pre-rendering configuration file

        ee1f37
        doesn't exist, or it isn't written as function script, the
        ee1f37
        centos-art script ignore translation pre-rendering
        ee1f37
        configuration functionality and passes to render translation using
        ee1f37
        default functionality instead.
        ee1f37

        ee1f37

        The translation rendering default functionality takes template

        ee1f37
        translation directory structure, duplicates it for each release number
        ee1f37
        specified in the <samp>`--filter='release-number''</samp> argument and
        ee1f37
        produces release-specific directories. As part of template translation
        ee1f37
        duplication process take place, the centos-art script adds
        ee1f37
        release-specific replacement commands for each specific translation
        ee1f37
        file inside release-specific directories. As result, specific
        ee1f37
        translation files, inside release-specific directories, contain
        ee1f37
        template translation replacement commands plus,
        ee1f37
        release-specific replacement commands.
        ee1f37

        ee1f37
        info

        Note

        Release-specific replacement commands are standardized

        ee1f37
        inside centos-art script using predifined release
        ee1f37
        translation markers. Release translation markers are described in the
        ee1f37
        translation marker section
        ee1f37
        (see Translation Markers).
        ee1f37

        ee1f37
        ee1f37
        ee1f37
        ee1f37
        ee1f37

        3.34.3 Usage

        ee1f37
        ee1f37
        ee1f37
        <samp>`centos-art render --entry='path/to/dir''</samp>
        ee1f37
        ee1f37

        When <samp>`path/to/dir'</samp> refers one directory under

        ee1f37
        <samp>`trunk/Translations'</samp>, this command orverwrites available
        ee1f37
        translation files using translation templates.
        ee1f37

        ee1f37
        ee1f37
        <samp>`centos-art render --entry='path/to/dir' --filter='pattern''</samp>
        ee1f37
        ee1f37

        When <samp>`path/to/dir'</samp> refers one directory under

        ee1f37
        <tt>`trunk/Translations'</tt>, this command renders release-specific
        ee1f37
        translation files as you specify in the <samp>`--filter='pattern''</samp>
        ee1f37
        argument. In this case, <samp>`pattern'</samp> not a regular expression but an
        ee1f37
        number (e.g., <samp>`5'</samp>) or a list of numbers separated by commas
        ee1f37
        (e.g., <samp>`3,4,5,6'</samp>) that specify the major release of CentOS
        ee1f37
        distribution you want to render translations for.  
        ee1f37

        ee1f37
        ee1f37
        ee1f37
        ee1f37
        ee1f37

        3.34.4 See also

        ee1f37
        ee1f37
        db14a4
        3.1 trunk/Identity  
        ee1f37
        ee1f37
        ee1f37
        ee1f37
        ee1f37
        ee1f37
        [ < ]
        db14a4
        [ > ]
        ee1f37
           
        db14a4
        [ << ]
        ee1f37
        [ Up ]
        db14a4
        [ >> ]
        ee1f37
        ee1f37

        ee1f37
         <font size="-1">
        ee1f37
          This document was generated on February, 27 2011 using texi2html 1.76.
        ee1f37
         </font>
        ee1f37
         
        ee1f37
        ee1f37

        ee1f37
        </body>
        ee1f37
        </html>