كيفية عرض التواريخ العربية في التقويم الميلادي؟
-
21-08-2019 - |
سؤال
ولدي موقع ASP.NET متعدد اللغات. واحدة من اللغات غير العربية (AR-SA). للتبديل بين الثقافات، وأنا استخدم هذا الرمز:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Name)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(Name)
عند عرض التاريخ من مقال، على سبيل المثال، وأنا مجرد قيام بذلك، وAPI توطين يعتني كل شيء:
<%#Eval("DatelineDate","{0:d MMMM yyyy}")%>
والمشكلة هي أن هذا يعرض التواريخ باستخدام Hijiri (الإسلامي) التقويم (على سبيل المثال عام 2008 كما تصدر 1429). يريد العميل لعرض التواريخ باستخدام التقويم الغريغوري (لا يزال تقديم أسماء الشهر وكل شيء آخر في اللغة العربية، وبطبيعة الحال). كيف يمكنني أن أفعل هذا؟
المحلول
الجواب:
وتبين ثقافة AR-SA هي الوحيدة استخدام التقويم Hijiri. جميع الثقافات العربية الأخرى تستخدم الميلادي. وهنا تنسيقات التاريخ المختلفة باللغة العربية (عابث قليلا حتى لأسلحة الدمار الشامل لا يدعم يبدو لدعم النص RTL).
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
ولما كان يستحق هنا هو رمز سريعة وقذرة أنا استخدامها لتوليد هذه القائمة:
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()
وعن الثقافات في HTTP: // www.massimilianobianchi.info/max/articles/22/UI-culture-list-and-codes.aspx
نصائح أخرى
ويمكنك فقط استخدام اللغة العربية آخر، والفرق الوحيد بينهما هو تنسيق التاريخ ...