• 5071阅读
  • 8回复

求救,翻译的问题,所有都照做了,但是还是不翻译!!!!!! [复制链接]

上一主题 下一主题
离线yangmiao322
 
只看楼主 倒序阅读 楼主  发表于: 2006-07-21
我用的是QT-3.3
我在主文件和pro文件中都加了相应的语句
成功生成了tr文件
l用iugist修改了我加的中文
成功生成qm文件
而且translate。load也成功了
但是我运行程序的时候还是没有显示出我翻译后的中文
请问这是怎么回事???
哪里出了问题???
离线shiroki

只看该作者 1楼 发表于: 2006-07-24
显示出来是什么? 有可能是字体的问题, 也可能是缺textcodec
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线yangmiao322
只看该作者 2楼 发表于: 2006-07-24
显示出来还是英文,楼上的大侠帮帮忙
离线shiroki

只看该作者 3楼 发表于: 2006-07-25
从现象上看应该是翻译文件没载入阿。 代码怎么写的? 贴出来看看
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线yangmiao322
只看该作者 4楼 发表于: 2006-07-25
#ifndef TS_H
#define TS_H

#include <qpushbutton.h>


class Ts :public QWidget
{
Q_OBJECT
public:
Ts();
private:
QPushButton *b;

};

#endif

以上事头文件

#include <qapplication.h>
#include "ts.h"
#include <qtranslator.h>
#include <qmessagebox.h>

Ts::Ts()
{
setGeometry(10,10,200,200);
b=new QPushButton(tr("mybtton"),this);
b->setGeometry(10,10,100,50);

}

int main(int argc,char **argv)
{
QApplication app(argc,argv);
Ts ts;
QTranslator translator( 0 );
if(translator.load( "ts_zh", "." ))
{
printf("suceed\n");
};
app.installTranslator( &translator );

ts.show();
app.setMainWidget(&ts);
return(app.exec());
}


以下事pro文件
TEMPLATE = app
INCLUDEPATH += .
# Input
HEADERS += ts.h
SOURCES += ts.cpp
TRANSLATIONS += ts_zh.ts
DEFINES+=QT_NO_CAST_ASCII


我验证了,load成功了,
谢谢楼上的大侠,帮我解决一下吧
离线giscn
只看该作者 5楼 发表于: 2006-07-25
生成的文件名,和加载的文件名要一致,请检查
http://nzt.spaces.live.com
离线yangmiao322
只看该作者 6楼 发表于: 2006-07-25
生成的qm文件是ts_zh.qm
在主函数里load的也是"ts_zh"
而且也显示 load成功

你看还需要作哪些工作???
离线nick
只看该作者 7楼 发表于: 2006-07-28
你的代码有问题。你应该先加载QTranslator,然后再定义你的Ts变量,否则你的Ts窗口先载入英文,那样再怎么装载QTranslator都没有用了。
代码
int main(int argc,char **argv)
{
QApplication app(argc,argv);
//Ts ts; 先不定义ts变量
QTranslator translator( 0 );
if(translator.load( "ts_zh", "." ))
{
printf("suceed\n");
};
app.installTranslator( &translator );

// 这里定义
Ts ts;
ts.show();
app.setMainWidget(&ts);
return(app.exec());
}
Qt...
离线yangmiao322
只看该作者 8楼 发表于: 2006-07-31
高人啊
谢谢
快速回复
限100 字节
 
上一个 下一个