-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtransliteration_rules.go
100 lines (96 loc) · 1.24 KB
/
transliteration_rules.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package transliteration
var ukrToLatRules = map[rune]string{
'А': "A",
'Б': "B",
'В': "V",
'Г': "H",
'Ґ': "G",
'Д': "D",
'Е': "E",
'Є': "Ye",
'Ж': "Zh",
'З': "Z",
'И': "Y",
'І': "I",
'Ї': "Yi",
'Й': "Y",
'К': "K",
'Л': "L",
'М': "M",
'Н': "N",
'О': "O",
'П': "P",
'Р': "R",
'С': "S",
'Т': "T",
'У': "U",
'Ф': "F",
'Х': "Kh",
'Ц': "Ts",
'Ч': "Ch",
'Ш': "Sh",
'Щ': "Shch",
'Ь': "",
'Ю': "Yu",
'Я': "Ya",
'а': "a",
'б': "b",
'в': "v",
'г': "h",
'ґ': "g",
'д': "d",
'е': "e",
'є': "ye",
'ж': "zh",
'з': "z",
'и': "y",
'і': "i",
'ї': "yi",
'й': "y",
'к': "k",
'л': "l",
'м': "m",
'н': "n",
'о': "o",
'п': "p",
'р': "r",
'с': "s",
'т': "t",
'у': "u",
'ф': "f",
'х': "kh",
'ц': "ts",
'ч': "ch",
'ш': "sh",
'щ': "shch",
'ь': "",
'ю': "yu",
'я': "ya",
'ʼ': "",
}
var insideWord = map[rune]string{
'Ї': "I",
'Й': "I",
'Є': "IE",
'Ю': "IU",
'Я': "IA",
'ї': "i",
'й': "i",
'є': "ie",
'ю': "iu",
'я': "ia",
}
var uppercaseVowels = map[rune]string{
'Ї': "YI",
'Є': "YE",
'Ю': "YU",
'Я': "YA",
}
var uppercaseConsonants = map[rune]string{
'Ж': "ZH",
'Х': "KH",
'Ц': "TS",
'Ч': "CH",
'Ш': "SH",
'Щ': "SHCH",
}