After installation of Zimbra 7.1.2, there are mutliple languages installed, including the Dutch version. I could verify this using:
Code:
/opt/zimbra/aspell/bin/aspell dump dicts
(Small) Proposal 1
For some reason it is named "nl" and not "nl_NL". I would recommend to change this, because there is also "nl_BE" for Belgium.
Problem
However, when I am creating an e-mail and I use the spell checker, it will validate my e-mail using the English language.
I have taken a look in /opt/zimbra/httpd/htdocs/aspell.php to see how the spell checker works. It uses the "text_cat" process, to find out which languages is being composed in the e-mail. In my case, it will spit out "dutch".
However, is see the following 2 problem in the php script.
1) Dutch is not part of the languages that are possible:
PHP Code:
$languages = array('english' => 'en_EN', 'italian' => 'it_IT', 'french' => 'fr_FR', 'german' => 'de_DE','danish' => 'da_DA', 'spanish' => 'es_ES', 'swedish' => 'sv_SV', 'hindi' => 'hi_HI');
2) The account settings are not used to determine the default language.
PHP Code:
if (array_key_exists($getLang, $languages)) {
$dictionary = "{$languages[$getLang]}";
} else {
$dictionary = "en_EN";
}
Solution
I have modified part 1 to:
PHP Code:
$languages = array('dutch' => 'nl', 'english' => 'en_EN', 'italian' => 'it_IT', 'french' => 'fr_FR', 'german' => 'de_DE','danish' => 'da_DA', 'spanish' => 'es_ES', 'swedish' => 'sv_SV', 'hindi' => 'hi_HI');
And changed the default by in the 'else' statement:
PHP Code:
} else {
$dictionary = "nl";
}
After restarting it works!
Code:
zmspellctl stop; zmspellctl start
Proposal 2
Maybe the list can be coded in a different way so it will match the appropriate language dynamically, instead of using a static preïnstalled list.
Proposal 3
Make the default language based on the account that is being used. I have my language for the web interface set to Dutch. I would expect the spell checker to have the same language as default.
Greetings Atze