超过20个帖子的主题的本地化

在帖子超过20条的主题中,只有前20条帖子会显示翻译;其余帖子保持未翻译状态。

  1. 选择英语作为您的界面语言(德语也可以,所以我猜除了中文之外,其他语言都可以)。
  2. 打开任何主题,并确保翻译已关闭。
  3. 打开 Discourse-embed-bilibili(在discourse中插入哔哩哔哩视频)
  4. 向下滚动到最后一篇帖子。
  5. 滚动回第一篇帖子。
  6. 将语言切换为英语。
  7. 向下滚动。

**预期:**所有帖子都是英语。
**实际结果:**前20条帖子是英语,但滚动加载的帖子是原始语言。

这在其他超过20条帖子的主题中也存在。我选择这篇帖子作为示例,是因为最后一篇帖子不是英语,所以可以用英语界面重现。如果您选择不同的界面语言,您也可以在英语帖子主题中重现它。

1 个赞

花了我一些时间才弄明白,但这个 bug 的要点是:

“显示原文”按钮仅适用于当前“页面”的帖子,在通过滚动加载下一页时不会被遵守

对吗?

这会深入到路由 GET https://meta.discourse.org/t/#{topic.id}/posts.json?post_ids[]=#{posts.id},它不遵守 cookie content-localization-show-original: "true"

也许 :eyes:

我的问题是我正在阅读原始语言的主题。然后我使用了切换按钮,因为我不会说中文。这把我带回了第一个帖子(我不完全明白为什么;它并不总是发生。这就是为什么我在上面的步骤中选择了滚动)。
然后前 20 篇帖子是英文的,但最后的帖子仍然是中文的。

我认为在这种情况下,show_original=false 将是我需要看到所有帖子都为英文的。

我检查了网络选项卡,我认为问题在于,在我使用切换按钮查看翻译后,这些帖子没有新的请求:

是的,没错。

/posts.json?post_ids 确实支持“显示原始”,但问题是由于前端存储仅加载现有帖子。这是一个解决了恼人的跳回第一个帖子的问题的修复程序。

4 个赞

这刚刚被合并了。更改可能在一小时内影响到 meta,因此我将进行监控,如果一切看起来都正常,我将关闭它。

编辑:看起来不错 - 关闭。

1 个赞

此主题已在 2 天后自动关闭。不再允许回复。