昨天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) |