Thursday, April 01, 2004

Globalization and getting the Months right (Arabic Morocco)

The follwing code is in C# (easy to convert to VB.Net)... Have fun :

 

using System;

 

namespace Malek.Globalization

{

   /// <summary>

   /// Summary description for CultureInfo.

   /// </summary>

   public class CultureInfo : System.Globalization.CultureInfo

   {

      public CultureInfo(int culture) : base(culture)

      {

         setValidDateTimeFormat();

      }

      public CultureInfo(int culture, bool userOverride) :    base(culture, userOverride)

      {

         setValidDateTimeFormat();

      }

      public CultureInfo(string culture) :    base(culture)

      {

         setValidDateTimeFormat();

      }

      public CultureInfo(string culture, bool userOverride) :    base(culture, userOverride)

      {

         setValidDateTimeFormat();

      }

 

      public static new CultureInfo CreateSpecificCulture(string culture)

      {

         return new CultureInfo(culture);

      }

//      private System.Globalization.DateTimeFormatInfo base.DateTimeFormat;

 

      private string[] MoroccoMonthNames= new string[]{"يناير", "فبراير","مارس","أبريل","ماي","يونيو","يوليوز","غشت","شتنبر","أكتوبر","نونبر","دجنبر",""};

 

      private void setValidDateTimeFormat(){

         if (Name.ToLower()=="ar-ma")

         {

               System.Globalization.DateTimeFormatInfo dtfi = (System.Globalization.DateTimeFormatInfo)base.DateTimeFormat.Clone();

               dtfi.MonthNames=MoroccoMonthNames;

               dtfi.AbbreviatedMonthNames=MoroccoMonthNames;

               dtfi.AbbreviatedDayNames=dtfi.DayNames;

               dtfi.ShortDatePattern="dd/MM/yy";

               dtfi.LongDatePattern="dddd dd MMMM yyyy";

               DateTimeFormat= dtfi;

         }

      }

   }

}

 

 

 


.Net | Csharp | main
4/1/2004 9:58:37 PM UTC  #