Categorygithub.com/mdigger/translit
modulepackage
0.2.0
Repository: https://github.com/mdigger/translit.git
Documentation: pkg.go.dev

# README

Библиотека для транслитерации строк на Go

GoDoc

Хоть кода в этой библиотеке и не очень много, но время на нее все-таки было потрачено, т.к. раньше я просто не задумывался о некоторых аспектах работы с транслитерацией.

В общем, как и большинство других аналогичных библиотек, она перебирает все символы в строке и заменяет их по предложенному ей словарю. Отличие только в том, что, с моей точки зрения, она более корректно отрабатывает случаи с чередованием заглавных букв. Например:

"ЧАЩА" -> "CHASCHA"
"ЧаЩа" -> "ChaScha"
"Чаща" -> "Chascha"
"чаЩА" -> "chaSCHA"

Для транслитерации русских букв в ней уже предусмотрен встроенный словарь. Для других языков вы можете задать свой. Все достаточно просто:

import "github.com/mdigger/translit"

tests := []string{
    "Проверочная СТРОКА для транслитерации",
    "ЧАЩА",
    "ЧаЩа",
    "Чаща",
    "чаЩА",
}
for _, text := range tests {
    fmt.Println(translit.Ru(text))
}
// Proverochnaja STROKA dlja transliteracii
// CHASCHA
// ChaScha
// Chascha
// chaSCHA

# Functions

Ru выполняет транслитерацию строки с учетом словаря для русской транслитерации.

# Variables

RuMap описывает замены русских букв на английские при транслитерации.

# Type aliases

Map определяет таблицу подстановки символов при транслитерации.