我有一个字符串“Sunday”,我想更改这个 Polish(Poland) 。我该如何改变。我尝试使用 Iformateprovider
问问题
401 次
4 回答
2
基本上,每种语言都需要不同的“资源”:
“English”资源将包含单词“Sunday”,“Polish”资源包含单词“niedziela”。
于 2012-12-08T03:03:34.140 回答
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);
于 2012-12-08T04:45:11.683 回答
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
在两种文化中不一样(波兰语将星期一作为第一天),这仍然有效。
于 2012-12-08T11:13:35.290 回答
0
请参阅此国家语言支持 (NLS) API 参考, http: //msdn.microsoft.com/en-us/goglobal/bb896001.aspx
于 2012-12-08T03:05:59.447 回答