[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-cvs] [SCM] Savane-cleanup framework branch, master, updated. 4
From: |
Sylvain Beucler |
Subject: |
[Savannah-cvs] [SCM] Savane-cleanup framework branch, master, updated. 49a071857c2e36449643a3683cf6d019a921bce3 |
Date: |
Sat, 24 Jul 2010 18:08:04 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Savane-cleanup framework".
The branch, master has been updated
via 49a071857c2e36449643a3683cf6d019a921bce3 (commit)
from 5d9ff62fdbd9b689267017867704114319699ad7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/savane-cleanup/framework.git/commit/?id=49a071857c2e36449643a3683cf6d019a921bce3
commit 49a071857c2e36449643a3683cf6d019a921bce3
Author: Sylvain Beucler <address@hidden>
Date: Sat Jul 24 20:07:57 2010 +0200
Setup i18n framework
diff --git a/savane/my/urls.py b/savane/my/urls.py
index d078972..1e34866 100644
--- a/savane/my/urls.py
+++ b/savane/my/urls.py
@@ -49,7 +49,7 @@ urlpatterns = decorated_patterns ('', login_required,
url(r'^$', direct_to_template,
{ 'template' : 'my/index.html',
'extra_context' : { 'title' : 'My account', }, },
- name='savane.my.views.index'),
+ name='savane.my.index'),
url('^conf/$', views.sv_conf,
{ 'extra_context' : {'title' : 'Contact info', } }),
url('^conf/resume_skill/$', views.sv_resume_skill,
@@ -57,6 +57,12 @@ urlpatterns = decorated_patterns ('', login_required,
url('^conf/ssh_gpg/$', views.sv_ssh_gpg,
{ 'extra_context' : {'title' : 'SSH & GPG', } }),
url('^conf/ssh_gpg/delete/$', views.sv_ssh_delete),
+ url('^i18n/$', direct_to_template,
+ { 'template' : 'my/i18n.html',
+ 'extra_context' : {'title' : 'Language', } },
+ name='savane.my.language'),
+ # TODO: set_lang only lasts for the user's session
+ url('^i18n/', include('django.conf.urls.i18n')),
url(r'^groups/$', only_mine(object_list),
{ 'queryset' : auth_models.Group.objects.all(),
'extra_context' : { 'title' : "My groups", },
diff --git a/savane/my/views.py b/savane/my/views.py
index 6b2e369..10e1273 100644
--- a/savane/my/views.py
+++ b/savane/my/views.py
@@ -169,6 +169,7 @@ def sv_ssh_delete(request):
else:
return {}
+
class MailForm( forms.Form ):
email = forms.EmailField(required=True)
action = forms.CharField( widget=forms.HiddenInput, required=True,
initial='update_mail' )
diff --git a/settings_default.py b/settings_default.py
index 3690749..b965d2f 100644
--- a/settings_default.py
+++ b/settings_default.py
@@ -32,6 +32,21 @@ TIME_ZONE = 'America/Chicago'
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'
+#
http://docs.djangoproject.com/en/dev/topics/i18n/deployment/#how-django-discovers-language-preference
+ugettext = lambda s: s
+LANGUAGES = (
+ ('ca', ugettext('Catalan')),
+ ('de', ugettext('German')),
+ ('en', ugettext('English')),
+ ('es', ugettext('Spanish')),
+ ('fr', ugettext('French')),
+ ('it', ugettext('Italian')),
+ ('ja', ugettext('Japanese')),
+ ('pt_BR', ugettext('Portuguese (Brazil)')),
+ ('ru', ugettext('Russian')),
+ ('sv', ugettext('Swedish')),
+)
+
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
@@ -61,6 +76,7 @@ TEMPLATE_CONTEXT_PROCESSORS =
global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.locale.LocaleMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
diff --git a/templates/base.html b/templates/base.html
index bace42f..886a609 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="{{LANGUAGE_CODE}}"
xml:lang="{{LANGUAGE_CODE}}">
<head>
{% load i18n %}
<title>
@@ -17,7 +17,7 @@
<li><a href="/"><img
src="{{STATIC_MEDIA_URL}}savane/images/floating.png" alt="Back to homepage"
border="0" width="118" height="100" /></a></li>
{% if user.is_authenticated %}
<li class="menutitle">Connected as {{ user.username}}</li>
- <li class="menuitem"><a href="{% url savane.my.views.index %}">My
account</a></li>
+ <li class="menuitem"><a href="{% url savane.my.index %}">My
account</a></li>
<li class="menuitem"><a href="{% url
django.contrib.auth.views.logout %}">Logout</a></li>
{% else %}
<li class="menutitle">Login status</li>
diff --git a/templates/my/i18n.html b/templates/my/i18n.html
new file mode 100644
index 0000000..6f2f8bc
--- /dev/null
+++ b/templates/my/i18n.html
@@ -0,0 +1,27 @@
+{% extends "base.html" %}
+
+{% comment %}
+Cf.
http://docs.djangoproject.com/en/dev/topics/i18n/internationalization/#the-set-language-redirect-view
+{% endcomment %}
+
+{% block content %}
+
+<form action="{% url django.views.i18n.set_language %}" method="post">
+{% csrf_token %}
+<input name="next" type="hidden" value="{% url savane.my.index %}" />
+<select name="language">
+{% for lang in LANGUAGES %}
+<option value="{{ lang.0 }}">{{ lang.1 }}</option>
+{% endfor %}
+</select>
+<input type="submit" value="Go" />
+</form>
+
+{% endblock %}
+{% comment %}
+Local Variables: **
+mode: django-html **
+tab-width: 4 **
+indent-tabs-mode: nil **
+End: **
+{% endcomment %}
diff --git a/templates/my/index.html b/templates/my/index.html
index 74afc2d..59c1493 100644
--- a/templates/my/index.html
+++ b/templates/my/index.html
@@ -12,6 +12,7 @@
<a href="{% url savane.my.group_list %}">My groups</a><br />
<a href="{% url savane.my.membership_list %}">My memberships</a><br />
<a href="{% url django.contrib.auth.views.password_change %}">Change my
password</a><br />
+ <a href="{% url savane.my.language %}">Set language</a>
({{LANGUAGE_CODE}})<br />
</p>
</div>
diff --git a/templates/svmain/group_list.html b/templates/svmain/group_list.html
index c61391f..7bb310d 100644
--- a/templates/svmain/group_list.html
+++ b/templates/svmain/group_list.html
@@ -1,11 +1,12 @@
{% extends "base.html" %}
+{% load i18n %}
{% block content %}
{% include "svmain/pagination.inc.html" %}
<form action="." method="GET">
- Search: <input type="text" name="q" value="{{q}}" />
+ {% trans "Search" %}: <input type="text" name="q" value="{{q}}" />
</form>
{% if object_list %}
@@ -15,7 +16,7 @@
{% endfor %}
</ul>
{% else %}
- <p>No groups.</p>
+ <p>{% trans "No groups." %}</p>
{% endif %}
{% endblock %}
diff --git a/templates/svmain/pagination.inc.html
b/templates/svmain/pagination.inc.html
index 5d79fba..d9bb094 100644
--- a/templates/svmain/pagination.inc.html
+++ b/templates/svmain/pagination.inc.html
@@ -1,11 +1,13 @@
+{% load i18n %}
+
{% if page_obj %}
<div class="pagination">
<span class="step-links">
{% if paginator.num_pages > 1 %}
{% if not page_obj.has_previous %}
- préc.
+ {% trans "previous" %}
{% else %}
- <a href="?page={{ page_obj.previous_page_number }}">préc.</a>
+ <a href="?page={{ page_obj.previous_page_number }}">{% trans
"previous" %}</a>
{% endif %}
<
{% for number in paginator.page_range %}
@@ -17,16 +19,23 @@
{% endfor %}
>
{% if not page_obj.has_next %}
- suiv.
+ {% trans "next" %}
{% else %}
- <a href="?page={{ page_obj.next_page_number }}">suiv.</a>
+ <a href="?page={{ page_obj.next_page_number }}">{% trans "next"
%}</a>
{% endif %}
<span class="current">
- - Page {{ page_obj.number }} sur {{ paginator.num_pages }}
({{paginator.count}})
+ -
+ {% blocktrans with page_obj.number as number and
paginator.num_pages as num_pages and paginator.count as count %}
+ Page {{ page_obj.number }} on {{ num_pages }} ({{ count }})
+ {% endblocktrans %}
</span>
{% else %}
- ({{paginator.count}} element(s))
+ {% blocktrans count paginator.count as count %}
+ {{count}} element
+ {% plural %}
+ {{count}} elements
+ {% endblocktrans %}
{% endif %}
</span>
</div>
diff --git a/templates/svmain/user_list.html b/templates/svmain/user_list.html
index 1408bf8..92206ce 100644
--- a/templates/svmain/user_list.html
+++ b/templates/svmain/user_list.html
@@ -1,11 +1,12 @@
{% extends "base.html" %}
+{% load i18n %}
{% block content %}
{% include "svmain/pagination.inc.html" %}
<form action="." method="GET">
- Rechercher: <input type="text" name="q" value="{{q}}" />
+ {% trans "Search" %}: <input type="text" name="q" value="{{q}}" />
</form>
{% if object_list %}
@@ -15,7 +16,7 @@
{% endfor %}
</ul>
{% else %}
- <p>No users.</p>
+ <p>{% trans "No users." %}</p>
{% endif %}
{% endblock %}
-----------------------------------------------------------------------
Summary of changes:
savane/my/urls.py | 8 +++++++-
savane/my/views.py | 1 +
settings_default.py | 16 ++++++++++++++++
templates/base.html | 4 ++--
templates/my/i18n.html | 27 +++++++++++++++++++++++++++
templates/my/index.html | 1 +
templates/svmain/group_list.html | 5 +++--
templates/svmain/pagination.inc.html | 21 +++++++++++++++------
templates/svmain/user_list.html | 5 +++--
9 files changed, 75 insertions(+), 13 deletions(-)
create mode 100644 templates/my/i18n.html
hooks/post-receive
--
Savane-cleanup framework
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Savannah-cvs] [SCM] Savane-cleanup framework branch, master, updated. 49a071857c2e36449643a3683cf6d019a921bce3,
Sylvain Beucler <=