/[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.2 Revision 1.28
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.28 2005/06/24 18:04:15 fox2mike Exp $ -->
3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 4
4<guide link = "/doc/en/guide-localization.xml"> 5<guide link="/doc/en/guide-localization.xml">
5<title>Gentoo Linux Localization Instructions</title> 6<title>Gentoo Linux Localization Guide</title>
6<author><mail link="holler@ahsoftware.de"> 7<author title="Author">
7 Alexander Holler</mail> 8 Alexander Holler
8</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>
9 25
10<abstract>This instructions explains the few steps you need to follow to use Gentoo Linux 26<abstract>
11with 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>
12 31
13<chapter> 32<version>1.19</version>
14<title>Preface</title> 33<date>2005-06-24</date>
15<section> 34
16 <body>
17 <p>As I'm a German I explain how to enable the german language. If you want
18 another language, you just have to replace the german language code <i>de</i> with
19 the corresponding code for your country, e.g. <i>fr</i> for France or <i>es</i> for Spain.
20 </p>
21 </body>
22</section>
23</chapter> 35<chapter>
24
25<chapter>
26<title>Timezone</title> 36<title>Time zone</title>
27<section> 37<section>
28 <body> 38<body>
29 <p>To enable the right timezone <path>/etc/localtime</path> should point to the 39
30 appropriate file with the datas for your timezone. You will find those files
31 in <path>/usr/share/zoneinfo/</path>.
32<pre> 40<p>
41In order to keep time properly, <path>/etc/localtime</path> must point to
42the 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">
33# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i> 47# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
48# <i>date</i>
49Sun Feb 16 08:26:44 CET 2003
34</pre> 50</pre>
35 </p>
36 </body>
37</section>
38</chapter>
39 51
52<note>
53Make sure that the three-letter timezone indicator (in this case "CET")
54is correct for your area.
55</note>
56
57<note>
58You 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>
40<chapter> 66</chapter>
67
68<chapter>
41<title>Hardware clock</title> 69<title>Hardware Clock</title>
42<section> 70<section>
43 <body> 71<body>
44 <p>If your hardware clock is set to local time and not to GMT you have to correct 72
45 the variable <i>CLOCK</i> in <path>/etc/rc.conf</path>.
46<pre> 73<p>
74In most Gentoo Linux installations, your hardware clock is set to
75UTC (or GMT, Greenwich Mean Time) and then your timezone is
76taken into account to determine the actual, local time. If,
77for some reason, you need your hardware clock not to be in UTC,
78you will need to edit <path>/etc/conf.d/clock</path> and change the
79value 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>
84CLOCK="UTC"
85<comment>(or:)</comment>
47 CLOCK="local" 86CLOCK="local"
48</pre> 87</pre>
49 </p>
50 </body>
51</section>
52</chapter>
53 88
54<chapter> 89</body>
55<title>Language</title>
56<section> 90</section>
57 <body> 91</chapter>
58 <p>Telling programms what language you prefer will be done with the environment variable 92
59 <i>LANG</i>. If you want to set the language system-wide for all users you should export 93<chapter>
60 <i>LANG</i> in <path>/etc/profile</path>. If not, this can be done in through your private 94<title>Locale system</title>
61 <path>.bashrc</path> in your home directory. You can find available languages in 95<section>
62 <path>/usr/share/i18n/locales</path>. 96<title>What are locales?</title>
97<body>
98
63<pre> 99<p>
100A Locale is a set of information that most programs use for determining
101country and language specific settings. The locales and their data
102are part of the system library and can be found
103at <path>/usr/share/locale</path> on most systems. A locale name is generally
104named <c>ab_CD</c> where <c>ab</c> is your two (or three) letter
105language code (as specified in ISO-639) and <c>CD</c> is your two letter country
106code (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>
116Locale settings are stored in environment variables. These are typically
117set in the <path>/etc/env.d/02locale</path> (for system-wide
118settings) and <path>~/.bashrc</path> (for user-specific settings) file.
119The variables controlling different aspects of locale settings
120are given in the table below, those with highest precedence (ie. those
121that override settings below them) are at the top of the table. All variables
122take 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>
189Even though most programs work with LC_ALL only, some of them misbehave if
190LC_ALL is set but LANG isn't. If you want to play safe, set them <e>both</e>.
191</note>
192
193<p>
194Most typically users only set the LANG variable and perhaps LC_CTYPE variable
195on user level by adding definitions to shells startup files defining
196the environment variable manually from command line:
197</p>
198
199<pre caption="setting the German locale">
64 export LANG="de_DE@euro" 200export LANG="de_DE@euro"
201</pre>
202
203<note>
204Append <c>@euro</c> to your locale if you want to use the Euro
205currency symbol (&#8364;)
206</note>
207
208<p>
209For message based localization to work in programs that support it, you will
210probably need to have programs compiled with the <c>nls</c> (Native language
211support) USE flag set. Most of the programs using nls also need the gettext
212library to extract and use localized messages. Of course, Gentoo's Portage will
213automatically install it when needed.
65</pre> 214</p>
66 </p>
67 </body>
68</section>
69</chapter>
70 215
71<chapter> 216</body>
72<title>Keyboard-layout (terminal)</title>
73<section> 217</section>
74 <body> 218<section>
75 <p>The keyboard-layout for terminal sessions is set through <i>KEYMAP</i> in 219<title>Generating Specific Locales</title>
76 <path>/etc/rc.conf</path>. You will find the appropriate tables in 220<body>
77 <path>/usr/share/keymaps</path>. If you aren't using composed characters with 221
78 tildes (e.g. &#245;), accent graph (e.g. &#232;) or similar, you could use the 222<p>
79 nodeadkeys-variants. This will save you to enter a space after typing letters 223If you use a locale that isn't available by default, you should use
80 like ~. 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>
81<pre> 229</pre>
230
231<p>
232After having generated the locale, you can export the LANG variable as you see
233fit.
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>
247You will probably only use one or maybe two locales on your system. Up until now
248after compiling <c>glibc</c> a full set of all available locales has been
249created. As of now you can activate the <c>userlocales</c> USE flag and specify
250only 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">
254echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
255</pre>
256
257<p>
258Now specify the locales you want to be able to use:
259</p>
260
261<pre caption="Adding locales to /etc/locales.build">
262en_US/ISO-8859-1
263en_US.UTF-8/UTF-8
264de_DE/ISO-8859-1
265de_DE@euro/ISO-8859-15
266</pre>
267
268<p>
269The next step is to re-compile <c>glibc</c>. Of course you can defer this until
270the 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>
283The keyboard layout used by the console is set in
284<path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
285Valid 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
289languages have multiple options, so you may wish to experiment
290to decide which one fits your needs best.
291</p>
292
293<pre caption="setting the console keymap">
294KEYMAP="de"
82 KEYMAP="de-latin1" 295KEYMAP="de-latin1"
83 # KEYMAP="de-latin1-nodeadkeys" 296KEYMAP="de-latin1-nodeadkeys"
84</pre> 297</pre>
85 </p>
86 </body>
87</section>
88</chapter>
89 298
90<chapter> 299</body>
91<title>Keyboard-layout (X server)</title>
92<section> 300</section>
93 <body> 301</chapter>
94 <p>The keyboard-layout for the X server is set with the option 302
95 <i>XkbLayout</i> in the file <path>/etc/X11/XF86Config</path>. 303<chapter>
304<title>Keyboard layout for the X server</title>
305<section>
306<body>
307
96<pre> 308<p>
309The keyboard layout to be used by the X server is specified
310in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
311option.
312</p>
313
314<pre caption="setting the X keymap">
97 Section "InputDevice" 315 Section "InputDevice"
98 Identifier "Keyboard1" 316 Identifier "Keyboard1"
99 ... 317 ...
100 Option "XkbLayout" "de" 318 Option "XkbLayout" "de"
101 # Option XkbVariant" "nodeadkeys" 319 # Option "XkbVariant" "nodeadkeys"
102 ... 320 ...
103</pre> 321</pre>
104 </p>
105 </body>
106</section>
107</chapter>
108 322
109<chapter> 323</body>
110<title>Euro character (terminal)</title>
111<section> 324</section>
112 <body>
113 <p>If you want to see the Euro character in a session without using X, you have
114 to use a console font which contains it. The console font is set with
115 <i>CONSOLEFONT</i> in <path>/etc/rc.conf</path>. Available fonts will be find in
116 <path>/usr/share/consolefonts</path>.
117<pre>
118 CONSOLEFONT="lat0-16"
119</pre>
120 </p>
121 </body>
122</section>
123</chapter>
124
125<chapter> 325</chapter>
126 <title>Euro character (X server)</title> 326
127<section> 327<chapter>
128 <title>General</title> 328<title>KDE</title>
129 <body>
130 <p>Using the above settings and KDE you should already get the Euro character with
131 Alt-Gr-E in all KDE-programs. Remaining the non-KDE-programs.
132 </p><p>Unfortunately this is not as easy as the settings before. You have to set the right
133 font for every single X-program. So I will just explain how to enable the Euro character
134 for xterm and (X)Emacs. You can change the fonts for programs under X in your private
135 <path>.Xdefaults</path> in your home directory. To enable it for other (new) users you could
136 copy this file to <path>/etc/skel</path>.
137 </p>
138 </body>
139</section> 329<section>
330<body>
140 331
332<p>
333For KDE you have to install the kde-i18n package with the appropriate
334LINGUAS 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>
340LINGUAS="de"
341
342<comment>(Now install kde-i18n)</comment>
343# <i>emerge kde-i18n</i>
344</pre>
345
346</body>
141<section> 347</section>
142 <title>Euro character for xterm</title> 348</chapter>
143 <body> 349
144 <p>Insert the following in your <path>.Xdefaults</path>: 350<chapter>
145<pre> 351<title>The Euro Symbol for the Console</title>
146 xterm*font: 7x13euro
147</pre>
148 </p>
149 </body>
150</section> 352<section>
353<body>
151 354
355<p>
356In order to get your console to display the Euro symbol, you
357will 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">
364CONSOLEFONT="lat9w-16"
365</pre>
366
367</body>
152<section> 368</section>
153 <title>Euro character for (X)Emacs</title> 369</chapter>
154 <body> 370
155 <p>For (X)Emacs you define the font in <path>.Xdefaults</path> as shown below: 371<chapter>
372<title>The Euro Symbol in X</title>
373<section>
374<title>Most Applications</title>
375<body>
376
377<p>
378Getting the Euro symbol to work properly in X is a little
379bit tougher. The first thing you should do is change the <c>fixed</c>
380and <c>variable</c> definitions in
381<path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end
382in <c>iso8859-15</c> instead of <c>iso8859-1</c>.
383</p>
384
385<pre caption="setting default X fonts">
386fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
387variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
156<pre> 388</pre>
389
390<p>
391Some applications use their own font, and you will have to
392tell them separately to use a font with the Euro symbol. You
393can 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
396level for any application with a resource file in
397<path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In
398these files you generally have to change an existing line,
399rather than adding a new one. To change our xterm font, for
400instance:
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>
416To 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">
157 Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15 421Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
158</pre>
159 </p><p>If you are using XEmacs (not Emacs) you will have to tell him what to do with
160 the <i>EuroSign</i>. This will be done through a definition in
161 <path>.xemacs/init.el</path> in your home directory:
162<pre> 422</pre>
423
424<p>
425For XEmacs (not plain Emacs), you have to do a little
426more. In <path>/home/user/.xemacs/init.el</path>, add:
427</p>
428
429<pre caption="setting the font for xemacs">
163 (define-key global-map '(EuroSign) '[&#8364;]) 430(define-key global-map '(EuroSign) '[&#8364;])
164</pre> 431</pre>
165 <note>The character in the square brackets is the Euro character.</note> 432
166 </p> 433<note>
167 </body> 434The symbol in the []s is the Euro symbol.
435</note>
436
437</body>
438</section>
168</section> 439<section>
440<title>Language for OpenOffice.org</title>
441<body>
169 442
170</chapter> 443<note>
444Customized default language is not available for openoffice-bin ebuild. The
445default language in the openoffice-bin is ENUS.
446</note>
171 447
172<version>$Revision: 1.2 $</version> 448<p>
173<date>$Date: 2002/11/15 18:39:34 $</date> 449Please note that this package now uses the LINGUAS variable to
450provide localization. The old LANGUAGE=ENUS|PORT system does <e>not</e> work
451anymore. The default language for OpenOffice.org is set as "US English". If you
452wish to change the default language for OpenOffice.org, check the ebuild for the
453default 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>
459LINGUAS="de"
460
461<comment>(Now install openoffice)</comment>
462# <i>emerge openoffice</i>
463</pre>
464
465</body>
466</section>
467</chapter>
468
174</guide> 469</guide>

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.20