Je poste ce retour d’expérience au cas où d’autres rencontreraient le même symptôme — la cause n’était pas évidente à identifier et se situe en dehors de Diacamma lui-même.
Le contexte
- VPS OVHcloud sous Debian 12 Bookworm (image standard)
- YunoHost 12.1.41 par-dessus
- Paquet
diacamma_ynh(version 26.07.29.14~ynh1), Diacamma Syndic, languefrsélectionnée dans le formulaire d’installation
Le symptôme
L’interface sort en anglais, mais pas entièrement : les boutons du client JS (PRÉCÉDENT / SUIVANT) sont bien en français, tout le reste est en anglais. Les menus (GENERAL, CONDOMINIUM, FINANCIAL…), les libellés du wizard, et surtout les données créées à l’initialisation : les journaux comptables (“Last year retained”, “spending”, “revenue”), les messages mail par défaut (“Welcome…”, “Regards”).
Ce qui n’était PAS le problème (pour vous éviter les mêmes impasses)
- Le paramétrage YunoHost :
yunohost app setting diacamma languagerenvoyait bienfr - Le
settings.pyde l’instance :LANGUAGE_CODE = "fr"correctement présent - Django lui-même :
LANGUAGE_CODEàfr,USE_I18NàTrue, et le français bien présent dansLANGUAGES - Les fichiers de traduction : les
.mofrançais étaient bien là - Le navigateur : il envoyait
Accept-Language: fr-FR,fr;q=0.9 - Un paramètre de langue dans l’appli : il n’y en a pas, la langue est gérée uniquement par le middleware Django
Et pourtant le serveur répondait Content-Language: en.
La cause
L’image Debian d’OVH est livrée sans aucune locale française générée. Or Lucterios, en plus d’activer la traduction Django, appelle setlocale() sur fr_FR.UTF-8 — appel qui échoue, et le code retombe alors sur un repli en anglais. Résultat : le français est activé puis immédiatement écrasé, et seul le client JS (qui a ses propres traductions) reste en français.
La solution
Il s’agit simplement de générer la locale fr_FR.UTF-8 au niveau du système, ce que les images Debian de VPS ne font pas par défaut (elles sont livrées en C.UTF-8 ou en_US.UTF-8). Les commandes ci-dessous installent le paquet locales, décommentent la ligne fr_FR.UTF-8 dans /etc/locale.gen, génèrent la locale, puis redémarrent l’application pour qu’elle en bénéficie. À adapter si vous êtes sur une autre distribution, le principe reste le même.
bash
apt install -y locales
sed -i 's/^# *fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
systemctl restart diacamma
Vérification : locale -a | grep fr_FR doit renvoyer fr_FR.utf8.
Important : à faire AVANT l’installation
Dans mon cas, l’interface est bien repassée en français après coup, mais les données créées à l’initialisation de l’instance (journaux comptables, messages mail par défaut) restaient en anglais en base. J’ai dû désinstaller et réinstaller l’application pour repartir propre.
Donc si vous montez une instance sur un VPS Debian : générez la locale fr_FR.UTF-8 avant d’installer Diacamma.