Example #1
0
        public dictCrsData(Langs crsLang, dictOptions options)
        {
            this.options = options; this.crsLang = crsLang;
            var formsFn = string.Format(Machines.rootPath + @"RwDicts\Forms\{0}forms_{1}.xml", options.lingeaOnly ? "ling_" : null, crsLang);

            try {
                forms = LookupLib.fromStrings(File.ReadAllLines(formsFn));
            } catch {
                throw;
            }
            sounds = options.sounds[crsLang];
        }
Example #2
0
    public static void DictForCourses()
    {
        //dictOptions options = new dictOptions() { forAllCourses = true, lingeaOnly = false, dictTypes = new DictEntryType[] { DictEntryType.lingeaOld} };
        dictOptions options = new dictOptions()
        {
            FriendlyId = CourseMeta.dictTypes.L, forAllCourses = false, lingeaOnly = true
        };

        Parallel.ForEach(DictLib.crsLangs,                                 //.Where(l => l == Langs.de_de),
                                                                           //new ParallelOptions { MaxDegreeOfParallelism = 1 },
                         lng => DictForCourses(lng,
                                               CommonLib.bigLocalizations, //.Where(l => l == Langs.bg_bg),
                                               XmlUtils.FileToObject <DictCrsWords>(string.Format(Machines.rootPath + @"RwDicts\UsedWords\CourseWords_{0}.xml", lng)),
                                               options)
                         );
    }
Example #3
0
 //************ slovniky ke kurzum
 static void DictForCourses(Langs crsLang, IEnumerable <Langs> natLangs, DictCrsWords langCrs, dictOptions options)
 {
     //dictCrsData crsData = options.getCrsData(crsLang);
     //if (options.forAllCourses) {
     //  //jeden slovnik pro cely kurz
     //  var wordForms = crsData.getWordsForms(langCrs.exs.SelectMany(e => e.normalized.Split(' ')).Distinct().OrderBy(w => w)); //.SelectMany(s => jsCompatibleWordWrap(s)).Distinct()); //.Where(w => w == "abbreviations"));
     //  Parallel.ForEach(natLangs.Where(n => n != crsLang),
     //    //new ParallelOptions { MaxDegreeOfParallelism = 1 },
     //    natLang => {
     //      dictNatData natData = crsData.getNatData(natLang);
     //      var dict = natData.dictForText(wordForms, null);
     //      if (dict == null) return;
     //      EADeployLib.writeFile(
     //        @"d:\temp\",
     //        crsLang.ToString() + ".json",
     //        natLang,
     //        JsonConvert.SerializeObject(dict, Newtonsoft.Json.Formatting.Indented, EADeployLib.jsonSet),
     //        true);
     //    });
     //} else {
     //  //pro kazdy modul jeden slovnik
     //  var mods = langCrs.exs.GroupBy(e => e.modId).Select(g => new { jsonId = g.Key, exs = g.ToArray(), isGramm = g.Key.StartsWith(grammSpace) }).ToArray();
     //  Parallel.ForEach(natLangs.Where(n => n != crsLang),
     //    //new ParallelOptions { MaxDegreeOfParallelism = 1 },
     //    natLang => {
     //      dictNatData natData = crsData.getNatData(natLang);
     //      List<string> notFound = new List<string>();
     //      foreach (var mod in mods) {
     //        //if (mod.jsonId != "russian2_xlesson5_schapterc_shome_dhtm") continue;
     //        var words = crsData.getWordsForms(mod.exs.SelectMany(testEx => testEx.normalized.Split(' ')).Distinct().OrderBy(w => w)); //.SelectMany(s => jsCompatibleWordWrap(s)).Distinct());
     //        //HashSet<string> wordsSet = new HashSet<string>(words);
     //        var dict = natData.dictForText(words, null);
     //        if (dict == null) continue;
     //        var dirName = mod.isGramm ? "EAGrammar" : "EAData";
     //        var modId = mod.isGramm ? mod.jsonId.Replace(grammSpace, null) : mod.jsonId;
     //        var modDir = Machines.basicPath + @"rew\Web4\Schools\" + dirName + @"\";
     //        EADeployLib.writeFile(
     //          modDir,
     //          modId + "_" + options.FriendlyId + ".json",
     //          natLang,
     //          JsonConvert.SerializeObject(dict, Newtonsoft.Json.Formatting.Indented, EADeployLib.jsonSet),
     //          true);
     //        //info propName zvukovych souborech
     //        File.WriteAllLines(
     //          modDir + natLang.ToString().Replace('_', '-') + @"\" + modId + "_" + options.FriendlyId + ".txt",
     //          dict.sounds);
     //        notFound.AddRange(dict.notFound);
     //        //dict.Entries.SelectMany(e => e.Value.soundFiles.Where(s => !string.IsNullOrEmpty(s)).Select(s => @"RwDicts\LingeaSound\" + s + ".mp3")).Distinct());
     //      }
     //      File.WriteAllLines(string.Format(@"d:\LMCom\rew\Web4\RwDicts\NotFounds\{0}_{1}_{2}.txt", natLang, crsLang, options.FriendlyId), notFound.OrderBy(w => w));
     //    });
     //}
 }