0

*.ui ファイルが保存されると、翻訳のコンテキストが UI クラス名と等しい QApplication::translate 呼び出しを使用する翻訳メソッド「retranslateui()」を定義および実装する *.h ファイルが生成されます。

それをオーバーライドして、独自のカスタム コンテキスト名を入力できるようにする必要があります。

知っておかなければならない理由は、14 言語の非 QT レガシー翻訳テーブルがあるためです。これらの文字列を *.TS ファイルに変換するツールを作成しました。問題は、CONTEXT が存在しないことです。これは文字列の単純なリストであるため、ツールはアプリケーション全体に対して 1 つのコンテキストを強制します。context = UI クラス名である translate メソッド呼び出しの自動生成は、UI の翻訳に失敗します。

*.ui ファイルからこの *.h ファイルを作成する UIC コマンド ライン ユーティリティには、別の変換方法を定義するパラメータがあることがわかりました。これを使用して、単一のコンテキストに追加する独自の翻訳メソッドにルーティングできます。私の問題は、qmake からの UIC 呼び出しを変更して、このパラメーターをカスタム値に含める方法がわからないことです。

4

1 に答える 1

1

.pro ファイルで QMAKE_UIC プロパティを変更できます

QMAKE_UIC += -params to add
于 2012-05-15T09:56:05.783 に答える