我已经为 en、es 和 pt_BR 安装了 pspell。ES 和 EN 工作得很好,但 pt_BR 不起作用。
PHP代码是:
$pspell = pspell_new("pt_BR", PSPELL_FAST);
$sentence = "Oi, como voce llama-se";
$words = explode(" ", $sentence);
$output = "";
foreach($words as $word) {
if (pspell_check($pspell, $word)) {
// this word is fine; print as-is
$output .= $word . " ";
} else {
// this word is bad; look for suggestions
$suggestions = pspell_suggest($pspell, $word);
if (count($suggestions)) {
$output .= current($suggestions). " ";
} else {
// no suggestions; just print the word
$output .= '-'.$word;
}
}
}
echo $sentence . '<br/>'.$output;
错误信息是:
警告:pspell_new():PSPELL 无法打开字典。原因:找不到语言“pt_BR”的单词列表。在第 17 行的 /var/www/vhosts/httpdocs/_test.php 警告:pspell_check(): 0 不是第 23 行的 /var/www/vhosts/httpdocs/_test.php 中的 PSPELL 结果索引 警告:pspell_suggest() : 0 不是第 28 行 /var/www/vhosts/httpdocs/_test.php 中的 PSPELL 结果索引 警告:current() 期望参数 1 是数组,布尔值在 /var/www/vhosts/httpdocs/_test 中给出。第 31 行的 php 警告:pspell_check(): 0 不是 /var/www/vhosts/httpdocs/_test.php 中的 PSPELL 结果索引 第 23 行警告:pspell_suggest(): 0 不是 /var/ 中的 PSPELL 结果索引www/vhosts/httpdocs/_test.php 在第 28 行警告:current() 期望参数 1 是数组,布尔值在第 31 行的 /var/www/vhosts/httpdocs/_test.php 中给出警告:
我检查了 pt_BR 是否实际安装并使用以下命令:
$ aspell -l pt_BR -a
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.7-20110707)
casa
+ casar
这是在 Ubuntu 12.04 上。