/[gentoo]/xml/htdocs/doc/en/guide-localization.xml
Gentoo

Diff of /xml/htdocs/doc/en/guide-localization.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.17 Revision 1.18
1<?xml version='1.0' encoding='UTF-8'?> 1<?xml version='1.0' encoding='UTF-8'?>
2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/guide-localization.xml,v 1.17 2004/12/14 01:02:18 pylon Exp $ --> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/guide-localization.xml,v 1.18 2005/02/05 14:53:36 swift Exp $ -->
3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4 4
5<guide link="/doc/en/guide-localization.xml"> 5<guide link="/doc/en/guide-localization.xml">
6<title>Gentoo Linux Localization Guide</title> 6<title>Gentoo Linux Localization Guide</title>
7<author title="Author"> 7<author title="Author">
8 Alexander Holler 8 Alexander Holler
9</author> 9</author>
10<author title="Translator/Editor"> 10<author title="Translator/Editor">
11 <mail link="slucy@uchicago.edu">Steven Lucy</mail> 11 <mail link="slucy@uchicago.edu">Steven Lucy</mail>
12</author> 12</author>
13<author title="Editor"> 13<author title="Editor">
14 <mail link="bennyc@gentoo.org">Benny Chuang</mail> 14 <mail link="bennyc@gentoo.org">Benny Chuang</mail>
15</author> 15</author>
16<author title="Editor"> 16<author title="Editor">
17 <mail link="pylon@gentoo.org">Lars Weiler</mail> 17 <mail link="pylon@gentoo.org">Lars Weiler</mail>
18</author> 18</author>
19<author title="Editor"> 19<author title="Editor">
20 <mail link="dertobi123@gentoo.org">Tobias Scherbaum</mail> 20 <mail link="dertobi123@gentoo.org">Tobias Scherbaum</mail>
21</author>
22<author title="Editor">
23 <mail link="flammie@gentoo.org">Flammie Pirinen</mail>
21</author> 24</author>
22 25
23<abstract> 26<abstract>
24This guide should help users localize their Gentoo Linux distribution to any 27This guide should help users localize their Gentoo Linux distribution to any
25European locale. It uses Germany as a case-study, since it is translated from 28European locale. It uses Germany as a case-study, since it is translated from
26the German doc. Includes configuration for use of the Euro currency symbol. 29the German doc. Includes configuration for use of the Euro currency symbol.
27</abstract> 30</abstract>
28 31
29<version>1.12</version> 32<version>1.13</version>
30<date>November 1, 2004</date> 33<date>2005-02-05</date>
31 34
32<chapter> 35<chapter>
33<title>Timezone</title> 36<title>Timezone</title>
34<section> 37<section>
35<body> 38<body>
36 39
37<p> 40<p>
38In order to keep time properly, <path>/etc/localtime</path> must point to 41In order to keep time properly, <path>/etc/localtime</path> must point to
39the correct time zone data file. Look around in 42the correct time zone data file. Look around in
40<path>/usr/share/zoneinfo/</path> and pick your timezone or a near-by big city. 43<path>/usr/share/zoneinfo/</path> and pick your timezone or a near-by big city.
41</p> 44</p>
42 45
43<pre caption="setting the timezone"> 46<pre caption="setting the timezone">
44# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i> 47# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
45# <i>date</i> 48# <i>date</i>
76value of <c>CLOCK</c>. 79value of <c>CLOCK</c>.
77</p> 80</p>
78 81
79<pre caption="local vs. GMT clock"> 82<pre caption="local vs. GMT clock">
80<codenote>recommended:</codenote> 83<codenote>recommended:</codenote>
81CLOCK="UTC" 84CLOCK="UTC"
82<codenote>or:</codenote> 85<codenote>or:</codenote>
83CLOCK="local" 86CLOCK="local"
84</pre> 87</pre>
85 88
86</body> 89</body>
87</section> 90</section>
88</chapter> 91</chapter>
89 92
90<chapter> 93<chapter>
91<title>POSIX Locale</title> 94<title>Locale system</title>
95<section>
96<title>What are locales?</title>
97<body>
98
99<p>
100A Locale is a set of information that most programs use for determining
101country and language specific settings. The locales and their data
102are part of the system library and can be found
103at <path>/usr/share/locale</path> on most systems. A locale name is generally
104named <c>ab_CD</c >where <c>ab</c> is your two (or three) letter
105language code (as specified in ISO-639) and <c>CD</c> is your two letter country
106code (as specified in ISO-3199).
107</p>
108
109</body>
92<section> 110</section>
93<title>Using Existing Locales</title> 111<section>
112<title>Environment variables for locales</title>
94<body> 113<body>
95 114
96<p>
97The next step is to set the <c>LANG</c> shell variable, which
98is used by your shell and window manager (and some other
99applications). Valid values can be found in
100<path>/usr/share/locale</path> and generally take the form
101<c>ab_CD</c>, where <c>ab</c> is your two letter language code
102and <c>CD</c> is your two letter country code. The <c>_CD</c>
103is left off if your language is only (or primarily) spoken in
104one country. <c>LANG</c> can be set in
105<path>/etc/profile</path> if you want it to take effect
106system-wide, or in <path>~/.bashrc</path> as a user-specific
107setting.
108</p> 115<p>
116Locale settings are stored in environment variables. These are typically
117set in the <path>/etc/env.d/02locale</path> (for system-wide
118settings) and <path>~/.bashrc</path> (for user-specific settings) file.
119The variables controlling different aspects of locale settings
120are given in the table below, those with highest precedence (ie. those
121that override settings below them) are at the top of the table. All variables
122take one name of a locale in <c>ab_CD</c> format given above.
123</p>
109 124
125<table>
126<tr>
127 <th>Variable name</th>
128 <th>Explanation</th>
129</tr>
130<tr>
131 <ti>LC_ALL</ti>
132 <ti>
133 Define all locale settings at once. This is the top level setting for
134 locales which will override any other setting.
135 </ti>
136</tr>
137<tr>
138 <ti>LC_COLLATE</ti>
139 <ti>
140 Define alphabetical ordering of strings. This affects eg. output of sorted
141 dir listing.
142 </ti>
143</tr>
144<tr>
145 <ti>LC_CTYPE</ti>
146 <ti>
147 Define the character handling properties for the system. This determines
148 which characters are seen as part of alphabet, numeric and so on. This also
149 determines the character set used, if applicable.
150 </ti>
151</tr>
152<tr>
153 <ti>LC_MESSAGES</ti>
154 <ti>
155 Programs' localizations for applications that use message based localization
156 scheme (majority of Gnu programs, see next chapters for closer information
157 which do, and how to get the programs, that don't, to work).
158 </ti>
159</tr>
160<tr>
161 <ti>LC_MONETARY</ti>
162 <ti>Defines currency units and formatting of currency type numeric values.</ti>
163</tr>
164<tr>
165 <ti>LC_NUMERIC</ti>
166 <ti>
167 Defines formatting of numeric values which aren't monetary. Affects things
168 such as thousand separator and decimal separator.
169 </ti>
170</tr>
171<tr>
172 <ti>LC_TIME</ti>
173 <ti>Defines formatting of dates and times.</ti>
174</tr>
175<tr>
176 <ti>LC_PAPER</ti>
177 <ti>Defines default paper size.</ti>
178</tr>
179<tr>
180 <ti>LANG</ti>
181 <ti>
182 Defines all locale settings at once. This setting can be overridden by
183 individual LC_* settings above or even by LC_ALL.
184 </ti>
185</tr>
186</table>
187
188<p>
189Most typically users only set the LANG variable and perhaps LC_CTYPE variable
190on user level by adding definitions to shells startup files defining
191the environment variable manually from command line:
192</p>
193
110<pre caption="setting the POSIX locale"> 194<pre caption="setting the German locale">
111export LANG="de_DE@euro" 195export LANG="de_DE@euro"
112</pre> 196</pre>
113 197
114<note> 198<note>
115Appended <c>@euro</c> to your locale if you want to use the new Euro 199Append <c>@euro</c> to your locale if you want to use the Euro
116currency symbol (&#8364;) 200currency symbol (&#8364;)
117</note> 201</note>
202
203<p>
204For message based localization to work in programs that support it, you will
205probably need to have programs compiled with the <c>nls</c> (Native language
206support) USE flag set. Most of the programs using nls also need the gettext
207library to extract and use localized messages. Of course, Gentoo's Portage will
208automatically install it when needed.
209</p>
118 210
119</body> 211</body>
120</section> 212</section>
121<section> 213<section>
122<title>Generating Specific Locales</title> 214<title>Generating Specific Locales</title>
123<body> 215<body>
124 216
125<p> 217<p>
126If you use a locale that isn't available by default, you should use 218If you use a locale that isn't available by default, you should use
127<c>localedef</c> to generate your locale. For instance: 219<c>localedef</c> to generate your locale. For instance:
128</p> 220</p>
129 221
130<pre caption="Generating a locale using localedef"> 222<pre caption="Generating a locale using localedef">
131# <i>localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15</i> 223# <i>localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15</i>
132</pre> 224</pre>
149<p> 241<p>
150You will probably only use one or maybe two locales on your system. Up until now 242You will probably only use one or maybe two locales on your system. Up until now
151after compiling <c>glibc</c> a full set of all available locales has been 243after compiling <c>glibc</c> a full set of all available locales has been
152created. As of now you can activate the <c>userlocales</c> USE flag und specify 244created. As of now you can activate the <c>userlocales</c> USE flag und specify
153only the locales you will need in <path>/etc/locales.build</path>. 245only the locales you will need in <path>/etc/locales.build</path>.
154</p> 246</p>
155 247
156<pre caption="Activate the userlocales USE flag especially for glibc"> 248<pre caption="Activate the userlocales USE flag especially for glibc">
157echo "sys-libs/glibc userlocales" >> /etc/portage/package.use 249echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
158</pre> 250</pre>
159 251
160<p> 252<p>
161Now specify the locales you want to be able to use: 253Now specify the locales you want to be able to use:
162</p> 254</p>
163 255
164<pre caption="nano -w /etc/locales.build"> 256<pre caption="Adding locales to /etc/locales.build">
165en_US/ISO-8859-1 257en_US/ISO-8859-1
166en_US.UTF-8/UTF-8 258en_US.UTF-8/UTF-8
167de_DE/ISO-8859-1 259de_DE/ISO-8859-1
168de_DE@euro/ISO-8859-15 260de_DE@euro/ISO-8859-15
169</pre> 261</pre>
170 262
171<p> 263<p>
172The next step is to re-compile <c>glibc</c>. Of course you can defer this until 264The next step is to re-compile <c>glibc</c>. Of course you can defer this until
173the next <c>glibc</c> upgrade is available. 265the next <c>glibc</c> upgrade is available.
174</p> 266</p>
175 267
176</body> 268</body>
177</section> 269</section>
178</chapter> 270</chapter>
179 271

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.20