Buduję wielojęzyczną stronę z jednym z języków "farsi": Wszystko działało dobrze, ale od prawej do lewej wersji językowej "farsi/perski" nie jest wyrównany w prawo, gdy rozpoczyna się kolejny wiersz tekstu. Oznacza to, że następna linia nie jest wyrównana z prawej jak zwykle dla języków od prawej do lewej. Tłumaczenie pracy.Język Django od prawej do lewej z LANGUAGE_BIDI nie działa
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 %}
w base.html ja również obciążenie:
{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_current_language_bidi as LANGUAGE_BIDI %}
plik Moja django.po dla „Perski/Perska” języka wygląda następująco:
Jak zarządzać tym?
Rozwiązanie: Po zdefiniowaniu nowej klasy css "article_right_aligned_language" z atrybutem "text-align: right;" i modyfikowanie mojego szablonu bazowego w następujący sposób działa teraz!
<div {% if LANGUAGE_BIDI %} class="article_right_aligned_language" {% else %} class="article"> {% endif %}
{% block site_wrapper %}{% endblock %}
</div>
Z pewnością "wyrównywanie tekstu: prawo". –