| | | 1 | | using System; |
| | | 2 | | using System.Collections.Generic; |
| | | 3 | | using System.Linq; |
| | | 4 | | using System.Text.RegularExpressions; |
| | | 5 | | using System.Threading.Tasks; |
| | | 6 | | |
| | | 7 | | namespace SVETA.Api.Helpers |
| | | 8 | | { |
| | | 9 | | public static class Transliteration |
| | | 10 | | { |
| | | 11 | | public static string Translit(string income) |
| | 0 | 12 | | { |
| | 0 | 13 | | string output = income; |
| | 0 | 14 | | output = Regex.Replace(output, @"\s|\.|\(", " "); |
| | 0 | 15 | | output = Regex.Replace(output, @"\s+", " "); |
| | 0 | 16 | | output = Regex.Replace(output, @"[^\s\w\d-]", ""); |
| | 0 | 17 | | output = output.Trim(); |
| | 0 | 18 | | foreach(KeyValuePair<string, string> key in CreateDict()) |
| | 0 | 19 | | { |
| | 0 | 20 | | output = output.Replace(key.Key, key.Value); |
| | 0 | 21 | | } |
| | 0 | 22 | | return output; |
| | 0 | 23 | | } |
| | | 24 | | private static Dictionary<string, string> CreateDict() |
| | 0 | 25 | | { |
| | 0 | 26 | | Dictionary<string, string> dict = new Dictionary<string, string>(); |
| | 0 | 27 | | dict.Add("а", "a"); |
| | 0 | 28 | | dict.Add("б", "b"); |
| | 0 | 29 | | dict.Add("в", "v"); |
| | 0 | 30 | | dict.Add("г", "g"); |
| | 0 | 31 | | dict.Add("д", "d"); |
| | 0 | 32 | | dict.Add("е", "e"); |
| | 0 | 33 | | dict.Add("ё", "jo"); |
| | 0 | 34 | | dict.Add("ж", "zh"); |
| | 0 | 35 | | dict.Add("з", "z"); |
| | 0 | 36 | | dict.Add("и", "i"); |
| | 0 | 37 | | dict.Add("й", "jj"); |
| | 0 | 38 | | dict.Add("к", "k"); |
| | 0 | 39 | | dict.Add("л", "l"); |
| | 0 | 40 | | dict.Add("м", "m"); |
| | 0 | 41 | | dict.Add("н", "n"); |
| | 0 | 42 | | dict.Add("о", "o"); |
| | 0 | 43 | | dict.Add("п", "p"); |
| | 0 | 44 | | dict.Add("р", "r"); |
| | 0 | 45 | | dict.Add("с", "s"); |
| | 0 | 46 | | dict.Add("т", "t"); |
| | 0 | 47 | | dict.Add("у", "u"); |
| | 0 | 48 | | dict.Add("ф", "f"); |
| | 0 | 49 | | dict.Add("х", "kh"); |
| | 0 | 50 | | dict.Add("ц", "ts"); |
| | 0 | 51 | | dict.Add("ч", "ch"); |
| | 0 | 52 | | dict.Add("ш", "sh"); |
| | 0 | 53 | | dict.Add("щ", "shh"); |
| | 0 | 54 | | dict.Add("ъ", ""); |
| | 0 | 55 | | dict.Add("ы", "y"); |
| | 0 | 56 | | dict.Add("ь", ""); |
| | 0 | 57 | | dict.Add("э", "eh"); |
| | 0 | 58 | | dict.Add("ю", "yu"); |
| | 0 | 59 | | dict.Add("я", "ya"); |
| | 0 | 60 | | dict.Add(" ", "_"); |
| | 0 | 61 | | return dict; |
| | 0 | 62 | | } |
| | | 63 | | } |
| | | 64 | | } |