RC 文件信息:语言中性

mal*_*lat 2 windows dll

有些 dll 声明语言是“语言中立”,至少我在 C# 项目的一些 dll 上看到它:

在此输入图像描述

我想对 c++ 项目做同样的事情,那么 rc 文件中这种特殊语言的价值是多少。目前我的设置是这样的(参见上一篇文章):

BEGIN
    VALUE "Translation", 0x0409, 1252
END
Run Code Online (Sandbox Code Playgroud)

这导致英语为:

在此输入图像描述

oneline 文档中未定义此“中性”语言的值:

mal*_*lat 6

经过一些快速的在线搜索后,我自己找到了解决方案:

在此输入图像描述

完整示例:

// version.rc.in
#define VER_FILEVERSION             3,5,49,0
#define VER_FILEVERSION_STR         "3.5.49.0\0"

#define VER_PRODUCTVERSION          3,5,49,0
#define VER_PRODUCTVERSION_STR      "3.5.49\0"
//

1 VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "040904E4" // U.S. English - multilingual (hex)
    BEGIN
      VALUE "FileVersion", VER_FILEVERSION_STR
      VALUE "ProductVersion", VER_PRODUCTVERSION_STR
    END
  END
  /* For some reason the ProductVersion would not appear unless I add */
  /* the following section: VarFileInfo */
  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x0, 1252 // language neutral - multilingual (decimal)
  END
END
Run Code Online (Sandbox Code Playgroud)

灵感来自: