HPC.ru lite - Все форумы
Форум: КПК и смартфоны на Linux: Zaurus, планшеты Nokia, прочее
Тема: Читалка и словарь
Страницы: 1 [2] 3
[Ответить]
jkukka [26.02.2006 17:13] :
Кстати, а может сделать плугинный словарь? Если читалка решила, что пользователь выбрал "перевести это слово-фразу", вызывается у плугина translate(const string& text). Ну, а дальше на выбор -- вызов внешней программы, тултип, чего-изволите.
Mikhail Kostousov [26.02.2006 17:57] :
zGremlin писал(а):
Вообще-то zbedic и так разбит на библиотеку и интерфейс...
Я в курсе, но одна из проблем в том, что в библиотеке - поиск слова и получение статьи, а в интерфейсной части - форматирование статьи в удобный словарный вид, который уже отображается.
DMych писал(а):
А по мне так лучше не париться, а вызывать внешнюю прогу. Ну не хочу я дублировать (по сути) функциональность уже стоящего словаря, к тому же не так часто он бывает нужен. А размер дистрибутива увеличится значительно (да еще словари пусть собственные будут, в збедиковском же формате, но в другом каталоге...
Я на это и сетовал про слитность zbedic'а... Если разделить zbedic но интерфейс и библиотеку, и использовать эту же самую библиотеку в FBReader - всем будет хорошо.. Проблема лишь в том, что после каждой новой версии ZBedic нужно будет его немножко резать - на интерфейс и библиотеку... Это абсолютно не сложно, и видимо в этом ключ. Но тут же появляется желание, а не использовать ли словари, которые уже дабавленны в ZBedic, тогда в библиотеку должны переместится считывание настроек расположения словарей...
P.S. Ни кто не мешает указывать FB словари из того же места, где лежат словори от ZBedic....
P.P.S. А если сделать нормальную библиотеку перевода из того-же ZBedic его можно потихоньку попытаться встроить еще куда-нибудь. Например в какую-нибудь pdf читалку. Не все же pdf-ки имеют сканированный вид. А в далеком будущем, может быть, какой-нибудь герой портирует нормальный браузер, и можно будет встроить этот браузер интерфейс к переводу...
Mikhail Kostousov [26.02.2006 18:11] :
DMych писал(а):
Как вариант - сделать набор модулей/плагинов, доставляемых отдельными ipk (ну, и для ленивых - all-in-one.ipk):
Плагинность - всегда хорошо. Во первых - можно выбрать по желанию, а во вторых - может появится куча сторонников, которые тут-же примутся писать всякие прибамбасы... Но написать хороший плагинный api, что бы плагины цеплялись, когда пользователю хочется, работали, и все прочее - это гораздо большее усилие... Тем более, когда система изначально не задумывалась как компонентная... Чаще всего плагинность ограничивается тем, что программа изначально знает, что она может иметь то-то и то-то, но если галочка не стоит в нужном месте, то она не будет пытаться найти соответствующую библиотеку и подключить ее. И все это дополнительный код, время и старания автора. Ради галочки "подключить словарь".
Это одно, а второе, не получится ли это все из пушки по воробьям? Интерфейс - "подключить библиотеку" проверить ее наличие, проверить она ли, та ли версия, подключить, добавить в панель настроек настройки библиотеки, еще куда-что добавить... И все из-за того, что бы не качать лишние 30-40кб... Хотя, я очень не уверен, что код который позволит распоряжаться функциональностью программы станет меньше, чем там желанная функциональность.
Да и ведь вопрос был в том, как построить работу со словарем.
geometer [27.02.2006 03:46] :
Mikhail Kostousov писал(а):
Плагинность - всегда хорошо. Во первых - можно выбрать по желанию, а во вторых - может появится куча сторонников, которые тут-же примутся писать всякие прибамбасы... Но написать хороший плагинный api, что бы плагины цеплялись, когда пользователю хочется, работали, и все прочее - это гораздо большее усилие... Тем более, когда система изначально не задумывалась как компонентная...
Плагины должны появиться со временем. Во всяком случае, поддержка разных форматов давно задумана как система плагинов. Они и написаны почти под это. Но дело здорово осложняется двумя вещами.
1) FBReader задумывался как переносимая программа -- он и работает сейчас на разных платформах. Сделать одновременно кроссплатформенность и работу с плагинами -- не совсем тривиальная задача.
2) Делать плагины (для тех же форматов) имеет смысл, если предоставить желающим API для написания плагинов. Этот API должен быть ясным и не особенно меняться от версии к версии. И вот к этому я пока, увы, не готов.
Впрочем, идея сделать поддержку словаря плагинной тоже принимается с интересом. Спасибо.
jkukka [27.02.2006 10:23] :
geometer писал(а):
1) FBReader задумывался как переносимая программа -- он и работает сейчас на разных платформах. Сделать одновременно кроссплатформенность и работу с плагинами -- не совсем тривиальная задача.
Хм,
1. dlopen есть везде
2. плагин для формата не должен зависеть от платформы
3. будут кросс-платформенные плугины
DMych [27.02.2006 12:03] :
ivanhoe писал(а):
Думаю, словарь надо встраивать в читалку. На мой взгляд главное и самое сложное в словаре -- форматирование и показ текста, а в FBReader оно, мягко говоря, сильно лучше чем в том же zbedic.
Из форматов словарей предлагаю в первую очередь имплементировать родные для Haali словари.
При чем тут Haali? ИМХО не надо плодить сущности без необходимости. На Завре большинство использует Збедик, поэтому лучше использовать уже имеющиеся на машинке словарные базы (нехилые, кстати, по объему).
Либо, сделать словарь, встроенный в ридер, на порядок лучше Збедика (чтобы все перешли на него). 
Gantt [27.02.2006 12:34] :
[quote="DMych] Либо, сделать словарь, встроенный в ридер, на порядок лучше Збедика (чтобы все перешли на него). 
К2 
Збедик, кстати, не умеет искать в статье 
zGremlin [27.02.2006 12:39] :
DMych писал(а):
При чем тут Haali? ИМХО не надо плодить сущности без необходимости. На Завре большинство использует Збедик, поэтому лучше использовать уже имеющиеся на машинке словарные базы (нехилые, кстати, по объему).
Либо, сделать словарь, встроенный в ридер, на порядок лучше Збедика (чтобы все перешли на него). 
Поддерживаю, формат bedic'а выглядит оптимальным как по скорости, так и по компрессии (dict-zip здесь совершенно на месте). К слову, формат Sdictionary (насколько я смог понять из его, вообще-то куцеватого, описания) несильно отличается
... нет, конечно отличия есть и даже родство не просматривается, но многие идеи близки.
DMych [27.02.2006 12:49] :
Gantt писал(а):
К2 
Ну, ты же знаешь, что К2 - проприетарный софт, и при всем моем уважении к Робину, его использование не представляется возможным по идеологическим и религиозным мотивам.
Gantt писал(а):
Збедик, кстати, не умеет искать в статье 
Я в свое время писал об этом аффтару (текущему). Более того, я выслал ему результаты сравнения K2/K9 и Збедика (особенно упирая на достоинства первых, отсутствующие во втором). Но результат пока практически нулевой. 
Gantt [27.02.2006 12:52] :
DMych писал(а):
[quote:868842b0f8="Gantt"]
К2 
Ну, ты же знаешь, что К2 - проприетарный софт, и при всем моем уважении к Робину, его использование не представляется возможным по идеологическим и религиозным мотивам.
Gantt писал(а):
Збедик, кстати, не умеет искать в статье 
Я в свое время писал об этом аффтару (текущему). Более того, я выслал ему результаты сравнения K2/K9 и Збедика (особенно упирая на достоинства первых, отсутствующие во втором). Но результат пока практически нулевой. 
SDict, кстати, умеет - правда, коряво - но все же.
З.Ы. Проверено на нетБуке 
[Ответить]
[< Назад] [Вперед >]