/[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.11 Revision 1.28
1<?xml version='1.0' encoding='UTF-8'?> 1<?xml version='1.0' encoding='UTF-8'?>
2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/guide-localization.xml,v 1.11 2004/02/12 16:56:05 dertobi123 Exp $ --> 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<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4 4
5<guide link="/doc/en/guide-localization.xml"> 5<guide link="/doc/en/guide-localization.xml">
6<title>Gentoo Linux Localization Guide</title> 6<title>Gentoo Linux Localization Guide</title>
7<author title="Author"><mail link="holler@gentoo.de"> 7<author title="Author">
8 Alexander Holler</mail> 8 Alexander Holler
9</author> 9</author>
10<author title="Translator/Editor"><mail link="slucy@uchicago.edu"> 10<author title="Translator/Editor">
11 Steven Lucy</mail> 11 <mail link="slucy@uchicago.edu">Steven Lucy</mail>
12</author> 12</author>
13<author title="Editor"> 13<author title="Editor">
14 <mail link="bennyc@gentoo.org">Benny Chuang</mail> 14 <mail link="bennyc@gentoo.org">Benny Chuang</mail>
15</author> 15</author>
16<author title="Editor"> 16<author title="Editor">
17 <mail link="pylon@gentoo.org">Lars Weiler</mail> 17 <mail link="pylon@gentoo.org">Lars Weiler</mail>
18</author> 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
19<abstract> 26<abstract>
20This guide should help users localize their Gentoo Linux distribution to any 27This guide should help users localize their Gentoo Linux distribution to any
21European locale. It uses Germany as a case-study, since it is translated from 28European locale. It uses Germany as a case-study, since it is translated from
22the German doc. Includes configuration for use of the Euro currency symbol. 29the German doc. Includes configuration for use of the euro currency symbol.
23</abstract> 30</abstract>
24 31
32<version>1.19</version>
33<date>2005-06-24</date>
34
25<chapter> 35<chapter>
26<title>Timezone</title> 36<title>Time zone</title>
27<section> 37<section>
28 <body> 38<body>
29 <p>In order to keep time properly, 39
30 <path>/etc/localtime</path> must point to the correct time zone 40<p>
31 data file. Look around in <path>/usr/share/zoneinfo/</path> 41In order to keep time properly, <path>/etc/localtime</path> must point to
32 and pick your timezone or a near-by big city. 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
33<pre caption="setting the timezone"> 46<pre caption="setting the timezone">
34# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i> 47# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
35# <i>date</i> 48# <i>date</i>
36Sun Feb 16 08:26:44 CET 2003 49Sun Feb 16 08:26:44 CET 2003
37</pre> 50</pre>
51
52<note>
38<note>Make sure that the three-letter timezone indicator (in this case "CET") 53Make sure that the three-letter timezone indicator (in this case "CET")
39is correct for your area.</note> 54is correct for your area.
55</note>
56
57<note>
40<note>You can set the value of <i>TZ</i> to be everything after the 58You can set the value of <c>TZ</c> to be everything after the
41<path>/usr/share/zoneinfo</path> in your shell rc file 59<path>/usr/share/zoneinfo</path> in your shell rc file
42(<path>.bash_profile</path> for bash) for a user-level setting. In this case 60(<path>.bash_profile</path> for bash) for a user-level setting. In this case
43<i>TZ="Europe/Berlin"</i>.</note> 61<c>TZ="Europe/Berlin"</c>.
44 </p> 62</note>
45 </body>
46</section>
47</chapter>
48 63
49<chapter> 64</body>
50<title>System Clock</title>
51<section> 65</section>
52 <body> 66</chapter>
53 <p> 67
68<chapter>
69<title>Hardware Clock</title>
70<section>
71<body>
72
73<p>
54 In most Gentoo Linux installations, your system clock is set to 74In most Gentoo Linux installations, your hardware clock is set to
55 UTC (or GMT, Greenwhich Mean Time) and then your timezone is 75UTC (or GMT, Greenwich Mean Time) and then your timezone is
56 taken into account to determine the actual, local time. If, 76taken into account to determine the actual, local time. If,
57 for some reason, you need your system clock not to be in UTC, 77for some reason, you need your hardware clock not to be in UTC,
58 you will need to edit <path>/etc/rc.conf</path> and change the 78you will need to edit <path>/etc/conf.d/clock</path> and change the
59 value of <i>CLOCK</i>. 79value of <c>CLOCK</c> from <c>UTC</c> to <c>local</c>.
80</p>
60 81
61<pre caption="local vs. GMT clock"> 82<pre caption="local vs. GMT clock">
62 <codenote>recommended:</codenote> 83<comment>(recommended:)</comment>
63 CLOCK="UTC" 84CLOCK="UTC"
64 <codenote>or:</codenote> 85<comment>(or:)</comment>
65 CLOCK="local" 86CLOCK="local"
66</pre> 87</pre>
67 </p>
68 </body>
69</section>
70</chapter>
71 88
72<chapter> 89</body>
73<title>POSIX Locale</title>
74<section> 90</section>
75 <body> 91</chapter>
76 <p> 92
77 The next step is to set the <i>LANG</i> shell variable, which 93<chapter>
78 is used by your shell and window manager (and some other 94<title>Locale system</title>
79 applications). Valid values can be found in 95<section>
80 <path>/usr/share/locale</path> and generally take the form 96<title>What are locales?</title>
81 <i>ab_CD</i>, where <i>ab</i> is your two letter language code 97<body>
82 and <i>CD</i> is your two letter country code. The <i>_CD</i> 98
83 is left off if your language is only (or primarily) spoken in 99<p>
84 one country. <i>LANG</i> can be set in 100A Locale is a set of information that most programs use for determining
85 <path>/etc/profile</path> if you want it to take effect 101country and language specific settings. The locales and their data
86 system-wide, or in <path>~/.bashrc</path> as a user-specific 102are part of the system library and can be found
87 setting. 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
88<pre caption="setting the POSIX locale"> 199<pre caption="setting the German locale">
89 export LANG="de_DE@euro" 200export LANG="de_DE@euro"
90</pre> 201</pre>
202
203<note>
91<note>Appended <i>@euro</i> to your locale if you want to use the new Euro 204Append <c>@euro</c> to your locale if you want to use the Euro
92currency symbol (&#8364;)</note> 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.
93 </p> 214</p>
94 </body> 215
216</body>
217</section>
218<section>
219<title>Generating Specific Locales</title>
220<body>
221
222<p>
223If 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>
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>
95</section> 274</section>
96</chapter> 275</chapter>
97 276
98<chapter> 277<chapter>
99<title>Keyboard layout for the console</title> 278<title>Keyboard layout for the console</title>
100<section> 279<section>
101 <body> 280<body>
102 <p> 281
282<p>
103 The keyboard layout used by the console is set in 283The keyboard layout used by the console is set in
104 <path>/etc/rc.conf</path> by the <i>KEYMAP</i> variable. 284<path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
105 Valid values can be found in 285Valid values can be found in
106 <path>/usr/share/keymaps/<i>{arch}</i>/</path>. 286<path>/usr/share/keymaps/<c>{arch}</c>/</path>.
107 <path>i386</path> has further subdivisions into layout 287<path>i386</path> has further subdivisions into layout
108 (<path>qwerty/</path>, <path>azerty/</path>, etc.). Some 288(<path>qwerty/</path>, <path>azerty/</path>, etc.). Some
109 languages have multiple options, so you may wish to experiment 289languages have multiple options, so you may wish to experiment
110 to decide which one fits your needs best. 290to decide which one fits your needs best.
291</p>
292
111<pre caption="setting the console keymap"> 293<pre caption="setting the console keymap">
112 KEYMAP="de" 294KEYMAP="de"
113 KEYMAP="de-latin1" 295KEYMAP="de-latin1"
114 KEYMAP="de-latin1-nodeadkeys" 296KEYMAP="de-latin1-nodeadkeys"
115</pre> 297</pre>
116 </p> 298
117 </body> 299</body>
118</section> 300</section>
119</chapter> 301</chapter>
120 302
121<chapter> 303<chapter>
122<title>Keyboard layout for the X server</title> 304<title>Keyboard layout for the X server</title>
123<section> 305<section>
124 <body> 306<body>
307
308<p>
125 <p>The keyboard layout to be used by the X server is specified 309The keyboard layout to be used by the X server is specified
126 in <path>/etc/X11/XF86Config</path> by the <i>XkbLayout</i> 310in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
127 option. 311option.
312</p>
313
128<pre caption="setting the X keymap"> 314<pre caption="setting the X keymap">
129 Section "InputDevice" 315 Section "InputDevice"
130 Identifier "Keyboard1" 316 Identifier "Keyboard1"
131 ... 317 ...
132 Option "XkbLayout" "de" 318 Option "XkbLayout" "de"
133 # Option "XkbVariant" "nodeadkeys" 319 # Option "XkbVariant" "nodeadkeys"
134 ... 320 ...
135</pre> 321</pre>
136 </p> 322
137 </body> 323</body>
138</section> 324</section>
139</chapter> 325</chapter>
140 326
141<chapter> 327<chapter>
142<title>KDE</title> 328<title>KDE</title>
143<section> 329<section>
144<body> 330<body>
145 331
146<p> 332<p>
147For KDE you have to install the kde-i18n package with the appropriate 333For KDE you have to install the kde-i18n package with the appropriate
148LINGUAS environment variable set:</p> 334LINGUAS variable set:
335</p>
149 336
150<pre caption="Install localized KDE"> 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>
151# <i>LINGUAS="de" emerge kde-i18n</i> 343# <i>emerge kde-i18n</i>
152</pre> 344</pre>
153 345
154</body> 346</body>
155</section> 347</section>
156</chapter> 348</chapter>
157 349
158<chapter> 350<chapter>
159<title>The Euro Symbol for the Console</title> 351<title>The Euro Symbol for the Console</title>
160<section> 352<section>
161 <body> 353<body>
162 <p> 354
355<p>
163 In order to get your console to display the Euro symbol, you 356In order to get your console to display the Euro symbol, you
164 will need to set <i>CONSOLEFONT</i> in 357will need to set <c>CONSOLEFONT</c> in
165 <path>/etc/rc.conf</path> to a file found in 358<path>/etc/rc.conf</path> to a file found in
166 <path>/usr/share/consolefonts/</path> (without the 359<path>/usr/share/consolefonts/</path> (without the
167 <c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol. 360<c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol.
361</p>
362
168<pre caption="setting the console font"> 363<pre caption="setting the console font">
169 CONSOLEFONT="lat9w-16" 364CONSOLEFONT="lat9w-16"
170</pre> 365</pre>
171 </p>
172 </body>
173</section>
174</chapter>
175 366
176<chapter> 367</body>
177 <title>The Euro Symbol in X</title>
178<section> 368</section>
369</chapter>
370
371<chapter>
372<title>The Euro Symbol in X</title>
373<section>
179 <title>Most Applications</title> 374<title>Most Applications</title>
180 <body> 375<body>
376
377<p>
181 <p>Getting the Euro symbol to work properly in X is a little 378Getting the Euro symbol to work properly in X is a little
182 bit tougher. The first thing you should do is change the <i> 379bit tougher. The first thing you should do is change the <c>fixed</c>
183 fixed</i> and <i>variable</i> definitions in 380and <c>variable</c> definitions in
184 <path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end 381<path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end
185 in <i>iso8859-15</i> instead of <i>iso8859-1</i>. 382in <c>iso8859-15</c> instead of <c>iso8859-1</c>.
383</p>
384
186<pre caption="setting default X fonts"> 385<pre caption="setting default X fonts">
187 fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15 386fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
188 variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15 387variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
189</pre> 388</pre>
190 </p> 389
390<p>
191 <p>Some applications use their own font, and you will have to 391Some applications use their own font, and you will have to
192 tell them separately to use a font with the Euro symbol. You 392tell them separately to use a font with the Euro symbol. You
193 can do this at a user-specific level in 393can do this at a user-specific level in
194 <path>.Xdefaults</path> (you can copy this file to 394<path>.Xdefaults</path> (you can copy this file to
195 <path>/etc/skel/</path> for use by new users), or at a global 395<path>/etc/skel/</path> for use by new users), or at a global
196 level for any application with a resource file in 396level for any application with a resource file in
197 <path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In 397<path>/usr/X11R6/lib/X11/app-defaults/</path> (like xterm). In
198 these files you generally have to change an existing line, 398these files you generally have to change an existing line,
199 rather than adding a new one. To change our xterm font, for 399rather than adding a new one. To change our xterm font, for
200 instance: 400instance:
401</p>
402
201<pre caption="setting fonts for xterm"> 403<pre caption="setting fonts for xterm">
202 <codenote>(in your home directory)</codenote> 404<comment>(in your home directory)</comment>
203 $ <i>echo 'XTerm*font: fixed' >> .Xresources </i> 405# <i>echo 'XTerm*font: fixed' >> .Xresources </i>
204 $ <i>xrdb -merge .Xresources</i> 406# <i>xrdb -merge .Xresources</i>
205</pre> 407</pre>
206 </p>
207 </body>
208</section>
209 408
409</body>
210<section> 410</section>
411<section>
211 <title>The Euro symbol in (X)Emacs</title> 412<title>The Euro symbol in (X)Emacs</title>
212 <body> 413<body>
414
415<p>
213 <p>To use the Euro symbol in (X)Emacs, add the following to 416To use the Euro symbol in (X)Emacs, add the following to
214 <path>.Xdefaults</path>: 417<path>.Xdefaults</path>:
418</p>
419
215<pre caption="setting the font for emacs"> 420<pre caption="setting the font for emacs">
216 Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15 421Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
217</pre> 422</pre>
423
424<p>
218 </p><p>For XEmacs (not plain Emacs), you have to do a little 425For XEmacs (not plain Emacs), you have to do a little
219 more. In <path>/home/user/.xemacs/init.el</path>, add: 426more. In <path>/home/user/.xemacs/init.el</path>, add:
427</p>
428
220<pre caption="setting the font for xemacs"> 429<pre caption="setting the font for xemacs">
221 (define-key global-map '(EuroSign) '[&#8364;]) 430(define-key global-map '(EuroSign) '[&#8364;])
222</pre> 431</pre>
432
433<note>
223 <note>The symbol in the []s is the Euro symbol.</note> 434The symbol in the []s is the Euro symbol.
224 </p> 435</note>
225 </body> 436
226</section> 437</body>
227<section> 438</section>
439<section>
228 <title>Language for OpenOffice</title> 440<title>Language for OpenOffice.org</title>
229 <body> 441<body>
442
230 <note> 443<note>
231 Customized default language is not available for openoffice-bin ebuild. The 444Customized default language is not available for openoffice-bin ebuild. The
232 default language in the openoffice-bin is ENUS. 445default language in the openoffice-bin is ENUS.
233 </note> 446</note>
234 <p> 447
448<p>
449Please note that this package now uses the LINGUAS variable to
450provide localization. The old LANGUAGE=ENUS|PORT system does <e>not</e> work
235 The default language for OpenOffice is set as "ENUS"(01). If you wish to 451anymore. The default language for OpenOffice.org is set as "US English". If you
236 change the default language for OpenOffice, check the ebuild for the 452wish to change the default language for OpenOffice.org, check the ebuild for the
237 default language code. 453default language code.
238 </p>
239<pre caption="emerge openoffice with desired default language">
240# <i>LANGUAGE="01" emerge openoffice</i>
241<comment>01 is the ENUS language code for openoffice</comment>
242</pre> 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
243 </body> 465</body>
244</section> 466</section>
245</chapter> 467</chapter>
246 468
247<version>1.9</version>
248<date>February 12, 2004</date>
249</guide> 469</guide>

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

  ViewVC Help
Powered by ViewVC 1.1.20