Date multilingua in Hugo | Una soluzione rapida

post-thumb

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:

  1. 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

  1. 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}}

Condividi su:

DISCLOSURE: Gli articoli possono contenere link di affiliazione. Se acquisti qualcosa tramite uno di questi link, potrei ricevere una piccola commissione, senza alcun costo aggiuntivo per te.