Ejemplo n.º 1
0
        /// <summary>
        /// Load localized strings to the memory.
        /// </summary>
        public static void Load()
        {
            var sheet = SheetParser.LoadFromPath(PathProvider.SheetPath, SheetParser.Delimiter.Tab);

            LocalizedStrings.Clear();
            for (var i = 1; i < sheet.Count; i++)
            {
                var id = sheet[i][0];
                if (string.IsNullOrEmpty(id))
                {
                    continue;
                }
                if (LocalizedStrings.ContainsKey(id))
                {
                    throw new Exception($"<b>[Localizer]</b> Text ID \"<b>{id}</b>\" is duplicated. Please check your localization sheet.");
                }

                var strings = sheet[i].ToList();
                strings.RemoveAt(0);
                strings = strings.Select(s => s.Replace("\\n", "\n"))
                          .Select(s => s.Replace("\r", ""))
                          .ToList();
                LocalizedStrings.Add(id, strings);
            }

            LanguageList = sheet[0].Select(s => s.Replace("\r", "")).ToList();
            LanguageList.RemoveAt(0);

            Settings.LoadLanguageSettings();
            ChangeLanguage(CurrentLanguageName ?? "");
        }