【问题标题】:django right-to-left language with LANGUAGE_BIDI does not work带有 LANGUAGE_BIDI 的 django 从右到左的语言不起作用
【发布时间】:2011-06-05 15:09:38
【问题描述】:

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

settings.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_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 %}

在 base.html 我也加载了:

{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_current_language_bidi as LANGUAGE_BIDI %}

我的“波斯语/波斯语”语言的 django.po 文件如下所示:

我该如何管理?

解决方案: 在使用属性“text-align:right; direction:rtl”定义一个新的css类“article_right_aligned_language”并如下修改我的基本模板后,它现在可以工作了!!

      <div {% if LANGUAGE_BIDI %} class="article_right_aligned_language" {% else %} class="article" {% endif %}>
        {% block site_wrapper %}{% endblock %}
      </div>

【问题讨论】:

    标签: django internationalization multilingual


    【解决方案1】:

    文本对齐由 CSS 而不是 Django 处理。在容器元素上设置text-align 属性:

    .container.right-aligned-language {
        text-align: right;
    }
    

    然后,您可以使用模板中的条件语句将 right-aligned-language 类应用到您的容器(或正文标记)。

    【讨论】:

      【解决方案2】:

      现在你应该在 CSS 中使用:

      direction: rtl
      

      http://www.w3schools.com/cssref/pr_text_direction.asp

      【讨论】:

        【解决方案3】:

        请改用这个:

        https://github.com/abbas123456/django-right-to-left

        CSS 用于样式而不是内容。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-12-30
          • 1970-01-01
          • 1970-01-01
          • 2018-11-07
          • 2011-09-19
          • 2015-10-07
          • 2014-10-05
          • 2012-09-11
          相关资源
          最近更新 更多