Chinaunix首页 | 论坛 | 博客
  • 博客访问: 293299
  • 博文数量: 34
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 433
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-23 13:16
文章分类

全部博文(34)

文章存档

2011年(3)

2010年(4)

2009年(6)

2008年(21)

我的朋友

分类: LINUX

2009-06-03 22:10:35

    昨天6月2日,是台北computex开幕的日子,希望我们的K1和Z1打出好名声,争取多几个客户~~~呵呵,我们也要努力啦!
    今天按计划要开始实现多语言的支持,并且要动态刷新多国语言的界面。看来这里有两个主要步骤,第一个是如何把字符串变成本地语言。另一个问题是如何动态更新。
    有一个更郁闷的,我们的ARM板子没有gettext...据诚实著称的J.C说:这个移植,基本很难!看来只能自己解决第一个问题。。。
    大体考虑了下,打算用hashTable来实现,第一,容易管理;第二,效率也不错。首先我们需要配置一些语言文件,考虑用xml(谁叫我们的xml库这么好用)
en_US.xml, zh_CN.xml, zh_TW.xml....
 
例子:
  
  ......
系统起来的时候先判断当前是什么语言,如果是简体中文的话,把zh_CN.xml加载,分析,并把每一个key和value插入hashTable,当我们需要请求key值等于system的翻译时,只需要lookup一下hashTable.即可拿出当前语言翻译。
 
    第一个问题好像解决了?!下来要解决第二个问题,如何动态刷新界面。目前gtk呈现的封装都是继承GtkWidget,有点想添加一个名为refresh的signal.当重新加载语言xml到hashTable后,直接调用呈现界面的refresh信号,强制它们自己刷新一遍,这样动态重新设置string,也能动态呈现多语言。
 
    这个还是暂时的想法,可以给大家一个参考,如果大家有什么好建议和好方法,欢迎提出~~~谢谢
阅读(1699) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~