/[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.15 Revision 1.35
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.15 2004/11/01 20:15:44 dertobi123 Exp $ --> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/guide-localization.xml,v 1.35 2006/01/02 13:40:18 rane 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"> 7<author title="Author">
8 <mail link="holler@gentoo.de">Alexander Holler</mail> 8 Alexander Holler
9</author> 9</author>
10<author title="Translator/Editor"> 10<author title="Translator/Editor">
11 <mail link="slucy@uchicago.edu">Steven Lucy</mail> 11 <mail link="slucy@uchicago.edu">Steven Lucy</mail>
12</author> 12</author>
13<author title="Editor"> 13<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"> 19<author title="Editor">
20 <mail link="dertobi123@gentoo.org">Tobias Scherbaum</mail> 20 <mail link="dertobi123@gentoo.org">Tobias Scherbaum</mail>
21</author> 21</author>
22<author title="Editor">
23 <mail link="flammie@gentoo.org">Flammie Pirinen</mail>
24</author>
22 25
23<abstract> 26<abstract>
24This guide should help users localize their Gentoo Linux distribution to any 27This guide should help users localize their Gentoo Linux distribution to any
25European 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
26the German doc. Includes configuration for use of the Euro currency symbol. 29the German doc. Includes configuration for use of the euro currency symbol.
27</abstract> 30</abstract>
28 31
29<version>1.11</version> 32<version>1.25</version>
30<date>November 1, 2004</date> 33<date>2006-01-02</date>
31 34
32<chapter> 35<chapter>
33<title>Timezone</title> 36<title>Time zone</title>
34<section> 37<section>
35<body> 38<body>
36 39
37<p> 40<p>
38In order to keep time properly, <path>/etc/localtime</path> must point to 41In order to keep time properly, <path>/etc/localtime</path> must contain the
39the correct time zone data file. Look around in 42correct time zone data. Look around in <path>/usr/share/zoneinfo/</path>
40<path>/usr/share/zoneinfo/</path> and pick your timezone or a near-by big city. 43and 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
45indicate the expected zones. For instance, <path>GMT-8</path> is in fact GMT+8.
41</p> 46</p>
42 47
43<pre caption="setting the timezone"> 48<pre caption="setting the timezone">
44# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i> 49# <i>cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
45# <i>date</i> 50# <i>date</i>
46Sun Feb 16 08:26:44 CET 2003 51Sun Feb 16 08:26:44 CET 2003
47</pre> 52</pre>
48 53
49<note> 54<note>
61</body> 66</body>
62</section> 67</section>
63</chapter> 68</chapter>
64 69
65<chapter> 70<chapter>
66<title>System Clock</title> 71<title>Hardware Clock</title>
67<section> 72<section>
68<body> 73<body>
69 74
70<p> 75<p>
71In most Gentoo Linux installations, your system clock is set to 76In most Gentoo Linux installations, your hardware clock is set to
72UTC (or GMT, Greenwhich Mean Time) and then your timezone is 77UTC (or GMT, Greenwich Mean Time) and then your timezone is
73taken into account to determine the actual, local time. If, 78taken into account to determine the actual, local time. If,
74for some reason, you need your system clock not to be in UTC, 79for some reason, you need your hardware clock not to be in UTC,
75you will need to edit <path>/etc/rc.conf</path> and change the 80you will need to edit <path>/etc/conf.d/clock</path> and change the
76value of <c>CLOCK</c>. 81value of <c>CLOCK</c> from <c>UTC</c> to <c>local</c>.
77</p> 82</p>
78 83
79<pre caption="local vs. GMT clock"> 84<pre caption="local vs. GMT clock">
80<codenote>recommended:</codenote> 85<comment>(recommended:)</comment>
81CLOCK="UTC" 86CLOCK="UTC"
82<codenote>or:</codenote> 87<comment>(or:)</comment>
83CLOCK="local" 88CLOCK="local"
84</pre> 89</pre>
85 90
86</body> 91</body>
87</section> 92</section>
88</chapter> 93</chapter>
89 94
90<chapter> 95<chapter>
91<title>POSIX Locale</title> 96<title>Locale system</title>
97<section>
98<title>What are locales?</title>
99<body>
100
101<p>
102A Locale is a set of information that most programs use for determining
103country and language specific settings. The locales and their data
104are part of the system library and can be found
105at <path>/usr/share/locale</path> on most systems. A locale name is generally
106named <c>ab_CD</c> where <c>ab</c> is your two (or three) letter
107language code (as specified in ISO-639) and <c>CD</c> is your two letter country
108code (as specified in ISO-3199).
109</p>
110
111</body>
92<section> 112</section>
93<title>Using Existing Locales</title> 113<section id="variables">
114<title>Environment variables for locales</title>
94<body> 115<body>
95 116
96<p>
97The next step is to set the <c>LANG</c> shell variable, which
98is used by your shell and window manager (and some other
99applications). Valid values can be found in
100<path>/usr/share/locale</path> and generally take the form
101<c>ab_CD</c>, where <c>ab</c> is your two letter language code
102and <c>CD</c> is your two letter country code. The <c>_CD</c>
103is left off if your language is only (or primarily) spoken in
104one country. <c>LANG</c> can be set in
105<path>/etc/profile</path> if you want it to take effect
106system-wide, or in <path>~/.bashrc</path> as a user-specific
107setting.
108</p> 117<p>
118Locale settings are stored in environment variables. These are typically
119set in the <path>/etc/env.d/02locale</path> (for system-wide
120settings) and <path>~/.bashrc</path> (for user-specific settings) file.
121The variables controlling different aspects of locale settings
122are given in the table below, those with highest precedence (ie. those
123that override settings below them) are at the top of the table. All variables
124take one name of a locale in <c>ab_CD</c> format given above.
125</p>
109 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>
191Even though most programs work with LC_ALL only, some of them misbehave if
192LC_ALL is set but LANG isn't. If you want to play safe, set them <e>both</e>.
193</note>
194
195<p>
196Most typically users only set the LANG variable and perhaps LC_CTYPE variable
197on user level by adding definitions to shells startup files defining
198the environment variable manually from command line:
199</p>
200
110<pre caption="setting the POSIX locale"> 201<pre caption="setting the German locale">
111export LANG="de_DE@euro" 202export LANG="de_DE@euro"
112</pre> 203</pre>
113 204
114<note> 205<note>
115Appended <c>@euro</c> to your locale if you want to use the new Euro 206Append <c>@euro</c> to your locale if you want to use the Euro
116currency symbol (&#8364;) 207currency symbol (&#8364;)
117</note> 208</note>
118 209
210<p>
211For message based localization to work in programs that support it, you will
212probably need to have programs compiled with the <c>nls</c> (Native language
213support) USE flag set. Most of the programs using nls also need the gettext
214library to extract and use localized messages. Of course, Gentoo's Portage will
215automatically install it when needed.
216</p>
217
218<p>
219Once you have set the right locale, be sure to update your environment
220variables 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>
228After 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>
233Now, 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>
241There is also additional localisation variable called LINGUAS, which affects
242to localisation files that get installed in gettext-based programs, and decides
243used localisation for some specific software packages, such as
244<c>kde-base/kde-i18n</c> and <c>app-office/openoffice</c>. The variable
245takes in <e>space</e>-separated list of language codes, and suggested
246place 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,
252for German, Finnish and English:)</comment>
253LINGUAS="de fi en"
254</pre>
255
256
119</body> 257</body>
120</section> 258</section>
121<section> 259<section>
122<title>Generating Specific Locales</title> 260<title>Generating Specific Locales</title>
123<body> 261<body>
138 276
139<pre caption="Exporting the LANG variable"> 277<pre caption="Exporting the LANG variable">
140# <i>export LANG="en_US.ISO-8859-15"</i> 278# <i>export LANG="en_US.ISO-8859-15"</i>
141</pre> 279</pre>
142 280
281<p>
282Be 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>
290After 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
143</body> 294</body>
144</section> 295</section>
145<section> 296<section>
146<title>The userlocales USE flag</title> 297<title>The userlocales USE flag</title>
147<body> 298<body>
148 299
149<p> 300<p>
150You will probably only use one or maybe two locales on your system. Up until now 301You will probably only use one or maybe two locales on your system. Up until now
151after compiling <c>glibc</c> a full set of all available locales has been 302after compiling <c>glibc</c> a full set of all available locales has been
152created. As of now you can activate the <c>userlocales</c> USE flag und specify 303created. As of now you can activate the <c>userlocales</c> USE flag and specify
153only the locales you will need in <path>/etc/locales.build</path>. 304only the locales you will need in <path>/etc/locales.build</path>.
154</p> 305</p>
155 306
156<pre caption="Activate the userlocales USE flag especially for glibc"> 307<pre caption="Activate the userlocales USE flag especially for glibc">
157echo "sys-libs/glibc userlocales" >> /etc/portage/package.use 308echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
159 310
160<p> 311<p>
161Now specify the locales you want to be able to use: 312Now specify the locales you want to be able to use:
162</p> 313</p>
163 314
164<pre caption="nano -w /etc/locales.build"> 315<pre caption="Adding locales to /etc/locales.build">
165en_US/ISO-8859-1 316en_US/ISO-8859-1
166en_US.UTF-8/UTF-8 317en_US.UTF-8/UTF-8
167de_DE/ISO-8859-1 318de_DE/ISO-8859-1
168de_DE@euro/ISO-8859-15 319de_DE@euro/ISO-8859-15
169</pre> 320</pre>
182<section> 333<section>
183<body> 334<body>
184 335
185<p> 336<p>
186The keyboard layout used by the console is set in 337The keyboard layout used by the console is set in
187<path>/etc/rc.conf</path> by the <c>KEYMAP</c> variable. 338<path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
188Valid values can be found in 339Valid values can be found in
189<path>/usr/share/keymaps/<c>{arch}</c>/</path>. 340<path>/usr/share/keymaps/<c>{arch}</c>/</path>.
190<path>i386</path> has further subdivisions into layout 341<path>i386</path> has further subdivisions into layout
191(<path>qwerty/</path>, <path>azerty/</path>, etc.). Some 342(<path>qwerty/</path>, <path>azerty/</path>, etc.). Some
192languages have multiple options, so you may wish to experiment 343languages have multiple options, so you may wish to experiment
208<section> 359<section>
209<body> 360<body>
210 361
211<p> 362<p>
212The keyboard layout to be used by the X server is specified 363The keyboard layout to be used by the X server is specified
213in <path>/etc/X11/XF86Config</path> by the <c>XkbLayout</c> 364in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
214option. 365option.
215</p> 366</p>
216 367
217<pre caption="setting the X keymap"> 368<pre caption="setting the X keymap">
218 Section "InputDevice" 369 Section "InputDevice"
219 Identifier "Keyboard1" 370 Identifier "Keyboard1"
220 ... 371 ...
221 Option "XkbLayout" "de" 372 Option "XkbLayout" "de"
222 # Option "XkbVariant" "nodeadkeys" 373 #Option "XkbModel" "pc105" <comment>## this is for international keyboards.</comment>
374 # Option "XkbVariant" "nodeadkeys" <comment>## this would be used for xterm input</comment>
223 ... 375 ...
224</pre> 376</pre>
225 377
378<p>
379If 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
381additional keys specific to your keyboard.
382</p>
383
384<p>
385Deadkeys allow you to press keys that will not show immediately but will be
386combined with another letter to produce a single character such as é,è,á,à,
387etc. Setting <c>XkbVariant</c> to <c>nodeadkeys</c> allows input these special
388characters into X terminals.
389</p>
390
391<p>
392If you would like to switch between more than one keyboard layout (for example
393English 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
395command.
396</p>
397
398<pre caption="Switching between two keyboard layouts">
399 Section "InputDevice"
400 Identifier "Keyboard1"
401 ...
402 Option "XkbLayout" "us,ru"
403 Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
404</pre>
405
406<p>
407Here, <c>XkbOptions</c> allows you to toggle between keyboard layouts by simply
408pressing <c>Alt-Shift</c>. This will also toggle the Scroll Lock light on or
409off, thanks to the <c>grp_led:scroll</c> option. This is a handy visual
410indicator of which keyboard layout you are using at the moment.
411</p>
412
226</body> 413</body>
227</section> 414</section>
228</chapter> 415</chapter>
229 416
230<chapter> 417<chapter>
231<title>KDE</title> 418<title>KDE</title>
232<section> 419<section>
233<body> 420<body>
234 421
235<p> 422<p>
236For KDE you have to install the kde-i18n package with the appropriate 423For KDE you have to install the <c>kde-base/kde-i18n</c> package. Kde-i18n
237LINGUAS environment variable set:</p> 424respects <uri link="#variables">LINGUAS variable</uri> described earlier.
238
239<pre caption="Install localized KDE">
240# <i>LINGUAS="de" emerge kde-i18n</i>
241</pre> 425</p>
242 426
243</body> 427</body>
244</section> 428</section>
245</chapter> 429</chapter>
246 430
250<body> 434<body>
251 435
252<p> 436<p>
253In order to get your console to display the Euro symbol, you 437In order to get your console to display the Euro symbol, you
254will need to set <c>CONSOLEFONT</c> in 438will need to set <c>CONSOLEFONT</c> in
255<path>/etc/rc.conf</path> to a file found in 439<path>/etc/conf.d/consolefont</path> to a file found in
256<path>/usr/share/consolefonts/</path> (without the 440<path>/usr/share/consolefonts/</path> (without the
257<c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol. 441<c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol.
258</p> 442</p>
259 443
260<pre caption="setting the console font"> 444<pre caption="setting the console font">
261CONSOLEFONT="lat9w-16" 445CONSOLEFONT="lat9w-16"
446</pre>
447
448<p>
449You 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>
457If 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>
262</pre> 462</pre>
263 463
264</body> 464</body>
265</section> 465</section>
266</chapter> 466</chapter>
296rather than adding a new one. To change our xterm font, for 496rather than adding a new one. To change our xterm font, for
297instance: 497instance:
298</p> 498</p>
299 499
300<pre caption="setting fonts for xterm"> 500<pre caption="setting fonts for xterm">
301<codenote>(in your home directory)</codenote> 501<comment>(in your home directory)</comment>
302# <i>echo 'XTerm*font: fixed' >> .Xresources </i> 502# <i>echo 'XTerm*font: fixed' >> .Xresources </i>
303# <i>xrdb -merge .Xresources</i> 503# <i>xrdb -merge .Xresources</i>
304</pre> 504</pre>
305 505
306</body> 506</body>
332</note> 532</note>
333 533
334</body> 534</body>
335</section> 535</section>
336<section> 536<section>
337<title>Language for OpenOffice</title> 537<title>OpenOffice.Org</title>
338<body> 538<body>
339 539
340<note>
341Customized default language is not available for openoffice-bin ebuild. The
342default language in the openoffice-bin is ENUS.
343</note>
344
345<p>
346The default language for OpenOffice is set as "ENUS"(01). If you wish to
347change the default language for OpenOffice, check the ebuild for the
348default language code.
349</p> 540<p>
350 541The current <c>app-office/openoffice</c> (or <c>-ximian</c>) source ebuilds
351<pre caption="emerge openoffice with desired default language"> 542support <uri link="#variables">LINGUAS variable</uri> for selecting installed
352# <i>LANGUAGE="01" emerge openoffice</i> 543GUI language packs. The current <e>stable</e>
353<comment>01 is the ENUS language code for openoffice</comment> 544<c>app-office/openoffice-bin</c> binary ebuilds do <e>not</e> yet
545support LINGUAS variable, however, so in order to use localised OpenOffice.Org
546you must either install the source version, or, with your discretion, the
547unstable binary version. To see status of GUI translation,
548hyphenation, spell checking and other localisations on your language, please
549refer to
550<uri link="http://l10n.openoffice.org/languages.html">OpenOffice.Org
551localisation web site</uri>.
354</pre> 552</p>
355 553
356</body> 554</body>
357</section> 555</section>
358</chapter> 556</chapter>
359 557

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.35

  ViewVC Help
Powered by ViewVC 1.1.20