• 6400阅读
  • 13回复

动态库翻译的问题?(多多指教呀) [复制链接]

上一主题 下一主题
离线dym123_dym
 
只看楼主 倒序阅读 楼主  发表于: 2010-01-28




动态库目录 DllT
主程序目录 TestLanguage

现在我一实现了主程序目录 的中文翻译,
动态库(是一个按钮Conf),却怎么也翻译不了,为什么呀。


TestLanguage::TestLanguage(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
QString locale = QLocale::system().name();
translator.load(locale);
createMenu();
connect(cnAction,SIGNAL(triggered( bool)),this,SLOT(switchLanguage(bool)));
//加载动态库
testDll = new DllT(this);
testDll->transCn();
setCentralWidget(testDll);
}

void TestLanguage::switchLanguage( bool language )
{
if (false == language)
{
//翻译菜单
translator.load(QString( "testlangym_zh.qm"));
setText();
bool ok = false;
// 翻译动态库按钮 (此处对不对呀)
translator.load("dlltym_zh.qm",QString("D:\\pgram\\qttest\\20100128\\testlang\\DllT"));
testDll->transCn();
}
else
{
translator.load(QString("testlangym_en.qm") );
setText();

}

}
void TestLanguage::setText()
{
m_fileMenu->setTitle(tr("File)"));
m_processMenu->setTitle(tr("Process(&P)"));
m_objectMenu->setTitle(tr("Project(&O)"));//对象
m_viewMenu->setTitle(tr("View(&V)"));//查看
m_windowMenu->setTitle(tr("Window(&W)"));//窗口
m_helpMenu->setTitle(tr("Help")); //帮助

}

DllT::DllT(QWidget * parent , Qt::WindowFlags flags):QWidget(parent, flags)
{
mPtn = new QPushButton(tr("Config"),this);
}
void DllT::transCn()
{
mPtn->setText(tr("Conf"));

}
离线午小夜

只看该作者 1楼 发表于: 2010-01-28
qDebug( )看看bool QTranslator::load ( const QString & filename, const QString & directory );的返回值.
代碼看得我頭疼...
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线yangfanxing
只看该作者 2楼 发表于: 2010-01-28
lingguist *.ts搞定了吗?那么多0KB
以及翻译器的安装?(in front of all GUIs)
PHPWind好恶心。。。不想看这种界面。。。
离线dym123_dym
只看该作者 3楼 发表于: 2010-01-28
引用第1楼午小夜于2010-01-28 16:13发表的  :
qDebug( )看看bool QTranslator::load ( const QString & filename, const QString & directory );的返回值.
代碼看得我頭疼...




返回值是 true.

动态库翻译一般步骤能说说吗?
谢谢啦
离线午小夜

只看该作者 4楼 发表于: 2010-01-28
那是不是你qm文件沒有發佈好.或者切換加載完了翻譯器update下畫面44.
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线dym123_dym
只看该作者 5楼 发表于: 2010-01-28
引用第2楼yangfanxing于2010-01-28 16:16发表的  :
lingguist *.ts搞定了吗?那么多0KB
以及翻译器的安装?(in front of all GUIs)




lingguist *.ts 都在 DLLT目录下,外面的没用。不好意思。
离线dym123_dym
只看该作者 6楼 发表于: 2010-01-28
引用第4楼午小夜于2010-01-28 16:32发表的  :
那是不是你qm文件沒有發佈好.或者切換加載完了翻譯器update下畫面44.



应该更新了,因为按钮用英文可以改写
离线yangfanxing
只看该作者 7楼 发表于: 2010-01-28
【steps】
1.add(in***.pro)
  TRANSLATORS = *.ts
2.lupdate ***.pro
   -> *.ts
3.linguist -> open *.ts -> edit and release -> *.qm
4.QTranslator translator( 0 );
   translator.load( "myexec_zh.qm");
   app.installTranslator( &translator ); // in the very begining【!】seggestion:installation in your main.app

按钮可以的话,可能出在【!】:
menu在初始化使生成了,要是以后才install那么无效(可以更新menu看看)——不知道是不是这个。。。retry~
PHPWind好恶心。。。不想看这种界面。。。
离线dym123_dym
只看该作者 8楼 发表于: 2010-01-29
[upload=1]

请高手下载看看。(谢谢啦)
动态库翻译的几行代码。麻烦了
离线dym123_dym
只看该作者 9楼 发表于: 2010-01-29
[upload=1]

请高手下载看看。(谢谢啦)
动态库翻译的几行代码。麻烦了
离线dym123_dym
只看该作者 10楼 发表于: 2010-01-29
[upload=1]

请高手下载看看。(谢谢啦)
动态库翻译的几行代码。麻烦了
离线benbenmajia

只看该作者 11楼 发表于: 2010-01-29
呃,动态库翻译?没看懂
安然.....
离线午小夜

只看该作者 12楼 发表于: 2010-01-29
資源打包上傳!
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线dym123_dym
只看该作者 13楼 发表于: 2010-01-29
谢谢了,问题解决了

在dllt.h 里加上 Q_OBJECT,就行了。恼人呀
快速回复
限100 字节
 
上一个 下一个