add translation,
authorymh <ymh.work@gmail.com>
Mon, 17 Jun 2013 14:21:35 +0200
changeset 15 8440c36660e5
parent 14 89870eed3f70
child 16 3eb4ee8e0cda
add translation, improve filter display remove page from new filters
src/core/locale/en/LC_MESSAGES/django.mo
src/core/locale/en/LC_MESSAGES/django.po
src/core/locale/fr/LC_MESSAGES/django.mo
src/core/locale/fr/LC_MESSAGES/django.po
src/core/models/__init__.py
src/core/models/term.py
src/core/templatetags/core_extras.py
src/jocondelab/forms.py
src/jocondelab/locale/en/LC_MESSAGES/django.mo
src/jocondelab/locale/en/LC_MESSAGES/django.po
src/jocondelab/locale/en/LC_MESSAGES/djangojs.mo
src/jocondelab/locale/en/LC_MESSAGES/djangojs.po
src/jocondelab/locale/fr/LC_MESSAGES/django.mo
src/jocondelab/locale/fr/LC_MESSAGES/django.po
src/jocondelab/locale/fr/LC_MESSAGES/djangojs.mo
src/jocondelab/locale/fr/LC_MESSAGES/djangojs.po
src/jocondelab/static/jocondelab/css/style.css
src/jocondelab/static/jocondelab/js/jocondelab.js
src/jocondelab/templates/jocondelab/base.html
src/jocondelab/templates/jocondelab/partial/filter.html
src/jocondelab/templates/jocondelab/term_list.html
src/jocondelab/urls.py
Binary file src/core/locale/en/LC_MESSAGES/django.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/core/locale/en/LC_MESSAGES/django.po	Mon Jun 17 14:21:35 2013 +0200
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-06-17 13:33+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: models/term.py:28
+msgid "null_result"
+msgstr "no link"
+
+#: models/term.py:29
+msgid "redirection"
+msgstr "redirection"
+
+#: models/term.py:30
+msgid "homonyme"
+msgstr "disambiguation"
+
+#: models/term.py:31
+msgid "match"
+msgstr "match"
+
+#: models/term.py:32
+msgid "unsematized"
+msgstr "no semantics"
Binary file src/core/locale/fr/LC_MESSAGES/django.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/core/locale/fr/LC_MESSAGES/django.po	Mon Jun 17 14:21:35 2013 +0200
@@ -0,0 +1,39 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-06-17 13:33+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: models/term.py:28
+msgid "null_result"
+msgstr "pas de lien"
+
+#: models/term.py:29
+msgid "redirection"
+msgstr "redirection"
+
+#: models/term.py:30
+msgid "homonyme"
+msgstr "homonyme"
+
+#: models/term.py:31
+msgid "match"
+msgstr "correspondance"
+
+#: models/term.py:32
+msgid "unsematized"
+msgstr "Non sémantisé"
--- a/src/core/models/__init__.py	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/core/models/__init__.py	Mon Jun 17 14:21:35 2013 +0200
@@ -2,9 +2,10 @@
             'AutrNoticeTerm', 'DomnNoticeTerm', 'EcolNoticeTerm',
             'EpoqNoticeTerm', 'LieuxNoticeTerm', 'PeriNoticeTerm', 
             'ReprNoticeTerm',
-            'TERM_URL_STATUS_CHOICES', 'TERM_URL_STATUS_DICT']
+            'TERM_URL_STATUS_CHOICES', 'TERM_URL_STATUS_CHOICES_TRANS', 'TERM_URL_STATUS_DICT']
 
 from .notice import (Notice, NoticeImage, NoticeTerm, AutrNoticeTerm, 
     DomnNoticeTerm, EcolNoticeTerm, EpoqNoticeTerm, LieuxNoticeTerm, PeriNoticeTerm, 
     ReprNoticeTerm)
-from .term import Term, TermLabel, Thesaurus, TERM_URL_STATUS_CHOICES, TERM_URL_STATUS_DICT
+from .term import (Term, TermLabel, Thesaurus, TERM_URL_STATUS_CHOICES, 
+    TERM_URL_STATUS_CHOICES_TRANS, TERM_URL_STATUS_DICT)
--- a/src/core/models/term.py	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/core/models/term.py	Mon Jun 17 14:21:35 2013 +0200
@@ -5,9 +5,10 @@
 @author: ymh
 '''
 
-from django.db import models
+from .. import settings
 from django.contrib.auth import get_user_model
-from .. import settings 
+from django.db import models
+from django.utils.translation import ugettext as _
 import datetime
 import logging
 
@@ -23,6 +24,14 @@
     (4, "unsematized"),
 )
 
+TERM_URL_STATUS_CHOICES_TRANS = (
+    (0, _("null_result")),
+    (1, _("redirection")),
+    (2, _("homonyme")),
+    (3, _("match")),
+    (4, _("unsematized")),
+)
+
 TERM_URL_STATUS_DICT = {
     "null_result":0,
     "redirection":1,
@@ -59,7 +68,7 @@
     wikipedia_revision_id = models.BigIntegerField(unique=False, blank=True, null=True)
     alternative_wikipedia_url = models.URLField(max_length=2048, blank=True, null=True, db_index=True)
     alternative_wikipedia_pageid = models.BigIntegerField(unique=False, blank=True, null=True, db_index=True)
-    url_status = models.IntegerField(choices=TERM_URL_STATUS_CHOICES, blank=True, null=True, default=None, db_index=True)
+    url_status = models.IntegerField(choices=TERM_URL_STATUS_CHOICES_TRANS, blank=True, null=True, default=None, db_index=True)
     dbpedia_uri = models.URLField(max_length=2048, blank=True, null=True, db_index=True)
     validation_date = models.DateTimeField(null=True, blank=True, serialize=False)
     validated = models.BooleanField(default=False, db_index=True)
@@ -75,7 +84,7 @@
 
     @property
     def url_status_text(self):
-        return TERM_URL_STATUS_CHOICES[self.url_status][1]
+        return TERM_URL_STATUS_CHOICES_TRANS[self.url_status][1]
     
     def validate(self, user):
         if not self.validated:
--- a/src/core/templatetags/core_extras.py	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/core/templatetags/core_extras.py	Mon Jun 17 14:21:35 2013 +0200
@@ -51,12 +51,14 @@
 
 class HiddenParamFilterForm(template.Node):
     
-    def __init__(self, form_var):        
+    def __init__(self, form_var, *excluded_fields):
         self.form = template.Variable(form_var)
+        self.excluded_fields = [template.Variable(f) for f in excluded_fields]
         
     def render(self, context):
         form = self.form.resolve(context)
-        term_filter_hidden = dict([(k,v) for k,v in context['request'].GET.items() if k not in form.fields and v is not None])
+        excluded_fields = [f.resolve(context) for f in self.excluded_fields]
+        term_filter_hidden = dict([(k,v) for k,v in context['request'].GET.items() if k not in form.fields and v is not None and k not in excluded_fields])
         form_hidden_inputs = ""
         for name, value in term_filter_hidden.items():
             form_hidden_inputs += "<input type=\"hidden\" name=\"%s\" value=\"%s\"/>" % (name, value.replace("\"", "\\\""))
@@ -65,6 +67,6 @@
     
 @register.tag()
 @easy_tag
-def hidden_param_filter(_tag_name, form_var):
-    return HiddenParamFilterForm(form_var)
+def hidden_param_filter(_tag_name, form_var, *excluded_fields):
+    return HiddenParamFilterForm(form_var, *excluded_fields)
 
--- a/src/jocondelab/forms.py	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/jocondelab/forms.py	Mon Jun 17 14:21:35 2013 +0200
@@ -4,9 +4,9 @@
 
 @author: ymh
 '''
-from core.models import Thesaurus, Term, TERM_URL_STATUS_CHOICES
+from core.models import Thesaurus, Term, TERM_URL_STATUS_CHOICES_TRANS
 from django.forms import Form, fields, ModelChoiceField
-from django.utils.translation import ugettext_lazy as tr
+from django.utils.translation import ugettext_lazy as _
 
 
 class ValidateTermForm(Form):
@@ -27,12 +27,12 @@
         return bool(int(val))
          
 class TermFilterForm(Form):
-    thesaurus = ModelChoiceField(required=False, queryset=Thesaurus.objects.all())
-    label = fields.CharField(required=False)
-    link_status = fields.TypedChoiceField(required=False, empty_value=-1, coerce=int, choices=tuple([(-1,'---------')]+[(v, tr(l)) for v,l in TERM_URL_STATUS_CHOICES]))
-    validated = fields.TypedChoiceField(required=False, empty_value=None, coerce=validated_to_bool, choices=(("", "---"),("1", tr("yes")), ("0", tr("no"))))
-    order_by = fields.ChoiceField(required=False, choices=(('normalized_label','label'),('uri','uri')))
-    order_dir = fields.ChoiceField(required=False, choices=(('asc','asc'), ('desc','desc')))
+    thesaurus = ModelChoiceField(label=_("thesaurus"), required=False, queryset=Thesaurus.objects.all())
+    label = fields.CharField(label=_("label"), required=False)
+    link_status = fields.TypedChoiceField(label=_("link_status"), required=False, empty_value=-1, coerce=int, choices=tuple([(-1,'---------')]+[(v, l) for v,l in TERM_URL_STATUS_CHOICES_TRANS]))
+    validated = fields.TypedChoiceField(label=_("validated"), required=False, empty_value=None, coerce=validated_to_bool, choices=(("", "---"),("1", _("yes")), ("0", _("no"))))
+    order_by = fields.ChoiceField(label=_("order_by"), required=False, choices=(('normalized_label',_('label')),('uri',_('uri'))))
+    order_dir = fields.ChoiceField(label=_("order_dir"), required=False, choices=(('asc',_('asc')), ('desc',_('desc'))))
     
     def get_filter_qs(self, base_qs=None):
         qs = base_qs
Binary file src/jocondelab/locale/en/LC_MESSAGES/django.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jocondelab/locale/en/LC_MESSAGES/django.po	Mon Jun 17 14:21:35 2013 +0200
@@ -0,0 +1,107 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-06-17 13:52+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: forms.py:30
+msgid "thesaurus"
+msgstr "thesaurus"
+
+#: forms.py:31 forms.py:34 templates/jocondelab/term_edit.html:70
+msgid "label"
+msgstr "label"
+
+#: forms.py:32
+msgid "link_status"
+msgstr "link status"
+
+#: forms.py:33
+msgid "validated"
+msgstr "valid."
+
+#: forms.py:33
+msgid "yes"
+msgstr "yes"
+
+#: forms.py:33
+msgid "no"
+msgstr "no"
+
+#: forms.py:34
+msgid "order_by"
+msgstr "order by"
+
+#: forms.py:34 templates/jocondelab/term_edit.html:78
+msgid "uri"
+msgstr "uri"
+
+#: forms.py:35
+msgid "order_dir"
+msgstr "sort order"
+
+#: forms.py:35
+msgid "asc"
+msgstr "asc."
+
+#: forms.py:35
+msgid "desc"
+msgstr "desc."
+
+#: settings.py:41
+msgid "French"
+msgstr "French"
+
+#: settings.py:42
+msgid "English"
+msgstr "Anglais"
+
+#: templates/jocondelab/term_edit.html:74
+msgid "id"
+msgstr "id"
+
+#: templates/jocondelab/term_edit.html:82
+msgid "info wikipedia"
+msgstr "Wikipedia info"
+
+#: templates/jocondelab/term_edit.html:108
+msgid "Rech. joconde"
+msgstr "Joconde search"
+
+#: templates/jocondelab/term_edit.html:114
+msgid "Edition wk"
+msgstr "WK Edition"
+
+#: templates/jocondelab/partial/filter.html:8
+msgid "Search"
+msgstr "Search"
+
+#: templates/jocondelab/partial/pagination.html:6
+#: templates/jocondelab/partial/pagination.html:8
+msgid "previous"
+msgstr "previous"
+
+#: templates/jocondelab/partial/pagination.html:24
+#: templates/jocondelab/partial/pagination.html:26
+msgid "next"
+msgstr "next"
+
+#: templates/registration/login.html:6
+msgid "Sorry, that's not a valid username or password."
+msgstr "Sorry, that's not a valid username or password."
+
+#: templates/registration/login.html:19
+msgid "login"
+msgstr "login"
Binary file src/jocondelab/locale/en/LC_MESSAGES/djangojs.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jocondelab/locale/en/LC_MESSAGES/djangojs.po	Mon Jun 17 14:21:35 2013 +0200
@@ -0,0 +1,26 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-06-17 12:58+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: static/jocondelab/js/jocondelab.js:6
+#, c-format
+msgid "Confirmez-vous la suppression du lien Wikipédia pour le terme \"%s\" ?"
+msgstr "Do you confirm the deletion of the wikipedia link for the term \"%s\""
+
+#: static/jocondelab/js/jocondelab.js:66
+msgid "Confirmez-vous la validation de ce terme ?"
+msgstr "Do you confirm this term validation"
Binary file src/jocondelab/locale/fr/LC_MESSAGES/django.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jocondelab/locale/fr/LC_MESSAGES/django.po	Mon Jun 17 14:21:35 2013 +0200
@@ -0,0 +1,110 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-06-17 13:52+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: forms.py:30
+msgid "thesaurus"
+msgstr "thésaurus"
+
+#: forms.py:31 forms.py:34 templates/jocondelab/term_edit.html:70
+msgid "label"
+msgstr "label"
+
+#: forms.py:32
+msgid "link_status"
+msgstr "statut lien"
+
+#: forms.py:33
+msgid "validated"
+msgstr "validé"
+
+#: forms.py:33
+msgid "yes"
+msgstr "oui"
+
+#: forms.py:33
+msgid "no"
+msgstr "non"
+
+#: forms.py:34
+msgid "order_by"
+msgstr "ord. par"
+
+#: forms.py:34 templates/jocondelab/term_edit.html:78
+msgid "uri"
+msgstr "uri"
+
+#: forms.py:35
+msgid "order_dir"
+msgstr "ordre tri"
+
+#: forms.py:35
+msgid "asc"
+msgstr "asc."
+
+#: forms.py:35
+msgid "desc"
+msgstr "desc."
+
+#: settings.py:41
+msgid "French"
+msgstr "Français"
+
+#: settings.py:42
+msgid "English"
+msgstr "Anglais"
+
+#: templates/jocondelab/term_edit.html:74
+msgid "id"
+msgstr "id"
+
+#: templates/jocondelab/term_edit.html:82
+msgid "info wikipedia"
+msgstr "info wikipedia"
+
+#: templates/jocondelab/term_edit.html:108
+msgid "Rech. joconde"
+msgstr "Rech. Joconde"
+
+#: templates/jocondelab/term_edit.html:114
+msgid "Edition wk"
+msgstr "Edition wk"
+
+#: templates/jocondelab/partial/filter.html:8
+msgid "Search"
+msgstr "Rech."
+
+#: templates/jocondelab/partial/pagination.html:6
+#: templates/jocondelab/partial/pagination.html:8
+msgid "previous"
+msgstr "préc."
+
+#: templates/jocondelab/partial/pagination.html:24
+#: templates/jocondelab/partial/pagination.html:26
+msgid "next"
+msgstr "suiv."
+
+#: templates/registration/login.html:6
+msgid "Sorry, that's not a valid username or password."
+msgstr ""
+"Désolé, le nom d'utilisateur ou bien le mot de passe ne sont pas valide."
+
+#: templates/registration/login.html:19
+msgid "login"
+msgstr "connex."
Binary file src/jocondelab/locale/fr/LC_MESSAGES/djangojs.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jocondelab/locale/fr/LC_MESSAGES/djangojs.po	Mon Jun 17 14:21:35 2013 +0200
@@ -0,0 +1,28 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-06-17 12:58+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: static/jocondelab/js/jocondelab.js:6
+#, c-format
+msgid "Confirmez-vous le suppression du lien Wikipédia pour le tag \"%s\" ?"
+msgstr "Confirmez-vous le suppression du lien Wikipédia pour le tag \"%s\" ?"
+
+#: static/jocondelab/js/jocondelab.js:66
+msgid "Confirmez-vous la validation de ce terme ?"
+msgstr "Confirmez-vous la validation de ce terme ?"
--- a/src/jocondelab/static/jocondelab/css/style.css	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/jocondelab/static/jocondelab/css/style.css	Mon Jun 17 14:21:35 2013 +0200
@@ -442,11 +442,18 @@
 
 #term-filter-field-list li
 {
-    display: inline;
+    display: inline-block;
     list-style-type: none;
-    padding-right: 1px;
+    padding-right: 5px;
+    font-weight: bold;
+    color: gray;
 }
 
+#term-filter-field-list label {
+    display: block;
+}
+
+
 
 #wrapper {
     width:1024px;
@@ -483,4 +490,4 @@
 
 #info-wk > td > span {
     margin-right:10px;
-}
\ No newline at end of file
+}
--- a/src/jocondelab/static/jocondelab/js/jocondelab.js	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/jocondelab/static/jocondelab/js/jocondelab.js	Mon Jun 17 14:21:35 2013 +0200
@@ -3,7 +3,8 @@
 {
     // Tag simple operations : activate/unactivate wp link, remove wp link
     $(".remove_wp_link").click(function(e){
-        if(confirm("Confirmez-vous le suppression du lien Wikipédia pour le tag \"" + $(this).attr('alt') + "\" ?")){
+        msg = interpolate(gettext("Confirmez-vous la suppression du lien Wikipédia pour le terme \"%s\" ?"),[$(this).attr('alt')]);
+        if(confirm(msg)){
             delete_link(this);
         }
     });
@@ -62,10 +63,10 @@
         console.log(e);
         val = $("input[type='radio'][name='gr_validated']:checked").val();
         if(val === 'True') {
-            msg = "Confirmez-vous la validation de ce terme ?";            
+            msg = gettext("Confirmez-vous la validation de ce terme ?");            
         }
         else {
-            msg = "Confirmez-vous l'invalidation de cette fiche ?"
+            msg = gettext("Confirmez-vous l'invalidation de cette fiche ?");
         }
         if(confirm(msg)) {
             $.post(validate_term_url,{term_id: term_id, validation_val: val, csrfmiddlewaretoken: global_csrf_token},function(data) {
--- a/src/jocondelab/templates/jocondelab/base.html	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/jocondelab/templates/jocondelab/base.html	Mon Jun 17 14:21:35 2013 +0200
@@ -10,6 +10,7 @@
     <link rel="SHORTCUT ICON" href="{{STATIC_URL}}jocondelab/img/favicon.ico" />
     <title>{% block title %}JOCONDELAB-BO{% endblock %}</title>
     {% block js_import %}
+    <script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
     <script type="text/javascript" src="{{STATIC_URL}}jocondelab/js/jocondelab.js"></script>
     <script type="text/javascript" src="{{STATIC_URL}}jocondelab/lib/jquery.min.js"></script>
     {% endblock %}
@@ -63,6 +64,7 @@
     {% block footer %}
     <div class="footer_img">
     <a href="http://www.iri.centrepompidou.fr" target="_blank"><img src="{{STATIC_URL}}jocondelab/img/logo_IRI_footer.png" alt="Logo IRI" /></a>
+    <a href="http://www.culturecommunication.gouv.fr" target="_blank"><img src="{{STATIC_URL}}jocondelab/img/logo_mcc_footer.png" alt="Logo Ministère de la Culture et de la Communication" /></a>
     </div>
     <div style="float: right; text-align: right;" class="small" id="copyright_version">
         <div>©2013 <a style="text-decoration: none; color: #4F5155;" href="http://www.iri.centrepompidou.fr" target="_blank">IRI</a></div>
--- a/src/jocondelab/templates/jocondelab/partial/filter.html	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/jocondelab/templates/jocondelab/partial/filter.html	Mon Jun 17 14:21:35 2013 +0200
@@ -2,14 +2,9 @@
 {% load core_extras %}
 <div id="term-filter-container">
 <form id="term-filter-form" {% if term_filter_action %}action="{{term_filter_action}}"{% endif %}>
-{% hidden_param_filter filter_form %}
+{% hidden_param_filter filter_form 'page' %}
 <ul id='term-filter-field-list'>
-<li id="filter-thesaurus">{{ filter_form.thesaurus }}</li>
-<li id="filter-label">{{ filter_form.label }}</li>
-<li id="filter-link-status">{{ filter_form.link_status }}</li>
-<li id="filter-validated">{{ filter_form.validated }}</li>
-<li id="filter-order-by">{{ filter_form.order_by }}</li>
-<li id="filter-order-dir">{{ filter_form.order_dir }}</li>
+{{ filter_form.as_ul }}
 <li><input type="submit" value="{% trans 'Search' %}" /></li>
 </ul>
 </form>
--- a/src/jocondelab/templates/jocondelab/term_list.html	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/jocondelab/templates/jocondelab/term_list.html	Mon Jun 17 14:21:35 2013 +0200
@@ -1,4 +1,5 @@
 {% extends "jocondelab/base.html" %}
+{% load core_extras %}
 
     {% block content %}
     <div id="term-filter-top-container">{% include "jocondelab/partial/filter.html" %}</div>
@@ -11,7 +12,7 @@
         <tbody>
         {% for term in object_list %}
         <tr class="{% cycle 'hdabooddline' 'hdaboevenline' %}">
-            <td class="{{term.url_status_text}} term-list-label"><a href="{% url 'term' term_id=term.id %}">{{ term.label }}</a></td>
+            <td class="{{term.url_status_text}} term-list-label"><a href="{% url 'term' term_id=term.id %}{% append_to_param %}">{{ term.label }}</a></td>
             <td class="text_centered">{{ term.thesaurus.label }}</td>            
             <td class="text_centered">
                 {% if term.wikipedia_url and term.wikipedia_url != ""  %}
--- a/src/jocondelab/urls.py	Mon Jun 17 06:48:38 2013 +0200
+++ b/src/jocondelab/urls.py	Mon Jun 17 14:21:35 2013 +0200
@@ -5,12 +5,17 @@
 from django.contrib.auth import urls as auth_url
 from jocondelab.views import TermListTableView
 
+js_info_dict = {
+    'packages': ('core', 'jocondelab'),
+}
+
 admin.autodiscover()
 
 urlpatterns = patterns('',    
     url(r'^auth/', include(auth_url)),    
     url(r'^logout/$', 'django.contrib.auth.views.logout_then_login', name='joconde_logout'),
     url(r'^admin/', include(admin.site.urls)),
+    url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
     url(r'^$', login_required(TermListView.as_view()), name='home'),
     url(r'^bo/term/list/table$', login_required(TermListTableView.as_view()), name='term_list_table'),
     url(r'^bo/term/(?P<term_id>\d+)/$', login_required(TermEditView.as_view()), name='term'),