LinuxSir.cn,穿越时空的Linuxsir!

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

dialog程序本地化的问题

[复制链接]
发表于 2003-8-7 14:59:29 | 显示全部楼层 |阅读模式
使用dialog 0.9b在zhcon下做界面,想把yesno窗口的"Yes"按钮和"No"按钮改成
"是"和"否",但dialog命令里没有提供这一功能。

查看dialog源码,发现有一个po目录,有法文、俄文、西班牙文、日文等种种.po文件,文件中包括各个dialog按钮的本地化文字,但没有英文的,也没有中文的。C程序里则找不到"Yes"和 "No"字符串。看makefile文件和configure文件,看的头昏眼花也没看出个所以然来。只是知道本地化信息大概是 从 /etc/locale目录中得到的。

我想做一个中文的.po文件应该是很容易的,但如何让dialog使用这个po文件呢?另外也考虑过把缺省的字符串改成"是"和"否",但缺省字符串又放在什么地方呢?
发表于 2003-8-7 18:52:05 | 显示全部楼层
源代码应该是支持国际化的。中文化的工作我没有做过,可以从书上抄一段给你。嘻嘻~~!
你可以先 试试自己提取信息:
xgettext -a -o dialog.po dialog.c
然后把dialog.po改成dialog.po.zh_CN.GB2312,并翻译其中信息。如在po文件中有:
msgid "String to be tranlated.\n"
msgstr ""
上面的msgid就不要动,把对应的字符串翻译成中文后填入到下面的msgstr中。如:
msgid "String to be tranlated.\n"
msgstr "被翻译的字符串.\n"
接下来,格式化信息文件:
msgfmt -o locale/zh_CN.GB2312/LC_MESSAGES/dialog.mo dialog.po.zh_CN.GB2312
注意文件中放在locale/zh_CN.GB2312/LC_MESSAGES目录下。
完成后,设置locale为中文zh_CN.GB2312,运行程序看看效果。
good luck!!!
发表于 2003-8-8 17:09:41 | 显示全部楼层
这个问题我遇到过,提示信息是可以直接用中文的。
而 yes ,no ,什么的不可以的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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