Сейчас: 13:00:20   19-го апреля 2024 г.
UsefulScript.ruСкриптыРазныеОнлайн перевод на транслит
9
33

Скрипт онлайн перевода на транслит

Ранее нами уже был рассмотрен скрипт перевода текста на транслит.


Теперь же мы решили немного доработать данный скрипт для того, чтобы он полностью соответствовал ГОСТу 7.79-2000 (схема Б), а именно пункту 6.6, который гласит:

Ц передается либо латинской C, либо сочетанием CZ. Рекомендуется употреблять С перед буквами I, Е, Y, J, а в остальных случаях — CZ.


Предыдущий наш скрипт не работал в браузере Google Chrome, что также было устранено в данном скрипте. Плюс мы еще добавили замену пробелов на нижнее подчеркивание.


Для наглядной демонстрации работы скрипта, введите в текстовое поле, расположенное чуть ниже произвольный текст на русском языке (кириллицей) и нажмите на кнопку "В транслит". В результате работы скрипта буквы текст в текстовом поле будут заменены на латинские в соответствии с ГОСТом 7.79-2000 (схема Б).




Для проверки правильности замены в тексте буквы Ц на C или CZ введите, например, строку: Цапля снесла на блюдце яйцо. В результате работы скрипта, Вы должны будете получить строку Czaplya_snesla_na_blyudce_yajczo.


Для вставки на своем сайте точно такого же скрипта перевода текста на транслит, добавьте следующий JavaScript код себе на страничку:

JavaScript код:
<script type='text/javascript'>
function 
send(){
 var 
res '';
 var 
text document.getElementById('text').value;
 var 
transl = {А:'A'а:'a'Б:'B'б:'b'В:'V'в:'v'Г:'G'г:'g',
 
Д:'D'д:'d'Е:'E'е:'e'Ё:'Yo'ё:'yo'Ж:'Zh'ж:'zh'З:'Z'з:'z',
 
И:'I'и:'i'Й:'J'й:'j'К:'K'к:'k'Л:'L'л:'l'М:'M'м:'m',
 
Н:'N'н:'n'О:'O'о:'o'П:'P'п:'p'Р:'R'р:'r'С:'S'с:'s',
 
Т:'T'т:'t'У:'U'у:'u'Ф:'F'ф:'f'Х:'X'х:'x'Ц:'Cz'ц:'cz',
 
Ч:'Ch'ч:'ch'Ш:'Sh'ш:'sh'Щ:'Shh'щ:'shh'Ъ:'"'ъ:'"'Ы:'Y\''ы:'y\'',
 
Ь:'\''ь:'\''Э:'E\''э:'e\''Ю:'Yu'ю:'yu'Я:'Ya'я:'ya'' ':'_'};

 for(
i=0;i<text.length;i++) {
    if(
transl[text[i]]!=undefinedres += transl[text[i]];
    else 
res += text[i];
 }
 
res res.replace(/Cz(?=i|e|y|j|I|E|Y|J)/g"C");
 
res res.replace(/cz(?=i|e|y|j|I|E|Y|J)/g"c");
 
document.getElementById('text').value res;
}
</script>

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

HTML код:
<div style="text-align: center;">
<
textarea id="text" cols="35" rows="8" style="width: 600px; height: 150px;
    border: 1px solid #999999; background: #EEEEEE;"
></textarea>
<
br>
<
input type="button" value="В транслит" onclick="send()">
</
div>

Как Вы могли заметить, в приведенном нами скрипте присутствует замена строк по регулярным выражениям. Это сделано для того чтобы избежать излишних проверок в самом скрипте и в то же время выполнить условия пункта 6.6 ГОСТа 7.79-2000 (схема Б), о которых мы писали выше.

Дата создания: 19:19:04 04.05.2014 г.
Посещений: 16284 раз(а).

Комментарии посетителей (14 шт.):
Сергей
1
# 1640
(19:56:28  04.05.2014 г.)

Спасибо большое за отзывчивость, и оперативность. Отличный скрипт.
Я долго искал в сети именно такую реализацию, благодаря вам этот скрипт был создан.
Думаю он будет пользоваться огромной популярностью благодаря своему нетривиальному функционалу.
Ответить

Дмитрий
0
# 1684
(17:07:18  23.05.2014 г.)

Добрый день. Подскажите, что добавить, чтобы меняло, например так: Зь -> Ź
Ответить

Administrator
1
# 1686
(13:16:07  24.05.2014 г.)

Добавьте после строки var text = document.getElementById('text').value;
строчку text = text.replace(/Зь/g, "\u0179");
Ответить

Barny
0
# 4454
(16:59:24  09.04.2019 г.)

Добрый день.
А как переписать строку так, чтобы наоборот, после букв I, Е, Y, J читалось как "С", а в остальных случаях - "CZ". Спасибо.
Ответить

Владимир
0
# 1776
(16:24:41  29.07.2014 г.)

Вот актуальная транслитерация знаками латинского алфавита - для загранпаспортов Российской Федерации (с 16 марта 2010 года по сегодняшний день).
ГОСТ Р 52535.1-2006. Карты идентификационные. Машиносчитываемые дорожные документы. Часть 1. Машиносчитываемые паспорта (Извлечение).

Источник - Приказ Федеральной миграционной службы (ФМС России) от 3 февраля 2010 г. N 26 г. Москва "Об утверждении Административного регламента Федеральной миграционной службы по предоставлению государственной услуги по оформлению и выдаче паспортов гражданина Российской Федерации, удостоверяющих личность гражданина Российской Федерации за пределами территории Российской Федерации, и по исполнению государственной функции по их учету" (Приложение N 10).
Ссылка - rg.ru/2010/03/05/pasport-dok.html
Ответить

Александр
0
# 1843
(22:58:52  30.08.2014 г.)

Доброе время суток!
А как сделать, чтобы не было такого? ( Привет_как_твои_дела ).
Полосок между пробелами?
Ответить

Administrator
0
# 1844
(23:25:23  30.08.2014 г.)

Просто удалите из массива var transl в самом конце замену пробелов на подчеркивание: , ' ':'_'
Ответить

Alex
0
# 1914
(14:25:52  26.09.2014 г.)

На сайте Юкоза не работает скрипт.
Ответить

Administrator
1
# 1915
(14:41:38  26.09.2014 г.)

Странно, скрипт не должен зависеть от хостера, т.к. сделан на JavaScript и выполняется браузером. Надеюсь для проверки скрипта не IE пользовались. :)
Ответить

Alex
0
# 1918
(10:44:52  27.09.2014 г.)

Приветствую Админ, нет, ставлю как положено на страничку, но кнопка (Преобразовать в транслит) не активна. Браузер Хром.
Ответить

Administrator
0
# 1920
(12:25:11  27.09.2014 г.)

Проверил в Google Chrome, работает. Как вариант, посмотрите исходный код своей странички, возможно, Ваш движок сайта искажает код (преобразует теги и т.д.). Если не получится, скиньте URL, сам посмотрю.
Ответить

Alex
0
# 1921
(12:27:12  27.09.2014 г.)

Ок, цитата: добавьте следующий JavaScript код себе на страничку.
Только не много не так. JS добавить в глобальный блок, тот который нужен, а html код уже на страничку вывода (новости или там еще чего).
Так работает. Разобрался. Спасибо. С УВ.
Ответить

Алексей
3
# 2727
(11:38:11  29.09.2015 г.)

Здравствуйте. А еще функцию транслита с латиницы на русский сюда прикрутить можно? Спасибо. С уважением.
Ответить

Barny
0
# 4455
(16:50:14  11.04.2019 г.)

Добрый день.
А как переписать строку так, чтобы наоборот, после букв I, Е, Y, J читалось как "С", а в остальных случаях - "CZ". Спасибо.
Ответить

Закрыть
Ваше имя:
350 + 8 =
Добавить комментарий:
Ваше имя:
350 + 8 =

Перед публикацией все комментарии проходят обязательную модерацию!

Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
Посетителей онлайн: 5

Какие темы необходимо добавлять на сайт?