From 1cdac76c418ece05ada008f989ccc788cca0c804 Mon Sep 17 00:00:00 2001 From: Dmitry Sedykh Date: Mon, 18 Aug 2014 00:12:20 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- translit.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/translit.go b/translit.go index 380c23a..8ca3edc 100644 --- a/translit.go +++ b/translit.go @@ -4,6 +4,34 @@ // // Текущая реализация подразумевает только одностороннюю транслитерацию: обратное преобразование // будет уже не так очевидно. +// +// Хоть кода в этой библиотеке и не очень много, но время на нее все-таки было потрачено, т.к. +// раньше я просто не задумывался о некоторых аспектах работы с транслитерацией. +// +// В общем, как и большинство других аналогичных библиотек, она перебирает все символы в строке +// и заменяет их по предложенному ей словарю. Отличие только в том, что, с моей точки зрения, она +// более корректно отрабатывает случаи с чередованием заглавных букв. Например: +// +// "ЧАЩА" -> "CHASCHA" +// "ЧаЩа" -> "ChaScha" +// "Чаща" -> "Chascha" +// "чаЩА" -> "chaSCHA" +// +// Для транслитерации русских букв в ней уже предусмотрен встроенный словарь. Для других языков +// вы можете задать свой. Все достаточно просто: +// +// import "github.com/mdigger/translit" +// +// tests := []string{ +// "Проверочная СТРОКА для транслитерации", +// "ЧАЩА", +// "ЧаЩа", +// "Чаща", +// "чаЩА", +// } +// for _, text := range tests { +// fmt.Println(translit.Ru(text)) +// } package translit import (