Date multilingua in Hugo | Una soluzione rapida
Indice
Se gestisci un blog o un sito Web multilingue, come questo con i modelli di Hugo probabilmente vorrai avere anche le date tradotte.
Date multilingua in Hugo: il problema
Al momento attuale, aprile 2021, Hugo non supporta traduzioni multilingue per le date relative alla giorno di pubblicazione degli articoli.
Pertanto, dobbiamo fare un piccolo stratagemma per tradurre le date.
Date multilingua in Hugo: la soluzione
Una soluzione rapida è modificare i file all’interno della cartella i18n e poi modificare il codice nei modelli html.
Questi sono i passaggi:
- Per prima cosa nella cartella i18n per ogni lingua aggiungere la traduzione per ogni mese.
Ad esempio, per lo spagnolo, all’interno di es.yaml aggiungi:
- id: January
translation: enero
- id: February
translation: febrero
- id: March
translation: marzo
- id: April
translation: abril
- id: May
translation: mayo
- id: June
translation: junio
- id: July
translation: julio
- id: August
translation: agosto
- id: September
translation: septiembre
- id: October
translation: octubre
- id: November
translation: noviembre
- id: December
translation: diciembre
Ricorda anche di aggiungere nella versione inglese, nel file en.yaml quanto segue (altrimenti il mese non sarà visibile nella versione inglese):
- 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
-
Poi nel modello html dove vuoi mostrare la data di pubblicazione incolla la seguente riga:
{{.Date.Day}} {{i18n .Date.Month}} {{.Date.Year}}
questo funziona perchè .Date.Month fornisce il mese specifico che viene tradotto con i file nella cartella i18n.
Per esempio, per questo sito, ho sostituito in layouts/_default/single.html la seguente riga:
{{ .PublishDate.Format “2 January 2006” }}
con
{{.Date.Day}} {{i18n .Date.Month}} {{.Date.Year}}