Delphi 以多种语言本地化(我认为是英语、日语、德语、法语)。命令行编译器 (dcc32) 也已本地化,因此德语版本将“Fehler”而不是“Error”和“Warnung”而不是“Warning”写入控制台。
我编写了一个程序来解析这个输出并(作为它的一个特性)计算错误和警告。本地化字符串失败。
我可以调整程序以检测本地化文本,但感觉不对。我宁愿强制编译器使用英语作为输出。是否有命令行开关或任何其他选项可以做到这一点?
我想支持所有使用 msbuild 的 Delphi 版本,即 >=2007。
编辑:
至于读取错误代码而不是消息,请考虑以下错误:
C:\[...]\Borland.Delphi.Targets(113,3): error : blub.pas(56) Error: E2029 ',' expected but identifier 'bla' found
错误代码是 E2029,但程序很难检测到它。检测文本“错误:”要简单得多且不易出错。