Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Langue des dates dans le bloc Citer cet article / References #127

Open
oliviercrouzet opened this issue Jun 6, 2024 · 3 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@oliviercrouzet
Copy link
Contributor

Lorsque la langue de l'interface publique sélectionnée sur un site est l'anglais, la langue des dates reste en français dans le bloc References (Citer cet article).
Exemple :
Sylvie Wharton, « Controverse entre éloge de la diversité langagière et blâme du déficit linguistique : justice sociale et savoirs scolaires langagiers », Diversité [Online], 204 | 2024, Online since 09 avril 2024, connection on 06 juin 2024. URL : https://publications-prairial.fr/diversite/index.php?id=4447

Sur une instance de test, j'ai le problème inverse, la langue des dates reste en anglais quelque soit la langue d'interface choisie.
Je crois comprendre que c'est lié à la fonction strftime et à la cuisine des locales faites dans lodel mais je ne vois pas ou l'on peut régler ça.

@brrd brrd self-assigned this Jun 6, 2024
@brrd brrd added the enhancement New feature or request label Jun 6, 2024
@brrd
Copy link
Member

brrd commented Jun 6, 2024

C'est ici :

[%LISTE_AUTEURS]«&nbsp;[#TITRE|removenotes]&nbsp;», <FUNC NAME="BASE_PARU_DANS" CITATION="1" /><IF COND="[#NUMERODOCUMENT]">, [@DOCUMENT|strtolower] [#NUMERODOCUMENT]</IF>, [@MIS_EN_LIGNE_LE] [#DATEPUBLI|humandate], [@CONSULTE_LE] <?php echo strftime('%d %B %Y');?>. URL&nbsp;: [#SITEINFOS.URL]/[#ID|makeurlwithid]

J'imagine qu'il faut ajouter un

if ($context['sitelang']) {
  setlocale(LC_TIME, $context['sitelang']);
}

avant d'appeler strftime.

Je note de tester ça pour une prochaine version.

@oliviercrouzet
Copy link
Contributor Author

Oui, j'ai déja testé ça mais ça n'a pas d'effet.

<DEFMACRO NAME="ARTICLE_REFERENCE_ELECTRONIQUE">
  <?php setlocale(LC_TIME,'en'); ?>
    [%LISTE_AUTEURS]«&nbsp;[#TITRE|removenotes]&nbsp;», <FUNC NAME="BASE_PARU_DANS" CITATION="1" /><IF COND="[#NUMERODOCUMENT]">, [@DOCUMENT|strtolower] [#NUMERODOCUMENT]</IF>, [@MIS_EN_LIGNE_LE] [#DATEPUBLI|humandate], [@CONSULTE_LE] <?php echo strftime('%d %B %Y');?>. URL&nbsp;: [#SITEINFOS.URL]/[#ID|makeurlwithid]
</DEFMACRO>

j'ai essayé avec 'EN', 'en', 'en_US.UTF8','en_US','en_US.UTF-8' : idem.

Je précise aussi mon instance de test n'est pas sur le même serveur (mais debian buster pour les deux) : comme je ne vois pas de différence dans la config lodel, je me dit que ca dépend des locales définies pour l'OS ou pour php mais il n'y a rien dans la config php (php.ini) et pour les locales du système, ça donne ceci pour l'instance de test (ou les dates sont en anglais) :
locale -a

C
C.UTF-8
fr_FR.utf8
POSIX

et cela pour le serveur de prod (ou les dates sont en français) :

C
C.UTF-8
french
fr_FR
fr_FR@euro
fr_FR.iso88591
fr_FR.iso885915@euro
fr_FR.utf8
POSIX

D'autre part la surcharge de la fonction ARTICLE_REFERENCE_ELECTRONIQUE dans macros_custom.html n'est pas prise en compte (alors que c'est bien le cas pour d'autres fonctions de macros_articles comme ARTICLE_AUTEUR_IDNO) : ?!!

@brrd
Copy link
Member

brrd commented Jun 10, 2024

D'autre part la surcharge de la fonction ARTICLE_REFERENCE_ELECTRONIQUE dans macros_custom.html n'est pas prise en compte (alors que c'est bien le cas pour d'autres fonctions de macros_articles comme ARTICLE_AUTEUR_IDNO) : ?!!

C'est un autre bug qui n'a rien à voir je pense. Il faudrait traiter ça dans un autre ticket svp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants