Problème avec les traductions dans date_fr()

La function date_fr qui se trouve dans le ficher core/php/utils.inc.php traduit des dates exprimées en anglais.

L’identification des mots à traduire (mois ou jours en entier ou abrégés) est faite en cherchant de termes précécés ou suivi d’un espace (ou début/fin de ligne). Le problème est que ces espaces font partie du terme à remplacer mais ils ne sont pas repris dans le remplacement.

On a donc, par exemple Sat 12:45 qui devient Sam12:45

J’ai fait un PR qui corrige ce problème.
J’en ai profité pour modifier les expressions régulières de recherche pour que les séparateurs ne soient plus des espaces mais tout ce qui correspond à \W (caractères non alphanumériques ni _ ). Si cette modification est jugée trop large, il faudrait au minimum \s pour que les tabulations soient aussi considérées comme des séparateurs.

P.S.

Cette fonction traduit les dates anglaise en Français, Allemand ou Espagnol. Il faudrait envisager de lui trouver un autre nom que date_fr() qui est un peu réducteur. Il faudrait aussi y ajouter les traductions dans les autres langues supportée par Jeedom.

Très bien :+1:
peut être, juste créer un alias ConvertDateFromEn et laisser celle-ci date_fr en @deprecated pour les futures versions (on a déjà aussi la fonction ConvertDayFromEn juste en dessous) (lien PR)

D’ailleurs, à propos de version, est-ce que toutes les nouvelles PR sont toujours pour une éventuelle 4.4 ou bien pour la future 4.5 ? Faudrait peut être arrêter d’en rajouter sur la 4.4 si on veut qu’elle sorte stable un jour :smiley:

Salut,

Totalement d’accord ! A mon sens les PR devrait être exclusivement limitées à des corrections de bugs en ce moment.