针对开发人员的异常消息是否应该本地化?

问题描述 投票:0回答:5

我指的是显示开发人员错误使用 API 的异常消息。例如,错误地将 null 传递给方法。因此,开发人员第一次运行错误代码时会遇到的异常类型。永远不应该向系统用户显示的异常消息类型。

这与以下理论有关:由于编程语言是英语,因此程序员已经了解英语。或者至少足以破译异常消息。

http://www.codinghorror.com/blog/archives/001248.html(请不要在这里讨论这个理论)

是的,我知道 .net 框架遵循“本地化一切”方法。

.net exception localization frameworks
5个回答
21
投票

您的问题可以改写为“所有开发人员都应该收到相同的错误消息,以便他们可以通过 Google 搜索吗?” ;)

答案是肯定的。

翻译过来的意思是

  • 该消息不再与编写 API 的人所预期的相同。它可能具有相同的含义,或者可能在翻译中丢失了一些东西。它可能翻译得不好,在某些情况下可能完全无法阅读。
  • 无论谁读到它,都不能简单地将错误输入谷歌并查看其他遇到此错误的人做了什么。因为其他人用不同的语言都遇到了同样的错误。

关于 .NET 的“本地化一切”方法,这是可怕的。我被它绊倒了无数次,特别是因为如果它无法找到本地化资源,它确实给你简单的英文版本。相反,它会给您一个“无法找到资源”错误,从而有效地丢弃实际的错误信息。


4
投票

不,我认为他们不应该这样做(或者至少我们不这样做,而且我们相当大:-)。我们付出了足够的努力来本地化用户看到的所有内容,而不必担心开发人员。

目前还没有支持外语关键字和标准库的主流语言,因此对英语的基本掌握已经是开发人员的先决条件。

当然,如果开发人员开发自己的库(或语言),他们可以非常自由地本地化或选择非英语语言。


2
投票

在我们公司,我们允许为我们的编译器/IDE 翻译异常/错误消息,并提供翻译这些异常/错误消息的框架,但我们自己不进行翻译。然后由客户决定是否愿意翻译。有许多国家的英语并不那么流行,但他们自己的语言得到了推广。因此,允许翻译错误消息是有意义的。


0
投票

这完全取决于谁来维护代码。如果开发人员始终是英语,那么将其全部保留为英语是有意义的。

此外,我不确定 .NET Framework 是否以本地化方式抛出错误消息。我一直认为这些错误消息始终是英文的,因此将内部错误消息也保留为英文是有意义的。


0
投票

如果您翻译异常消息,那么您还应该翻译出现异常消息的所有文本。这包括您拥有的任何知识库或错误跟踪系统,因为用户和程序员会希望在其中搜索他们在屏幕上看到的异常消息。

© www.soinside.com 2019 - 2024. All rights reserved.