如何将布尔值转换为本地化字符串

时间:2013-12-16 20:11:28

标签: c# .net string localization cultureinfo

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

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年之前开始输入开关吗?

2 个答案:

答案 0 :(得分:8)

好吧,开始输入,因为它记录了行为:)

<强> Boolean.ToString(的IFormatProvider)

  

说明

     

保留provider参数。它没有参加   执行此方法。这意味着   Boolean.ToString(IFormatProvider)方法,与大多数方法不同   provider参数,不反映特定于文化的设置。

答案 1 :(得分:1)

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

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

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