Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please help to use Stardict in find.dhamma.gift. #10

Open
o28o opened this issue Mar 29, 2023 · 2 comments
Open

Please help to use Stardict in find.dhamma.gift. #10

o28o opened this issue Mar 29, 2023 · 2 comments

Comments

@o28o
Copy link

o28o commented Mar 29, 2023

Олексий, здравствуйте. Меня зовут Павел я из Казахстана, делаю проект по буддистским текстам. Https://find.dhamma.gift/ к сожалению я не разработчик и очень трудно и болезненно идёт процесс.

Я уже скачал и настроил ваш пакет stardict

.../htdocs/dpdd $ composer show skoro/stardict
name     : skoro/stardict
descrip. : Provides interface to StarDict dictionaries.
keywords : dictionary, stardict
versions : * 0.1.2
type     : library

Но я не понимаю как запустить запрос. Я создал файл index.php с таким содержанием, dict файлы и папка vendor лежат там же

<?php
use StarDict\StarDict;

require './vendor/autoload.php';

$dict = StarDict::createFromFiles('dict.ifo', 'dict.idx', 'dict.dict.dz');

echo $dict->getDict()->getBookname(); // show dict name.

foreach ($dict->get('adhivacana') as $result) {
    echo $result->getValue();
}
?>

Но такая ошибка

Fatal error: Uncaught RuntimeException: Unknown type "h", maybe it should be registered ? in /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/dpdd/vendor/skoro/stardict/src/DictData/TypeSequenceManager.php:42
Stack trace:
#0 /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/dpdd/vendor/skoro/stardict/src/StarDict.php(51): StarDict\DictData\TypeSequenceManager->getSequences('h')
#1 /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/dpdd/vendor/skoro/stardict/src/StarDict.php(115): StarDict\StarDict->__construct(Object(StarDict\Dict), Object(StarDict\Index\BinaryIndexHandler), Object(StarDict\DictData\FileDZDataReader), Object(StarDict\DictData\TypeSequenceManager))
#2 /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/dpdd/vendor/skoro/stardict/src/StarDict.php(98): StarDict\StarDict::create(Object(StarDict\DictFiles))
#3 /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/dpdd/index.php(7): StarDict\StarDict::createFromFiles('./dict.ifo', './dict.idx', './dict.dict.dz')
#4 {main}
  thrown in /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/dpdd/vendor/skoro/stardict/src/DictData/TypeSequenceManager.php on line 42

Подскажете пожалуйста что можно сделать

@skoro
Copy link
Owner

skoro commented Mar 29, 2023

sametypesequence вашего словаря не поддерживается, в текущем виде только t, P, m, W реализованы, для h еще нет реализации, подробнее про значения sametypesequence можно узнать здесь https://github.com/skoro/stardict/blob/master/docs/sametypesequence.md

Можно попробовать заменить sametypesequence с h на m в ifo файле словаря.

@skoro
Copy link
Owner

skoro commented Jun 27, 2023

Fixed #12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants