public static class Converter
{
private static readonly Dictionary<char, string> ConvertedLetters = new Dictionary<char, string>
{
// Українські букви
{'є',"ye"},
{'ї',"yi"},
{'і',"i"},
{'ґ',"g"},
//Рус
{'а', "a"},
{'б', "b"},
{'в', "v"},
{'г', "g"},
{'д', "d"},
{'е', "e"},
{'ё', "yo"},
{'ж', "zh"},
{'з', "z"},
{'и', "i"},
{'й', "j"},
{'к', "k"},
{'л', "l"},
{'м', "m"},
{'н', "n"},
{'о', "o"},
{'п', "p"},
{'р', "r"},
{'с', "s"},
{'т', "t"},
{'у', "u"},
{'ф', "f"},
{'х', "h"},
{'ц', "c"},
{'ч', "ch"},
{'ш', "sh"},
{'щ', "sch"},
{'ъ', "j"},
{'ы', "i"},
{'ь', "j"},
{'э', "e"},
{'ю', "yu"},
{'я', "ya"},
};
public static string ConvertToLatin(string source)
{
var result = new StringBuilder();
foreach (var letter in source)
{
try{
result.Append(ConvertedLetters[letter]);
}
catch{result.Append(letter);}// Тут символ вставляется как есть. Но можно заменять на то что вы хотите. Ну либо постепенно наполнить ваш словарь, символами которые не конвертировались
}
return result.ToString();
}
}