有些 dll 声明语言是“语言中立”,至少我在 C# 项目的一些 dll 上看到它:
我想对 c++ 项目做同样的事情,那么 rc 文件中这种特殊语言的价值是多少。目前我的设置是这样的(参见上一篇文章):
BEGIN
VALUE "Translation", 0x0409, 1252
END
Run Code Online (Sandbox Code Playgroud)
这导致英语为:
oneline 文档中未定义此“中性”语言的值:
经过一些快速的在线搜索后,我自己找到了解决方案:
完整示例:
// 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)
灵感来自: