2012-12-08 30 views

回答

1

如果你有一些DateTimedateTime,那麼你就可以使用

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是不一樣的在兩種文化中(波蘭的週一是第一天)。

2

基本上,你需要爲每種語言不同的「資源」:

的「英語」資源將包含單詞「星期天」,在「波蘭語「資源單詞」niedziela「。

+0

+0:這是對稍有不同的問題的回答 - 我如何本地化我的應用程序。星期/月份名稱的名稱已經可用。 –

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); 
+0

「語言環境」是一回事; 「語言」另一個。在這種情況下,我認爲OP不僅要在「星期天」和「niedziela」之間翻譯,還要翻譯「是」和「tak」,「Cow」和「krowa」,或者任意的單詞。而不是標準的i18n語言環境,但是我的關於[本地化資源](http://msdn.microsoft.com/en-us/library/756hydy4%28v=vs.71%29.aspx)的鏈接完全描述了它如何在.Net中完成。另一方面,Linux會使用[gettext()](http://www.gnu.org/software/gettext/manual/gettext.html)。 – paulsm4

+0

@ paulsm4,也許... OP可以決定什麼問題實際上是關於 - 現在都回答了。 –