/[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.31 - (show annotations) (download) (as text)
Sun Aug 21 22:44:26 2005 UTC (9 years, 1 month ago) by neysx
Branch: MAIN
Changes since 1.30: +8 -6 lines
File MIME type: application/xml
#103041 Add same warning about GMT* time zones as in handbook

1 <?xml version='1.0' encoding='UTF-8'?>
2 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/guide-localization.xml,v 1.30 2005/08/20 16:35:31 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.22</version>
33 <date>2005-08-22</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 the
42 correct time zone data file. 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>ln -sf /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>
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 </body>
219 </section>
220 <section>
221 <title>Generating Specific Locales</title>
222 <body>
223
224 <p>
225 If you use a locale that isn't available by default, you should use
226 <c>localedef</c> to generate your locale. For instance:
227 </p>
228
229 <pre caption="Generating a locale using localedef">
230 # <i>localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15</i>
231 </pre>
232
233 <p>
234 After having generated the locale, you can export the LANG variable as you see
235 fit.
236 </p>
237
238 <pre caption="Exporting the LANG variable">
239 # <i>export LANG="en_US.ISO-8859-15"</i>
240 </pre>
241
242 </body>
243 </section>
244 <section>
245 <title>The userlocales USE flag</title>
246 <body>
247
248 <p>
249 You will probably only use one or maybe two locales on your system. Up until now
250 after compiling <c>glibc</c> a full set of all available locales has been
251 created. As of now you can activate the <c>userlocales</c> USE flag and specify
252 only the locales you will need in <path>/etc/locales.build</path>.
253 </p>
254
255 <pre caption="Activate the userlocales USE flag especially for glibc">
256 echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
257 </pre>
258
259 <p>
260 Now specify the locales you want to be able to use:
261 </p>
262
263 <pre caption="Adding locales to /etc/locales.build">
264 en_US/ISO-8859-1
265 en_US.UTF-8/UTF-8
266 de_DE/ISO-8859-1
267 de_DE@euro/ISO-8859-15
268 </pre>
269
270 <p>
271 The next step is to re-compile <c>glibc</c>. Of course you can defer this until
272 the next <c>glibc</c> upgrade is available.
273 </p>
274
275 </body>
276 </section>
277 </chapter>
278
279 <chapter>
280 <title>Keyboard layout for the console</title>
281 <section>
282 <body>
283
284 <p>
285 The keyboard layout used by the console is set in
286 <path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
287 Valid values can be found in
288 <path>/usr/share/keymaps/<c>{arch}</c>/</path>.
289 <path>i386</path> has further subdivisions into layout
290 (<path>qwerty/</path>, <path>azerty/</path>, etc.). Some
291 languages have multiple options, so you may wish to experiment
292 to decide which one fits your needs best.
293 </p>
294
295 <pre caption="setting the console keymap">
296 KEYMAP="de"
297 KEYMAP="de-latin1"
298 KEYMAP="de-latin1-nodeadkeys"
299 </pre>
300
301 </body>
302 </section>
303 </chapter>
304
305 <chapter>
306 <title>Keyboard layout for the X server</title>
307 <section>
308 <body>
309
310 <p>
311 The keyboard layout to be used by the X server is specified
312 in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
313 option.
314 </p>
315
316 <pre caption="setting the X keymap">
317 Section "InputDevice"
318 Identifier "Keyboard1"
319 ...
320 Option "XkbLayout" "de"
321 # Option "XkbVariant" "nodeadkeys"
322 ...
323 </pre>
324
325 </body>
326 </section>
327 </chapter>
328
329 <chapter>
330 <title>KDE</title>
331 <section>
332 <body>
333
334 <p>
335 For KDE you have to install the kde-i18n package with the appropriate
336 LINGUAS variable set:
337 </p>
338
339 <pre caption="Install localized KDE">
340 # <i>nano -w /etc/make.conf</i>
341 <comment>(Add in the LINGUAS variable. For instance, for the German language:)</comment>
342 LINGUAS="de"
343
344 <comment>(Now install kde-i18n)</comment>
345 # <i>emerge kde-i18n</i>
346 </pre>
347
348 </body>
349 </section>
350 </chapter>
351
352 <chapter>
353 <title>The Euro Symbol for the Console</title>
354 <section>
355 <body>
356
357 <p>
358 In order to get your console to display the Euro symbol, you
359 will need to set <c>CONSOLEFONT</c> in
360 <path>/etc/rc.conf</path> to a file found in
361 <path>/usr/share/consolefonts/</path> (without the
362 <c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol.
363 </p>
364
365 <pre caption="setting the console font">
366 CONSOLEFONT="lat9w-16"
367 </pre>
368
369 </body>
370 </section>
371 </chapter>
372
373 <chapter>
374 <title>The Euro Symbol in X</title>
375 <section>
376 <title>Most Applications</title>
377 <body>
378
379 <p>
380 Getting the Euro symbol to work properly in X is a little
381 bit tougher. The first thing you should do is change the <c>fixed</c>
382 and <c>variable</c> definitions in
383 <path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end
384 in <c>iso8859-15</c> instead of <c>iso8859-1</c>.
385 </p>
386
387 <pre caption="setting default X fonts">
388 fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
389 variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
390 </pre>
391
392 <p>
393 Some applications use their own font, and you will have to
394 tell them separately to use a font with the Euro symbol. You
395 can do this at a user-specific level in
396 <path>.Xdefaults</path> (you can copy this file to
397 <path>/etc/skel/</path> for use by new users), or at a global
398 level for any application with a resource file in
399 <path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In
400 these files you generally have to change an existing line,
401 rather than adding a new one. To change our xterm font, for
402 instance:
403 </p>
404
405 <pre caption="setting fonts for xterm">
406 <comment>(in your home directory)</comment>
407 # <i>echo 'XTerm*font: fixed' >> .Xresources </i>
408 # <i>xrdb -merge .Xresources</i>
409 </pre>
410
411 </body>
412 </section>
413 <section>
414 <title>The Euro symbol in (X)Emacs</title>
415 <body>
416
417 <p>
418 To use the Euro symbol in (X)Emacs, add the following to
419 <path>.Xdefaults</path>:
420 </p>
421
422 <pre caption="setting the font for emacs">
423 Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
424 </pre>
425
426 <p>
427 For XEmacs (not plain Emacs), you have to do a little
428 more. In <path>/home/user/.xemacs/init.el</path>, add:
429 </p>
430
431 <pre caption="setting the font for xemacs">
432 (define-key global-map '(EuroSign) '[&#8364;])
433 </pre>
434
435 <note>
436 The symbol in the []s is the Euro symbol.
437 </note>
438
439 </body>
440 </section>
441 <section>
442 <title>Language for OpenOffice.org</title>
443 <body>
444
445 <note>
446 Customized default language is not available for openoffice-bin ebuild. The
447 default language in the openoffice-bin is ENUS.
448 </note>
449
450 <p>
451 Please note that this package now uses the LINGUAS variable to
452 provide localization. The old LANGUAGE=ENUS|PORT system does <e>not</e> work
453 anymore. The default language for OpenOffice.org is set as "US English". If you
454 wish to change the default language for OpenOffice.org, check the ebuild for the
455 default language code.
456 </p>
457
458 <pre caption="Example: emerge openoffice for german + english environment">
459 # <i>nano -w /etc/make.conf</i>
460 <comment>(Add in the LINGUAS variable. For instance, for the German and English language:)</comment>
461 LINGUAS="de en"
462
463 <comment>(Now install openoffice)</comment>
464 # <i>emerge openoffice</i>
465 </pre>
466
467 </body>
468 </section>
469 </chapter>
470
471 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20