2013-04-24 1 views
0

Я хочу изменить формат отображения даты с английского на фарси в поддерживаемом Umbraco. Я применяю этот параметр в web.config. Но не работает. (дата выбора (публикация в & Remove в) на вкладке свойств)Как изменить формат даты по умолчанию с английского на фарси?

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

Как я могу это сделать?

+0

Знаете ли вы что-нибудь о глобализации в Asp.net, если хотите больше информации, позвольте мне сейчас, чтобы создать для вас сообщение – saeed

+0

Я использую версию Umbraco 4.11.6 – Jahan

+0

, когда вы хотите изменить формат отображения времени во время разработки или во время выполнения? – saeed

ответ

1

Язык в базе данных Umbraco определяется пользователем вошедшим в систему.По состоянию на сейчас, Umbraco поддерживает только следующие языки из коробки:

  • датском
  • Немецкой
  • Английских (Великобритания)
  • Английских (США)
  • испанского
  • французского
  • Иврит (Израиль)
  • Итальянский
  • Японский
  • Корейского
  • Голландских
  • Норвежского
  • Польского
  • Португальского Бразилия
  • Русского
  • Шведских
  • Китайских (Simple)

В зависимости от выбранного языка за та t конкретный пользователь, дата будет отображаться в формате, соответствующем этой культуре.

Этот форум, Farsi and rtl support...., дает некоторую информацию о том, как добавить новый перевод, если это вас интересует.

+0

моя проблема не решена. – Jahan

0

Как я искать, к сожалению, Umbraco не поддерживает Persian Даты времени Forma, но вы можете изучить 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); 

но если ваша дата является датой Jalali уже затем просто использовать:

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

теперь, если у вас есть строка, содержащая дату Jalali как «1390/12/10», и вы хотите, чтобы получить свой день Назовите его немного сложнее.

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 для вашего сервера "{ServerName} - {IDString} -map.xml", а затем удаляется CDJ-файл, который является скомпилированным js, включая umbDateTimePicker.js
  2. Перезапустить приложение/appPool для инициируйте создание нового файла ClientDependency с новыми настройками.

Я также вижу жестко-закодированные строки формата даты и время в umbraco.controls: umbraco.uicontrols.DatePicker.DateTimePicker.DateTime сеттер.

Выполнено на различных версиях Umbraco 4.x.