Я изобрёл себе велосипед. :)
Я переделал вот этот татарско-русский словарь (http://tatar.com.ru/dict/a.php) в удобный для поиска grep'ом формат. И написал себе bash'евый скриптик для вызова этого самого grep'а.
Формат файла очень прост для обработки.
*слово{, слово}[ РимскаяЦифра][: выражение]* _помета_ переводСкрипт вызывается так:
тат заьнъгаьрРезультат выглядит в консоли так:
аксыл зәңгәр пр голубой, лазурный, лазоревый
алсу зәңгәр пр ало-голубой, лиловый
яшел-зәңгәр пр лазоревый, цвета морской волныИнструкции по установке:
- Скачать файлы ttru (собственно, словарь) и казановица.sed где-нибудь в доступном месте.
- Сохранить файл тат в одной из папок, прописанных в переменной PATH
- В файле тат изменить значения переменных DICTFILE и KAZANOVICA, чтобы в них был правильный путь к файлам из пункта 1.
Осталось только выучить татарский или хотя бы понять, зачем мне нужен татарско-русский словарь...
Идиотский солярис. Он не любит кириллицу, увы. Юникод и подавно. :'(
А почему, кстати, словарь-велосипед?
Ага. Вот она где не читает ничего.
Что должно быть в dict.sed (ну то есть казановица.sed)? У меня там такое. Что за бред? Вижу 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
s/РЅСЉ/ТЈ/g
Цитата: DeSha от июля 13, 2011, 18:18
Идиотский солярис. Он не любит кириллицу, увы. Юникод и подавно. :'(
Как именно не любит? Квадратики, кракозяблики, знаки вопроса, отсутствие поддержки клавиатурного ввода кириллицы?
Кракозяблики выглядят как utf-8, отображенный в виде cp1251
Цитата: Python от июля 13, 2011, 18:24
Как именно не любит? Квадратики, кракозяблики, знаки вопроса, отсутствие поддержки клавиатурного ввода кириллицы?
Обычно не любит, как и все доисторические системы.
Кракозяблики короче. Впрочем, весь год мне кириллица (да и юникод в целом) не нужны были, поэтому я с этой проблемкой не сталкивался, работал и не паниковал. И сейчас бац - и зассада... Точно пора переходить с соляриса версии столетней давности.
Цитата: Python от июля 13, 2011, 18:26
Кракозяблики выглядят как utf-8, отображенный в виде cp1251
Не, я с кодировками поигралсо, не помогло. Терминал вообще отказывается воспринимать что-то кроме латиницы.
Действительно, велосипед. Не проще ли его в dsl (там делов-то на 5 минут) и к голдендикту прикрутить?
Цитата: Oleg Grom от июля 13, 2011, 18:28
Действительно, велосипед. Не проще ли его в dsl (там делов-то на 5 минут) и к голдендикту прикрутить?
Нафиг?! Есть Лингво, и если уж делать, то только для него. Остальные sucks.
Ну, не знаю. Я попробовал перекодировать, получилось вот что:
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 от июля 13, 2011, 18:30
Ну, не знаю. Я попробовал перекодировать, получилось вот что:
Ух ты, неплохо, неплохо. Щас попробуем насильно это запихнуть.
Цитата: DeSha от июля 13, 2011, 18:29
Нафиг?! Есть Лингво, и если уж делать, то только для него. Остальные sucks.
Dsl - самый простой формат. Из него хоть в lsd (ака lingvo), хоть куда угодно. Да и нет у меня например лингвы, не в вайн же ее пихать.
Цитата: Oleg Grom от июля 13, 2011, 18:31
Dsl - самый простой формат. Из него хоть в lsd (ака lingvo), хоть куда угодно. Да и нет у меня например лингвы, не в вайн же ее пихать.
Просто лингвовская оболочка гораздо удобнее, чем что либо ещё ;)
Не-а. Всё равно всё делает какой-то хренью. Не нравится ему ничего.
Жаль, что мне эту соляру не снести, эх. На ней слишком много чего важного.
Цитата: DeSha от июля 13, 2011, 18:32
Просто лингвовская оболочка гораздо удобнее, чем что либо ещё ;)
Это очень субъективно. Мне напр. интерфейс gd куда больше нравится.
Цитата: Oleg Grom от июля 13, 2011, 18:35
Это очень субъективно. Мне напр. интерфейс gd куда больше нравится.
Привычка просто ещё не отошла ;) Да, de gustibus, конечно же ;)
На вин-ХР, кстати, та же проблема. Нет человеческой поддержки утф-8 в командной строке. Вернее, теоретически, есть кодовая страница 65001, которая якобы должна вести себя как utf-8, но после команды chcp 65001 большинство программ отказывается работать.
Цитата: Python от июля 13, 2011, 18:42
На вин-ХР, кстати, та же проблема. Нет человеческой поддержки утф-8 в командной строке. Вернее, теоретически, есть кодовая страница 65001, которая якобы должна вести себя как utf-8, но после команды chcp 65001 большинство программ отказывается работать.
Короче все всё делают через одно место.
У Вас, кстати, всё работает? Я дак что-то решил забить ;) Лучше буду продолжать заниматься языками на латинице 8-)
Почему же, в ubuntu есть нормальная поддержка юникода в терминале. Прогу не тестил — лень под убунту перелогиниваться, да и татарского не знаю. Разве что в цѵгвине, но там я и так знаю, что ничего не получится.
Цитата: Python от июля 13, 2011, 18:48
Почему же, в ubuntu есть нормальная поддержка юникода в терминале.
Ну, у меня то не убунта. Солярка, восьмая, доисторическая, самая лаконичная.
Велосипед—потому что занимаюсь изобретательством велосипедов при наличии готовых решений, очевидно же. :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
Цитата: Demetrius от июля 13, 2011, 18:52
при желании можно татарский хранить и в казановице, тогда он в cp1251 влезет. Хотя смотрится некрасиво.
На красоту пофиг. Зато не надо будет гемороиться с заменами. Банальный поиск пустить - и voila.
Блин, Demetrius, Вы ввели меня в пичальку. Я никогда и не задумывался, умеет ли моя солярка работать с чем-то кроме латиницы. Эх. Теперь у нас с ней развод и детей в форточку. :'(
К чёрту всё. Скачал щас последнюю соляру, ща буду ставить. Блин, хочу нормальную кириллицу.
Цитата: DeSha от июля 13, 2011, 18:43
Я дак что-то решил забить ;) Лучше буду продолжать заниматься языками на латинице 8-)
У Вас там веб-сервер (локальный) есть? Если да, могу Вам прислать свой CGI-скрипт (тоже написанный как сценарий bash :fp:) для чтения татарского словаря в браузере.
(Если нет, то веб-сервер всегда можно установить.)
Еще могу словарь переконвертировать в казановицу, если Вас не пугают кошмары вроде заьнъгаьр (вместо зәңгәр). Тогда в cp1251 влезет.
Еще, кстати, можете поиграться с настройками. Например, я точно помню, что в Gnome Terminal есть опция для указания кодировки.
(Кстати, в Солярисе оболочка bash вообще?)
Цитата: DeSha от июля 13, 2011, 18:56
К чёрту всё. Скачал щас последнюю соляру, ща буду ставить. Блин, хочу нормальную кириллицу.
Ну, как знаете. :donno:
Казановичный (исправленный) словарь выложу завтра.
Цитата: Demetrius от июля 13, 2011, 19:01
У Вас там веб-сервер (локальный) есть?
Всё куда хуже: я коннекчусь к своему компу, который в питере, а на нём солярка. Тут то у меня винда.
Цитата: Demetrius от июля 13, 2011, 19:01
Если нет, то веб-сервер всегда можно установить.
Сервак стоит, но на ноуте. Ноут на даче. Я сейчас сижу с домашнего компа, а тут лишь самый минимум всего из программ. Ибо здесь 2,5ТБ жёсткий диск (моё хранилище), поэтому я избегаю тут проги ставить.
Цитата: Demetrius от июля 13, 2011, 19:01
Еще, кстати, можете поиграться с настройками. Например, я точно помню, что в Gnome Terminal есть опция для указания кодировки.
Оу, я разве не сказал? Моя солярка - без гномов всяких. Это только терминал и мини файловый менеджер. Всё. Больше нет там ничего вообще.
Цитата: Demetrius от июля 13, 2011, 19:01
Кстати, в Солярисе оболочка bash вообще?
Да, разумеется. sh/ksh/bash - всё есть.
Цитата: Demetrius от июля 13, 2011, 18:52
Потому что GoldenDict работает с буфером обмена, а не с выделенным текстом, а копировать текст в буфер обмена, например, из консоли неудобно.
Эмъ. Может я чего-то неправильно понял, но GD прекрасно работает с выделенным текстом.
Цитата: Oleg Grom от июля 13, 2011, 19:06
Эмъ. Может я чего-то неправильно понял, но GD прекрасно работает с выделенным текстом.
Милая у Вас обстановочка ::) Лисичка такого тёплого цвета ::)
Цитата: Oleg Grom от июля 13, 2011, 19:06
Цитата: Demetrius от июля 13, 2011, 18:52
Потому что GoldenDict работает с буфером обмена, а не с выделенным текстом, а копировать текст в буфер обмена, например, из консоли неудобно.
Эмъ. Может я чего-то неправильно понял, но GD прекрасно работает с выделенным текстом.
Проделайте то же самое в xterm'е, а не в браузере, тогда поверю.
У меня не получалось.
Цитата: Demetrius от июля 13, 2011, 19:09
Проделайте то же самое в xterm'е, а не в браузере, тогда поверю.
Дык а в чем собственно проблема?
Цитата: Oleg Grom от июля 13, 2011, 19:18
Цитата: Demetrius от июля 13, 2011, 19:09
Проделайте то же самое в xterm'е, а не в браузере, тогда поверю.
Дык а в чем собственно проблема?
Гм... :what: Интересно. А у меня так не работает. :donno:
В любом случае, консоль лучше, потому что ее можно выводить как захочешь.
А еще автоматизировать запросы. Например, я делаю так: распечатываю какой-то танский стих с толкованиями к каждому иероглифу, а потом беру с собой «разгадываю» на досуге. (Кстати, всем советую: куда забавнее, чем судоку. ;D Можно и к другим языкам адаптировать.) Из Ваших же GoldenDict'а и Lingvo определения так просто не выдрешь: GUI по определению ограничен.