DictMaster - мастер составления словарей"Мастер-Словастер". Универсальная программа для создания словарей и изучения Программа для создания словарей v 1.1

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

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

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

Второй этап , когда нужно составить текстовый файл. По инструкции, нужно файлик поставить обязательно в кодировке UTF-8 и с расширением.tab, хотя и с обычным текстовым расширением всё работает отлично. Значит, сам файлик должен быть составлен очень просто:

слово{табуляция}перевод{new line}

Ну скажем, например так:

cat кошка\nкот
dog собака\nшафка\nбарбос

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

Третий этап . Генерим сами стардиктовские файлы. Если вы заранее не установили Stardict-Editor, то установите её с помощью apt-get или aptitude. Потом запускаем её:

stardict-editor

и вы увидете маленькое окошко программы. На первой же вкладке она просит вас скормить ей ваш текстовый вайл. Делаете это и жмёте Build. И у вас в той же папке появятся три файла с расшереними.dict.bz, .idx и.ifo. Ну, собственно, и всё. Если вы используете десктопную программу Stardict, то этого вполне хватит - кидаете эти файлы в директорию этой программы (в доках написано поподробнее) и ваш словарик запущен.
Если же вы хотите использовать на мобильном телефоне (ну лично я использю программу ColorDict), то нужно сделать ещё пару ухищрений. Допустим, вы сделали англо-русский словарь (ну предположим...). Тогда первое, нужно распаковать архив. Для этого сначала переименуем его:

mv RuEn.dict.bz RuEn.dict.gz

и потом распакуем

gzip -d RuEn.dict.gz

и результатом будет файлик RuEn.dict, два других файла не трогаем. И эти три файла мы кидаем на мобильный телефон. Там произойдёт индексирование словаря и всё должно заработать как надо.
Вот и всё!
Успехов.

Недавно я писал в цикле статей о том, какие существую способы изучения иностранных слов. В частности, самый популярный способ – . Напомню его суть. Берем стопку карточек небольшого размера (например, в виде визитки), на одной стороне пишем само слово, на другом – его перевод на необходимый язык. Стараемся запомнить слова, перемешиваем карточки, вспоминаем переводы и так далее, пока не запомним все слова из стопки.

Автоматизировать и значительно расширить возможности данного способа поможет Интернет, а точнее интересный сервис по изучению иностранных слов — WordSteps.com . Вы спросите — как? Рассказываю подробнее.В основе WordSteps лежит набор тематических словарей, позволяющих изучать слова на 9ти различных языках: английском, французском, немецком, испанском, китайском, японском, итальянском, португальском и русском. Пользователи могут создавать свои словари, либо пользоваться словарями других участников сервиса.

Например, вы решили создать свой набор слов. Процедура ввода слов максимально автоматизирована. Вы вводите слово, встроенный сервис Google Translate тут же предлагает подходящий перевод. Помимо этого для английских слов транскрипция прописывается автоматически. Большинство слов озвучивается носителями языка. Составили словарик и получаем доступ к 6ти упражнениям, в том числе одному из основных: “Карточки слов”. Правда в исполнении сервиса WordSteps это упражнение имеет несколько больше возможностей, чем слово перевод. Во-первых, вы можете включить режим подсказки. Во-вторых, ведется полная статистика правильных и неправильных вариантов ответа. Статистика сохраняется в профиле учащегося и позволяет отслеживать прогресс пополнения словарного запаса.

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

На самом деле, карточки слов – это только малая доля тех возможностей, которые предоставляет сервис для запоминания слов. Идея WordSteps заключается в возможности максимально быстро и качественно учить новые слова. Для этого проект предлагает воспользоваться бесплатным мобильным приложением WordSteps Mobile Client . Вы сможете скачивать словари с сайта и учить слова в дороге с помощью 5ти доступных упражнений.

Разработчики также предлагаю попробовать в деле утилиту WordSteps Reader , суть которой заключается в возможности переводить неизвестные слова при чтении текстов и тут же формировать из них слова и загружать на сайт. Далее, заходим в свой профиль и учим слова из текстов уже знакомыми нам упражнениями.

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

— генератор словарей с паролями, в которых можно определить стандартную или заданную кодировку. Crunch может создать список слов со всевозможными комбинациями и перестановками в соответствии с заданными критериями. Данные, которые выводит crunch, могут быть отображены на экране, сохранены в файл или переданы в другую программу.

Это очень гибкая программа по генерации словарей.

Генерация паролей с Hashcat и maskprocessor

Если у вас не работает Hashcat (она требует установку драйверов видеокарты), то вы можете использовать программу maskprocessor .

Maskprocessor — это высокопроизводительный генератор слов (словарей), упакованный в отдельный исполняемый файл, в котором можно настроить символы для каждой позиции.

Использование maskprocessor:

Maskprocessor [опции]... маска

Маска составляется из встроенного набора символов и (или) пользовательского набора символов.

Встроенные наборы символов:

L = abcdefghijklmnopqrstuvwxyz ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ ?d = 0123456789 ?s = !"#$%&"()*+,-./:;<=>?@[\]^_`{|}~ ?a = ?l?u?d?s ?b = 0x00 - 0xff

Все символы, кроме тех, которые означает набор (?l , ?u , ?d и т.д.) попадают в пароль без изменения.

Если вы хотите составить словарь, который содержит пароли из шести цифр:

Maskprocessor ?d?d?d?d?d?d

Если вы хотите, чтобы в четырёх символьных паролях чередовались большие и маленькие буквы:

Maskprocessor ?u?l?u?l

Пароль начинается со слова voro, затем идут четыре цифры, а затем два больших буквы:

Maskprocessor voro?d?d?d?d?u?u

Пользовательские наборы символов:

1, --custom-charset1=CS Пользовательские наборы символов -2, --custom-charset2=CS Пример: -3, --custom-charset3=CS --custom-charset1=?dabcdef -4, --custom-charset4=CS устанавливает для?1 символы 0123456789abcdef

К примеру, в первой позиции должны быть цифры от 1 до 3, во второй позиции буквы AbCd, в третьей позиции любая цифра или маленькая буква, а последними двумя символами должны быть большие буквы:

Maskprocessor -1 123 -2 AbCd -3 ?l?d ?1?2?3?u?u

  • -1 123 - первый пользовательский набор символов, включающий символы 123
  • -2 AbCd - второй пользовательский набор символов, включающий символы AbCd
  • -3 ?l?d - третий пользовательский набор символов, включающий символы?l?d, т.е. все маленькие буквы и цифры
  • ?1?2?3?u?u - маска, составленная из пользовательских и стандартных наборов символов.

Дополнительные полезные опции:

* Приращение: -i, --increment=ЧИСЛО:ЧИСЛО Включить режим приращения. Первое ЧИСЛО=начало, второе ЧИСЛО=конец Пример: -i 4:8 интересующая длинна 4-8 (включая) * Разное: --combinations Посчитать количество комбинаций --hex-charset Предположить, что символы даны в шестнадцатеричном виде -q, --seq-max=ЧИСЛО Максимальное число одинаковых повторяющиеся символов -r, --occurrence-max=ЧИСЛО Максимальное число вхождения одного символа * Ресурсы: -s, --start-at=СЛОВО Начать с конкретной позиции -l, --stop-at=СЛОВО Закончить на конкретной позиции * Файлы: -o, --output-file=ФАЙЛ Файл вывода

Hashcat VS maskprocessor

Хотя, в целом, для генерации паролей maskprocessor и Hashcat являются взаимозаменяемыми, нужно помнить, что для выбора режима брутфорса/атаки по маске нужно указывать опцию -a 3 (поскольку Hashcat поддерживает различные режимы атаки, а не только по маске). Также нужно использовать опцию --stdout , которая означает показывать кандидаты в пароли (без взлома хеша).

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

С запуском Hashcat на Linux системах могут быть проблемы из-за необходимости иметь проприетарные драйвера.

Приращение длины пароля делается другими опциями:

Короткая / Длинная опция | Тип | Описание | Пример ==============================+======+===================================+======================= --increment-min | Числ | Начать прирост маски на X | --increment-min=4 --increment-max | Числ | Остановить прирост маски на X | --increment-max=8

Заключение

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

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

  • (55.2%)
  • (RANDOM - 0.9%)
  • Одной из самых полезных программ на ПК и смартфоне в моем понимании является электронный словарь. В те стародавние времена, когда я учил иностранный язык, каждое слово приходилось искать в бумажном словаре. Эту тривиальную операцию я проделывал сотни раз, а некоторые зловредные слова приходилось смотреть снова и снова, так как я успевал забыть их значение. Как это было обидно! То ли дело сейчас, вжух и перевод перед глазами на экране монитора. История поиска, на случай, если искомое слово не перешло из области кратковременной памяти в долгосрочную.



    Давайте своими силами создадим электронный словарь для программ StarDict / GoldenDict. Для этого может понадобится много, или мало человеко-часов, в зависимости от качества исходного материала.

    Шаг первый: OCR

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


    Советую сохранять все в простых текстовых файлах, так как продвинутый поиск и исправление ошибок, расстановка тэгов, преобразование сортировки и прочие операции с текстовым массивом невообразимо осуществлять с бинарным фалом .


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


    Самое время немного поговорить о форматах. Существует много форматов электронных словарей, вот их список.


    Все форматы мы здесь разбирать не будем, так как большинство из них проприетарные. Нас интересуют открытые стандарты и открытое ПО.

    Dictd

    Возникший в эпоху, когда сетевые TCP/IP протоколы беспрепятственно плодились и размножались dictd сейчас представляет лишь археологический интерес. Это клиент серверный протокол, использующий TCP порт 2628, определен в RFC 2229 .


    Исходный файл для словаря форматируется следующим образом.


    :статья: объяснение

    XDXF

    Ну все, завязываем с археологией и переходим к словарным форматам и программам годным для использования IRL.


    XDXF имеет все преимущества и недостатки XML формата, каковым и является. Весь синтаксис формата и примеры можно обозреть .


    Скелет словарного файла выгладит следующим образом, состоит из 2-х частей: meta_info и lexicon .


    Вся информация про словарь: название, автор и пр. статья 1 статья 2 статья 3 статья 4 ...

    Тем не менее возможно и кое-какое и разметка файла словаря, однако не идет ни в какое сравнение с XDXF .


    a 1\n2\n3 b 4\\5\n6 c 789

    Формат определяет символ переноса строки \n , в том случае, когда статья разбита на параграфы.

    Шаг второй: корректировка

    После первого шага скорее всего будут десятки, а то и сотни орфографических, грамматических и всяких прочих ошибок, странных символов и прочих артефактов OCR.


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



    :setlocal spell spelllang=en,ru

    для проверки орфографии по двум словарям, в данном случае русском и английском. Далее список граблей.

    • Сортировка текста работает абы как для не латинских локалей, особенно плохо там, где написание буквы требует более одного символа, как армянская ու = ո + ւ . Необходимо в таких случаях самостоятельно сортировать список слов с помощью простенького Perl, или иного скрипта.
    • Поиск по шаблону также может работать неожиданно для некоторых локалей, даже если сам текст и консоль в UTF-8.
    • При оцифровке печатного словаря нужно быть готовым не только к ошибкам оцифровки, но и ошибкам в самом печатном словаре. Их там может содержаться немало!
    • Если название статьи пишется заглавными, то возможно следует перевести при оцифровке в нижний регистр. Не все буквы имеют символы в верхнем регистре, собственно не для всех локалей даже есть верхний регистр.

    Шаг третий: компиляция словаря

    Для формата XDXF , как уже было сказано, этот шаг не требуется. Просто запихнуть файл в папку /usr/share/goldendict , где программа подхватит его.


    Для TSV файла, используется утилита stardict-editor , поставляемого с набором инструментов .



    На выходе программа создает следующие файлы, наподобие древнего Dict.

    1. somedict.ifo
    2. somedict.idx либо somedict.idx.gz
    3. somedict.dict либо somedict.dict.dz
    4. somedict.syn (optional)

    Файлы копируются в каталог /ysr/share/stardict/dic и на этом все.


    P. S. Для мобильной платформы Android программа GoldenDict внезапно стал платной, однако в интернет сети все еще можно найти последнюю бесплатную версию программы.

    Хотите создать свой собственный словарь для reword? Тогда Вам необходим Компилятор словарей!

    Как пользоваться компилятором? (reword compiler)

    reword compiler — это программа, с помощью которой можно создавать словари для программы ReWord . Как же это сделать? Очень просто.

    Перво-наперво откроем любой текстовый редактор (настойчиво рекомендую использовать Notepad++), создадим новый текстовый файл.

    Первой строчкой у нас будет само слово

    Второй строчкой у нас будет определение этого слова

    Затем необходимо пропустить одну строку и писать уже следующее слово

    Таким образом всё будет выглядеть так:

    АЗ первая буква алфавита БУКИ вторая буква алфавита ВЕДИ третья буква алфавита

    Итак, у нас готов свой небольшой словарь. Теперь нам необходимо сохранить файл на жёсткий диск и запустить программу Reword Compiler.

    Нажимаем на кнопку "выбрать файл" и выбираем созданый нами только что файл.

    Затем, заполняем поля ниже. В поле "автор(ы) словаря" пишем авторов словаря (например, В. Даль). В поле "полное название словаря" пишем как можно более полное название (например, "большой советский энциклопедический словарь"). В поле "короткое название словаря" пишем его короткое название (например, "энциклопедический словарь"). В поле "символы ввода" записываем сокращенные обозначения наборов символов. Так, для русскоязычных словарей необходимо написать "ru". Если в Вашем словаре встречаются, например, еще и символы латинского (английского) алфавита, то пишем в это поле "ru, en". С символами вывода аналогичная ситуация. В поле "кодировка исходного файла" необходимо указать кодировку созданного Вами файла. Как правило, если Вы не меняли настроек в Notepad++, это будет ANSI. В поле "Ваше имя" вы вписываете Ваше имя. В поле "о словаре" Вы вписываете всю дополнительную информацию, которая, как Вы считаете, является полезной.

    Внимание! Из всех полей обязательными для заполнения являются только "выбрать файл", "полное название словаря", "короткое название словаря", "символы ввода" и "кодировка исходного файла".

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

    В итоге, если всё было сделано верно, программа создаст новый словарь reword и выдаст сообщение о том, что всё готово.

    Словарь будет находиться в папке dictionaries, а папка эта находится в рабочей папке reword compiler.

    Чтобы увидеть, как работает наш словарь, скопируем файл из папки компилятора dictionaries в папку со словарями программы-словаря reword (тоже dictionaries).

    После запуска программы-словаря reword мы видим свой словарь самым первым и радуемся:)

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

    Создание словарей с мультимедиа

    Создавать словари с мультимедиа несложно. Необходимо лишь в определении слова указать с помощью специального обозначения имя файла с мультимедиа. Делается это так:

    АЗ первая буква алфавита БУКИ вторая буква алфавита <5>buki.jpg ВЕДИ третья буква алфавита

    Как Вы видите, нужно всего-лишь обнести специальным знаком (тегом) название файла, и reword compiler воспримет buki.jpg как файл мультимедиа (рисунок) и включит его в словарь. Необходимо заметить, что для корректного создания словарей с мультимедиа файл с мультимедиа должен находиться в той же папке, что и текстовый файл, указанный в поле "выбрать файл".

    Если у Вас есть какие-либо вопросы, связанные с использованием компилятора словарей, задавайте их на страничке "Контакт" . Я Вам обязательно отвечу.

    Понравилась статья? Поделиться с друзьями: