Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Словарь-велосипед

Автор Demetrius, апреля 19, 2010, 19:32

0 Пользователи и 1 гость просматривают эту тему.

Demetrius

Я изобрёл себе велосипед. :)

Я переделал вот этот татарско-русский словарь в удобный для поиска grep'ом формат. И написал себе bash'евый скриптик для вызова этого самого grep'а.

Формат файла очень прост для обработки.
*слово{, слово}[ РимскаяЦифра][: выражение]* _помета_ перевод

Скрипт вызывается так:
тат заьнъгаьр

Результат выглядит в консоли так:
аксыл зәңгәр пр голубой, лазурный, лазоревый
алсу зәңгәр пр ало-голубой, лиловый
яшел-зәңгәр пр лазоревый, цвета морской волны


Инструкции по установке:

Осталось только выучить татарский или хотя бы понять, зачем мне нужен татарско-русский словарь...

DeSha

Идиотский солярис. Он не любит кириллицу, увы. Юникод и подавно. :'(

DeSha


DeSha

Ага. Вот она где не читает ничего.

Что должно быть в dict.sed (ну то есть казановица.sed)? У меня там такое. Что за бред? Вижу s///g, то есть замены, но какбЭ кракозябры ни о чём не говорят, что на что меняется.

Offtop
s/АЬ/Ә/g
s/Аь/Ә/g
s/аь/ә/g

s/Р–Р¬/Т–/g
s/Р–СЊ/Т–/g
s/Р¶СЊ/Т—/g
s/Р–РЄ/Т–/g
s/Р–СЉ/Т–/g
s/Р¶СЉ/Т—/g

s/РћР¬/УЁ/g
s/РћСЊ/УЁ/g
s/РѕСЊ/У©/g

s/РЈР¬/Т®/g
s/РЈСЊ/Т®/g
s/СѓСЊ/ТЇ/g

s/РҐР¬/Тє/g
s/РҐСЊ/Тє/g
s/С...СЊ/Т»/g
s/РҐРЄ/Тє/g
s/РҐСЉ/Тє/g
s/С...СЉ/Т»/g

s/РЅСЉ/ТЈ/g

Python

Цитата: DeSha от июля 13, 2011, 18:18
Идиотский солярис. Он не любит кириллицу, увы. Юникод и подавно. :'(
Как именно не любит? Квадратики, кракозяблики, знаки вопроса, отсутствие поддержки клавиатурного ввода кириллицы?
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Кракозяблики выглядят как utf-8, отображенный в виде cp1251
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

DeSha

Цитата: Python от июля 13, 2011, 18:24
Как именно не любит? Квадратики, кракозяблики, знаки вопроса, отсутствие поддержки клавиатурного ввода кириллицы?
Обычно не любит, как и все доисторические системы.

Кракозяблики короче. Впрочем, весь год мне кириллица (да и юникод в целом) не нужны были, поэтому я с этой проблемкой не сталкивался, работал и не паниковал. И сейчас бац - и зассада... Точно пора переходить с соляриса версии столетней давности.

DeSha

Цитата: Python от июля 13, 2011, 18:26
Кракозяблики выглядят как utf-8, отображенный в виде cp1251
Не, я с кодировками поигралсо, не помогло. Терминал вообще отказывается воспринимать что-то кроме латиницы.

Oleg Grom

Действительно, велосипед. Не проще ли его в dsl (там делов-то на 5 минут) и к голдендикту прикрутить?

DeSha

Цитата: Oleg Grom от июля 13, 2011, 18:28
Действительно, велосипед. Не проще ли его в dsl (там делов-то на 5 минут) и к голдендикту прикрутить?
Нафиг?! Есть Лингво, и если уж делать, то только для него. Остальные sucks.

Python

Ну, не знаю. Я попробовал перекодировать, получилось вот что:
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

DeSha

Цитата: Python от июля 13, 2011, 18:30
Ну, не знаю. Я попробовал перекодировать, получилось вот что:
Ух ты, неплохо, неплохо. Щас попробуем насильно это запихнуть.

Oleg Grom

Цитата: DeSha от июля 13, 2011, 18:29
Нафиг?! Есть Лингво, и если уж делать, то только для него. Остальные sucks.
Dsl - самый простой формат. Из него хоть в lsd (ака lingvo), хоть куда угодно. Да и нет у меня например лингвы, не в вайн же ее пихать.

DeSha

Цитата: Oleg Grom от июля 13, 2011, 18:31
Dsl - самый простой формат. Из него хоть в lsd (ака lingvo), хоть куда угодно. Да и нет у меня например лингвы, не в вайн же ее пихать.
Просто лингвовская оболочка гораздо удобнее, чем что либо ещё ;)

DeSha

Не-а. Всё равно всё делает какой-то хренью. Не нравится ему ничего.

Жаль, что мне эту соляру не снести, эх. На ней слишком много чего важного.

Oleg Grom

Цитата: DeSha от июля 13, 2011, 18:32
Просто лингвовская оболочка гораздо удобнее, чем что либо ещё ;)
Это очень субъективно. Мне напр. интерфейс gd куда больше нравится.

DeSha

Цитата: Oleg Grom от июля 13, 2011, 18:35
Это очень субъективно. Мне напр. интерфейс gd куда больше нравится.
Привычка просто ещё не отошла ;) Да, de gustibus, конечно же ;)

Python

На вин-ХР, кстати, та же проблема. Нет человеческой поддержки утф-8 в командной строке. Вернее, теоретически, есть кодовая страница 65001, которая якобы должна вести себя как utf-8, но после команды chcp 65001 большинство программ отказывается работать.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

DeSha

Цитата: Python от июля 13, 2011, 18:42
На вин-ХР, кстати, та же проблема. Нет человеческой поддержки утф-8 в командной строке. Вернее, теоретически, есть кодовая страница 65001, которая якобы должна вести себя как utf-8, но после команды chcp 65001 большинство программ отказывается работать.
Короче все всё делают через одно место.

У Вас, кстати, всё работает? Я дак что-то решил забить ;) Лучше буду продолжать заниматься языками на латинице 8-)

Python

Почему же, в ubuntu есть нормальная поддержка юникода в терминале. Прогу не тестил — лень под убунту перелогиниваться, да и татарского не знаю. Разве что в цѵгвине, но там я и так знаю, что ничего не получится.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

DeSha

Цитата: Python от июля 13, 2011, 18:48
Почему же, в ubuntu есть нормальная поддержка юникода в терминале.
Ну, у меня то не убунта. Солярка, восьмая, доисторическая, самая лаконичная.

Demetrius

Велосипед—потому что занимаюсь изобретательством велосипедов при наличии готовых решений, очевидно же. :eat:

Кстати, этот татарский словарь битый, я там при конвертации потерял часть слов! Если кому надо, могу сделать нормальный. (Кстати, при желании можно татарский хранить и в казановице, тогда он в cp1251 влезет. Хотя смотрится некрасиво.)

Еще если кому надо, могу скинуть словарь из //suzlek.ru в формате DSL. Сейчас его там в LSD распространяют, а я успел скачать нескомпилированную версию. Правда, там заголовки в дибильной латинице, так что автоматический поиск не работает.


Еще была идея достать словарную базу из «Камуса», там она довольно большая и формат довольно простой, но мне стало лень. Может на днях таки соберусь.




Цитата: Oleg Grom от июля 13, 2011, 18:31
Dsl - самый простой формат. Из него хоть в lsd (ака lingvo), хоть куда угодно.
Самый простой формат— это у CEDICT'а. Вот это я понимаю, простой.

А с DSL'ом мне неудобно работать. У меня его только GoldenDict читает, а он неудобный.

В DSL'е неудобно уже само то, что определение занимает больше одной строки (тут одним grep'ом не обойдешься), да и форматирование там не очень вменяемое, IMHO.




Мне лично больше всего нравится консольный интерфейс. Я, например, сделал себе подобный велосипед для чтения CEDICT'а.

На Windows-F5 подвесил (с помощью xbindkeys) небольшой скриптик такого содержания:
cedict `xclip -o` | dzen -p 3 -l 5

Теперь я могу выделить любой текст, нажать Windows Mod4-F5, и у меня вверху экрана появится перевод иероглифов.

Мне лично так удобнее, чем открывать окно GoldenDict'а. Потому что GoldenDict работает с буфером обмена, а не с выделенным текстом, а копировать текст в буфер обмена, например, из консоли неудобно.

Надо еще такое для БКРС сделать, но он в DSL




Подозреваю, что правильнее было бы переконвертировать свои словари в формат DICT, запустить локальный dictd-сервер и обращаться к нему. Когда будет не лень, так и сделаю. ;D

DeSha

Цитата: Demetrius от июля 13, 2011, 18:52
при желании можно татарский хранить и в казановице, тогда он в cp1251 влезет. Хотя смотрится некрасиво.
На красоту пофиг. Зато не надо будет гемороиться с заменами. Банальный поиск пустить - и voila.

Блин, Demetrius, Вы ввели меня в пичальку. Я никогда и не задумывался, умеет ли моя солярка работать с чем-то кроме латиницы. Эх. Теперь у нас с ней развод и детей в форточку. :'(

DeSha

Offtop
К чёрту всё. Скачал щас последнюю соляру, ща буду ставить. Блин, хочу нормальную кириллицу.

Demetrius

Цитата: DeSha от июля 13, 2011, 18:43
Я дак что-то решил забить ;) Лучше буду продолжать заниматься языками на латинице 8-)
У Вас там веб-сервер (локальный) есть? Если да, могу Вам прислать свой CGI-скрипт (тоже написанный как сценарий bash :fp:) для чтения татарского словаря в браузере.

(Если нет, то веб-сервер всегда можно установить.)

Еще могу словарь переконвертировать в казановицу, если Вас не пугают кошмары вроде заьнъгаьр (вместо зәңгәр). Тогда в cp1251 влезет.

Еще, кстати, можете поиграться с настройками. Например, я точно помню, что в Gnome Terminal есть опция для указания кодировки.

(Кстати, в Солярисе оболочка bash вообще?)

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр