【问题标题】:How to convert boolean to localized string如何将布尔值转换为本地化字符串
【发布时间】:2013-12-16 20:11:28
【问题描述】:

有任何方法可以将布尔值转换为本地化字符串。我试过了:

var x = true;

var culture = new CultureInfo("en-US")
x.ToString(culture) // returns True

culture = new CultureInfo("pt-BR")
x.ToString(culture) // returns True, expected Verdadeiro

或者我应该现在开始输入开关以在 2020 年之前结束吗?

【问题讨论】:

  • 那是从字符串转换为布尔值,我想要另一个方向。
  • 开始输入,因为您必须在 Windows 中安装语言包才能真正“看到”另一种语言。
  • 好吧,很多语言都有 NumberFormat 和 Calendars,为什么不使用布尔字符串...
  • 如果您不想全部输入,那么x ? "1" : "0" 是您所拥有的最简单的解决方案,我猜这将是您能得到的最通用的解决方案。
  • 或者我现在应该开始输入切换到 2020 年之前结束吗? 你完成切换了吗?一种薄荷糖。 2020 年来了 :)

标签: c# .net string localization cultureinfo


【解决方案1】:

好吧,开始输入吧,因为这是记录在案的行为:)

Boolean.ToString(IFormatProvider)

备注

提供者参数是保留的。它不参与 该方法的执行。这意味着 Boolean.ToString(IFormatProvider) 方法,与大多数具有 provider 参数,不反映特定于文化的设置。

【讨论】:

    【解决方案2】:

    正如@Michal 指出的,这是记录在案的行为。

    如果您的系统支持多种语言,您必须有某种i18 支持。使用它将布尔值转换为字符串。您可以像这样添加扩展方法:

    public string ToLocalizedString(this bool b)
    {
        return ...i18n version of true or false...
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-24
      • 2011-02-17
      • 2012-04-02
      • 2021-02-23
      • 1970-01-01
      • 2018-09-07
      • 1970-01-01
      • 2016-07-13
      相关资源
      最近更新 更多