• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Resolved Horde Webmail locale not working as expected

FlyingParrot

New Pleskian
Server operating system version
Ubuntu 22.04.1 LTS
Plesk version and microupdate number
Plesk Obsidian 18.0.47 Update #2
After moving everything to a new server, I need to configure all mailboxes again (mails has been transferred, settings unfortunately didn't)
When logging in into webmail.example.com, horde webmail language is set to english. How do I change this to another language?

1665178783211.png
1665178822360.png

Even updating users locale preferences does not change anything. It still stays english everywhere.
I found a way to set the default locale for new mailboxes (How to Change Default Horde Settings (Webmail)), but it's the same. It's like german (or other locales) does not even exists in the installation. English (or fallback) only.

It also looks like that updating timezone does not seem to work. Screenshot says "21:40:09", but I took this "23:40:09" local time.

Anyone have an idea how to fix both?
Thank you!
 
Is the server itself in the correct timezone?
What is the output of
# grep "date.timezone" /opt/plesk/php/7.4/etc/*
 
Is the server itself in the correct timezone?
What is the output of
# grep "date.timezone" /opt/plesk/php/7.4/etc/*
No, it didn't. I've updated timezone directly in plesk.
When executing timedatectl, I'm getting the following information:
1665228281502.png


Unfortunately, it didn't affect plesk. I also restarted apache but it still shows UTC (my locale time - 2 hours).
 
There you have the reason why the timezone is not displayed correctly in PHP applications. PHP sees your server timezone and derives Zulu time from it as it is not set to use a specific timezone. The correct entry should be
Code:
date.timezone = Europe/Berlin
Pay attention that this line must not start with a colon ";", so remove the colon from the line when you edit it.
I am not entirely sure whether you need to restart PHP-FPM in this case for the setting to take effect. Just to make sure I suggest to run
# service plesk-php74-fpm restart
after the change in /opt/plesk/php/7.4/etc/php.ini. I also must admit that I am not entirely sure that webmail is currently using PHP 7.4. This had changed a few times during the past years, I think currently it is using 7.4.
 
O.k., I can see that Horde and Roundcube are using individual php.ini files like /etc/psa-webmail/roundcube/php.ini or /etc/psa-webmail/horde/php.ini which are generated by Plesk. Probably a change in the common php.ini file does not automatically update these files, and I do not know how to tell Plesk to update them.

New approach to circumvent this. Please try this: Please edit or append /etc/psa-webmail/horde/imp/prefs.local.php with these lines:
Code:
$_prefs['language']['value'] = 'de_DE';
$_prefs['timezone']['value'] = 'Europe/Berlin';

If the file is still empty, it must be started with
Code:
<?php

This should change the setting for existing webmail installations. There should be no need for a reboot or service restart. Horde should pick these up on your next login to your webmail. Please let me know if this has worked for you.
 
Unfortunately it doesn't either. No change to timezone neither locale. Same after restart (even if you said it's not required).
I've also created the file /etc/psa-webmail/horde/horde/prefs.local.php with both lines but it's not working as well.
 
It may be a stupid question, but if configuration changes do not affect your Horde: Are you on the right machine? Meaning, are you sure that webmail.<domain name> opens the webmail site on the machine you are configuring?
 
1665256485918.png

The red ones are the direct IP of the server that runs plesk. Everything else, the black ones, are my domain (like example.de).
 
Well, finally I found the solution. If anyone else having the same problem, try the following steps. They worked for me:

1. Check your system language with the $ locale command. In my case it said LANG=C.UTF-8.
2. Re configure your locale with $ sudo dpkg-reconfigure
3. Select your preferred locale. In my case, it's de_DE.UTF-8 and click Ok
4. Set the default locale for the system environment to your previously selected locale in step 3 and click Ok
5. Locales will regenerate. Try refreshing horde (or try restarting server, but was not needed in my case)
 
Well, finally I found the solution. If anyone else having the same problem, try the following steps. They worked for me:

1. Check your system language with the $ locale command. In my case it said LANG=C.UTF-8.
2. Re configure your locale with $ sudo dpkg-reconfigure
3. Select your preferred locale. In my case, it's de_DE.UTF-8 and click Ok
4. Set the default locale for the system environment to your previously selected locale in step 3 and click Ok
5. Locales will regenerate. Try refreshing horde (or try restarting server, but was not needed in my case)
Thank you for sharing your solution.
 
(for reference only)

I encountered the same (cannot change language in Horde in el8 OS, without Plesk/Obsidian installed)

If I run "locale -a" , it simply showed en_US related locale.
If I run "dnf install glibc-langpack-zh" , restart apache, then I can change Horde into Traditional/Simplified Chinese interface.

ref.: Documentation - Horde - The Horde Project
 
Back
Top