[horde] Issue on fresh install with translation and carddav

Laurent MÄNNLEIN lmannlein at auditiongineys.fr
Wed Jul 29 17:46:42 UTC 2020


Ralf Lang <lang at b1-systems.de> le mer. 29 juil. 2020 16:28:41 UTC  a  
écrit :

> Hi Laurent,
>
> Am 29.07.20 um 17:14 schrieb Laurent MÄNNLEIN:
>>  Ralf Lang <lang at b1-systems.de> le mer. 29 juil. 2020 14:35:47
>> CEST  a écrit :
>>
>>> Am 29.07.20 um 11:55 schrieb Ralf Lang:
>>>> Hi Laurant,
>>>>
>>>> Am 28.07.2020 um 16:31 schrieb Laurent MÄNNLEIN:
>>>>> Laurent MÄNNLEIN <lmannlein at auditiongineys.fr> le mar. 28 juil. 2020
>>>>> 09:17:56 UTC  a écrit :
>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> I hope that somebody can help me trigger this issue with a brand new
>>>>>> server.
>>>>>>
>>>>>> I have installed a brand new Debian Buster server the same way I have
>>>>>> my old Debian Jessie server with Postfix/Dovecot/Apache2/MariaDB.
>>>>>> I would like to transfer all my email system from the old server to
>>>>>> the new one.
>>>>>> I have installed Horde using Pear repository on the new one like the
>>>>>> old one.
>>>>>>
>>>>>> When I get to the login page, the fields displayed are always
>>>>>> Username and Password and never get translated as on my old server.
>>>>>> Even after the login page all the translation process does not work.
>>>>>> I have worked with Michael Rubinski who helped me get some trace from
>>>>>> the Horde system and the translation seems to gets blocked with the
>>>>>> validation process.
>>>>>>
>>>>>> I have installed locally using 'dpkg-reconfigure locales' the en_US,
>>>>>> es_ES, es_CA languages all in UTF-8 and I never got the translation
>>>>>> for all of them, I still get an error with the validation of the
>>>>>> language which is throwing back to the system default language
>>>>>> 'fr_FR' but the strings displayed at the login page are still
>>>>>> 'Username' and 'Password' even if the 'Language' box displays
>>>>>> 'Français'. The same when the language box displays 'Català' or
>>>>>> 'Español' I get english titles.
>>>>>>
>>>>>> I have checked if it was a debian problem but when installing
>>>>>> Roundcube Webmail, all the translation is fine.
>>>>>> I also have another web site with Wordpress which is fine also for
>>>>>> translation.
>>>>>> So for me it is only one thing which is not working with Horde but I
>>>>>> can't figure out what. I have verified the debian packages and the
>>>>>> Horde requirements and compared them with the old server and all
>>>>>> seems to be equal.
>>>>>> On the Debian 9 I have PHP 7.4 (upgraded from 5.x to 7.1, 7.2 and
>>>>>> 7.3) and on the Debian 10 I have PHP 7.3.
>>>>>> The Horde server is 5.2.22 with all the latest updates got from Pear.
>>>>>>
>>>>>> I have also followed the
>>>>>> 'https://www.horde.org/apps/horde/docs/TRANSLATIONS' page and the
>>>>>> results where:
>>>>>>
>>>>>> 1.2.1:
>>>>>>
>>>>>>     locale -a
>>>>>>
>>>>>> C
>>>>>> C.UTF-8
>>>>>> fr_FR.utf8
>>>>>> POSIX
>>>>>>
>>>>>> 1.2.2: Yes, the files are stored correctly
>>>>>>
>>>>>> 1.2.3:
>>>>>>
>>>>>>     strings /bin/tar | grep memory
>>>>>>
>>>>>> _obstack_memory_used
>>>>>> memory exhausted
>>>>>>
>>>>>>     gettext tar "memory exhausted"
>>>>>>
>>>>>> mémoire épuisée
>>>>>>
>>>>>>     (LANG=fr_FR; LANGUAGE=fr_FR; LC_MESSAGES=fr_FR;
>>>>>> gettext tar
>>>>>> "memory exhausted" )
>>>>>>
>>>>>> bash: warning etlocale : LC_MESSAGES : impossible to change lang
>>>>>> parameter (fr_FR) : no such file or directory
>>>>>>
>>>>>> memory exhausted
>>>>>>
>>>>>>     (LANG=fr_FR.utf8; LANGUAGE=fr_FR.utf8;
>>>>>> LC_MESSAGES=fr_FR.utf8;
>>>>>> gettext tar "memory exhausted" )
>>>>>>
>>>>>> mémoire épuisée
>>>>>>
>>>>>> 1.2.4:
>>>>>>
>>>>>>     ( TEXTDOMAINDIR=/var/www/horde/locale
>>>>>> LANG=fr_FR.utf8
>>>>>> LANGUAGE=fr_FR.utf8 LC_MESSAGES=fr_FR.utf8 gettext horde "Calendar" )
>>>>>>
>>>>>> Agenda
>>>>>>
>>>>>> I have created the /var/www/horde/langtest.php file as following :
>>>>>>
>>>>>> <?php
>>>>>>
>>>>>> setlocale(LC_MESSAGES, 'fr_FR.UTF-8');
>>>>>> putenv('LANG=fr_FR.UTF-8');
>>>>>> putenv('LANGUAGE=fr_FR.UTF-8');
>>>>>> // use the tar test.
>>>>>> echo dgettext('tar', 'memory exhausted');
>>>>>> echo '<br />';
>>>>>>
>>>>>> // Specify location of translation tables
>>>>>> bindtextdomain('horde', './locale');
>>>>>>
>>>>>> // Choose domain
>>>>>> textdomain('horde');
>>>>>>
>>>>>> // Print the already tested message
>>>>>> echo _("Calendar");
>>>>>> echo '<br />';
>>>>>>
>>>>>> // this should print the same.
>>>>>> echo dgettext('horde', 'Calendar');
>>>>>>
>>>>>> ?>
>>>>>>
>>>>>> And the result is:
>>>>>>
>>>>>> memory exhausted
>>>>>> Calendar
>>>>>> Calendar
>>>>>>
>>>>>> I have also found a new issue with the address book when I want to
>>>>>> get access to the Carddav URL which throws this issue:
>>>>>> Horde::Fatal Error
>>>>>> A fatal error has occurred
>>>>>> Class 'Sabre\DAVACL\PrincipalBackend\AbstractBackend' not found
>>>>>> Details have been logged for the administrator.
>>>>>>
>>>>>> I have browsed all the mailing list history and I could find a thread
>>>>>> about this but it was with a GIT installation process and without any
>>>>>> resolution.
>>>>>>
>>>>>> So, If somebody has a clue on any issues related here, you are REALLY
>>>>>> VERY welcome as this is one month or so that I cannot migrate users
>>>>>> to the new server due to the translation problem firstly, but also
>>>>>> regarding the second issue with the Carddav (just checked and same
>>>>>> issue with the Caldav).
>>>>>>
>>>>>> Thanks for any hint you can give me to fix these issues.
>>>>>>
>>>>>> Regards,
>>>>>> Laurent
>>>>>
>>>>> I have solved the CardDAV/CalDAV issue, a bad removal of the
>>>>> /usr/share/php/Sabre folder.
>>>>> I have re-created it with all inside and everything is fine for this
>>>>> part.
>>>>>
>>>>> So the only issue now that I am facing since more than one month and
>>>>> that I can't figure out is with the translation which keeps displaying
>>>>> english default titles instead of the translated ones.
>>>>>
>>>>> If somebody have a clue on this, you are VERY welcome!
>>>>>
>>>>> Thanks,
>>>>> Laurent
>>>>>  
>>>> Laurent, can you please run this snippet in the horde admin php shell?
>>>
>>> http://localhost/horde/admin/phpshell.php
>>>
>>> print_r($registry->nlsconfig->languages);
>>>
>>> foreach (array_keys($registry->nlsconfig->languages) as $lang) {
>>>     print "$lang\n";
>>>     print $registry->nlsconfig->validLang($lang) ?
>>> "OK\n" : "NOT OK\n";}
>>
>> Hi Ralph,
>>
>> Thank you so much for helping me on this issue.
>>
>> For the CardDAV/CalDAV, I don't know if you have seen my other email
>> but it was due to a mistake when I deleted the /usr/share/php/Sabre
>> folder.
>> After re-creating it, all is fine now.
>>
>> And for the language issue, here is the result of the PHP Shell
>> instruction :
>> ###########
>> Array
>> (
>>     [ar_OM] => ‭Arabic (Oman) ‮(عربية)
>>     [ar_SY] => ‭Arabic (Syria) ‮(عربية)
>>     [id_ID] => Bahasa Indonesia
>>     [bs_BA] => Bosanski
>>     [bg_BG] => ‭Bulgarian (Български)
>>     [ca_ES] => Català
>>     [cs_CZ] => Český
>>     [zh_CN] => ‭Chinese (Simplified) (简体中文)
>>     [zh_TW] => ‭Chinese (Traditional) (正體中文)
>>     [da_DK] => Dansk
>>     [de_DE] => Deutsch
>>     [en_US] => ‭English (American)
>>     [en_GB] => ‭English (British)
>>     [en_CA] => ‭English (Canadian)
>>     [es_ES] => Español
>>     [et_EE] => Eesti
>>     [eu_ES] => Euskara
>>     [fa_IR] => ‭Farsi (Persian) ‮(فارسی)
>>     [fr_FR] => Français
>>     [gl_ES] => Galego
>>     [el_GR] => ‭Greek (Ελληνικά)
>>     [he_IL] => ‭Hebrew ‮(עברית)
>>     [hr_HR] => Hrvatski
>>     [is_IS] => Íslenska
>>     [it_IT] => Italiano
>>     [ja_JP] => ‭Japanese (日本語)
>>     [km_KH] => ‭Khmer (ខមែរ)
>>     [ko_KR] => ‭Korean (한국어)
>>     [lv_LV] => Latviešu
>>     [lt_LT] => Lietuvių
>>     [mk_MK] => ‭Macedonian (Македонски)
>>     [hu_HU] => Magyar
>>     [nl_NL] => Nederlands
>>     [nb_NO] => ‭Norsk (bokmål)
>>     [nn_NO] => ‭Norsk (nynorsk)
>>     [pl_PL] => Polski
>>     [pt_PT] => Português
>>     [pt_BR] => Português do Brasil
>>     [ro_RO] => Română
>>     [ru_RU] => ‭Russian (Русский)
>>     [sk_SK] => Slovenský
>>     [sl_SI] => Slovensko
>>     [fi_FI] => Suomi
>>     [sv_SE] => Svenska
>>     [th_TH] => ‭Thai (ภาษาไทย)
>>     [uk_UA] => ‭Ukrainian (Українська)
>>     [tr_TR] => Türkçe
>> )
>> ar_OM
>> NOT OK
>> ar_SY
>> NOT OK
>> id_ID
>> NOT OK
>> bs_BA
>> NOT OK
>> bg_BG
>> NOT OK
>> ca_ES
>> NOT OK
>> cs_CZ
>> NOT OK
>> zh_CN
>> NOT OK
>> zh_TW
>> NOT OK
>> da_DK
>> NOT OK
>> de_DE
>> NOT OK
>> en_US
>> NOT OK
>> en_GB
>> NOT OK
>> en_CA
>> NOT OK
>> es_ES
>> NOT OK
>> et_EE
>> NOT OK
>> eu_ES
>> NOT OK
>> fa_IR
>> NOT OK
>> fr_FR
>> OK
>> gl_ES
>> NOT OK
>> el_GR
>> NOT OK
>> he_IL
>> NOT OK
>> hr_HR
>> NOT OK
>> is_IS
>> NOT OK
>> it_IT
>> NOT OK
>> ja_JP
>> NOT OK
>> km_KH
>> NOT OK
>> ko_KR
>> NOT OK
>> lv_LV
>> NOT OK
>> lt_LT
>> NOT OK
>> mk_MK
>> NOT OK
>> hu_HU
>> NOT OK
>> nl_NL
>> NOT OK
>> nb_NO
>> NOT OK
>> nn_NO
>> NOT OK
>> pl_PL
>> NOT OK
>> pt_PT
>> NOT OK
>> pt_BR
>> NOT OK
>> ro_RO
>> NOT OK
>> ru_RU
>> NOT OK
>> sk_SK
>> NOT OK
>> sl_SI
>> NOT OK
>> fi_FI
>> NOT OK
>> sv_SE
>> NOT OK
>> th_TH
>> NOT OK
>> uk_UA
>> NOT OK
>> tr_TR
>> NOT OK
>> ###########
>>
>> The fr_FR that I am trying to use is displayed as OK, but the login
>> screen and all the web site after is still displaying default english
>> strings.
>> I am not on openSUSE but on Debian Buster (v10) and it is very
>> frustating as I can't see what can be the issue which is preventing
>> the site to display correct translation, as I have installed other
>> sites (Wordpress/Roundcube) which are working well with the
>> translation system.
>>
> In my case, what I did was:
>
> - Reinstall the locale package with --force (it was intentionally
> stripped down by the base container vendor)
>
> # horde/config/conf.php
>
>  $conf['testdisable'] = false;
>
> #
>
> hit horde/test.php in browser and delete all sessions. Most likely you
> achieve the same using the horde/bin/horde-sessions-gc command.
>
> STOP AND RESTART the apache2 server or the php-fpm daemon if you run fpm
> with nginx. In my case, just reloading using kill -1 did not work. I
> needed to shutdown and restart the container completely.
>
> This fixed it for me. I now have German, French and other locales.  I
> also reset testdisable to true later on.
>
> Do you have proper .mo files in /usr/share/translations (or whatever it
> is in debian) ?

Ralph,

I did as mentioned but still the same.
This is exactly what I did:
> dpkg-reconfigure --force locales
(choose fr_FR.UTF8)
- changed the value in [horde]/config/conf.php file:  
$conf['testdisable'] = false;
- Hit [horde_webmail_site]/test.php and removed all sessions (actually  
I had only one as the server is still waiting for going on production).
> systemctl restart apache2
- changed the value in [horde]/config/conf.php file:  
$conf['testdisable'] = true;
- went on the [horde_webmail_site]/login.php but all titles still in  
default english.

Argh, no luck!

Tomorrow I will send you a trace of the Registry.php and Nlsconfig.php  
files I have dumped with help of Michael Rubinski, maybe that will  
give you more information on waht's going on on my server.

Thanks and cheers,
Laurent



More information about the horde mailing list