/[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.34 - (show annotations) (download) (as text)
Fri Nov 25 20:43:33 2005 UTC (8 years, 10 months ago) by jkt
Branch: MAIN
Changes since 1.33: +2 -2 lines
File MIME type: application/xml
Typo fix - forgot to remove word "file" in the previous commit. Sorry :-(.

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 $ -->
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.24</version>
33 <date>2005-11-25</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 contain the
42 correct time zone data. Look around in <path>/usr/share/zoneinfo/</path>
43 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 </p>
47
48 <pre caption="setting the timezone">
49 # <i>cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
50 # <i>date</i>
51 Sun Feb 16 08:26:44 CET 2003
52 </pre>
53
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 You 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>
68 </chapter>
69
70 <chapter>
71 <title>Hardware Clock</title>
72 <section>
73 <body>
74
75 <p>
76 In most Gentoo Linux installations, your hardware clock is set to
77 UTC (or GMT, Greenwich Mean Time) and then your timezone is
78 taken into account to determine the actual, local time. If,
79 for some reason, you need your hardware clock not to be in UTC,
80 you will need to edit <path>/etc/conf.d/clock</path> and change the
81 value 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>
86 CLOCK="UTC"
87 <comment>(or:)</comment>
88 CLOCK="local"
89 </pre>
90
91 </body>
92 </section>
93 </chapter>
94
95 <chapter>
96 <title>Locale system</title>
97 <section>
98 <title>What are locales?</title>
99 <body>
100
101 <p>
102 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 named <c>ab_CD</c> where <c>ab</c> is your two (or three) letter
107 language code (as specified in ISO-639) and <c>CD</c> is your two letter country
108 code (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>
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 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>
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 <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 </p>
200
201 <pre caption="setting the German locale">
202 export LANG="de_DE@euro"
203 </pre>
204
205 <note>
206 Append <c>@euro</c> to your locale if you want to use the Euro
207 currency symbol (&#8364;)
208 </note>
209
210 <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 <p>
219 There is also additional localisation variable called LINGUAS, which affects
220 to localisation files that get installed in gettext-based programs, and decides
221 used localisation for some specific software packages, such as
222 <c>kde-base/kde-i18n</c> and <c>app-office/openoffice</c>. The variable
223 takes in <e>space</e>-separated list of language codes, and suggested
224 place 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,
230 for German, Finnish and English:)</comment>
231 LINGUAS="de fi en"
232 </pre>
233
234
235 </body>
236 </section>
237 <section>
238 <title>Generating Specific Locales</title>
239 <body>
240
241 <p>
242 If 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>
251 After having generated the locale, you can export the LANG variable as you see
252 fit.
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>
266 You will probably only use one or maybe two locales on your system. Up until now
267 after compiling <c>glibc</c> a full set of all available locales has been
268 created. As of now you can activate the <c>userlocales</c> USE flag and specify
269 only 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">
273 echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
274 </pre>
275
276 <p>
277 Now specify the locales you want to be able to use:
278 </p>
279
280 <pre caption="Adding locales to /etc/locales.build">
281 en_US/ISO-8859-1
282 en_US.UTF-8/UTF-8
283 de_DE/ISO-8859-1
284 de_DE@euro/ISO-8859-15
285 </pre>
286
287 <p>
288 The next step is to re-compile <c>glibc</c>. Of course you can defer this until
289 the 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>
302 The keyboard layout used by the console is set in
303 <path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
304 Valid 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
308 languages have multiple options, so you may wish to experiment
309 to decide which one fits your needs best.
310 </p>
311
312 <pre caption="setting the console keymap">
313 KEYMAP="de"
314 KEYMAP="de-latin1"
315 KEYMAP="de-latin1-nodeadkeys"
316 </pre>
317
318 </body>
319 </section>
320 </chapter>
321
322 <chapter>
323 <title>Keyboard layout for the X server</title>
324 <section>
325 <body>
326
327 <p>
328 The keyboard layout to be used by the X server is specified
329 in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
330 option.
331 </p>
332
333 <pre caption="setting the X keymap">
334 Section "InputDevice"
335 Identifier "Keyboard1"
336 ...
337 Option "XkbLayout" "de"
338 # Option "XkbVariant" "nodeadkeys"
339 ...
340 </pre>
341
342 </body>
343 </section>
344 </chapter>
345
346 <chapter>
347 <title>KDE</title>
348 <section>
349 <body>
350
351 <p>
352 For KDE you have to install the <c>kde-base/kde-i18n</c> package. Kde-i18n
353 respects <uri link="#variables">LINGUAS variable</uri> described earlier.
354 </p>
355
356 </body>
357 </section>
358 </chapter>
359
360 <chapter>
361 <title>The Euro Symbol for the Console</title>
362 <section>
363 <body>
364
365 <p>
366 In order to get your console to display the Euro symbol, you
367 will 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">
374 CONSOLEFONT="lat9w-16"
375 </pre>
376
377 </body>
378 </section>
379 </chapter>
380
381 <chapter>
382 <title>The Euro Symbol in X</title>
383 <section>
384 <title>Most Applications</title>
385 <body>
386
387 <p>
388 Getting the Euro symbol to work properly in X is a little
389 bit tougher. The first thing you should do is change the <c>fixed</c>
390 and <c>variable</c> definitions in
391 <path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end
392 in <c>iso8859-15</c> instead of <c>iso8859-1</c>.
393 </p>
394
395 <pre caption="setting default X fonts">
396 fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
397 variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
398 </pre>
399
400 <p>
401 Some applications use their own font, and you will have to
402 tell them separately to use a font with the Euro symbol. You
403 can 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
406 level for any application with a resource file in
407 <path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In
408 these files you generally have to change an existing line,
409 rather than adding a new one. To change our xterm font, for
410 instance:
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>
426 To 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">
431 Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
432 </pre>
433
434 <p>
435 For XEmacs (not plain Emacs), you have to do a little
436 more. In <path>/home/user/.xemacs/init.el</path>, add:
437 </p>
438
439 <pre caption="setting the font for xemacs">
440 (define-key global-map '(EuroSign) '[&#8364;])
441 </pre>
442
443 <note>
444 The symbol in the []s is the Euro symbol.
445 </note>
446
447 </body>
448 </section>
449 <section>
450 <title>OpenOffice.Org</title>
451 <body>
452
453 <p>
454 The current <c>app-office/openoffice</c> (or <c>-ximian</c>) source ebuilds
455 support <uri link="#variables">LINGUAS variable</uri> for selecting installed
456 GUI language packs. The current <e>stable</e>
457 <c>app-office/openoffice-bin</c> binary ebuilds do <e>not</e> yet
458 support LINGUAS variable, however, so in order to use localised OpenOffice.Org
459 you must either install the source version, or, with your discretion, the
460 unstable binary version. To see status of GUI translation,
461 hyphenation, spell checking and other localisations on your language, please
462 refer to
463 <uri link="http://l10n.openoffice.org/languages.html">OpenOffice.Org
464 localisation web site</uri>.
465 </p>
466
467 </body>
468 </section>
469 </chapter>
470
471 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20