Localisation des posts sur des sujets de plus de 20 messages

Sur un sujet comportant plus de 20 messages, seuls les 20 premiers messages sont affichés traduits ; les autres messages restent non traduits.

  1. Sélectionnez l’anglais comme langue de votre interface (l’allemand fonctionne aussi, donc je suppose que tout sauf le chinois fonctionnera).
  2. Ouvrez n’importe quel sujet et assurez-vous que les traductions sont désactivées.
  3. Ouvrez Discourse-embed-bilibili(在discourse中插入哔哩哔哩视频)
  4. Faites défiler jusqu’au dernier message.
  5. Faites défiler jusqu’au premier message.
  6. Basculez la langue sur l’anglais.
  7. Faites défiler vers le bas.

Attendu : Tous les messages sont en anglais.
Résultat actuel : Les 20 premiers messages sont en anglais, mais ceux chargés lors du défilement sont dans la langue d’origine.

Cela fonctionne également sur d’autres sujets comportant plus de 20 messages. J’ai choisi ce message comme exemple car les derniers messages ne sont pas en anglais, il peut donc être reproduit avec une interface en anglais. Si vous choisissez une autre langue d’interface, vous pouvez le reproduire sur un sujet avec des messages en anglais également.

1 « J'aime »

J’ai mis du temps à comprendre, mais l’essentiel du bug est :

Le bouton « Afficher l’original » ne s’applique qu’à la « page » actuelle des publications et n’est pas respecté lors du chargement de la page suivante par défilement.

C’est bien ça ?

Cela remonterait à la route GET https://meta.discourse.org/t/#{topic.id}/posts.json?post_ids[]=#{posts.id} qui ne respecterait pas le cookie content-localization-show-original: "true".

Peut-être :eyes:

Mon problème était que je lisais le sujet dans la langue d’origine. Ensuite, j’ai utilisé le bouton de basculement, car je ne parle pas chinois. Cela m’a ramené au premier message (je ne comprends pas entièrement pourquoi ; cela n’arrive pas toujours. C’est pourquoi j’ai choisi de faire défiler dans les étapes ci-dessus).
Et ensuite, les 20 premiers messages étaient en anglais, mais les derniers étaient toujours en chinois.

Je pense que dans ce cas, un show_original=false serait ce dont j’avais besoin pour voir tous les messages en anglais.

J’ai vérifié l’onglet réseau et je pense que le problème est qu’il n’y a pas de nouvelle requête pour ces messages après que j’ai utilisé le commutateur pour afficher la traduction :

Oui, c’est exact.

Le /posts.json?post_ids prend bien en charge « montrer l’original », mais le problème vient du fait que le magasin frontend ne charge que les publications existantes. Voici une correction qui résout également le problème agaçant du retour au premier message.

4 « J'aime »

Ceci vient d’être fusionné. Le changement arrivera probablement sur meta dans une heure, je vais donc surveiller et fermer si tout semble correct.

EDIT : Ça a l’air bien - je ferme.

1 « J'aime »

Ce sujet a été automatiquement fermé après 2 jours. Les nouvelles réponses ne sont plus autorisées.