Страница 1 из 1

Подскажите утилиту для транслита. UPD: Найдено!

Добавлено: 09 сен 2010, 13:34
Eclogyte
Нужна утилита или скрипт, умеющий следующее.
  • Умеющий выполнять замену по определённому образцу с применением регэкспов. Например, дописать в начало или конец каждого слова какой-нибудь фрагмент.

    Конкретнее: в файле карты в польском формате, в каждой строке, начинающейся с "Label=", нужно заменить каждое слово на такое же с "|1|" в начале и с "|0|" в конце слова (без кавычек).
  • Выполняющий собственно транслитерацию по определяемым пользователем правилам. Один исходный символ соответствует одному результирующему. - неактуально, но если будет - то хорошо
Разумеется, также сойдут два скрипта с разными функциями.

Цель всего этого - русификация карт к Лоуренсу. Последний умеет показывать русские надписи, но хранит их в хитром транслите, в ASCII (а шо ви хотели - это ж американцы!).


ДОВЕСОК от 17.09.2010: обновил сообщение.

ДОВЕСОК 2: решение найдено! См. в теме.

Re: Подскажите утилиту для транслита

Добавлено: 16 сен 2010, 02:47
Юрбас
Microsoft Word?

Re: Подскажите утилиту для транслита

Добавлено: 16 сен 2010, 08:25
Eclogyte
Замена 35 раз в 40-мегабайтном текстовом файле в Ворде? Интересная мысль :-). Причём если не найдётся скрипта на Перле или Питоне, то придётся так и поступить.

Но отложу этот вариант для худших времён.

Re: Подскажите утилиту для транслита

Добавлено: 17 сен 2010, 13:34
eugene_za
Как-то давным давно была хорошая программа "Штирлиц".
Описание:
Штирлиц программа расшифровывает русские тексты, написанные в различных кодировках (Win-1251, KOI-8r, DOS, ISO-8859-5, MAC и др.) Все русские кодовые страницы и их комбинации, многочисленные способы транслитерации, HTML, RTF, Unicode, UTF (7,8, порченный 8), Quoted printable, base 64, binhex, uuencode, xxencode, BtoA, ручное декодирование, просмотрщик буфера обмена, декодер буфера обмена, горячая клавиша для декодирования текста в стандартном окне редактирования других приложений, пакетное перекодирование, многодокументный интерфейс,инсталлятор-деинсталлятор, печать RTF и многое другое...
Ссылка на версию 4.01 - http://softsearch.ru/programs/180-405-s ... load.shtml
Может и свежее есть.

Re: Подскажите утилиту для транслита

Добавлено: 17 сен 2010, 13:49
Eclogyte
"Штирлица" буду иметь в виду, благ-за-ин. Но вот второй пункт не выполняется, хотя он, пожалуй, даже более важен по сравнению с транслитерацией. Да и необходимость загрузки файла - не комильфо.

Сейчас обновлю заглавное сообщение.

Re: Подскажите утилиту для транслита

Добавлено: 17 сен 2010, 15:56
Eclogyte
Решение найдено! Сейчас оно допиливается в виде спешного изучения редактора sed :-). Состоит в том, что файл с картой прогоняется через две команды, одна из которых добавляет к каждому слову из строчки Label нужные 0 и 1, а вторая - удаляет последний 0.

Первая команда: sed -e '/Label=/ s/[^ =-]\+/|1|&|0|/g' -e 's/|1|Label|0|/Label/g' source.mp > almost_result.mp,

где source.mp - Ваш файл с картой, а almost_result.mp - соответственно, результат. Фактически, здесь две команды sed в одной строчке, но это уже детали.

Вторая:

sed -e '/Label=/ s/|0|$//' almost_result.mp > result.mp

Конечно, это можно слепить в один скрипт, но так нагляднее.


Транслитерация будет производиться на втором этапе. Пока для неё используется mpUtilities (http://travelgps.com.ua/forum/viewtopic ... 327#p10327), и для её выполнения по-прежнему ищется скрипт. Предпочтительнее на Перле, Питоне или тех же sed, awk или шелле.