I would like to display Yes/No in different languages according to some boolean variable.
Is there a generic way to format it according to the locale passed to it?
If there isn't, what is the standard way to format a boolean besides boolVar ? Resources.Yes : Resources.No
.
I'm guessing that boolVar.ToString(IFormatProvider)
is involved.
Is my assumption correct?
The framework itself does not provide this for you (as far as I know). Translating true/false
into yes/no
does not strike me as more common than other potential translations (such as on/off
, checked/unchecked
, read-only/read-write
or whatever).
I imagine that the easiest way to encapsulate the behavior is to make an extension method that wraps the construct that you suggest yourself in your question:
public static class BooleanExtensions
{
public static string ToYesNoString(this bool value)
{
return value ? Resources.Yes : Resources.No;
}
}
Usage:
bool someValue = GetSomeValue();
Console.WriteLine(someValue.ToYesNoString());