2013-04-24 101 views
0

我想在支持的Umbraco中將日期時間格式從英文更改爲波斯語。 我在web.config.中應用此設置,但沒有奏效。 如何將默認日期時間格式從英文更改爲波斯語?

<globalization enableClientBasedCulture="true" requestEncoding="UTF-8" responseEncoding="UTF-8" uiCulture="fa" culture="fa"/> 

我怎樣才能做到這一點(日期選擇器(在屬性選項卡&刪除)發佈)?

+0

你知道關於全球化的任何事情在Asp.net如果你想要更多的信息讓我現在爲你創建一個職位 – saeed 2013-04-24 12:46:58

+0

我使用的是Umbraco版本4.11.6 – Jahan 2013-04-24 12:47:46

+0

當你想改變日期時間顯示格式在設計時還是在運行時? – saeed 2013-04-24 14:35:40

回答

1

Umbraco後端的語言由用戶登錄確定。截至目前,一把umbraco僅支持以下語言開箱:

  • 丹麥
  • 德國
  • 英語(英國)
  • 英語(美國)
  • 西班牙
  • 法國
  • 希伯來語(以色列)
  • 意大利語
  • 日本
  • 韓國選擇了哪個語言
  • 荷蘭
  • 挪威
  • 波蘭
  • 葡萄牙巴西
  • 俄羅斯
  • 瑞典
  • 中國(簡單)

根據爲了特定用戶,日期將以適合該文化的格式顯示。

該論壇的帖子,Farsi and rtl support....,給出瞭如何添加一個新的翻譯,如果您有興趣在所有的一些信息。

+0

我的問題沒有解決。 – Jahan 2013-04-24 20:59:55

0

,彷彿在尋找,不幸的是一把umbraco不支持Persian日期時間備考,但你可以學習FormatDateTime和改變外觀來格式化像yyyy/mm/dd但對於像個月的全名應該創建自己的控制,或使用其他工作人員一樣PersianDate® (PD) 在代碼開發自定義的控制情況下,你可以學習PersianCalendar Class 這微小的解決方案:^)

如果你的日期是公曆日期,那麼首先必須將其轉換爲賈拉利日期是這樣的:

PersianCalendar jc = new PersianCalendar(); 
    DateTime date = new DateTime(jc.GetYear(d), jc.GetMonth(d), jc.GetDayOfMonth(d)); 
    string print = string.Format("{0:0000}/{1:00}/{2:00}", date.Year, date.Month, date.Day); 

但如果你的日期是賈拉利日期已就用:

string print = string.Format("{0:0000}/{1:00}/{2:00}", date.Year, date.Month, date.Day); 
現在

,如果你有一個字符串包含賈拉利日期,如「一三九○年十二月一十日」和你想獲得它的一天說它會有點棘手。

public static string GetDayOfWeekName(this DateTime date) 
    { 
     PersianCalendar jc = new PersianCalendar(); 
     DateTime d = jc.ToDateTime(date.Year, date.Month, date.Day, 0, 0, 0, 0, PersianCalendar.PersianEra); 

     switch (d.DayOfWeek) 
     { 
      case DayOfWeek.Saturday: return "شنبه"; 
      case DayOfWeek.Sunday: return "يکشنبه"; 
      case DayOfWeek.Monday: return "دوشنبه"; 
      case DayOfWeek.Tuesday: return "سه‏ شنبه"; 
      case DayOfWeek.Wednesday: return "چهارشنبه"; 
      case DayOfWeek.Thursday: return "پنجشنبه"; 
      case DayOfWeek.Friday: return "جمعه"; 
      default: return ""; 
     } 

首先,您應該將其轉換爲公曆日期,然後獲取日期名稱。 而不是幾個月名稱:

public static string GetMonthName(this DateTime date) 
    { 
     switch (date.Month) 
     { 
      case 1: return "فررودين"; 
      case 2: return "ارديبهشت"; 
      case 3: return "خرداد"; 
      case 4: return "تير‏"; 
      case 5: return "مرداد"; 
      case 6: return "شهريور"; 
      case 7: return "مهر"; 
      case 8: return "آبان"; 
      case 9: return "آذر"; 
      case 10: return "دي"; 
      case 11: return "بهمن"; 
      case 12: return "اسفند"; 
      default: return ""; 
     } 
    } 

我將不勝感激,如果我能爲您提供更多有用的帖子,並請讓我知道了吧!

2

的日期格式沒有更改基於爲我使用的語言。

我看到根據需要再更新客戶端依賴性日期格式硬編碼在umbraco_client \的DateTimePicker \ umbDateTimePicker.js 變化:

  1. 的App_Data \ TEMP \ ClientDependency - 或者轉儲的確切一個是CDJs或查找被用於umbDateTimePicker.js相應的XML文件中爲您的服務器「{服務器名稱} - {} IDString -map.xml」,然後刪除該文件CDJ是編譯的JS包括umbDateTimePicker.js
  2. 重新啓動應用程序/應用程序池,以用您的新設置觸發生成新的ClientDependency文件。

我還在umbraco.controls中看到硬編碼的日期時間格式字符串:umbraco.uicontrols.DatePicker.DateTimePicker.DateTime setter。

完成各種一把umbraco 4.x的版本。