
动态库目录 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"));
}