/// <summary> /// Преобразует кириллистический текст в латинский, в указанном формате. /// </summary> /// <param name="Text">Преобразуемый текст</param> /// <param name="Type">Формат преобразования</param> /// <returns></returns> public static String ToLatin(String Text, TranslitType Type = TranslitType.ISO) { foreach (KeyValuePair <String, String> Pair in GetDictionary(Type)) { Text = Text.Replace(Pair.Key, Pair.Value); } return(Text); }
private static Dictionary <string, string> GetDictionaryByType(TranslitType type) { Dictionary <string, string> tdict = iso; if (type == TranslitType.Gost) { tdict = gost; } return(tdict); }
public static string Back(string text, TranslitType type) { string output = text; Dictionary <string, string> tdict = GetDictionaryByType(type); foreach (KeyValuePair <string, string> key in tdict) { output = output.Replace(key.Value, key.Key); } return(output); }
/// <summary> /// Преобразует латинский текст в кириллистический, в указанном формате. /// </summary> /// <param name="Text">Преобразуемый текст</param> /// <param name="Type">Формат преобразования</param> /// <returns></returns> public static String ToCyrillic(String Text, TranslitType Type = TranslitType.ISO) { foreach (KeyValuePair <String, String> Pair in GetDictionary(Type)) { if (Pair.Value != "") { Text = Text.Replace(Pair.Value, Pair.Key); } } return(Text); }
/// <summary> /// Метод транслитерации русского текста /// </summary> /// <param name="source">Исходная строка на русском</param> /// <param name="type">Тип транслитерации, гост или ISO</param> /// <returns></returns> public string Translit(string source, TranslitType type) { var result = ""; for (var i = 0; i < source.Length; i++) { result = result + (TranslitSymbols.FirstOrDefault(x => x.SymbolRus == source[i].ToString() && x.TranslitType == type) == null ? source[i].ToString() : TranslitSymbols.First(x => x.SymbolRus == source[i].ToString() && x.TranslitType == type).SymbolEng); } return(result); }
/// <summary> /// Преобразует текст в указанный алфавит и формат преобразования. /// </summary> /// <param name="Text">Преобразуемый текст</param> /// <param name="Alphabet">Алфавит</param> /// <param name="Type">Формат преобразования</param> /// <returns></returns> public static String Convert(String Text, TranslitAlphabet Alphabet, TranslitType Type = TranslitType.ISO) { switch (Alphabet) { case TranslitAlphabet.Latin: return(ToLatin(Text, Type)); case TranslitAlphabet.Cyrillic: return(ToCyrillic(Text, Type)); default: return(Text); } }
public static string Front(string text, TranslitType type) { string output = text; output = Regex.Replace(output, @"\s|\.|\(", " "); output = Regex.Replace(output, @"\s+", " "); output = Regex.Replace(output, @"[^\s\w\d-]", ""); output = output.Trim(); Dictionary <string, string> tdict = GetDictionaryByType(type); foreach (KeyValuePair <string, string> key in tdict) { output = output.Replace(key.Key, key.Value); } return(output); }
/// <summary> /// Получает алфавитный словарь в указанном формате. /// </summary> /// <param name="Type">Формат преобразования</param> /// <returns></returns> public static Dictionary <String, String> GetDictionary(TranslitType Type) { switch (Type) { case TranslitType.GOST: return(GOST); case TranslitType.ISO: return(ISO); case TranslitType.Custom: return(Custom); default: return(ISO); } }
/// <summary> /// Преобразует латинский текст в кириллистический, в указанном формате. /// </summary> /// <param name="Text"></param> /// <param name="Type">Формат преобразования</param> /// <returns></returns> public static String ToCyrillic(String Text, TranslitType Type = TranslitType.ISO) { return(Translit.ToCyrillic(Text, Type)); }