| 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.29 2005/08/16 19:07:31 swift 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"> |
| … | |
… | |
| 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"> |
19 | <author title="Editor"> |
| 20 | <mail link="dertobi123@gentoo.org">Tobias Scherbaum</mail> |
20 | <mail link="dertobi123@gentoo.org">Tobias Scherbaum</mail> |
|
|
21 | </author> |
|
|
22 | <author title="Editor"> |
|
|
23 | <mail link="flammie@gentoo.org">Flammie Pirinen</mail> |
| 21 | </author> |
24 | </author> |
| 22 | |
25 | |
| 23 | <abstract> |
26 | <abstract> |
| 24 | This guide should help users localize their Gentoo Linux distribution to any |
27 | This guide should help users localize their Gentoo Linux distribution to any |
| 25 | European locale. It uses Germany as a case-study, since it is translated from |
28 | European locale. It uses Germany as a case-study, since it is translated from |
| 26 | the German doc. Includes configuration for use of the Euro currency symbol. |
29 | the 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.20</version> |
| 30 | <date>November 1, 2004</date> |
33 | <date>2005-08-16</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> |
| 38 | In order to keep time properly, <path>/etc/localtime</path> must point to |
41 | In order to keep time properly, <path>/etc/localtime</path> must point to |
| … | |
… | |
| 61 | </body> |
64 | </body> |
| 62 | </section> |
65 | </section> |
| 63 | </chapter> |
66 | </chapter> |
| 64 | |
67 | |
| 65 | <chapter> |
68 | <chapter> |
| 66 | <title>System Clock</title> |
69 | <title>Hardware Clock</title> |
| 67 | <section> |
70 | <section> |
| 68 | <body> |
71 | <body> |
| 69 | |
72 | |
| 70 | <p> |
73 | <p> |
| 71 | In most Gentoo Linux installations, your system clock is set to |
74 | In most Gentoo Linux installations, your hardware clock is set to |
| 72 | UTC (or GMT, Greenwhich Mean Time) and then your timezone is |
75 | UTC (or GMT, Greenwich Mean Time) and then your timezone is |
| 73 | taken into account to determine the actual, local time. If, |
76 | taken into account to determine the actual, local time. If, |
| 74 | for some reason, you need your system clock not to be in UTC, |
77 | for some reason, you need your hardware clock not to be in UTC, |
| 75 | you will need to edit <path>/etc/rc.conf</path> and change the |
78 | you will need to edit <path>/etc/conf.d/clock</path> and change the |
| 76 | value of <c>CLOCK</c>. |
79 | value of <c>CLOCK</c> from <c>UTC</c> to <c>local</c>. |
| 77 | </p> |
80 | </p> |
| 78 | |
81 | |
| 79 | <pre caption="local vs. GMT clock"> |
82 | <pre caption="local vs. GMT clock"> |
| 80 | <codenote>recommended:</codenote> |
83 | <comment>(recommended:)</comment> |
| 81 | CLOCK="UTC" |
84 | CLOCK="UTC" |
| 82 | <codenote>or:</codenote> |
85 | <comment>(or:)</comment> |
| 83 | CLOCK="local" |
86 | CLOCK="local" |
| 84 | </pre> |
87 | </pre> |
| 85 | |
88 | |
| 86 | </body> |
89 | </body> |
| 87 | </section> |
90 | </section> |
| 88 | </chapter> |
91 | </chapter> |
| 89 | |
92 | |
| 90 | <chapter> |
93 | <chapter> |
| 91 | <title>POSIX Locale</title> |
94 | <title>Locale system</title> |
|
|
95 | <section> |
|
|
96 | <title>What are locales?</title> |
|
|
97 | <body> |
|
|
98 | |
|
|
99 | <p> |
|
|
100 | A Locale is a set of information that most programs use for determining |
|
|
101 | country and language specific settings. The locales and their data |
|
|
102 | are part of the system library and can be found |
|
|
103 | at <path>/usr/share/locale</path> on most systems. A locale name is generally |
|
|
104 | named <c>ab_CD</c> where <c>ab</c> is your two (or three) letter |
|
|
105 | language code (as specified in ISO-639) and <c>CD</c> is your two letter country |
|
|
106 | code (as specified in ISO-3199). |
|
|
107 | </p> |
|
|
108 | |
|
|
109 | </body> |
| 92 | <section> |
110 | </section> |
| 93 | <title>Using Existing Locales</title> |
111 | <section> |
|
|
112 | <title>Environment variables for locales</title> |
| 94 | <body> |
113 | <body> |
| 95 | |
114 | |
| 96 | <p> |
|
|
| 97 | The next step is to set the <c>LANG</c> shell variable, which |
|
|
| 98 | is used by your shell and window manager (and some other |
|
|
| 99 | applications). 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 |
|
|
| 102 | and <c>CD</c> is your two letter country code. The <c>_CD</c> |
|
|
| 103 | is left off if your language is only (or primarily) spoken in |
|
|
| 104 | one country. <c>LANG</c> can be set in |
|
|
| 105 | <path>/etc/profile</path> if you want it to take effect |
|
|
| 106 | system-wide, or in <path>~/.bashrc</path> as a user-specific |
|
|
| 107 | setting. |
|
|
| 108 | </p> |
115 | <p> |
|
|
116 | Locale settings are stored in environment variables. These are typically |
|
|
117 | set in the <path>/etc/env.d/02locale</path> (for system-wide |
|
|
118 | settings) and <path>~/.bashrc</path> (for user-specific settings) file. |
|
|
119 | The variables controlling different aspects of locale settings |
|
|
120 | are given in the table below, those with highest precedence (ie. those |
|
|
121 | that override settings below them) are at the top of the table. All variables |
|
|
122 | take one name of a locale in <c>ab_CD</c> format given above. |
|
|
123 | </p> |
| 109 | |
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> |
|
|
189 | Even though most programs work with LC_ALL only, some of them misbehave if |
|
|
190 | LC_ALL is set but LANG isn't. If you want to play safe, set them <e>both</e>. |
|
|
191 | </note> |
|
|
192 | |
|
|
193 | <p> |
|
|
194 | Most typically users only set the LANG variable and perhaps LC_CTYPE variable |
|
|
195 | on user level by adding definitions to shells startup files defining |
|
|
196 | the environment variable manually from command line: |
|
|
197 | </p> |
|
|
198 | |
| 110 | <pre caption="setting the POSIX locale"> |
199 | <pre caption="setting the German locale"> |
| 111 | export LANG="de_DE@euro" |
200 | export LANG="de_DE@euro" |
| 112 | </pre> |
201 | </pre> |
| 113 | |
202 | |
| 114 | <note> |
203 | <note> |
| 115 | Appended <c>@euro</c> to your locale if you want to use the new Euro |
204 | Append <c>@euro</c> to your locale if you want to use the Euro |
| 116 | currency symbol (€) |
205 | currency symbol (€) |
| 117 | </note> |
206 | </note> |
|
|
207 | |
|
|
208 | <p> |
|
|
209 | For message based localization to work in programs that support it, you will |
|
|
210 | probably need to have programs compiled with the <c>nls</c> (Native language |
|
|
211 | support) USE flag set. Most of the programs using nls also need the gettext |
|
|
212 | library to extract and use localized messages. Of course, Gentoo's Portage will |
|
|
213 | automatically install it when needed. |
|
|
214 | </p> |
| 118 | |
215 | |
| 119 | </body> |
216 | </body> |
| 120 | </section> |
217 | </section> |
| 121 | <section> |
218 | <section> |
| 122 | <title>Generating Specific Locales</title> |
219 | <title>Generating Specific Locales</title> |
| … | |
… | |
| 147 | <body> |
244 | <body> |
| 148 | |
245 | |
| 149 | <p> |
246 | <p> |
| 150 | You will probably only use one or maybe two locales on your system. Up until now |
247 | You will probably only use one or maybe two locales on your system. Up until now |
| 151 | after compiling <c>glibc</c> a full set of all available locales has been |
248 | after compiling <c>glibc</c> a full set of all available locales has been |
| 152 | created. As of now you can activate the <c>userlocales</c> USE flag und specify |
249 | created. As of now you can activate the <c>userlocales</c> USE flag and specify |
| 153 | only the locales you will need in <path>/etc/locales.build</path>. |
250 | only the locales you will need in <path>/etc/locales.build</path>. |
| 154 | </p> |
251 | </p> |
| 155 | |
252 | |
| 156 | <pre caption="Activate the userlocales USE flag especially for glibc"> |
253 | <pre caption="Activate the userlocales USE flag especially for glibc"> |
| 157 | echo "sys-libs/glibc userlocales" >> /etc/portage/package.use |
254 | echo "sys-libs/glibc userlocales" >> /etc/portage/package.use |
| … | |
… | |
| 159 | |
256 | |
| 160 | <p> |
257 | <p> |
| 161 | Now specify the locales you want to be able to use: |
258 | Now specify the locales you want to be able to use: |
| 162 | </p> |
259 | </p> |
| 163 | |
260 | |
| 164 | <pre caption="nano -w /etc/locales.build"> |
261 | <pre caption="Adding locales to /etc/locales.build"> |
| 165 | en_US/ISO-8859-1 |
262 | en_US/ISO-8859-1 |
| 166 | en_US.UTF-8/UTF-8 |
263 | en_US.UTF-8/UTF-8 |
| 167 | de_DE/ISO-8859-1 |
264 | de_DE/ISO-8859-1 |
| 168 | de_DE@euro/ISO-8859-15 |
265 | de_DE@euro/ISO-8859-15 |
| 169 | </pre> |
266 | </pre> |
| … | |
… | |
| 182 | <section> |
279 | <section> |
| 183 | <body> |
280 | <body> |
| 184 | |
281 | |
| 185 | <p> |
282 | <p> |
| 186 | The keyboard layout used by the console is set in |
283 | The keyboard layout used by the console is set in |
| 187 | <path>/etc/rc.conf</path> by the <c>KEYMAP</c> variable. |
284 | <path>/etc/conf.d/keymaps</path> by the <c>KEYMAP</c> variable. |
| 188 | Valid values can be found in |
285 | Valid values can be found in |
| 189 | <path>/usr/share/keymaps/<c>{arch}</c>/</path>. |
286 | <path>/usr/share/keymaps/<c>{arch}</c>/</path>. |
| 190 | <path>i386</path> has further subdivisions into layout |
287 | <path>i386</path> has further subdivisions into layout |
| 191 | (<path>qwerty/</path>, <path>azerty/</path>, etc.). Some |
288 | (<path>qwerty/</path>, <path>azerty/</path>, etc.). Some |
| 192 | languages have multiple options, so you may wish to experiment |
289 | languages have multiple options, so you may wish to experiment |
| … | |
… | |
| 208 | <section> |
305 | <section> |
| 209 | <body> |
306 | <body> |
| 210 | |
307 | |
| 211 | <p> |
308 | <p> |
| 212 | The keyboard layout to be used by the X server is specified |
309 | The keyboard layout to be used by the X server is specified |
| 213 | in <path>/etc/X11/XF86Config</path> by the <c>XkbLayout</c> |
310 | in <path>/etc/X11/xorg.conf</path> by the <c>XkbLayout</c> |
| 214 | option. |
311 | option. |
| 215 | </p> |
312 | </p> |
| 216 | |
313 | |
| 217 | <pre caption="setting the X keymap"> |
314 | <pre caption="setting the X keymap"> |
| 218 | Section "InputDevice" |
315 | Section "InputDevice" |
| … | |
… | |
| 232 | <section> |
329 | <section> |
| 233 | <body> |
330 | <body> |
| 234 | |
331 | |
| 235 | <p> |
332 | <p> |
| 236 | For KDE you have to install the kde-i18n package with the appropriate |
333 | For KDE you have to install the kde-i18n package with the appropriate |
| 237 | LINGUAS environment variable set:</p> |
334 | LINGUAS variable set: |
|
|
335 | </p> |
| 238 | |
336 | |
| 239 | <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> |
|
|
340 | LINGUAS="de" |
|
|
341 | |
|
|
342 | <comment>(Now install kde-i18n)</comment> |
| 240 | # <i>LINGUAS="de" emerge kde-i18n</i> |
343 | # <i>emerge kde-i18n</i> |
| 241 | </pre> |
344 | </pre> |
| 242 | |
345 | |
| 243 | </body> |
346 | </body> |
| 244 | </section> |
347 | </section> |
| 245 | </chapter> |
348 | </chapter> |
| … | |
… | |
| 296 | rather than adding a new one. To change our xterm font, for |
399 | rather than adding a new one. To change our xterm font, for |
| 297 | instance: |
400 | instance: |
| 298 | </p> |
401 | </p> |
| 299 | |
402 | |
| 300 | <pre caption="setting fonts for xterm"> |
403 | <pre caption="setting fonts for xterm"> |
| 301 | <codenote>(in your home directory)</codenote> |
404 | <comment>(in your home directory)</comment> |
| 302 | # <i>echo 'XTerm*font: fixed' >> .Xresources </i> |
405 | # <i>echo 'XTerm*font: fixed' >> .Xresources </i> |
| 303 | # <i>xrdb -merge .Xresources</i> |
406 | # <i>xrdb -merge .Xresources</i> |
| 304 | </pre> |
407 | </pre> |
| 305 | |
408 | |
| 306 | </body> |
409 | </body> |
| … | |
… | |
| 332 | </note> |
435 | </note> |
| 333 | |
436 | |
| 334 | </body> |
437 | </body> |
| 335 | </section> |
438 | </section> |
| 336 | <section> |
439 | <section> |
| 337 | <title>Language for OpenOffice</title> |
440 | <title>Language for OpenOffice.org</title> |
| 338 | <body> |
441 | <body> |
| 339 | |
442 | |
| 340 | <note> |
443 | <note> |
| 341 | Customized default language is not available for openoffice-bin ebuild. The |
444 | Customized default language is not available for openoffice-bin ebuild. The |
| 342 | default language in the openoffice-bin is ENUS. |
445 | default language in the openoffice-bin is ENUS. |
| 343 | </note> |
446 | </note> |
| 344 | |
447 | |
| 345 | <p> |
448 | <p> |
|
|
449 | Please note that this package now uses the LINGUAS variable to |
|
|
450 | provide localization. The old LANGUAGE=ENUS|PORT system does <e>not</e> work |
| 346 | The default language for OpenOffice is set as "ENUS"(01). If you wish to |
451 | anymore. The default language for OpenOffice.org is set as "US English". If you |
| 347 | change the default language for OpenOffice, check the ebuild for the |
452 | wish to change the default language for OpenOffice.org, check the ebuild for the |
| 348 | default language code. |
453 | default language code. |
| 349 | </p> |
454 | </p> |
| 350 | |
455 | |
| 351 | <pre caption="emerge openoffice with desired default language"> |
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 and English language:)</comment> |
|
|
459 | LINGUAS="de en" |
|
|
460 | |
|
|
461 | <comment>(Now install openoffice)</comment> |
| 352 | # <i>LANGUAGE="01" emerge openoffice</i> |
462 | # <i>emerge openoffice</i> |
| 353 | <comment>01 is the ENUS language code for openoffice</comment> |
|
|
| 354 | </pre> |
463 | </pre> |
| 355 | |
464 | |
| 356 | </body> |
465 | </body> |
| 357 | </section> |
466 | </section> |
| 358 | </chapter> |
467 | </chapter> |