Ejemplo n.º 1
0
        public static void LoadConfigDefaultLanguage()
        {
            if (DefaultLanguageValue.Equals(DEFAULT_LANGUAGE))
            {
                return;
            }

            LoadDataPOFile();
        }
Ejemplo n.º 2
0
        public static void LoadDataPOFile()
        {
            POFileData.Clear();

            var pathPoFile = GetPathFilePo(DefaultLanguageValue);

            if (string.IsNullOrEmpty(pathPoFile) || !File.Exists(pathPoFile))
            {
                return;
            }

            using (var reader = new StreamReader(pathPoFile, Encoding.UTF8))
            {
                var parser = new POParser();
                var result = parser.Parse(reader);

                if (!result.Success)
                {
                    return;
                }

                var catalog = result.Catalog;
                //var languageName = catalog.Language.Replace('_', '-').Trim();
                var languageName = DefaultLanguageValue.Replace('_', '-');
                languageName = languageName.Replace(".po", "").Trim();
                CultureInfo ci = new CultureInfo(languageName);
                CultureInfo.DefaultThreadCurrentCulture = ci;

                foreach (var item in catalog)
                {
                    var keyLangue   = item.Key.Id;
                    var key         = new POKey(keyLangue);
                    var translation = catalog.GetTranslation(key);

                    POFileData.Add(keyLangue, translation);
                }
            }
        }