示例#1
0
        /// <summary>
        /// Get description for an enum value.
        /// </summary>
        /// <param name="item">Value of the enum.</param>
        /// <returns>Returns description of the value.</returns>
        private static string GetDescription(LanguageEnum item)
        {
            FieldInfo fieldInfo = item.GetType().GetField(item.ToString());
            DescriptionAttribute[] descriptionAttribute = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);

            if (descriptionAttribute.Length > 0)
            {
                return descriptionAttribute[0].Description;
            }

            return item.ToString();
        }
示例#2
0
        /// <summary>
        /// Get description for an enum value.
        /// </summary>
        /// <param name="item">Value of the enum.</param>
        /// <returns>Returns description of the value.</returns>
        private static string GetDescription(LanguageEnum item)
        {
            FieldInfo fieldInfo = item.GetType().GetField(item.ToString());

            DescriptionAttribute[] descriptionAttribute = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);

            if (descriptionAttribute.Length > 0)
            {
                return(descriptionAttribute[0].Description);
            }

            return(item.ToString());
        }
        public OptResult searchByID(String id, LanguageEnum to)
        {
            OptResult result = new OptResult(true);

            try
            {
                XmlNode node = xmlDoc.SelectSingleNode("//group[@id='" + id + "']");
                if (node != null)
                {
                    result.info = node.SelectSingleNode(to.ToString().ToLower()).InnerText.Trim();
                }
                else
                {
                    try
                    {
                        int.Parse(id);
                        result.info = id;
                    }
                    catch
                    {
                        result.result = false;
                        result.info   = "'id = " + id + "' is not found.";
                    }
                }
            }
            catch (Exception er)
            {
                result.result = false;
                result.info   = er.ToString();
            }
            return(result);
        }
示例#4
0
 /// <summary>
 /// Returns a <see cref="System.String" /> that represents this instance.
 /// </summary>
 /// <param name="value">The value.</param>
 /// <returns>
 /// A <see cref="System.String" /> that represents this instance.
 /// </returns>
 public static string ToString(this LanguageEnum value)
 {
     // if value is british - returns custom value
     if (value == LanguageEnum.enGb)
     {
         return("en-gb");
     }
     else
     {
         // else - returns normal to string
         return(value.ToString());
     }
 }
 /// <summary>
 /// 设定从哪种语言翻译到哪种
 /// </summary>
 /// <param name="from"></param>
 /// <param name="to"></param>
 public void setLanguage(LanguageEnum from, LanguageEnum to)
 {
     this.from = from;
     this.to   = to;
     try
     {
         XmlDocument xmlDoc = new XmlDocument();
         xmlDoc.Load("lang.xml");
         xmlDoc.SelectSingleNode("//from").InnerText = from.ToString().ToUpper().Trim();
         xmlDoc.SelectSingleNode("//to").InnerText   = to.ToString().ToUpper().Trim();
         xmlDoc.Save("lang.xml");
     }
     catch (Exception er)
     {
         Console.WriteLine(er.ToString());
     }
 }
示例#6
0
        public static void SaveTranslations(LanguageEnum language, Dictionary <string, string> translations, TranslationsTypeEnum translationType)
        {
            string configKey = string.Empty;

            switch (language)
            {
            case LanguageEnum.Ukrainian:
                if (translationType == TranslationsTypeEnum.Base)
                {
                    configKey = translationsUAKey;
                }
                else
                {
                    configKey = politiciansTranslationsUAKey;
                }
                break;

            case LanguageEnum.Russian:
                if (translationType == TranslationsTypeEnum.Base)
                {
                    configKey = translationsRUKey;
                }
                else
                {
                    configKey = politiciansTranslationsRUKey;
                }
                break;
            }

            if (string.IsNullOrEmpty(configKey))
            {
                throw new Exception($"No language resource file found for language: {language.ToString()}.");
            }

            var translationsPath = $"{AppDomain.CurrentDomain.BaseDirectory}/{ConfigurationManager.AppSettings[configKey]}";

            if (File.Exists(translationsPath))
            {
                var translationsJson = JsonConvert.SerializeObject(translations);
                File.WriteAllText(translationsPath, translationsJson);
            }
        }
示例#7
0
        public static Dictionary <string, string> GetTranslationsByLanguageAndType(LanguageEnum language, TranslationsTypeEnum translationType)
        {
            var translations = new Dictionary <string, string>();

            string configKey = string.Empty;

            switch (language)
            {
            case LanguageEnum.Ukrainian:
                if (translationType == TranslationsTypeEnum.Base)
                {
                    configKey = translationsUAKey;
                }
                else
                {
                    configKey = politiciansTranslationsUAKey;
                }
                break;

            case LanguageEnum.Russian:
                if (translationType == TranslationsTypeEnum.Base)
                {
                    configKey = translationsRUKey;
                }
                else
                {
                    configKey = politiciansTranslationsRUKey;
                }
                break;
            }

            if (string.IsNullOrEmpty(configKey))
            {
                throw new Exception($"No language resource file found for language: {language.ToString()}.");
            }

            return(GetTranslationsByFilePath(ConfigurationManager.AppSettings[configKey]));
        }
示例#8
0
        public static TranslationResult TranslatedWithBaidu(string source, LanguageEnum from = LanguageEnum.Auto, LanguageEnum to = LanguageEnum.Auto)
        {
            var jsonResult = string.Empty;

            try
            {
                var       fromParam     = from.ToString().ToLowerInvariant();
                var       toParam       = to.ToString().ToLowerInvariant();
                var       randomNum     = DateTime.Now.Millisecond.ToString();
                var       signFormatStr = string.Format("{0}{1}{2}{3}", ConstFile.App_Id, source, randomNum, ConstFile.Security_Code);
                var       md5Sign       = EncryptWithMD5(signFormatStr);
                var       url           = $"{ConstFile.baiduHost}?q={HttpUtility.UrlEncode(source, Encoding.UTF8)}&from={fromParam}&to={toParam}&appid={ConstFile.App_Id}&salt={randomNum}&sign={md5Sign}";
                WebClient webClient     = new WebClient();
                jsonResult = webClient.DownloadString(url);
                var result = JsonConvert.DeserializeObject <TranslationResult>(jsonResult);
                return(result);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(new TranslationResult());
        }
        public OptResult searchByLanguage(String word, LanguageEnum from, LanguageEnum to)
        {
            OptResult result = new OptResult(false);

            try
            {
                XmlNodeList nodeList = xmlDoc.SelectNodes("//group");
                foreach (XmlNode node in nodeList)
                {
                    if (node.SelectSingleNode(from.ToString().ToLower()).InnerText.Trim().Equals(word))
                    {
                        result.info   = node.SelectSingleNode(to.ToString().ToLower()).InnerText.Trim();
                        result.result = true;
                        return(result);
                    }
                }
            }
            catch (Exception er)
            {
                result.result = false;
                result.info   = er.ToString();
            }
            return(result);
        }
示例#10
0
        public static void Active(LanguageEnum lang)
        {
            if (HeThong.DaNgonNgu == false)
            {
                HeThong.VietHoa();
                return;
            }

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            Language = lang;
            DSLang.Tables.Clear();

            DataSet ds             = new DataSet();
            string  fGridLocalizer = string.Format("{0}\\{1}.xml", path, TBNAME_GridLocalizer);

            if (!File.Exists(fGridLocalizer))
            {
                GridLocalizer.Active.WriteToXml(fGridLocalizer);
            }
            ds.ReadXml(fGridLocalizer);
            ds.Tables[0].TableName = TBNAME_GridLocalizer;
            if (!DSLang.Tables.Contains(ds.Tables[0].TableName))
            {
                DSLang.Tables.Add(ds.Tables[0].Copy());
            }
            DSLang.Tables[TBNAME_GridLocalizer].PrimaryKey = new DataColumn[] { DSLang.Tables[TBNAME_GridLocalizer].Columns["name"] };
            if (!DSLang.Tables[TBNAME_GridLocalizer].Columns.Contains(lang.ToString()))
            {
                DSLang.Tables[TBNAME_GridLocalizer].Columns.Add(lang.ToString());
            }


            ds.Tables.Clear();
            string fLocalizer = string.Format("{0}\\{1}.xml", path, TBNAME_Localizer);

            if (!File.Exists(fLocalizer))
            {
                Localizer.Active.WriteToXml(fLocalizer);
            }
            ds.ReadXml(fLocalizer);
            ds.Tables[0].TableName = TBNAME_Localizer;
            if (!DSLang.Tables.Contains(TBNAME_Localizer))
            {
                DSLang.Tables.Add(ds.Tables[0].Copy());
            }
            DSLang.Tables[TBNAME_Localizer].PrimaryKey = new DataColumn[] { DSLang.Tables[TBNAME_Localizer].Columns["name"] };
            if (!DSLang.Tables[TBNAME_Localizer].Columns.Contains(lang.ToString()))
            {
                DSLang.Tables[TBNAME_Localizer].Columns.Add(lang.ToString());
            }

            // copy, doi ten
            ds.Tables.Clear();
            string fPreviewLocalizer = string.Format("{0}\\{1}.xml", path, TBNAME_PreviewLocalizer);

            if (!File.Exists(fPreviewLocalizer))
            {
                PreviewLocalizer.Active.WriteToXml(fPreviewLocalizer);
            }
            ds.ReadXml(fPreviewLocalizer);
            ds.Tables[0].TableName = TBNAME_PreviewLocalizer;
            if (!DSLang.Tables.Contains(TBNAME_PreviewLocalizer))
            {
                DSLang.Tables.Add(ds.Tables[0].Copy());
            }
            DSLang.Tables[TBNAME_PreviewLocalizer].PrimaryKey = new DataColumn[] { DSLang.Tables[TBNAME_PreviewLocalizer].Columns["name"] };
            if (!DSLang.Tables[TBNAME_PreviewLocalizer].Columns.Contains(lang.ToString()))
            {
                DSLang.Tables[TBNAME_PreviewLocalizer].Columns.Add(lang.ToString());
            }
            // end copy

            // copy, doi ten
            ds.Tables.Clear();
            string fBarLocalizer = string.Format("{0}\\{1}.xml", path, TBNAME_BarLocalizer);

            if (!File.Exists(fBarLocalizer))
            {
                BarLocalizer.Active.WriteToXml(fBarLocalizer);
            }
            ds.ReadXml(fBarLocalizer);
            ds.Tables[0].TableName = TBNAME_BarLocalizer;
            if (!DSLang.Tables.Contains(TBNAME_BarLocalizer))
            {
                DSLang.Tables.Add(ds.Tables[0].Copy());
            }
            DSLang.Tables[TBNAME_BarLocalizer].PrimaryKey = new DataColumn[] { DSLang.Tables[TBNAME_BarLocalizer].Columns["name"] };
            if (!DSLang.Tables[TBNAME_BarLocalizer].Columns.Contains(lang.ToString()))
            {
                DSLang.Tables[TBNAME_BarLocalizer].Columns.Add(lang.ToString());
            }
            // end copy

            // them class khac



            // BANG NGON NGU CHUONG TRINH
            ds.Tables.Clear();
            string fLang = string.Format("{0}\\{1}.xml", path, TBNAME_LANGUAGE);

            if (!File.Exists(fLang))
            {
                DataSet dsLang = new DataSet();
                dsLang.Tables.Add(TBNAME_LANGUAGE);
                dsLang.Tables[TBNAME_LANGUAGE].Columns.Add("name");
                dsLang.Tables[TBNAME_LANGUAGE].Columns.Add("value");
                dsLang.WriteXmlSchema(fLang);
            }
            ds.ReadXml(fLang);
            ds.Tables[0].TableName = TBNAME_LANGUAGE;
            if (!DSLang.Tables.Contains(TBNAME_LANGUAGE))
            {
                DSLang.Tables.Add(ds.Tables[0].Copy());
            }
            DSLang.Tables[TBNAME_LANGUAGE].PrimaryKey = new DataColumn[] { DSLang.Tables[TBNAME_LANGUAGE].Columns["name"] };
            if (!DSLang.Tables[TBNAME_LANGUAGE].Columns.Contains(lang.ToString()))
            {
                DSLang.Tables[TBNAME_LANGUAGE].Columns.Add(lang.ToString());
            }



            DSLang.AcceptChanges();
            GridLocalizer.Active    = new VNGridLocalizer();
            Localizer.Active        = new VNLocalizer();
            PreviewLocalizer.Active = new VNPreviewLocalizer();
            BarLocalizer.Active     = new VNBarLocalizer();
            // active khac


            var fMain = Application.OpenForms[0] as FrmMain;

            if (fMain != null)
            {
                fMain.ChangeLanguage(lang);
            }
        }
        public IDailyQueryBuilder Lang(LanguageEnum lang)
        {
            queryParams.Add("lang", lang.ToString());

            return this;
        }
示例#12
0
 /// <summary>
 /// 获取用户基本信息
 /// </summary>
 /// <param name="userName">公众号</param>
 /// <param name="openId">用户id</param>
 /// <param name="language">语言</param>
 /// <param name="errorMessage">返回获取是否成功</param>
 /// <returns>返回用户基本信息;如果获取失败,返回null。</returns>
 public static UserInfo GetUserInfo(string userName, string openId, LanguageEnum language, out ErrorMessage errorMessage)
 {
     return(GetUserInfo(userName, openId, language.ToString("g"), out errorMessage));
 }
示例#13
0
        }                         //For EF

        private Languages(LanguageEnum @enum)
        {
            this.Id           = (int)@enum;
            this.LanguageName = @enum.ToString();
        }
示例#14
0
 public static string Code(this LanguageEnum languageEnum) =>
 languageEnum.ToString().ToLower();
示例#15
0
        /// <summary>
        /// This takes a csv file for the Staar Subject and unpivots it. It then saves it in the output folder.
        /// </summary>
        /// <param name="filePath">The *.csv path to read from.</param>
        /// <param name="outPath">The folder to store the output.</param>
        /// <param name="grade">The grade to be associated with the file(s).</param>
        /// <param name="language">The language the test was taken in.</param>
        /// <param name="x">The number of columns at the beginning.</param>
        public void UnpivotStaarTestNarrow(string filePath, string outPath, LanguageEnum language)
        {
            var dataTable = new DataTable(string.Format("Parsed {0}", filePath));
            int j;
            var sb = new StringBuilder();
            var fileName = Path.GetFileNameWithoutExtension(filePath);
            var outFile = string.Format("{0}/{1} - Parsed Narrow.csv", outPath, fileName);
            var emptyList = new[] { "0", "", "." };


            //remove past file if it exists

            if (File.Exists(outFile))
                File.Delete(outFile);


            //Validation

            if (!filePath.Contains(".csv"))
                throw new CustomException("This is not a csv file.");


            //read the lines in. First row is headers. save it then remove

            var rows = File.ReadAllLines(filePath).ToList();
            var headers = rows[0].Trim().Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
            rows.RemoveAt(0); //pop the top off


            // check if second row is headers

            var possibleHeader = rows[0].Trim().Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
            if (!int.TryParse(possibleHeader[0], out j)) //check if second row of headers
            {
                headers.AddRange(possibleHeader);
                rows.RemoveAt(0); //pop the top off
            }


            //Groom the headers

            for (var i = 0; i < headers.Count; i++)
            {
                headers[i] = headers[i].Trim();
            }


            //find the first header that should be split. All previous are the 'first x'

            var x = headers.FindIndex(h => h.Split(new[] { '_' }).Length > 1);


            //setup the headers for the first X columns

            for (var i = 0; i < x; i++)
            {
                if(!headers[i].Equals("GRADE"))
                    dataTable.Columns.Add(headers[i]);
            }


            //set up remaining headers

            dataTable.Columns.Add("GRADE");
            dataTable.Columns.Add("LanguageEnum");
            dataTable.Columns.Add("Subject");
            dataTable.Columns.Add("Demographic");
            dataTable.Columns.Add("Category");
            dataTable.Columns.Add("Value");


            //Write the column names to the stringbuilder

            var columnNames = dataTable.Columns.Cast<DataColumn>().Select(column => column.ColumnName);
            sb.AppendLine(string.Join(",", columnNames));


            //Begin adding data

            var gradeIndex = headers.IndexOf("Grade");
            var dataRow = dataTable.NewRow();
            var writer = File.AppendText(outFile);


            //Get grade to use

            var rowSplit = rows.Select(row => row.Split(',')).ToList();
            var foundGrade = gradeIndex != -1 ? rowSplit[0][gradeIndex] : "EOC";


            foreach (var campus in rowSplit)
            {

                //fill the first columns. These are the same for every campus

                FillFirstX(dataRow, campus, x); //First 6 (Campus, year, region, district, dname, cname)
                dataRow["Grade"] = foundGrade;
                dataRow["LanguageEnum"] = language.ToString();

                //for each complex header whose category matches the current category make a demo and value

                for (var i = x; i < headers.Count; i++)
                {
                    //if the value is empty, skip it

                    if (emptyList.Contains(campus[i].Trim()))
                        continue;


                    //if it is not a triple (the first x columns), skip it

                    var triple = headers[i].Split(new[] { '_' }, 3);
                    if (triple.Length != 3)
                        continue;


                    //write the remaining values, then write to stringbuilder

                    dataRow["Subject"] = triple[0];
                    dataRow["Demographic"] = triple[1];
                    dataRow["Category"] = triple[2];
                    dataRow["Value"] = campus[i];

                    sb.AppendLine(string.Join(",", dataRow.ItemArray));
                }


                //write campus to file

                writer.Write(sb.ToString());
                sb.Clear();
            }

            writer.Flush();
            writer.Close();
        }
示例#16
0
 public static Language GetByEnum(LanguageEnum languageEnum)
 {
     return(GetDataModel().Languages.FirstOrDefault(item => item.Name == languageEnum.ToString()));
 }