【问题标题】:culture fallback文化回退
【发布时间】:2010-02-09 14:56:45
【问题描述】:

我假设下面的代码是正确的,

CultureInfo 文化 = CultureInfo.GetCulture("zh-CN"); Assert.IsTrue(culture.GetConsoleFallbackUICulture().Name == "en");

但不是,culture.GetConsoleFallbackUICulture().Name 仍然是“en-US”,我想知道获取回退文化的 API 是什么。

谢谢 杰夫

【问题讨论】:

  • 我假设下面的代码是.Net?请正确标记。

标签: c# .net globalization cultureinfo


【解决方案1】:

这是正确的,en-US 不需要回退,这就是它返回 en-US 的原因。

仅此列表中的文化受到影响:http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.getconsolefallbackuiculture.aspx

编辑:如果您想做评论中的内容,请使用 CultureInfo.Parent 属性。

【讨论】:

  • 谢谢,但我想模仿 .net 文化的后备行为,我想得到 cutlure "en-US" 的父 cutlure,我假设它是 "en" 和 "en" ' s parent 是 Cutlure.InvariantCulture,我该如何实现?
  • 请编辑你原来的问题...我已经更新了我的答案。
【解决方案2】:
CultureInfo culture = CultureInfo.GetCulture("en-US");
Assert.IsFalse(culture.IsNeutralCulture); // en-US is NOT Neutral
Assert.IsTrue(culture.Parent.Name == "en"); // Our parent's culture is the neutral english culture
Assert.IsTrue(culture.Parent.IsNeutralCulture); // en is Neutral
Assert.IsTrue(culture.Parent.Parent.Name == ""); // Our grandparent's culture is the invariant culture

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多