public string GetNameById(NameIds nameId) { foreach (NameRecord name in this.names) { if (name.Platform == PlatformIDs.Windows && name.LanguageID == 0409) { if (name.NameID == nameId) { return(name.Value); } } } foreach (NameRecord name in this.names) { if (name.Platform == PlatformIDs.Windows) { if (name.NameID == nameId) { return(name.Value); } } } foreach (NameRecord name in this.names) { if (name.NameID == nameId) { return(name.Value); } } return(null); }
public NameRecord(PlatformIDs platform, ushort languageId, NameIds nameId, string value) { this.Platform = platform; this.LanguageID = languageId; this.NameID = nameId; this.value = value; }
public static NameRecord Read(BigEndianBinaryReader reader) { PlatformIDs platform = reader.ReadUInt16 <PlatformIDs>(); EncodingIDs encodingId = reader.ReadUInt16 <EncodingIDs>(); Encoding encoding = encodingId.AsEncoding(); ushort languageID = reader.ReadUInt16(); NameIds nameID = reader.ReadUInt16 <NameIds>(); var stringReader = StringLoader.Create(reader, encoding); return(new NameRecord(platform, languageID, nameID, string.Empty) { StringReader = stringReader }); }
public string GetNameById(CultureInfo culture, NameIds nameId) { #if SUPPORTS_CULTUREINFO_LCID var languageId = culture.LCID; #else var languageId = 0x0409; #endif NameRecord?usaVersion = null; NameRecord?firstWindows = null; NameRecord?first = null; foreach (NameRecord name in this.names) { if (name.NameID == nameId) { // get just the first one, just incase. first ??= name; if (name.Platform == PlatformIDs.Windows) { // if us not found return the first windows one firstWindows ??= name; if (name.LanguageID == 0x0409) { // grab the us version as its on next best match usaVersion ??= name; } if (name.LanguageID == languageId) { // return the most exact first return(name.Value); } } } } return(usaVersion?.Value ?? firstWindows?.Value ?? first?.Value ?? string.Empty); }
public void InitIdNames() { NameIds.Add("1万", AgariIndex.MAN1); NameIds.Add("2万", AgariIndex.MAN2); NameIds.Add("3万", AgariIndex.MAN3); NameIds.Add("4万", AgariIndex.MAN4); NameIds.Add("5万", AgariIndex.MAN5); NameIds.Add("6万", AgariIndex.MAN6); NameIds.Add("7万", AgariIndex.MAN7); NameIds.Add("8万", AgariIndex.MAN8); NameIds.Add("9万", AgariIndex.MAN9); NameIds.Add("1筒", AgariIndex.PIN1); NameIds.Add("2筒", AgariIndex.PIN2); NameIds.Add("3筒", AgariIndex.PIN3); NameIds.Add("4筒", AgariIndex.PIN4); NameIds.Add("5筒", AgariIndex.PIN5); NameIds.Add("6筒", AgariIndex.PIN6); NameIds.Add("7筒", AgariIndex.PIN7); NameIds.Add("8筒", AgariIndex.PIN8); NameIds.Add("9筒", AgariIndex.PIN9); NameIds.Add("1条", AgariIndex.SOU1); NameIds.Add("2条", AgariIndex.SOU2); NameIds.Add("3条", AgariIndex.SOU3); NameIds.Add("4条", AgariIndex.SOU4); NameIds.Add("5条", AgariIndex.SOU5); NameIds.Add("6条", AgariIndex.SOU6); NameIds.Add("7条", AgariIndex.SOU7); NameIds.Add("8条", AgariIndex.SOU8); NameIds.Add("9条", AgariIndex.SOU9); NameIds.Add("东", AgariIndex.TON); NameIds.Add("南", AgariIndex.NAN); NameIds.Add("西", AgariIndex.SHA); NameIds.Add("北", AgariIndex.PEI); NameIds.Add("白", AgariIndex.HAK); NameIds.Add("发", AgariIndex.HAT); NameIds.Add("中", AgariIndex.CHU); NameIds.Add("梅", AgariIndex.PLUM); NameIds.Add("兰", AgariIndex.ORCHID); NameIds.Add("竹", AgariIndex.BAMBOO); NameIds.Add("菊", AgariIndex.CHRYSANTHEMUM); NameIds.Add("春", AgariIndex.SPRING); NameIds.Add("夏", AgariIndex.SUMMER); NameIds.Add("秋", AgariIndex.AUTUMN); NameIds.Add("冬", AgariIndex.WINTER); IdNames.Add(AgariIndex.MAN1, "1万"); IdNames.Add(AgariIndex.MAN2, "2万"); IdNames.Add(AgariIndex.MAN3, "3万"); IdNames.Add(AgariIndex.MAN4, "4万"); IdNames.Add(AgariIndex.MAN5, "5万"); IdNames.Add(AgariIndex.MAN6, "6万"); IdNames.Add(AgariIndex.MAN7, "7万"); IdNames.Add(AgariIndex.MAN8, "8万"); IdNames.Add(AgariIndex.MAN9, "9万"); IdNames.Add(AgariIndex.PIN1, "1筒"); IdNames.Add(AgariIndex.PIN2, "2筒"); IdNames.Add(AgariIndex.PIN3, "3筒"); IdNames.Add(AgariIndex.PIN4, "4筒"); IdNames.Add(AgariIndex.PIN5, "5筒"); IdNames.Add(AgariIndex.PIN6, "6筒"); IdNames.Add(AgariIndex.PIN7, "7筒"); IdNames.Add(AgariIndex.PIN8, "8筒"); IdNames.Add(AgariIndex.PIN9, "9筒"); IdNames.Add(AgariIndex.SOU1, "1条"); IdNames.Add(AgariIndex.SOU2, "2条"); IdNames.Add(AgariIndex.SOU3, "3条"); IdNames.Add(AgariIndex.SOU4, "4条"); IdNames.Add(AgariIndex.SOU5, "5条"); IdNames.Add(AgariIndex.SOU6, "6条"); IdNames.Add(AgariIndex.SOU7, "7条"); IdNames.Add(AgariIndex.SOU8, "8条"); IdNames.Add(AgariIndex.SOU9, "9条"); IdNames.Add(AgariIndex.TON, "东"); IdNames.Add(AgariIndex.NAN, "南"); IdNames.Add(AgariIndex.SHA, "西"); IdNames.Add(AgariIndex.PEI, "北"); IdNames.Add(AgariIndex.HAK, "白"); IdNames.Add(AgariIndex.HAT, "发"); IdNames.Add(AgariIndex.CHU, "中"); IdNames.Add(AgariIndex.PLUM, "梅"); IdNames.Add(AgariIndex.ORCHID, "兰"); IdNames.Add(AgariIndex.BAMBOO, "竹"); IdNames.Add(AgariIndex.CHRYSANTHEMUM, "菊"); IdNames.Add(AgariIndex.SPRING, "春"); IdNames.Add(AgariIndex.SUMMER, "夏"); IdNames.Add(AgariIndex.AUTUMN, "秋"); IdNames.Add(AgariIndex.WINTER, "冬"); }