13,005
回編集
(→翻訳の準備) |
|||
155行目: | 155行目: | ||
Qt5では、QMファイルはモジュールごとに分割されて、全てのモジュールのQMファイルを含むメタカタログファイルが存在する。<br> | Qt5では、QMファイルはモジュールごとに分割されて、全てのモジュールのQMファイルを含むメタカタログファイルが存在する。<br> | ||
<br> | <br> | ||
しかし、常に、全てのQMファイルをデプロイする必要はない。<br> | |||
<code>lconvert</code> | <code>lconvert</code>コマンドを使用して、必要なQMファイルのみをメタカタログファイル名と一致する1つのファイルに連結することを推奨する。<br> | ||
以下の例では、Qt Core、Qt GUI、Qt | <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]] |