You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Golang Transliterator provides one-way string transliteration. It takes Unicode text and converts to ASCII characters.
Example use-case: transliterate cyrilic city name to be able to use it in the url ("Київ" ==> "Куiv").
For now, only these languages have specific transliteration rules: DE, DA, EO, RU, BG, SV, HU, HR, SL, SR, NB, UK, MK, CA, BS. For other languages, general ASCII transliteration rules will be applied. Also, this package supports adding custom transliteration rules for your specific use-case. Please check the examples section below.
Installation
go get -u github.com/alexsergivan/transliterator
Language specific transliteration example
package main
import (
"fmt""github.com/alexsergivan/transliterator"
)
funcmain() {
trans:=transliterator.NewTransliterator(nil)
text:="München"// Langcode should be provided accrding to ISO 639-1.fmt.Println(trans.Transliterate(text, "de")) // Result: Muenchenfmt.Println(trans.Transliterate(text, "en")) // Result: MunchenanotherText:="你好"fmt.Println(trans.Transliterate(anotherText, "")) // Result: Ni HaooneMoreText:="Київ"fmt.Println(trans.Transliterate(oneMoreText, "uk")) // Result: Kyivfmt.Println(trans.Transliterate(oneMoreText, "en")) // Result: Kiyivfmt.Println(trans.Transliterate(oneMoreText, "")) // Result: Kiyiv
}