diff --git a/Manual/Directories/trunk/Scripts/Functions/Locale.texi b/Manual/Directories/trunk/Scripts/Functions/Locale.texi index b3abcef..4d582f0 100644 --- a/Manual/Directories/trunk/Scripts/Functions/Locale.texi +++ b/Manual/Directories/trunk/Scripts/Functions/Locale.texi @@ -1,85 +1,218 @@ -@subheading Goals +@subheading Name -@itemize -@item ... -@end itemize +The @strong{@code{locale}} functionlity is part of +@command{centos-art.sh} script and standardizes localization tasks +inside the working copy of CentOS Artwork Repository. -@subheading Description +@subheading Synopsis -This command looks for @samp{.sh} files inside Bash directory and -extracts translatable strings from files, using @command{xgettext} -command, in order to create a portable object template -(@file{centos-art.sh.pot}) file for them. - -With the @file{centos-art.sh.pot} file up to date, the -@command{centos-art} command removes the temporal list of files sotred -inside @file{/tmp} directory and checks the current language of your -user's session to create a portable object file for it, in the -location @file{$CLI_LANG/$CLI_LANG.po}. - -The @var{CLI_LANG} variable discribes the locale language used to -output messages inside @command{centos-art} command. The locale -language used inside @command{centos-art} command is taken from the -@env{LANG} environment variable. The @var{CLI_LANG} variable has the -@samp{LL_CC} format, where @samp{LL} is a language code from the -ISO-639 standard, and @samp{CC} a country code from the ISO-3166 -standard. - -The @env{LANG} environment variable is set when you do log in to your -system. If you are using a graphical session, change language to your -native language and do login. That would set and exoprt the @env{LANG} -environment variable to the correct value. On the other side, if you -are using a text session edit your @file{~/.bash_profile} file to set -and export the @env{LANG} environment variable to your native locale -as defines the @command{locale -a} command output; do logout, and do -login again. - -At this point, the @env{LANG} environment variable has the appropriate -value you need, in order to translate @command{centos-art.sh} messages -to your native language (the one set in @env{LANG} environment -variable). - -With the @file{$CLI_LANG/$CLI_LANG.po} file up to date, the -@command{centos-art} opens it for you to update translation strings. -The @command{centos-art} command uses the value of @var{EDITOR} -environment variable to determine your favorite text editor. If no -value is defined on @var{EDITOR}, the @file{/usr/bin/vim} text editor -is used as default. - -When you finishd PO file edition and quit text editor, the -@command{centos-art} command creates the related machine object in the -location @file{$CLI_LANG/LC_MESSAGES/$TEXTDOMAIN.mo}. - -At this point, all translations you made in the PO file should be -available to your language when runing @command{centos-art.sh} script. - -In order to make the @command{centos-art.sh} internationalization, the -@command{centos-art.sh} script was modified as described in the -@command{gettext} info documentation (@command{info gettext}). You -can find such modifications in the following files: +@command{centos-art} @code{@strong{locale}} @code{[OPTIONS] path/to/dir} -@itemize -@item @file{trunk/Scripts/Bash/initFunctions.sh} -@item @file{trunk/Scripts/Bash/Functions/Help/cli_localeMessages.sh} -@item @file{trunk/Scripts/Bash/Functions/Help/cli_localeMessagesStatus.sh} -@end itemize +The @file{path/to/dir} parameter specifies what directory structure +inside the working copy of CentOS Artwork Repository you want to +create translation messages for. -@itemize -@item ... -@end itemize +The @strong{@code{locale}} functionality of @command{centos-art.sh} script +accepts the following options: + +@table @option +@item --quiet + +Supress all output messages except error messages. When this option +is passed, all confirmation requests are supressed as well and a +possitive answer is assumed for them, just as if the +@option{--answer-yes} option had been provided. + +@item --answer-yes + +Assume `yes' to all confirmation requests. + +@item --filter="REGEX" + +Reduce the list of files to process using @samp{REGEX} as pattern. +You can use this option in combination with @file{path/to/dir} in +order to control the amount of files you want to produce as +base-rendition. The deeper you go into the directory structure the +more specific you'll be about the component you want to produce. When +you cannot go deeper into the directory structure, you can use +@option{--filter} option to reduce the list of files. + +@item --dont-commit-changes + +Supress all commit and update actions realized over files, before and +after the action itself had took place over files in the working copy. + +@item --update + +This option extracts translatable strings from both XML-based files +(using @command{xml2po}) and shell scripts (using @command{xgettext}) +under @file{path/to/dir}. Translatable strings are initially stored in +portable objects templates (.pot) which are later merged into portable +objects (.po) in order to be converted as machine objects (.mo). + +Use this option each time you change translatable stirngs inside +design models and script files. -@subheading Usage +@item --edit + +This option edits the portable object related to @file{path/to/dir} +location. + +Use this option after updating portable objects (through +@option{--update} option) in order to change the language-specific +information of translatable strings. + +@item --dont-create-mo + +This option supresses the creation of machine objects. + +@end table + +@subheading Description + +The CentOS Artwork Repository exists to cover the visual needs of The +CentOS Project Corporate Identity. The CentOS Project is an +internationl project and sometimes requires contents in different +languages. So, in that sake, the CentOS Artwork Repository is designed +to produce content in as many locales as supported by The CentOS +Distribution, the platform that supports the whole CentOS Artwork +Repository, both in workstations and server. + +@quotation +@strong{Tip} To know what locales are supported by The CentOS +Distribution you are currently using, run the following command: + +@verbatim +locale -a | less +@end verbatim +@end quotation + +The localization process is very tied to the input files we want to +provide localized messages for. Inside the CentOS Artwork Repository, +it is possible to localize XML files (e.g., SVG, XHTML, Docbook) and +programs written in most popular programming languages (e.g., C, C++, +C#, Shell Scripts, Python, Java, GNU awk, PHP, etc.). + +@subsubheading Design models localization + +Design models are used as input to produce most images and some other +contents as well. Design models are always XML-based files (e.g., SVG, +XHTML, Docbook), so the @strong{@code{locale}} functionality uses the +@command{xml2po} program to create protable objects from them under +@file{trunk/Locales/Models} directory. Portable objects contain the +relation between message id and message translation, as translator, +need to take care of. + +Thanks to @command{xml2po}, it is possible for the +@strong{@code{locale}} functionality to separate designing tasks from +the translating tasks. It is possible for graphic designers to +concentrate their efforts on designing models in English language +while translators take care of their localization using the +@option{--update} and @option{--edit} options as much as it be needed. + +Once design models have been localized, rendering them in different +language is a matter using the @strong{@code{render}} functionality of +@command{centos-art.sh} script. @xref{Directories trunk Scripts +Functions Render}, for more information about it. + +@subsubheading Shell script localization + +Additionally to design models localization, the @strong{@code{locale}} +functionality is also used to localize the @command{centos-art.sh} +script itself. The @command{centos-art.sh} script is a shell script +written in Bash, so the @strong{@code{locale}} functionality uses the +@command{gettext} tools to retrive translatable strings, create +portable objects and machine objects. + +Thanks to @command{gettext}, it is possible for the +@strong{@code{locale}} functionality to separate programming tasks +from the translating tasks. It is possible for programmer to +concentrate their efforts in programming output messages in English +language while translators take care of their localization using the +@option{--update} and @option{--edit} options as much as it be needed. + +Once @command{centos-art.sh} script has been localized, the translated +messages should be immediatly visible to you, the next time you +execute the @command{centos-art.sh} script + +@quotation +@strong{Note} +In order to localize translatable strings from English language to +another language you need to be sure the @env{LANG} environment +variable has been already set to the locale code you want to localize +message for or see them printed out before running the +@command{centos-art.sh} script. Localizing English language to itself +is not supported. +@end quotation + +@subheading Examples + +@table @command +@item centos-art locale --update trunk/Identity/Models/Default/Distro/5/Anaconda + +This command updates portable objects related to Anaconda default +design models of The CentOS Distribution major release 5. The update +action consists on adding new translatable strings or removing old +translatable strings from portable objects in order to keep both the +portable object and the design model consistent. + +This command is executed by translators once the graphic designers +have committed updates to Anaconda default design models (e.g., slide +text changes). + +@item centos-art locale --edit trunk/Identity/Models/Default/Distro/5/Anaconda --dont-create-mo + +This command let translators to edit portable objects related to +Anaconda default design models of The CentOS Distribution major +release 5. The edit action is where the translator localize +translatable strings in English language to another language. + +When portable objects for XML-base files are produced, there is no +need to retain the machine object format, so we used the +@option{--dont-create-mo}. + +@item centos-art locale --update trunk/Scripts + +This command updates portable objects related to +@command{centos-art.sh} script. The update action consists on adding +new translatable strings or removing old translatable strings from +portable objects in order to keep both the portable object and the +@command{centos-art.sh} script to be consistent one another. + +This command is executed by translators once the programmers have +committed updates @command{centos-art.sh} script. + +@item centos-art locale --edit trunk/Scripts + +This command let translators to edit portable objects related to +@command{centos-art.sh} script. The edit action is where the +translator localize translatable strings in English language to +another language. -@table @samp -@item centos-art locale --edit -Use this command to translate command-line interface output messages -in the current system locale you are using (as specified in @env{LANG} -environment variable). -@item centos-art locale --list -Use this command to see the command-line interface locale report. @end table +@subheading Author + +Written by Alain Reguera Delgado. + +@subheading Reporting bugs + +Report bugs to @email{centos-artwork@@centos.org} mailing list. + +@subheading Copyright + +Copyright @copyright{} 2009, 2010, 2011 The CentOS Project. + +This is free software. You may redistribute copies of it under the +terms of the GNU General Public License (@pxref{GNU General Public +License}). There is NO WARRANTY, to the extent permitted by law. + @subheading See also -@menu -@end menu +@itemize +@item The GNU @command{gettext} tools documentation (@command{info gettext}) +@item The @command{xml2po} command documentation (@command{man xml2po}) +@item @ref{Directories trunk Scripts Functions} +@item @ref{Directories trunk Scripts} +@item @ref{Directories trunk} +@end itemize diff --git a/Manual/Directories/trunk/Scripts/Functions/Render.texi b/Manual/Directories/trunk/Scripts/Functions/Render.texi index f151e68..ae4baea 100644 --- a/Manual/Directories/trunk/Scripts/Functions/Render.texi +++ b/Manual/Directories/trunk/Scripts/Functions/Render.texi @@ -12,8 +12,8 @@ The @file{path/to/dir} parameter specifies what directory structure inside the working copy of CentOS Artwork Repository you want to produce. -The @code{render} functionality of @command{centos-art.sh} script -accepts the following options: +The @strong{@code{render}} functionality of @command{centos-art.sh} +script accepts the following options: @table @option @item --quiet @@ -82,11 +82,11 @@ post-rendition and directory-specific rendition outputs. @subheading Description Inside the working copy of CentOS Artwork Repository, rendition tasks -take place inside renderable directories. Inside the @code{render} -functionality of @command{centos-art.sh} script, you can control -rendition tasks through different flows of rendition named -base-rendition, post-rendition, last-rendition and directory-specific -rendition. +take place inside renderable directories. Inside the +@strong{@code{render}} functionality of @command{centos-art.sh} +script, you can control rendition tasks through different flows of +rendition named base-rendition, post-rendition, last-rendition and +directory-specific rendition. @subsubheading Renderable directories @@ -108,7 +108,7 @@ files (e.g., @file{trunk/Identity/Images}). Optionally, a third directory structure is available to store the input related translation files (e.g., @file{trunk/Locales/Identity/Models}). -In direct rendition, when the @code{render} functionality of +In direct rendition, when the @strong{@code{render}} functionality of @command{centos-art.sh} script is executed, it uses the input directory structure to build a list of files to process, which is used as reference to determine the location of the translation file and the @@ -124,11 +124,11 @@ structure to store artistic motifs (@file{trunk/Identity/Images/Themes}) and one directory structure to store output files (@file{trunk/Identity/Images/Themes}). -In theme-specific rendition, when the @code{render} functionality of -@command{centos-art.sh} script is executed, it uses the input -directory structure to build a list of files to process, which is used -as reference to determine the location of the translation file and the -location of the output file, as well. +In theme-specific rendition, when the @strong{@code{render}} +functionality of @command{centos-art.sh} script is executed, it uses +the input directory structure to build a list of files to process, +which is used as reference to determine the location of the +translation file and the location of the output file, as well. In contrast with direct rendition, when we use theme-specific rendition, it is possible to combine both design models and artistic @@ -144,12 +144,12 @@ among them all. @end table In both direct and theme-specific rendition, if the location where the -output file should be stored doesn't exist, the @code{render} +output file should be stored doesn't exist, the @strong{@code{render}} functionality of @command{centos-art.sh} script will create it for you. In both direct and theme-specific rendition, if the input related -translation file doesn't exist, the @code{render} functionality of +translation file doesn't exist, the @strong{@code{render}} functionality of @command{centos-art.sh} script will produce the output in the same language of its input file. @@ -157,7 +157,7 @@ language of its input file. The base-rendition flow is the first rendition flow of all rendition flows available and takes place immediatly after executing the -@code{render} functionality of @command{centos-art.sh} script. +@strong{@code{render}} functionality of @command{centos-art.sh} script. The base-rendition produces different outputs from one unique input format. This is, one input file is used to produce one ore more output @@ -166,14 +166,14 @@ base-rendition applies the translation file to the input file in order to produce a translated instance of it, then this translated instance is used as input file to produce one or more output files. -Inside the @code{render} functionality of @command{centos-art.sh} -script, the input format is always XML (e.g., SVG, XHTML, Docbook), -the translation files are always portable objects (e.g., PO) and the -output format depends on the input file provided (e.g., when the -input format is a SVG file, the base output is a PNG file; when the -input format is XHTML the base output is an XHTML file; when the input -format is a Docbook file the base output might be either HTML, RTF, PS -or PDF). +Inside the @strong{@code{render}} functionality of +@command{centos-art.sh} script, the input format is always XML (e.g., +SVG, XHTML, Docbook), the translation files are always portable +objects (e.g., PO) and the output format depends on the input file +provided (e.g., when the input format is a SVG file, the base output +is a PNG file; when the input format is XHTML the base output is an +XHTML file; when the input format is a Docbook file the base output +might be either HTML, RTF, PS or PDF). As application example of base-rendition flow, consider the description of the following sections: @@ -371,6 +371,3 @@ License}). There is NO WARRANTY, to the extent permitted by law. @item @ref{Directories trunk Scripts} @item @ref{Directories trunk} @end itemize - - - diff --git a/Manual/repository.info.bz2 b/Manual/repository.info.bz2 index 82c07dd..978a482 100644 Binary files a/Manual/repository.info.bz2 and b/Manual/repository.info.bz2 differ diff --git a/Manual/repository.pdf b/Manual/repository.pdf index 455a872..b5c7ba2 100644 Binary files a/Manual/repository.pdf and b/Manual/repository.pdf differ diff --git a/Manual/repository.txt.bz2 b/Manual/repository.txt.bz2 index 7524bed..ae7a982 100644 Binary files a/Manual/repository.txt.bz2 and b/Manual/repository.txt.bz2 differ diff --git a/Manual/repository.xhtml.tar.bz2 b/Manual/repository.xhtml.tar.bz2 index 4497e33..2233783 100644 Binary files a/Manual/repository.xhtml.tar.bz2 and b/Manual/repository.xhtml.tar.bz2 differ diff --git a/Manual/repository.xml b/Manual/repository.xml index 1ae10de..79b99ec 100644 --- a/Manual/repository.xml +++ b/Manual/repository.xml @@ -2801,59 +2801,134 @@ centos-art locale --edit trunk/Scripts
The <file>trunk/Scripts/Functions/Locale</file> Directory Directories trunk Scripts Functions Locale - Goals + Name + The locale functionlity is part of centos-art.sh script and standardizes localization tasks inside the working copy of CentOS Artwork Repository. + Synopsis + centos-art locale [OPTIONS] path/to/dir + The path/to/dir parameter specifies what directory structure inside the working copy of CentOS Artwork Repository you want to create translation messages for. + The locale functionality of centos-art.sh script accepts the following options: + + + + + Supress all output messages except error messages. When this option is passed, all confirmation requests are supressed as well and a possitive answer is assumed for them, just as if the option had been provided. + + + + + + Assume `yes' to all confirmation requests. + + + + + + Reduce the list of files to process using REGEX as pattern. You can use this option in combination with path/to/dir in order to control the amount of files you want to produce as base-rendition. The deeper you go into the directory structure the more specific you'll be about the component you want to produce. When you cannot go deeper into the directory structure, you can use option to reduce the list of files. + + + + + + Supress all commit and update actions realized over files, before and after the action itself had took place over files in the working copy. + + + + + + This option extracts translatable strings from both XML-based files (using xml2po) and shell scripts (using xgettext) under path/to/dir. Translatable strings are initially stored in portable objects templates (.pot) which are later merged into portable objects (.po) in order to be converted as machine objects (.mo). + Use this option each time you change translatable stirngs inside design models and script files. + + + + + + This option edits the portable object related to path/to/dir location. + Use this option after updating portable objects (through option) in order to change the language-specific information of translatable strings. + + + + + + This option supresses the creation of machine objects. + + +
+ Description + The CentOS Artwork Repository exists to cover the visual needs of The CentOS Project Corporate Identity. The CentOS Project is an internationl project and sometimes requires contents in different languages. So, in that sake, the CentOS Artwork Repository is designed to produce content in as many locales as supported by The CentOS Distribution, the platform that supports the whole CentOS Artwork Repository, both in workstations and server. + + Tip To know what locales are supported by The CentOS Distribution you are currently using, run the following command: + + + The localization process is very tied to the input files we want to provide localized messages for. Inside the CentOS Artwork Repository, it is possible to localize XML files (e.g., SVG, XHTML, Docbook) and programs written in most popular programming languages (e.g., C, C++, C#, Shell Scripts, Python, Java, GNU awk, PHP, etc.). + Design models localization + Design models are used as input to produce most images and some other contents as well. Design models are always XML-based files (e.g., SVG, XHTML, Docbook), so the locale functionality uses the xml2po program to create protable objects from them under trunk/Locales/Models directory. Portable objects contain the relation between message id and message translation, as translator, need to take care of. + Thanks to xml2po, it is possible for the locale functionality to separate designing tasks from the translating tasks. It is possible for graphic designers to concentrate their efforts on designing models in English language while translators take care of their localization using the and options as much as it be needed. + Once design models have been localized, rendering them in different language is a matter using the render functionality of centos-art.sh script. See Directories trunk Scripts Functions Render, for more information about it. + Shell script localization + Additionally to design models localization, the locale functionality is also used to localize the centos-art.sh script itself. The centos-art.sh script is a shell script written in Bash, so the locale functionality uses the gettext tools to retrive translatable strings, create portable objects and machine objects. + Thanks to gettext, it is possible for the locale functionality to separate programming tasks from the translating tasks. It is possible for programmer to concentrate their efforts in programming output messages in English language while translators take care of their localization using the and options as much as it be needed. + Once centos-art.sh script has been localized, the translated messages should be immediatly visible to you, the next time you execute the centos-art.sh script + + Note In order to localize translatable strings from English language to another language you need to be sure the LANG environment variable has been already set to the locale code you want to localize message for or see them printed out before running the centos-art.sh script. Localizing English language to itself is not supported. + + Examples + + + centos-art locale --update trunk/Identity/Models/Default/Distro/5/Anaconda + + This command updates portable objects related to Anaconda default design models of The CentOS Distribution major release 5. The update action consists on adding new translatable strings or removing old translatable strings from portable objects in order to keep both the portable object and the design model consistent. + This command is executed by translators once the graphic designers have committed updates to Anaconda default design models (e.g., slide text changes). + + + + centos-art locale --edit trunk/Identity/Models/Default/Distro/5/Anaconda --dont-create-mo + + This command let translators to edit portable objects related to Anaconda default design models of The CentOS Distribution major release 5. The edit action is where the translator localize translatable strings in English language to another language. + When portable objects for XML-base files are produced, there is no need to retain the machine object format, so we used the . + + + + centos-art locale --update trunk/Scripts + + This command updates portable objects related to centos-art.sh script. The update action consists on adding new translatable strings or removing old translatable strings from portable objects in order to keep both the portable object and the centos-art.sh script to be consistent one another. + This command is executed by translators once the programmers have committed updates centos-art.sh script. + + + + centos-art locale --edit trunk/Scripts + + This command let translators to edit portable objects related to centos-art.sh script. The edit action is where the translator localize translatable strings in English language to another language. + + +
+ Author + Written by Alain Reguera Delgado. + Reporting bugs + Report bugs to centos-artwork@centos.org mailing list. + Copyright + Copyright ©right; 2009, 2010, 2011 The CentOS Project. + This is free software. You may redistribute copies of it under the terms of the GNU General Public License (see GNU General Public License). There is NO WARRANTY, to the extent permitted by law. + See also - ... + The GNU gettext tools documentation (info gettext) - - Description - This command looks for .sh files inside Bash directory and extracts translatable strings from files, using xgettext command, in order to create a portable object template (centos-art.sh.pot) file for them. - With the centos-art.sh.pot file up to date, the centos-art command removes the temporal list of files sotred inside /tmp directory and checks the current language of your user's session to create a portable object file for it, in the location $CLI_LANG/$CLI_LANG.po. - The CLI_LANG variable discribes the locale language used to output messages inside centos-art command. The locale language used inside centos-art command is taken from the LANG environment variable. The CLI_LANG variable has the LL_CC format, where LL is a language code from the ISO-639 standard, and CC a country code from the ISO-3166 standard. - The LANG environment variable is set when you do log in to your system. If you are using a graphical session, change language to your native language and do login. That would set and exoprt the LANG environment variable to the correct value. On the other side, if you are using a text session edit your ~/.bash_profile file to set and export the LANG environment variable to your native locale as defines the locale -a command output; do logout, and do login again. - At this point, the LANG environment variable has the appropriate value you need, in order to translate centos-art.sh messages to your native language (the one set in LANG environment variable). - With the $CLI_LANG/$CLI_LANG.po file up to date, the centos-art opens it for you to update translation strings. The centos-art command uses the value of EDITOR environment variable to determine your favorite text editor. If no value is defined on EDITOR, the /usr/bin/vim text editor is used as default. - When you finishd PO file edition and quit text editor, the centos-art command creates the related machine object in the location $CLI_LANG/LC_MESSAGES/$TEXTDOMAIN.mo. - At this point, all translations you made in the PO file should be available to your language when runing centos-art.sh script. - In order to make the centos-art.sh internationalization, the centos-art.sh script was modified as described in the gettext info documentation (info gettext). You can find such modifications in the following files: - - - trunk/Scripts/Bash/initFunctions.sh + The xml2po command documentation (man xml2po) - trunk/Scripts/Bash/Functions/Help/cli_localeMessages.sh + Directories trunk Scripts Functions - trunk/Scripts/Bash/Functions/Help/cli_localeMessagesStatus.sh + Directories trunk Scripts - - - - ... + Directories trunk - Usage - - - centos-art locale --edit - - Use this command to translate command-line interface output messages in the current system locale you are using (as specified in LANG environment variable). - - - - centos-art locale --list - - Use this command to see the command-line interface locale report. - - -
- See also - -
@@ -3029,7 +3104,7 @@ centos-art.sh prepare [OPTIONS] Synopsis centos-art render [OPTIONS] path/to/dir The path/to/dir parameter specifies what directory structure inside the working copy of CentOS Artwork Repository you want to produce. - The render functionality of centos-art.sh script accepts the following options: + The render functionality of centos-art.sh script accepts the following options: @@ -3087,7 +3162,7 @@ centos-art.sh prepare [OPTIONS]
Description - Inside the working copy of CentOS Artwork Repository, rendition tasks take place inside renderable directories. Inside the render functionality of centos-art.sh script, you can control rendition tasks through different flows of rendition named base-rendition, post-rendition, last-rendition and directory-specific rendition. + Inside the working copy of CentOS Artwork Repository, rendition tasks take place inside renderable directories. Inside the render functionality of centos-art.sh script, you can control rendition tasks through different flows of rendition named base-rendition, post-rendition, last-rendition and directory-specific rendition. Renderable directories In order for a directory structure to be considered renderable, it should have one directory structure for input files and one directory structure for output files. Optionally, a third directory structure might be available for storing translation files. Renderable directories are very tied to the way content is produced inside the working copy of CentOS Artwork Repository. Presently, content is produced through the following organizations: @@ -3096,24 +3171,24 @@ centos-art.sh prepare [OPTIONS] Direct rendition In direct rendition, there is one directory structure for input files (trunk/Identity/Models) and one directory structure for output files (e.g., trunk/Identity/Images). Optionally, a third directory structure is available to store the input related translation files (e.g., trunk/Locales/Identity/Models). - In direct rendition, when the render functionality of centos-art.sh script is executed, it uses the input directory structure to build a list of files to process, which is used as reference to determine the location of the translation file and the location of the output file, as well. + In direct rendition, when the render functionality of centos-art.sh script is executed, it uses the input directory structure to build a list of files to process, which is used as reference to determine the location of the translation file and the location of the output file, as well. Theme-specific rendition In theme-specific rendition, there is one directory structure to store input files (trunk/Identity/Themes/Models), one directory structure to store translation files (trunk/Locales/Identity/Themes/Models/), one directory structure to store artistic motifs (trunk/Identity/Images/Themes) and one directory structure to store output files (trunk/Identity/Images/Themes). - In theme-specific rendition, when the render functionality of centos-art.sh script is executed, it uses the input directory structure to build a list of files to process, which is used as reference to determine the location of the translation file and the location of the output file, as well. + In theme-specific rendition, when the render functionality of centos-art.sh script is executed, it uses the input directory structure to build a list of files to process, which is used as reference to determine the location of the translation file and the location of the output file, as well. In contrast with direct rendition, when we use theme-specific rendition, it is possible to combine both design models and artistic motifs to produce output in an arbitrary way. This configuration is specially interesting because it is possible to create different artistic motifs and one unique design model in order to produce one unique theme structure with different visual styles. Or the opposite, to create different theme structures and apply one unique visual style to produce one unique visual styles on different theme structure. Or even get a bit farther and experiment with arbitrary combinations among them all. - In both direct and theme-specific rendition, if the location where the output file should be stored doesn't exist, the render functionality of centos-art.sh script will create it for you. - In both direct and theme-specific rendition, if the input related translation file doesn't exist, the render functionality of centos-art.sh script will produce the output in the same language of its input file. + In both direct and theme-specific rendition, if the location where the output file should be stored doesn't exist, the render functionality of centos-art.sh script will create it for you. + In both direct and theme-specific rendition, if the input related translation file doesn't exist, the render functionality of centos-art.sh script will produce the output in the same language of its input file. The base-rendition flow - The base-rendition flow is the first rendition flow of all rendition flows available and takes place immediatly after executing the render functionality of centos-art.sh script. + The base-rendition flow is the first rendition flow of all rendition flows available and takes place immediatly after executing the render functionality of centos-art.sh script. The base-rendition produces different outputs from one unique input format. This is, one input file is used to produce one ore more output files. When translation files are available for input files, the base-rendition applies the translation file to the input file in order to produce a translated instance of it, then this translated instance is used as input file to produce one or more output files. - Inside the render functionality of centos-art.sh script, the input format is always XML (e.g., SVG, XHTML, Docbook), the translation files are always portable objects (e.g., PO) and the output format depends on the input file provided (e.g., when the input format is a SVG file, the base output is a PNG file; when the input format is XHTML the base output is an XHTML file; when the input format is a Docbook file the base output might be either HTML, RTF, PS or PDF). + Inside the render functionality of centos-art.sh script, the input format is always XML (e.g., SVG, XHTML, Docbook), the translation files are always portable objects (e.g., PO) and the output format depends on the input file provided (e.g., when the input format is a SVG file, the base output is a PNG file; when the input format is XHTML the base output is an XHTML file; when the input format is a Docbook file the base output might be either HTML, RTF, PS or PDF). As application example of base-rendition flow, consider the description of the following sections: