Fechas multilingüe in Hugo | Una solución rápida

post-thumb

Índice

Si administras un blog o sitio web multilingüe, como este, con las plantillas de Hugo, probablementequieres traducir también las fechas.

Fechas multilingüe in Hugo: el problema

Actualmente, abril de 2021, Hugo no ofrece un sistema sencillo para las traducciones multilingües para las fechas del día de publicación de los artículos. Por lo tanto, tenemos que hacer un pequeño truco para traducir esas fechas.

Fechas multilingüe in Hugo: la solución

Una solución sencilla es editar los archivos dentro de la carpeta i18n y luego editar el código en las plantillas html.

Estos son los pasos:

  1. Por primero, en la carpeta i18n de cada idioma, agrega la traducción de cada mes.

Por ejemplo, para español, dentro de es.yaml agrega esto:

- 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

También acuerdate de agregar lo siguiente en la versión inglés, en el archivo en.yaml (de lo contrario, el mes no será visible en la versión inglés):

- 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. Luego, en la plantilla html donde deseas mostrar la fecha de publicación pega esto:

    {{.Date.Day}} {{i18n .Date.Month}} {{.Date.Year}}

esto funciona porque .Date.Month proporciona el mes específico que se traduce gracias a los archivos en la carpeta i18n.

Por ejemplo, para este sitio, en layouts/_default/single.html reemplacé la siguiente línea:

{{ .PublishDate.Format “2 January 2006” }}

con

{{.Date.Day}} {{i18n .Date.Month}} {{.Date.Year}}

Compartir en:

DISCLOSURE: Los artículos pueden contener enlaces de afiliados. Si compras algo a través de uno de esos enlaces, es posible que obtenga una pequeña comisión, sin ningún costo adicional para ti.