diff --git a/translit/armenian.go b/translit/armenian.go new file mode 100644 index 0000000..43eda6c --- /dev/null +++ b/translit/armenian.go @@ -0,0 +1,138 @@ +package translit + +import ( + "strings" +) + +type ArmenianTranslit struct{} + +var armenianMap = []string{ + "աու", "au", + "բու", "bu", + "գու", "gu", + "դու", "du", + "եու", "eu", + "զու", "zu", + "էու", "eu", + "ըու", "yu", + "թու", "tu", + "ժու", "ju", + "իու", "iu", + "լու", "lu", + "խու", "xu", + "ծու", "cu", + "կու", "ku", + "հու", "hu", + "ձու", "dzu", + "ղու", "xu", + "ճու", "cu", + "մու", "mu", + "յու", "yu", + "նու", "nu", + "շու", "shu", + "չու", "chu", + "պու", "pu", + "ջու", "ju", + "ռու", "ru", + "սու", "su", + "վու", "vu", + "տու", "tu", + "րու", "ru", + "ցու", "cu", + "փու", "pu", + "քու", "qu", + "օու", "ou", + "ևու", "eu", + "ֆու", "fu", + "ոու", "vou", + "ու", "u", + "բո", "bo", + "գո", "go", + "դո", "do", + "զո", "zo", + "թո", "to", + "ժո", "jo", + "լո", "lo", + "խո", "xo", + "ծո", "co", + "կո", "ko", + "հո", "ho", + "ձո", "dzo", + "ղո", "xo", + "ճո", "co", + "մո", "mo", + "յո", "yo", + "նո", "no", + "շո", "so", + "չո", "co", + "պո", "po", + "ջո", "jo", + "ռո", "ro", + "սո", "so", + "վո", "vo", + "տո", "to", + "րո", "ro", + "ցո", "co", + "փո", "po", + "քո", "qo", + "ևո", "eo", + "ֆո", "fo", + "ո", "vo", + "եւ", "ev", + "եվ", "ev", + "ա", "a", + "բ", "b", + "գ", "g", + "դ", "d", + "ե", "e", + "զ", "z", + "է", "e", + "ը", "y", + "թ", "t", + "ժ", "j", + "ի", "i", + "լ", "l", + "խ", "x", + "ծ", "c", + "կ", "k", + "հ", "h", + "ձ", "dz", + "ղ", "x", + "ճ", "c", + "մ", "m", + "յ", "y", + "ն", "n", + "շ", "sh", + "չ", "ch", + "պ", "p", + "ջ", "j", + "ռ", "r", + "ս", "s", + "վ", "v", + "տ", "t", + "ր", "r", + "ց", "c", + "փ", "p", + "ք", "q", + "օ", "o", + "և", "ev", + "ֆ", "f", + "ւ", "", +} + +func init() { + lower := armenianMap + for i, val := range lower { + if i%2 == 1 { + continue + } + capital := strings.Title(val) + if capital != val { + armenianMap = append(armenianMap, capital, strings.Title(armenianMap[i+1])) + } + } +} + +func (at *ArmenianTranslit) Transliterate(s string) string { + return strings.NewReplacer(armenianMap...).Replace(s) +} diff --git a/translit/translit.go b/translit/translit.go index fd03bfd..8228118 100644 --- a/translit/translit.go +++ b/translit/translit.go @@ -323,119 +323,6 @@ var Transliterators = map[string]Transliterator{ "ÿ", "y", "ç", "c", }, - "Armenian": Map{ - "աու", "au", - "բու", "bu", - "գու", "gu", - "դու", "du", - "եու", "eu", - "զու", "zu", - "էու", "eu", - "ըու", "yu", - "թու", "tu", - "ժու", "ju", - "իու", "iu", - "լու", "lu", - "խու", "xu", - "ծու", "cu", - "կու", "ku", - "հու", "hu", - "ձու", "dzu", - "ղու", "xu", - "ճու", "cu", - "մու", "mu", - "յու", "yu", - "նու", "nu", - "շու", "shu", - "չու", "chu", - "պու", "pu", - "ջու", "ju", - "ռու", "ru", - "սու", "su", - "վու", "vu", - "տու", "tu", - "րու", "ru", - "ցու", "cu", - "փու", "pu", - "քու", "qu", - "օու", "ou", - "ևու", "eu", - "ֆու", "fu", - "ոու", "vou", - "ու", "u", - "բո", "bo", - "գո", "go", - "դո", "do", - "զո", "zo", - "թո", "to", - "ժո", "jo", - "լո", "lo", - "խո", "xo", - "ծո", "co", - "կո", "ko", - "հո", "ho", - "ձո", "dzo", - "ղո", "xo", - "ճո", "co", - "մո", "mo", - "յո", "yo", - "նո", "no", - "շո", "so", - "չո", "co", - "պո", "po", - "ջո", "jo", - "ռո", "ro", - "սո", "so", - "վո", "vo", - "տո", "to", - "րո", "ro", - "ցո", "co", - "փո", "po", - "քո", "qo", - "ևո", "eo", - "ֆո", "fo", - "ո", "vo", - "եւ", "ev", - "եվ", "ev", - "ա", "a", - "բ", "b", - "գ", "g", - "դ", "d", - "ե", "e", - "զ", "z", - "է", "e", - "ը", "y", - "թ", "t", - "ժ", "j", - "ի", "i", - "լ", "l", - "խ", "x", - "ծ", "c", - "կ", "k", - "հ", "h", - "ձ", "dz", - "ղ", "x", - "ճ", "c", - "մ", "m", - "յ", "y", - "ն", "n", - "շ", "sh", - "չ", "ch", - "պ", "p", - "ջ", "j", - "ռ", "r", - "ս", "s", - "վ", "v", - "տ", "t", - "ր", "r", - "ց", "c", - "փ", "p", - "ք", "q", - "օ", "o", - "և", "ev", - "ֆ", "f", - "ւ", "", - }, "Emoji": Map{ "😂", ":')", "😊", ":)", @@ -464,6 +351,7 @@ var Transliterators = map[string]Transliterator{ "😴", ":zzz:", "💤", ":zzz:", }, - "Korean": &KoreanTranslit{}, - "Chinese": &ChineseTranslit{}, + "Korean": &KoreanTranslit{}, + "Chinese": &ChineseTranslit{}, + "Armenian": &ArmenianTranslit{}, }