Created
January 14, 2015 15:41
-
-
Save ofstudio/27ee908973d7f2ab0841 to your computer and use it in GitHub Desktop.
Транслитерация для DCevent.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- Скрипт транслитерации --> | |
<script> | |
function translate(str) { | |
function strtr(s, replacePairs) { | |
"use strict"; | |
var str = s.toString(), key, re; | |
for (key in replacePairs) { | |
if (replacePairs.hasOwnProperty(key)) { | |
re = new RegExp(key, "g"); | |
str = str.replace(re, replacePairs[key]); | |
} | |
} | |
return str; | |
} | |
var dictionary = { | |
"Москва": "Moscow, Russia", | |
"Санкт-Петербург": "St. Petersburg, Russia", | |
"Санкт–Петербург": "St. Petersburg, Russia", | |
"Санкт–Петербург": "St. Petersburg, Russia", | |
"Нижний Новгород": "Nizhny Novgorod, Russia", | |
"Уфа": "Ufa, Russia", | |
"Владивосток": "Vladivostok, Russia", | |
"Тольятти": "Tolyatti, Russia", | |
"Краснодар": "Krasondar, Russia", | |
"Самара": "Samara, Russia", | |
"Казань": "Kazan, Russia", | |
"Киев": "Kiev, Ukraine", | |
"Минск": "Minsk, Belarus", | |
"Железнодорожный": "Zheleznodorozhny, Russia", | |
"Обнинск": "Obninsk, Russia", | |
"Набережные Челны": "Naberezhnye Chelny, Russia", | |
"Саратов": "Saratov, Russia", | |
"Видное": "Vidnoe, Russia", | |
"Netanya": "Netanya, Israel", | |
"HAIFA": "Haifa, Israel", | |
"Владивосток": "Vladivostok, Russia", | |
"Егорьевск": "Yegorievsk, Russia", | |
"Жуковский": "Zhukovskiy, Russia", | |
"Ярославль": "Yaroslavl, Russia", | |
"Toulouse": "Toulouse, France", | |
"Tournefeuille": "Tournefeuille, France", | |
"Тула": "Tula, Russia", | |
"Иваново": "Ivanovo, Russia", | |
"Киров": "Kirov, Russia", | |
"Екатеринбург": "Ekaterinburg, Russia", | |
"Эльвира": "Elvira", | |
"Эль": "Ale", | |
"Рудь": "Rood'", | |
"Евгения": "Evgeniya", | |
"Евгений": "Evgeny", | |
"Людмила": "Lyudmila", | |
"Коныгина": "Konygina", | |
"Съедугина": "Siedugina", | |
"Александра": "Alexandra", | |
"Александр": "Alexander", | |
"Тюрин": "Tiurin", | |
"Ксения": "Xenia", | |
"Григорьев": "Grigoriev", | |
"Костюкова": "Kostiukova", | |
"Наталья": "Natalia", | |
"Татьяна": "Tatiana", | |
"Григорий": "Grigory", | |
"а": "a", "б": "b", "в": "v", "г": "g", "д": "d", "е": "e", "ё": "e", "ж": "zh", "з": "z", | |
"и": "i", "й": "y", "к": "k", "л": "l", "м": "m", "н": "n", "о": "o", "п": "p", "р": "r", | |
"с": "s", "т": "t", "у": "u", "ф": "f", "х": "kh", "ц": "ts", "ч": "ch", "ш": "sh", "щ": "sch", | |
"ы": "y", "э": "e", "ю": "ju", "я": "ya", | |
"А": "A", "Б": "B", "В": "V", "Г": "G", "Д": "D", "Е": "E", "Ё": "E", "Ж": "Zh", "З": "Z", | |
"И": "I", "Й": "Y", "К": "K", "Л": "L", "М": "M", "Н": "N", "О": "O", "П": "P", "Р": "R", | |
"С": "S", "Т": "T", "У": "U", "Ф": "F", "Х": "Kh", "Ц": "Ts", "Ч": "Ch", "Ш": "Sh", "Щ": "Sch", | |
"Ы": "Y", "Э": "E", "Ю": "Yu", "Я": "Ya", | |
"ье": "ye", "ьё": "ye", "ЬЕ": "YE", "ЬЁ": "YE", | |
"ьи": "yi", "ЬИ": "YI", | |
"ь": "", "Ь": "", "ъ": "'", "Ъ": "'", "ия": "ia", "тц": "ts" | |
}; | |
str = str.replace(/^(.+?)\s(.+?),\s(.+)$/, "$2 $1, $3"); // swap first and lat name | |
str = str.replace(/^(.+?)(\s–\s)(.+?)\s(.+?),\s(.+)$/, "$1$2$4 $3, $5"); // swap partner name | |
return strtr(str, dictionary); | |
//return str; | |
} | |
</script> | |
<!-- Подключение DCevent.js --> | |
<script src="ПУТЬ_К_СКРИПТУ/dcevent.min.js" data-format-hook="translate"></script> | |
<!-- Далее как обычно --> | |
<div data-dcevent="88070" data-contest="Intermediate Jack n' Jill" data-select="leaders"> | |
<img src="/assets/images/ajaxLoad.gif"> | |
</div> | |
etc.... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Примитивный скрипт для транслитерации русских имен для DCevent.js
DCevent.js: https://github.com/danceconvention/dcnet-public/tree/master/contrib/ofstudio/DCevent.js
Работающий пример транслитерации: http://westiefest.org/en/2014/participants/