LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1216|回复: 9

testing中glibc的locale的重要更改 [Important glibc locale change in testing]

[复制链接]
发表于 2006-3-1 08:10:32 | 显示全部楼层 |阅读模式
Starting with glibc 2.3.6-1, locales will no longer be included as a pre-generated locale archive. This means that on a default glibc installation, the only locale available is the "C" locale.
从glibc 2.3.6-1开始,locales就不再以一个预先生成的locale包的形式存在了。这就是说,默认的glibc安装将只包含"C"。

Instead of shipping a 50MB locale archive, glibc switches to locale-gen, a script that generates locales found in /etc/locale.def.
glibc开始转而使用locale-gen,一个按照/etc/locale.gen生成locales的脚本。而不再是一个50M的locale包。

After upgrading to glibc 2.3.6-1, users should enter wanted locales in /etc/locale.def and run the locale-gen script afterwards.
升级到glibc2.3.6-1以后,用户应该在/etc/locale.gen中输入想要的locale,然后运行locale-gen脚本。

By default /etc/locale.def is an empty file with commented documentation. Once edited, the file won't get touched again and locale-gen runs on every glibc upgrade, installing all the locales specified in /etc/locale.def.
默认情况下/etc/locale.gen是一个包含注释的空文件。一旦编辑以后,它将不再被做任何修改,每次glibc升级时都会执行locale-gen来安装所有/etc/locale.gen中指定的locale。

The /etc/locale.def is not completely clear about which locale to specify. If you use a locale like en_US.UTF8, you should put it in locale.def as following:

en_US.UTF8 UTF8

locale-gen will strip the .UTF8 part when assembling the locale data, but will put it in the archive as en_US.UTF8.


/etc/locale.gen并不知道你到底想要指定什么locale。如果你使用en_US.UTF-8的locale,你应该在locale.gen中加入下面的一行:

en_US.UTF-8 UTF-8

当生成locale数据的时候,locale-gen会截取.UTF-8这个部分,但会将它以en_US.UTF-8放入locale包中。


----
arch首页上的新闻竟然有typo…………修改了。
发表于 2006-3-1 09:07:29 | 显示全部楼层
locale-gen的生成速度比debian中快多了,这个配置和gentoo中的非常像,怀疑又是从gentoo学来的,哈哈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-1 10:33:30 | 显示全部楼层
总之,arch仍然在不断完善。

希望完善到最后不要增加复杂性就好。加入这个特性以后,最好在安装脚本里也加入修改local.def文件的选项。
回复 支持 反对

使用道具 举报

发表于 2006-3-1 14:20:37 | 显示全部楼层
help about the new glibc
i've did exactly as the manual showed above
this is my /etc/locale.gen

  1. en_US.UTF8 UTF8
  2. zh_CN.UTF8 UTF8
  3. zh_CN.GB2312 GB2312
  4. zh_CN.GB18030 GB18030
  5. zh_CN.GBK GBK
复制代码


and i always got these errors when i am generating locales

  1. Generating locales...
  2. zh_CN.UTF8.../usr/share/i18n/locales/zh_CN:68: LC_MONETARY: unknown character in field `currency_symbol'
  3. /usr/share/i18n/locales/zh_CN:97: LC_TIME: unknown character in field `abday'
  4. /usr/share/i18n/locales/zh_CN:97: LC_TIME: unknown character in field `abday'
  5. /usr/share/i18n/locales/zh_CN:97: LC_TIME: unknown character in field `abday'
  6. /usr/share/i18n/locales/zh_CN:97: LC_TIME: unknown character in field `abday'
  7. /usr/share/i18n/locales/zh_CN:97: LC_TIME: unknown character in field `abday'
  8. /usr/share/i18n/locales/zh_CN:97: LC_TIME: unknown character in field `abday'
  9. /usr/share/i18n/locales/zh_CN:97: LC_TIME: unknown character in field `abday'
  10. /usr/share/i18n/locales/zh_CN:99: LC_TIME: unknown character in field `day'
  11. /usr/share/i18n/locales/zh_CN:100: LC_TIME: unknown character in field `day'
  12. /usr/share/i18n/locales/zh_CN:101: LC_TIME: unknown character in field `day'
  13. /usr/share/i18n/locales/zh_CN:102: LC_TIME: unknown character in field `day'
  14. /usr/share/i18n/locales/zh_CN:103: LC_TIME: unknown character in field `day'
  15. /usr/share/i18n/locales/zh_CN:104: LC_TIME: unknown character in field `day'
  16. /usr/share/i18n/locales/zh_CN:105: LC_TIME: unknown character in field `day'
  17. /usr/share/i18n/locales/zh_CN:107: LC_TIME: unknown character in field `abmon'
  18. /usr/share/i18n/locales/zh_CN:107: LC_TIME: unknown character in field `abmon'
  19. /usr/share/i18n/locales/zh_CN:108: LC_TIME: unknown character in field `abmon'
  20. /usr/share/i18n/locales/zh_CN:108: LC_TIME: unknown character in field `abmon'
  21. /usr/share/i18n/locales/zh_CN:109: LC_TIME: unknown character in field `abmon'
  22. /usr/share/i18n/locales/zh_CN:109: LC_TIME: unknown character in field `abmon'
  23. /usr/share/i18n/locales/zh_CN:110: LC_TIME: unknown character in field `abmon'
  24. /usr/share/i18n/locales/zh_CN:110: LC_TIME: unknown character in field `abmon'
  25. /usr/share/i18n/locales/zh_CN:111: LC_TIME: unknown character in field `abmon'
  26. /usr/share/i18n/locales/zh_CN:111: LC_TIME: unknown character in field `abmon'
  27. /usr/share/i18n/locales/zh_CN:112: LC_TIME: unknown character in field `abmon'
  28. /usr/share/i18n/locales/zh_CN:112: LC_TIME: unknown character in field `abmon'
  29. /usr/share/i18n/locales/zh_CN:114: LC_TIME: unknown character in field `mon'
  30. /usr/share/i18n/locales/zh_CN:114: LC_TIME: unknown character in field `mon'
  31. /usr/share/i18n/locales/zh_CN:114: LC_TIME: unknown character in field `mon'
  32. /usr/share/i18n/locales/zh_CN:115: LC_TIME: unknown character in field `mon'
  33. /usr/share/i18n/locales/zh_CN:115: LC_TIME: unknown character in field `mon'
  34. /usr/share/i18n/locales/zh_CN:115: LC_TIME: unknown character in field `mon'
  35. /usr/share/i18n/locales/zh_CN:116: LC_TIME: unknown character in field `mon'
  36. /usr/share/i18n/locales/zh_CN:116: LC_TIME: unknown character in field `mon'
  37. /usr/share/i18n/locales/zh_CN:116: LC_TIME: unknown character in field `mon'
  38. /usr/share/i18n/locales/zh_CN:117: LC_TIME: unknown character in field `mon'
  39. /usr/share/i18n/locales/zh_CN:117: LC_TIME: unknown character in field `mon'
  40. /usr/share/i18n/locales/zh_CN:117: LC_TIME: unknown character in field `mon'
  41. /usr/share/i18n/locales/zh_CN:121: LC_TIME: unknown character in field `d_t_fmt'
  42. /usr/share/i18n/locales/zh_CN:123: LC_TIME: unknown character in field `d_fmt'
  43. /usr/share/i18n/locales/zh_CN:125: LC_TIME: unknown character in field `t_fmt'
  44. /usr/share/i18n/locales/zh_CN:127: LC_TIME: unknown character in field `am_pm'
  45. /usr/share/i18n/locales/zh_CN:127: LC_TIME: unknown character in field `am_pm'
  46. /usr/share/i18n/locales/zh_CN:129: LC_TIME: unknown character in field `t_fmt_ampm'
  47. /usr/share/i18n/locales/zh_CN:141: LC_MESSAGES: unknown character in field `yesexpr'
  48. /usr/share/i18n/locales/zh_CN:142: LC_MESSAGES: unknown character in field `noexpr'
  49. /usr/share/i18n/locales/zh_CN:161: LC_NAME: unknown character in field `name_miss'
  50. /usr/share/i18n/locales/zh_CN:162: LC_NAME: unknown character in field `name_mr'
  51. /usr/share/i18n/locales/zh_CN:163: LC_NAME: unknown character in field `name_mrs'
  52. /usr/share/i18n/locales/zh_CN:164: LC_NAME: unknown character in field `name_ms'
  53. /usr/share/i18n/locales/zh_CN:173: LC_ADDRESS: unknown character in field `country_name'
  54. /usr/share/i18n/locales/zh_CN:180: LC_ADDRESS: unknown character in field `lang_name'
  55. LC_MESSAGES: value for field `yesexpr' must not be an empty string
  56. LC_MESSAGES: value for field `noexpr' must not be an empty string
  57. [fallen@localhost ~]$
复制代码


any ideas bro?..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-1 17:49:07 | 显示全部楼层
邮件列表里有类似讨论。遇到类似(几乎完全一样)问题的是一个使用ja_JP.UTF8 locale的人。应该是glibc包的问题,过段时间再升级吧。

testing尽量不用…………
回复 支持 反对

使用道具 举报

发表于 2006-3-3 17:41:07 | 显示全部楼层
升级完testing中的glibc,无法用fcitx输入汉字了。能打出汉字来,但是上不去。pacman -S current/glibc 后也不行。怎么解决?
回复 支持 反对

使用道具 举报

发表于 2006-3-3 19:26:06 | 显示全部楼层
感觉 arch 的更新有点太块了........

每次重要更新 我这里总要出点乱子.............

早就不敢用testing了......
回复 支持 反对

使用道具 举报

发表于 2006-3-3 21:42:55 | 显示全部楼层
刚才重新升级,pacman -Syu,一切搞定了。locale 用zh_CN.UTF8 UTF8
回复 支持 反对

使用道具 举报

发表于 2006-3-5 16:31:42 | 显示全部楼层
一切顺利。注意看说明就是

上面的朋友说出的错,不是bug,而是charset应该使用UTF-8,而不是UTF8
看/usr/share/i18n/charmaps

en_US.UTF8 UTF-8
zh_CN.UTF8 UTF-8
zh_CN GB18030
zh_CN GB2312
回复 支持 反对

使用道具 举报

发表于 2006-3-5 17:40:12 | 显示全部楼层
我中弹了,testing果然危险

输入法只在gtk程序中正常,其他情况下能出字,但是输入条不见了,不能选字

感觉应该和locale,也就是glibc有关

==========================================

忽然一下,在我重启了n次之后,突然似乎所有东西都好了
不解
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表