代码之家  ›  专栏  ›  技术社区  ›  Ton van den Heuvel

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

  •  7
  • Ton van den Heuvel  · 技术社区  · 16 年前

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

    1 回复  |  直到 16 年前
        1
  •  5
  •   TimW    16 年前

    首先,把你所有的钱都分了 进入 赞成的意见 脉波重复间隔 文件夹。然后把所有的 脉波重复间隔 专业文件 并为该pro文件生成语言文件。

    特殊语言专业版文件如下所示:

    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
    

        2
  •  1
  •   void    5 年前

    lupdate 它将在每个子目录中生成/更新.ts文件。

    因此,在每个pro文件中,必须指定 TARGET 而且这个项目必须放在一个文件夹中,这个文件夹的名字正好是这个。

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

    # Including shared configurations
    !include(../common/shared.pri) {
      error(shared.pri not found)
    }
    

    然后,在此pri文件中:

    # 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)
    }