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

Uso de Jekyll Polyglot en el blog #26

Closed
UrkoLekuona opened this issue May 5, 2020 · 14 comments · Fixed by #28
Closed

Uso de Jekyll Polyglot en el blog #26

UrkoLekuona opened this issue May 5, 2020 · 14 comments · Fixed by #28

Comments

@UrkoLekuona
Copy link
Member

Si acabamos utilizando Jekyll Polyglot para dar soporte multilenguaje a nuestro blog (ver issue de Gitlab(privada)), habrá que tomar ciertas decisiones tanto para la apariencia del blog como para la estructura interna:

Apariencia

URL

Aquí veo dos problemas a decidir:

1.

Para que Polyglot asocie las diferentes versiones del mismo post, utiliza los permalinks de cada post.

Polyglot works by associating documents with similar permalinks to the lang specified in their frontmatter. Files that correspond to similar routes should have identical permalinks. - Extraído del repositorio de Polyglot

Como nuestro permalink es permalink: /:year/:month/:day/:title:output_ext, esto implica que los nombres de archivos para ambas versiones deben de ser iguales (:title corresponde al nombre del archivo, no al título del frontmatter). El resultado es que las URLs de las versiones están en el mismo idioma. Ejemplo:

  • URL de un post en castellano:
    http://localhost:4000/2020/04/21/buenas-practicas-para-escribir-un-dockerfile.html
  • URL del mismo post en inglés:
    http://localhost:4000/en/2020/04/21/buenas-practicas-para-escribir-un-dockerfile.html

¿Es esto un problema? Si cambio el nombre del archivo en inglés a "2020-04-21-dockerfile-best-practices.markdown", la URL en inglés cambia a http://localhost:4000/en/2020/04/21/dockerfile-best-practices.html, pero ya no lo asocia con su versión en castellano, así que no sirve.

2.

¿Cómo queremos que sea la URL de la versión en castellano? Actualmente, la versión en ingles es http://localhost:4000/en, y hay que decidir si queremos que en castellano sea:

  • http://localhost:4000
    o
  • http://localhost:4000/es

Selección de idioma

Si hacemos un blog multilenguaje, habrá que añadir un selector del idioma actual en algún sitio (cambiarlo por URL no es lo ideal). Se me ocurre que podemos añadir uno en el header/footer del blog y en cada post un enlace a la versión alternativa. ¿Qué opináis?

Estructura

Organización de los posts

Esto esta relacionado con el problema de la URL. Utilizando el permalink actual, la manera en la que habría que organizar los posts para que el plugin funcione correctamente es crear un directorio dentro de _posts llamado en que contendrá todos los posts en inglés. ¿Qué vamos a hacer con la versión en castellano? ¿Los dejamos en _posts o movemos a _posts/es? Es decir:
Esto:

_posts
|
|- en
|   |
|   |- postIngles.md
|
|- postCastellano.md

o esto:

_posts
|
|- en
|   |
|   |- postIngles.md
|
|- es
    |
    |- postCastellano.md

Versiones de recursos

No lo he probado aún, pero entiendo que los posts que contengan recursos con contenido en castellano, también necesitarán que esos recursos sean traducido. ¿Vamos a estructurar la carpeta assets de alguna manera?

@aberasarte
Copy link
Member

Doy mi opinión sobre los puntos que comentas:

URL

1

Si he entendido bien el problema, ¿puede que lo que comentan en esta issue sea lo que necesitamos?

2

Si es posible, yo me inclinaría por hacer que la URL fuera http://localhost:4000/es pero que como fallback la URL http://localhost:4000 también llevase a la versión en castellano.

No sé si esto es posible. Si no lo es, dejaría que directamente http://localhost:4000 fuese la versión en castellano.

Selección de idioma

Si hacemos un blog multilenguaje, habrá que añadir un selector del idioma actual en algún sitio (cambiarlo por URL no es lo ideal). Se me ocurre que podemos añadir uno en el header/footer del blog y en cada post un enlace a la versión alternativa. ¿Qué opináis?

Añadir un selector de idioma en la cabecera me parece perfecto.

Estructura

Organización de los post

Voto por esta opción:

_posts
|
|- en
|   |
|   |- postIngles.md
|
|- es
    |
    |- postCastellano.md

Versiones de recursos

Para las imágenes en las que metemos texto tendremos que tener dos versiones: una con los textos en inglés y otra en castellano. No sé si sería posible hacer algo parecido a esto:

assets
|
|- images
|   |-2020-02-11-java-en-contenedores-docker
|   |   |- servidor-java-ee-en.png
|   |   |- servidor-java-ee-es.png
|   |   |- no-body-puts-java-in-a-container.png

Es decir, para aquellas imágenes que están internacionalizadas añadimos un sufijo con el locale y para las que no lo están, las dejamos tal cual.

La verdad es que por no complicar, no me parecería mal que las imágenes siempre tuvieran los textos en inglés.

@UrkoLekuona
Copy link
Member Author

Apariencia

URL

1

Sí, lo que comentan en la issue es exactamente lo que queremos. Pero la issue sigue abierta, el autor del plugin no ha comentado nada (aunque lo ha visto, por un emoticono en uno de los comentarios) y las soluciones que dan no me gustan. Lo ideal sería darle a cada post una referencia (como hace la persona que abre el issue y en este post).

También he visto que los creadores de https://streetrunners.net/ sí que lo han conseguido de alguna manera, pero no he visto un enlace a su repositorio (sí a su cuenta). Estoy por mandarles un correo y pedir que me dejen echar un vistazo a ver qué opinan.

2

Hecho, la versión en inglés está en /en/y la versión en castellano en /es/ y /.

Selección de idioma

Me pongo a ello

Estructura

Organización de los post

Hecho.

Versiones de recursos

Se puede sin problema, pero hay que gestionar los enlaces de manera manual. Es decir, a la hora de traducir el post a inglés habrá que modificar los enlaces a los recursos que hayan cambiado. De esto no se encarga el plugin (o no he visto nada que lo indique y las pruebas que he hecho no me han funcionado).

¿Es esto un problema?

@UrkoLekuona
Copy link
Member Author

Selección de idioma

¿Opiniones?

Screenshot 2020-05-06 at 11 30 48

@jagobagascon
Copy link
Member

jagobagascon commented May 6, 2020

Yo lo haría más sutil, o incluso lo movería al footer.

@uurien
Copy link
Member

uurien commented May 6, 2020

¿Qué tal algo así?
Captura de pantalla 2020-05-06 a las 11 38 22
Captura de pantalla 2020-05-06 a las 11 41 06
En negrita estaría el actual.
@jagobagascon En el footer tampoco lo pondría, si el post es largo estaría demasiado abajo para verlo.

@aberasarte
Copy link
Member

Sí, lo que comentan en la issue es exactamente lo que queremos. Pero la issue sigue abierta, el autor del plugin no ha comentado nada (aunque lo ha visto, por un emoticono en uno de los comentarios) y las soluciones que dan no me gustan. Lo ideal sería darle a cada post una referencia (como hace la persona que abre el issue y en este post).

Ah pues sin haber entrado en detalles, a mí sí que me encajaba lo de utilizar un front-matter de este estilo para definir los permalinks internacionalizados:

permalink_i18n:
    es: "/permalink_en_español/"
    en: "/permalink_in_english/"

Supongo que lo han copiado de este otro plugin que creo que también habíamos valorado y descartado en favor de Polyglot. No sé si el hecho de que tengan contemplado esto puede hacer que volvamos a valorarlo.

@UrkoLekuona
Copy link
Member Author

Screenshot 2020-05-06 at 12 29 44

Aún falta el selector del toolbar. ¿Opiniones? A mí personalmente me parece un poco pequeño.

@UrkoLekuona
Copy link
Member Author

Selector en el toolbar para desktop:

Screenshot 2020-05-06 at 12 35 58

Selector en el toolbar para móviles:

Screenshot 2020-05-06 at 12 45 21

@uurien
Copy link
Member

uurien commented May 6, 2020

Así como en la home si que me gusta que esté del todo en la esquina, en la toolbar, al tener ARIMA a la izquierda, pero no del todo a la izquierda, me canta un poco que el cambio de idioma se vaya hasta la esquina, en la toolbar lo dejaría alineado con el texto, (en la esquina de la capa wrapper).
En la toolbar, centraría el texto verticalmente y lo haría un poco más pequeño.

@UrkoLekuona
Copy link
Member Author

En la toolbar, centraría el texto verticalmente y lo haría un poco más pequeño.

Entiendo que te refieres a la versión móvil.

Así como en la home si que me gusta que esté del todo en la esquina, en la toolbar, al tener ARIMA a la izquierda, pero no del todo a la izquierda, me canta un poco que el cambio de idioma se vaya hasta la esquina, en la toolbar lo dejaría alineado con el texto, (en la esquina de la capa wrapper

Y con esto solo a la versión escritorio, ¿no?

@uurien
Copy link
Member

uurien commented May 6, 2020

Entiendo que te refieres a la versión móvil

No, me refiero a ambos, pero en la toolbar (o navbar). ES | EN no está centrado verticalmente en ninguno de los dos. Y lo pondría un poco más pequeño en ambos.

Y con esto solo a la versión escritorio, ¿no?

Realmente la toolbar es la misma en mobile y escritorio, pero si, con este comentario me refería a la versión de escritorio.

@UrkoLekuona
Copy link
Member Author

Screenshot 2020-05-06 at 13 29 28
Screenshot 2020-05-06 at 13 29 48

Alinearlo verticalmente me ha costado más de lo que debería y ni siquiera sé si lo está del todo...

@UrkoLekuona
Copy link
Member Author

Supongo que lo han copiado de este otro plugin que creo que también habíamos valorado y descartado en favor de Polyglot. No sé si el hecho de que tengan contemplado esto puede hacer que volvamos a valorarlo.

@aberasarte ¿Qué te parece si intentamos integrar Polyglot (con la pega de solo poder utilizar un frontmatter para ambas versiones) y si acabamos mergeando abrimos otra issue intentando añadir multiple frontmatters / otro plugin?

Lo digo porque ahora que este está ya a punto de hacer el pull request y ahora dar marcha atrás en la mitad de cosas solo para ver qué otros problemas surgen al utilizar otro plugin... me voy a volver loco y la issue no va a haber quien la siga.

@aberasarte
Copy link
Member

Supongo que lo han copiado de este otro plugin que creo que también habíamos valorado y descartado en favor de Polyglot. No sé si el hecho de que tengan contemplado esto puede hacer que volvamos a valorarlo.

@aberasarte ¿Qué te parece si intentamos integrar Polyglot (con la pega de solo poder utilizar un frontmatter para ambas versiones) y si acabamos mergeando abrimos otra issue intentando añadir multiple frontmatters / otro plugin?

Lo digo porque ahora que este está ya a punto de hacer el pull request y ahora dar marcha atrás en la mitad de cosas solo para ver qué otros problemas surgen al utilizar otro plugin... me voy a volver loco y la issue no va a haber quien la siga.

Me parece bien.

itelleria pushed a commit that referenced this issue Nov 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants