2
0
2014-08-17 09:40:29 +04:00
2014-08-17 09:40:29 +04:00
2014-08-17 02:04:19 +04:00
2014-08-17 02:04:19 +04:00

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

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

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

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

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

package translit_test

import (
    "fmt"
    "github.com/mdigger/translit"
)

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