私はプログラムをさまざまな言語で翻訳するためにqt言語学者を使用しますが、プログラム内で翻訳されたテキストは表示されません。 適切なフォントを設定し、.tsファイルをTRANSLATIONS
に追加します。qt translatorはプログラム内で翻訳されたテキストを表示しません
私はlupdate
とlrelease
コマンドを使用します。
どのように私も.tsファイルを作成できますか? (私はテキストファイルを作成し、フォーマットを.tsに変更するのは正しい方法ですか?)
私はプログラムをさまざまな言語で翻訳するためにqt言語学者を使用しますが、プログラム内で翻訳されたテキストは表示されません。 適切なフォントを設定し、.tsファイルをTRANSLATIONS
に追加します。qt translatorはプログラム内で翻訳されたテキストを表示しません
私はlupdate
とlrelease
コマンドを使用します。
どのように私も.tsファイルを作成できますか? (私はテキストファイルを作成し、フォーマットを.tsに変更するのは正しい方法ですか?)
Revie Qt Translation。
動的にアプリを翻訳するには、次の
1 - オープンQtは、端末コマンドと、プロジェクトフォルダに移動します。 2 -
lupdate -pro Example.pro -ts example.ts
3プロジェクトからすべての翻訳可能な文字列を取得します - あなたはQLinguist 4を使用したい言語にすべての文字列を翻訳 - 実行するすべての翻訳と.qmファイルを生成します。
lrelease example.ts
を
5 - このファイルexample.qmをプロジェクトにリソースとして追加して、実行可能ファイルに追加します。 Resource System
6 - 今、アプリを翻訳しQTranslatorを使用します。
QTranslator* translator = new QTranslator;
if(translator->load(":/"+example.qm)){
qApp->removeTranslator(translator); // Remove the translator if was used before
qApp->installTranslator(translator); // Install again the translator to force a new translation.
qDebug() << "Translation success!" ;
}else{
qDebug() << "Error file not found!";
}
7 - あなたはChangeEventの使用翻訳イベントを処理することができますすべての人々だ
void MainWindow::changeEvent(QEvent* event)
{
if (event) {
switch(event->type()) {
// When the translator is loaded this event is send.
case QEvent::LanguageChange:
break;
// Whem the system language changes this event is send.
case QEvent::LocaleChange:
//retranslate the ui.
break;
default:
break;
}
}
QMainWindow::changeEvent(event);
}
!
qtコマンド端末とは何ですか?私はそれがないと思う。 –
WindowsでQtを使用している場合は、qtプログラムフォルダを開いて、Qt MVSC/MinGWコマンドプロンプト – mohabouje
を探してください。どこにフォントをロードしますか? 私は自分のフォントを読み込めないと思う –
翻訳をアプリケーションにロードしましたか? http://doc.qt.io/qt-5/qcoreapplication.html#install翻訳者http://doc.qt.io/qt-5/qtranslator.html#load –
はい。 .tsファイルと.qmファイルをロードする –
翻訳を有効にするには、たくさんのことがあります。あなたの問題の説明は短くて不完全であることが簡単です。 Qtの指示に従って、何も見逃していないことを確認してください。 Qtが何らかのエラーを報告している可能性もあります。 –