public dictCrsData getCrsData(Langs crsLang) { dictCrsData res; lock (this) if (!crsData.TryGetValue(crsLang, out res)) { if (!crsData.TryGetValue(crsLang, out res)) { crsData.Add(crsLang, res = new dictCrsData(crsLang, this)); } } return(res); }
public dictNatData(Langs natLang, dictCrsData crsData) { this.crsData = crsData; this.natLang = natLang; foreach (DictEntryType type in crsData.options.lingeaOnly ? XExtension.Create(DictEntryType.lingeaOld) : crsData.options.dictTypes) { switch (type) { case DictEntryType.lingeaOld: string fn = Machines.rootPath + string.Format(@"RwDicts\Sources\LingeaOld\{1}_{0}.xml", crsData.crsLang, natLang); if (!File.Exists(fn)) { continue; } var dict = XmlUtils.FileToObject <DictObj>(fn); //provazani hesla se zvukem foreach (var en in dict.entries) { foreach (var snd in en.entry.Descendants("sound")) { if (snd.Value.StartsWith("@")) { string url; if (!crsData.sounds.TryGetValue(snd.Value.Substring(1), out url)) { continue; } snd.Value = url; } } } addDictEntries(dict.entries); break; default: throw new NotImplementedException(); } } }