Esempio n. 1
0
 private void CheckDuplicateAdd(LangStringStore t)
 {
     //are we skipping this string Id for some reason ?
     foreach (long it in SkippedIds)
     {
         if (it == t.StringId)
         {
             return;
         }
     }
     //should we skip this string as already present ?
     foreach (LangStringStore it in LangStrings)
     {
         if (t.LangId == it.LangId && t.Context == it.Context && t.Str == it.Str && t.LangId == LangIdEnum.LangIdEnglish)
         {
             Globals.Logger.LogString(LogManager.LogLevels.LogFlagInfo, "Duplicate translation for string: " + t.Str + ". Skipping id " + t.StringId.ToString() + " Assign a context for it ?");
             SkippedIds.Add(t.StringId);
             return;
         }
         if (t.StringId == it.StringId && t.Context == it.Context && t.LangId == it.LangId)
         {
             Globals.Logger.LogString(LogManager.LogLevels.LogFlagInfo, "Duplicate StringId for string: " + t.Str + ". Skipping " + t.StringId.ToString() + " Assign a new id for it ?");
             return;
         }
     }
     LangStrings.Add(t);
 }
Esempio n. 2
0
        public void LoadDBFromFile(string FileName)
        {
            //ditch old content if there was any
            LangStrings.Clear();
            // file name is normal ?
            if (FileName == null || FileName.Length == 0)
            {
                return;
            }
            // can't load unexisting file
            if (File.Exists(FileName) == false)
            {
                return;
            }
            SkippedIds.Clear();
            //load the data we will use to translate the UI
            var lines = File.ReadLines(FileName);

            foreach (var line in lines)
            {
                if (line.Length <= 1 || line[0] == '/' || line[0] == '\n')
                {
                    continue;
                }
                try
                {
                    LangStringStore t       = new LangStringStore();
                    int             ValEnd1 = line.IndexOf('\t');
                    t.StringId = Int32.Parse(line.Substring(0, ValEnd1 - 0));
                    int ValEnd2 = line.IndexOf('\t', ValEnd1 + 1);
                    t.Context = Int32.Parse(line.Substring(ValEnd1 + 1, ValEnd2 - ValEnd1 - 1));
                    int ValEnd3 = line.IndexOf('\t', ValEnd2 + 1);
                    t.LangId = (LangIdEnum)Int32.Parse(line.Substring(ValEnd2 + 1, ValEnd3 - ValEnd2 - 1));
                    t.Str    = line.Substring(ValEnd3 + 1);
                    CheckDuplicateAdd(t);
                }
                catch { }
            }
        }