public void Patch(TranslationModuleDiff tpDiff)
 {
     foreach (var l in Languages)
     {
         if (!Dicts.ContainsKey(l) || !tpDiff.DiffPerLanguage.ContainsKey(l))
         {
             continue;
         }
         DictDiff.Patch(Dicts[l], tpDiff.DiffPerLanguage[l]);
     }
 }
        public TranslationModuleDiff Diff(TranslationModule tp)
        {
            var allSync = new Dictionary <string, DictDiff>();

            foreach (var l in Languages)
            {
                if (!Dicts.ContainsKey(l) || !tp.Dicts.ContainsKey(l))
                {
                    continue;
                }
                allSync.Add(l, DictDiff.Diff(Dicts[l], tp.Dicts[l]));
            }

            return(new TranslationModuleDiff(this, allSync));
        }