Windows错误消息翻译

时间:2016-02-17 08:26:23

标签: delphi winapi

我的应用程序在启动时需要一些文件。

我在Application.Initialize之前检查那些。

begin
  if not FileExists('required.db') then
  begin
    with Application do
    begin
      NormalizeTopMosts;
      MessageBox('Datei nicht gefunden' + ' (required.db)', 'Error', MB_OK); // Localize this
      RestoreTopMosts;
      Exit;
    end;
  end;

  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

应该针对不同语言本地化应用程序。应用程序启动后,我使用数据库进行翻译。

如果必须在应用程序启动之前完成此文件检查。 所以我现在想用正确的语言显示错误信息。

在我上面的例子中,我使用:

MessageBox('Datei nicht gefunden' + ' (required.db)', 'Error', MB_OK); //Localize this

Datei nicht gefundenFile not found的德语翻译。

我不想使用资源字符串或某些文件/数据库查找进行翻译。

this microsoft website上,您可以查找翻译。

这些基本错误消息的翻译已存储在我想要使用的那些窗口中。

因此,如果用户有英文窗口,则应显示File not found,依此类推。

最佳解决方案是:

MessageBox(GetTranslation(ERROR_FILENOTFOUND) + ' (required.db)', 'Error', MB_OK); 

所以我的问题是:

如何获取Windows翻译以获取基本错误消息,例如"找不到文件"使用与用户操作系统相同的语言?

1 个答案:

答案 0 :(得分:0)

我认为你应该使用FormatMessage()