Coder Social home page Coder Social logo

yarxi.pl's Introduction

Fork of https://code.google.com/p/yarxi-pl/

Yarxi.PL - консольный интерфейс к словарю Яркси.

Оригинальная программа - Яркси - (c) Вадим Смоленский.

О программе

Yarxi.PL - это программа на языке Perl, которая "понимает" базу данных Яркси и умеет выводить в текстовую консоль словарные статьи, максимально похожие на оригинал.

Ограничения

Программа предназначена для работы в ОС Linux. В прочем, так как программа написана на языке Perl, то её, скорее всего, можно будет модифицировать и для работы в других операционных системах. У меня даже получалось запускаеть её под Windows.

Программа расчитана на локаль UTF-8.

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

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

В версии 1.3 появился поиск по радикалам (опция -r). Алгоритм поиска отличается от оригинального Яркси. К примеру, иероглиф можно найти даже если указать "лишние" радикалы. Вместо радикалов можно указывать иероглифы, они будут разбиты на части для поиска.

Также в версии 1.3 благодаря инициативе Антона Печенко aka Parilo появился минимальный графический интерфейс. Окно программы представляет из себя поле для ввода команды и область для вывода результата, работает идентично консольной версии.

Принимаются пожелания по дальнейшему улучшению программы, сообщения об ошибках, и любые другие комментарии. E-Mail: [email protected], он же Jabber.

Лицензия

Программа распространяется бесплатно, с исходным кодом под лицензией GPLv2. Данные словаря Яркси используются с разрешения Вадима Смоленского.

Установка и использование

Распакуйте архив в любое место, где вам нравится. Например, в "~/.yarxi/". Возможно понадобится выставить права на исполнение для файла yarxi.pl: команда "chmod +x yarxi.pl".

Файлы в составе архива:

yarxi.pl - основной скрипт.
JDFormatter.pm, JDCommon.pm, JDPrinter.pm, JD_AText.pm - модули основного скрипта.
JDPrinterGTK.pm, yarxi.gtk.pl - минималистичный графический интерфейс (нужен gtk2-perl).
config/yarxi.conf - конфигурационный файл.
config/*.scheme - файлы цветовых схем.
yarxi_u.db - база данных, с которой работает программа. Отсутствует в облегчённой версии архива.
2db.pl - скрипт для создания базы SQLite, с которой работает программа, из файлов словаря jr_kan.txt, jr_tan.txt, jr_ele.txt, jr_str.txt и файла jr_rad.utf8.
jr_rad.utf8 - файл с таблицей соответствия кодов радикалов символам юникода.
gpl-2.0.txt - текст лицензии GPL.
dbtool.pl - скрипт для осуществления выборок из базы. Вспомогательное средство разработчика, хотя может кому-то оказаться полезным, особенно при использовании в тандеме с командой grep.

Для убыстрения доступа советую создать alias на основной скрипт. Например, для bash нужно прописать в файле ~/.bashrc строку alias yy='/path/to/script/yarxi.pl', после чего вы можете вызывать программу командой "yy".

Чтобы получить описание опций, запустите yarxi.pl с ключом --help.

Файл конфигурации

Файл конфигурации yarxi.conf может располагаться либо в поддиректории config директории программы, либо в поддиректории .yarxi директории пользователя (~/.yarxi/yarxi.conf).

В файле настраиваются следующие параметры:

cur_trans_type - способ отображения транскрипции: кириллица, латиница (romaji), хирагана или катакана.

scheme - указывается файл со схемой (путь указывается относительно этого файла). Если у вас светлый шрифт на тёмном фоне, то выбирайте dark.scheme (по умолчанию). Если наоборот - тёмный шрифт на светлом фоне, то используйте light.scheme. Также есть одноцветная схема mono.scheme. Легко можно составить свою схему, только вам придётся угадывать, какой параметр за какой элемент статьи отвечает.

Генерация базы

Чтобы создать SQLite базу, с которой работает програма, вам понадобятся файлы jr_kan.txt, jr_tan.txt, jr_str.txt и jr_ele.txt, которые идут в составе оригинального Яркси.

Два файла - jr_kan.txt и jr_tan.txt - нужно преобразовать в кодировку utf8:
$> iconv -f cp1251 -t utf8 jr_kan.txt > jr_kan.utf8
$> iconv -f cp1251 -t utf8 jr_tan.txt > jr_tan.utf8

И запустить скрипт 2db.pl:
$> ./2db.pl --kan jr_kan.utf8 --tan jr_tan.utf8 --rad jr_rad.utf8 --str jr_str.txt --ele jr_ele.txt
Скрипт создаст файл yarxi_u.db за несколько секунд.
Файл yarxi_u.db нужно положить в ту же директорию, где находится yarxi.pl.

Благодарности

Автор благодарит Вадима Смоленского за замечательную программу Яркси и за сотрудничество при написании этой консольной версии для Linux.

Также автор благодарит Алексея Кожевникова, чья программа JARUDO (а точнее её исходный код) вдохновили меня к созданию консольного фронтенда для словаря Яркси.

Автор благодарен Антону Печенко aka Parilo за инициативу по созданию графического интерфейса.

Спасибо!

История

Релиз 1.3 - 02 февраля 2010 г. Используется база данных Яркси (5.3). Появился поиск по радикалам и небольшой графический интерфейс.
Релиз 1.2 - 18 ноября 2009 г. Используется база данных Яркси (5.3).
Релиз 1.1 - 2 августа 2009 г. Используется база данных Яркси (5.2) от 1 августа 2009 г.
Релиз 1.0 - 3 февраля 2008 г. Используется база данных Яркси от 25 января 2008 г.


Copyright (C) 2007-2010 Андрей Смачёв aka Biga.

yarxi.pl's People

Contributors

sadolit avatar

Stargazers

 avatar MOZGIII avatar Dmytro Kolomoiets avatar Nexie Kind avatar Andrey Smachev avatar

Watchers

 avatar

Forkers

mozgiii

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.