-
Notifications
You must be signed in to change notification settings - Fork 0
/
romanize_russian.go
78 lines (76 loc) · 1.01 KB
/
romanize_russian.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package textutil
var tableRussian = map[rune]interface{}{
'А': 'A',
'а': 'a',
'Б': 'B',
'б': 'b',
'В': 'V',
'в': 'v',
'Г': 'G',
'г': 'g',
'Д': 'D',
'д': 'd',
'Е': 'E',
'е': 'e',
'ѣ': 'e',
'Ё': "Yo",
'ё': "yo",
'Ж': "Zh",
'ж': "zh",
'З': 'Z',
'з': 'z',
'И': 'I',
'и': 'i',
'і': 'i',
'Й': 'J',
'й': 'j',
'К': 'K',
'к': 'k',
'Л': 'L',
'л': 'l',
'М': 'M',
'м': 'm',
'Н': 'N',
'н': 'n',
'О': 'O',
'о': 'o',
'П': 'P',
'п': 'p',
'Р': 'R',
'р': 'r',
'С': 'S',
'с': 's',
'Т': 'T',
'т': 't',
'У': 'U',
'у': 'u',
'ꙋ': 'u',
'Ф': 'F',
'ф': 'f',
'Х': "Kh",
'х': "kh",
'Ц': "Ts",
'ц': "ts",
'Ч': "Ch",
'ч': "ch",
'Ш': "Sh",
'ш': "sh",
'Щ': "Shch",
'щ': "shch",
'Ъ': nil,
'ъ': nil,
'Ы': 'Y',
'ы': 'y',
'Ь': nil,
'ь': nil,
'Э': 'E',
'э': 'e',
'Ю': "Yu",
'ю': "yu",
'Я': "Ya",
'я': "ya",
}
// RomanizeRussian romanizes russian text
func RomanizeRussian(s string) string {
return romanize(s, tableRussian)
}