「Qtの設定 - Qt Linguist」の版間の差分

ナビゲーションに移動 検索に移動
155行目: 155行目:
Qt5では、QMファイルはモジュールごとに分割されて、全てのモジュールのQMファイルを含むメタカタログファイルが存在する。<br>
Qt5では、QMファイルはモジュールごとに分割されて、全てのモジュールのQMファイルを含むメタカタログファイルが存在する。<br>
<br>
<br>
しかし、常に、Qt5の全てのQMファイルをデプロイする必要はない。<br>
しかし、常に、全てのQMファイルをデプロイする必要はない。<br>
<code>lconvert</code>ツールを使用して、必要なモジュールのQMファイルのみをメタカタログファイル名と一致する1つのファイルに連結することを推奨する。<br>
<code>lconvert</code>コマンドを使用して、必要なQMファイルのみをメタカタログファイル名と一致する1つのファイルに連結することを推奨する。<br>
以下の例では、Qt Core、Qt GUI、Qt Quickの各モジュールを使用したソフトウェアにおいて、ドイツ語翻訳ファイルを作成している。<br>
<br>
以下の例では、Qt Core、Qt GUI、Qt Quickの各モジュールを使用したQtソフトウェアにおいて、ドイツ語翻訳ファイルを生成している。<br>
  lconvert -o installation_folder/qt_de.qm qtbase_de.qm qtdeclarative_de.qm
  lconvert -o installation_folder/qt_de.qm qtbase_de.qm qtdeclarative_de.qm
<br><br>
== Qtソフトウェアの翻訳 ==
==== QTranslatorクラスを使用した翻訳 ====
<code>QTranslator</code>クラスを使用したQtソフトウェアの翻訳手順を示す。<br>
また、<code>tr</code>メソッドの最も簡単な使用方法として、ユーザインターフェースのテキストを翻訳用にマークすることも示している。<br>
<br>
<code>QObject</code>クラスを継承する全てのクラスは、<code>tr</code>メソッドを持つ。<br>
<code>QObject</code>クラスのメンバ関数の内部では、<code>QPushButton::tr("<文言>")</code>や<code>QObject::tr("<文言>")</code>の代わりに、<code>tr("<文言")</code>と記述すればよい。<br>
<syntaxhighlight lang="c++">
#include <QTranslator>
// ...略
QTranslator translator;                              // QTranslatorクラスのインスタンスを生成する
translator.load("SampleTr_ja");                      // ソフトウェアで使用する日本語翻訳ファイル(SampleTr_ja.qmファイル)を読み込む
                                                      // もし、日本語翻訳ファイルが無くてもエラーにはならない
app.installTranslator(&translator);                  // 日本語翻訳ファイルをソフトウェアで使用する翻訳プールに追加する
QPushButton hello(QPushButton::tr("Hello world!"));  // "Hello world!"と表示されるボタンを作成する
                                                      // SampleTr_ja.qmファイルが存在して、"Hello world!"の翻訳があれば、翻訳を表示して、無ければ原文が表示される
</syntaxhighlight>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]

案内メニュー