Vuelve a desplazarte hasta la primera publicación.
Cambia el idioma a inglés.
Desplázate hacia abajo.
Esperado: Todas las publicaciones están en inglés. Resultado real: Las primeras 20 publicaciones están en inglés, pero las que se cargaron al desplazarse están en el idioma original.
Esto también funciona en otros temas con más de 20 publicaciones. Elegí esta publicación como ejemplo porque las últimas publicaciones no están en inglés, por lo que se puede reproducir con una interfaz en inglés. Si eliges un idioma de interfaz diferente, puedes reproducirlo también en un tema con publicaciones en inglés.
Me tomó un tiempo entenderlo, pero la esencia del error es:
El botón “Mostrar original” solo se aplica a la “página” actual de publicaciones y no se respeta al cargar la siguiente página al desplazarse.
¿Correcto?
Esto se reduciría a la ruta en GET https://meta.discourse.org/t/#{topic.id}/posts.json?post_ids[]=#{posts.id} no respetando la cookie content-localization-show-original: "true".
Mi problema fue que estaba leyendo el tema en el idioma original. Luego usé el interruptor, porque no hablo chino. Eso me llevó de vuelta a la primera publicación (no entiendo completamente por qué; no siempre sucede. Es por eso que elegí desplazarme en los pasos anteriores).
Y luego las primeras 20 publicaciones estaban en inglés, pero las últimas todavía estaban en chino.
Creo que en ese caso un show_original=false sería lo que necesitaba para ver todas las publicaciones en inglés.
Comprobé la pestaña de red y creo que el problema es que no hay una nueva solicitud para estas publicaciones después de usar el interruptor para ver la traducción:
El /posts.json?post_ids sí que se encarga de “mostrar original”, pero el problema se debe a que la tienda del frontend simplemente carga las publicaciones existentes. Aquí tienes una solución que también aborda el molesto salto de vuelta a la primera publicación.