このページでは

qt_add_lupdate

Qt Linguist の.tsファイルを生成または更新するためのターゲットを追加します。

このコマンドは、Qt6 パッケージのLinguistTools コンポーネントに定義されています。以下のコマンドでパッケージを読み込みます:

find_package(Qt6 REQUIRED COMPONENTS LinguistTools)

このコマンドは Qt 6.2 で導入されました。

概要

6.7 以降:

qt_add_lupdate(TS_FILES file1.ts [file2.ts ...]
               [PLURALS_TS_FILE file.ts]
               [SOURCE_TARGETS target1 [target2 ...]]
               [SOURCES source1.cpp [sources2.cpp ...]]
               [INCLUDE_DIRECTORIES directory1 [directory2 ...]]
               [LUPDATE_TARGET target-name]
               [NO_GLOBAL_TARGET]
               [OPTIONS ...])

6.2以降(非推奨):

qt_add_lupdate(target TS_FILES file1.ts [file2.ts ...]
               [SOURCES source1.cpp [sources2.cpp ...]]
               [INCLUDE_DIRECTORIES directory1 [directory2 ...]]
               [NO_GLOBAL_TARGET]
               [OPTIONS ...])

バージョン指定なしのコマンドが無効になっている場合は、代わりにqt6_add_lupdate() を使用してください。このコマンドと同じ引数セットをサポートしています。

説明

lupdate を使用して `Qt Linguist ` および `.ts ` ファイルを生成または更新するためのカスタムターゲットを作成します。

そのカスタムターゲットの名前は、デフォルトで${PROJECT_NAME}_lupdate となります。その後、qt_add_lupdate を呼び出すたびに、番号が順次増加したターゲット名が生成されます。カスタムターゲット名は、LUPDATE_TARGET オプションで指定できます。

SOURCE_TARGETS 引数を使用すると、翻訳可能な文字列を含むソースを持つターゲットのリストを指定できます。SOURCE_TARGETS が指定されていない場合は、後述するSOURCES を指定できます。SOURCE_TARGETS もSOURCES も指定されていない場合、コマンドqt_collect_translation_source_targets()が呼び出され、ターゲットのリストが取得されます。

.ts ファイルは、引数TS_FILES で指定する必要があります。

この関数は、qt_add_lrelease() と組み合わせて使用するように設計されています。便宜上のラッパー関数であるqt_add_translations() も参照してください。

ソースおよびインクルードディレクトリ

SOURCES を使用すると、翻訳可能な文字列を含む追加のソースファイルを明示的に指定することができます。

INCLUDE_DIRECTORIES を使用すると、それらのソースファイルのインクルードディレクトリを明示的に指定することができます。

オプション

lupdate の呼び出し時に渡すべき追加のOPTIONS を設定することができます。使用可能なオプションについては、lupdateのドキュメントを参照してください。

アンブレラ・ターゲット

ターゲット${target}_lupdate に加えて、アンブレラ・ターゲットupdate_translations が作成されます。このターゲットは、qt_add_lupdate で作成されたすべての${target}_lupdate ターゲットをビルドします。

この動作を防ぐには、`NO_GLOBAL_TARGET ` を `qt_add_lupdate ` に渡してください。

qt_add_lupdate を呼び出す前に、変数QT_GLOBAL_LUPDATE_TARGET を設定することで、このターゲットの名前を上書きできます。

複数形

QT_I18N_SOURCE_LANGUAGE は、ソースコードの文字列が記述されている言語を指定します。複数形を正しく処理するには、その言語用に、複数形の翻訳対象文字列のみを含む追加の.ts ファイルを作成してください。詳細については、「複数形の処理」を参照してください。

PLURALS_TS_FILE を使用すると、ソース言語用の.ts ファイルを指定できます。このファイルには、複数形のみが含まれます。

非推奨のコマンドシグネチャ

qt_add_lupdate の古いバージョンでは、最初の引数としてターゲットを指定していました。これは非推奨となっています。代わりにSOURCE_TARGETS 引数を使用してください。

使用例

アプリケーションmyapp の.ts ファイルを更新するために、myapp_lupdate およびupdate_translations というターゲットを追加します。

qt_add_lupdate(
    SOURCE_TARGETS myapp
    TS_FILES myapp_de.ts
    PLURALS_TS_FILE myapp_en.ts
)

LUPDATE_TARGET 引数を渡すことで、作成されるターゲットの名前を指定できます:

qt_add_lupdate(
    LUPDATE_TARGET update_application_translations
    TS_FILES myapp_de.ts
    PLURALS_TS_FILE myapp_en.ts
)

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.