L'idée générale quand on développe dans un langage est d'englober un texte à traduire dans une fonction raccourcie, de type _('Mon texte') qui est par défaut l'équivalent raccourci de la fonction gettext('Mon texte').
Ainsi un
Code : Tout sélectionner
printf('<p>%s</p>','Bonjour monde !');
Code : Tout sélectionner
printf('<p>%s</p>',_('Bonjour monde !'));
Code : Tout sélectionner
setlocale(LC_ALL,'fr_FR.UTF-8');
setlocale(LC_TIME,'fr_FR.UTF-8');
setlocale(LC_CTYPE,'fr_FR.UTF-8');
date_default_timezone_set('Europe/Paris');
Code : Tout sélectionner
bindtextdomain(__NAMESPACE__, $path);
textdomain(__NAMESPACE__);
bind_textdomain_codeset(__NAMESPACE__, 'UTF-8');
Code : Tout sélectionner
function _ (string $mess) : string {
return dgettext(__NAMESPACE__, $mess);
}
PROBLEME CONSTATE :
En mode console, PHP me trouvait bien les traduction et les appliquait, via
Code : Tout sélectionner
php -f monscript.php
Mais sous APACHE, mission impossible ! A chaque fois il snobait mes fichiers de traduction, sans erreur dans les journaux ni avertissement !
Jusqu'au moment où, au bout de plusieurs heures de recherche et de test, j'ai juste viré php8.3-fpm et php-fpm !
Et c'était bien ces deux foutus paquets qui "bloquaient" !
En espérant que ça pourra servir à d'autres pour leur éviter de perdre des heures...