Chinaunix首页 | 论坛 | 博客
  • 博客访问: 347117
  • 博文数量: 69
  • 博客积分: 3077
  • 博客等级: 中校
  • 技术积分: 602
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-11 09:40
个人简介

或以为孤权重,妄相忖度

文章分类

全部博文(69)

文章存档

2012年(1)

2011年(10)

2010年(39)

2009年(19)

我的朋友

分类: 嵌入式

2011-01-01 14:26:13

QTOPIA 桌面的汉化 :
      一.设置好环境变量,进入QTOPIA目录/i18n 建立 文件夹 zh_CN,进入zh_CN 在终端中输入 建立文件.directory 输入以下内容
                [Translation]
                File=QtopiaI18N
                Context=chinese (zh.CN)
                [Desktop Entry]
                Name[]=chinese (zh.CN.)
             保存退出.
        二.进入QTOPIA目录,make lupdate,这时候就能看见在I18N/zn_CN文件夹下有一堆.ts用 linguist xxx.ts 挨个翻译吧,注意翻译一个要按一次ctrl + enter,还有src文件夹下的N多个文件夹下都有.ts这些都是QTOPIA应用程序,插件,动态库==的翻译
        三.翻译完成后,再回到QTOPIA文件夹,输入./configure -languages "zh_CN"
        四.make && make install
注:若中途提示找不到xxx文件 就到相应目录中touch xxx
 

QTOPIA桌面图标汉化:
    自己添加应用程序后,用一个图标在桌面上引用,下面是汉化 .desktop文件的方法, example.desktop 文件内容如下:
[Translation]
File=QtopiaApplications
Context=example
[Desktop Entry]
Comment[]=A example Program
Exec=example
Icon=example
Type=Application
Name[]=example

在qtopia/I18N/zh_CN中找到QtopiaApplications.ts
在里面添加example.desktop文件的相关信息(参照里面已有的)如下:
/********  添加部分  **************************/

    example
   
        A example Program
        样例程序
   

   
        example
        样例
   


/****************  添加部分 ******************/

    Calculator
   
        A Calculator Program
        计算器程序
   

 
................................................
再运行 lrelease 工具,生成 .qm文件
命令:
lrelease QtopiaApplications.ts
将生成的 QtopiaApplications.qm替换 开发板里QTOPIA/i18n/zh_CN/中的对应文件就可以了
重启qtopia ,桌面的显示就成了中文的了
 

QTOPIA 应用程序 汉化:
  一.在要显示中文的地方用tr()函数,比如要显示中文标签程序中要这样写
        QTextLabel1->setText( tr("xianshi zhongwen") );
  二.工程文件.PRO中加入如下行
        TRANSLATIONS  +=  xxx.ts //(xxx是你自定义的文件名)
  三.生成.ts文件
        在终端中运行 lupdate  xxx.pro (xxx是你工程的文件名)
  四.翻译.ts
        linguist xxx.ts
  五.在MAIN函数中加入如下红色代码
        int main( int argc, char ** argv )
        {
            QApplication a( argc, argv );
            QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
            QTranslator translator(0);
            translator.load(QString("xxx.qm"));//必须指明.qm文件在开发板的位置
            a.installTranslator(&translator);
            a.show();
            return a.exec();
          }
   六.编译 将QM文件放到正确的位置后就能正确翻译了
 
 
注:别忘了加入头文件#include
 
 
 
 

  如果没看这段话的人,那么恭喜你了,翻译肯定不成功,因为还没有字库啊,上哪去找汉字去啊!~
  首先注意一点,我不建议用ttf格式的,不是LINUX对freetype的字体支持不好,是支持的没有QPF好,使用QPF字体程序加载的时间明显比freetype字体短很多
  首先将字体文件放入qtopia目录/lib/fonts 目录下
  一.向QTOPIA中加入QPF字体
       编辑 qtopia目录/lib/fonts/fontdir 文件 添加如下一行
       字体名 字体文件名.QPF QPF n 50 字体中最大号*10 u
  二.向QTOPIA中加入ttf字体
       编辑 qtopia目录/lib/fonts/fontdir 文件 添加如下一行
       字体名 字体文件名.ttf FT n 50 字体中最大号*10 u
 三.向QTOPIA中加入其他字体
        跟上面学吧~

 注:如果使用freetype字体,必须运行Qtopia 中的 fontfactories 插件

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sjmw888/archive/2010/02/23/5320481.aspx
阅读(1881) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-08 20:30:00

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com