Posts Tagged ‘i18n’

帮 OLPC 做中文翻译

Saturday, April 5th, 2008

OLPC 默认为英语,但是内置了 gettext 做 i18n(国际化)处理,所以我们只要拿到自己需要的语言的 .po 文件就可以了。

重要的是您还可以加入翻译志愿者的行列,尽快让 OLPC 全中文化。而且很简单,可以通过 OLPC 的在线协作翻译系统 Pootle 进行,方法可以参考 Wiki 上的文章,Bob Chao 也有 slides 介绍这个。不过我加入以后在翻译 xo-core 的时候每次提交都是 bad gateway,不知何故。所有的项目基本都有了不同程度的翻译。

翻译之后的验证方法可以参考 WiKi 上的文章(Localization/Testing)

我在 XO 上面测试了一下 sugar.po,奇怪的是今天死活连不上我那 FON AP,这东西很不靠谱阿,无奈只能用其它电脑下载之后用U盘拷到 XO 上:

  1. 下载 .po 文件包:https://dev.laptop.org/translate/zh_CN/xo_core/
  2. 将压缩包里面的 sugar.po 放入U盘插到 XO 上,自动识别,路径在 /media/{U盘的名字}
  3. su - 切到 root 用户
  4. 将 sugar.po 拷贝到 /boot 下面
  5. msgfmt -o /usr/share/locale/zh_CN/LC_MESSAGES/sugar.mo sugar.po 编译 .po 文件
  6. Ctrl + Alt + Eraser 重启 Sugar 界面
  7. 搞定

让 OLPC 显示中文

Friday, April 4th, 2008

OLPC 默认是无法显示中文的,因为缺少中文字体,参考 BobChao 的一篇文章安装了文泉驿黑体,在 OLPC 联网的情况下方法很简单:

在 terminal 下面执行:

su -
wget fr2.rpmfind.net/linux/fedora/development/i386/os/Packages/wqy-zenhei-fonts-0.4.23-1.fc9.noarch.rpm
rpm -vi wqy-zenhei-fonts-0.4.23-1.fc9.noarch.rpm
rm wqy-zenhei-fonts-0.4.23-1.fc9.noarch.rpm

搞定,在 Opera 中看看一家四口的效果:

string with argument in GetText of rails

Friday, April 6th, 2007

You can give the arguments to the string with String#% method.

_("%s was not found") % "foo.rb"
_("%s and %s is not same file") % ["foo.rb", "bar.rb"]
_("%s is %d byte") % ["foo.rb", 100]

Also you can write as:

_("%{filename} was not found") % {:filename => "foo.rb"}
_("%{filename1} and %{filename2} is not same file") % {:filename1 => "foo.rb",
:filename2 => "bar.rb"}
_("%{filename} is %{filesize} byte") % {:filename => "foo.rb",
:filesize => 100}

Translators can understand what the msgid mean easily, so the second way is recommanded.

大部分介绍rails gettext的文章貌似都没有涉及这个内容,而从实际使用来说,这个东西是必然碰到的。

看文档还得看原版,作者blog上的两篇很全面!文章1文章2