LINUX.ORG.RU

PyQt5 GUI для работы со словарями в формате DSL (ABBYY Lingvo)

 , , ,


0

4

Есть идея - создать программу (мобильный и десктопный варианты; аналог GoldenDict) для работы со словарями в формате DSL.

Основу/движок планирую взять отсюда

Free and flexible IronDict .DSL reader/converter (HTML output) working with Python >= 3.2.

http://github.com/prodotiscus/iron-dict/

TODO

Так как основа/движок будет на Python3.2, то планирую использовать pyqtdeploy для конвертирования кода Python в C++

pyqtdeploy is a tool that, in conjunction with other tools provided with Qt, enables the deployment of PyQt4 and PyQt5 applications written with either Python v2.7 or Python v3.3 or later.
It supports deployment to desktop platforms (Linux, Windows and OS/X) and to mobile platforms (iOS and Android).
pyqtdeploy itself requires PyQt5 and Python v3.2 or later.
pyqtdeploy works by taking the individual modules of a PyQt application, freezing them, and then placing them in a Qt resource file that is converted to C++ code by Qt’s rcc tool. Python’s standard library is handled in the same way.

https://pypi.python.org/pypi/pyqtdeploy/

Есть желающие поучаствовать? ;-)

https://github.com/prodotiscus/iron-dict/issues/1

P.S.: Дополнительная информация

★★★★★

Взять лучшее из GUI от:

Из этих пользовался только Голдендиктом. У остальных какие особые фишки?
А так дело хорошее, у многих за годы скопилось до фига словарей в DSL.

IronDict .DSL reader/converter

Нормально он пережёвывает словари от разных версий dslcompiler?

В тегах не хватает «перевод» и «словари», в них поболее сообщений, чем в «dictionary».

massimus ★★★ ()
Последнее исправление: massimus (всего исправлений: 1)

Со всеми этими словарями проблемы есть:

1) - Где достать словари? Есть несколько доступных, а если что-то посерьёзнее, то приходится по свалкам лазить. Имеющиеся программы могли бы быть полезными, если бы имелись словари.

2) - Отсутствие обратного перевода. Есть у меня, например, русско-английский, а перевести мне надо с английского на русский, Имеюзийся словарь бесполезен, поскольку переводит только в одну сторону.

3) - Отсутствие некоторых сочетаний языков. Было бы неплохо иметь возможность перекрёстного перевода, нужно, например перевести с французского на английский, но у меня только русско-английский и французско-русский. Вот бы и перевело мне через русский язык. А в идеале нужен такой словарь, который умеет сопоставлять все языки напрямую, например, слово «яблоко» имеет перевод и на английский и на французский и на другие языки, следовательно через эту «параллель» можно было бы перевести с любого на любой. Но это уже не текстовый файлик, а база данных какая-то.

4) - отсутствие перевода предложениями. Тут уж даже не знаю как быть.

Deleted ()
Ответ на: комментарий от Deleted

2) - Отсутствие обратного перевода. Есть у меня, например, русско-английский, а перевести мне надо с английского на русский, Имеющийся словарь бесполезен, поскольку переводит только в одну сторону.

Если ты не знал, то можно делать DSL словари, имееющие более одного языка в нескольких направлениях.

atsym ★★★★★ ()
Ответ на: комментарий от Deleted

4) - отсутствие перевода предложениями. Тут уж даже не знаю как быть.

Ты говоришь о программе-переводчике, а не о программе словаре.

В программах-словарях можно частично воссоздать функционал переводчика создав словарь-разговорник.

atsym ★★★★★ ()
Ответ на: комментарий от Deleted

Но это уже не текстовый файлик, а база данных какая-то.

Словари в формате DSL (как и словари в целом) — это и есть текстовая база данных. В мозгу человека эта база данных назыаается «словарным запасом».

3) - Отсутствие некоторых сочетаний языков. Было бы неплохо иметь возможность перекрёстного перевода, нужно, например перевести с французского на английский, но у меня только русско-английский и французско-русский. Вот бы и перевело мне через русский язык. А в идеале нужен такой словарь, который умеет сопоставлять все языки напрямую, например, слово «яблоко» имеет перевод и на английский и на французский и на другие языки, следовательно через эту «параллель» можно было бы перевести с любого на любой. Но это уже не текстовый файлик, а база данных какая-то.

Смотри мой коммент к пункту 2) выше

atsym ★★★★★ ()
Ответ на: комментарий от Deleted

1) - Где достать словари? Есть несколько доступных, а если что-то посерьёзнее, то приходится по свалкам лазить. Имеющиеся программы могли бы быть полезными, если бы имелись словари.

Есть несколько вариантов. Вот лишь некоторые из них:

atsym ★★★★★ ()
Ответ на: комментарий от seryoga

"Есть ли какие словари для Android, аналогичные GoldenDict, но свободые" (2013)

Сам давно хотел. Не хватает пары плюшек у голден дикта для андроида. Но автор его забросил, вроде.

Да, и ты не один такой. Когда-то уже был топик, но там больше говорили о существующих проектах.

Есть ли какие словари для Android, аналогичные GoldenDict, но свободые

atsym ★★★★★ ()

я не понял. У тебя проект то на гитхабе есть уже? Ну чтоб можно было там смотреть за прогрессом и репортить если что.

anonymous ()
Ответ на: комментарий от massimus

Нормально он пережёвывает словари от разных версий dslcompiler?

Я ещё не начал его ковырять.

А что именно ты подразумеваешь под «словари от разных версий dslcompiler»? В файлах DSL вроде же нет привязки к версиям dslcompiler.

atsym ★★★★★ ()
Ответ на: комментарий от atsym

А что именно ты подразумеваешь под «словари от разных версий dslcompiler»?

Когда-то пробовал конвертировать в LSD для десктопного голдендикта накопленные в разное время словари в DSL с помощью патченного dslcompiler от разных версий лингво, так вот он то с более старыми, то с более новыми не справлялся.

massimus ★★★ ()

Пожалуй впишусь. Создавай репу. Если есть описалово формата DSL, кидай сюда. Чот быстрогуглеж выдает дичь. Словрики для стардикта на голом питоне, без сторонних либ, писал.

anonymous ()
Ответ на: комментарий от anonymous

Если есть описалово формата DSL, кидай сюда.

В шапке собственно уже есть ссылка на документацию по формату DSL

http://lingvo.helpmax.net/ru/вопросы-и-затруднения/dsl-compiler/

Пример словаря на основе данной документации

https://github.com/Tvangeste/SampleDSL

В данном примере ещё не описаны «sub-entries»

https://github.com/Tvangeste/SampleDSL/issues/1

atsym ★★★★★ ()
Последнее исправление: atsym (всего исправлений: 1)