1

我已经为 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 上。

4

0 回答 0