4

私は単純な.proQt Creator プロジェクトを持っています。すべてではないにしても、ほとんどのアプリケーション テキストは Qt .uiXML フォーム ファイルにあります。Qt Linguist を使用してそのプロジェクトのテキストを翻訳したいのですが、どのように開始すればよいかわかりません。インターネット上に役立つ「Qt Linguist 入門」記事はありません。誇らしげにQt Linguist Manualと自称するページも、実用的なヒントではなく一般的な情報しか含まれていないため、あまり役に立ちません。

Qt Creator でこれらのアイテムを見つけました。

画像の説明

それらを機能させるために何をすべきか、完全にスタンドアロンのアプリケーションである Qt Linguist との関係はよくわかりません。FileQt Linguist を開きましたが、そこには->New...項目メニューが含まれていません。ここから開始します。

4

2 に答える 2

11

最初はかなりの作業が必要ですが、その後はすべて自動です。

ソースコード

ソース ファイルでは、翻訳可能な文字列を関数内に配置する必要がありtr()ます。すべての QObject 派生クラスには独自のtr()機能があります。そのクラス内の文字列には、そのクラスの tr 関数を使用します。

QString str ="string to be translated";

使用する

QString str = MyClass::tr("string to be translated");

クラスにtr()関数使用がない場合

QString str = QOject::tr("string to be translated");

Qtクリエーター

Qt Creator で Tools/External/Configure... に移動し、lupdate と lrelease の場所を入力します。それらの場所をハードコーディングするか、マクロを使用できます。これらのユーティリティは、Qt のインストール場所の bin サブディレクトリにあります。

ts ファイル

英語からオランダ語に翻訳したいとします。2 つのファイルが必要になります。myapp_en.tsそれらをとと呼びますmyapp_nl.ts。原則として、英語の ts ファイルを含める必要はありませんが、英語を別の言語と同じ立場で扱うのに役立ちます。

プロジェクトファイル

プロファイルに追加

TRANSLATIONS+=  /path_to_/myapp_en.ts

TRANSLATIONS+=  /path_to_/myapp_nl.ts

初めての ts ファイル

初めて lupdate を実行すると、ts ファイルが作成されます。

実際の翻訳

Qt Linguist で ts ファイルを開きます。このファイルの一部のプロパティを設定できます。翻訳が必要なすべての文字列が、ts ファイルの Qt Linguist ビューに表示されるようになりました。翻訳を挿入できます。変更した ts ファイルを保存します。

ts ファイルを更新する

ソース コードを変更したときはいつでも、lupdate を実行する必要があります。Qt Linguist を使用して新しい文字列の翻訳を追加し、lupdate を実行してから lrelease を実行します。プログラム lrelease は、テキスト ファイルを圧縮バイナリ ファイル (拡張子「qm」) に変換します。

翻訳を読み込む

あとは、特定の翻訳をロードする (つまり、特定の qm ファイルをロードする) ようにアプリケーションに指示するだけです。これは、優れたドキュメントを備えた Qt クラス QTranslator を使用して行います。

于 2015-12-20T20:34:27.643 に答える
1

「.ts」ファイルを表示して、単一のファイルを右クリックして選択すると、qt4 リンギストでファイルを開くオプションが表示されますか?

表示されていない場合は、最後にプロパティに移動して開くと
、リセットボタンをクリックして表示できるようになります。

パッケージ「qt4-dev-tools - qt linguist をダウンロードする」をインストールしない場合

ヴィッキー・シャルマ

于 2016-05-18T12:24:39.647 に答える