Exemplo n.º 1
0
    public static void Parse(Dictionary <string, LangMatrixRow> res)
    {
        var googleLocsCodes = File.ReadAllLines(Directory.GetCurrentDirectory() + @"\google\googleTrans.txt").
                              Select(l => l.Split('\t')).
                              Select(p => p[1].Split(' ')[0].Replace("**", "")).
                              ToArray();
        var googleLocs = googleLocsCodes.
                         Select(w => LocaleIdentifier.Parse(w).MostLikelySubtags()).
                         ToArray();
        var oks = googleLocs.
                  Select(loc => Langs.fullNameToMeta.TryGetValue(loc.ToString(), out Langs.CldrLang cl) ? cl : null).
                  NotNulls().
                  ToArray();
        var wrongs = googleLocs.
                     Select(loc => Langs.fullNameToMeta.TryGetValue(loc.ToString(), out Langs.CldrLang cl) ? null : loc.ToString()).
                     NotNulls().
                     ToArray();

        if (googleLocsCodes.Length != oks.Length)
        {
            throw new Exception();
        }
        oks.ForEach((item, idx) => {
            var row    = LangsDesignLib.adjustNewfulltextDataRow(res, item.Id.ToString());
            row.row[7] = googleLocsCodes[idx];
        });
    }