跳至正文

去掉wget烦人的 “eta(英国中部时间)” 提示

  • Linux

我用Linux也有一两年的历史了, 一直以来都有一块心病困扰着我, 那是什么呢? 没错了, 就是标题所说的, wget有事没事就会自动刷新, 刷屏, 不停地重复输出那一行, 总是没有解决, 一直都是这个样子, 今天下Linux kernel 2.6.37的时候决心要去掉这个烦人的地方, 找了好久, 总算是找到了解决方案!! gentoo (MYSKY注: 对各个发行版都同样受用.) 里的 wget ,从1.12版本开始,就一直有个不影响功能的小毛病:由于中文翻译的失误,进度提示的时候,会被拉成很多行。原因就是原来英文的ETA这3个字母,被翻译成了 “eta(英国中部时间)” 这么长,所以引起断行出错。 zh_CN.po 里,其实还是有说明的,只不过翻译人员疏忽了。如下: #. TRANSLATORS: "ETA" is English-centric, but this must #. be short, ideally 3 chars. Abbreviate if necessary. #: src/progress.c:805 #, c-format msgid " eta %s" msgstr " eta(英国中部时间) %s" 既然这个小毛病不影响功能,之前也就没太在意,一直在等上游更新,不过到了 1.12-r1 版本,仍旧还有这个毛病,我也渐渐的看不下去了,就决定动手自己改掉它了。 方法也很简单,用之前我介绍过的命令就可以了,具体如下: msgunfmt /usr/share/locale/zh_CN/LC_MESSAGES/wget.mo -o - | sed 's/eta(英国中部时间)/ETA/' | msgfmt - -o /tmp/zh_CN.mo sudo cp /tmp/zh_CN.mo /usr/share/locale/zh_CN/LC_MESSAGES/wget.mo 搞定。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注