如何自动将Qt Linguist文件包含到CMake项目的Qt资源中?

时间:2017-05-17 18:29:46

标签: qt cmake resources qt5 translation

我使用CMake构建具有国际化支持的Qt项目。使用nan_cols = df5c.columns[df5c.isnull().any(axis=0)] for col in nan_cols: for i in range(len(df5c)): if pd.isnull(df5c.loc[i, col]): data.loc[i, col] = data.loc[i, col] = 0 我可以在源目录中创建qt5_create_translation个文件,在构建目录中创建*.ts个文件。

我想减少要分发的文件数量。将翻译文件*.qm存储到Qt资源中是一种非常有效的解决方案。

但是在构建过程中,资源的名称是自动生成的,并且没有本地方法可以自动将它们放入:/translations/*.qm文件中。

如何实现所需的使用,例如*.qrc或其他什么?

1 个答案:

答案 0 :(得分:0)

Qt的qrc文件只是xml文件。因此,您可以使用外部工具添加它。

纯粹的cmake解决方案可能是:

  1. 创建名为@TRANS_FILE@
  2. 的虚拟资源文件
  3. 将此文件添加到qrc文件
  4. 将转换文件的名称提取到变量中。不知道怎么做。
  5. 使用cmake的configure_file替换虚拟资源名称
  6. 示例:

    set(TRANS_FILE ${NameOfTranslationFile})
    configure_file(infile.qrc outfile.qrc @ONLY)