免费注册 查看新帖 |

Chinaunix

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

一个gettext相关的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-28 15:29 |只看该作者 |倒序浏览
用gtk写了一个配置工具。设计的时候为了省事,采用了数据驱动的编程,建立了一个静态的struct数组,每一个struct指定了widget的类型、标签等。像这样
  1. struct my_struct {
  2.         char *label;
  3.         ...
  4. };

  5. struct my_struct my_struct_array[] =
  6. {
  7.         {"abc", ...},
  8.         {"def", ...},
  9.         ...
  10. };
复制代码
现在想用gettext把英文翻译成中文。
显然直接把"abc"改成 _("abc")是不行的。
label需要是一个静态的字符串,而_("abc")是动态产生的。

不知道有没有什么补救的办法。

论坛徽章:
0
2 [报告]
发表于 2010-09-29 14:16 |只看该作者
er,忘记说了,那个数组原来是全局变量。

把它改在函数体内定义就可以了。

论坛徽章:
0
3 [报告]
发表于 2010-09-30 08:21 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2010-09-30 08:52 |只看该作者
直接用char []来保存中文也是可以的阿,把中文看成字节流.UTF-8的话,每个中文3个字节.

论坛徽章:
0
5 [报告]
发表于 2010-09-30 08:59 |只看该作者
不懂的飘过  

论坛徽章:
0
6 [报告]
发表于 2010-09-30 09:08 |只看该作者
回复 5# pengjianbokobe

这灌水也太名目张胆了.

论坛徽章:
0
7 [报告]
发表于 2010-09-30 09:10 |只看该作者
回复 6# davelv


    哈哈,兄弟你也一样啊,不过我真的没用过gtk,帮顶而已。。

论坛徽章:
0
8 [报告]
发表于 2010-09-30 09:13 |只看该作者
回复  davelv


    哈哈,兄弟你也一样啊,不过我真的没用过gtk,帮顶而已。。
pengjianbokobe 发表于 2010-09-30 09:10


我在4楼可是正正经经的提出了自己的意见呢

论坛徽章:
0
9 [报告]
发表于 2010-09-30 11:24 |只看该作者
本帖最后由 lyreopera 于 2010-09-30 11:26 编辑

这东西跟gtk没啥关系

直接在数组里面写中文可不是什么好主意,要求支持多语言就傻了。

目前基本上改过来了,还有一小块要翻译的全局变量,由于实现的问题,不能放在函数体内,先不管了。

用的是一个别人裁剪好的系统,要先给系统添加中文支持,还不知道能不能搞定 Orz
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP