20件以上の投稿があるトピックのローカライズ

20件以上の投稿があるトピックでは、最初の20件の投稿のみが翻訳されて表示され、それ以外の投稿は翻訳されないままになります。

  1. インターフェース言語を英語(ドイツ語でも機能するため、中国語以外のすべての言語で機能すると思われます)に選択します。
  2. いずれかのトピックを開き、翻訳がオフになっていることを確認します。
  3. Discourse-embed-bilibili(在discourse中插入哔哩哔哩视频) を開きます。
  4. 最後の投稿までスクロールします。
  5. 最初の投稿までスクロールバックします。
  6. 言語を英語に切り替えます。
  7. 下にスクロールします。

期待される結果: すべての投稿が英語になる。
実際の結果: 最初の20件の投稿は英語になりますが、スクロール時に読み込まれた投稿は元の言語のままです。

これは、20件以上の投稿がある他のトピックでも機能します。この投稿を例として選択したのは、最後の投稿が英語ではないため、英語のインターフェースで再現できるからです。別のインターフェース言語を選択した場合、英語の投稿があるトピックで同様に再現できます。

「いいね!」 1

理解するのに時間がかかりましたが、バグの要点は次のとおりです。

「元の表示」ボタンは現在の「ページ」の投稿にのみ適用され、スクロールして次のページを読み込む際に尊重されません。

これで合っていますか?

これは、GET https://meta.discourse.org/t/#{topic.id}/posts.json?post_ids[]=#{posts.id} のルートにまで及び、クッキー content-localization-show-original: "true" を尊重していません。

多分 :eyes:

問題は、元の言語でトピックを読んでいたことでした。中国語は話せないので、トグルを使用しました。すると、最初の投稿に戻りました(常にそうなるわけではないので、完全には理解できません。そのため、上記の手順でスクロールを選択しました)。
そして、最初の20件の投稿は英語でしたが、最後の投稿はまだ中国語でした。

この場合、show_original=false が、すべての投稿を英語で表示するために必要だったものだと思います。

ネットワークタブを確認したところ、翻訳を表示するようにトグルを使用した後にこれらの投稿に対する新しいリクエストがないことが問題だと考えられます。

はい、その通りです。

/posts.json?post_ids は「元の表示」に対応していますが、問題はフロントエンドストアが既存の投稿をロードしているだけであることです。これは、最初の投稿へのイライラするジャンプバックにも対処する修正です。

「いいね!」 4

これがマージされました。変更は1時間ほどでmetaに反映される見込みなので、監視して問題がなければ閉じます。

編集:問題なさそうなので閉じます。

「いいね!」 1

このトピックは2日後に自動的に閉じられました。返信はもう受け付けられません。