我有一个字符串“星期日”,我想改变这个波兰语(波兰)。我怎么能改变。我尝试使用Iformatprovider
答案 0 :(得分:2)
基本上,每种语言都需要不同的“资源”:
“英语”资源包含“星期日”一词,“波兰语”资源包含“niedziela”一词。
答案 1 :(得分:1)
你需要从你想要的文化中获得“IFormatProvider”。即
new System.Globalization.CultureInfo("pl-pl").DateTimeFormat.DayNames[0]; // niedziela
或者将当前DateTime
格式化为一周中的某一天:
var day = String.Format(
new System.Globalization.CultureInfo("pl-pl"),
"Now:{0:dddd}", DateTime.Now);
答案 2 :(得分:1)
如果您有一些DateTime
值dateTime
,则可以使用
dateTime.ToString("dddd")
生成当前文化中的星期名称,或
dateTime.ToString("dddd", new CultureInfo("da-DK"))
在另一种文化中生产它(丹麦语(丹麦))。
如果您想要这些日期名称的“来源”,请使用
string[] dayNamesPolish = (new CultureInfo("pl-PL")).DateTimeFormat.DayNames;
string[] dayNamesEnglish = CultureInfo.InvariantCulture.DateTimeFormat.DayNames;
要实际翻译字符串,请执行以下操作:
string stringToTranslate = "Sunday";
int idx = Array.IndexOf(dayNamesEnglish, stringToTranslate);
string stringResult = dayNamesPolish[idx];
即使FirstDayOfWeek
在两种文化中不相同(波兰语周一作为第一天),这种方法也有效。
答案 3 :(得分:0)
请参阅此国家语言支持(NLS)API参考,http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx