微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 hunspell 的 Laravel php-spellchecker 仅适用于 en_US 字典

如何解决带有 hunspell 的 Laravel php-spellchecker 仅适用于 en_US 字典

Centos 8 -> Hunspell 1.6.2 -> Laravel 8 -> tigitz/PHP-spellchecker

语言环境

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

字典列表:

SEARCH PATH:
.::/usr/share/hunspell:/usr/share/myspell:/usr/share/myspell/dicts:/Library/Spelling:/root/.openoffice.org/3/user/wordbook:/root/.openoffice.org2/user/wordbook:/root/.openoffice.org2.0/user/wordbook:/root/Library/Spelling:/opt/openoffice.org/basis3.0/share/dict/ooo:/usr/lib/openoffice.org/basis3.0/share/dict/ooo:/opt/openoffice.org2.4/share/dict/ooo:/usr/lib/openoffice.org2.4/share/dict/ooo:/opt/openoffice.org2.3/share/dict/ooo:/usr/lib/openoffice.org2.3/share/dict/ooo:/opt/openoffice.org2.2/share/dict/ooo:/usr/lib/openoffice.org2.2/share/dict/ooo:/opt/openoffice.org2.1/share/dict/ooo:/usr/lib/openoffice.org2.1/share/dict/ooo:/opt/openoffice.org2.0/share/dict/ooo:/usr/lib/openoffice.org2.0/share/dict/ooo
AVAILABLE DICTIONARIES (path is not mandatory for -d option):
./ru_UA
./ru_RU
./en_US
/usr/share/myspell/ru_UA
/usr/share/myspell/ru_RU
/usr/share/myspell/en_US
LOADED DICTIONARY:
./en_US.aff
./en_US.dic

我按照说明去做

 $hunspell = \PHPSpellcheck\Spellchecker\Hunspell::create();

 $misspellings = $hunspell->check("exxample error ошиббка",['ru_RU'],['from_example']);

添加了不同方式的词典,我试过官方

yum install  hunspell-ru

但问题是,通过PHP代码,只有en_US字典。如果我从控制台运行 Hunspell,则所有词典都可以运行 hunspell -d ru_RU

它也让我感到困惑的是,在显示字典时它总是报告

LOADED DICTIONARY:
    ./en_US.aff
    ./en_US.dic

如果我想使用其他词典,我不清楚为什么总是加载这些词典。我有一种感觉,PHP 代码会选择认的控制台编码并通过它 LANG=en_US.UTF-8 传递字典。字典通过控制台工作,但通过 PHP-spellchecker 它们总是 en_US 尽管我将不同的字典传递给函数参数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。