qt_add_lupdate

将目标添加到生成或更新 Qt 语言学家 .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 语言学家 .ts 文件。

该自定义目标的名称默认为 ${PROJECT_NAME}_lupdate。后续的 qt_add_lupdate 调用将创建带有递增数字的目标名称。您可以使用 LUPDATE_TARGET 选项指定自定义目标名称。

使用 SOURCE_TARGETS 参数,您可以指定包含可翻译字符串的源的目标列表。如果没有指定 SOURCE_TARGETS,您可以使用下文描述的 SOURCES。如果没有指定 SOURCE_TARGETSSOURCES,则使用命令 qt_collect_translation_source_targets 来检索目标列表。

必须使用 TS_FILES 参数指定 .ts 文件。

该函数旨在与 qt_add_lrelease 一起使用。另请参阅便捷包装器 qt_add_translations

源和包含目录

使用 SOURCES,您可以显式指定包含可翻译字符串的附加源文件。

您可以使用 INCLUDE_DIRECTORIES 显式指定这些源文件的包含目录。

选项

您可以为在调用 lupdate 时要传递的附加 OPTIONS 设置额外的设置。您可以在 lupdate 文档 中找到可能的选择。

主目标

除了目标 ${target}_lupdate 之外,还创建了一个总目标 update_translations。此目标将构建使用 qt_add_lupdate 创建的所有 ${target}_lupdate 目标。

qt_add_lupdate 传递 NO_GLOBAL_TARGET 以防止此行为。

在此调用 qt_add_lupdate 之前设置变量 QT_GLOBAL_LUPDATE_TARGET 以覆盖此目标名称。

复数形式

QT_I18N_SOURCE_LANGUAGE 用于指定源代码字符串所使用的语言。为了正确处理复数形式,为该语言创建一个额外的只包含复数形式可翻译字符串的 .ts 文件。有关详细信息,请参阅 处理复数形式

使用 PLURALS_TS_FILE,您可以指定源语言的 .ts 文件。该文件将只包含复数形式。

废弃的命令签名

较旧的 qt_add_lupdate 版本将目标作为第一个参数。这是废弃的。请改用 SOURCE_TARGETS 参数。

示例

添加 myapp_lupdateupdate_translations 目标以更新应用 myapp.ts 文件。

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
)

© 2024 Qt 公司有限公司。此处包含的文档贡献保留了各自所有者的版权。此处提供的文档根据 Free Software Foundation 发布的 GNU 自由文档许可协议版本 1.3 的条款获得许可。Qt 及其相应标志是芬兰以及全球其他国家的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。