/[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.37 - (hide annotations) (download) (as text)
Mon Apr 24 21:15:22 2006 UTC (8 years, 3 months ago) by nightmorph
Branch: MAIN
Changes since 1.36: +4 -4 lines
File MIME type: application/xml
Corrected ISO reference in guide-localization.xml for bug 131055

1 swift 1.6 <?xml version='1.0' encoding='UTF-8'?>
2 nightmorph 1.37 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/guide-localization.xml,v 1.36 2006/03/11 17:56:14 nightmorph Exp $ -->
3 swift 1.6 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4    
5     <guide link="/doc/en/guide-localization.xml">
6 antifa 1.4 <title>Gentoo Linux Localization Guide</title>
7 dertobi123 1.12 <author title="Author">
8 pylon 1.16 Alexander Holler
9 drobbins 1.1 </author>
10 dertobi123 1.12 <author title="Translator/Editor">
11     <mail link="slucy@uchicago.edu">Steven Lucy</mail>
12 antifa 1.4 </author>
13 bennyc 1.8 <author title="Editor">
14     <mail link="bennyc@gentoo.org">Benny Chuang</mail>
15     </author>
16 dertobi123 1.11 <author title="Editor">
17     <mail link="pylon@gentoo.org">Lars Weiler</mail>
18     </author>
19 dertobi123 1.15 <author title="Editor">
20     <mail link="dertobi123@gentoo.org">Tobias Scherbaum</mail>
21     </author>
22 swift 1.18 <author title="Editor">
23     <mail link="flammie@gentoo.org">Flammie Pirinen</mail>
24     </author>
25 dertobi123 1.12
26 antifa 1.4 <abstract>
27     This guide should help users localize their Gentoo Linux distribution to any
28 dertobi123 1.12 European locale. It uses Germany as a case-study, since it is translated from
29 swift 1.23 the German doc. Includes configuration for use of the euro currency symbol.
30 antifa 1.4 </abstract>
31 drobbins 1.1
32 nightmorph 1.37 <version>1.27</version>
33     <date>2006-04-24</date>
34 dertobi123 1.12
35 drobbins 1.1 <chapter>
36 swift 1.23 <title>Time zone</title>
37 drobbins 1.1 <section>
38 dertobi123 1.12 <body>
39    
40     <p>
41 jkt 1.33 In order to keep time properly, <path>/etc/localtime</path> must contain the
42 jkt 1.34 correct time zone data. Look around in <path>/usr/share/zoneinfo/</path>
43 neysx 1.31 and 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
45     indicate the expected zones. For instance, <path>GMT-8</path> is in fact GMT+8.
46 dertobi123 1.12 </p>
47    
48 antifa 1.4 <pre caption="setting the timezone">
49 jkt 1.33 # <i>cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
50 antifa 1.4 # <i>date</i>
51     Sun Feb 16 08:26:44 CET 2003
52 drobbins 1.1 </pre>
53 dertobi123 1.12
54     <note>
55     Make sure that the three-letter timezone indicator (in this case "CET")
56     is correct for your area.
57     </note>
58    
59     <note>
60 cam 1.13 You can set the value of <c>TZ</c> to be everything after the
61 aaby 1.10 <path>/usr/share/zoneinfo</path> in your shell rc file
62 antifa 1.4 (<path>.bash_profile</path> for bash) for a user-level setting. In this case
63 cam 1.13 <c>TZ="Europe/Berlin"</c>.
64 dertobi123 1.12 </note>
65    
66     </body>
67 drobbins 1.1 </section>
68     </chapter>
69    
70     <chapter>
71 swift 1.26 <title>Hardware Clock</title>
72 drobbins 1.1 <section>
73 dertobi123 1.12 <body>
74    
75     <p>
76 swift 1.26 In most Gentoo Linux installations, your hardware clock is set to
77 swift 1.23 UTC (or GMT, Greenwich Mean Time) and then your timezone is
78 dertobi123 1.12 taken into account to determine the actual, local time. If,
79 swift 1.26 for some reason, you need your hardware clock not to be in UTC,
80 fox2mike 1.28 you will need to edit <path>/etc/conf.d/clock</path> and change the
81 swift 1.26 value of <c>CLOCK</c> from <c>UTC</c> to <c>local</c>.
82 dertobi123 1.12 </p>
83 antifa 1.4
84     <pre caption="local vs. GMT clock">
85 neysx 1.20 <comment>(recommended:)</comment>
86 dertobi123 1.12 CLOCK="UTC"
87 neysx 1.20 <comment>(or:)</comment>
88 dertobi123 1.12 CLOCK="local"
89 drobbins 1.1 </pre>
90 dertobi123 1.12
91     </body>
92 drobbins 1.1 </section>
93     </chapter>
94    
95     <chapter>
96 swift 1.18 <title>Locale system</title>
97 drobbins 1.1 <section>
98 swift 1.18 <title>What are locales?</title>
99 dertobi123 1.12 <body>
100    
101     <p>
102 swift 1.18 A Locale is a set of information that most programs use for determining
103     country and language specific settings. The locales and their data
104     are part of the system library and can be found
105     at <path>/usr/share/locale</path> on most systems. A locale name is generally
106 swift 1.25 named <c>ab_CD</c> where <c>ab</c> is your two (or three) letter
107 swift 1.18 language code (as specified in ISO-639) and <c>CD</c> is your two letter country
108 nightmorph 1.37 code (as specified in ISO-3166).
109 swift 1.18 </p>
110    
111     </body>
112     </section>
113 flammie 1.32 <section id="variables">
114 swift 1.18 <title>Environment variables for locales</title>
115     <body>
116    
117     <p>
118     Locale settings are stored in environment variables. These are typically
119     set in the <path>/etc/env.d/02locale</path> (for system-wide
120     settings) and <path>~/.bashrc</path> (for user-specific settings) file.
121     The variables controlling different aspects of locale settings
122     are given in the table below, those with highest precedence (ie. those
123     that override settings below them) are at the top of the table. All variables
124     take 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 swift 1.23 directory listing.
144 swift 1.18 </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 swift 1.25 <note>
191     Even though most programs work with LC_ALL only, some of them misbehave if
192     LC_ALL is set but LANG isn't. If you want to play safe, set them <e>both</e>.
193     </note>
194    
195 swift 1.18 <p>
196     Most typically users only set the LANG variable and perhaps LC_CTYPE variable
197     on user level by adding definitions to shells startup files defining
198     the environment variable manually from command line:
199 dertobi123 1.12 </p>
200    
201 swift 1.18 <pre caption="setting the German locale">
202 dertobi123 1.12 export LANG="de_DE@euro"
203 drobbins 1.1 </pre>
204 dertobi123 1.12
205     <note>
206 swift 1.18 Append <c>@euro</c> to your locale if you want to use the Euro
207 dertobi123 1.12 currency symbol (&#8364;)
208     </note>
209    
210 swift 1.18 <p>
211     For message based localization to work in programs that support it, you will
212     probably need to have programs compiled with the <c>nls</c> (Native language
213     support) USE flag set. Most of the programs using nls also need the gettext
214     library to extract and use localized messages. Of course, Gentoo's Portage will
215     automatically install it when needed.
216     </p>
217    
218 flammie 1.32 <p>
219 rane 1.35 Once you have set the right locale, be sure to update your environment
220     variables to make your system aware of the change:
221     </p>
222    
223     <pre caption="Update the environment">
224     # <i>env-update &amp;&amp; source /etc/profile</i>
225     </pre>
226    
227     <p>
228     After this, you will need to kill your X server by pressing
229     <c>Ctrl-Alt-Backspace</c>, log out, then log in as user.
230     </p>
231    
232     <p>
233     Now, verify that the changes have taken effect:
234     </p>
235    
236     <pre caption="Verify env changes">
237     $ <i>env | grep -i LC_</i>
238     </pre>
239    
240     <p>
241 flammie 1.32 There is also additional localisation variable called LINGUAS, which affects
242     to localisation files that get installed in gettext-based programs, and decides
243     used localisation for some specific software packages, such as
244     <c>kde-base/kde-i18n</c> and <c>app-office/openoffice</c>. The variable
245     takes in <e>space</e>-separated list of language codes, and suggested
246     place to set it is <path>/etc/make.conf</path>:
247     </p>
248    
249     <pre caption="setting LINGUAS in make.conf">
250     # <i>nano -w /etc/make.conf</i>
251     <comment>(Add in the LINGUAS variable. For instance,
252     for German, Finnish and English:)</comment>
253     LINGUAS="de fi en"
254     </pre>
255    
256    
257 dertobi123 1.12 </body>
258 drobbins 1.1 </section>
259 swift 1.14 <section>
260     <title>Generating Specific Locales</title>
261     <body>
262    
263     <p>
264     If you use a locale that isn't available by default, you should use
265     <c>localedef</c> to generate your locale. For instance:
266     </p>
267    
268     <pre caption="Generating a locale using localedef">
269     # <i>localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15</i>
270     </pre>
271    
272     <p>
273     After having generated the locale, you can export the LANG variable as you see
274     fit.
275     </p>
276    
277     <pre caption="Exporting the LANG variable">
278     # <i>export LANG="en_US.ISO-8859-15"</i>
279     </pre>
280    
281 rane 1.35 <p>
282     Be sure to update the environment after the change:
283     </p>
284    
285     <pre caption="Update the environment">
286     # <i>env-update &amp;&amp; source /etc/profile</i>
287     </pre>
288    
289     <p>
290     After this, you will need to kill your X server by pressing
291     <c>Ctrl-Alt-Backspace</c>, log out, then log in as user.
292     </p>
293    
294 swift 1.14 </body>
295     </section>
296 dertobi123 1.15 <section>
297     <title>The userlocales USE flag</title>
298     <body>
299    
300     <p>
301     You will probably only use one or maybe two locales on your system. Up until now
302     after compiling <c>glibc</c> a full set of all available locales has been
303 swift 1.23 created. As of now you can activate the <c>userlocales</c> USE flag and specify
304 dertobi123 1.15 only the locales you will need in <path>/etc/locales.build</path>.
305     </p>
306    
307     <pre caption="Activate the userlocales USE flag especially for glibc">
308     echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
309     </pre>
310    
311     <p>
312     Now specify the locales you want to be able to use:
313     </p>
314    
315 swift 1.18 <pre caption="Adding locales to /etc/locales.build">
316 dertobi123 1.15 en_US/ISO-8859-1
317     en_US.UTF-8/UTF-8
318     de_DE/ISO-8859-1
319     de_DE@euro/ISO-8859-15
320     </pre>
321    
322     <p>
323     The next step is to re-compile <c>glibc</c>. Of course you can defer this until
324     the next <c>glibc</c> upgrade is available.
325     </p>
326    
327     </body>
328     </section>
329 drobbins 1.1 </chapter>
330    
331     <chapter>
332 antifa 1.4 <title>Keyboard layout for the console</title>
333 drobbins 1.1 <section>
334 dertobi123 1.12 <body>
335    
336     <p>
337     The keyboard layout used by the console is set in
338 fox2mike 1.27 <path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
339 dertobi123 1.12 Valid values can be found in
340 cam 1.13 <path>/usr/share/keymaps/<c>{arch}</c>/</path>.
341 dertobi123 1.12 <path>i386</path> has further subdivisions into layout
342     (<path>qwerty/</path>, <path>azerty/</path>, etc.). Some
343     languages have multiple options, so you may wish to experiment
344     to decide which one fits your needs best.
345     </p>
346    
347 antifa 1.4 <pre caption="setting the console keymap">
348 dertobi123 1.12 KEYMAP="de"
349     KEYMAP="de-latin1"
350     KEYMAP="de-latin1-nodeadkeys"
351 drobbins 1.1 </pre>
352 dertobi123 1.12
353     </body>
354 drobbins 1.1 </section>
355     </chapter>
356    
357     <chapter>
358 antifa 1.4 <title>Keyboard layout for the X server</title>
359 drobbins 1.1 <section>
360 dertobi123 1.12 <body>
361    
362     <p>
363     The keyboard layout to be used by the X server is specified
364 alin 1.21 in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
365 dertobi123 1.12 option.
366     </p>
367    
368 antifa 1.4 <pre caption="setting the X keymap">
369 drobbins 1.1 Section "InputDevice"
370     Identifier "Keyboard1"
371     ...
372     Option "XkbLayout" "de"
373 rane 1.35 #Option "XkbModel" "pc105" <comment>## this is for international keyboards.</comment>
374     # Option "XkbVariant" "nodeadkeys" <comment>## this would be used for xterm input</comment>
375     ...
376     </pre>
377    
378     <p>
379     If you have an international keyboard layout, you should set the option
380     <c>XkbModel</c> to <c>pc102</c> or <c>pc105</c>, as this will allow mapping of the
381     additional keys specific to your keyboard.
382     </p>
383    
384     <p>
385     Deadkeys allow you to press keys that will not show immediately but will be
386     combined with another letter to produce a single character such as é,è,á,à,
387     etc. Setting <c>XkbVariant</c> to <c>nodeadkeys</c> allows input these special
388     characters into X terminals.
389     </p>
390    
391     <p>
392     If you would like to switch between more than one keyboard layout (for example
393     English and Russian), all you have to do is add a few lines to
394     <path>xorg.conf</path> that specify the desired layouts and the shortcut
395     command.
396     </p>
397    
398     <pre caption="Switching between two keyboard layouts">
399     Section "InputDevice"
400     Identifier "Keyboard1"
401 drobbins 1.1 ...
402 rane 1.35 Option "XkbLayout" "us,ru"
403     Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
404 drobbins 1.1 </pre>
405 dertobi123 1.12
406 rane 1.35 <p>
407     Here, <c>XkbOptions</c> allows you to toggle between keyboard layouts by simply
408     pressing <c>Alt-Shift</c>. This will also toggle the Scroll Lock light on or
409     off, thanks to the <c>grp_led:scroll</c> option. This is a handy visual
410     indicator of which keyboard layout you are using at the moment.
411     </p>
412    
413 dertobi123 1.12 </body>
414 drobbins 1.1 </section>
415     </chapter>
416    
417     <chapter>
418 dertobi123 1.11 <title>KDE</title>
419     <section>
420     <body>
421    
422     <p>
423 flammie 1.32 For KDE you have to install the <c>kde-base/kde-i18n</c> package. Kde-i18n
424     respects <uri link="#variables">LINGUAS variable</uri> described earlier.
425 swift 1.22 </p>
426 dertobi123 1.11
427     </body>
428     </section>
429     </chapter>
430    
431     <chapter>
432 antifa 1.4 <title>The Euro Symbol for the Console</title>
433 drobbins 1.1 <section>
434 dertobi123 1.12 <body>
435    
436     <p>
437     In order to get your console to display the Euro symbol, you
438 cam 1.13 will need to set <c>CONSOLEFONT</c> in
439 rane 1.35 <path>/etc/conf.d/consolefont</path> to a file found in
440 dertobi123 1.12 <path>/usr/share/consolefonts/</path> (without the
441     <c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol.
442     </p>
443    
444 antifa 1.4 <pre caption="setting the console font">
445 dertobi123 1.12 CONSOLEFONT="lat9w-16"
446 drobbins 1.1 </pre>
447 dertobi123 1.12
448 rane 1.35 <p>
449     You should verify that <c>CONSOLEFONT</c> is in the boot runlevel:
450     </p>
451    
452     <pre caption="Verify the proper runlevel">
453     # <i>rc-update show | grep -i consolefont</i>
454     </pre>
455    
456     <p>
457     If no runlevel is displayed for <c>CONSOLEFONT</c>, then add it to the proper level:
458     </p>
459    
460     <pre caption="Add consolefont to boot">
461     # <i>rc-update add consolefont boot</i>
462     </pre>
463    
464 dertobi123 1.12 </body>
465 drobbins 1.1 </section>
466     </chapter>
467    
468     <chapter>
469 dertobi123 1.12 <title>The Euro Symbol in X</title>
470 drobbins 1.1 <section>
471 dertobi123 1.12 <title>Most Applications</title>
472     <body>
473    
474     <p>
475     Getting the Euro symbol to work properly in X is a little
476 cam 1.13 bit tougher. The first thing you should do is change the <c>fixed</c>
477     and <c>variable</c> definitions in
478 dertobi123 1.12 <path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end
479 cam 1.13 in <c>iso8859-15</c> instead of <c>iso8859-1</c>.
480 dertobi123 1.12 </p>
481    
482 antifa 1.4 <pre caption="setting default X fonts">
483 dertobi123 1.12 fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
484     variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
485 antifa 1.4 </pre>
486 dertobi123 1.12
487     <p>
488     Some applications use their own font, and you will have to
489     tell them separately to use a font with the Euro symbol. You
490     can do this at a user-specific level in
491     <path>.Xdefaults</path> (you can copy this file to
492     <path>/etc/skel/</path> for use by new users), or at a global
493     level for any application with a resource file in
494     <path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In
495     these files you generally have to change an existing line,
496     rather than adding a new one. To change our xterm font, for
497     instance:
498     </p>
499    
500 antifa 1.4 <pre caption="setting fonts for xterm">
501 neysx 1.20 <comment>(in your home directory)</comment>
502 dertobi123 1.12 # <i>echo 'XTerm*font: fixed' >> .Xresources </i>
503     # <i>xrdb -merge .Xresources</i>
504 drobbins 1.1 </pre>
505 dertobi123 1.12
506     </body>
507 drobbins 1.1 </section>
508 dertobi123 1.12 <section>
509     <title>The Euro symbol in (X)Emacs</title>
510     <body>
511    
512     <p>
513     To use the Euro symbol in (X)Emacs, add the following to
514     <path>.Xdefaults</path>:
515     </p>
516 drobbins 1.1
517 antifa 1.4 <pre caption="setting the font for emacs">
518 dertobi123 1.12 Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
519 drobbins 1.1 </pre>
520 dertobi123 1.12
521     <p>
522     For XEmacs (not plain Emacs), you have to do a little
523     more. In <path>/home/user/.xemacs/init.el</path>, add:
524     </p>
525    
526 antifa 1.4 <pre caption="setting the font for xemacs">
527 dertobi123 1.12 (define-key global-map '(EuroSign) '[&#8364;])
528 drobbins 1.1 </pre>
529 dertobi123 1.12
530     <note>
531     The symbol in the []s is the Euro symbol.
532     </note>
533    
534     </body>
535     </section>
536     <section>
537 flammie 1.32 <title>OpenOffice.Org</title>
538 dertobi123 1.12 <body>
539    
540     <p>
541 nightmorph 1.36 The current stable <c>app-office/openoffice</c> and
542     <c>app-office/openoffice-bin</c> ebuilds support the <uri
543     link="#variables">LINGUAS variable</uri> for selecting installed GUI language
544     packs. To see the status of GUI translation, hyphenation, spell checking and
545     other localisations on your language, please refer to <uri
546     link="http://l10n.openoffice.org/languages.html">OpenOffice.Org localisation
547     web site</uri>.
548 dertobi123 1.12 </p>
549    
550     </body>
551 bennyc 1.8 </section>
552 drobbins 1.1 </chapter>
553    
554     </guide>

  ViewVC Help
Powered by ViewVC 1.1.20