1 |
r0bertz 08/04/06 15:59:49 |
2 |
|
3 |
Added: guide-localization.xml |
4 |
Log: |
5 |
[zh_cn] added guide-localization.xml |
6 |
|
7 |
Revision Changes Path |
8 |
1.1 xml/htdocs/doc/zh_cn/guide-localization.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/zh_cn/guide-localization.xml?rev=1.1&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/zh_cn/guide-localization.xml?rev=1.1&content-type=text/plain |
12 |
|
13 |
Index: guide-localization.xml |
14 |
=================================================================== |
15 |
<?xml version='1.0' encoding='utf-8'?> |
16 |
|
17 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
18 |
|
19 |
<!-- English CVS version: 1.48 --> |
20 |
|
21 |
<guide link="/doc/zh_cn/guide-localization.xml" lang="zh_cn"> |
22 |
<title>Gentoo Linux本地化指南</title> |
23 |
<author title="作者"> |
24 |
Alexander Holler |
25 |
</author> |
26 |
<author title="译者/编辑"> |
27 |
<mail link="slucy@××××××××.edu">Steven Lucy</mail> |
28 |
</author> |
29 |
<author title="编辑"> |
30 |
<mail link="bennyc@g.o">Benny Chuang</mail> |
31 |
</author> |
32 |
<author title="编辑"> |
33 |
<mail link="pylon@g.o">Lars Weiler</mail> |
34 |
</author> |
35 |
<author title="编辑"> |
36 |
<mail link="dertobi123@g.o">Tobias Scherbaum</mail> |
37 |
</author> |
38 |
<author title="编辑"> |
39 |
<mail link="flammie@g.o">Flammie Pirinen</mail> |
40 |
</author> |
41 |
<author title="译者"> |
42 |
<mail link="tysnoo@×××××.com">叶宝泰</mail> |
43 |
</author> |
44 |
|
45 |
<abstract> |
46 |
本指南帮助用户将他们的Gentoo Linux发行版本地化为任何欧洲的locale。本文是由德语文档翻译而来的,因此它以德国作为案例分析。其中包含欧元货币符号的使用配置。 |
47 |
</abstract> |
48 |
|
49 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
50 |
<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
51 |
<license/> |
52 |
|
53 |
<version>1.36</version> |
54 |
<date>2007-10-04</date> |
55 |
|
56 |
<chapter> |
57 |
<title>时区</title> |
58 |
<section> |
59 |
<body> |
60 |
|
61 |
<p> |
62 |
你需要选择时区让系统知道你的地理位置,以保持正确的时间。在<path>/usr/share/zoneinfo</path>中查找你的时区。然后在<path>/etc/conf.d/clock</path>中设置时区。请忽略<path>/usr/share/zoneinfo/Etc/GMT*</path>时区,因为它们的名字并不表示所指的地区。比如,<path>GMT-8</path>实际上是GMT+8。 |
63 |
</p> |
64 |
|
65 |
<pre caption="设置时区信息"> |
66 |
# <i>ls /usr/share/zoneinfo</i> |
67 |
<comment>(假设你要使用布鲁塞尔)</comment> |
68 |
# <i>nano -w /etc/conf.d/clock</i> |
69 |
TIMEZONE="Europe/Brussels" |
70 |
|
71 |
# <i>date</i> |
72 |
Wed Mar 8 00:46:05 CET 2006 |
73 |
</pre> |
74 |
|
75 |
<note> |
76 |
确保代表时区的英文缩写(本案例中为"CET")正是你的地区。 |
77 |
</note> |
78 |
|
79 |
<note> |
80 |
你可以做一个用户级的设置,在shell的rc文件(如bash的<path>.bash_profile</path>)中将<c>TZ</c>变量的值设为<path>/usr/share/zoneinfo</path>下的任何东西。本案例中<c>TZ="Europe/Berlin"</c>。 |
81 |
</note> |
82 |
|
83 |
</body> |
84 |
</section> |
85 |
</chapter> |
86 |
|
87 |
<chapter> |
88 |
<title>硬件时钟</title> |
89 |
<section> |
90 |
<body> |
91 |
|
92 |
<p> |
93 |
Gentoo Linux安装过程中,大多数情况下硬件时钟都是被设成UTC(或GMT,格林威治标准时间),而时区则定为实际的本地时间。如果出于某种原因,你需要将硬件时钟设为非UTC,那么你就要编辑<path>/etc/conf.d/clock</path>,将CLOCK的值由<c>UTC</c>改为<c>local</c>。 |
94 |
</p> |
95 |
|
96 |
<pre caption="本地时钟vs.格林威治时钟"> |
97 |
<comment>(推荐:)</comment> |
98 |
CLOCK="UTC" |
99 |
<comment>(或者:)</comment> |
100 |
CLOCK="local" |
101 |
</pre> |
102 |
|
103 |
</body> |
104 |
</section> |
105 |
</chapter> |
106 |
|
107 |
<chapter> |
108 |
<title>Locale系统</title> |
109 |
<section> |
110 |
<title>locale是什么?</title> |
111 |
<body> |
112 |
|
113 |
<p> |
114 |
一份Locale是一组信息的集合,大多数程序利用它来确定特定的国家和语言设置。这些locale以及它们包含的数据是系统库的一部分,可以在大多数系统中的<path>/usr/share/locale</path>目录下找到。locale的名称通常命名为<c>ab_CD</c>的形式,其中<c>ab</c>是两个(或三个)字母的语言代号(在ISO-639中指定),<c>CD</c>是两个字母的国家代号(在ISO-3166中指定)。一些变量常常附加在locale名称的后面,例如<c>en_GB.utf8</c>或<c>de_DE@euro</c>。更多关于locale及相关的文章请考察<uri link="http://en.wikipedia.org/wiki/Locale">维基百科</uri>。 |
115 |
</p> |
116 |
|
117 |
</body> |
118 |
</section> |
119 |
<section id="variables"> |
120 |
<title>locale环境变量</title> |
121 |
<body> |
122 |
|
123 |
<p> |
124 |
Locale的设置保存在环境变量中。典型情况下设置在<path>/etc/env.d/02locale</path>(系统全局设置)和<path>~/.bashrc</path>(特定用户设置)文件中。这些变量分别决定locale各方面的设置,下面的表格给出了具体说明,优先级高的变量排在表格的上面(即上面的变量会覆盖处在它们下面的变量设置)。所有变量都会取一个前述<c>ab_CD</c>格式的locale名称作为值。 |
125 |
</p> |
126 |
|
127 |
<table> |
128 |
<tr> |
129 |
<th>变量名</th> |
130 |
<th>说明</th> |
131 |
</tr> |
132 |
<tr> |
133 |
<ti>LC_ALL</ti> |
134 |
<ti> |
135 |
一次性定义全部locale设置。这是最高优先级的locale设置,将覆盖所有其它设置。 |
136 |
</ti> |
137 |
</tr> |
138 |
<tr> |
139 |
<ti>LC_COLLATE</ti> |
140 |
<ti> |
141 |
定义按字母排序字符串。例如这会影响目录列表的分类显示。 |
142 |
</ti> |
143 |
</tr> |
144 |
<tr> |
145 |
<ti>LC_CTYPE</ti> |
146 |
<ti> |
147 |
定义系统的字符处理性能。这决定哪些字符能被视为字母、数字,等等。这个变量如果生效还决定所使用的字符集。 |
148 |
</ti> |
149 |
</tr> |
150 |
<tr> |
151 |
<ti>LC_MESSAGES</ti> |
152 |
<ti> |
153 |
用于一些使用基于消息机制的本地化方式进行本地化的应用程序(详细资料请参阅接下去的章节,包括使用这样配置的多数Gnu程序,以及如何让不使用这样配置的程序运行)。 |
154 |
</ti> |
155 |
</tr> |
156 |
<tr> |
157 |
<ti>LC_MONETARY</ti> |
158 |
<ti>定义货币单位和货币型数值的格式。</ti> |
159 |
</tr> |
160 |
<tr> |
161 |
<ti>LC_NUMERIC</ti> |
162 |
<ti> |
163 |
定义非货币型数值的格式。影响到千位分隔符和小数分隔符等。 |
164 |
</ti> |
165 |
</tr> |
166 |
<tr> |
167 |
<ti>LC_TIME</ti> |
168 |
<ti>定义日期和时间的格式。</ti> |
169 |
</tr> |
170 |
<tr> |
171 |
<ti>LC_PAPER</ti> |
172 |
<ti>定义默认的纸张尺寸。</ti> |
173 |
</tr> |
174 |
<tr> |
175 |
<ti>LANG</ti> |
176 |
<ti> |
177 |
一次性定义全部locale设置。此设置能被单个LC_*或者甚至LC_ALL的设置覆盖。 |
178 |
</ti> |
179 |
</tr> |
180 |
</table> |
181 |
|
182 |
<note> |
183 |
尽管大多数程序只根据LC_ALL来运行,不过如果设置了LC_ALL而没有设置LANG,有些程序还是会不遵守规矩。如果想玩得安全一点,将它们<e>两个一起</e>设置。 |
184 |
</note> |
185 |
|
186 |
<p> |
187 |
最典型的情况是用户只在用户级设置LANG变量,可能还有LC_CTYPE,通过添加定义到shell启动文件中,手动从命令行定义环境变量。 |
188 |
</p> |
189 |
|
190 |
<pre caption="在~/.bashrc中设置用户的locale"> |
191 |
export LANG="de_DE@euro" |
192 |
</pre> |
193 |
|
194 |
<note> |
195 |
如果要使用欧元货币符号(€),将<c>@euro</c>附加到你的locale后面 |
196 |
</note> |
197 |
|
198 |
<p> |
199 |
也可能为所有用户和程序设置一个系统全局locale: |
200 |
</p> |
201 |
|
202 |
<pre caption="在/etc/env.d/02locale中设置默认的系统locale"> |
203 |
LC_ALL="de_DE@euro" |
204 |
LANG="de_DE@euro" |
205 |
</pre> |
206 |
|
207 |
<p> |
208 |
通常的做法是只使用每个用户的locale设置,而不设置默认的系统locale。这种情况下系统locale默认为一个特定值<c>"C"</c>,由于历史原因这个值映射为英语locale。 |
209 |
</p> |
210 |
|
211 |
<p> |
212 |
为了让支持基于消息机制的本地化的程序运行,你可能需要设定<c>nls</c>(本地语言支持)USE标记来编译程序。 |
213 |
</p> |
214 |
|
215 |
<p> |
216 |
设置好正确的locale后,一定要更新环境变量使系统知道所做的更改: |
217 |
</p> |
218 |
|
219 |
<pre caption="更新环境"> |
220 |
<comment>(更新系统全局默认的locale:)</comment> |
221 |
# <i>env-update && source /etc/profile</i> |
222 |
|
223 |
<comment>(更新特定用户的locale:)</comment> |
224 |
$ <i>source ~/.bashrc</i> |
225 |
</pre> |
226 |
|
227 |
<p> |
228 |
更新环境后,你需要按下<c>Ctrl-Alt-Backspace</c>杀死X服务器,登出,然后以用户身份登入。 |
229 |
</p> |
230 |
|
231 |
<p> |
232 |
现在,检验一下所做的更改是否已经生效了: |
233 |
</p> |
234 |
|
235 |
<pre caption="检验环境更改"> |
236 |
$ <i>env | grep -i LC_</i> |
237 |
</pre> |
238 |
|
239 |
<p> |
240 |
另外还有一个本地化变量叫做LINGUAS。它影响到安装在基于gettext的程序中的本地化文件。它还决定某些特殊软件包用到的本地化,比如<c>kde-base/kde-i18n</c>和<c>app-office/openoffice</c>。这个变量的值为一组以空格隔开的语言代号序列,建议将其设置在<path>/etc/make.conf</path>中: |
241 |
</p> |
242 |
|
243 |
<pre caption="在make.conf中设置LINGUAS"> |
244 |
# <i>nano -w /etc/make.conf</i> |
245 |
<comment>加入LINGUAS变量中。例如,德语、芬兰语和英语:)</comment> |
246 |
LINGUAS="de fi en" |
247 |
</pre> |
248 |
|
249 |
|
250 |
</body> |
251 |
</section> |
252 |
<section> |
253 |
<title>生成指定的Locale</title> |
254 |
<body> |
255 |
|
256 |
<p> |
257 |
如果你用一个默认不可用的locale,则应当使用<c>localedef</c>来生成你的locale。比如: |
258 |
</p> |
259 |
|
260 |
<pre caption="使用localedef生成一个locale"> |
261 |
# <i>localedef -c -i en_US -f ISO-8859-15 en_US.ISO-8859-15</i> |
262 |
</pre> |
263 |
|
264 |
<p> |
265 |
生成locale之后,你可以export一个合适的LANG变量。 |
266 |
</p> |
267 |
|
268 |
<pre caption="Export LANG变量"> |
269 |
# <i>export LANG="en_US.ISO-8859-15"</i> |
270 |
</pre> |
271 |
|
272 |
<p> |
273 |
做了改动之后一定要更新环境: |
274 |
</p> |
275 |
|
276 |
<pre caption="更新环境"> |
277 |
# <i>env-update && source /etc/profile</i> |
278 |
</pre> |
279 |
|
280 |
<p> |
281 |
更新环境后,你需要按下<c>Ctrl-Alt-Backspace</c>杀死X服务器,登出,然后以用户身份登入。 |
282 |
</p> |
283 |
|
284 |
</body> |
285 |
</section> |
286 |
<section> |
287 |
<title>为glibc生成locale</title> |
288 |
<body> |
289 |
|
290 |
<p> |
291 |
可能你在系统中只要用到一个或者两个locale。你可以在<path>/etc/locale.gen</path>中指定所需的的locale。 |
292 |
</p> |
293 |
|
294 |
<pre caption="添加locale到/etc/locale.gen"> |
295 |
en_GB ISO-8859-1 |
296 |
en_GB.UTF-8 UTF-8 |
297 |
de_DE ISO-8859-1 |
298 |
de_DE@euro ISO-8859-15 |
299 |
</pre> |
300 |
|
301 |
<p> |
302 |
下一步是执行<c>locale-gen</c>。它会生成<path>/etc/locale.gen</path>文件中指定的所有locale。 |
303 |
</p> |
304 |
|
305 |
<note> |
306 |
<c>locale-gen</c>在<c>glibc-2.3.6-r4</c>及更新版本中可用。如果你的glibc版本较旧,那么现在就应该更新了。 |
307 |
</note> |
308 |
|
309 |
<p> |
310 |
你可以通过执行<c>locale -a</c>来检验所选的locale是否可用。 |
311 |
</p> |
312 |
|
313 |
</body> |
314 |
</section> |
315 |
</chapter> |
316 |
|
317 |
<chapter> |
318 |
<title>控制台下的键盘布局</title> |
319 |
<section> |
320 |
<body> |
321 |
|
322 |
<p> |
323 |
控制台下使用的键盘布局通过<path>/etc/conf.d/keymaps</path>中的<c>KEYMAP</c>变量来设定。其有效值可以在<path>/usr/share/keymaps/<c>{arch}</c>/</path>下找到。<path>i386</path>下进一步细分了布局(如<path>qwerty/</path>、<path>azerty/</path>等)。有些语言有多个选择项,你可能要试验后再决定哪个最适合自己的需求。 |
324 |
</p> |
325 |
|
326 |
<pre caption="设置控制台的键盘映射"> |
327 |
KEYMAP="de" |
328 |
KEYMAP="de-latin1" |
329 |
KEYMAP="de-latin1-nodeadkeys" |
330 |
</pre> |
331 |
|
332 |
</body> |
333 |
</section> |
334 |
</chapter> |
335 |
|
336 |
<chapter> |
337 |
<title>X服务器下的键盘布局</title> |
338 |
<section> |
339 |
<body> |
340 |
|
341 |
<p> |
342 |
X服务器下使用的键盘布局通过<path>/etc/X11/xorg.conf</path>中的<c>XkbLayout</c>选项来指定。 |
343 |
</p> |
344 |
|
345 |
<pre caption="设置X的键盘映射"> |
346 |
Section "InputDevice" |
347 |
Identifier "Keyboard1" |
348 |
... |
349 |
Option "XkbLayout" "de" |
350 |
#Option "XkbModel" "pc105" <comment>## 这适用于国际键盘。</comment> |
351 |
# Option "XkbVariant" "nodeadkeys" <comment>## 这将被用于xterm的输入</comment> |
352 |
... |
353 |
</pre> |
354 |
|
355 |
<p> |
356 |
如果你有一个国际键盘布局,则必须将<c>XkbModel</c>选项设置为<c>pc102</c>或<c>pc105</c>,这样才可以映射你键盘上附加的特殊按键。 |
357 |
</p> |
358 |
|
359 |
<p> |
360 |
Deadkey允许你按下某些键不马上显示,而是与另一个字母组合得到一个单一的字符如é、è、á、à……等等。将<c>XkbVariant</c>设置为<c>nodeadkeys</c>允许在X终端中输入这些特殊字符。 |
361 |
</p> |
362 |
|
363 |
<p> |
364 |
如果你想在多个键盘布局之间切换(例如英语和俄语),须要做的全部事情就是在<path>xorg.conf</path>中添加几行内容,指定想要的布局及快捷键命令。 |
365 |
</p> |
366 |
|
367 |
<pre caption="在两个键盘布局之间切换"> |
368 |
Section "InputDevice" |
369 |
Identifier "Keyboard1" |
370 |
... |
371 |
Option "XkbLayout" "us,ru" |
372 |
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll" |
373 |
</pre> |
374 |
|
375 |
<p> |
376 |
这里,<c>XkbOptions</c>允许你通过简单地按下<c>Alt-Shift</c>来在各个键盘布局之间转换。得益于<c>grp_led:scroll</c>选项,也可以通过控制Scroll Lock灯亮或灯灭来转换。这是个得心应手的视觉指示器,指出此时你正在使用的键盘布局。 |
377 |
</p> |
378 |
|
379 |
</body> |
380 |
</section> |
381 |
</chapter> |
382 |
|
383 |
<chapter> |
384 |
<title>KDE</title> |
385 |
<section> |
386 |
<body> |
387 |
|
388 |
<p> |
389 |
对于KDE你必须安装<c>kde-base/kde-i18n</c>软件包。Kde-i18n与前面描述的<uri link="#variables">LINGUAS变量</uri>有关。 |
390 |
</p> |
391 |
|
392 |
</body> |
393 |
</section> |
394 |
</chapter> |
395 |
|
396 |
<chapter> |
397 |
<title>控制台下的欧元符号</title> |
398 |
<section> |
399 |
<body> |
400 |
|
401 |
<p> |
402 |
为了让控制台显示欧元符号,你需要将<path>/etc/conf.d/consolefont</path>中的<c>CONSOLEFONT</c>设置为<path>/usr/share/consolefonts/</path>下的一个文件(不含<c>.psfu.gz</c>)。<c>lat9w-16</c>有欧元符号。 |
403 |
</p> |
404 |
|
405 |
<pre caption="设置控制台字体"> |
406 |
CONSOLEFONT="lat9w-16" |
407 |
</pre> |
408 |
|
409 |
<p> |
410 |
应检验一下<c>CONSOLEFONT</c>是否在boot启动级别: |
411 |
</p> |
412 |
|
413 |
<pre caption="检验启动级别是否正确"> |
414 |
# <i>rc-update -v show | grep -i consolefont</i> |
415 |
</pre> |
416 |
|
417 |
<p> |
418 |
如果显示结果没有关于<c>CONSOLEFONT</c>的启动级别,就要把它添加到正确的级别: |
419 |
</p> |
420 |
|
421 |
<pre caption="添加consolefont到boot"> |
422 |
# <i>rc-update add consolefont boot</i> |
423 |
</pre> |
424 |
|
425 |
</body> |
426 |
</section> |
427 |
</chapter> |
428 |
|
429 |
<chapter> |
430 |
<title>X中的欧元符号</title> |
431 |
<section> |
432 |
<title>绝大部分应用程序</title> |
433 |
<body> |
434 |
|
435 |
<p> |
436 |
要让欧元符号在X中正确地工作有点麻烦。首先要做的事是修改<path>/usr/share/fonts/misc/fonts.alias</path>中<c>fixed</c>和<c>variable</c>的定义,将末尾的<c>iso8859-1</c>替换为<c>iso8859-15</c>。 |
437 |
</p> |
438 |
|
439 |
<pre caption="设置默认的X字体"> |
440 |
fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15 |
441 |
variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15 |
442 |
</pre> |
443 |
|
444 |
<p> |
445 |
有些应用程序使用它们自己的字体,你必须分别告诉它们使用一个含欧元符号的字体。你可以在<path>.Xdefaults</path>中做特定用户级别的设置(可以将这个文件复制到<path>/etc/skel/</path>下给新用户使用),也可以在<path>/usr/share/X11/app-defaults/</path>下的一个资源文件中为任何应用程序做全局级别的设置(如xterm)。一般在这些文件中你只要修改现有的一行内容,而不需要添加新的一行。举个例子,更改我们的xterm的字体: |
446 |
</p> |
447 |
|
448 |
<pre caption="为xterm设定字体"> |
449 |
<comment>(在你的主目录下)</comment> |
450 |
$ <i>echo 'XTerm*font: fixed' >> .Xresources </i> |
451 |
$ <i>xrdb -merge .Xresources</i> |
452 |
</pre> |
453 |
|
454 |
</body> |
455 |
</section> |
456 |
<section> |
457 |
<title>(X)Emacs中的欧元符号</title> |
458 |
<body> |
459 |
|
460 |
<p> |
461 |
要在(X)Emacs中使用欧元符号,将下面的内容加入<path>.Xdefaults</path>: |
462 |
</p> |
463 |
|
464 |
<pre caption="为emacs设定字体"> |
465 |
Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15 |
466 |
</pre> |
467 |
|
468 |
<p> |
469 |
对于XEmacs(非纯Emacs),必须多做点事。在<path>/home/user/.xemacs/init.el</path>中加入: |
470 |
</p> |
471 |
|
472 |
<pre caption="为xemacs设定字体"> |
473 |
(define-key global-map '(EuroSign) '[€]) |
474 |
</pre> |
475 |
|
476 |
<note> |
477 |
[]中的符号为欧元符号。 |
478 |
</note> |
479 |
|
480 |
</body> |
481 |
</section> |
482 |
<section> |
483 |
<title>OpenOffice.Org</title> |
484 |
<body> |
485 |
|
486 |
<p> |
487 |
当前稳定版的<c>app-office/openoffice</c>和<c>app-office/openoffice-bin</c>的ebuild支持<uri link="#variables">LINGUAS变量</uri>,用以选择已安装的GUI语言包。要了解关于你的语言的GUI翻译、排版、拼写校验以及其它本地化的情况,请参考<uri link="http://l10n.openoffice.org/languages.html">OpenOffice.Org本地化网站</uri>。 |
488 |
</p> |
489 |
|
490 |
</body> |
491 |
</section> |
492 |
</chapter> |
493 |
|
494 |
</guide> |
495 |
|
496 |
|
497 |
|
498 |
-- |
499 |
gentoo-commits@l.g.o mailing list |