mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Ädded remaining customized date/time formats for Persian calendar, and extracted them into a separate class.
This commit is contained in:
@@ -174,7 +174,7 @@ namespace Orchard.Localization.Services {
|
||||
|
||||
public virtual string[] AmPmDesignators {
|
||||
get {
|
||||
return new [] { DateTimeFormat.AMDesignator, DateTimeFormat.PMDesignator };
|
||||
return new[] { DateTimeFormat.AMDesignator, DateTimeFormat.PMDesignator };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,30 +208,7 @@ namespace Orchard.Localization.Services {
|
||||
// "orphaned" (i.e. not supported for any culture!) in the .NET Framework, something generally
|
||||
// considered a serious bug, I think it's justified to add this particular override
|
||||
if (culture.Name == "fa-IR" && calendar is PersianCalendar) {
|
||||
var persianFormats = (DateTimeFormatInfo)culture.DateTimeFormat.Clone();
|
||||
var persianCalendarMonthNames = new[] {
|
||||
"فررودين",
|
||||
"ارديبهشت",
|
||||
"خرداد",
|
||||
"تير",
|
||||
"مرداد",
|
||||
"شهريور",
|
||||
"مهر",
|
||||
"آبان",
|
||||
"آذر",
|
||||
"دي",
|
||||
"بهمن",
|
||||
"اسفند",
|
||||
"" // 13 months names always necessary...
|
||||
};
|
||||
|
||||
persianFormats.MonthNames =
|
||||
persianFormats.AbbreviatedMonthNames =
|
||||
persianFormats.MonthGenitiveNames =
|
||||
persianFormats.AbbreviatedMonthGenitiveNames =
|
||||
persianCalendarMonthNames;
|
||||
|
||||
return persianFormats;
|
||||
return PersianDateTimeFormatInfo.Build(culture.DateTimeFormat);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,69 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Orchard.Localization.Services {
|
||||
internal static class PersianDateTimeFormatInfo {
|
||||
internal static DateTimeFormatInfo Build(DateTimeFormatInfo original) {
|
||||
var persianFormats = (DateTimeFormatInfo)original.Clone();
|
||||
|
||||
var persianCalendarMonthNames = new[] {
|
||||
"فررودين",
|
||||
"ارديبهشت",
|
||||
"خرداد",
|
||||
"تير",
|
||||
"مرداد",
|
||||
"شهريور",
|
||||
"مهر",
|
||||
"آبان",
|
||||
"آذر",
|
||||
"دي",
|
||||
"بهمن",
|
||||
"اسفند",
|
||||
"" // 13 months names always necessary...
|
||||
};
|
||||
|
||||
persianFormats.MonthNames =
|
||||
persianFormats.AbbreviatedMonthNames =
|
||||
persianFormats.MonthGenitiveNames =
|
||||
persianFormats.AbbreviatedMonthGenitiveNames =
|
||||
persianCalendarMonthNames;
|
||||
|
||||
persianFormats.SetAllDateTimePatterns(new[] {
|
||||
"yyyy/MM/dd",
|
||||
"yy/MM/dd",
|
||||
"yyyy/M/d",
|
||||
"yy/M/d"
|
||||
}, 'd');
|
||||
|
||||
persianFormats.SetAllDateTimePatterns(new[] {
|
||||
"dddd، d MMMM yyyy",
|
||||
"d MMMM yyyy"
|
||||
}, 'D');
|
||||
|
||||
persianFormats.SetAllDateTimePatterns(new[] {
|
||||
"MMMM yyyy",
|
||||
"MMMM yy"
|
||||
}, 'y');
|
||||
|
||||
persianFormats.SetAllDateTimePatterns(new[] {
|
||||
"HH:mm",
|
||||
"H:mm",
|
||||
"hh:mm tt",
|
||||
"h:mm tt"
|
||||
}, 't');
|
||||
|
||||
persianFormats.SetAllDateTimePatterns(new[] {
|
||||
"HH:mm:ss",
|
||||
"H:mm:ss",
|
||||
"hh:mm:ss tt",
|
||||
"h:mm:ss tt"
|
||||
}, 'T');
|
||||
|
||||
return persianFormats;
|
||||
}
|
||||
}
|
||||
}
|
@@ -278,6 +278,7 @@
|
||||
<Compile Include="Localization\Services\IDateFormatter.cs" />
|
||||
<Compile Include="Localization\Services\IDateTimeFormatProvider.cs" />
|
||||
<Compile Include="Localization\Services\ILocalizedStringManager.cs" />
|
||||
<Compile Include="Localization\Services\PersianDateTimeFormatInfo.cs" />
|
||||
<Compile Include="Localization\Services\SiteCalendarSelector.cs" />
|
||||
<Compile Include="Logging\OrchardFileAppender.cs" />
|
||||
<Compile Include="Logging\OrchardLog4netFactory.cs" />
|
||||
|
Reference in New Issue
Block a user