django从右到左的语言与语言_BIDI不起作用
我正在用一种语言“波斯语”建立一个多语言网站: 到目前为止,一切都很顺利,但在开始下一行文本时,从右到左的语言“波斯语/波斯语”没有对齐。这意味着,对于从右向左的语言,下一行不会像往常一样在右侧对齐。 翻译工作 设置.pydjango从右到左的语言与语言_BIDI不起作用,django,internationalization,multilingual,Django,Internationalization,Multilingual,我正在用一种语言“波斯语”建立一个多语言网站: 到目前为止,一切都很顺利,但在开始下一行文本时,从右到左的语言“波斯语/波斯语”没有对齐。这意味着,对于从右向左的语言,下一行不会像往常一样在右侧对齐。 翻译工作 设置.py gettext = lambda s: s #default language should be german LANGUAGE_CODE = 'de' #LANGUAGE_CODE = 'en' #LANGUAGE_CODE = 'fa' LANGUAGES = (
gettext = lambda s: s
#default language should be german
LANGUAGE_CODE = 'de'
#LANGUAGE_CODE = 'en'
#LANGUAGE_CODE = 'fa'
LANGUAGES = (
#('fr', gettext('French')),
('de', gettext('German')),
('en', gettext('English')),
('fa', gettext('Farsi')),
#('pt-br', gettext("Brazil")),
)
language\u chooser.html
{% load localeurl_tags %}
{% load i18n %}
{% load tabs %}
{% for lang in LANGUAGES %}
{% ifequal lang.0 LANGUAGE_CODE %}
<li class="active"><a>{{ lang.1 }}</a></li>
{% else %}
<!--
{% if LANGUAGE_BIDI %}
<li>The current language is bidirectional</li>
{% else %}
<li>The current language is <b>not</b> bidirectional</li>
{% endif %}
-->
<li class="{% ifactivetab "en" %}active{% else %}inactive{% endifactivetab %}"><a href="{{ request.path|chlocale:lang.0 }}" accesskey="2">{{ lang.1 }}</a></li>
{% endifequal %}
{% endfor %}
我的“波斯语/波斯语”的django.po文件如下所示:
我该怎么办
解决方案:
在使用属性“text align:right;”定义了一个新的css类“article\u right\u aligned\u language”并按如下方式修改了我的基本模板之后,它现在就可以工作了
<div {% if LANGUAGE_BIDI %} class="article_right_aligned_language" {% else %} class="article"> {% endif %}
{% block site_wrapper %}{% endblock %}
</div>
{%endif%}
{%block site_wrapper%}{%endblock%}
文本对齐由CSS而不是Django处理。在容器元素上设置文本对齐
属性:
.container.right-aligned-language {
text-align: right;
}
然后,您可以使用模板中的条件语句将类
右对齐语言应用于容器(或主体标记)。现在您应该在CSS中使用:
direction: rtl
请改用这个:
CSS是样式而不是内容。很好用!!非常感谢您的快速回复。
direction: rtl