Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var RuMap = Map{
'а': "a",
'б': "b",
'в': "v",
'г': "g",
'д': "d",
'е': "e",
'ё': "yo",
'ж': "zh",
'з': "z",
'и': "i",
'й': "j",
'к': "k",
'л': "l",
'м': "m",
'н': "n",
'о': "o",
'п': "p",
'р': "r",
'с': "s",
'т': "t",
'у': "u",
'ф': "f",
'х': "h",
'ц': "c",
'ч': "ch",
'ш': "sh",
'щ': "sch",
'ъ': "'",
'ы': "y",
'ь': "",
'э': "e",
'ю': "ju",
'я': "ja",
}
RuMap описывает замены русских букв на английские при транслитерации. Некоторые буквы заменяются ни на одну, а на две или три буквы латинского алфавита. А мягкий знак вообще исчезает. Но такова обычная распространенная схема транслитерации.
Functions ¶
Types ¶
type Map ¶
Map определяет таблицу подстановки символов при транслитерации.
func (Map) Translate ¶
Translate выполняет транслитерацию в строке по указанной таблице и возвращает новую строку с результатом такого преобразования. Все символы, которые не указаны в таблице транслитерации, останутся без изменения.
При транслитерации учитывается, что замена буквы может быть произведена на строку произвольной длины и корректно обрабатываются чередования заглавных и строчных букв. В частности, производится корректная транслитерация следующих случаев:
"ЧАЩА" -> "CHASCHA" "ЧаЩа" -> "ChaScha" "Чаща" -> "Chascha" "чаЩА" -> "chaSCHA"