Blame Manual/repository-html/repository_52.html

ee1f37
ee1f37
<html>
d1db00
d1db00
organization, and administration of CentOS Artwork Repository.
d1db00
d1db00
Copyright C 2009-2011 Alain Reguera Delgado
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
-->
949b9b
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>
06d106
<title>CentOS Artwork Repository: 2.48 The trunk/Locales Directory</title>
ee1f37
06d106
<meta name="description" content="CentOS Artwork Repository: 2.48 The trunk/Locales Directory">
06d106
<meta name="keywords" content="CentOS Artwork Repository: 2.48 The trunk/Locales Directory">
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
06d106
[ < ]
06d106
[ > ]
ee1f37
   
671838
[ << ]
671838
[ Up ]
06d106
[ >> ]
ee1f37
   
ee1f37
   
ee1f37
   
ee1f37
   
56a476
[Top]
56a476
[Contents]
06d106
[Index]
56a476
[ ? ]
ee1f37
06d106
995423
06d106

2.48 The <tt>`trunk/Locales'</tt> Directory

aaf678
06d106

The <tt>`trunk/Locales'</tt> directory exists to store the translation

06d106
messages used to produce content in different languages.
06d106

06d106

Translation messages are organized using the directory structure of

06d106
the component being translated. For example, if we want to provide
06d106
translation messages for <tt>`trunk/Manuals/Filesystem'</tt>, then the
06d106
<tt>`trunk/Locales/Manuals/Filesystem'</tt> directory needs to be created.
06d106

06d106

Once the locale directory exists for the component we want to provide

06d106
translation messages for, it is necessary to create the translation
06d106
files where translation messages are. The translation files follows
06d106
the concepts of xml2po and GNU gettext tools.
06d106

06d106

The basic translation process is as follow: first, translatable

06d106
strings are extracted from files and a portable object template (.pot)
06d106
is created or updated with the information. Using the portable object
06d106
template, a portable object (.po) is created or updated for translator
06d106
to locale the messages retrived.  Finally, a machine object (.mo) is
06d106
created from portable object to sotore the translated messages.
06d106

06d106

Inside the repository there are two ways to retrive translatable

06d106
strings from files. The first one is through xml2po command
06d106
and the second through xgettext command. The xml2po
06d106
is used to retrive translatable strings from XML files (e.g., Scalable
06d106
Vector Graphics, DocBook, etc.) and the xgettext command is
06d106
used to retrive translatable strings from shell scripts files (e.g.,
06d106
the files that make the centos-art.sh command-line
06d106
interface).
06d106

06d106

When translatable strings are retrived from XML files, using the

06d106
xml2po command, there is no need to create the machine
06d106
object as we do when translatable strings ar retrived from shell
06d106
files, using the xgettext command. The xml2po
06d106
produces a temporal machine object in order to create a translated XML
06d106
file. Once the translated XML file has been created the machine object
06d106
is no longer needed. On the other hand, the machine object produced by
06d106
the xgettext command is required by the system in order for
06d106
the show shell script localized messages.
06d106

06d106

Another difference between xml2po and xgettext we

06d106
need to be aware of is the directory structure used to store machine
06d106
objects. In xml2po, the machine object is created in the
06d106
current working directory as <tt>`.xml2po.mo'</tt> and can be safetly
06d106
removed once the translated XML file has been created. In the case of
06d106
xgettext, the machine object needs to be stored in the
06d106
<tt>`$TEXTDOMAIN/$LOCALE/LL_MESSAGES/$TEXTDOMAIN.mo'</tt> file in order
06d106
for the system to interpret it and should not be removed since it is
06d106
the file that contain the translation messages themselves.
06d106

06d106

Automation of localization tasks is achived through the locale

06d106
functionality of command-line interface.
06d106

632e8b
06d106
2.68 The <tt>`trunk/Scripts/Bash/Cli/Functions/Locale'</tt> Directory  
632e8b
632e8b
aaf678
ee1f37
06d106
ee1f37
06d106
[ < ]
995423
[ > ]
ee1f37
   
671838
[ << ]
06d106
[ Up ]
06d106
[ >> ]
ee1f37
ee1f37

ee1f37
 <font size="-1">
949b9b
  This document was generated on March, 11 2011 using texi2html 1.76.
ee1f37
 </font>
ee1f37
 
ee1f37
ee1f37

ee1f37
</body>
ee1f37
</html>