我正在努力在Django网络数据库中支持阿拉伯语,我遇到了一些非常奇怪的渲染行为。具体来说,我正在尝试从右到左对页面上的单词进行重新排序,所有单词都是在模板中单独收集的字符串(来自上下文变量或反式标记)。希望这些图像能够清楚地说明问题。
英语是项目默认值。 Django版本是1.6。
然而在阿拉伯语中,相同的标记会导致这种情况,最后会呈现文化时段。
但是如果我拿出第一个反式标签并用这样的字符串替换它 订单是正确的
现在这里变得非常奇怪。如果我在第一个反式标记之后添加一些字符(在本例中为cp),它会正确呈现 产量
但是如果我在之前添加一个字符(在这种情况下是冒号),它会以一种非常奇怪的方式分裂 产率
我真的希望Django在翻译时使用一些可以解释这一点的基本规则。我真的希望它不是(因为我理论化)由翻译所带来的微小滞后造成的,导致模板的某些部分在其他部分之前渲染......
我还应该提到一些上下文变量被传递给模板,并且屏幕截图中显示了标记之外的循环结构和if语句。
更新:通过更多测试,我相信我发现如果不止一个反式字符串彼此相邻,它们将从右向左呈现,即使它们在模板中从左到右显示。如果引入了非反式字符,它会“重置”此模式,并将其前后的所有内容呈现为一组从右到左的文本。遗憾的是,
无法分隔这些字符串,也不会将它们放在不同的div中。我可能需要使用<br>
,但风格明智,我宁愿不...