Trying to setup an Liferay intranet with French users exclusively, with integration with LDAP (Active Directory) for authentication.
User import works fine, and authentication is OK as well. But one thing that has been seen is that the language gets reset to 'en_US' after a while, even though the user has changed it to French from the admin console few hours earlier, few days for some.
Another test case is : user_ table has been updated manually via SQL to languageId="fr_FR" as well, and 2 days later, several accounts got updated (without any activity by those users), which is when the LDAP Import has been suspected to be one touching the user info.
We looked at it, and found out the root of the problem to probably be in PortalLDAPImporterImpl.java - updateUser(),
Looks like the code makes it always overwrite the language to a defaut "en_US", and a default timezone (UTC) and doesn't use the previous and existing user language and timezone.
We've also set the default Language and Timezone in system-ext.properties, but this one doesn't have any effect on this problem.
As of now, the workaround for us is to do a hourly cron job to update the user_ table, and set the LDAP Import to sync up with Active Directory not as often.