X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=tools%2Flocale-builder%2FCultureInfoEntry.cs;h=fb9f642e2420449bbb9f702b218fbecfc3a41649;hb=c0ba6dca416db15e7919fe775d29b9cf0124a611;hp=9a13d306f5bf19c4ded841c9a9194ec338cd1004;hpb=7f449e7aff8f374d13db7023c7b326dde01b763d;p=mono.git diff --git a/tools/locale-builder/CultureInfoEntry.cs b/tools/locale-builder/CultureInfoEntry.cs index 9a13d306f5b..fb9f642e242 100644 --- a/tools/locale-builder/CultureInfoEntry.cs +++ b/tools/locale-builder/CultureInfoEntry.cs @@ -15,7 +15,13 @@ namespace Mono.Tools.LocaleBuilder { public class CultureInfoEntry : Entry { - public string Language; + public static CultureInfoEntry ShallowCopy (CultureInfoEntry e) + { + return (CultureInfoEntry) e.MemberwiseClone (); + } + + string language; + public string Territory; public string EnglishName; public string DisplayName; @@ -27,8 +33,10 @@ namespace Mono.Tools.LocaleBuilder { public string Lcid; public string ParentLcid; public string SpecificLcid; + public int RegionId = -1; public DateTimeFormatEntry DateTimeFormatEntry; public NumberFormatEntry NumberFormatEntry; + public TextInfoEntry TextInfoEntry; public int [] CalendarData = new int [5]; public int DateTimeIndex; public int NumberIndex; @@ -42,11 +50,20 @@ namespace Mono.Tools.LocaleBuilder { NumberFormatEntry = new NumberFormatEntry (); } + public string Language { + get { + return language; + } + set { + language = (value == "zh") ? "zh-CHS" : value; + } + } + public string Name { get { if (Territory == null) return Language; - return Language + "-" + Territory; + return (Language.StartsWith ("zh") ? "zh" : Language) + "-" + Territory; } } @@ -60,19 +77,21 @@ namespace Mono.Tools.LocaleBuilder { public void AppendTableRow (StringBuilder builder) { builder.Append ("\t{"); - builder.AppendFormat ("{0}, {1}, {2}, " + - "\"{3}\", \"{4}\", \"{5}\", " + - "\"{6}\", \"{7}\", \"{8}\", " + - "\"{9}\", \"{10}\", " + - "{11}, " + - "{12}, {13}", - Lcid, ParentLcid, SpecificLcid, - EncodeString (Name), EncodeString (IcuName), EncodeString (EnglishName), - EncodeString (DisplayName), EncodeString (NativeName), EncodeString (Win3Lang), - EncodeString (ISO3Lang), EncodeString (ISO2Lang), + builder.AppendFormat ("{0}, {1}, {2}, {3}," + + "{4}, {5}, {6}, " + + "{7}, {8}, {9}, " + + "{10}, {11}, {12}, " + + "{13}, " + + "{14}, {15}, {16}", + Lcid, ParentLcid, SpecificLcid, RegionId, + EncodeStringIdx (Name), EncodeStringIdx (IcuName), EncodeStringIdx (EnglishName), + EncodeStringIdx (DisplayName), EncodeStringIdx (NativeName), EncodeStringIdx (Win3Lang), + EncodeStringIdx (ISO3Lang), EncodeStringIdx (ISO2Lang), + EncodeStringIdx (Territory), ValuesString (CalendarData), DateTimeFormatEntry == null ? -1 : DateTimeFormatEntry.Row, - NumberFormatEntry == null ? -1 : NumberFormatEntry.Row); + NumberFormatEntry == null ? -1 : NumberFormatEntry.Row, + TextInfoEntry.ToString ()); builder.Append ('}'); }