偶滴歌神啊炎亚纶:QTOPIA桌面汉化 QTOPIA桌面图标汉化 QTOPIA应用程序汉化

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 12:48:19

QTOPIA桌面汉化 QTOPIA桌面图标汉化 QTOPIA应用程序汉化

分类: QT + c++ 2010-02-23 18:10 296人阅读 评论(0) 收藏 举报

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 插件