免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3345 | 回复: 5
打印 上一主题 下一主题

GTK+的本地化问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-12 10:34 |只看该作者 |倒序浏览
想在GKT+里使用中文,然而在GTK+的控件中加入中文后,编译通过,运行后,中文无法显示,出现如下警告错误:
** (app:4155): WARNING **: Invalid UTF8 string passed to pango_layout_set_text()

还有个问题,我在运行每个GTK+程序后,总有如下警告出现:

(app:4152): Gdk-WARNING **: locale not supported by Xlib
(app:4152): Gdk-WARNING **: can not set locale modifiers

该如何解决?谢谢```````````````````

论坛徽章:
0
2 [报告]
发表于 2005-10-12 10:42 |只看该作者

GTK+的本地化问题

用gettext吧,自己定义,自己翻译。

论坛徽章:
0
3 [报告]
发表于 2005-10-12 14:14 |只看该作者

GTK+的本地化问题

版主可以说详细点么?

我参考过http://www-128.ibm.com/developerworks/cn/linux/l-gtk/part2/
这篇文章,还是无法解决

我用的是redhat,发现用UTF-8编码方式后,中文无法显示

另外,是否和


(app:4152): Gdk-WARNING **: locale not supported by Xlib
(app:4152): Gdk-WARNING **: can not set locale modifier

这两个警告有关呢?

论坛徽章:
0
4 [报告]
发表于 2005-10-12 14:29 |只看该作者

GTK+的本地化问题

我的步骤简单:
1, 编辑mygettext.h
#ifndef MYGETTEXT_H
#define MYGETTEXT_H

#define _(s) gettext(s)
#define N_(s) s

#endif

2, 在程序的main函数一开始,加入:
#define PACKAGE_A "savs_front"
#define LOCALEDIR "/usr/share/locale/"

        setlocale(LC_ALL, "";
        bindtextdomain(PACKAGE_A, LOCALEDIR);
        textdomain(PACKAGE_A);
其中savs_front改成你自己的程序名字

3, xgettext -a *.c -o XXX.po
4, 编辑XXX.po,把charset改成UTF-8(我的开发环境的locale),手工翻译
5, msgfmt XXX.po -o savs_front.mo
6, cp savs_front.mo /usr/share/locale/zh_CN/LC_MESSAGES/

O.K.了,屡试不爽

论坛徽章:
0
5 [报告]
发表于 2005-10-12 15:00 |只看该作者

GTK+的本地化问题

多谢老大指点,但是,
我输入:msgfmt inter.po -o inter.mo  后,有致命错误出现:

]inter.po:30:9: 无效的多字节序列
inter.po:30:10: 无效的多字节序列
inter.po:30:11: 无效的多字节序列
inter.po:30:12: 无效的多字节序列
inter.po:30:13: 无效的多字节序列
inter.po:30:14: 无效的多字节序列
inter.po:30:15: 无效的多字节序列
inter.po:30:16: 无效的多字节序列
inter.po:30:17: 无效的多字节序列
inter.po:30:18: 无效的多字节序列
msgfmt: 发现 10 处致命错误


如何处理?```同时,我发现在我的vim中UTF-8模式下,中文无法显示~~`

论坛徽章:
0
6 [报告]
发表于 2005-10-12 15:27 |只看该作者

GTK+的本地化问题

这些问题我就不懂了,猜测可能与这个有关:
我的programname.po文件,本身就是保存成UTF-8的,所以在它的开头指定了这一点,你试着指定为你的locale看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP