• 5162阅读
  • 9回复

Ubunut9.04 qt + eclipse CDT i18n [复制链接]

上一主题 下一主题
离线donixli1314
 

只看楼主 倒序阅读 楼主  发表于: 2010-02-03
环境
Ubuntu9.04
qt 4.5.0
eclipse + qt插件1.6
应用程序界面主要是在eclipse中设计的
界面文件都是xxx.ui格式
请问如何提取xxx.ui文件中要显示的内容进行国际化

Windows平台的话使用lupdate 和lrelease就可以全部提取出来
在Ubuntu下怎么提取
谢谢

鄙人也在网上找过,但找到的都是 findtr xxx.cpp >xxx.po类型的,
没找到出来xxx.ui类型的
离线dbzhang800

只看该作者 1楼 发表于: 2010-02-03
和 windows 下完全一样,使用 lupdate 和lrelease
离线donixli1314

只看该作者 2楼 发表于: 2010-02-03
我使用lupdate 和lrelease提取并翻译好
但界面上没有任何显示(也没乱码或其他的)
我这主要是支持 简体中文

我说下步骤:
1,在.pro中加入TRANSLATIONS += zh_cn.ts
2,终端里运行lupdate ProjectI18N.pro
      生成zh_cn.ts
3,编辑zh_cn.ts,翻译成对应的中文
4,运行lrelease ProjectI18N.pro
5,生成zh_cn.qm
6,main方法里如下
int main (int argc, char *argv[] )
{
      QApplication application( argc, argv );

      QString language ( application.applicationDirPath ( ) );

      language.append ( "/zh_cn.qm" );

      QTranslator transl;

      bool bLoad = transl.load ( language );

      if ( bLoad )
      {

        QMessageBox::about ( 0, "title", language );

      }

      application.installTranslator ( &transl );

      ProjectI18N    i18n;
    
      i18n.show ( );

      return application.exec( );

}
离线donixli1314

只看该作者 3楼 发表于: 2010-02-03
有没有哪位知道这是怎么回事?
离线dbzhang800

只看该作者 4楼 发表于: 2010-02-03
你没注意到全都是 “unfinished”
离线donixli1314

只看该作者 5楼 发表于: 2010-02-03
type="unfinished"  没有影响的
上面的做法在Windows下能显示出来
但是在Linux下 中文 显示出来的就是个 虚线框,而数字则能正常显示出来

qt  demo里的i18n例子的中文显示出来也是虚线框
离线donixli1314

只看该作者 6楼 发表于: 2010-02-03
有没有谁知道原因在哪?
我把 <?xml version="1.0" encoding="utf-8"?>  encoding换了GB18030, GBK, GB2312都不行
离线donixli1314

只看该作者 7楼 发表于: 2010-02-03
另外补充点
系统语言是 简体中文
离线wd007

只看该作者 8楼 发表于: 2010-02-03
系统已经是中文编码了,不应该出现这个情况啊。

你把Eclipse默认采用的GB18030换成UTF-8试试,同时也把Linux下编码设置为UTF-8。
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线donixli1314

只看该作者 9楼 发表于: 2010-02-04
谢谢各位的回复
解决了
是字库的问题
在终端里输入qtconfig然后选择适当的字库就可以了
另外字体大小也要做适当的调整
快速回复
限100 字节
 
上一个 下一个