首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为大型Qt项目生成单个翻译文件?

如何为大型Qt项目生成单个翻译文件?
EN

Stack Overflow用户
提问于 2009-12-02 06:46:02
回答 2查看 2.6K关注 0票数 7

我有一个大型项目,其中一个qmake项目文件使用'subdirs‘模板定义了所有项目组件。目前,我在每个子项目的qmake文件中定义了翻译文件。这会导致每个子项目都有单独的翻译文件,这很快就会变得非常麻烦,难以维护。

如何让lupdate生成一个包含所有子项目的所有翻译字符串的翻译文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-02 21:28:43

首先,把你所有的pro文件分成pro和pri文件。然后将所有pri文件放入一个全局pro文件中,并为该pro文件生成语言文件。

特殊语言pro文件如下所示:

代码语言:javascript
复制
TEMPLATE = app
DEPENDPATH +=  Proj1 Proj2 Proj3    

include(Proj1/Proj1.pri)  
include(Proj2/Proj2.pri)
include(Proj3/Proj3.pri)

TRANSLATIONS = en.ts fr.ts it.main.ts ja.main.ts nl.main.ts

脚本可以很容易地为您生成此项目语言文件。

票数 5
EN

Stack Overflow用户

发布于 2020-10-13 15:00:46

我知道这个问题很老了,但我还是会附上我的解决方案。这最终得到了几个单独的翻译文件,但这正是我真正想要的,然后reach.You可以在主项目文件上运行lupdate,它将在每个子目录中生成/更新.ts文件。

因此,在每个pro文件中,您必须指定一个TARGET,并且此项目必须位于与此名称完全相同的文件夹中。

在每个项目文件中,我都包含一个共享的pri文件:

代码语言:javascript
复制
# Including shared configurations
!include(../common/shared.pri) {
  error(shared.pri not found)
}

然后,在这个pri文件中:

代码语言:javascript
复制
# Including traslations for every language
exists($$_PRO_FILE_PWD_/translations/) {
    TRANSLATIONS += $$_PRO_FILE_PWD_/translations/$${TARGET}_de_DE.ts
    message(> Found Translations for $${TARGET}: $$_PRO_FILE_PWD_/translations/$${TARGET}_de_DE.ts)
}

对于更多的翻译语言,你可以添加一点逻辑。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1829474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档