2012-02-27 25 views
0

私はアプリにmayを設定しようとしています。私はブラジル出身だから、英語を使ってコーディングするときには、アプリはpt brとen-usでなければならない。Qtでの国際化4.8

Qt Linguist - set translator for application

が、PT-BRシステム上でアプリケーションを実行するときには、英語に表示さ:私はQTranslatorを使用する方法については、この記事を見つけました。何か不足していますか? P.P. Qコマンドプロンプトが見つかりませんでしたので、メニューツール - >外部 - >言語担当者 - >翻訳の更新(lupdate)を使用しました。

QApplication a(argc, argv); 

QTranslator *trans = new QTranslator(); 

trans->load("C:/SVN/trunk/rcs/frameworkIdentity_ptbr.qm"); 

a.installTranslator(trans); 

FIdMain w; 
+2

前に作成されていることをあなたは 'load'の戻り値をチェックしましたか? –

+0

また、[translate](http://developer.qt.nokia.com/doc/qt-4.8/qtranslator.html#translate)機能を使用しましたか? –

+0

はい、私はQtのこの例のようにtr関数を使用しました:trueを返します、負荷のリターンを確認しました。http://doc.qt.nokia.com/4.7-snapshot/linguist-hellotr.html –

答えて

0

私は翻訳が働いている私自身のアプリケーション(以下切り取ら)に何をすべきかほとんどです:

はまた.qmファイル、私のコードのhere's作品を作成しました。

問題はあなたが示したスニペットにはありません。コメントで示唆したように、それは多分ウィジェットは翻訳者

int main(int argc, char** argv) 
{ 
    QApplication app(argc, argv); 

    QTranslator translator; 
    if ( !Settings::value("monitor/languageFile").isNull()) 
    { 
     translator.load(Settings::value("monitor/languageFile").value<QString>()); 
     app.installTranslator(&translator); 
    } 
    MainWindow mainWindow; 
    mainWindow.show(); 
    return app.exec(); 
} 
+0

Translatorはメインウィンドウの前に設定されていますが、変更はありません。Qt forunsからソリューションを探しています。 –

+0

おそらく翻訳ファイル(.qm)に翻訳された文字列が含まれていないか、クラス内でQ_OBJECTマクロが見つからなかったと考えることができます。最初に.uiファイルから来る文字列を翻訳してみて、その文字列がうまく機能するかどうかを調べて、問題を絞り込めます。 – Correa