2
0
2024-05-20 10:13:11 +03:00
2024-05-20 10:13:11 +03:00
2024-02-28 17:33:28 +03:00
2023-06-11 12:12:54 +03:00
2024-05-20 10:13:11 +03:00
2023-06-11 12:12:54 +03:00
2024-02-28 17:33:28 +03:00
2024-02-28 17:33:28 +03:00

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

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

Текущая реализация подразумевает только одностороннюю транслитерацию: обратное преобразование будет уже не так очевидно.

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

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

Например:

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

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

import "git.company.lan/gopkg/translit"

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