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;
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;
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;
}
}
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 ('}');
}