Skip to content

Instantly share code, notes, and snippets.

@ofstudio
Created January 14, 2015 15:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ofstudio/27ee908973d7f2ab0841 to your computer and use it in GitHub Desktop.
Save ofstudio/27ee908973d7f2ab0841 to your computer and use it in GitHub Desktop.
Транслитерация для DCevent.js
<!-- Скрипт транслитерации -->
<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....
@ofstudio
Copy link
Author

Примитивный скрипт для транслитерации русских имен для DCevent.js

DCevent.js: https://github.com/danceconvention/dcnet-public/tree/master/contrib/ofstudio/DCevent.js

Работающий пример транслитерации: http://westiefest.org/en/2014/participants/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment