[damned-lies] Add again Esperanto in the language choice menu (Fixes #646132)



commit 1f344bf9c8ae5fa0da0a1547c156a3e47c4d0f26
Author: Claude Paroz <claude 2xlibre net>
Date:   Tue Mar 29 23:20:57 2011 +0200

    Add again Esperanto in the language choice menu (Fixes #646132)
    
    Also display languages in their native representation.

 people/views.py                     |   22 +++++++++++++++-------
 settings.py                         |    5 +++++
 templates/people/person_detail.html |    8 ++------
 3 files changed, 22 insertions(+), 13 deletions(-)
---
diff --git a/people/views.py b/people/views.py
index 783c0a5..2256901 100644
--- a/people/views.py
+++ b/people/views.py
@@ -18,17 +18,22 @@
 # along with Damned Lies; if not, write to the Free Software Foundation, Inc.,
 # 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-from django.core import urlresolvers
-from django.http import HttpResponseRedirect
-from django.shortcuts import render_to_response, get_object_or_404
-from django.utils.translation import ugettext_lazy, ugettext as _
-from django.utils import formats
-from django.template import RequestContext
-from django.db import IntegrityError
+from operator import itemgetter
+
+from django.conf import settings
+from django.conf.locale import LANG_INFO
 from django.contrib.auth.decorators import login_required
 from django.contrib.auth.forms import PasswordChangeForm
 from django.contrib import messages
 from django.contrib.sites.models import Site
+from django.core import urlresolvers
+from django.db import IntegrityError
+from django.http import HttpResponseRedirect
+from django.shortcuts import render_to_response, get_object_or_404
+from django.template import RequestContext
+from django.utils import formats
+from django.utils.translation import ugettext_lazy, ugettext as _
+
 from people.models import Person
 from teams.models import Team, Role
 from people.forms import TeamJoinForm, DetailForm
@@ -41,8 +46,11 @@ def person_detail(request, person_id=None, person_username=None):
         person = get_object_or_404(Person, username=person_username)
 
     states = StateDb.objects.filter(actiondb__person=person).distinct()
+    all_languages = [(lg[0], LANG_INFO.get(lg[0], {'name_local': lg[1]})['name_local']) for lg in settings.LANGUAGES]
+    all_languages.sort(key=itemgetter(1))
     context = {
         'pageSection': "teams",
+        'all_languages': all_languages,
         'person': person,
         'on_own_page': request.user.is_authenticated() and person.username == request.user.username,
         'states': states,
diff --git a/settings.py b/settings.py
index bca530b..fbfe6df 100644
--- a/settings.py
+++ b/settings.py
@@ -1,6 +1,7 @@
 # Django settings for djamnedlies project.
 
 import os
+from django.conf import global_settings
 gettext_noop = lambda s: s
 
 DEBUG = True
@@ -46,6 +47,10 @@ TIME_ZONE = 'Europe/Zurich'
 # Language code for this installation. All choices can be found here:
 # http://www.i18nguy.com/unicode/language-identifiers.html
 LANGUAGE_CODE = 'en-US'
+LANGUAGES = list(global_settings.LANGUAGES) + [
+    # Add here languages with translations for D-L but not for Django
+    ('eo', gettext_noop('Esperanto'))
+]
 
 SITE_ID = 1
 
diff --git a/templates/people/person_detail.html b/templates/people/person_detail.html
index 61ee0ee..ae74243 100644
--- a/templates/people/person_detail.html
+++ b/templates/people/person_detail.html
@@ -25,12 +25,8 @@ $(document).ready(function()
     <form action="/i18n/setlang/" method="post">
       {% trans "Site Language:" %}
       <select name="language">
-      {% for lang in LANGUAGES %}
-        {% if lang.0 == LANGUAGE_CODE %}
-        <option value="{{ lang.0 }}" selected="selected">{% trans lang.1 %}</option>
-        {% else %}
-        <option value="{{ lang.0 }}" >{% trans lang.1 %}</option>
-        {% endif %}
+      {% for lang in all_languages %}
+        <option value="{{ lang.0 }}" {% if lang.0 == LANGUAGE_CODE %}selected="selected"{% endif %}>{{ lang.1 }}</option>
       {% endfor %}
       </select>
       <br/>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]