Blogdown - traduire les dates pour un site multilingue

Quand je me suis lancée dans la création de ce blog, je pensais que j’allais tout le temps écrire en anglais. Puis j’ai découvert qu’Hugo et le thème Academic offraient la possibilité de faire un blog multilingue: je me suis dit “les ressources sur R en anglais ne manquent pas, pourquoi pas contribuer à ce monde en français ?”. C’est ce que j’ai fait un beau matin d’avril, quoique je me suis heurtée à un obstacle qui était très simple à contourner.

Depuis, j’écris mes articles en anglais et en français, ces articles sont bien liés entre eux car les dossiers sont nommés identiquement, tout roule ! Enfin presque. Un petit défaut me titillait: les mois n’étaient pas traduits en français ce qui m’irritait au plus au point. J’ai essayé plusieurs fois de régler ça: j’ai créé un fichier mois.yaml dans data, puis je l’ai référencé dans une copie du template page_metadata.html de layouts/partials de la manière suivante:

<span class="article-date">
  {{ $date := $page.Date.Format site.Params.date_format }}

  {{ if eq .language.Lang "en" }}
  {{ $date }}
  {{ else }}
  {{ .page.Date.Day }} {{ index site.Data.mois (printf "%d" .page.Date.Month) }} {{ .page.Date.Year }}
  {{ end }}
</span>

…et j’ai re-essayé, re-décliné la condition, j’ai googlé à outrance…ça ne marchait pas.

Puis je suis tombée sur cet article. Qui ajoutait simplement la traduction des mois dans le fichier i18n/fr.yaml

- id: January
  translation: Janvier
- id: February
  translation: Février
- id: March
  translation: Mars
- id: April
  translation: Avril
- id: May
  translation: Mai
- id: June
  translation: Juin
- id: July
  translation: Juillet
- id: August
  translation: Août
- id: September
  translation: Septembre
- id: October
  translation: Octobre
- id: November
  translation: Novembre
- id: December
  translation: Décembre

…les ajoutait dans i18n/en.yaml pour que les mois ne soient pas absents du côté anglais…

- id: January
  translation: January
- id: February
  translation: February
- id: March
  translation: March
- id: April
  translation: April
- id: May
  translation: May
- id: June
  translation: June
- id: July
  translation: July
- id: August
  translation: August
- id: September
  translation: September
- id: October
  translation: October
- id: November
  translation: November
- id: December
  translation: December

…pour ensuite changer le format de la date dans page_metadata.html

<span class="article-date">
  {{ $date := $page.Date.Format site.Params.date_format }}
  {{.page.Date.Day}} {{i18n .page.Date.Month}} {{.page.Date.Year}}
</span>

Et hop. Les mois sont traduits. Hah. Plus simple, tu meurs.

Kanto Fiaferana
Kanto Fiaferana
Diplômée du master Quantifier en Sciences Sociales

Mes intérêts de recherche incluent la représentation diplomatique des îles, les incitations au vote destinées vers les jeunes adultes, et R.

Précédent
Suivant

Sur le même sujet