/[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.12 Revision 1.32
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.12 2004/02/12 22:25:42 dertobi123 Exp $ --> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/guide-localization.xml,v 1.32 2005/09/24 13:06:18 flammie 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">
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>
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>
18</author> 24</author>
19 25
20<abstract> 26<abstract>
21This guide should help users localize their Gentoo Linux distribution to any 27This guide should help users localize their Gentoo Linux distribution to any
22European 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
23the German doc. Includes configuration for use of the Euro currency symbol. 29the German doc. Includes configuration for use of the euro currency symbol.
24</abstract> 30</abstract>
25 31
26<version>1.9</version> 32<version>1.23</version>
27<date>February 12, 2004</date> 33<date>2005-09-24</date>
28 34
29<chapter> 35<chapter>
30<title>Timezone</title> 36<title>Time zone</title>
31<section> 37<section>
32<body> 38<body>
33 39
34<p> 40<p>
35In order to keep time properly, <path>/etc/localtime</path> must point to 41In order to keep time properly, <path>/etc/localtime</path> must point to the
36the correct time zone data file. Look around in 42correct time zone data file. Look around in <path>/usr/share/zoneinfo/</path>
37<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.
38</p> 46</p>
39 47
40<pre caption="setting the timezone"> 48<pre caption="setting the timezone">
41# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i> 49# <i>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</i>
42# <i>date</i> 50# <i>date</i>
47Make sure that the three-letter timezone indicator (in this case "CET") 55Make sure that the three-letter timezone indicator (in this case "CET")
48is correct for your area. 56is correct for your area.
49</note> 57</note>
50 58
51<note> 59<note>
52You can set the value of <i>TZ</i> to be everything after the 60You can set the value of <c>TZ</c> to be everything after the
53<path>/usr/share/zoneinfo</path> in your shell rc file 61<path>/usr/share/zoneinfo</path> in your shell rc file
54(<path>.bash_profile</path> for bash) for a user-level setting. In this case 62(<path>.bash_profile</path> for bash) for a user-level setting. In this case
55<i>TZ="Europe/Berlin"</i>. 63<c>TZ="Europe/Berlin"</c>.
56</note> 64</note>
57 65
58</body> 66</body>
59</section> 67</section>
60</chapter> 68</chapter>
61 69
62<chapter> 70<chapter>
63<title>System Clock</title> 71<title>Hardware Clock</title>
64<section> 72<section>
65<body> 73<body>
66 74
67<p> 75<p>
68In most Gentoo Linux installations, your system clock is set to 76In most Gentoo Linux installations, your hardware clock is set to
69UTC (or GMT, Greenwhich Mean Time) and then your timezone is 77UTC (or GMT, Greenwich Mean Time) and then your timezone is
70taken into account to determine the actual, local time. If, 78taken into account to determine the actual, local time. If,
71for 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,
72you 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
73value of <i>CLOCK</i>. 81value of <c>CLOCK</c> from <c>UTC</c> to <c>local</c>.
74</p> 82</p>
75 83
76<pre caption="local vs. GMT clock"> 84<pre caption="local vs. GMT clock">
77<codenote>recommended:</codenote> 85<comment>(recommended:)</comment>
78CLOCK="UTC" 86CLOCK="UTC"
79<codenote>or:</codenote> 87<comment>(or:)</comment>
80CLOCK="local" 88CLOCK="local"
81</pre> 89</pre>
82 90
83</body> 91</body>
84</section> 92</section>
85</chapter> 93</chapter>
86 94
87<chapter> 95<chapter>
88<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>
89<section> 112</section>
113<section id="variables">
114<title>Environment variables for locales</title>
90<body> 115<body>
91 116
92<p>
93The next step is to set the <i>LANG</i> shell variable, which
94is used by your shell and window manager (and some other
95applications). Valid values can be found in
96<path>/usr/share/locale</path> and generally take the form
97<i>ab_CD</i>, where <i>ab</i> is your two letter language code
98and <i>CD</i> is your two letter country code. The <i>_CD</i>
99is left off if your language is only (or primarily) spoken in
100one country. <i>LANG</i> can be set in
101<path>/etc/profile</path> if you want it to take effect
102system-wide, or in <path>~/.bashrc</path> as a user-specific
103setting.
104</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>
105 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
106<pre caption="setting the POSIX locale"> 201<pre caption="setting the German locale">
107export LANG="de_DE@euro" 202export LANG="de_DE@euro"
108</pre> 203</pre>
109 204
110<note> 205<note>
111Appended <i>@euro</i> 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
112currency symbol (&#8364;) 207currency symbol (&#8364;)
113</note> 208</note>
114 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>
219There is also additional localisation variable called LINGUAS, which affects
220to localisation files that get installed in gettext-based programs, and decides
221used localisation for some specific software packages, such as
222<c>kde-base/kde-i18n</c> and <c>app-office/openoffice</c>. The variable
223takes in <e>space</e>-separated list of language codes, and suggested
224place 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,
230for German, Finnish and English:)</comment>
231LINGUAS="de fi en"
232</pre>
233
234
235</body>
236</section>
237<section>
238<title>Generating Specific Locales</title>
239<body>
240
241<p>
242If 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>
251After having generated the locale, you can export the LANG variable as you see
252fit.
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>
266You will probably only use one or maybe two locales on your system. Up until now
267after compiling <c>glibc</c> a full set of all available locales has been
268created. As of now you can activate the <c>userlocales</c> USE flag and specify
269only 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">
273echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
274</pre>
275
276<p>
277Now specify the locales you want to be able to use:
278</p>
279
280<pre caption="Adding locales to /etc/locales.build">
281en_US/ISO-8859-1
282en_US.UTF-8/UTF-8
283de_DE/ISO-8859-1
284de_DE@euro/ISO-8859-15
285</pre>
286
287<p>
288The next step is to re-compile <c>glibc</c>. Of course you can defer this until
289the next <c>glibc</c> upgrade is available.
290</p>
291
115</body> 292</body>
116</section> 293</section>
117</chapter> 294</chapter>
118 295
119<chapter> 296<chapter>
121<section> 298<section>
122<body> 299<body>
123 300
124<p> 301<p>
125The keyboard layout used by the console is set in 302The keyboard layout used by the console is set in
126<path>/etc/rc.conf</path> by the <i>KEYMAP</i> variable. 303<path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable.
127Valid values can be found in 304Valid values can be found in
128<path>/usr/share/keymaps/<i>{arch}</i>/</path>. 305<path>/usr/share/keymaps/<c>{arch}</c>/</path>.
129<path>i386</path> has further subdivisions into layout 306<path>i386</path> has further subdivisions into layout
130(<path>qwerty/</path>, <path>azerty/</path>, etc.). Some 307(<path>qwerty/</path>, <path>azerty/</path>, etc.). Some
131languages have multiple options, so you may wish to experiment 308languages have multiple options, so you may wish to experiment
132to decide which one fits your needs best. 309to decide which one fits your needs best.
133</p> 310</p>
147<section> 324<section>
148<body> 325<body>
149 326
150<p> 327<p>
151The keyboard layout to be used by the X server is specified 328The keyboard layout to be used by the X server is specified
152in <path>/etc/X11/XF86Config</path> by the <i>XkbLayout</i> 329in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c>
153option. 330option.
154</p> 331</p>
155 332
156<pre caption="setting the X keymap"> 333<pre caption="setting the X keymap">
157 Section "InputDevice" 334 Section "InputDevice"
170<title>KDE</title> 347<title>KDE</title>
171<section> 348<section>
172<body> 349<body>
173 350
174<p> 351<p>
175For KDE you have to install the kde-i18n package with the appropriate 352For KDE you have to install the <c>kde-base/kde-i18n</c> package. Kde-i18n
176LINGUAS environment variable set:</p> 353respects <uri link="#variables">LINGUAS variable</uri> described earlier.
177
178<pre caption="Install localized KDE">
179# <i>LINGUAS="de" emerge kde-i18n</i>
180</pre> 354</p>
181 355
182</body> 356</body>
183</section> 357</section>
184</chapter> 358</chapter>
185 359
188<section> 362<section>
189<body> 363<body>
190 364
191<p> 365<p>
192In order to get your console to display the Euro symbol, you 366In order to get your console to display the Euro symbol, you
193will need to set <i>CONSOLEFONT</i> in 367will need to set <c>CONSOLEFONT</c> in
194<path>/etc/rc.conf</path> to a file found in 368<path>/etc/rc.conf</path> to a file found in
195<path>/usr/share/consolefonts/</path> (without the 369<path>/usr/share/consolefonts/</path> (without the
196<c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol. 370<c>.psfu.gz</c>). <c>lat9w-16</c> has the Euro symbol.
197</p> 371</p>
198 372
210<title>Most Applications</title> 384<title>Most Applications</title>
211<body> 385<body>
212 386
213<p> 387<p>
214Getting the Euro symbol to work properly in X is a little 388Getting the Euro symbol to work properly in X is a little
215bit tougher. The first thing you should do is change the <i> 389bit tougher. The first thing you should do is change the <c>fixed</c>
216fixed</i> and <i>variable</i> definitions in 390and <c>variable</c> definitions in
217<path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end 391<path>/usr/X11R6/lib/X11/fonts/misc/fonts.alias</path> to end
218in <i>iso8859-15</i> instead of <i>iso8859-1</i>. 392in <c>iso8859-15</c> instead of <c>iso8859-1</c>.
219</p> 393</p>
220 394
221<pre caption="setting default X fonts"> 395<pre caption="setting default X fonts">
222fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15 396fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
223variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15 397variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
235rather than adding a new one. To change our xterm font, for 409rather than adding a new one. To change our xterm font, for
236instance: 410instance:
237</p> 411</p>
238 412
239<pre caption="setting fonts for xterm"> 413<pre caption="setting fonts for xterm">
240<codenote>(in your home directory)</codenote> 414<comment>(in your home directory)</comment>
241# <i>echo 'XTerm*font: fixed' >> .Xresources </i> 415# <i>echo 'XTerm*font: fixed' >> .Xresources </i>
242# <i>xrdb -merge .Xresources</i> 416# <i>xrdb -merge .Xresources</i>
243</pre> 417</pre>
244 418
245</body> 419</body>
271</note> 445</note>
272 446
273</body> 447</body>
274</section> 448</section>
275<section> 449<section>
276<title>Language for OpenOffice</title> 450<title>OpenOffice.Org</title>
277<body> 451<body>
278 452
279<note>
280Customized default language is not available for openoffice-bin ebuild. The
281default language in the openoffice-bin is ENUS.
282</note>
283
284<p>
285The default language for OpenOffice is set as "ENUS"(01). If you wish to
286change the default language for OpenOffice, check the ebuild for the
287default language code.
288</p> 453<p>
289 454The current <c>app-office/openoffice</c> (or <c>-ximian</c>) source ebuilds
290<pre caption="emerge openoffice with desired default language"> 455support <uri link="#variables">LINGUAS variable</uri> for selecting installed
291# <i>LANGUAGE="01" emerge openoffice</i> 456GUI language packs. The current <e>stable</e>
292<comment>01 is the ENUS language code for openoffice</comment> 457<c>app-office/openoffice-bin</c> binary ebuilds do <e>not</e> yet
458support LINGUAS variable, however, so in order to use localised OpenOffice.Org
459you must either install the source version, or, with your discretion, the
460unstable binary version. To see status of GUI translation,
461hyphenation, spell checking and other localisations on your language, please
462refer to
463<uri link="http://l10n.openoffice.org/languages.html">OpenOffice.Org
464localisation web site</uri>.
293</pre> 465</p>
294 466
295</body> 467</body>
296</section> 468</section>
297</chapter> 469</chapter>
298 470

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.32

  ViewVC Help
Powered by ViewVC 1.1.20