summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Bauer <gb@hugo.westfalen.de>2006-06-06 15:22:53 +0000
committerGeorg Bauer <gb@hugo.westfalen.de>2006-06-06 15:22:53 +0000
commit7e88ec527107bd2c9023d48bcf177636eebc7e7a (patch)
treebd653222327b8923fe6c25e1c42973eb03aa6d4c
parent05b1a70daba43667a87c23d236bb83691da0cbbf (diff)
fixed #2089: added language bidirectional support and updated the admin to use it. thanks meir@mksoft!
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3091 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/admin/media/css/base_rtl.css5
-rw-r--r--django/contrib/admin/media/css/login_rtl.css7
-rw-r--r--django/contrib/admin/templates/admin/base.html2
-rw-r--r--django/contrib/admin/templates/admin/login.html2
-rw-r--r--django/core/context_processors.py4
-rw-r--r--docs/i18n.txt7
6 files changed, 24 insertions, 3 deletions
diff --git a/django/contrib/admin/media/css/base_rtl.css b/django/contrib/admin/media/css/base_rtl.css
new file mode 100644
index 0000000000..0227c36ad9
--- /dev/null
+++ b/django/contrib/admin/media/css/base_rtl.css
@@ -0,0 +1,5 @@
+@import url('base.css');
+
+body {
+ direction: rtl;
+}
diff --git a/django/contrib/admin/media/css/login_rtl.css b/django/contrib/admin/media/css/login_rtl.css
new file mode 100644
index 0000000000..f8ac9d4603
--- /dev/null
+++ b/django/contrib/admin/media/css/login_rtl.css
@@ -0,0 +1,7 @@
+@import url('login.css');
+@import url('base_rtl.css');
+@import url('layout_rtl.css');
+
+.login .form-row { float:right; }
+.login .form-row label { float:right; padding-left:0.5em; padding-right:0; text-align:left;}
+.login .submit-row { clear:both; padding:1em 9.4em 0 0; }
diff --git a/django/contrib/admin/templates/admin/base.html b/django/contrib/admin/templates/admin/base.html
index a8c1c9c101..0eec524165 100644
--- a/django/contrib/admin/templates/admin/base.html
+++ b/django/contrib/admin/templates/admin/base.html
@@ -2,7 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="{{ LANGUAGE_CODE }}" xml:lang="{{ LANGUAGE_CODE }}">
<head>
<title>{% block title %}{% endblock %}</title>
-<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base.css{% endblock %}" />
+<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base{% if LANGUAGE_BIDI %}_rtl{% endif %}.css{% endblock %}" />
{% block extrastyle %}{% endblock %}
{% block extrahead %}{% endblock %}
</head>
diff --git a/django/contrib/admin/templates/admin/login.html b/django/contrib/admin/templates/admin/login.html
index 5f338f703e..dd39e95f11 100644
--- a/django/contrib/admin/templates/admin/login.html
+++ b/django/contrib/admin/templates/admin/login.html
@@ -1,7 +1,7 @@
{% extends "admin/base_site.html" %}
{% load i18n %}
-{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/login.css{% endblock %}
+{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/login{% if LANGUAGE_BIDI %}_rtl{% endif %}.css{% endblock %}
{% block bodyclass %}login{% endblock %}
{% block content_title %}{% endblock %}
{% block breadcrumbs %}{% endblock %}
diff --git a/django/core/context_processors.py b/django/core/context_processors.py
index 1ab0768776..cb08b12e5b 100644
--- a/django/core/context_processors.py
+++ b/django/core/context_processors.py
@@ -36,6 +36,10 @@ def i18n(request):
context_extras['LANGUAGE_CODE'] = request.LANGUAGE_CODE
else:
context_extras['LANGUAGE_CODE'] = settings.LANGUAGE_CODE
+
+ from django.utils import translation
+ context_extras['LANGUAGE_BIDI'] = translation.get_language_bidi()
+
return context_extras
def request(request):
diff --git a/docs/i18n.txt b/docs/i18n.txt
index e6660f939d..cd24ba0f93 100644
--- a/docs/i18n.txt
+++ b/docs/i18n.txt
@@ -230,12 +230,17 @@ Each ``RequestContext`` has access to two translation-specific variables:
language code and the second is the language name (in that language).
* ``LANGUAGE_CODE`` is the current user's preferred language, as a string.
Example: ``en-us``. (See "How language preference is discovered", below.)
+ * ``LANGUAGE_BIDI`` is the current language's direction. If True, it's a
+ right-to-left language, e.g: Hebrew, Arabic. If False it's a
+ left-to-right language, e.g: English, French, German etc.
+
If you don't use the ``RequestContext`` extension, you can get those values with
-two tags::
+three tags::
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
+ {% get_current_language_bidi as LANGUAGE_BIDI %}
These tags also require a ``{% load i18n %}``.