如何解决带有 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 举报,一经查实,本站将立刻删除。