/[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.7 Revision 1.33
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.33 2005/11/25 20:36:01 jkt Exp $ -->
2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 4
4<guide link="/doc/en/guide-localization.xml"> 5<guide link="/doc/en/guide-localization.xml">
5<title>Gentoo Linux Localization Guide</title> 6<title>Gentoo Linux Localization Guide</title>
6<author title="Author"><mail link="holler@ahsoftware.de"> 7<author title="Author">
7 Alexander Holler</mail> 8 Alexander Holler
8</author> 9</author>
9<author title="Translator/Editor"><mail link="slucy@uchicago.edu"> 10<author title="Translator/Editor">
10 Steven Lucy</mail> 11 <mail link="slucy@uchicago.edu">Steven Lucy</mail>
12</author>
13<author title="Editor">
14 <mail link="bennyc@gentoo.org">Benny Chuang</mail>
15</author>
16<author title="Editor">
17 <mail link="pylon@gentoo.org">Lars Weiler</mail>
18</author>
19<author title="Editor">
20 <mail link="dertobi123@gentoo.org">Tobias Scherbaum</mail>
21</author>
22<author title="Editor">
23 <mail link="flammie@gentoo.org">Flammie Pirinen</mail>
11</author> 24</author>
12 25
13<abstract> 26<abstract>
14This guide should help users localize their Gentoo Linux distribution to any 27This guide should help users localize their Gentoo Linux distribution to any
15European 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
16the German doc. Includes configuration for use of the Euro currency symbol. 29the German doc. Includes configuration for use of the euro currency symbol.
17</abstract> 30</abstract>
18 31
32<version>1.24</version>
33<date>2005-11-25</date>
34
19<chapter> 35<chapter>
20<title>Timezone</title> 36<title>Time zone</title>
21<section> 37<section>
22 <body> 38<body>
23 <p>In order to keep time properly, 39
24 <path>/etc/localtime</path> must point to the correct time zone 40<p>
41In order to keep time properly, <path>/etc/localtime</path> must contain the
25 data file. Look around in <path>/usr/share/zoneinfo/</path> 42correct time zone data file. Look around in <path>/usr/share/zoneinfo/</path>
26 and pick your timezone or a near-by big city. 43and pick your timezone or a near-by big city. Please avoid the
44<path>/usr/share/zoneinfo/Etc/GMT*</path> timezones as their names do not
45indicate the expected zones. For instance, <path>GMT-8</path> is in fact GMT+8.
46</p>
47
27<pre caption="setting the timezone"> 48<pre caption="setting the timezone">
28# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i> 49# <i>cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
29# <i>date</i> 50# <i>date</i>
30Sun Feb 16 08:26:44 CET 2003 51Sun Feb 16 08:26:44 CET 2003
31</pre> 52</pre>
53
54<note>
32<note>Make sure that the three-letter timezone indicator (in this case "CET") 55Make sure that the three-letter timezone indicator (in this case "CET")
33is correct for your area.</note> 56is correct for your area.
57</note>
58
59<note>
34<note>You can set the value of <i>TZ</i> to be everything after the 60You can set the value of <c>TZ</c> to be everything after the
35<path>/usr/share/zoninfo</path> in your shell rc file 61<path>/usr/share/zoneinfo</path> in your shell rc file
36(<path>.bash_profile</path> for bash) for a user-level setting. In this case 62(<path>.bash_profile</path> for bash) for a user-level setting. In this case
37<i>TZ="Europe/Berlin"</i>.</note> 63<c>TZ="Europe/Berlin"</c>.
38 </p> 64</note>
39 </body>
40</section>
41</chapter>
42 65
43<chapter> 66</body>
44<title>System Clock</title>
45<section> 67</section>
46 <body> 68</chapter>
47 <p> 69
70<chapter>
71<title>Hardware Clock</title>
72<section>
73<body>
74
75<p>
48 In most Gentoo Linux installations, your system clock is set to 76In most Gentoo Linux installations, your hardware clock is set to
49 UTC (or GMT, Greenwhich Mean Time) and then your timezone is 77UTC (or GMT, Greenwich Mean Time) and then your timezone is
50 taken into account to determine the actual, local time. If, 78taken into account to determine the actual, local time. If,
51 for some reason, you need your system clock not to be in UTC, 79for some reason, you need your hardware clock not to be in UTC,
52 you will need to edit <path>/etc/rc.conf</path> and change the 80you will need to edit <path>/etc/conf.d/clock</path> and change the
53 value of <i>CLOCK</i>. 81value of <c>CLOCK</c> from <c>UTC</c> to <c>local</c>.
82</p>
54 83
55<pre caption="local vs. GMT clock"> 84<pre caption="local vs. GMT clock">
56 <codenote>recommended:</codenote> 85<comment>(recommended:)</comment>
57 CLOCK="UTC" 86CLOCK="UTC"
58 <codenote>or:</codenote> 87<comment>(or:)</comment>
59 CLOCK="local" 88CLOCK="local"
60</pre> 89</pre>
61 </p>
62 </body>
63</section>
64</chapter>
65 90
66<chapter> 91</body>
67<title>POSIX Locale</title>
68<section> 92</section>
69 <body> 93</chapter>
70 <p> 94
71 The next step is to set the <i>LANG</i> shell variable, which 95<chapter>
72 is used by your shell and window manager (and some other 96<title>Locale system</title>
73 applications). Valid values can be found in 97<section>
74 <path>/usr/share/locale</path> and generally take the form 98<title>What are locales?</title>
75 <i>ab_CD</i>, where <i>ab</i> is your two letter language code 99<body>
76 and <i>CD</i> is your two letter country code. the <i>_CD</i> 100
77 is left off if your language is only (or primarily) spoken in 101<p>
78 one country. <i>LANG</i> can be set in 102A Locale is a set of information that most programs use for determining
79 <path>/etc/profile</path> if you want it to take effect 103country and language specific settings. The locales and their data
80 system-wide, or in <path>~/.bashrc</path> as a user-specific 104are part of the system library and can be found
81 setting. 105at <path>/usr/share/locale</path> on most systems. A locale name is generally
106named <c>ab_CD</c> where <c>ab</c> is your two (or three) letter
107language code (as specified in ISO-639) and <c>CD</c> is your two letter country
108code (as specified in ISO-3199).
109</p>
110
111</body>
112</section>
113<section id="variables">
114<title>Environment variables for locales</title>
115<body>
116
117<p>
118Locale settings are stored in environment variables. These are typically
119set in the <path>/etc/env.d/02locale</path> (for system-wide
120settings) and <path>~/.bashrc</path> (for user-specific settings) file.
121The variables controlling different aspects of locale settings
122are given in the table below, those with highest precedence (ie. those
123that override settings below them) are at the top of the table. All variables
124take one name of a locale in <c>ab_CD</c> format given above.
125</p>
126
127<table>
128<tr>
129 <th>Variable name</th>
130 <th>Explanation</th>
131</tr>
132<tr>
133 <ti>LC_ALL</ti>
134 <ti>
135 Define all locale settings at once. This is the top level setting for
136 locales which will override any other setting.
137 </ti>
138</tr>
139<tr>
140 <ti>LC_COLLATE</ti>
141 <ti>
142 Define alphabetical ordering of strings. This affects eg. output of sorted
143 directory listing.
144 </ti>
145</tr>
146<tr>
147 <ti>LC_CTYPE</ti>
148 <ti>
149 Define the character handling properties for the system. This determines
150 which characters are seen as part of alphabet, numeric and so on. This also
151 determines the character set used, if applicable.
152 </ti>
153</tr>
154<tr>
155 <ti>LC_MESSAGES</ti>
156 <ti>
157 Programs' localizations for applications that use message based localization
158 scheme (majority of Gnu programs, see next chapters for closer information
159 which do, and how to get the programs, that don't, to work).
160 </ti>
161</tr>
162<tr>
163 <ti>LC_MONETARY</ti>
164 <ti>Defines currency units and formatting of currency type numeric values.</ti>
165</tr>
166<tr>
167 <ti>LC_NUMERIC</ti>
168 <ti>
169 Defines formatting of numeric values which aren't monetary. Affects things
170 such as thousand separator and decimal separator.
171 </ti>
172</tr>
173<tr>
174 <ti>LC_TIME</ti>
175 <ti>Defines formatting of dates and times.</ti>
176</tr>
177<tr>
178 <ti>LC_PAPER</ti>
179 <ti>Defines default paper size.</ti>
180</tr>
181<tr>
182 <ti>LANG</ti>
183 <ti>
184 Defines all locale settings at once. This setting can be overridden by
185 individual LC_* settings above or even by LC_ALL.
186 </ti>
187</tr>
188</table>
189
190<note>
191Even though most programs work with LC_ALL only, some of them misbehave if
192LC_ALL is set but LANG isn't. If you want to play safe, set them <e>both</e>.
193</note>
194
195<p>
196Most typically users only set the LANG variable and perhaps LC_CTYPE variable
197on user level by adding definitions to shells startup files defining
198the environment variable manually from command line:
199</p>
200
82<pre caption="setting the POSIX locale"> 201<pre caption="setting the German locale">
83 export LANG="de_DE@euro" 202export LANG="de_DE@euro"
84</pre> 203</pre>
204
205<note>
85<note>Appended <i>@euro</i> to your locale if you want to use the new Euro 206Append <c>@euro</c> to your locale if you want to use the Euro
86currency symbol (&#8364;)</note> 207currency symbol (&#8364;)
208</note>
209
210<p>
211For message based localization to work in programs that support it, you will
212probably need to have programs compiled with the <c>nls</c> (Native language
213support) USE flag set. Most of the programs using nls also need the gettext
214library to extract and use localized messages. Of course, Gentoo's Portage will
215automatically install it when needed.
87 </p> 216</p>
88 </body> 217
218<p>
219There is also additional localisation variable called LINGUAS, which affects
220to localisation files that get installed in gettext-based programs, and decides
221used localisation for some specific software packages, such as
222<c>kde-base/kde-i18n</c> and <c>app-office/openoffice</c>. The variable
223takes in <e>space</e>-separated list of language codes, and suggested
224place to set it is <path>/etc/make.conf</path>:
225</p>
226
227<pre caption="setting LINGUAS in make.conf">
228# <i>nano -w /etc/make.conf</i>
229<comment>(Add in the LINGUAS variable. For instance,
230for German, Finnish and English:)</comment>
231LINGUAS="de fi en"
232</pre>
233
234
235</body>
236</section>
237<section>
238<title>Generating Specific Locales</title>
239<body>
240
241<p>
242If you use a locale that isn't available by default, you should use
243<c>localedef</c> to generate your locale. For instance:
244</p>
245
246<pre caption="Generating a locale using localedef">
247# <i>localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15</i>
248</pre>
249
250<p>
251After having generated the locale, you can export the LANG variable as you see
252fit.
253</p>
254
255<pre caption="Exporting the LANG variable">
256# <i>export LANG="en_US.ISO-8859-15"</i>
257</pre>
258
259</body>
260</section>
261<section>
262<title>The userlocales USE flag</title>
263<body>
264
265<p>
266You will probably only use one or maybe two locales on your system. Up until now
267after compiling <c>glibc</c> a full set of all available locales has been
268created. As of now you can activate the <c>userlocales</c> USE flag and specify
269only the locales you will need in <path>/etc/locales.build</path>.
270</p>
271
272<pre caption="Activate the userlocales USE flag especially for glibc">
273echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
274</pre>
275
276<p>
277Now specify the locales you want to be able to use:
278</p>
279
280<pre caption="Adding locales to /etc/locales.build">
281en_US/ISO-8859-1
282en_US.UTF-8/UTF-8
283de_DE/ISO-8859-1
284de_DE@euro/ISO-8859-15
285</pre>
286
287<p>
288The next step is to re-compile <c>glibc</c>. Of course you can defer this until
289the next <c>glibc</c> upgrade is available.
290</p>
291
292</body>
89</section> 293</section>
90</chapter> 294</chapter>
91 295
92<chapter> 296<chapter>
93<title>Keyboard layout for the console</title> 297<title>Keyboard layout for the console</title>
94<section> 298<section>
95 <body> 299<body>
96 <p> 300
301<p>
97 The keyboard layout used by the console is set in 302The keyboard layout used by the console is set in
98 <path>/etc/rc.conf</path> by the <i>KEYMAP</i> variable. 303<path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
99 Valid values can be found in 304Valid values can be found in
100 <path>/usr/share/keymaps/<i>{arch}</i>/</path>. 305<path>/usr/share/keymaps/<c>{arch}</c>/</path>.
101 <path>i386</path> has further subdivisions into layout 306<path>i386</path> has further subdivisions into layout
102 (<path>qwerty/</path>, <path>azerty/</path>, etc.). Some 307(<path>qwerty/</path>, <path>azerty/</path>, etc.). Some
103 languages have multiple options, so you may wish to experiment 308languages have multiple options, so you may wish to experiment
104 to decide which one fits your needs best. 309to decide which one fits your needs best.
310</p>
311
105<pre caption="setting the console keymap"> 312<pre caption="setting the console keymap">
106 KEYMAP="de" 313KEYMAP="de"
107 KEYMAP="de-latin1" 314KEYMAP="de-latin1"
108 KEYMAP="de-latin1-nodeadkeys" 315KEYMAP="de-latin1-nodeadkeys"
109</pre> 316</pre>
110 </p> 317
111 </body> 318</body>
112</section> 319</section>
113</chapter> 320</chapter>
114 321
115<chapter> 322<chapter>
116<title>Keyboard layout for the X server</title> 323<title>Keyboard layout for the X server</title>
117<section> 324<section>
118 <body> 325<body>
326
327<p>
119 <p>The keyboard layout to be used by the X server is specified 328The keyboard layout to be used by the X server is specified
120 in <path>/etc/X11/XF86Config</path> by the <i>XkbLayout</i> 329in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
121 option. 330option.
331</p>
332
122<pre caption="setting the X keymap"> 333<pre caption="setting the X keymap">
123 Section "InputDevice" 334 Section "InputDevice"
124 Identifier "Keyboard1" 335 Identifier "Keyboard1"
125 ... 336 ...
126 Option "XkbLayout" "de" 337 Option "XkbLayout" "de"
127 # Option XkbVariant" "nodeadkeys" 338 # Option "XkbVariant" "nodeadkeys"
128 ... 339 ...
129</pre> 340</pre>
341
342</body>
343</section>
344</chapter>
345
346<chapter>
347<title>KDE</title>
348<section>
349<body>
350
351<p>
352For KDE you have to install the <c>kde-base/kde-i18n</c> package. Kde-i18n
353respects <uri link="#variables">LINGUAS variable</uri> described earlier.
130 </p> 354</p>
131 </body> 355
356</body>
132</section> 357</section>
133</chapter> 358</chapter>
134 359
135<chapter> 360<chapter>
136<title>The Euro Symbol for the Console</title> 361<title>The Euro Symbol for the Console</title>
137<section> 362<section>
138 <body> 363<body>
139 <p> 364
365<p>
140 In order to get your console to display the Euro symbol, you 366In order to get your console to display the Euro symbol, you
141 will need to set <i>CONSOLEFONT</i> in 367will need to set <c>CONSOLEFONT</c> in
142 <path>/etc/rc.conf</path> to a file found in 368<path>/etc/rc.conf</path> to a file found in
143 <path>/usr/share/consolefonts/</path> (without the 369<path>/usr/share/consolefonts/</path> (without the
144 <c>.psfu.gz</c>). <c>lat0-16</c> has the Euro symbol. 370<c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol.
371</p>
372
145<pre caption="setting the console font"> 373<pre caption="setting the console font">
146 CONSOLEFONT="lat0-16" 374CONSOLEFONT="lat9w-16"
147</pre> 375</pre>
148 </p>
149 </body>
150</section>
151</chapter>
152 376
153<chapter> 377</body>
154 <title>The Euro Symbol in X</title>
155<section> 378</section>
379</chapter>
380
381<chapter>
382<title>The Euro Symbol in X</title>
383<section>
156 <title>Most Applications</title> 384<title>Most Applications</title>
157 <body> 385<body>
386
387<p>
158 <p>Getting the Euro symbol to work properly in X is a little 388Getting the Euro symbol to work properly in X is a little
159 bit tougher. The first thing you should do is change the <i> 389bit tougher. The first thing you should do is change the <c>fixed</c>
160 fixed</i> and <i>variable</i> definitions in 390and <c>variable</c> definitions in
161 <path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end 391<path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end
162 in <i>iso8859-15</i> instead of <i>iso8859-1</i>. 392in <c>iso8859-15</c> instead of <c>iso8859-1</c>.
393</p>
394
163<pre caption="setting default X fonts"> 395<pre caption="setting default X fonts">
164 fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15 396fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
165 variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15 397variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
166</pre> 398</pre>
167 </p> 399
400<p>
168 <p>Some applications use their own font, and you will have to 401Some applications use their own font, and you will have to
169 tell them separately to use a font with the Euro symbol. You 402tell them separately to use a font with the Euro symbol. You
170 can do this at a user-specific level in 403can do this at a user-specific level in
171 <path>.Xdefaults</path> (you can copy this file to 404<path>.Xdefaults</path> (you can copy this file to
172 <path>/etc/skel/</path> for use by new users), or at a global 405<path>/etc/skel/</path> for use by new users), or at a global
173 level for any application with a resource file in 406level for any application with a resource file in
174 <path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In 407<path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In
175 these files you generally have to change an existing line, 408these files you generally have to change an existing line,
176 rather than adding a new one. To change our xterm font, for 409rather than adding a new one. To change our xterm font, for
177 instance: 410instance:
411</p>
412
178<pre caption="setting fonts for xterm"> 413<pre caption="setting fonts for xterm">
179 <codenote>(in your home directory)</codenote> 414<comment>(in your home directory)</comment>
180 $ <i>echo 'XTerm*font: fixed' >> .Xresources </i> 415# <i>echo 'XTerm*font: fixed' >> .Xresources </i>
181 $ <i>xrdb -merge .Xresources</i> 416# <i>xrdb -merge .Xresources</i>
182</pre> 417</pre>
183 </p>
184 </body>
185</section>
186 418
419</body>
187<section> 420</section>
421<section>
188 <title>The Euro symbol in (X)Emacs</title> 422<title>The Euro symbol in (X)Emacs</title>
189 <body> 423<body>
424
425<p>
190 <p>To use the Euro symbol in (X)Emacs, add the following to 426To use the Euro symbol in (X)Emacs, add the following to
191 <path>.Xdefaults</path>: 427<path>.Xdefaults</path>:
428</p>
429
192<pre caption="setting the font for emacs"> 430<pre caption="setting the font for emacs">
193 Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15 431Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
194</pre> 432</pre>
433
434<p>
195 </p><p>For XEmacs (not plain Emacs), you have to do a little 435For XEmacs (not plain Emacs), you have to do a little
196 more. In <path>/home/user/.xemacs/init.el</path>, add: 436more. In <path>/home/user/.xemacs/init.el</path>, add:
437</p>
438
197<pre caption="setting the font for xemacs"> 439<pre caption="setting the font for xemacs">
198 (define-key global-map '(EuroSign) '[&#8364;]) 440(define-key global-map '(EuroSign) '[&#8364;])
199</pre> 441</pre>
442
443<note>
200 <note>The symbol in the []s is the Euro symbol.</note> 444The symbol in the []s is the Euro symbol.
201 </p> 445</note>
202 </body> 446
447</body>
448</section>
203</section> 449<section>
450<title>OpenOffice.Org</title>
451<body>
204 452
205</chapter> 453<p>
454The current <c>app-office/openoffice</c> (or <c>-ximian</c>) source ebuilds
455support <uri link="#variables">LINGUAS variable</uri> for selecting installed
456GUI language packs. The current <e>stable</e>
457<c>app-office/openoffice-bin</c> binary ebuilds do <e>not</e> yet
458support LINGUAS variable, however, so in order to use localised OpenOffice.Org
459you must either install the source version, or, with your discretion, the
460unstable binary version. To see status of GUI translation,
461hyphenation, spell checking and other localisations on your language, please
462refer to
463<uri link="http://l10n.openoffice.org/languages.html">OpenOffice.Org
464localisation web site</uri>.
465</p>
206 466
207<version>$Revision: 1.7 $</version> 467</body>
208<date>$Date: 2003/10/14 19:35:55 $</date> 468</section>
469</chapter>
470
209</guide> 471</guide>

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.33

  ViewVC Help
Powered by ViewVC 1.1.20