Wie Arabisch Termine im gregorianischen Kalender angezeigt werden?
-
21-08-2019 - |
Frage
Ich habe eine mehrsprachige ASP.NET-Website; einer der Sprachen ist Arabisch (ar-SA). Zum Umschalten zwischen den Kulturen, ich diesen Code verwenden:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Name)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(Name)
Wenn Sie das Datum eines Artikels angezeigt wird, zum Beispiel, ich dies nur tun, und die Lokalisierung API kümmert sich um alles:
<%#Eval("DatelineDate","{0:d MMMM yyyy}")%>
Das Problem ist, dass diese Termine zeigt die Hijiri (islamischen) Kalender (z.B. 2008 das Jahr als 1429 gemacht wird). Der Kunde möchte die Termine (immer noch die Monatsnamen und alles andere in Arabisch Rendering, natürlich) mit dem gregorianischen Kalender anzuzeigen. Wie kann ich das tun?
Lösung
Antwort:
Es stellte sich heraus die ar-SA Kultur die einzige ist, die Hijiri Kalender zu verwenden; alle anderen arabischen Kulturen verwenden Gregorian. Hier sind die verschiedenen Datumsformate in Arabisch (etwas vermasselt, weil WMD nicht zu unterstützen RTL Text unterstützt scheinen).
ar-AE 11 ديسمبر 2008
ar-BH 11 ديسمبر 2008
ar-DZ 11 ديسمبر 2008
ar-EG 11 ديسمبر 2008
ar-IQ 11 كانون الأول 2008
ar-JO 11 كانون الأول 2008
ar-KW 11 ديسمبر 2008
ar-LB 11 كانون الأول 2008
ar-LY 11 ديسمبر 2008
ar-MA 11 دجنبر 2008
ar-OM 11 ديسمبر 2008
ar-QA 11 ديسمبر 2008
ar-SA 13 ذو الحجة 1429
ar-SY 11 كانون الأول 2008
ar-TN 11 ديسمبر 2008
ar-YE 11 ديسمبر 2008
Und für was es wert ist hier die quick & dirty Code, den ich verwenden, um diese Liste zu erzeugen:
Response.Write("<table width=300px>")
For Each ci As CultureInfo In (From c As CultureInfo In CultureInfo.GetCultures(CultureTypes.AllCultures) Order By c.Name Where c.Name.StartsWith("ar-"))
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(ci.Name)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(ci.Name)
Response.Write(String.Format("<tr><td>{0}</td> <td style='direction:rtl;font-size:20px;'>{1:d MMMM yyyy}</td></tr>", ci.Name, Today))
Next
Response.Write("</table>")
Response.End()
Weitere Kulturen unter http: // www.massimilianobianchi.info/max/articles/22/UI-culture-list-and-codes.aspx
Andere Tipps
Sie können einfach ein anderes arabisches Gebietsschema verwenden, Der einzige Unterschied zwischen ihnen ist das Datumsformat ...