/[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.1 Revision 1.33
1<?xml version='1.0'?> 1<?xml version='1.0' encoding='UTF-8'?>
2<?xml-stylesheet href="/xsl/guide.xsl" type="text/xsl"?> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/guide-localization.xml,v 1.33 2005/11/25 20:36:01 jkt Exp $ -->
3<guide> 3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4
5<guide link="/doc/en/guide-localization.xml">
4<title>Gentoo Linux Localization Instructions</title> 6<title>Gentoo Linux Localization Guide</title>
5<author><mail link="holler@ahsoftware.de"> 7<author title="Author">
6 Alexander Holler</mail> 8 Alexander Holler
7</author> 9</author>
10<author title="Translator/Editor">
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>
24</author>
8 25
9<abstract>This instructions explains the few steps you need to follow to use Gentoo Linux 26<abstract>
10with another language than english. It also explains what to do to get the Euro character shown.</abstract> 27This guide should help users localize their Gentoo Linux distribution to any
28European locale. It uses Germany as a case-study, since it is translated from
29the German doc. Includes configuration for use of the euro currency symbol.
30</abstract>
11 31
12<chapter> 32<version>1.24</version>
13<title>Preface</title> 33<date>2005-11-25</date>
14<section> 34
15 <body>
16 <p>As I'm a German I explain how to enable the german language. If you want
17 another language, you just have to replace the german language code <i>de</i> with
18 the corresponding code for your country, e.g. <i>fr</i> for France or <i>es</i> for Spain.
19 </p>
20 </body>
21</section>
22</chapter> 35<chapter>
23
24<chapter>
25<title>Timezone</title> 36<title>Time zone</title>
26<section>
27 <body>
28 <p>To enable the right timezone <path>/etc/localtime</path> should point to the
29 appropriate file with the datas for your timezone. You will find those files
30 in <path>/usr/share/zoneinfo/</path>.
31<pre>
32# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
33</pre>
34 </p>
35 </body>
36</section> 37<section>
37</chapter> 38<body>
38 39
40<p>
41In order to keep time properly, <path>/etc/localtime</path> must contain the
42correct time zone data file. Look around in <path>/usr/share/zoneinfo/</path>
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
48<pre caption="setting the timezone">
49# <i>cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
50# <i>date</i>
51Sun Feb 16 08:26:44 CET 2003
52</pre>
53
54<note>
55Make sure that the three-letter timezone indicator (in this case "CET")
56is correct for your area.
57</note>
58
59<note>
60You can set the value of <c>TZ</c> to be everything after the
61<path>/usr/share/zoneinfo</path> in your shell rc file
62(<path>.bash_profile</path> for bash) for a user-level setting. In this case
63<c>TZ="Europe/Berlin"</c>.
64</note>
65
66</body>
67</section>
39<chapter> 68</chapter>
69
70<chapter>
40<title>Hardware clock</title> 71<title>Hardware Clock</title>
41<section> 72<section>
42 <body> 73<body>
43 <p>If your hardware clock is set to local time and not to GMT you have to correct 74
44 the variable <i>CLOCK</i> in <path>/etc/rc.conf</path>.
45<pre> 75<p>
76In most Gentoo Linux installations, your hardware clock is set to
77UTC (or GMT, Greenwich Mean Time) and then your timezone is
78taken into account to determine the actual, local time. If,
79for some reason, you need your hardware clock not to be in UTC,
80you will need to edit <path>/etc/conf.d/clock</path> and change the
81value of <c>CLOCK</c> from <c>UTC</c> to <c>local</c>.
82</p>
83
84<pre caption="local vs. GMT clock">
85<comment>(recommended:)</comment>
86CLOCK="UTC"
87<comment>(or:)</comment>
46 CLOCK="local" 88CLOCK="local"
47</pre> 89</pre>
48 </p>
49 </body>
50</section>
51</chapter>
52 90
53<chapter> 91</body>
54<title>Language</title>
55<section> 92</section>
56 <body> 93</chapter>
57 <p>Telling programms what language you prefer will be done with the environment variable 94
58 <i>LANG</i>. If you want to set the language system-wide for all users you should export 95<chapter>
59 <i>LANG</i> in <path>/etc/profile</path>. If not, this can be done in through your private 96<title>Locale system</title>
60 <path>.bashrc</path> in your home directory. You can find available languages in 97<section>
61 <path>/usr/share/i18n/locales</path>. 98<title>What are locales?</title>
99<body>
100
62<pre> 101<p>
102A Locale is a set of information that most programs use for determining
103country and language specific settings. The locales and their data
104are part of the system library and can be found
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
201<pre caption="setting the German locale">
63 export LANG="de_DE@euro" 202export LANG="de_DE@euro"
203</pre>
204
205<note>
206Append <c>@euro</c> to your locale if you want to use the Euro
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.
64</pre> 216</p>
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>:
65 </p> 225</p>
66 </body>
67</section>
68</chapter>
69 226
70<chapter> 227<pre caption="setting LINGUAS in make.conf">
71<title>Keyboard-layout (terminal)</title> 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>
72<section> 236</section>
73 <body> 237<section>
74 <p>The keyboard-layout for terminal sessions is set through <i>KEYMAP</i> in 238<title>Generating Specific Locales</title>
75 <path>/etc/rc.conf</path>. You will find the appropriate tables in 239<body>
76 <path>/usr/share/keymaps</path>. If you aren't using composed characters with 240
77 tildes (e.g. &#245;), accent graph (e.g. &#232;) or similar, you could use the 241<p>
78 nodeadkeys-variants. This will save you to enter a space after typing letters 242If you use a locale that isn't available by default, you should use
79 like ~. 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>
80<pre> 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>
293</section>
294</chapter>
295
296<chapter>
297<title>Keyboard layout for the console</title>
298<section>
299<body>
300
301<p>
302The keyboard layout used by the console is set in
303<path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
304Valid values can be found in
305<path>/usr/share/keymaps/<c>{arch}</c>/</path>.
306<path>i386</path> has further subdivisions into layout
307(<path>qwerty/</path>, <path>azerty/</path>, etc.). Some
308languages have multiple options, so you may wish to experiment
309to decide which one fits your needs best.
310</p>
311
312<pre caption="setting the console keymap">
313KEYMAP="de"
81 KEYMAP="de-latin1" 314KEYMAP="de-latin1"
82 # KEYMAP="de-latin1-nodeadkeys" 315KEYMAP="de-latin1-nodeadkeys"
83</pre> 316</pre>
84 </p>
85 </body>
86</section>
87</chapter>
88 317
89<chapter> 318</body>
90<title>Keyboard-layout (X server)</title>
91<section> 319</section>
92 <body> 320</chapter>
93 <p>The keyboard-layout for the X server is set with the option 321
94 <i>XkbLayout</i> in the file <path>/etc/X11/XF86Config</path>. 322<chapter>
323<title>Keyboard layout for the X server</title>
324<section>
325<body>
326
95<pre> 327<p>
328The keyboard layout to be used by the X server is specified
329in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
330option.
331</p>
332
333<pre caption="setting the X keymap">
96 Section "InputDevice" 334 Section "InputDevice"
97 Identifier "Keyboard1" 335 Identifier "Keyboard1"
98 ... 336 ...
99 Option "XkbLayout" "de" 337 Option "XkbLayout" "de"
100 # Option XkbVariant" "nodeadkeys" 338 # Option "XkbVariant" "nodeadkeys"
101 ... 339 ...
102</pre> 340</pre>
103 </p>
104 </body>
105</section>
106</chapter>
107 341
108<chapter> 342</body>
109<title>Euro character (terminal)</title>
110<section> 343</section>
111 <body>
112 <p>If you want to see the Euro character in a session without using X, you have
113 to use a console font which contains it. The console font is set with
114 <i>CONSOLEFONT</i> in <path>/etc/rc.conf</path>. Available fonts will be find in
115 <path>/usr/share/consolefonts</path>.
116<pre>
117 CONSOLEFONT="lat0-16"
118</pre>
119 </p>
120 </body>
121</section>
122</chapter>
123
124<chapter> 344</chapter>
125 <title>Euro character (X server)</title> 345
126<section> 346<chapter>
127 <title>General</title> 347<title>KDE</title>
128 <body>
129 <p>Using the above settings and KDE you should already get the Euro character with
130 Alt-Gr-E in all KDE-programs. Remaining the non-KDE-programs.
131 </p><p>Unfortunately this is not as easy as the settings before. You have to set the right
132 font for every single X-program. So I will just explain how to enable the Euro character
133 for xterm and (X)Emacs. You can change the fonts for programs under X in your private
134 <path>.Xdefaults</path> in your home directory. To enable it for other (new) users you could
135 copy this file to <path>/etc/skel</path>.
136 </p>
137 </body>
138</section> 348<section>
349<body>
139 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.
354</p>
355
356</body>
140<section> 357</section>
141 <title>Euro character for xterm</title> 358</chapter>
142 <body> 359
143 <p>Insert the following in your <path>.Xdefaults</path>: 360<chapter>
144<pre> 361<title>The Euro Symbol for the Console</title>
145 xterm*font: 7x13euro
146</pre>
147 </p>
148 </body>
149</section> 362<section>
363<body>
150 364
365<p>
366In order to get your console to display the Euro symbol, you
367will need to set <c>CONSOLEFONT</c> in
368<path>/etc/rc.conf</path> to a file found in
369<path>/usr/share/consolefonts/</path> (without the
370<c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol.
371</p>
372
373<pre caption="setting the console font">
374CONSOLEFONT="lat9w-16"
375</pre>
376
377</body>
151<section> 378</section>
152 <title>Euro character for (X)Emacs</title> 379</chapter>
153 <body> 380
154 <p>For (X)Emacs you define the font in <path>.Xdefaults</path> as shown below: 381<chapter>
382<title>The Euro Symbol in X</title>
383<section>
384<title>Most Applications</title>
385<body>
386
387<p>
388Getting the Euro symbol to work properly in X is a little
389bit tougher. The first thing you should do is change the <c>fixed</c>
390and <c>variable</c> definitions in
391<path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end
392in <c>iso8859-15</c> instead of <c>iso8859-1</c>.
393</p>
394
395<pre caption="setting default X fonts">
396fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
397variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
155<pre> 398</pre>
399
400<p>
401Some applications use their own font, and you will have to
402tell them separately to use a font with the Euro symbol. You
403can do this at a user-specific level in
404<path>.Xdefaults</path> (you can copy this file to
405<path>/etc/skel/</path> for use by new users), or at a global
406level for any application with a resource file in
407<path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In
408these files you generally have to change an existing line,
409rather than adding a new one. To change our xterm font, for
410instance:
411</p>
412
413<pre caption="setting fonts for xterm">
414<comment>(in your home directory)</comment>
415# <i>echo 'XTerm*font: fixed' >> .Xresources </i>
416# <i>xrdb -merge .Xresources</i>
417</pre>
418
419</body>
420</section>
421<section>
422<title>The Euro symbol in (X)Emacs</title>
423<body>
424
425<p>
426To use the Euro symbol in (X)Emacs, add the following to
427<path>.Xdefaults</path>:
428</p>
429
430<pre caption="setting the font for emacs">
156 Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15 431Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
157</pre>
158 </p><p>If you are using XEmacs (not Emacs) you will have to tell him what to do with
159 the <i>EuroSign</i>. This will be done through a definition in
160 <path>.xemacs/init.el</path> in your home directory:
161<pre> 432</pre>
433
434<p>
435For XEmacs (not plain Emacs), you have to do a little
436more. In <path>/home/user/.xemacs/init.el</path>, add:
437</p>
438
439<pre caption="setting the font for xemacs">
162 (define-key global-map '(EuroSign) '[&#8364;]) 440(define-key global-map '(EuroSign) '[&#8364;])
163</pre> 441</pre>
164 <note>The character in the square brackets is the Euro character.</note> 442
165 </p> 443<note>
166 </body> 444The symbol in the []s is the Euro symbol.
445</note>
446
447</body>
448</section>
167</section> 449<section>
450<title>OpenOffice.Org</title>
451<body>
168 452
169</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>
170 466
171<version>$Revision: 1.1 $</version> 467</body>
172<date>$Date: 2002/11/09 18:47:44 $</date> 468</section>
469</chapter>
470
173</guide> 471</guide>

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

  ViewVC Help
Powered by ViewVC 1.1.20