LINUX.ORG.RU

структура БД англо-русского словаря

 ,


2

3

Где бы стырить? Или, может быть, есть какой-то движок для составления специализированных англо-русских словарей, который можно уже взять в готовом виде и сделать к нему веб-интерфейс? Или даже может быть уже готовый движок с веб-интерфейсом? Интерфейс должен позволять не только читать словарь, но и пополнять его.

И желательно, чтобы пополнять его было не крайне сложной задачей, а постижимой простым ламером.

★★★★★

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

Ответ на: комментарий от no-such-file

Англо-русский словарь - это вполне определённая вещь. У меня он просто специализированный и переводы я буду придумывать сам. Например, FIXME = ПРАВЬМЯ, assert = авось и прочие ярологизмы.

И на самом деле, там будет возможность разным авторам задавать свои варианты, например, FIXME = «догнать и перегнать Америку» или FIXME = «избави нас от лукаваго» и т.п. А пользователи смогут фильтровать по авторам.

У словарной статьи есть довольно определённая структура, да и вообще я как-то не люблю вики-движки.

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

не знаю. Что-то оно слишком глобальное и универсальное, мне бы поближе к конкретике. Хотя надо взглянуть детальнее.

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

Почему нельзя назвать «FIXME» словом «ИСПРАВИТЬ», «TODO» - «СДЕЛАТЬ».

Нет, нужно ударяться либо в дурной юморок, либо в какой-нибудь архаизм.

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

Что-то оно слишком глобальное и универсальное, мне бы поближе к конкретике.

чё там сложного? бери, да парси простую XML

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE xdxf SYSTEM "http://xdxf.sourceforge.net/xdxf_lousy.dtd">
<xdxf lang_from="RUS" lang_to="RUS" format="visual">
<full_name>Мысли и фразы</full_name>
<description>Copyright: Compiled by AXMA Soft Ltd; Version: 1.0</description>
<ar><k>абстракционизм</k>
Искусство, ничего не выражающее самыми различными выразительными  средствами. Неизв.</ar>
<ar><k>абсурд</k>
утверждение или мнение, явно противоречащее тому, что думаем на этот счет мы сами. Амброз Бирс</ar>
<ar><k>абсурд (2)</k>
это истина притворившиеся ложью Яков Кротов</ar>
<ar><k>аванс</k>
Материализованное доверие. Неизв.</ar>
<ar><k>август</k>
месяц, когда вы не сможете открыть в автобусе окно, то самое, которое не могли закрыть в декабре. Леонард Левинсон</ar>
<ar><k>аксиома</k>
полная недоказуемость, равная полной неопровержимости. Александр Круглов</ar>
...
</xdxf>

*** используйте стандарты! они rulezzz!

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

Я бы предпочёл хранить словарь в реляционной СУБД, потому что могут одновременно несколько пользователей править онлайн. Как они будут совместно работать над файлом XML?

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

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

den73 ★★★★★
() автор топика

И желательно, чтобы пополнять его было не крайне сложной задачей, а постижимой простым ламером.

Любой ламерок вполне осилит REPL Лиспа и Emacs :-) Если сделать интерфейс на S-выражениях, то через SLIME и ночную сборку SBCL будет самое оно :-) Лол :-)

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

не приходя к консенсусу с остальными.

По мне - очень так себе идея.

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

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

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

потому что могут одновременно несколько пользователей править онлайн.

а как же

А пользователи смогут фильтровать по авторам.

???

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

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

#define true false

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

Конечно, они должны быть стандартизированы. Но это под силу либо государству в масштабе государства, либо крупным организациям - в масштабах этих организаций. При отсутствии этого анархия неизбежна. Если её нельзя предотвратить, то можно её хотя бы возглавить.

Твоё предложение - из серии «давайте введём один менеджер окон и один набор горячих клавиш для всех программ». Это классное предложение, но у кого есть полномочия для его исполнения?

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от nihirash

Почему нельзя назвать «FIXME» словом «ИСПРАВИТЬ», «TODO» - «СДЕЛАТЬ».

Кстати, нельзя, потому что такие глаголы вполне могут встретиться в другом смысле. FIXME элементарно грепится и даёт хорошую селективность, а ИСПРАВИТЬ и СДЕЛАТЬ - нет.

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

могут встретиться в другом смысле

Написанные капсом в комментарии?

Ну или вариант номер два — не отказываться от международных стандартов.

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

Написанные капсом в комментарии?

Искать написанное капсом в комментарии слово - гораздо сложнее, чем такое же слово просто как слово.

Насчёт международных стандартов, ага, можно не уходить, а можно уходить. Мы же свободные люди, нас цепями к международным стандартам никто не приковал. Тем более, что это ПМЛМ не стандарт, а лишь традиция. Но давайте не будем уходить от темы. Тема - не о том, как перевести FIXME, а о том, как создать инфраструктуру для перевода :)

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

Искать написанное капсом в комментарии слово - гораздо сложнее, чем такое же слово просто как слово.

О ужас, но как то туду и фиксми именно в комментариях ищут же).

И да, нормальные ide ловят эти ключевые слова только в комментариях

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

IDE, может, и ищут. А так вообще регэкспами что-то найти в комментариях ЕМНИП нельзя. Но даже если тебе больше нравится ИСПРАВИТЬ, то мне больше нравится ПРАВЬМЯ, потому что это отдельное «слово», которое отвечает только за один смысл и ни за какой другой. Плюс к тому, короткое. В английском же тоже нет слова FIXME - придумали именно вот такое обозначение именно для этого случая, а не пишут FIX ME.

Именно потому, что наши мнения разошлись, такой словарь имеет смысл. А изначально он возник из попытки собрать разные варианты наименований ключевых слов в русскоязычных ЯП. Как ни верти, а 1С и Эль-76 уже никогда не придут тут к единству - вариантов останется более одного и нужно как-то ориентироваться в этой информации. На данный момент она хранится в таблице гугл, но это плохо.

den73 ★★★★★
() автор топика

Довольно сложно сделать словарь, который работал бы быстро и жрал мало памяти

Ваши эти XML для данной задачи - полное дно

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от mos

На Руби. Жаль, хотя как образец может сойти.

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

Не, я не собираюсь использовать XML, словарь будет в постгресе храниться. Но то, что связано с живым языком - это очень сложная вещь, хочется сразу взять проверенную структуру данных, чтобы не топтаться по граблям. Пусть она даже выражена в XML - суть не в том.

den73 ★★★★★
() автор топика

не крайне сложной задачей, а постижимой простым ламером

Если хочешь упростить себе задачу, посмотри на «простейшие» словари (вышедшие из моды правда). С ними есть возможность разобраться самому. Для примера, PRAWDA, проще словарь, который используется в этой проге, вряд ли можно придумать.

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

Спасибо, добавил в избранное.

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

Спасибо, тоже добавил, потом посмотрю.

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

Ого, спасибо анон. И БСЭ имеется, просто находка.

bread
()

А что, dict у нас уже не в моде?

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

[Веб-и]нтерфейс должен позволять не только читать словарь, но и пополнять его.
И желательно, чтобы пополнять его было не крайне сложной задачей, а постижимой простым ламером.
У меня он просто специализированный и переводы я буду придумывать сам. Например, FIXME = ПРАВЬМЯ, assert = авось и прочие ярологизмы.

Э...

Я правильно понял, что этой вашей яровизацией лиспа (это же лисп был, да?) будут заниматься особо отобранные «ламеры», для которых структурированный и версионированный текст — это не то, что не самый дружественный вариант, а просто уже за пределами понимания? Так что нужен обязательно велосипед на веб-формочках?

Кажется, путь ваш свернул не туда.

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

Нет, вопрос не про яровизацию, а вообще про создание русскоязычных аналогов всяким там fixme, src и т.п. И плюс к тому мне нужно какое-то упражнение по вебу, поэтому я этим занялся. Протокол интересный, а какая от него практическая польза? Могу ли я в вебе посмотреть существующие переводы слова «socket» на русский язык?

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

вопрос не про яровизацию, а вообще про создание русскоязычных аналогов всяким там fixme, src и т.п.

Я про это и говорю, да... С «яровизацией» я попал в слово, которое вы уже забили за другим? Ну пардон.

Протокол интересный

Я не столько про протокол, сколько про *формат*. Ну вы же про него фактически спрашивали.

Писать в структурированном тексте, версионировать — в системе контроля версий, не? Неужели правда хочется навелосипедировать что-нибудь ни с чем не совместимое?

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

Приставку «яро» я применяю, когда речь идёт о каких-то моих предложениях. Так что тут приставка вроде не в тему получается. Я неправильно выразился - речь даже не про создание, а про сбор вариантов. Microsoft, Oracle, IBM, 1C, Оберон - вот, как минимум, 5 источников терминологии, которые наверняка имеют расхождения. По идее, государство должно утвердить стандарты и всех (в т.ч. и международные корпорации) обязать ими пользоваться, если они работают в России. Я на эту роль не претендую. Там, где вариантов нет, есть мой стиль, к-рый я применяю в Яре - это плюс ещё один вариант. Ну и каждый желающий может создать свой. Если у государства дойдут до этого руки, у них будет готовая база данных, из которой останется только выбирать. Мне показалось, dict - это протокол обмена инфой, а не формат. Ща ещё раз посмотрю.

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

Писать в структурированном тексте, версионировать — в системе контроля версий, не?

Не, это изврат. Нужен доступ разным пользователям на запись и суммирование их результатов. СУБД это запросто делает, а при использовании системы контроля версий придётся гору из костылей строить.

den73 ★★★★★
() автор топика

Бери что-нибудь навроде tokyocabinet и не выделывайся, бд ему. Формочки сам в студии набросаешь.

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

А нахрена мне это? Я умею в SQL неплохо. Какая именно проблема затруднит мой пусть с SQL?

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

Для каждой задачи свои инструменты и решения. При разработке очень важно правильно оценивать цели.

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

Писать в структурированном тексте, версионировать — в системе контроля версий, не?

Не, это изврат.

Ну да, как же я не подумал... Засунуть текст в прокрустово ложе формочек — это норм, а держать текст в тексте — это изврат.

Нужен доступ разным пользователям на запись

Ну дык!

и суммирование их результатов

Это называется «слияние».

СУБД это запросто делает

Ага, после того, как оператор идеально грамотно разложит все по полочкам.

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

Цели ясны, инструменты - нет.

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

Основная операция в словаре - это поиск по нему и просмотр данных. Данные нужны как минимум в двух вариантах:

  • конкретное слово в конкретном словаре
  • конкретное слово во всех словарях

Как сделать поиск на гитхабе без «формочек»?

Далее, нужны гиперссылки на другие слова (например, на словосочетания с этим словом, на синонимы, ссылка на источник перевода и т.п.).

Я планировал изначально сделать редактор в формате md. Теперь думаю, что лучше xdxf, т.к. это всё же специализированный формат. Придётся написать шпаргалку и прикрутить подсветку синтаксиса XML. Ну тут как бы ежу ясно, что редактировать одну статью в формочке - удобнее, чем, допустим, мегабайтный XML файл словаря целиком.

Это программисты искушены в нахождении грамматических ошибок в тексте по скудным отчётам парсеров, а обычные люди - нет.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от aureliano15

Я имел в виду не это. Есть словари в открытых форматах. Есть ли open-source движок, позволяющий их показывать онлайн так же красиво, как их показывает какой-нибудь GoldenDict?

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

Основная операция в словаре - это поиск по нему и просмотр данных.

Да, и никакого отношения к операциям редактирования они не имеют.

Я потому и напомнил про существование стандартного dict’а.

Браузерные интерфейсы для него, разумеется, есть.

Как сделать поиск на гитхабе

Не знаю, и знать не желаю. Спросите у тех, кто этой проприетарщиной активно пользуется.

Далее, нужны гиперссылки на другие слова (например, на словосочетания с этим словом, на синонимы, ссылка на источник перевода и т.п.).

Бинго! Вы это тоже все собираетесь по полям базы данных раскладывать? А главное — всех остальных обучать делать это без ошибок. Ну удачи, чо.

Я планировал изначально сделать редактор в формате md. Теперь думаю, что лучше xdxf, т.к. это всё же специализированный формат.

Возможно. Я его не видел.

Ну тут как бы ежу ясно, что редактировать одну статью в формочке - удобнее, чем, допустим, мегабайтный XML файл словаря целиком.

Могу только повториться:

«Я правильно понял, что этой вашей яровизацией лиспа (это же лисп был, да?) будут заниматься особо отобранные «ламеры», для которых структурированный и версионированный текст — это не то, что не самый дружественный вариант, а просто уже за пределами понимания? Так что нужен обязательно велосипед на веб-формочках?

Кажется, путь ваш свернул не туда».

И да, это вы сами сейчас поставили условие на «мегабайтный файл». Не исключено, что целесообразнее иметь и более дробные файлы, мне это сейчас неведомо.

Это программисты искушены в нахождении грамматических ошибок в тексте по скудным отчётам парсеров, а обычные люди - нет.

О, господи! Поэтому я вам и говорю, что брать надо *простой текст*, а не XML. В нем почти не может быть грамматических ошибок.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Zmicier

Да, и никакого отношения к операциям редактирования они не имеют.

Ага. Итак, полные требования: операции поиска должны быть удобны без всяких компромиссов. Т.е. окно поиска «как в яндексе», возможно, с автодополнением. И список находок. Набор словарей, как в StarDict, с возможность включить/выключить конкретный словарь. Вот минимальный интерфейс для поиска.

Но и операции редактирования нужны. Я пока вижу это так: кнопка «редактировать», открывается XML с подсказкой, далее preview, далее «сохранить». Кнопка «сохранять» может работать как угодно, хоть пересобирать весь словарь, но сохранение должно занимать несколько секунд, не более того.

И естественно, надо не писать с нуля, я не велозавод. Надо взять крупные блоки и их них собрать.

Нашёл программу CrossDef, но SourceForge сегодня барахлит - не могу скачать. Выглядит похожим на то, что надо, хотя примеры непонятны.

Браузерные интерфейсы для него, разумеется, есть

А для xdxf? Очень уж заброшен этот dict, плюс старый формат, оптимизированный под скорость, а не под простоту.

Не знаю, и знать не желаю. Спросите у тех, кто этой проприетарщиной активно пользуется.

Хорошо, не на гитхабе, а где ты предлагаешь.

Бинго! Вы это тоже все собираетесь по полям базы данных раскладывать?

Например, можно сделать такую структуру

create table словарь (словаря_код, название, автор)
create table доступ_на_запись (логин, словаря_код)
create table входное_слово (слова_код,слово)
create table статья (слова_код,словаря_код,XML)
Тогда не нужно будет раскладывать ВСЮ структуру по полям. И даже если структура будет более сложной, можно от пользователя принимать XML, а дальше его парсить и превращать в реляционную стр-ру. Это уже отдельный вопрос.

На данный момент главное - это сделать структуру, к-рая позволяет учесть все нюансы предметной области. Будет ли она разобрана до косточек в реляционную структуру или это будут куски XML - дело десятое.

den73 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.