Пример #1
0
        private void GenerateTestFiles()
        {
            BLanguageSet objAuxTest;

            try
            {
                if (!Directory.Exists(Path.Combine(".", "locales")))
                {
                    Directory.CreateDirectory(Path.Combine(".", "locales"));
                }

                if (File.Exists(Path.Combine(".", "locales", "pt-br.json")))
                {
                    File.Delete(Path.Combine(".", "locales", "pt-br.json"));
                }

                if (File.Exists(Path.Combine(".", "locales", "en-us.json")))
                {
                    File.Delete(Path.Combine(".", "locales", "en-us.json"));
                }

                if (!File.Exists(Path.Combine(".", "locales", "pt-br.json")))
                {
                    objAuxTest = new BLanguageSet(new List <BLanguageItem>()
                    {
                        new BLanguageItem("group_one.text_one", "text 1 pt"),
                        new BLanguageItem("group_one.text_two", "text 2 pt"),
                        new BLanguageItem("group_one.text_three", "text 3 pt"),
                        new BLanguageItem("group_one.text_four", "text 4 pt"),
                        new BLanguageItem("group_two.text_five", "text 5 pt"),
                        new BLanguageItem("group_two.text_six", "text 6 pt"),
                        new BLanguageItem("group_two.text_seven", "text 7 pt"),
                        new BLanguageItem("group_two.text_eight", "text 8 pt"),
                        new BLanguageItem("group_two.sub_group.text_nine", "text 9 pt"),
                    }, "pt-br");
                    LanguageFileConverter.SaveLanguageFile(objAuxTest, Path.Combine(".", "locales"));
                }

                if (!File.Exists(Path.Combine(".", "locales", "en-us.json")))
                {
                    objAuxTest = new BLanguageSet(new List <BLanguageItem>()
                    {
                        new BLanguageItem("group_one.text_one", "text 1 us"),
                        new BLanguageItem("group_one.text_two", "text 2 us"),
                        new BLanguageItem("group_one.text_three", "text 3 us"),
                        new BLanguageItem("group_one.text_four", "text 4 us"),
                        new BLanguageItem("group_two.text_five", "text 5 us"),
                        new BLanguageItem("group_two.text_six", "text 6 us"),
                        new BLanguageItem("group_two.text_seven", "text 7 us"),
                        new BLanguageItem("group_two.text_eight", "text 8 us"),
                        new BLanguageItem("group_two.sub_group.text_nine", "text 9 us"),
                    }, "en-us");
                    LanguageFileConverter.SaveLanguageFile(objAuxTest, Path.Combine(".", "locales"));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #2
0
        public static void SaveLanguageFile(BLanguageSet bGLanguageSet, string folderPath)
        {
            string       filePath = Path.Combine(folderPath, String.Concat(bGLanguageSet.LanguageKey, ".json"));
            string       result   = Serialize(bGLanguageSet);
            StreamWriter file     = new StreamWriter(filePath);

            file.Write(result);
            file.Close();
            file.Dispose();
        }
Пример #3
0
        public List <string> ListFile(string inputPath)
        {
            List <string> result      = new List <string>();
            BLanguageSet  languageSet = LanguageFileConverter.LoadLanguageFile(inputPath);

            result.Add($"File: {inputPath}");
            result.Add($"Language: {languageSet.LanguageKey}");

            languageSet.Itens.ForEach(item => result.Add($"{item.Key} : {item.Value}"));

            return(result);
        }
Пример #4
0
 private static string Serialize(BLanguageSet bGLanguageSet)
 {
     try
     {
         JObject result = new JObject();
         result.Add(new JProperty("values"));
         bGLanguageSet.Itens.ForEach(item => AddValue(item.Key, item.Value, result.Property("values")));
         return(result.ToString(Formatting.Indented));
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #5
0
 public static BLanguageSet LoadLanguageFile(string path)
 {
     try
     {
         StreamReader file   = new StreamReader(path);
         BLanguageSet result = Deserialize(file.ReadToEnd(), Path.GetFileNameWithoutExtension(path));
         file.Close();
         file.Dispose();
         file = null;
         return(result);
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #6
0
 public static void AddLanguageSet(BLanguageSet p_objLanguageSet)
 {
     try
     {
         CheckInstance();
         if (LanguageSets.Any(item => item.LanguageKey.Equals(p_objLanguageSet.LanguageKey, StringComparison.InvariantCultureIgnoreCase)))
         {
             throw new LanguageSetAlreadyExistsException(p_objLanguageSet.LanguageKey);
         }
         LanguageSets.Add(p_objLanguageSet);
         instance.strLanguageSetsKeys.Add(p_objLanguageSet.LanguageKey);
     }
     catch (Exception)
     {
         throw;
     }
 }
Пример #7
0
        public static void GenerateTestFiles()
        {
            BLanguageSet objAuxTest;

            try
            {
                if (!Directory.Exists(Path.Combine(".", "locales")))
                {
                    Directory.CreateDirectory(Path.Combine(".", "locales"));
                }

                if (File.Exists(Path.Combine(".", "locales", "pt-br.json")))
                {
                    File.Delete(Path.Combine(".", "locales", "pt-br.json"));
                }

                if (File.Exists(Path.Combine(".", "locales", "en-us.json")))
                {
                    File.Delete(Path.Combine(".", "locales", "en-us.json"));
                }

                if (!File.Exists(Path.Combine(".", "locales", "en-us.json")))
                {
                    objAuxTest = new BLanguageSet(new List <BLanguageItem>()
                    {
                        new BLanguageItem("group_one.text_one", "Test text one, translate"),
                        new BLanguageItem("group_one.text_two", "Test text two, translate"),
                        new BLanguageItem("group_one.text_three", "Test text three, translate"),
                        new BLanguageItem("group_one.text_four", "Test text four, translate"),
                        new BLanguageItem("group_two.text_five", "Test text five, translate"),
                        new BLanguageItem("group_two.text_six", "Test text six, translate"),
                        new BLanguageItem("group_two.text_seven", "Test text seven, translate"),
                        new BLanguageItem("group_two.text_eight", "Test text eight, translate"),
                        new BLanguageItem("group_two.sub_group.text_nine", "Test text nine, translate"),
                    }, "en-us");
                    LanguageFileConverter.SaveLanguageFile(objAuxTest, Path.Combine(".", "locales"));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #8
0
        public string TranslateFile(string inputPath, string targetLanguage)
        {
            string               translatedText = "";
            BLanguageSet         languageSet    = LanguageFileConverter.LoadLanguageFile(inputPath);
            BLanguageSet         resultLangageSet;
            List <BLanguageItem> bLanguageItens = new List <BLanguageItem>();
            JArray               jsonRsult;

            languageSet.Itens.ForEach(async item =>
            {
                translatedText = getTranslationAsync(item.Value, languageSet.LanguageKey, targetLanguage).Result;
                jsonRsult      = JArray.Parse(translatedText);
                bLanguageItens.Add(new BLanguageItem(item.Key, jsonRsult[0][0][0].ToString()));
            });


            resultLangageSet = new BLanguageSet(bLanguageItens, targetLanguage);
            LanguageFileConverter.SaveLanguageFile(resultLangageSet, Path.GetDirectoryName(inputPath));

            return(Path.Combine(Path.GetDirectoryName(inputPath), targetLanguage + ".json"));
        }