Как преобразовать boolean в локализованную строку
есть ли способ, чтобы преобразовать значение в локализованную строку. Я пробовал:
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 ответов
ну, начните печатать, потому что это документированное поведение:)
Boolean.Метод ToString(Объекта Iformatprovider)
Примечания
параметр provider зарезервирован. Она не участвует в выполнение данного метода. Это означает, что Логический.Метод ToString(IFormatProvider), в отличие от большинства методов с параметр provider, не отражает параметры культуры.
Как указал @Michal, это задокументированное поведение.
Если ваша система поддерживает много языков, у вас должен быть какой-то i18 поддержка. Использовать это, чтобы преобразовать значение в строку. Вы можете добавить метод расширения следующим образом:
public string ToLocalizedString(this bool b)
{
return ...i18n version of true or false...
}