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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.27 - (show annotations) (download) (as text)
Mon Jun 20 11:37:36 2005 UTC (9 years, 5 months ago) by fox2mike
Branch: MAIN
Changes since 1.26: +4 -4 lines
File MIME type: application/xml
#96447, Corrected the location in which KEYMAP variable is to be set. Thanks to Giorgos Akrivas for reporting.

1 <?xml version='1.0' encoding='UTF-8'?>
2 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/guide-localization.xml,v 1.26 2005/06/10 18:43:56 swift Exp $ -->
3 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4
5 <guide link="/doc/en/guide-localization.xml">
6 <title>Gentoo Linux Localization Guide</title>
7 <author title="Author">
8 Alexander Holler
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>
25
26 <abstract>
27 This guide should help users localize their Gentoo Linux distribution to any
28 European locale. It uses Germany as a case-study, since it is translated from
29 the German doc. Includes configuration for use of the euro currency symbol.
30 </abstract>
31
32 <version>1.18</version>
33 <date>2005-06-20</date>
34
35 <chapter>
36 <title>Time zone</title>
37 <section>
38 <body>
39
40 <p>
41 In order to keep time properly, <path>/etc/localtime</path> must point to
42 the correct time zone data file. Look around in
43 <path>/usr/share/zoneinfo/</path> and pick your timezone or a near-by big city.
44 </p>
45
46 <pre caption="setting the timezone">
47 # <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
48 # <i>date</i>
49 Sun Feb 16 08:26:44 CET 2003
50 </pre>
51
52 <note>
53 Make sure that the three-letter timezone indicator (in this case "CET")
54 is correct for your area.
55 </note>
56
57 <note>
58 You can set the value of <c>TZ</c> to be everything after the
59 <path>/usr/share/zoneinfo</path> in your shell rc file
60 (<path>.bash_profile</path> for bash) for a user-level setting. In this case
61 <c>TZ="Europe/Berlin"</c>.
62 </note>
63
64 </body>
65 </section>
66 </chapter>
67
68 <chapter>
69 <title>Hardware Clock</title>
70 <section>
71 <body>
72
73 <p>
74 In most Gentoo Linux installations, your hardware clock is set to
75 UTC (or GMT, Greenwich Mean Time) and then your timezone is
76 taken into account to determine the actual, local time. If,
77 for some reason, you need your hardware clock not to be in UTC,
78 you will need to edit <path>/etc/rc.conf</path> and change the
79 value of <c>CLOCK</c> from <c>UTC</c> to <c>local</c>.
80 </p>
81
82 <pre caption="local vs. GMT clock">
83 <comment>(recommended:)</comment>
84 CLOCK="UTC"
85 <comment>(or:)</comment>
86 CLOCK="local"
87 </pre>
88
89 </body>
90 </section>
91 </chapter>
92
93 <chapter>
94 <title>Locale system</title>
95 <section>
96 <title>What are locales?</title>
97 <body>
98
99 <p>
100 A Locale is a set of information that most programs use for determining
101 country and language specific settings. The locales and their data
102 are part of the system library and can be found
103 at <path>/usr/share/locale</path> on most systems. A locale name is generally
104 named <c>ab_CD</c> where <c>ab</c> is your two (or three) letter
105 language code (as specified in ISO-639) and <c>CD</c> is your two letter country
106 code (as specified in ISO-3199).
107 </p>
108
109 </body>
110 </section>
111 <section>
112 <title>Environment variables for locales</title>
113 <body>
114
115 <p>
116 Locale settings are stored in environment variables. These are typically
117 set in the <path>/etc/env.d/02locale</path> (for system-wide
118 settings) and <path>~/.bashrc</path> (for user-specific settings) file.
119 The variables controlling different aspects of locale settings
120 are given in the table below, those with highest precedence (ie. those
121 that override settings below them) are at the top of the table. All variables
122 take one name of a locale in <c>ab_CD</c> format given above.
123 </p>
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 directory 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 <note>
189 Even though most programs work with LC_ALL only, some of them misbehave if
190 LC_ALL is set but LANG isn't. If you want to play safe, set them <e>both</e>.
191 </note>
192
193 <p>
194 Most typically users only set the LANG variable and perhaps LC_CTYPE variable
195 on user level by adding definitions to shells startup files defining
196 the environment variable manually from command line:
197 </p>
198
199 <pre caption="setting the German locale">
200 export LANG="de_DE@euro"
201 </pre>
202
203 <note>
204 Append <c>@euro</c> to your locale if you want to use the Euro
205 currency symbol (&#8364;)
206 </note>
207
208 <p>
209 For message based localization to work in programs that support it, you will
210 probably need to have programs compiled with the <c>nls</c> (Native language
211 support) USE flag set. Most of the programs using nls also need the gettext
212 library to extract and use localized messages. Of course, Gentoo's Portage will
213 automatically install it when needed.
214 </p>
215
216 </body>
217 </section>
218 <section>
219 <title>Generating Specific Locales</title>
220 <body>
221
222 <p>
223 If you use a locale that isn't available by default, you should use
224 <c>localedef</c> to generate your locale. For instance:
225 </p>
226
227 <pre caption="Generating a locale using localedef">
228 # <i>localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15</i>
229 </pre>
230
231 <p>
232 After having generated the locale, you can export the LANG variable as you see
233 fit.
234 </p>
235
236 <pre caption="Exporting the LANG variable">
237 # <i>export LANG="en_US.ISO-8859-15"</i>
238 </pre>
239
240 </body>
241 </section>
242 <section>
243 <title>The userlocales USE flag</title>
244 <body>
245
246 <p>
247 You will probably only use one or maybe two locales on your system. Up until now
248 after compiling <c>glibc</c> a full set of all available locales has been
249 created. As of now you can activate the <c>userlocales</c> USE flag and specify
250 only the locales you will need in <path>/etc/locales.build</path>.
251 </p>
252
253 <pre caption="Activate the userlocales USE flag especially for glibc">
254 echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
255 </pre>
256
257 <p>
258 Now specify the locales you want to be able to use:
259 </p>
260
261 <pre caption="Adding locales to /etc/locales.build">
262 en_US/ISO-8859-1
263 en_US.UTF-8/UTF-8
264 de_DE/ISO-8859-1
265 de_DE@euro/ISO-8859-15
266 </pre>
267
268 <p>
269 The next step is to re-compile <c>glibc</c>. Of course you can defer this until
270 the next <c>glibc</c> upgrade is available.
271 </p>
272
273 </body>
274 </section>
275 </chapter>
276
277 <chapter>
278 <title>Keyboard layout for the console</title>
279 <section>
280 <body>
281
282 <p>
283 The keyboard layout used by the console is set in
284 <path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
285 Valid values can be found in
286 <path>/usr/share/keymaps/<c>{arch}</c>/</path>.
287 <path>i386</path> has further subdivisions into layout
288 (<path>qwerty/</path>, <path>azerty/</path>, etc.). Some
289 languages have multiple options, so you may wish to experiment
290 to decide which one fits your needs best.
291 </p>
292
293 <pre caption="setting the console keymap">
294 KEYMAP="de"
295 KEYMAP="de-latin1"
296 KEYMAP="de-latin1-nodeadkeys"
297 </pre>
298
299 </body>
300 </section>
301 </chapter>
302
303 <chapter>
304 <title>Keyboard layout for the X server</title>
305 <section>
306 <body>
307
308 <p>
309 The keyboard layout to be used by the X server is specified
310 in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
311 option.
312 </p>
313
314 <pre caption="setting the X keymap">
315 Section "InputDevice"
316 Identifier "Keyboard1"
317 ...
318 Option "XkbLayout" "de"
319 # Option "XkbVariant" "nodeadkeys"
320 ...
321 </pre>
322
323 </body>
324 </section>
325 </chapter>
326
327 <chapter>
328 <title>KDE</title>
329 <section>
330 <body>
331
332 <p>
333 For KDE you have to install the kde-i18n package with the appropriate
334 LINGUAS variable set:
335 </p>
336
337 <pre caption="Install localized KDE">
338 # <i>nano -w /etc/make.conf</i>
339 <comment>(Add in the LINGUAS variable. For instance, for the German language:)</comment>
340 LINGUAS="de"
341
342 <comment>(Now install kde-i18n)</comment>
343 # <i>emerge kde-i18n</i>
344 </pre>
345
346 </body>
347 </section>
348 </chapter>
349
350 <chapter>
351 <title>The Euro Symbol for the Console</title>
352 <section>
353 <body>
354
355 <p>
356 In order to get your console to display the Euro symbol, you
357 will need to set <c>CONSOLEFONT</c> in
358 <path>/etc/rc.conf</path> to a file found in
359 <path>/usr/share/consolefonts/</path> (without the
360 <c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol.
361 </p>
362
363 <pre caption="setting the console font">
364 CONSOLEFONT="lat9w-16"
365 </pre>
366
367 </body>
368 </section>
369 </chapter>
370
371 <chapter>
372 <title>The Euro Symbol in X</title>
373 <section>
374 <title>Most Applications</title>
375 <body>
376
377 <p>
378 Getting the Euro symbol to work properly in X is a little
379 bit tougher. The first thing you should do is change the <c>fixed</c>
380 and <c>variable</c> definitions in
381 <path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end
382 in <c>iso8859-15</c> instead of <c>iso8859-1</c>.
383 </p>
384
385 <pre caption="setting default X fonts">
386 fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
387 variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
388 </pre>
389
390 <p>
391 Some applications use their own font, and you will have to
392 tell them separately to use a font with the Euro symbol. You
393 can do this at a user-specific level in
394 <path>.Xdefaults</path> (you can copy this file to
395 <path>/etc/skel/</path> for use by new users), or at a global
396 level for any application with a resource file in
397 <path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In
398 these files you generally have to change an existing line,
399 rather than adding a new one. To change our xterm font, for
400 instance:
401 </p>
402
403 <pre caption="setting fonts for xterm">
404 <comment>(in your home directory)</comment>
405 # <i>echo 'XTerm*font: fixed' >> .Xresources </i>
406 # <i>xrdb -merge .Xresources</i>
407 </pre>
408
409 </body>
410 </section>
411 <section>
412 <title>The Euro symbol in (X)Emacs</title>
413 <body>
414
415 <p>
416 To use the Euro symbol in (X)Emacs, add the following to
417 <path>.Xdefaults</path>:
418 </p>
419
420 <pre caption="setting the font for emacs">
421 Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
422 </pre>
423
424 <p>
425 For XEmacs (not plain Emacs), you have to do a little
426 more. In <path>/home/user/.xemacs/init.el</path>, add:
427 </p>
428
429 <pre caption="setting the font for xemacs">
430 (define-key global-map '(EuroSign) '[&#8364;])
431 </pre>
432
433 <note>
434 The symbol in the []s is the Euro symbol.
435 </note>
436
437 </body>
438 </section>
439 <section>
440 <title>Language for OpenOffice.org</title>
441 <body>
442
443 <note>
444 Customized default language is not available for openoffice-bin ebuild. The
445 default language in the openoffice-bin is ENUS.
446 </note>
447
448 <p>
449 Please note that this package now uses the LINGUAS variable to
450 provide localization. The old LANGUAGE=ENUS|PORT system does <e>not</e> work
451 anymore. The default language for OpenOffice.org is set as "US English". If you
452 wish to change the default language for OpenOffice.org, check the ebuild for the
453 default language code.
454 </p>
455
456 <pre caption="Example: emerge openoffice for german environment">
457 # <i>nano -w /etc/make.conf</i>
458 <comment>(Add in the LINGUAS variable. For instance, for the German language:)</comment>
459 LINGUAS="de"
460
461 <comment>(Now install openoffice)</comment>
462 # <i>emerge openoffice</i>
463 </pre>
464
465 </body>
466 </section>
467 </chapter>
468
469 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20