Django

Code

Ticket #2089: django_bidi.diff

File django_bidi.diff, 2.9 kB (added by meir@mksoft.co.il, 2 years ago)

patch to add LANGUAGE_BIDI context var, update i18n.txt doc and feed rtl enabled stylesheets

  • django/core/context_processors.py

    old new  
    3636        context_extras['LANGUAGE_CODE'] = request.LANGUAGE_CODE 
    3737    else: 
    3838        context_extras['LANGUAGE_CODE'] = settings.LANGUAGE_CODE 
     39     
     40    from django.utils import translation 
     41    context_extras['LANGUAGE_BIDI'] = translation.get_language_bidi() 
     42 
    3943    return context_extras 
    4044 
    4145def request(request): 
  • django/contrib/admin/templates/admin/login.html

    old new  
    11{% extends "admin/base_site.html" %} 
    22{% load i18n %} 
    33 
    4 {% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/login.css{% endblock %} 
     4{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/login{% if LANGUAGE_BIDI %}_rtl{% endif %}.css{% endblock %} 
    55{% block bodyclass %}login{% endblock %} 
    66{% block content_title %}{% endblock %} 
    77{% block breadcrumbs %}{% endblock %} 
  • django/contrib/admin/templates/admin/base.html

    old new  
    22<html xmlns="http://www.w3.org/1999/xhtml" lang="{{ LANGUAGE_CODE }}" xml:lang="{{ LANGUAGE_CODE }}"> 
    33<head> 
    44<title>{% block title %}{% endblock %}</title> 
    5 <link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base.css{% endblock %}" /> 
     5<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base{% if LANGUAGE_BIDI %}_rtl{% endif %}.css{% endblock %}" /> 
    66{% block extrastyle %}{% endblock %} 
    77{% block extrahead %}{% endblock %} 
    88</head> 
  • docs/i18n.txt

    old new  
    230230      language code and the second is the language name (in that language). 
    231231    * ``LANGUAGE_CODE`` is the current user's preferred language, as a string. 
    232232      Example: ``en-us``. (See "How language preference is discovered", below.) 
     233    * ``LANGUAGE_BIDI`` is the current language's direction. If True, it's a 
     234      right-to-left language, e.g: Hebrew, Arabic. If False it's a 
     235      left-to-right language, e.g: English, French, German etc. 
    233236 
     237 
    234238If you don't use the ``RequestContext`` extension, you can get those values with 
    235 two tags:: 
     239three tags:: 
    236240 
    237241    {% get_current_language as LANGUAGE_CODE %} 
    238242    {% get_available_languages as LANGUAGES %} 
     243    {% get_current_language_bidi as LANGUAGE_BIDI %} 
    239244 
    240245These tags also require a ``{% load i18n %}``. 
    241246