deDE returns "NaN" 中的 NaN 本地化,而不是 Windows 8/Server 2012 中的 "n. def."

Localization of NaN in deDE returns "NaN" rather than "n. def." in Windows 8/Server 2012

在 Windows 7 和 Windows 8 之间的某个时间,Microsoft 在 de-DE 中更改了 NaN 的本地化(又名 德语(德国)) 来自:

n. def.

NaN

背景

地球上有人说英语以外的语言;在美国以外的国家/地区讲英语的人。

因此,不同的文化有不同的方式来显示 "Not a number" 的值。例如:

德语使用者使用 n。默认:

Note: What are all these variants of German, you're thinking? It's like the variants of English:

  • English (United Kingdom)
  • English (Ireland)
  • English (Australia)
  • English (New Zealand)
  • English (Caribbean)
  • English (Jamaica)
  • English (Trinidad)
  • English (Philippines)
  • English (Canada)
  • English (United States)
  • English (Belize)
  • English (Malaysia)
  • English (India)
  • English (South Africa)
  • English (Singapore)
  • English (Zimbabwe)

直到 Windows 8

有时在 Windows 7 和 Windows Server 2012 之间,Microsoft 更改(损坏?)由 GetLocaleInfo with LOCALE_SNAN 为德国(德国)又名 de-DE 返回的本地化字符串:

| Locale                 | Windows 7 | Windows Server 2012 |
|------------------------|-----------|---------------------|
| German (Austria)       | n. def.   | n.def.              |
| German (Germany)       | n. def.   | NaN                 |
| German (Liechtenstein) | n. def.   | n.def.              |
| German (Luxembourg)    | n. def.   | n.def.              |
| German (Switzerland)   | n. def.   | n.def.              |

您希望我们对此做什么?

我希望有人能确认回归, 或者它可能是一个已声明的错误。

我希望有人可以提供解决方法(当然,除了检测 OS 版本并返回自定义值。

Note: GetVersionEx is deprecated and now always lies

我希望本地化团队的某个人能看到这个问题并发表意见。也许 @MichaelKaplan;谁是本地化和全球化信息的最大单一来源。

真的,我只想有人说,"Yes, you're right, Microsoft broke it. We are where we are, so let it go."

我不认为它是一个错误,因为 CLDR data 指定大多数语言的本地化字符串为 NaN,包括德语的所有变体。软件供应商越来越多地以某种方式使用 CLDR 数据,因此我认为如果您认为德语的 CLDR 信息有误,您应该尝试更改它。

不过,要考虑利弊。 “NaN”实际上是一个技术概念,指的是预期为数字但不是有效数字的数据(位模式)。它确实可能出现在最终用户的输出中,但您确实需要了解所涉及的编程概念才能理解它的含义。很可能理解的人知道字符串“NaN”,但可能无法识别其本地化版本。我什至会说,例如对 JavaScript 程序员来说,“n。定义。可能会产生误导,因为它暗示“nicht definiert”,听起来像 undefined,与 NaN.

截然不同

(我可能负责此条目在 CLDR 中的芬兰语本地化。我想“epäluku”一词对应德语中的“Unzahl”,听起来不错。但转念一想,它是可能太聪明了。真的没有对应的自然语言概念。)