Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django从右到左的语言与语言_BIDI不起作用_Django_Internationalization_Multilingual - Fatal编程技术网

django从右到左的语言与语言_BIDI不起作用

django从右到左的语言与语言_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 = (

我正在用一种语言“波斯语”建立一个多语言网站: 到目前为止,一切都很顺利,但在开始下一行文本时,从右到左的语言“波斯语/波斯语”没有对齐。这意味着,对于从右向左的语言,下一行不会像往常一样在右侧对齐。 翻译工作

设置.py

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