2013-12-16 18 views
7

Có bất kỳ cách nào để chuyển đổi giá trị boolean thành chuỗi được bản địa hóa. Tôi đã thử:Cách chuyển đổi boolean thành chuỗi cục bộ

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 

Hoặc tôi có nên bắt đầu nhập công tắc ngay bây giờ để kết thúc trước năm 2020 không?

+0

Thats để chuyển đổi từ chuỗi thành boolean, tôi muốn hướng khác. –

+0

Bắt đầu nhập, vì đó là lý do bạn phải cài đặt gói ngôn ngữ trong Windows trước khi bạn thực sự có thể 'thấy' ngôn ngữ khác. – Silvermind

+0

tốt, có NumberFormat và Lịch cho rất nhiều ngôn ngữ, tại sao không Boolean chuỗi ... –

Trả lời

8

Vâng, bắt đầu nhập vì đó là tài liệu hành vi :)

Boolean.ToString (IFormatProvider)

chú

Tham số nhà cung cấp được dành riêng. Nó không tham gia thực hiện của phương pháp này. Điều này có nghĩa là phương pháp Boolean.ToString (IFormatProvider), không giống như hầu hết các phương pháp có thông số nhà cung cấp , không phản ánh cài đặt dành riêng cho văn hóa.

1

Như @Michal đã chỉ ra, đây là hành vi được ghi nhận.

Nếu hệ thống của bạn hỗ trợ nhiều ngôn ngữ, bạn phải có một số loại hỗ trợ i18. Sử dụng điều đó để chuyển đổi một giá trị boolean thành chuỗi. Bạn có thể thêm một phương thức tiện ích mở rộng như vậy:

public string ToLocalizedString(this bool b) 
{ 
    return ...i18n version of true or false... 
} 
Các vấn đề liên quan