用户名中@符号的RTL问题

Bug 报告:“@”在 Horizon 主题的 RTL 环境下显示在英文用户名中错误位置


您好

我在使用 Horizon 主题并将网站语言设置为 RTL 时遇到了显示问题。这个问题专门影响英文用户名(LTR)。

发生的情况:

  • 无论用户名是 RTL 还是 LTR,“@” 符号始终显示在用户名的右侧(在高上下文主题卡中)。
  • 这种右侧定位对于 RTL 用户名(例如波斯语/阿拉伯语)是正确的。但是,对于英文(LTR)用户名,在 RTL 环境下,“@” 应该出现在左侧,而不是右侧。

我的期望:

  • 对于 RTL 用户名,“@” 符号应显示在右侧(如当前所示);对于英文/LTR 用户名,当网站处于 RTL 模式时,“@” 应显示在左侧。

感谢您关注此事!


image
image

这特定于 Horizon 吗?也就是说,它不会在 Foundation 主题中发生吗?

问题似乎是 Horizon 特有的;在 Foundation 主题中,用户名前面没有 @ 前缀,因此不会出现错误。

如果我标记某人会怎样?比如 @serkhelesheyi

我无法重现该问题。这是我在将界面更改为阿拉伯语后在 Meta 上看到的情况:

2 个赞

如果我尝试发布您写的确切段落,只有在以下条件下才会出现错误:
如果段落的第一个字符是波斯语,并且紧跟在用户名之前有另一个波斯语字符(无论是否有空格),那么我提到的问题就会发生,并且 @ 符号会出现在用户名的右侧。

分享了两张图片:一张显示了在编辑器中编写的文本,另一张显示了同一文本在论坛中显示的方式

并且这只发生在 Horizon 上吗?

您没有遇到该问题的原因是包含用户名的那一行以单词“by”开头。该问题仅在前面提到的两个特定条件下出现。

不,这发生在我所有的主题中,不只是 Horizon。

是的,我就是这么想的,所以我一开始就问了它是否是 Horizon 特定的。已将其移至自己的主题。

2 个赞

啊,那我现在很难复现,因为 Horizon 的翻译最近丢失了。它们仍然在 2026.1 版本中,但在 2026.2 版本中缺失了。

1 个赞

感谢您的报告 @serkhelesheyi - 这将通过以下链接修复:

https://github.com/discourse/discourse/pull/37723

1 个赞