HPC.ru lite - Все форумы
Форум: Электронные книги ONYX (eBook)
Тема: Как установить словари...(Ответ)
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27

[Ответить]
smust [29.12.2012 21:12] :
Помогите, плиз, как установить программу Словарь на M92M?
Reader7 [03.01.2013 12:52] :
Привет!

У меня M92 и i62ML.
Скачал большой пакет словарей
http://rutracker.org/forum/viewtopic.php?t=3406340

В частности, наиболее интересные из англо-русских: Асперяна и Lingvo универсальный и др.

Так вот, со словарями, как наверное, не только я заметил, косяк:
- у Асперяна в словарных статьях лишние строчки (после каждой строчки идет лишний "перевод каретки"
- а у Lingvo не отображается транскрипция, хотя в самом словаре она есть (также и для многих других словарей).

Решил подкорректировать словари:
- скачал StarDictEditorPortable.exe
http://code.google.com/p/stardict-3/downloads/list
- декомпилировал *.ifo (dz, idx) в xml файл
- отредактировал xml (с помощью регулярных выражений)
- обратно скомпилировал xml в dict (+ idx и dz) файлы
- скачал DictUI - DictZip User Interface
http://sintegrial.com/dictui/pages/en/index.php
- и сжал dict в dict.dz
- переместил результат в книгу

В итоге, получившиеся словари (все как положено, 3 файла: ifo, dz, idx) книга не видит!
В то время как программа-словарь под Windows эти же словари отлично видит и понимает.

У кого есть опыт редактирования (или создания собственных) словарей, поделитесь пожалуйста.
В чем фишка? Почему описанная процедура не сработала?
(может проблема с версиями StarDict формата, если таковые есть?)

Какой-то у Оникса софт кривой. Раньше был покетбук, и у него не было проблем со StarDict словарями.
Anatoliy [04.01.2013 09:13] :
Reader7, а обычные словари, прописанные в этой ветке (в самом начале) устанавливаются? Если да, то что-то при Вашей обработке не соответствует софту книги. Linux и Windows операционки разные и созданные ими продукты могут не совмещаться.
Kirith [04.01.2013 09:25] :
У меня нет, но я знаю где посмотреть...
Тут хорошо описано.
Если я правильно понял, то загвоздок может быть 2:
- не та версия словарей (должна быть 2.4.2) - неправильно сформировано окончание строки при компиляции (должно быть СR)
Reader7 [04.01.2013 21:22] :
Anatoliy, да все устанавливается, собственно для редактирования в качестве исходных и брал уже рабочие словари (но кривые - да все словари кривые, кроме Мюллера, это и хотел поправить).

Kirith, спасибо, если правильно понял, версии в
http://code.google.com/p/stardict-3/downloads/list
это не просто версии софта для работы со stardict-словарями но еще и версии самого stardict-формата.
И видимо причина проблемы в том что софт Оникса поддерживает только словари очень старого stardict-формата (от 2003.11.15).

К сожалению, пакет версии 2.4.2 вижу только для linux. Попробую поискать для винды или придется виртуалку linux ставить...
Или как сейчас читаю
http://code.google.com/p/stardict-3/wiki/Building#Building_StarDict
можно попробовать собрать пакет и под виндой в MS Visual Studio...
Kirith [04.01.2013 21:41] :
Reader7, интересно. Отпишитесь как что делали (типа "руководства" если успешно сконвертируете, конечно.
Pooh_ [05.01.2013 00:37] :
А что там криво? Может мы тут зря на Оникс наезжали, что транскрипция в карточке слова не показывается...
Reader7 [30.01.2013 18:34] :
Добрый день,

Извините, тут на время отошел от дел оных...
Но вчера вернулся и глянул свежим взглядом на проблему. Второй подход оказался удачным! Сам не ожидал, что так быстро все решиться, да и несколько нетипично - если следовать традициям, русским сказкам там, успешной должна быть третья попытка. Все-таки отдых полезен, чего и всем желаю.

Соответственно, как тут запрашивали, привожу типа "руководства".

1. Сначала скачиваем несколько инструментов, которые нам понадобятся для работы:
- по ссылке
http://code.google.com/p/stardict-3/downloads/list
находим в списке и скачиваем StarDictPortable-stardict.sourceforge.com_3.0.3.paf.exe
- по ссылке
http://sintegrial.com/dictui/pages/en/index.php
скачиваем Win32 DictUI binaries - setup as standalone application
- также будет очень полезен (тем кто еще не пользуется) блокнот notepad++ на замену стандартного блокнота
http://notepad-plus-plus.org/download/
- и такой очень полезный и наверное один из лучших инструментов для работы с регулярными выражениями как RegexBuddy. Это коммерческий продукт, но пролеченные варианты в сети имеются, например:
http://rutracker.org/forum/viewtopic.php?t=3320287

2. Следующая задача состоит в том, чтобы подредактировать какой-либо "кривой" словарь, так чтобы ониксы его более корректно воспринимали.
Например, возьмем универсальный англо-русский словарь из коллекции
http://soft.sibnet.ru/soft/5349-stardictkomplekt-slovarei/

Проблема с ним в том, что оникс не показывает транскрипцию и, наоборот, показывает лишние ссылки на звуковые файлы.
Практически это проблема всех словарей кроме stardict-mueller7-2.4.2.
Поэтому логично подсмотреть как устроен mueller и подогнать другие словари под близкий формат.

Предварительно сделаем копию нашего словаря.

Затем запускаем StarDictPortable-stardict.sourceforge.com_3.0.3.paf.exe, и после раз'архивации этого пакета, использует StarDictEditorPortable.exe для декомпиляции словаря. Подставляем .ifo-файл и выбираем, а в качестве формата "Textual StarDict dictionary".
В результате должны получить одноименный xml-файл.
Остальные файлы словаря кроме этого xml-файла - удаляем.

Прежде всего, видим лишние ссылки на звуковые файлы, типа <rref>help.wav</rref>
Для их удаления можно использовать RegexBuddy в режиме Replace и вкладку GREP, заменяя регулярное выражение <rref>.+</rref> на пустую строку.

Далее, если сравнить, его с аналогично полученным xml-файлом mueller словаря, то станет очевидным, что оникс не понимает теги транскрипции типа <tr>help</tr>, вместо них должно быть . Делаем соответствующую автоматическую групповую замену во всем xml-файле. Для этого также можно использовать Replace-GREP и замену <tr>(.+)</tr> на [\1]

Все, файл исправлен, теперь компилируем его обратно. Опять используем StarDictEditorPortable.exe, для уже компиляции, выбирая в качестве входных данных наш xml-файл, а в качестве формата "Textual StarDict dictionary". Получим 3 одноименных файла: .ifo, .idx и .dict.

Полученный .ifo оникс не понимает (можете сравнить его с исходным если интересно), поэтому мы его заменяем на исходный из сохраненной копии словаря (но это было бы недопустимо, если бы мы добавляли или удаляли словарные статьи из xml-файла).

Далее нам осталось сжать .dict файл в .dict.dz файл. Для этого мы и скачивали ранее Win32 DictUI.
После раз'архивации этого пакета, получим папку DictUI, а в ней dictui.exe (для работы через интерфейс) и dictzip.exe (для работы через командную строку). Так вот, не советую пользоваться dictui.exe, как показало бинарное сравнение файлов эта утилита работает не совсем чисто. Лучше зайдите в cmd или far (как я) и запустите оттуда dictzip.exe "ваш словарь.dict" (предварительно скопировав "ваш словарь.dict" в папку DictUI). В результате получим искомый "ваш словарь.dict.dz"

Все, копируем все 3 файла на оникс и наслаждаемся плодами своих трудов
Писал долго, но в реальности все эти операции занимают считанные минуты.

================

Также подкорректировал словарь Apresyan (En-Ru), где изначально после каждой строки в словарных статьях шли 2 лишние пустые строки. Проблема была в тегах, которые оникс корректно не понимает. Просто вычистил эти теги.

Эти уже готовые откорректированные словари, поместил на
http://rusfolder.com/34757246
http://rusfolder.com/34757245

Если кто будет корректировать другие словари, просьба также делится результатами.
Reader7 [30.01.2013 18:39] :
Pooh_, наезжали не зря, транскрипция в самих словарях содержится, но оникс ее не отображает - очевидная недоработка софта.

Встречаются и другие проблемы - ненужные ссылки на звуковые файлы или лишние пустые строчки...

Вообще, многие теги StarDict формата софт не понимает.

Если говорить о версии StarDict формата 2.4.2., который и рекомендуется для оникса, то эта версия от 2003 года! В то время как на офсайте StarDict уже много поколений библиотеки для работы с этим форматам сменилось - сейчас уже идет версия 3.0.4 (от 2013 года).

Поэтому позор китайским (или кто там) программистам! Исходники есть - бери да вставляй, что им мешает?
Kirith [30.01.2013 20:04] :
Сейчас прямо до Вас доберётся модератор. Исправляйте ссылку на что-то легальное. Банят тут за это...
[Ответить]
[< Назад]  [Вперед >]