Add french translations + small bugfixes
authorverrierj
Thu, 19 Jan 2012 16:46:06 +0100
changeset 424 a2f72b31811b
parent 421 c464acb185d6
child 425 2d18ba523343
Add french translations + small bugfixes
src/ldt/ldt/api/ldt/handlers.py
src/ldt/ldt/ldt_utils/models.py
src/ldt/ldt/ldt_utils/segmentserializer.py
src/ldt/ldt/ldt_utils/stat.py
src/ldt/ldt/ldt_utils/templates/front/front_all_contents.html
src/ldt/ldt/ldt_utils/templates/front/front_base.html
src/ldt/ldt/ldt_utils/templates/front/front_group.html
src/ldt/ldt/ldt_utils/templates/front/front_home.html
src/ldt/ldt/ldt_utils/templates/front/front_search_results.html
src/ldt/ldt/ldt_utils/utils.py
src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo
src/ldt/ldt/locale/fr/LC_MESSAGES/django.po
--- a/src/ldt/ldt/api/ldt/handlers.py	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/api/ldt/handlers.py	Thu Jan 19 16:46:06 2012 +0100
@@ -4,7 +4,7 @@
 from piston.utils import rc, require_extended
 from ldt.ldt_utils.utils import LdtAnnotation
 from ldt.ldt_utils.stat import add_annotation_to_stat
-from ldt.security.utils import protect_instance, unprotect_instance
+from ldt.security import protect_models, unprotect_models
 from ldt.ldt_utils.segmentserializer import SegmentSerializer
 import logging #@UnresolvedImport
 
@@ -157,7 +157,8 @@
         
             adder = LdtAnnotation(project)
             logging.debug("request json " + repr(request.data))
-            unprotect_instance(project) # allows anonymous user to save project
+            
+            unprotect_models() # Allows anonymous user to modify models in this request only 
 
             meta = request.data['meta']
             author = meta['creator']
@@ -169,14 +170,12 @@
                 begin = str(a['begin'])
                 type_id, new_id = adder.add(a['media'], a['type'], a['type_title'], a['content']['data'], '', a['tags'], begin, dur, author, date)
                 if not new_id:
-                    protect_instance(project)
+                    protect_models()
                     return rc.BAD_REQUEST
                 
                                 
                 content = project.contents.get(iri_id=a['media'])
-                unprotect_instance(content)
                 add_annotation_to_stat(content, project, a['begin'], a['end'])
-                protect_instance(content)
                 
                 # We update the ids
                 a['type'] = type_id
@@ -186,7 +185,7 @@
             if len(new_annotations)>0 :
                 adder.save()
             
-            protect_instance(project)
+            protect_models()
             
             return request.data
             
@@ -204,9 +203,9 @@
             
             project.ldt = ldt_str
             
-            unprotect_instance(project)
+            unprotect_models()
             project.save()
-            protect_instance(project)
+            protect_models()
         
             return rc.ALL_OK
         
--- a/src/ldt/ldt/ldt_utils/models.py	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/models.py	Thu Jan 19 16:46:06 2012 +0100
@@ -219,7 +219,7 @@
             if not self.nb_annotation:
                 self.nb_annotation = 0
             if not self.stat_annotation:
-                self.stat_annotation = '0,0'     
+                self.stat_annotation = ('0,' * settings.DIVISIONS_FOR_STAT_ANNOTATION)[:-1]     
 
         super(Content, self).save(*args, **kwargs)
         
--- a/src/ldt/ldt/ldt_utils/segmentserializer.py	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/segmentserializer.py	Thu Jan 19 16:46:06 2012 +0100
@@ -49,6 +49,16 @@
                 "annotation_types": [ ],
         }
         
+        stat = {
+                "id": "stat",
+                "contents": [
+                    self.content.iri_id
+                ],
+                "meta": {
+                    "stat": self.content.stat_annotation
+                }
+        }
+        
         self.annotation_types = []
 
         annotation_types = []        
@@ -69,7 +79,7 @@
                 })
             
         
-        self.views = [view]
+        self.views = [view, stat]
         
     
     def __parse_content(self):
--- a/src/ldt/ldt/ldt_utils/stat.py	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/stat.py	Thu Jan 19 16:46:06 2012 +0100
@@ -1,5 +1,5 @@
 from django.conf import settings
-from ldt.ldt_utils.models import AnnotationStat, Project, Segment
+from ldt.ldt_utils.models import AnnotationStat, Project
 from django.db.models.signals import pre_delete
 import lxml.etree
 import datetime
@@ -19,7 +19,7 @@
     for content_node in doc.xpath('/iri/annotations/content'):
         content_name = content_node.get('id')
         content = filter_list(contents, 'iri_id', content_name)
-        print content_name
+
         # if the content referenced in the xml belongs to the
         # fields contents of the project
         if len(content) != 0:
@@ -35,6 +35,10 @@
             for ann in content_node.xpath('ensemble/decoupage/elements/element'):
                 begin = int(ann.get('begin'))
                 end = int(ann.get('dur')) + begin
+                
+                text = ann.xpath('abstract')[0].text
+                if is_polemic(text):
+                    pass
                         
                 buckets = find_buckets(buckets, limits, begin, end)
                 nb_annotation += 1        
@@ -80,7 +84,25 @@
             buckets[i] += 1
             
     return buckets
-        
+
+def is_polemic(text):
+    if text:
+        polemic_tags = ['++', '--', '==', '??']
+        for tag in polemic_tags:
+            if tag in text:
+                return True
+    return False
+    
+    
+    
+def filter_list(list, criteria, value):
+    new_list = []
+    for l in list:
+        if getattr(l, criteria) == value:
+            new_list.append(l)
+    
+    return new_list
+       
         
 def delete_stat_project(sender, instance, **kwargs):
     
@@ -149,10 +171,3 @@
     contribution_project.save()
     
 
-def filter_list(list, criteria, value):
-    new_list = []
-    for l in list:
-        if getattr(l, criteria) == value:
-            new_list.append(l)
-    
-    return new_list
\ No newline at end of file
--- a/src/ldt/ldt/ldt_utils/templates/front/front_all_contents.html	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_all_contents.html	Thu Jan 19 16:46:06 2012 +0100
@@ -71,9 +71,9 @@
     </li>
     {% for content in content_list %}
     <li class="li_media">
-        <a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}">{% thumbnail content.image "294x165" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}">{% endthumbnail %}
+        <a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}">{% thumbnail content.image "294x165" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" alt="{% trans 'open this media' %}" title="{% trans 'open this media' %}">{% endthumbnail %}
         <span class="graph_annotation"></span></a>
-        <div class="bulle_annot">{{ content.nb_annotation }}</div>
+        <div class="bulle_annot" title="{% blocktrans with nb=content.nb_annotation%}{{nb}} annotations on this media{% endblocktrans %}">{{ content.nb_annotation }}</div>
         <p><a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}"><b>{% if content.title|length > 69 %}{{content.title|slice:":69"}}...{% else %}{{content.title}}{% endif %}</b></a></p>
         <p>{% trans 'by' %} IRI | {{content.duration|str_duration:"h"}}</p>
     </li>
--- a/src/ldt/ldt/ldt_utils/templates/front/front_base.html	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_base.html	Thu Jan 19 16:46:06 2012 +0100
@@ -35,14 +35,14 @@
         <li id="li_annotation">
             <div class="fl">
                 <!-- a href="#"><img src="{{LDT_MEDIA_PREFIX}}img/annot_icon.png" id="annot_icon" /></a -->
-                <a href="http://www.iri.centrepompidou.fr" target="_blank">IRI</a>
+                <a href="http://www.iri.centrepompidou.fr" target="_blank" title="{% trans 'link IRI' %}">IRI</a>
             </div>
             <div class="fl">
                 <!-- a href="{% url root-view %}">{% trans 'Annotate' %}</a -->
             </div>
         </li>
         <li id="li_connexion">
-            <a href="#">Connexion</a>
+            <a href="#" title="{% trans 'connection' %}">{% trans "connection" %}</a>
         </li>
     </ul>
 {% block body %}
@@ -50,10 +50,10 @@
 
 <!-- FOOTER COMMUN -->
     <ul id="footer">
-        <li>V.00.00</li>
+        <li>{% blocktrans %}{{WEB_VERSION}} | {{ VERSION }}{% endblocktrans %}</li>
         <li>©2011 IRI</li>
         <li>
-            <a target="_blank" href="http://www.iri.centrepompidou.fr">À propos</a>
+            <a target="_blank" href="http://www.iri.centrepompidou.fr" title="{% trans 'link IRI'%}">{% trans "about" %}</a>
         </li>
     </ul>
     <div class="clear"></div>
--- a/src/ldt/ldt/ldt_utils/templates/front/front_group.html	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_group.html	Thu Jan 19 16:46:06 2012 +0100
@@ -19,9 +19,9 @@
     </li>
     {% for content in content_list %}
     <li class="li_media">
-        <a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}">{% thumbnail content.image "134x75" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}">{% endthumbnail %}</a>
-        <div class="bulle_annot">{{content.nb_annotation}}</div>
-        <p><a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}"><b>{% if content.title|length > 69 %}{{content.title|slice:":69"}}...{% else %}{{content.title}}{% endif %}</b></a></p>
+        <a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}">{% thumbnail content.image "134x75" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" alt="{% trans 'open this media' %}" title="{% trans 'open this media' %}">{% endthumbnail %}</a>
+        <div class="bulle_annot" title="{% blocktrans with nb=content.nb_annotation%}{{nb}} annotations on this media{% endblocktrans %}">{{content.nb_annotation}}</div>
+        <p><a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}" title="{% trans 'open this media' %}"><b>{% if content.title|length > 69 %}{{content.title|slice:":69"}}...{% else %}{{content.title}}{% endif %}</b></a></p>
         <p class="font_11">{% trans 'by' %} IRI | {{content.duration|str_duration:"h"}}</p>
     </li>
     {% endfor %}
@@ -36,7 +36,7 @@
 	<p class="bigmargin">
 	   {{group.profile.description|safe}}
 	</p>
-	{% thumbnail group.profile.image "54x40" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" alt="{{content.title}}">{% endthumbnail %}
+	{% thumbnail group.profile.image "54x40" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" alt="{{content.title}}" title="{{group.name}}" alt="{{group.name}}">{% endthumbnail %}
 	<p class="clear">&nbsp;</p>
   <!-- MEMBERS -->      
 	<div class="li_h2">
@@ -45,7 +45,7 @@
 	<ul class="floatlist" id="membres_groupes">
 	    {% for user in users %}
 	    <li class="li_membre_groupe">
-	      {% thumbnail user.get_profile.image "36x36" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}">{% endthumbnail %}
+	      {% thumbnail user.get_profile.image "36x36" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" title="{{user.username}}" alt="{{user.username}}">{% endthumbnail %}
 	      <p><b>{{user.username}}</b></p>
 	      <p class="font_11">{% trans 'active since' %} {{user.date_joined|date:"Y/m/d"}}</p>
 	    </li>
--- a/src/ldt/ldt/ldt_utils/templates/front/front_home.html	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_home.html	Thu Jan 19 16:46:06 2012 +0100
@@ -4,7 +4,7 @@
 {% load front_tags %}
 
 
-{% block title %}Lignes de temps : Home{% endblock %}
+{% block title %}{% trans "front.home" %}{% endblock %}
 
 {% block css_import %}
 {{block.super}}
@@ -20,15 +20,15 @@
       <ul class="title_ul">
         <li><h2>{% trans 'Last annotated medias' %}</h2></li>
 	    <li class="li_right">
-	        <a class="blue" href="{% url ldt.ldt_utils.views.front.all_contents %}"><img src="{{LDT_MEDIA_PREFIX}}img/little_plus.png" alt="" />&nbsp;{% trans 'All medias' %}</a>
+	        <a class="blue" href="{% url ldt.ldt_utils.views.front.all_contents %}" title="{% trans 'view all medias' %}"><img src="{{LDT_MEDIA_PREFIX}}img/little_plus.png" alt="{% trans 'view all medias' %}" />&nbsp;{% trans 'All medias' %}</a>
 	    </li>
       </ul>
     </li>
     {% for content in last_contents %}
     <li class="li_media">
-        <a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}">{% thumbnail content.image "294x165" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}">{% endthumbnail %}</a>
-        <div class="bulle_annot">{{ content.nb_annotation }}</div>
-        <p><a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}"><b>{{content.title}}</b></a></p>
+        <a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}">{% thumbnail content.image "294x165" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" alt="{% trans 'open this media' %}" title="{% trans 'open this media' %}">{% endthumbnail %}</a>
+        <div class="bulle_annot" title="{% blocktrans with nb=content.nb_annotation%}{{nb}} annotations on this media{% endblocktrans %}">{{ content.nb_annotation }}</div>
+        <p><a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}" title="{% trans 'open this media' %}"><b>{{content.title}}</b></a></p>
         <p>{% trans 'by' %} IRI | {{content.duration|str_duration:"h"}}</p>
     </li>
     {% endfor %}
@@ -39,15 +39,15 @@
       <ul class="title_ul">
         <li><h2>{% trans 'Most annotated medias' %}</h2></li>
         <li class="li_right">
-            <a class="blue" href="{% url ldt.ldt_utils.views.front.all_contents %}"><img src="{{LDT_MEDIA_PREFIX}}img/little_plus.png" alt="" />&nbsp;{% trans 'All medias' %}</a>
+            <a class="blue" href="{% url ldt.ldt_utils.views.front.all_contents %}" title="{% trans 'view all medias' %}"><img src="{{LDT_MEDIA_PREFIX}}img/little_plus.png" alt="{% trans 'view all medias' %}"  />&nbsp;{% trans 'All medias' %}</a>
         </li>
       </ul>
     </li>
     {% for content in most_contents %}
     <li class="li_media">
-        <a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}">{% thumbnail content.image "134x75" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}">{% endthumbnail %}</a>
-        <div class="bulle_annot">{{ content.nb_annotation }}</div>
-        <p><a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}"><b>{% if content.title|length > 69 %}{{content.title|slice:":69"}}...{% else %}{{content.title}}{% endif %}</b></a></p>
+        <a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}">{% thumbnail content.image "134x75" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" alt="{% trans 'open this media' %}" title="{% trans 'open this media' %}">{% endthumbnail %}</a>
+        <div class="bulle_annot" title="{% blocktrans with nb=content.nb_annotation%}{{nb}} annotations on this media{% endblocktrans %}">{{ content.nb_annotation }}</div>
+        <p><a href="{% url ldt.ldt_utils.views.front.annot_content content.iri_id %}" title="{% trans 'open this media' %}"><b>{% if content.title|length > 69 %}{{content.title|slice:":69"}}...{% else %}{{content.title}}{% endif %}</b></a></p>
         <p class="font_11">{% trans 'by' %} IRI | {{content.duration|str_duration:"h"}}</p>
     </li>
     {% endfor %}
@@ -60,12 +60,11 @@
     {% for group in active_groups %}
     <li class="li_media">
         <div class="img_groupes_actifs">
-            <a href="{% url ldt.ldt_utils.views.front.group_info group.id %}">{% thumbnail group.profile.image "54x40" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}">{% endthumbnail %}</a>
+            <a href="{% url ldt.ldt_utils.views.front.group_info group.id %}">{% thumbnail group.profile.image "54x40" format="PNG" crop="center" as im %}<img src="{{ im.url }}" class="img_media" width="{{ im.width }}" height="{{ im.height }}" alt="{% trans 'group picture' %}" title="{% trans 'view more infos on this group'%}">{% endthumbnail %}</a>
         </div>
         <div class="txt_groupes_actifs">
-            <div class="bulle_people">{{ group.user_set.count }}</div>
-            <div class="bulle_annot">32</div>
-            <p><a href="{% url ldt.ldt_utils.views.front.group_info group.id %}" class="under"><b>{{group.name}}</b></a></p>
+            <div class="bulle_people" title="{% blocktrans with count=group.user_set.count%}{{count}} users in this group{% endblocktrans %}">{{ group.user_set.count }}</div>
+            <p><a href="{% url ldt.ldt_utils.views.front.group_info group.id %}" class="under" title="{% trans 'view more infos on this group'%}"><b>{{group.name}}</b></a></p>
             <p>{% if group.profile.description|length > 69 %}{{group.profile.description|safe|slice:":69"}}...{% else %}{{group.profile.description|safe}}{% endif %}</p>
         </div>
     </li>
--- a/src/ldt/ldt/ldt_utils/templates/front/front_search_results.html	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_search_results.html	Thu Jan 19 16:46:06 2012 +0100
@@ -130,7 +130,7 @@
                         <p>{{res.content.duration|str_duration:"::"}}</p>
                     </div>
                     <div class="graphe_result_media">
-                    	<span id="{{ res.content.iri_id }}" class="graph_annotation">
+                    	<span id="{{ res.content.iri_id }}" class="graph_annotation" title="{% trans 'annotation distribution' %}">
                     	{{ res.content.stat_annotation }}
                     	</span>
                     </div>
@@ -142,10 +142,10 @@
                     <li class="li_segment" id="li_{{segment.element_id}}">
                         <div class="left_segment">
                             <div class="color_zone" style="background: #f49af5;"></div>
-                            <a href="{% url ldt.ldt_utils.views.front.annot_content segment.iri_id segment.project_id segment.decoupage_id %}#id={{segment.element_id}}"><img src="{{LDT_MEDIA_PREFIX}}img/annot_icon_80x45.png" width="80" height="45" /></a>
+                            <a href="{% url ldt.ldt_utils.views.front.annot_content segment.iri_id segment.project_id segment.decoupage_id %}#id={{segment.element_id}}"><img src="{{LDT_MEDIA_PREFIX}}img/annot_icon_80x45.png" width="80" height="45" alt="" /></a>
                             <!--p class="duree_segment">{{ segment.duration|str_duration:"::" }}</p-->
                         </div>
-                        <h4 class="title_segment"><a class="blue under" href="{% url ldt.ldt_utils.views.front.annot_content segment.iri_id segment.project_id segment.decoupage_id %}#id={{segment.element_id}}">
+                        <h4 class="title_segment"><a class="blue under" href="{% url ldt.ldt_utils.views.front.annot_content segment.iri_id segment.project_id segment.decoupage_id %}#id={{segment.element_id}}" title="{% trans 'view this annotation in the player' %}">
                           {% if segment.title %}{{ segment.title }}{% else %}{% trans "No title" %}{% endif %}</a></h4>
                         <p class="text_segment">{% if segment.context %}{{ segment.context }}{% endif %}<br/>{% trans "Begin" %} : {{ segment.begin|str_duration:"::" }} - {% trans "duration" %} : {{ segment.duration|str_duration:"::" }}</h4>
                     </li>
@@ -159,7 +159,7 @@
         <li id="result_pagination">
             <p>
             {% if results.has_previous %}
-	            <a class="blue under" href="{% url ldt.ldt_utils.views.front.search_listing %}?page={{ results.previous_page_number }}">{% trans "previous" %}</a>
+	            <a class="blue under" href="{% url ldt.ldt_utils.views.front.search_listing %}?page={{ results.previous_page_number }}" title="{% trans 'previous' %}">{% trans "previous" %}</a>
 	            .
 	        {% endif %}
 	        {% if results.paginator.num_pages > 1 %}
@@ -180,7 +180,7 @@
 	        {% endif %}
 	        {% if results.has_next %}
 	            .
-	            <a class="blue under" href="{% url ldt.ldt_utils.views.front.search_listing %}?page={{ results.next_page_number }}">{% trans "next" %}</a>
+	            <a class="blue under" href="{% url ldt.ldt_utils.views.front.search_listing %}?page={{ results.next_page_number }}" title="{% trans 'next' %}">{% trans "next" %}</a>
 	        {% endif %}
             </p>
         </li>
--- a/src/ldt/ldt/ldt_utils/utils.py	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/utils.py	Thu Jan 19 16:46:06 2012 +0100
@@ -175,7 +175,11 @@
         """
         Add an annotation to a project. begin and dur must be strings. Default color is yellow.
         """
-                
+        
+        if dur < 0:
+            self.to_add = False
+            return False
+            
         # We check if the project references the media.
         path_media = self.ldtdoc.xpath('/iri/medias/media[@id="%s"]' % media)
         if len(path_media) == 0:
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Thu Jan 19 10:48:06 2012 +0100
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Thu Jan 19 16:46:06 2012 +0100
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-03 14:37+0100\n"
+"POT-Creation-Date: 2012-01-19 16:26+0100\n"
 "PO-Revision-Date: 2010-03-09 15:52+0100\n"
 "Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -24,157 +24,173 @@
 msgid "Time"
 msgstr "Heure"
 
-#: .\ldt_utils\forms.py:28
+#: .\ldt_utils\forms.py:32 .\ldt_utils\templates\front\front_base.html.py:33
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:52
 msgid "Search"
 msgstr "Recherche"
 
-#: .\ldt_utils\forms.py:29
+#: .\ldt_utils\forms.py:33
 msgid "all"
 msgstr "tous"
 
-#: .\ldt_utils\forms.py:29 .\ldt_utils\models.py:48
+#: .\ldt_utils\forms.py:33 .\ldt_utils\models.py:52
 #: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:69
 msgid "title"
 msgstr "titre"
 
-#: .\ldt_utils\forms.py:29
+#: .\ldt_utils\forms.py:33
 msgid "resume"
 msgstr "description"
 
-#: .\ldt_utils\forms.py:29
+#: .\ldt_utils\forms.py:33
 msgid "tags"
 msgstr "tags"
 
-#: .\ldt_utils\forms.py:29
+#: .\ldt_utils\forms.py:33
 msgid "Fields"
 msgstr "Champs"
 
-#: .\ldt_utils\forms.py:30
+#: .\ldt_utils\forms.py:34
 msgid "Display the results in Lignes De Temps"
 msgstr "Afficher les résultats dans Lignes De Temps"
 
-#: .\ldt_utils\forms.py:46 .\ldt_utils\models.py:126
+#: .\ldt_utils\forms.py:50 .\ldt_utils\models.py:130
 msgid "content.content_creation_date"
 msgstr "Date de création du contenu"
 
-#: .\ldt_utils\forms.py:47
+#: .\ldt_utils\forms.py:51
 msgid "content.media_input_type"
 msgstr "Source du média"
 
-#: .\ldt_utils\forms.py:47
+#: .\ldt_utils\forms.py:51
 msgid "file_upload"
 msgstr "upload fichier"
 
-#: .\ldt_utils\forms.py:47
+#: .\ldt_utils\forms.py:51
 msgid "url"
 msgstr "url"
 
-#: .\ldt_utils\forms.py:47
+#: .\ldt_utils\forms.py:51
 msgid "existing_media"
 msgstr "média existant"
 
-#: .\ldt_utils\forms.py:47
+#: .\ldt_utils\forms.py:51
 msgid "create_media"
 msgstr "source externe : fichier streamé, statique, url youtube..."
 
-#: .\ldt_utils\forms.py:47
+#: .\ldt_utils\forms.py:51
 msgid "none_media"
 msgstr "Aucun"
 
-#: .\ldt_utils\models.py:37
+#: .\ldt_utils\forms.py:54
+msgid "content.front_project"
+msgstr "Choisir le front project"
+
+#: .\ldt_utils\models.py:41
 msgid "media.external_id"
 msgstr "id externe"
 
-#: .\ldt_utils\models.py:38
+#: .\ldt_utils\models.py:42
 msgid "media.external_permalink"
 msgstr "permalien externe"
 
-#: .\ldt_utils\models.py:39
+#: .\ldt_utils\models.py:43
 msgid "media.external_publication_url"
 msgstr "url de publication externe"
 
-#: .\ldt_utils\models.py:40
+#: .\ldt_utils\models.py:44
 msgid "media.external_src_url"
 msgstr "url source"
 
-#: .\ldt_utils\models.py:41
+#: .\ldt_utils\models.py:45
 msgid "media.creation_date"
 msgstr "Date de création"
 
-#: .\ldt_utils\models.py:42
+#: .\ldt_utils\models.py:46
 msgid "media.media_creation_date"
 msgstr "Date de création du média"
 
-#: .\ldt_utils\models.py:43
+#: .\ldt_utils\models.py:47
 msgid "media.update_date"
 msgstr "Date de maj"
 
-#: .\ldt_utils\models.py:44
+#: .\ldt_utils\models.py:48
 msgid "media.videopath"
 msgstr "videopath"
 
-#: .\ldt_utils\models.py:45
+#: .\ldt_utils\models.py:49
 msgid "media.duration"
 msgstr "Durée du contenu (ms)"
 
-#: .\ldt_utils\models.py:46
+#: .\ldt_utils\models.py:50
 msgid "media.creator"
 msgstr "Créateur"
 
-#: .\ldt_utils\models.py:47
+#: .\ldt_utils\models.py:51
 msgid "description"
 msgstr "description"
 
-#: .\ldt_utils\models.py:49
+#: .\ldt_utils\models.py:53
 msgid "media.src"
 msgstr "Sources"
 
-#: .\ldt_utils\models.py:50
+#: .\ldt_utils\models.py:54
 msgid "media.mimetype"
 msgstr "mimetype"
 
-#: .\ldt_utils\models.py:118
+#: .\ldt_utils\models.py:122
 msgid "content.iri_id"
 msgstr "iri id"
 
-#: .\ldt_utils\models.py:119
+#: .\ldt_utils\models.py:123
 msgid "content.iriurl"
 msgstr "iri url"
 
-#: .\ldt_utils\models.py:120
+#: .\ldt_utils\models.py:124
 msgid "content.creation_date"
 msgstr "date de création"
 
-#: .\ldt_utils\models.py:121
+#: .\ldt_utils\models.py:125
 msgid "content.update_date"
 msgstr "Date de maj"
 
-#: .\ldt_utils\models.py:122
+#: .\ldt_utils\models.py:126
 msgid "content.title"
 msgstr "titre"
 
-#: .\ldt_utils\models.py:123
+#: .\ldt_utils\models.py:127
 msgid "content.description"
 msgstr "Description"
 
-#: .\ldt_utils\models.py:124
+#: .\ldt_utils\models.py:128
 msgid "content.authors"
 msgstr "Auteurs"
 
-#: .\ldt_utils\models.py:125
+#: .\ldt_utils\models.py:129
 msgid "content.duration"
 msgstr "Durée (ms)"
 
-#: .\ldt_utils\models.py:352
+#: .\ldt_utils\models.py:134 .\ldt_utils\models.py:530
+msgid "content.stat_annotation"
+msgstr "statistiques d'annotation"
+
+#: .\ldt_utils\models.py:135 .\ldt_utils\models.py:531
+msgid "content.nb_annotation"
+msgstr "nombre d'annotations"
+
+#: .\ldt_utils\models.py:136
+msgid "content.last_annotated"
+msgstr "annoté pour la dernière foiss"
+
+#: .\ldt_utils\models.py:395
 msgid "created by"
 msgstr "créé par"
 
-#: .\ldt_utils\models.py:353
+#: .\ldt_utils\models.py:396
 msgid "changed by"
 msgstr "modifié par"
 
-#: .\ldt_utils\utils.py:198
+#: .\ldt_utils\utils.py:208
 msgid "Personal cutting"
 msgstr "Découpages personnels"
 
@@ -187,6 +203,181 @@
 msgid "Home"
 msgstr "Accueil"
 
+#: .\ldt_utils\templates\front\front_all_contents.html.py:66
+#: .\ldt_utils\templates\front\front_home.html.py:17
+msgid "Filter the medias"
+msgstr "Filtrer les médias"
+
+#: .\ldt_utils\templates\front\front_all_contents.html.py:69
+#: .\ldt_utils\templates\front\front_all_contents.html.py:70
+#: .\ldt_utils\templates\front\front_home.html.py:23
+#: .\ldt_utils\templates\front\front_home.html.py:42
+msgid "All medias"
+msgstr "Tous les médias"
+
+#: .\ldt_utils\templates\front\front_all_contents.html.py:78
+#: .\ldt_utils\templates\front\front_group.html.py:25
+#: .\ldt_utils\templates\front\front_home.html.py:32
+#: .\ldt_utils\templates\front\front_home.html.py:51
+msgid "by"
+msgstr "par"
+
+#: .\ldt_utils\templates\front\front_all_contents.html.py:82
+msgid "All tags"
+msgstr "Tous les tags"
+
+#: .\ldt_utils\templates\front\front_base.html.py:38
+#: .\ldt_utils\templates\front\front_base.html.py:56
+msgid "link IRI"
+msgstr "Site de l'IRI"
+
+#: .\ldt_utils\templates\front\front_base.html.py:41
+#: .\ldt_utils\templates\front\front_player.html.py:5
+msgid "Annotate"
+msgstr "Annoter"
+
+#: .\ldt_utils\templates\front\front_base.html.py:45
+msgid "connection"
+msgstr "connexion"
+
+#: .\ldt_utils\templates\front\front_base.html.py:53
+#, python-format
+msgid "%(WEB_VERSION)s | %(VERSION)s"
+msgstr "v%(WEB_VERSION)s | v%(VERSION)s "
+
+#: .\ldt_utils\templates\front\front_base.html.py:56
+msgid "about"
+msgstr "A propos"
+
+#: .\ldt_utils\templates\front\front_group.html.py:18
+msgid "Medias annotated by the group"
+msgstr "Médias annotés par le groupe"
+
+#: .\ldt_utils\templates\front\front_group.html.py:22
+#: .\ldt_utils\templates\front\front_group.html.py:24
+#: .\ldt_utils\templates\front\front_home.html.py:29
+#: .\ldt_utils\templates\front\front_home.html.py:31
+#: .\ldt_utils\templates\front\front_home.html.py:48
+#: .\ldt_utils\templates\front\front_home.html.py:50
+msgid "open this media"
+msgstr "voir ce média"
+
+#: .\ldt_utils\templates\front\front_group.html.py:23
+#: .\ldt_utils\templates\front\front_home.html.py:30
+#: .\ldt_utils\templates\front\front_home.html.py:49
+#, python-format
+msgid "%(nb)s annotations on this media"
+msgstr "%(nb)s annotations sur ce média"
+
+#: .\ldt_utils\templates\front\front_group.html.py:34
+msgid "About the group"
+msgstr "A propos du groupe"
+
+#: .\ldt_utils\templates\front\front_group.html.py:43
+msgid "Members"
+msgstr "liste des membres"
+
+#: .\ldt_utils\templates\front\front_group.html.py:50
+msgid "active since"
+msgstr "actif depuis"
+
+#: .\ldt_utils\templates\front\front_home.html.py:7
+msgid "front.home"
+msgstr "Plateforme ligne de temps"
+
+#: .\ldt_utils\templates\front\front_home.html.py:21
+msgid "Last annotated medias"
+msgstr "Derniers médias annotés"
+
+#: .\ldt_utils\templates\front\front_home.html.py:23
+#: .\ldt_utils\templates\front\front_home.html.py:42
+msgid "view all medias"
+msgstr "Voir tous les médias"
+
+#: .\ldt_utils\templates\front\front_home.html.py:40
+msgid "Most annotated medias"
+msgstr "Médias les plus annotés"
+
+#: .\ldt_utils\templates\front\front_home.html.py:58
+msgid "Active groups"
+msgstr "Groupes actifs"
+
+#: .\ldt_utils\templates\front\front_home.html.py:63
+msgid "group picture"
+msgstr "image du groupe"
+
+#: .\ldt_utils\templates\front\front_home.html.py:63
+#: .\ldt_utils\templates\front\front_home.html.py:67
+msgid "view more infos on this group"
+msgstr "Voir plus d'informations sur ce groupe"
+
+#: .\ldt_utils\templates\front\front_home.html.py:66
+#, python-format
+msgid "%(count)s users in this group"
+msgstr "%(count)s utilisateurs dans ce groupe"
+
+#: .\ldt_utils\templates\front\front_player.html.py:87
+msgid "All annotations on the media"
+msgstr "Toutes les annotations sur le média"
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:6
+#: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:100
+#: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:112
+#: .\ldt_utils\templates\ldt\ldt_utils\ldt_list.html.py:79
+#: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:70
+#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:56
+#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:68
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:133
+#: .\templates\ldt\ldt_base.html.py:126
+msgid "search"
+msgstr "Recherche"
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:99
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:59
+#, python-format
+msgid " No results for <b>%(search)s</b>."
+msgstr "Aucun résultat pour <b>%(search)s</b>."
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:111
+msgid "Search results for "
+msgstr "Résultats de recherhce pour "
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:114
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
+msgid "Result"
+msgstr "Résultat"
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:133
+msgid "annotation distribution"
+msgstr "Répartition des annotations"
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:148
+msgid "view this annotation in the player"
+msgstr "Visionner cette annotation"
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:149
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:80
+msgid "No title"
+msgstr "Sans titre"
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:150
+msgid "Begin"
+msgstr "Début"
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:150
+msgid "duration"
+msgstr "durée"
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:162
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:101
+msgid "previous"
+msgstr "Précedent"
+
+#: .\ldt_utils\templates\front\front_search_results.html.py:183
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:111
+msgid "next"
+msgstr "Suivant"
+
 #: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:55
 #: .\templates\admin\page_base.html.py:19
 #: .\user\templates\ldt\user\login_form.html.py:33
@@ -228,19 +419,19 @@
 msgid "Copy"
 msgstr "Copier"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:51
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:47
 msgid "Browse"
 msgstr "Parcourir"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:52
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:48
 msgid "File uploaded"
 msgstr "Fichier téléversé"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:53
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:49
 msgid "Please wait, the upload is not finished yet"
 msgstr "Veuillez patienter, le téléversement est en cours"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:54
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:50
 msgid "Cancel upload"
 msgstr "Annuler le téléversement"
 
@@ -252,61 +443,65 @@
 "opération impossible à cause d'une ou plusieurs erreurs.<br />Veuillez "
 "resoumettre le formulaire media après avoir fait les changements suivants:"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:83
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:87
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:54
 msgid "Create content"
 msgstr "Créer un contenu"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:101
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:105
 msgid "publish for everyone"
 msgstr "publier pour tout le monde"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:133
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:143
 msgid "media file is being processed please wait."
 msgstr "Le fichier média est en cours de traitement. Veuillez patienter."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:137
-#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:102
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:115
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:147
+#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:99
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:116
 #: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:52
 msgid "close_cancel"
 msgstr "Fermer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:138
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:148
 msgid "delete"
 msgstr "Effacer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:139
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:149
 msgid "write"
 msgstr "Enregistrer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:64
-#, fuzzy
+#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:56
 msgid "Do you really want to delete this group ?"
 msgstr "Voulez-vous quitter ce groupe ?"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:84
+#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:76
 msgid "Update a group"
 msgstr "Mettre à jour votre groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:84
+#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:76
 msgid "Create a group"
 msgstr "Créer un groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:91
+#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:83
 #: .\user\templates\ldt\user\change_profile.html.py:62
 msgid "Name"
 msgstr "Nom"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:104
+#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:89
+#, fuzzy
+msgid "Description"
+msgstr "Description :"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:101
 msgid "update_group"
 msgstr "Mettre à jour le groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:106
+#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:103
 msgid "delete_group"
 msgstr "Effacer le groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:109
+#: .\ldt_utils\templates\ldt\ldt_utils\create_group.html.py:106
 msgid "create_group"
 msgstr "Créer un nouveau groupe"
 
@@ -333,15 +528,15 @@
 msgid "name"
 msgstr "Nom"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:117
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:118
 msgid "delete_project"
 msgstr "Effacer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:118
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:119
 msgid "update_project"
 msgstr "Mettre à jour"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:120
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:121
 msgid "create_project"
 msgstr "Créer un nouveau projet Ligne de Temps"
 
@@ -402,17 +597,6 @@
 msgid "Create group"
 msgstr "Créer un nouveau groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:100
-#: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:112
-#: .\ldt_utils\templates\ldt\ldt_utils\ldt_list.html.py:79
-#: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:70
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:56
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:68
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:133
-#: .\templates\ldt\ldt_base.html.py:126
-msgid "search"
-msgstr "Recherche"
-
 #: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:110
 msgid "The group's projects"
 msgstr "projets du groupe"
@@ -447,19 +631,10 @@
 msgid "The search field can not be empty."
 msgstr "Le champ de recherche ne peut pas être vide."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:59
-#, python-format
-msgid " No results for <b>%(search)s</b>."
-msgstr "Aucun résultat pour <b>%(search)s</b>."
-
 #: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
 msgid "Results for "
 msgstr "Résultats pour "
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
-msgid "Result"
-msgstr "Résultat"
-
 #: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:76
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:16
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:18
@@ -470,28 +645,16 @@
 msgid "open ldt"
 msgstr "Ouvrir sous Lignes de Temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:80
-msgid "No title"
-msgstr "Sans titre"
-
 #: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:87
 #, fuzzy
 msgid "Tags"
 msgstr "tags"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:101
-msgid "previous"
-msgstr "Précedent"
-
 #: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:106
 #, python-format
 msgid "Page %(number)s of  %(num_pages)s"
 msgstr "Page %(number)s de  %(num_pages)s"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:111
-msgid "next"
-msgstr "Suivant"
-
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:53
 msgid "content list"
 msgstr "Liste des contenus"
@@ -508,20 +671,19 @@
 msgid "You can't edit this content"
 msgstr "Vous n'avez pas l'autorisation d'éditer ce contenu"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\groupslist.html.py:4
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\groupslist.html.py:22
 msgid "Click on the line to see the group's projects"
 msgstr "cliquer ici pour voir les projets du groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\groupslist.html.py:15
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\groupslist.html.py:16
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\groupslist.html.py:33
 msgid "Change this group"
 msgstr "Modifier ce groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\groupslist.html.py:21
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\groupslist.html.py:40
 msgid "You are not allowed to edit this group"
 msgstr "vous n'avez pas l'autorisation de modifier ce groupe"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\groupslist.html.py:34
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\groupslist.html.py:55
 msgid "Projects shared with me only"
 msgstr "Projets partagés avec moi uniquement"
 
@@ -581,8 +743,8 @@
 msgstr "tout enlever"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\picture.html.py:8
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\picture.html.py:40
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\picture.html.py:41
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\picture.html.py:44
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\picture.html.py:45
 msgid "choose a profile image"
 msgstr "choisir une image de profil"
 
@@ -590,12 +752,12 @@
 msgid "hide"
 msgstr "réduire"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\picture.html.py:48
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\picture.html.py:52
 #: .\user\templates\ldt\user\change_profile.html.py:154
 msgid "Current profile picture"
 msgstr "Image de profil"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\picture.html.py:56
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\picture.html.py:60
 #: .\user\templates\ldt\user\change_profile.html.py:162
 msgid "Upload a new picture"
 msgstr "Téléverser une nouvelle image"
@@ -631,35 +793,35 @@
 msgid "Project published"
 msgstr "Projet publié"
 
-#: .\ldt_utils\views\content.py:158
+#: .\ldt_utils\views\content.py:164
 msgid "Problem when downloading file from url : "
 msgstr "Problème lors du téléchargement du fichier : "
 
-#: .\ldt_utils\views\content.py:161
+#: .\ldt_utils\views\content.py:167
 msgid "Problem when uploading file : "
 msgstr "Problème lors de l'upload du fichier : "
 
-#: .\ldt_utils\views\content.py:256
+#: .\ldt_utils\views\content.py:269
 #, python-format
 msgid "There is %(count)d error when deleting content"
 msgid_plural "There are %(count)d errors when deleting content"
 msgstr[0] "Il y a %(count)d erreur lors de l'effacement du contenu"
 msgstr[1] "Il y a %(count)d erreurs lors de l'effacement du contenu"
 
-#: .\ldt_utils\views\content.py:257
+#: .\ldt_utils\views\content.py:270
 msgid "title error deleting content"
 msgstr "Erreur lors de l'effacement du contenu"
 
-#: .\ldt_utils\views\content.py:259
+#: .\ldt_utils\views\content.py:272
 #, python-format
 msgid "Confirm delete content %(titles)s"
 msgstr "Veuillez confirmer l'effacement du contenu %(titles)s"
 
-#: .\ldt_utils\views\content.py:260
+#: .\ldt_utils\views\content.py:273
 msgid "confirm delete content"
 msgstr "Confirmation effacement contenu"
 
-#: .\ldt_utils\views\content.py:301
+#: .\ldt_utils\views\content.py:315
 #, python-format
 msgid ""
 "Content '%(title)s' is referenced by this project : %(project_titles)s. "
@@ -674,34 +836,42 @@
 "Le contenu '%(title)s' est référencé par les projets suivants : '%"
 "(project_titles)s'.Veuillez les effacer préalablement."
 
-#: .\ldt_utils\views\json.py:29 .\ldt_utils\views\rdf.py:15
-#: .\ldt_utils\views\workspace.py:100
-msgid "You can not access this project"
-msgstr "vous n'avez pas l'autorisation d'accéder à ce projet"
-
-#: .\ldt_utils\views\project.py:63
+#: .\ldt_utils\views\project.py:110
 #, python-format
 msgid "the project %(title)s is published. please unpublish before deleting."
 msgstr "Le projet %(title)s est publié. Déplublier le avant de l'effacer."
 
-#: .\ldt_utils\views\project.py:64
+#: .\ldt_utils\views\project.py:111 .\ldt_utils\views\project.py:115
 msgid "can not delete the project. Please correct the following error"
 msgstr ""
 "Le projet ne peut pas être effacé. Veuillez corriger les erreurs suivantes."
 
-#: .\ldt_utils\views\project.py:65
+#: .\ldt_utils\views\project.py:112 .\ldt_utils\views\project.py:116
 msgid "title error deleting project"
 msgstr "Erreur lors de l'effacement du projet"
 
-#: .\ldt_utils\views\project.py:67
+#: .\ldt_utils\views\project.py:114
+#, python-format
+msgid ""
+"the project %(title)s is the front project of %(content)s. please delete "
+"this content first."
+msgstr ""
+"Le projet %(title)s est référencé par le contenu '%(content)s'.Veuillez "
+"l'effacer préalablement."
+
+#: .\ldt_utils\views\project.py:118
 #, python-format
 msgid "please confirm deleting project %(title)s"
 msgstr "Confirmer l'effacement du projet intitulé %(title)s"
 
-#: .\ldt_utils\views\project.py:68
+#: .\ldt_utils\views\project.py:119
 msgid "confirm deletion"
 msgstr "Confirmation d'effacement"
 
+#: .\ldt_utils\views\rdf.py:15 .\ldt_utils\views\workspace.py:109
+msgid "You can not access this project"
+msgstr "vous n'avez pas l'autorisation d'accéder à ce projet"
+
 #: .\templates\admin\cms_change_form.html.py:30
 msgid "Approve page deletion"
 msgstr "Accepter l'effacement de la page"
@@ -1011,19 +1181,19 @@
 msgid "annotation.update_date"
 msgstr "Date de maj"
 
-#: .\user\admin.py:24
+#: .\user\admin.py:27
 msgid "User details"
 msgstr "Détail utilisateur"
 
-#: .\user\admin.py:25
+#: .\user\admin.py:28
 msgid "Groups"
 msgstr "Groupes"
 
-#: .\user\admin.py:26
+#: .\user\admin.py:29
 msgid "Permissions"
 msgstr "Permissions"
 
-#: .\user\admin.py:37 .\user\templates\ldt\user\change_profile.html.py:105
+#: .\user\admin.py:40 .\user\templates\ldt\user\change_profile.html.py:105
 #: .\user\templates\ldt\user\login_form.html.py:61
 msgid "Password"
 msgstr "Mot de passe"
@@ -1059,24 +1229,27 @@
 msgstr "Langue"
 
 #: .\user\forms.py:123
-#, fuzzy
 msgid "Profile picture"
-msgstr "Modification du profil"
+msgstr "Image de profil"
 
-#: .\user\views.py:29
+#: .\user\forms.py:133
+#, python-format
+msgid "Image size is limited to %s"
+msgstr "La taille de l'image est limitée à %s"
+
+#: .\user\views.py:28
 msgid "Your profile has been updated."
 msgstr "Votre profil a été modifié"
 
-#: .\user\views.py:56
+#: .\user\views.py:52
 msgid "Your password has been updated."
 msgstr "Votre mot de passe a été changeé."
 
-#: .\user\views.py:80
-#, fuzzy
+#: .\user\views.py:76
 msgid "Your profile picture has been updated."
-msgstr "Votre profil a été modifié"
+msgstr "Votre image de profil a été modifiée"
 
-#: .\user\views.py:102 .\user\templates\registration\login.html.py:24
+#: .\user\views.py:98 .\user\templates\registration\login.html.py:24
 msgid "Sorry, that's not a valid username or password."
 msgstr "Saisissez un nom d'utilisateur et un mot de passe valide."
 
@@ -1113,9 +1286,8 @@
 msgstr "E-mail"
 
 #: .\user\templates\ldt\user\change_profile.html.py:175
-#, fuzzy
 msgid "Profile picture change"
-msgstr "Modification du profil"
+msgstr "Modification de l'image de profil"
 
 #: .\user\templates\ldt\user\login_form.html.py:32
 #: .\user\templates\registration\password_change_done.html.py:7
@@ -1350,76 +1522,20 @@
 "Nous vous avons envoyé par courriel les instructions pour activer le compte "
 "à l'adresse que vous avez indiquée. Vous devriez le recevoir rapidement."
 
+#~ msgid "annotations on this media"
+#~ msgstr "annotations sur ce média"
+
 #~ msgid "User list"
 #~ msgstr "Liste des utilisateurs"
 
 #~ msgid "select all"
 #~ msgstr "Tout choisir"
 
-#~ msgid "Decide whether a user user can change this group"
-#~ msgstr "Précise si cet utilisateur peut créer et modifier ce groupe."
-
-#~ msgid "is admin"
-#~ msgstr "Administrateur"
-
-#~ msgid "is not admin"
-#~ msgstr "Administration"
-
 #~ msgid "contents"
 #~ msgstr "Liste des contenus"
 
 #~ msgid "indexation projects"
 #~ msgstr "Projets d'indexation"
 
-#~ msgid "accounts"
-#~ msgstr "Comptes"
-
-#, fuzzy
-#~ msgid "can change"
-#~ msgstr "Modification du mot de passe"
-
-#, fuzzy
-#~ msgid "can not change"
-#~ msgstr "Modification du mot de passe"
-
-#~ msgid "Leave this group"
-#~ msgstr "Quitter ce groupe"
-
-#~ msgid "Designates whether the user can create and leave groups."
-#~ msgstr "Précise si cet utilisateur peut créer et quitter des groupes."
-
-#~ msgid ""
-#~ "The operation could not be performed because one or more error(s) "
-#~ "occurred.<br />Please resubmit the content form after making the "
-#~ "following changes:"
-#~ msgstr ""
-#~ "Opération impossible à cause d'une ou plusieurs erreurs.<br />Veuillez "
-#~ "resoumettre le formulaire contenu après avoir fait les changements "
-#~ "suivants:"
-
 #~ msgid "nom"
 #~ msgstr "nom"
-
-#~ msgid "This group can read the project"
-#~ msgstr "Ce groupe peut lire le projet"
-
-#~ msgid "perm.read"
-#~ msgstr "lecture"
-
-#~ msgid "This group can change the project"
-#~ msgstr "Ce groupe peut changer le projet"
-
-#~ msgid "perm.write"
-#~ msgstr "écriture"
-
-#~ msgid "List of members"
-#~ msgstr "Liste des membres"
-
-#~ msgid "Check to include this user in the group"
-#~ msgstr "Cocher pour inclure cet utilisateur dans le groupe"
-
-#~ msgid "Check to give this user the right to change the group"
-#~ msgstr "Cocher pour donner à cet utilisateur le droit de modifier le groupe"
-
-#~ msgid "Please enter valid keywords."
-#~ msgstr "Veuillez entrer des mots-clés valides."