# HG changeset patch
# User cavaliet
# Date 1337961054 -7200
# Node ID 5af755809dd186b6daf5f582de548449705f5315
# Parent 94429061bbfa255210a8bd1fa1f58a120afbb8e4# Parent 87aa076dabd660637a3127d7b8878922b1a63373
Merge with 87aa076dabd660637a3127d7b8878922b1a63373
diff -r 94429061bbfa -r 5af755809dd1 .hgignore
--- a/.hgignore Fri May 25 17:47:20 2012 +0200
+++ b/.hgignore Fri May 25 17:50:54 2012 +0200
@@ -1,56 +1,32 @@
syntax: regexp
^web/index$
-syntax: regexp
^web/log$
-syntax: regexp
^virtualenv/web/env/
-syntax: regexp
.*\.pyc$
-
-syntax: regexp
^virtualenv/web/project-boot\.py$
-syntax: regexp
^web/ldtplatform/config\.py$
^web/ldtplatform/\.htaccess$
^web/\.htaccess$
-
-syntax: regexp
^virtualenv/web/distribute-0\.6\.14\.tar\.gz$
-syntax: regexp
^src/ldt/Ldt\.egg-info$
-syntax: regexp
^src/ldt/dist$
-
-syntax: regexp
^web/static/media/ldt$
-syntax: regexp
^web/static/site/admin$
-syntax: regexp
^web/static/site/ldt$
-syntax: regexp
^virtualenv/setup/project-boot\.py$
-syntax: regexp
^virtualenv/setup/env/
+^src/ldt/build$
+^src/ldt/ldt\.egg-info$
+^src/ldt/distribute-0\.6\.14\.tar\.gz$
+^src/ldt/distribute-0\.6\.14-py2\.6\.egg$
+^src/ldt/MANIFEST\.in$
+^src/ldt/MANIFEST$
+^\.pydevproject$
+^web/static/media/cache$
+^\.settings/org\.eclipse\.core\.resources\.prefs$
+^web/static/media/thumbnails$
+^virtualenv/sync/env
syntax: regexp
-^src/ldt/build$
-syntax: regexp
-^src/ldt/ldt\.egg-info$
-syntax: regexp
-^src/ldt/distribute-0\.6\.14\.tar\.gz$
-syntax: regexp
-^src/ldt/distribute-0\.6\.14-py2\.6\.egg$
-syntax: regexp
-^src/ldt/MANIFEST\.in$
-
-syntax: regexp
-^src/ldt/MANIFEST$
-syntax: regexp
-^\.pydevproject$
-syntax: regexp
-^web/static/media/cache$
-syntax: regexp
-^\.settings/org\.eclipse\.core\.resources\.prefs$
-syntax: regexp
-^web/static/media/thumbnails$
\ No newline at end of file
+^sbin/sync/config\.py$
\ No newline at end of file
diff -r 94429061bbfa -r 5af755809dd1 .hgtags
--- a/.hgtags Fri May 25 17:47:20 2012 +0200
+++ b/.hgtags Fri May 25 17:50:54 2012 +0200
@@ -52,3 +52,11 @@
006f1e3e5398ca2fb0d6c7944f37421ce3138717 V01.07
006f1e3e5398ca2fb0d6c7944f37421ce3138717 V01.07
81cbac0d6d8c9309cee2663dc2b6dc1d85097cf1 V01.07
+04c71ec19b8036b9285c62985bd920e287aa14aa V01.08
+04c71ec19b8036b9285c62985bd920e287aa14aa V01.08
+0000000000000000000000000000000000000000 V01.08
+0000000000000000000000000000000000000000 V01.08
+dd483c59340c859be7845dd73ecd6da355216b91 V01.08
+dd483c59340c859be7845dd73ecd6da355216b91 V01.08
+14fe3554ad26ccf85f01f68ca07a869a1a20ef17 V01.08
+b419e891b0bde6e88c0337838aca82ec7c5e62b0 V01.09
diff -r 94429061bbfa -r 5af755809dd1 sbin/sync/config.py.tmpl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbin/sync/config.py.tmpl Fri May 25 17:50:54 2012 +0200
@@ -0,0 +1,29 @@
+from fabric.api import env
+
+env.hosts = ['iri@web.iri.centrepompidou.fr']
+env.base_export_path = "~/tmp"
+env.export_prefix = "platform"
+env.remote_web_path = "/iridata/www/ldt/"
+env.platform_web_module = "ldtplatform"
+env.remote_ldt_base_path = "/tmp"
+env.remote_virtualenv_path = "/iridata/virtualenv/platform"
+env.remote_venv_export_path = "/tmp"
+env.remote_baseline_venv = "/iridata/virtualenv/baseline2.7"
+env.web_rsync_filters = [
+ "+ core",
+ "P .htpasswd",
+ "P .htaccess",
+ "P ldtplatform/.htaccess",
+ "P ldtplatform/config.py",
+ "P ldtplatform/modwsgi.wsgi",
+ "P robots.txt",
+ "P env/***",
+ "P log/***",
+ "P index/***",
+ "P static/media/***",
+ "P crossdomain.xml",
+]
+env.venv_rsync_filters = [
+ "+ core",
+]
+env.web_relaunch_cmd = "supervisorctl restart platform"
diff -r 94429061bbfa -r 5af755809dd1 sbin/sync/fabfile.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbin/sync/fabfile.py Fri May 25 17:50:54 2012 +0200
@@ -0,0 +1,194 @@
+from fabric.api import task, run, local, env, cd, put, prefix, sudo
+from fabric.colors import green
+from fabric.contrib.project import rsync_project
+from mercurial import commands, ui, hg, cmdutil
+import imp
+import os, os.path
+import shutil
+import sys
+
+import config
+
+def get_export_path(version):
+ base_path = os.path.join(env.base_export_path,env.export_prefix).lstrip("/")
+ return os.path.expanduser(base_path) + "_%s" % (str(version))
+
+def clean_export_folder(path):
+ print("Removing %s" % path)
+ if os.path.isdir(path):
+ shutil.rmtree(path, ignore_errors=True)
+
+def do_export_version(path, version):
+ print("Export version %s"%str(version))
+
+ #hgui = ui.ui()
+ #repo = hg.repository(hgui, cmdutil.findrepo(os.getcwd()))
+ #commands.archive(hgui, repo, path, rev=str(version))
+
+ local("hg archive -r \'%s\' \"%s\"" % (str(version),path))
+ print("Export version %s done"%str(version))
+
+def rsync_export(path, remotepath, filters):
+ print("Rsync %s to %s",(path,remotepath))
+
+ if filters:
+ filter_option_str = " ".join(["--filter \"%s\"" % (f) for f in filters])
+ else:
+ filter_option_str =""
+
+ run("mkdir -p \"%s\"" % remotepath)
+ rsync_project(remotepath, local_dir=path, extra_opts=filter_option_str, delete=True)
+ print("Rsync %s to %s done",(path,remotepath))
+
+def clean_rsync_folder(remotepath):
+ print("clean rsync folder %s" % remotepath)
+ run("rm -fr \"%s\"" % remotepath)
+
+def build_src(path):
+ print("Build source dist at %s" % path)
+ f = None
+ try:
+ f, pathname, description = imp.find_module("setup", [path])
+ print(" 2 Build source dist at %s" % path)
+ setup_mod = imp.load_module("setup", f, pathname, description)
+ print(" 3 Build source dist at %s" % path)
+ finally:
+ if f:
+ f.close()
+
+ setup_mod.launch_setup("setup.py", ['sdist'])
+
+ print("Build source dist at %s done" % path)
+
+
+def get_src_version(path):
+ print("get src version at %s" % path)
+ f = None
+ try:
+ f, pathname, description = imp.find_module("ldt", [path])
+ ldt_mod = imp.load_module("ldt", f, pathname, description)
+ finally:
+ if f:
+ f.close()
+ version = ldt_mod.VERSION
+ version_str = ldt_mod.get_version()
+
+ return (version, version_str)
+
+
+def sync_build(path):
+ print("Sync build %s" % path)
+ with cd(env.remote_ldt_base_path):
+ filename = os.path.basename(path)
+ res_trans = put(path, os.path.join(env.remote_ldt_base_path, filename))
+ print("Sync build %s to %s" % (path,repr(res_trans)))
+ return res_trans
+
+def remove_build(path):
+ print("remove build build %s" % path)
+ run("rm \"%s\"" % path)
+
+
+def install_build(remotepath, remotevirtualenvpath):
+ print("Install build %s in %s" % (remotepath, remotevirtualenvpath))
+ activate_path = os.path.join(remotevirtualenvpath, "bin/activate")
+
+ with prefix("source %s" % activate_path):
+ run("pip install \"%s\"" % remotepath)
+
+def collectstatic(remotepath, remotevirtualenvpath):
+ print("Collect static in %s with %s" % (remotepath, remotevirtualenvpath))
+ activate_path = os.path.join(remotevirtualenvpath, "bin/activate")
+ with prefix("source \"%s\"" % activate_path), prefix("export PYTHONPATH=\"%s\"" % remotepath), cd(os.path.join(remotepath, env.platform_web_module)):
+ run("python manage.py collectstatic --noinput")
+
+
+
+def export_version(version):
+ print("export version %s" % str(version))
+
+ export_path = get_export_path(version)
+
+ clean_export_folder(export_path)
+ do_export_version(export_path,version)
+
+ return export_path
+
+def do_create_virtualenv(remote_venv_export_path, remotevirtualenvpath):
+ print("Create virtualenv export_path : %s - remote venvpath : %s" % (remote_venv_export_path, remotevirtualenvpath))
+ activate_path = os.path.join(remotevirtualenvpath, "bin/activate")
+ if "remote_baseline_venv" in env and env.remote_baseline_venv:
+ prefix_str = "source \"%s\"" % os.path.join(env.remote_baseline_venv, "bin/activate")
+ else:
+ prefix_str = "echo"
+ run("mkdir -p \"%s\"" % remotevirtualenvpath)
+ with prefix(prefix_str), cd(os.path.join(remote_venv_export_path,"virtualenv","web")):
+ run("python create_python_env.py")
+ run("python project-boot.py --unzip-setuptools --no-site-packages --clear --type-install=local \"%s\"" % remotevirtualenvpath)
+ with prefix("source \"%s\"" % activate_path):
+ run("pip install -r \"%s\"" % os.path.join(remote_venv_export_path,"virtualenv","web","res","srvr_requirements.txt"))
+
+def do_sync_ldt(version, export_path):
+ print("do_sync_ldt with version %s and path %s" % (version,export_path))
+ src_path = export_path + "/src/ldt"
+ build_src(src_path)
+ (_,version_str) = get_src_version(src_path)
+ build_path = os.path.join(src_path,"dist","ldt-%s.tar.gz" % version_str)
+ res_trans = None
+ try:
+ res_trans = sync_build(build_path)
+ install_build(res_trans[0], env.remote_virtualenv_path)
+ finally:
+ if res_trans:
+ remove_build(res_trans[0])
+
+def do_sync_web(version, export_path):
+ print("do_sync_web with version %s and path %s" % (version,export_path))
+ web_path = os.path.join(export_path,"web/")
+ rsync_export(web_path, env.remote_web_path, env.web_rsync_filters)
+
+def relaunch_server():
+ print("Relaunch server")
+ collectstatic(env.remote_web_path, env.remote_virtualenv_path)
+ sudo(env.web_relaunch_cmd, shell=False)
+
+@task
+def sync_web(version):
+ print(green("sync web with version %s" % version))
+ export_path = export_version(version)
+ do_sync_web(version, export_path)
+ clean_export_folder(export_path)
+ relaunch_server()
+
+@task
+def sync_ldt(version):
+ print(green("sync ldt with version %s" % version))
+ export_path = export_version(version)
+ do_sync_ldt(version, export_path)
+ clean_export_folder(export_path)
+ relaunch_server()
+
+@task
+def sync_platform(version):
+ print(green("sync platform with version %s" % version))
+ export_path = export_version(version)
+ do_sync_ldt(version, export_path)
+ do_sync_web(version, export_path)
+ clean_export_folder(export_path)
+ relaunch_server()
+
+@task
+def create_virtualenv(version):
+ print(green("create virtualenv with version %s" % version))
+ export_path = export_version(version)
+ venv_remote_export_path = ""
+ try:
+ virtualenv_path = os.path.join(export_path, "virtualenv")
+
+ venv_remote_export_path = os.path.join(env.remote_venv_export_path, env.export_prefix, version,"virtualenv")
+ rsync_export(virtualenv_path, venv_remote_export_path, env.venv_rsync_filters)
+ do_create_virtualenv(venv_remote_export_path, env.remote_virtualenv_path)
+ finally:
+ clean_export_folder(export_path)
+ if venv_remote_export_path:
+ clean_rsync_folder(venv_remote_export_path)
diff -r 94429061bbfa -r 5af755809dd1 sbin/sync/sync_ldt_platform
--- a/sbin/sync/sync_ldt_platform Fri May 25 17:47:20 2012 +0200
+++ b/sbin/sync/sync_ldt_platform Fri May 25 17:50:54 2012 +0200
@@ -1,4 +1,3 @@
-
#!/usr/bin/env bash
set -e
if [ -d ~/tmp/platform_V$1 ]; then
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/__init__.py
--- a/src/ldt/ldt/__init__.py Fri May 25 17:47:20 2012 +0200
+++ b/src/ldt/ldt/__init__.py Fri May 25 17:50:54 2012 +0200
@@ -1,4 +1,4 @@
-VERSION = (1, 7, 0, "final", 0)
+VERSION = (1, 9, 0, "final", 0)
def get_version():
@@ -15,5 +15,3 @@
__version__ = get_version()
-#initialize
-from ldt.ldt_utils import contentindexer
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/admin.py
--- a/src/ldt/ldt/admin.py Fri May 25 17:47:20 2012 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-##from django.contrib import admin
-#from ldt.management import test_cms
-#
-#"""
-#site admin pour cms page
-#"""
-#if test_cms():
-# pass
-## class AdminSite(admin.AdminSite):
-## index_template = 'admin/page_index.html'
-## login_template = 'admin/page_login.html'
-## app_index_template = 'admin/page_app_index.html'
-#
-## admin_site = AdminSite()
-#
-## from cms.models import Page
-## from cms.admin import pageadmin
-#
-## class CmsPageAdmin(pageadmin.PageAdmin):
-## change_list_template = "admin/cms_change_list.html"
-## change_form_template = "admin/cms_change_form.html"
-#
-## admin_site.register(Page, CmsPageAdmin)
-#
-## from cms.plugins.snippet.models import Snippet
-## from cms.plugins.snippet.admin import SnippetAdmin
-#
-## class CmsSnippetAdmin(SnippetAdmin):
-## change_form_template = "admin/page_change_form.html"
-## change_list_template = "admin/page_change_list.html"
-## admin_site.register(Snippet, CmsSnippetAdmin)
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/ldt_utils/__init__.py
--- a/src/ldt/ldt/ldt_utils/__init__.py Fri May 25 17:47:20 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/__init__.py Fri May 25 17:50:54 2012 +0200
@@ -1,2 +1,2 @@
-VERSION = (0, 1)
-VERSION_STR = unicode(".".join(map(lambda i:"%02d" % (i,), VERSION)))
\ No newline at end of file
+#initialize
+from ldt.ldt_utils import contentindexer
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/ldt_utils/contentindexer.py
--- a/src/ldt/ldt/ldt_utils/contentindexer.py Fri May 25 17:47:20 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/contentindexer.py Fri May 25 17:50:54 2012 +0200
@@ -130,70 +130,70 @@
class ContentIndexer(LdtIndexer):
- def __init__(self, contentList, writer, decoupage_blackList=settings.DECOUPAGE_BLACKLIST, callback=None):
- super(ContentIndexer, self).__init__(writer, decoupage_blackList)
- self.__contentList = contentList
- self.__callback = callback
-
- def index_all(self):
- for i,content in enumerate(self.__contentList):
- if self.__callback:
- self.__callback(i,content)
- self.index_content(content)
-
- def index_content(self, content):
+ def __init__(self, contentList, writer, decoupage_blackList=settings.DECOUPAGE_BLACKLIST, callback=None):
+ super(ContentIndexer, self).__init__(writer, decoupage_blackList)
+ self.__contentList = contentList
+ self.__callback = callback
+
+ def index_all(self):
+ for i,content in enumerate(self.__contentList):
+ if self.__callback:
+ self.__callback(i,content)
+ self.index_content(content)
- url = content.iri_url()
- filepath = urllib.urlopen(url)
- doc = lxml.etree.parse(filepath) #@UndefinedVariable
-
- self.writer.deleteDocuments(lucene.Term("iri_id", content.iri_id))
- Segment.objects.filter(iri_id=content.iri_id).delete() #@UndefinedVariable
-
- res = doc.xpath("/iri/body/ensembles/ensemble")
+ def index_content(self, content):
+
+ url = content.iri_url()
+ filepath = urllib.urlopen(url)
+ doc = lxml.etree.parse(filepath) #@UndefinedVariable
+
+ self.writer.deleteDocuments(lucene.Term("iri_id", content.iri_id))
+ Segment.objects.filter(iri_id=content.iri_id).delete() #@UndefinedVariable
+
+ res = doc.xpath("/iri/body/ensembles/ensemble")
- for ensemble in res:
- self.index_ensemble(ensemble, content)
-
- self.writer.commit()
+ for ensemble in res:
+ self.index_ensemble(ensemble, content)
+
+ self.writer.commit()
class ProjectIndexer(LdtIndexer):
-
- def __init__(self, projectList, writer, decoupage_blackList=settings.DECOUPAGE_BLACKLIST, callback=None):
- super(ProjectIndexer, self).__init__(writer, decoupage_blackList)
- self.__projectList = projectList
- self.__callback = callback
-
- def index_all(self):
- for i,project in enumerate(self.__projectList):
- if self.__callback:
- self.__callback(i,project)
- self.index_project(project)
-
- def index_project(self, project):
-
- # pocketfilms.utils.log.debug("Indexing project : "+str(project.iri_id))
- doc = lxml.etree.fromstring(project.ldt_encoded) #@UndefinedVariable
+ def __init__(self, projectList, writer, decoupage_blackList=settings.DECOUPAGE_BLACKLIST, callback=None):
+ super(ProjectIndexer, self).__init__(writer, decoupage_blackList)
+ self.__projectList = projectList
+ self.__callback = callback
+
+ def index_all(self):
+ for i,project in enumerate(self.__projectList):
+ if self.__callback:
+ self.__callback(i,project)
+
+ self.index_project(project)
+
+ def index_project(self, project):
+
+ # pocketfilms.utils.log.debug("Indexing project : "+str(project.iri_id))
+ doc = lxml.etree.fromstring(project.ldt_encoded) #@UndefinedVariable
- self.writer.deleteDocuments(lucene.Term("project_id", project.ldt_id))
- Segment.objects.filter(project_obj__ldt_id=project.ldt_id).delete() #@UndefinedVariable
-
- res = doc.xpath("/iri/annotations/content")
+ self.writer.deleteDocuments(lucene.Term("project_id", project.ldt_id))
+ Segment.objects.filter(project_obj__ldt_id=project.ldt_id).delete() #@UndefinedVariable
+
+ res = doc.xpath("/iri/annotations/content")
+
+ for content in res:
+ contentId = content.get(u"id", None)
+ content_obj = None
- for content in res:
- contentId = content.get(u"id", None)
- content_obj = None
-
- clist = Content.objects.filter(iri_id = contentId) #@UndefinedVariable
- if len(clist) > 0:
- content_obj = clist[0]
-
- for ensemble in content.getchildren():
- self.index_ensemble(ensemble, content_obj, project)
-
- self.writer.commit()
+ clist = Content.objects.filter(iri_id = contentId) #@UndefinedVariable
+ if len(clist) > 0:
+ content_obj = clist[0]
+
+ for ensemble in content.getchildren():
+ self.index_ensemble(ensemble, content_obj, project)
+
+ self.writer.commit()
@receiver(post_save, sender=Project)
def index_project(sender, **kwargs):
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html Fri May 25 17:47:20 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html Fri May 25 17:50:54 2012 +0200
@@ -50,9 +50,9 @@
|
{% ifequal project.state 2 %}
-
+
{% else %}
-
+
{% endifequal %}
|
{% thumbnail project.image "50x50" crop="center" format="PNG" as im %} {% empty %} {% endthumbnail %} |
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html Fri May 25 17:47:20 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html Fri May 25 17:50:54 2012 +0200
@@ -17,7 +17,7 @@
|
|
-
+
|
{% thumbnail project.image "50x50" crop="center" format="PNG" as im %} {% empty %} {% endthumbnail %} |
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/locale/en/LC_MESSAGES/django.mo
Binary file src/ldt/ldt/locale/en/LC_MESSAGES/django.mo has changed
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/locale/en/LC_MESSAGES/django.po
--- a/src/ldt/ldt/locale/en/LC_MESSAGES/django.po Fri May 25 17:47:20 2012 +0200
+++ b/src/ldt/ldt/locale/en/LC_MESSAGES/django.po Fri May 25 17:50:54 2012 +0200
@@ -1,20 +1,21 @@
# 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 , YEAR.
-#
+# Yves-Marie Haussonne , 2012.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-03-13 12:32+0100\n"
-"PO-Revision-Date: 2010-02-17 03:53+0100\n"
+"POT-Creation-Date: 2012-04-27 19:39+0200\n"
+"PO-Revision-Date: 2012-04-29 22:26+0200\n"
"Last-Translator: Yves-Marie Haussonne \n"
-"Language-Team: LANGUAGE \n"
-"Language: \n"
+"Language-Team: IRI\n"
+"Language: en\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"
+"X-Generator: Virtaal 0.7.0-mac-beta-1\n"
#: forms/widgets.py:17
msgid "Date"
@@ -24,8 +25,7 @@
msgid "Time"
msgstr "Time"
-#: ldt_utils/forms.py:32
-#: ldt_utils/templates/front/front_base.html:52
+#: ldt_utils/forms.py:32 ldt_utils/templates/front/front_base.html:52
#: ldt_utils/templates/ldt/ldt_utils/published_projects.html:53
msgid "Search"
msgstr "search"
@@ -34,8 +34,7 @@
msgid "all"
msgstr "all"
-#: ldt_utils/forms.py:33
-#: ldt_utils/models.py:54
+#: ldt_utils/forms.py:33 ldt_utils/models.py:54
#: ldt_utils/templates/ldt/ldt_utils/content_list.html:69
msgid "title"
msgstr "title"
@@ -60,8 +59,7 @@
msgid "Content Tag"
msgstr "Content category"
-#: ldt_utils/forms.py:52
-#: ldt_utils/models.py:132
+#: ldt_utils/forms.py:52 ldt_utils/models.py:132
msgid "content.content_creation_date"
msgstr "content creation date"
@@ -178,18 +176,16 @@
msgstr "duration (ms)"
#: ldt_utils/models.py:445
-#, fuzzy
msgid "content_stat.content"
-msgstr "annotation distribution"
+msgstr "annotation statistics"
#: ldt_utils/models.py:446
-#, fuzzy
msgid "content_stat.annotations_volume"
-msgstr "annotation distribution"
+msgstr "annotation volume"
#: ldt_utils/models.py:447
msgid "content_stat.polemics_volume"
-msgstr ""
+msgstr "Annotation volume"
#: ldt_utils/models.py:448
msgid "content.nb_annotation"
@@ -197,7 +193,7 @@
#: ldt_utils/models.py:449
msgid "content.last_annotated"
-msgstr "last updated"
+msgstr "last annotated"
#: ldt_utils/models.py:504
msgid "created by"
@@ -207,8 +203,7 @@
msgid "changed by"
msgstr "changed by"
-#: ldt_utils/utils.py:208
-#: ldt_utils/utils.py:390
+#: ldt_utils/utils.py:208 ldt_utils/utils.py:390
msgid "Personal cutting"
msgstr "Personal cutting"
@@ -294,8 +289,7 @@
#: ldt_utils/templates/front/front_base.html:69
#: templates/cms/admin/cms/page/change_form.html:11
-#: templates/ldt/ldt_base.html:97
-#: user/templates/ldt/user/login_form.html:34
+#: templates/ldt/ldt_base.html:97 user/templates/ldt/user/login_form.html:34
msgid "Log out"
msgstr "Log out"
@@ -339,7 +333,7 @@
#: ldt_utils/templates/front/front_home.html:7
msgid "front.home"
-msgstr ""
+msgstr "Ligne de Temps Platform"
#: ldt_utils/templates/front/front_home.html:31
msgid "Last annotated medias"
@@ -374,7 +368,7 @@
msgstr[0] "%(nb)s user in this group"
msgstr[1] "%(nb)s users in this group"
-#: ldt_utils/templates/front/front_player.html:96
+#: ldt_utils/templates/front/front_player.html:101
msgid "All annotations on the media"
msgstr "All annotations on the media"
@@ -396,6 +390,8 @@
" No results for %(search)s with the medias tagged %(tag_label)s"
msgstr ""
+" No results for %(search)s with the medias tagged "
+"%(tag_label)s"
#: ldt_utils/templates/front/front_search_results.html:55
msgid "See for all medias"
@@ -510,7 +506,7 @@
#: ldt_utils/templates/ldt/ldt_utils/create_content.html:52
#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:48
msgid "more options"
-msgstr ""
+msgstr "more options"
#: ldt_utils/templates/ldt/ldt_utils/create_content.html:56
#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:52
@@ -521,7 +517,8 @@
msgid ""
"The operation could not be performed because one or more error(s) occurred."
" Please resubmit the media form after making the following changes:"
-msgstr "The operation could not be performed because one or more error(s) occurred."
+msgstr ""
+"The operation could not be performed because one or more error(s) occurred."
" Please resubmit the media form after making the following changes:"
#: ldt_utils/templates/ldt/ldt_utils/create_content.html:84
@@ -686,7 +683,8 @@
msgid ""
"Your current work is modified. Click Cancel and save it one last time before "
"leaving. Click OK to leave without saving."
-msgstr "Your current work is modified. Click Cancel and save it one last time before "
+msgstr ""
+"Your current work is modified. Click Cancel and save it one last time before "
"leaving. Click OK to leave without saving."
#: ldt_utils/templates/ldt/ldt_utils/ldt_list.html:78
@@ -889,3 +887,673 @@
msgid "confirm delete content"
msgstr "Confirm delete content"
+#: ldt_utils/views/content.py:321
+#, python-format
+msgid ""
+"Content '%(title)s' is referenced by this project : %(project_titles)s. "
+"Please delete it beforehand."
+msgid_plural ""
+"Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. "
+"Please delete them beforehand."
+msgstr[0] ""
+"Content '%(title)s' is referenced by this project : %(project_titles)s. "
+"Please delete it beforehand."
+msgstr[1] ""
+"Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. "
+"Please delete them beforehand."
+
+#: ldt_utils/views/json.py:34 ldt_utils/views/rdf.py:15
+#: ldt_utils/views/workspace.py:108
+msgid "You can not access this project"
+msgstr "You can not access this project"
+
+#: ldt_utils/views/project.py:110
+#, python-format
+msgid "the project %(title)s is published. please unpublish before deleting."
+msgstr "the project %(title)s is published. please unpublish before deleting."
+
+#: ldt_utils/views/project.py:111 ldt_utils/views/project.py:115
+msgid "can not delete the project. Please correct the following error"
+msgstr "can not delete the project. Please correct the following error"
+
+#: ldt_utils/views/project.py:112 ldt_utils/views/project.py:116
+msgid "title error deleting project"
+msgstr "Error when deleting project"
+
+#: 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 ""
+"the project %(title)s is the front project of %(content)s. please delete "
+"this content first."
+
+#: ldt_utils/views/project.py:118
+#, python-format
+msgid "please confirm deleting project %(title)s"
+msgstr "please confirm deleting project %(title)s"
+
+#: ldt_utils/views/project.py:119
+msgid "confirm deletion"
+msgstr "Confirm deletion"
+
+#: templates/admin/cms_change_form.html:30
+msgid "Approve page deletion"
+msgstr "Approve page deletion"
+
+#: templates/admin/cms_change_form.html:36
+#, python-format
+msgid "(requires approvement at %(moderation_level)s level)"
+msgstr "(requires approvement at %(moderation_level)s level)"
+
+#: templates/admin/cms_change_form.html:37
+msgid "(you can perform actions on this page directly)"
+msgstr "(you can perform actions on this page directly)"
+
+#: templates/admin/cms_change_form.html:50
+msgid "Remove delete request"
+msgstr "Remove delete request"
+
+#: templates/admin/cms_change_form.html:52
+msgid "Approve delete"
+msgstr "Approve delete"
+
+#: templates/admin/cms_change_form.html:52
+msgid "Approve"
+msgstr "Approve"
+
+#: templates/admin/cms_change_form.html:52
+#: templates/admin/cms_change_form.html:53
+msgid "draft"
+msgstr "draft"
+
+#: templates/admin/cms_change_form.html:53
+msgid "Preview"
+msgstr "Preview"
+
+#: templates/admin/cms_change_form.html:56
+#: templates/admin/page_change_form.html:27
+msgid "History"
+msgstr "History"
+
+#: templates/admin/cms_change_form.html:57
+#: templates/admin/page_change_form.html:28
+msgid "View on site"
+msgstr "View on site"
+
+#: templates/admin/cms_change_form.html:87
+#: templates/admin/page_change_form.html:38
+#: templates/admin/page_change_list.html:54
+#: templates/cms/admin/cms/page/change_form.html:24
+msgid "Please correct the error below."
+msgid_plural "Please correct the errors below."
+msgstr[0] "Please correct the error below."
+msgstr[1] "Please correct the errors below."
+
+#: templates/admin/cms_change_form.html:107
+msgid "All permissions"
+msgstr "All permissions"
+
+#: templates/admin/cms_change_form.html:108
+#: templates/admin/cms_change_form.html:120
+msgid "Loading..."
+msgstr "Loading..."
+
+#: templates/admin/cms_change_form.html:119
+msgid "Page states"
+msgstr "Page states"
+
+#: templates/admin/cms_change_form.html:142
+#, python-format
+msgid ""
+"This page must be moderated at level %(moderation_level)s, post a message "
+"for moderator."
+msgstr ""
+"This page must be moderated at level %(moderation_level)s, post a message "
+"for moderator."
+
+#: templates/admin/cms_change_form.html:144
+msgid "Request approvemet"
+msgstr "Request approvement"
+
+#: templates/admin/cms_change_form.html:234
+#: user/templates/registration/registration_form.html:16
+msgid "Save"
+msgstr "Save"
+
+#: templates/admin/cms_change_form.html:235
+msgid "Save and continue editing"
+msgstr "Save and continue editing"
+
+#: templates/admin/cms_change_list.html:51
+msgid "Successfully moved"
+msgstr "Successfully moved"
+
+#: templates/admin/cms_change_list.html:76
+#, python-format
+msgid "Recover deleted %(name)s"
+msgstr "Recover deleted %(name)s"
+
+#: templates/admin/cms_change_list.html:79
+#: templates/admin/page_change_list.html:46
+#, python-format
+msgid "Add %(name)s"
+msgstr "Add %(name)s"
+
+#: templates/admin/cms_change_list.html:91
+msgid "Pages on:"
+msgstr "Pages on:"
+
+#: templates/admin/cms_change_list.html:108
+msgid "on"
+msgstr "on"
+
+#: templates/admin/cms_change_list.html:108
+msgid "off"
+msgstr "off"
+
+#: templates/admin/cms_change_list.html:110
+#: templates/admin/page_change_list.html:65
+msgid "Filter"
+msgstr "Filter"
+
+#: templates/admin/index.html:18 templates/admin/page_index.html:18
+#, python-format
+msgid "Models available in the %(name)s application."
+msgstr "Models available in the %(name)s application."
+
+#: templates/admin/index.html:19 templates/admin/page_app_index.html:10
+#: templates/admin/page_index.html:19
+#, python-format
+msgid "%(name)s"
+msgstr "%(name)s"
+
+#: templates/admin/index.html:29 templates/admin/page_change_form.html:20
+#: templates/admin/page_index.html:29
+msgid "Add"
+msgstr "Add"
+
+#: templates/admin/index.html:35 templates/admin/page_index.html:35
+msgid "Change"
+msgstr "Change"
+
+#: templates/admin/index.html:64 templates/admin/page_index.html:45
+msgid "You don't have permission to edit anything."
+msgstr "You don't have permission to edit anything."
+
+#: templates/admin/index.html:72 templates/admin/page_index.html:53
+msgid "Recent Actions"
+msgstr "Recent Actions"
+
+#: templates/admin/index.html:73 templates/admin/page_index.html:54
+msgid "My Actions"
+msgstr "My Actions"
+
+#: templates/admin/index.html:77 templates/admin/page_index.html:58
+msgid "None available"
+msgstr "None available"
+
+#: templates/admin/index.html:91 templates/admin/page_index.html:72
+msgid "Unknown content"
+msgstr "Unknown content"
+
+#: templates/admin/page_base.html:20 templates/admin/page_index.html:11
+msgid "Pages"
+msgstr "Pages"
+
+#: templates/admin/page_base_site.html:7
+msgid "Django administration"
+msgstr "Django administration"
+
+#: templates/admin/page_login.html:8
+msgid "Connexion"
+msgstr "Connexion"
+
+#: templates/admin/page_login.html:20
+msgid "Username:"
+msgstr "Username:"
+
+#: templates/admin/page_login.html:24
+msgid "Password:"
+msgstr "Password:"
+
+#: templates/admin/page_login.html:29
+#: user/templates/registration/login.html:39
+msgid "Create an account"
+msgstr "Create an account"
+
+#: templates/admin/page_login.html:30
+#: user/templates/registration/login.html:40
+msgid "Forget password?"
+msgstr "Forget password?"
+
+#: templates/cms/admin/cms/page/change_form.html:11
+msgid "Documentation"
+msgstr "Documentation"
+
+#: templates/cms/admin/cms/page/change_form.html:11
+msgid "Change password"
+msgstr "Change password"
+
+#: templates/cms/admin/cms/page/change_form.html:42
+msgid "Ordering"
+msgstr "Ordering"
+
+#: templates/cms/admin/cms/page/change_form.html:45
+msgid "Order:"
+msgstr "Order:"
+
+#: templates/ldt/ldt_base.html:86
+msgid "header_title"
+msgstr "LDT Platform"
+
+#: templates/ldt/ldt_base.html:90
+msgid "Link to admin"
+msgstr "admin"
+
+#: templates/ldt/ldt_base.html:90
+msgid "Staff"
+msgstr "admin"
+
+#: templates/ldt/ldt_base.html:93
+msgid "front link"
+msgstr "front"
+
+#: templates/ldt/ldt_base.html:94
+#: user/templates/ldt/user/change_profile.html:95
+msgid "Profile change"
+msgstr "Profile change"
+
+#: templates/ldt/ldt_base.html:114 templates/ldt/ldt_base.html.py:115
+msgid "home"
+msgstr "Home"
+
+#: templates/ldt/ldt_base.html:148
+msgid "Version number"
+msgstr "Version"
+
+#: templates/ldt/ldt_base.html:148
+#, python-format
+msgid " web %(WEB_VERSION)s | platform %(VERSION)s"
+msgstr " web %(WEB_VERSION)s | platform %(VERSION)s"
+
+#: templates/ldt/ldt_raw_base.html:14
+msgid "page_title"
+msgstr "LDT Platform"
+
+#: text/models.py:17
+msgid "annotation.external_id"
+msgstr "external id"
+
+#: text/models.py:18
+msgid "annotation.uri"
+msgstr "annotation uri"
+
+#: text/models.py:19
+msgid "annotation.tags"
+msgstr "tags"
+
+#: text/models.py:20
+msgid "annotation.title"
+msgstr "title"
+
+#: text/models.py:21
+msgid "annotation.description"
+msgstr "description"
+
+#: text/models.py:22
+msgid "annotation.text"
+msgstr "text"
+
+#: text/models.py:23
+msgid "annotation.color"
+msgstr "color"
+
+#: text/models.py:24
+msgid "creator.title"
+msgstr "title"
+
+#: text/models.py:25
+msgid "contributor.title"
+msgstr "title"
+
+#: text/models.py:26
+msgid "annotation.creation_date"
+msgstr "creation date"
+
+#: text/models.py:27
+msgid "annotation.update_date"
+msgstr "update date"
+
+#: user/admin.py:27
+msgid "User details"
+msgstr "User details"
+
+#: user/admin.py:28
+msgid "Groups"
+msgstr "Groups"
+
+#: user/admin.py:29
+msgid "Permissions"
+msgstr "Permissions"
+
+#: user/admin.py:40 user/templates/ldt/user/change_profile.html:105
+#: user/templates/ldt/user/login_form.html:61
+msgid "Password"
+msgstr "Password"
+
+#: user/forms.py:27 user/templates/ldt/user/change_password.html:40
+#: user/templates/ldt/user/change_profile.html:118
+msgid "New password"
+msgstr "New password"
+
+#: user/forms.py:29 user/templates/ldt/user/change_password.html:50
+#: user/templates/ldt/user/change_profile.html:131
+msgid "New password confirmation"
+msgstr "New password confirmation"
+
+#: user/forms.py:58 user/forms.py:59
+msgid "E-mail"
+msgstr "E-mail"
+
+#: user/forms.py:70
+msgid "The two emails didn't match."
+msgstr "The two emails didn't match."
+
+#: user/forms.py:81 user/templates/ldt/user/change_profile.html:54
+msgid "First name"
+msgstr "First name"
+
+#: user/forms.py:82
+msgid "Last name"
+msgstr "Last name"
+
+#: user/forms.py:109 user/templates/ldt/user/change_profile.html:83
+msgid "Language"
+msgstr "Language"
+
+#: user/forms.py:123
+msgid "Profile picture"
+msgstr "Profile picture"
+
+#: user/forms.py:133
+#, python-format
+msgid "Image size is limited to %s"
+msgstr "Image size is limited to %s"
+
+#: user/views.py:28
+msgid "Your profile has been updated."
+msgstr "Your profile has been updated."
+
+#: user/views.py:52
+msgid "Your password has been updated."
+msgstr "Your password has been updated."
+
+#: user/views.py:76
+msgid "Your profile picture has been updated."
+msgstr "Your profile picture has been updated."
+
+#: user/views.py:98 user/templates/registration/login.html:24
+msgid "Sorry, that's not a valid username or password."
+msgstr "Sorry, that's not a valid username or password."
+
+#: user/templates/ldt/user/change_password.html:31
+msgid "Old password"
+msgstr "Old password"
+
+#: user/templates/ldt/user/change_password.html:44
+msgid "passwords don't match"
+msgstr "passwords don't match"
+
+#: user/templates/ldt/user/change_password.html:57
+#: user/templates/ldt/user/change_profile.html:144
+#: user/templates/registration/password_change_form.html:14
+#: user/templates/registration/password_change_form.html:17
+msgid "Password change"
+msgstr "Password change"
+
+#: user/templates/ldt/user/change_password.html:61
+msgid "Your new password has been saved."
+msgstr "Your new password has been saved."
+
+#: user/templates/ldt/user/change_profile.html:19
+msgid "Invalid extension ! Your file has to be JPG, JPEG or PNG."
+msgstr "Invalid extension ! Your file has to be JPG, JPEG or PNG."
+
+#: user/templates/ldt/user/change_profile.html:43
+msgid "Username"
+msgstr "Username"
+
+#: user/templates/ldt/user/change_profile.html:70
+msgid "Email"
+msgstr "Email"
+
+#: user/templates/ldt/user/change_profile.html:175
+msgid "Profile picture change"
+msgstr "Profile picture change"
+
+#: user/templates/ldt/user/login_form.html:32
+#: user/templates/registration/password_change_done.html:7
+#: user/templates/registration/password_change_form.html:13
+msgid "Profiles"
+msgstr "Profiles"
+
+#: user/templates/ldt/user/login_form.html:50
+msgid "create account"
+msgstr "create account"
+
+#: user/templates/ldt/user/login_form.html:54
+msgid "Pseudo"
+msgstr "Nickname"
+
+#: user/templates/ldt/user/login_form.html:57
+#: user/templates/ldt/user/login_form.html:64
+msgid "this field is compulsory"
+msgstr "this field is compulsory"
+
+#: user/templates/ldt/user/login_form.html:68
+msgid "reset password"
+msgstr "reset password"
+
+#: user/templates/ldt/user/login_form.html:71
+msgid "Connection"
+msgstr "Connexion"
+
+#: user/templates/registration/activate.html:6
+#: user/templates/registration/activate.html:9
+msgid "Activate account"
+msgstr "Activate account"
+
+#: user/templates/registration/activate.html:12
+msgid "You have activated your account"
+msgstr "You have activated your account"
+
+#: user/templates/registration/activate.html:13
+msgid "Go back to login page"
+msgstr "Go back to login page"
+
+#: user/templates/registration/activation_complete.html:4
+#: user/templates/registration/registration_complete.html:8
+msgid "Sign up successfully"
+msgstr "Sign up successfully"
+
+#: user/templates/registration/activation_complete.html:6
+msgid "activation completed"
+msgstr "activation completed"
+
+#: user/templates/registration/logged_out.html:8
+msgid "Thanks for spending some quality time with the Web site today."
+msgstr "Thak you for your visit"
+
+#: user/templates/registration/logged_out.html:10
+msgid "Log in again"
+msgstr "Log in"
+
+#: user/templates/registration/login.html:46
+msgid "login"
+msgstr "login"
+
+#: user/templates/registration/password_change_done.html:3
+#: user/templates/registration/password_change_done.html:11
+msgid "password change successful"
+msgstr "password change successful"
+
+#: user/templates/registration/password_change_done.html:8
+msgid "password change"
+msgstr "password change"
+
+#: user/templates/registration/password_change_done.html:14
+msgid "Your password has been changed."
+msgstr "Your password has been changed."
+
+#: user/templates/registration/password_change_done.html:15
+msgid "Go back to profiles"
+msgstr "Go back to profiles"
+
+#: user/templates/registration/password_change_form.html:20
+msgid ""
+"Please enter your old password, for security's sake, and then enter your new "
+"password twice so we can verify you typed it in correctly."
+msgstr ""
+"Please enter your old password, for security's sake, and then enter your new "
+"password twice so we can verify you typed it in correctly."
+
+#: user/templates/registration/password_change_form.html:26
+msgid "Old password:"
+msgstr "Old password:"
+
+#: user/templates/registration/password_change_form.html:32
+#: user/templates/registration/password_reset_confirm.html:19
+msgid "New password:"
+msgstr "New password:"
+
+#: user/templates/registration/password_change_form.html:38
+#: user/templates/registration/password_reset_confirm.html:21
+msgid "Confirm password:"
+msgstr "Confirm password:"
+
+#: user/templates/registration/password_change_form.html:44
+#: user/templates/registration/password_reset_confirm.html:22
+msgid "Change my password"
+msgstr "Change my password"
+
+#: user/templates/registration/password_reset_complete.html:6
+#: user/templates/registration/password_reset_confirm.html:6
+#: user/templates/registration/password_reset_confirm.html:9
+#: user/templates/registration/password_reset_done.html:6
+#: user/templates/registration/password_reset_form.html:13
+#: user/templates/registration/password_reset_form.html:15
+#: user/templates/registration/password_reset_form.html:18
+msgid "Password reset"
+msgstr "Password reset"
+
+#: user/templates/registration/password_reset_complete.html:9
+msgid "Password reset complete"
+msgstr "Password reset complete"
+
+#: user/templates/registration/password_reset_complete.html:12
+msgid "Your password has been set. You may go ahead and log in now."
+msgstr "Your password has been set. You may go ahead and log in now."
+
+#: user/templates/registration/password_reset_confirm.html:15
+msgid ""
+"Please enter your new password twice so we can verify you typed it in "
+"correctly."
+msgstr ""
+"Please enter your new password twice so we can verify you typed it in "
+"correctly."
+
+#: user/templates/registration/password_reset_confirm.html:27
+msgid "Password reset unsuccessful"
+msgstr "Password reset unsuccessful"
+
+#: user/templates/registration/password_reset_confirm.html:29
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+
+#: user/templates/registration/password_reset_done.html:8
+msgid "Password reset successful"
+msgstr "Password reset successful"
+
+#: user/templates/registration/password_reset_done.html:12
+msgid ""
+"We've e-mailed you instructions for setting your password to the e-mail "
+"address you submitted. You should be receiving it shortly."
+msgstr ""
+"We've e-mailed you instructions for setting your password to the e-mail "
+"address you submitted. You should be receiving it shortly."
+
+#: user/templates/registration/password_reset_email.html:2
+msgid "You're receiving this e-mail because you requested a password reset"
+msgstr "You're receiving this e-mail because you requested a password reset"
+
+#: user/templates/registration/password_reset_email.html:3
+#, python-format
+msgid "for your user account at %(site_name)s"
+msgstr "for your user account at %(site_name)s"
+
+#: user/templates/registration/password_reset_email.html:5
+msgid "Please go to the following page and choose a new password:"
+msgstr "Please go to the following page and choose a new password:"
+
+#: user/templates/registration/password_reset_email.html:9
+msgid "Your username, in case you've forgotten:"
+msgstr "Your username, in case you've forgotten:"
+
+#: user/templates/registration/password_reset_email.html:11
+msgid "Thanks for using our site!"
+msgstr "Thanks for using our site!"
+
+#: user/templates/registration/password_reset_email.html:13
+#, python-format
+msgid "The %(site_name)s team"
+msgstr "The %(site_name)s team"
+
+#: user/templates/registration/password_reset_form.html:22
+msgid ""
+"Forgotten your password? Enter your e-mail address below, and we'll e-mail "
+"instructions for setting a new one."
+msgstr ""
+"Forgotten your password? Enter your e-mail address below, and we'll e-mail "
+"instructions for setting a new one."
+
+#: user/templates/registration/password_reset_form.html:27
+msgid "Adresse émail"
+msgstr "Email address"
+
+#: user/templates/registration/password_reset_form.html:32
+msgid "Reset my password"
+msgstr "Reset my password"
+
+#: user/templates/registration/registration_active.html:5
+#: user/templates/registration/registration_active.html:7
+msgid "Activate the account"
+msgstr "Activate the account"
+
+#: user/templates/registration/registration_active.html:9
+msgid ""
+"Vous avez bien activé votre compte, vous pouvez accedez à votre espace "
+"personnel."
+msgstr "You have activated your account, you can access your personnal space"
+
+#: user/templates/registration/registration_active.html:10
+msgid "retourner à la page de connexion"
+msgstr "Back to the login page"
+
+#: user/templates/registration/registration_complete.html:6
+#: user/templates/registration/registration_form.html:11
+msgid "Sign up"
+msgstr "Sign up"
+
+#: user/templates/registration/registration_complete.html:10
+msgid ""
+"We've e-mailed you instructions for activate your account to the e-mail "
+"address you submitted. You should be receiving it shortly."
+msgstr ""
+"We've e-mailed you instructions for activate your account to the e-mail "
+"address you submitted. You should be receiving it shortly."
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/locale/fr/LC_MESSAGES/django.po
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Fri May 25 17:47:20 2012 +0200
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Fri May 25 17:50:54 2012 +0200
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-03-13 12:32+0100\n"
+"POT-Creation-Date: 2012-04-27 19:39+0200\n"
"PO-Revision-Date: 2010-03-09 15:52+0100\n"
"Last-Translator: Yves-Marie Haussonne \n"
"Language-Team: LANGUAGE \n"
@@ -24,8 +24,7 @@
msgid "Time"
msgstr "Heure"
-#: ldt_utils/forms.py:32
-#: ldt_utils/templates/front/front_base.html:52
+#: ldt_utils/forms.py:32 ldt_utils/templates/front/front_base.html:52
#: ldt_utils/templates/ldt/ldt_utils/published_projects.html:53
msgid "Search"
msgstr "Recherche"
@@ -34,8 +33,7 @@
msgid "all"
msgstr "tous"
-#: ldt_utils/forms.py:33
-#: ldt_utils/models.py:54
+#: ldt_utils/forms.py:33 ldt_utils/models.py:54
#: ldt_utils/templates/ldt/ldt_utils/content_list.html:69
msgid "title"
msgstr "titre"
@@ -60,8 +58,7 @@
msgid "Content Tag"
msgstr "Catégorie de contenu"
-#: ldt_utils/forms.py:52
-#: ldt_utils/models.py:132
+#: ldt_utils/forms.py:52 ldt_utils/models.py:132
msgid "content.content_creation_date"
msgstr "Date de création du contenu"
@@ -205,8 +202,7 @@
msgid "changed by"
msgstr "modifié par"
-#: ldt_utils/utils.py:208
-#: ldt_utils/utils.py:390
+#: ldt_utils/utils.py:208 ldt_utils/utils.py:390
msgid "Personal cutting"
msgstr "Découpages personnels"
@@ -292,8 +288,7 @@
#: ldt_utils/templates/front/front_base.html:69
#: templates/cms/admin/cms/page/change_form.html:11
-#: templates/ldt/ldt_base.html:97
-#: user/templates/ldt/user/login_form.html:34
+#: templates/ldt/ldt_base.html:97 user/templates/ldt/user/login_form.html:34
msgid "Log out"
msgstr "Déconnexion"
@@ -372,7 +367,7 @@
msgstr[0] "%(nb)s utilisateur dans ce groupe"
msgstr[1] "%(nb)s utilisateurs dans ce groupe"
-#: ldt_utils/templates/front/front_player.html:96
+#: ldt_utils/templates/front/front_player.html:101
msgid "All annotations on the media"
msgstr "Toutes les annotations sur le média"
@@ -393,7 +388,9 @@
msgid ""
" No results for %(search)s with the medias tagged %(tag_label)s"
-msgstr "Aucun résultat pour %(search)s avec les médias taggués %(tag_label)s"
+msgstr ""
+"Aucun résultat pour %(search)s avec les médias taggués %(tag_label)s"
#: ldt_utils/templates/front/front_search_results.html:55
msgid "See for all medias"
@@ -519,7 +516,8 @@
msgid ""
"The operation could not be performed because one or more error(s) occurred."
" Please resubmit the media form after making the following changes:"
-msgstr "opération impossible à cause d'une ou plusieurs erreurs. Veuillez "
+msgstr ""
+"opération impossible à cause d'une ou plusieurs erreurs. Veuillez "
"resoumettre le formulaire media après avoir fait les changements suivants:"
#: ldt_utils/templates/ldt/ldt_utils/create_content.html:84
@@ -684,7 +682,8 @@
msgid ""
"Your current work is modified. Click Cancel and save it one last time before "
"leaving. Click OK to leave without saving."
-msgstr "Vous avez un travail en cours. Cliquez sur Annuler et sauvegardez votre "
+msgstr ""
+"Vous avez un travail en cours. Cliquez sur Annuler et sauvegardez votre "
"travail une dernière fois. Cliquez sur OK pour quitter sans sauvegarder."
#: ldt_utils/templates/ldt/ldt_utils/ldt_list.html:78
@@ -887,3 +886,679 @@
msgid "confirm delete content"
msgstr "Confirmation effacement contenu"
+#: ldt_utils/views/content.py:321
+#, python-format
+msgid ""
+"Content '%(title)s' is referenced by this project : %(project_titles)s. "
+"Please delete it beforehand."
+msgid_plural ""
+"Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. "
+"Please delete them beforehand."
+msgstr[0] ""
+"Le contenu '%(title)s' est référencé par le projet '%(project_titles)s'."
+"Veuillez l'effacer préalablement."
+msgstr[1] ""
+"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:34 ldt_utils/views/rdf.py:15
+#: ldt_utils/views/workspace.py:108
+msgid "You can not access this project"
+msgstr "vous n'avez pas l'autorisation d'accéder à ce projet"
+
+#: 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: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: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: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 "Veuillez confirmer l'effacement du contenu %(title)s"
+
+#: ldt_utils/views/project.py:119
+msgid "confirm deletion"
+msgstr "Confirmation d'effacement"
+
+#: templates/admin/cms_change_form.html:30
+msgid "Approve page deletion"
+msgstr "Accepter l'effacement de la page"
+
+#: templates/admin/cms_change_form.html:36
+#, python-format
+msgid "(requires approvement at %(moderation_level)s level)"
+msgstr "(Demande l'approbation au niveau %(moderation_level)s)"
+
+#: templates/admin/cms_change_form.html:37
+msgid "(you can perform actions on this page directly)"
+msgstr "(Vous pouvez agir sur cette page directement)"
+
+#: templates/admin/cms_change_form.html:50
+msgid "Remove delete request"
+msgstr "Effacer la requête d'affacement"
+
+#: templates/admin/cms_change_form.html:52
+msgid "Approve delete"
+msgstr "Accepter l'effacement"
+
+#: templates/admin/cms_change_form.html:52
+msgid "Approve"
+msgstr "Accepter"
+
+#: templates/admin/cms_change_form.html:52
+#: templates/admin/cms_change_form.html:53
+msgid "draft"
+msgstr "brouillon"
+
+#: templates/admin/cms_change_form.html:53
+msgid "Preview"
+msgstr "Aperçu"
+
+#: templates/admin/cms_change_form.html:56
+#: templates/admin/page_change_form.html:27
+msgid "History"
+msgstr "Historique"
+
+#: templates/admin/cms_change_form.html:57
+#: templates/admin/page_change_form.html:28
+msgid "View on site"
+msgstr "Voir sur le site"
+
+#: templates/admin/cms_change_form.html:87
+#: templates/admin/page_change_form.html:38
+#: templates/admin/page_change_list.html:54
+#: templates/cms/admin/cms/page/change_form.html:24
+msgid "Please correct the error below."
+msgid_plural "Please correct the errors below."
+msgstr[0] "Veuillez corriger l'erreur ci-dessous"
+msgstr[1] "Veuillez corriger les erreurs ci-dessous"
+
+#: templates/admin/cms_change_form.html:107
+msgid "All permissions"
+msgstr "Toutes les permissions"
+
+#: templates/admin/cms_change_form.html:108
+#: templates/admin/cms_change_form.html:120
+msgid "Loading..."
+msgstr "Chargement..."
+
+#: templates/admin/cms_change_form.html:119
+msgid "Page states"
+msgstr "Etat de la page"
+
+#: templates/admin/cms_change_form.html:142
+#, python-format
+msgid ""
+"This page must be moderated at level %(moderation_level)s, post a message "
+"for moderator."
+msgstr ""
+"Le niveau nécessaire pour modérer cette page est le niveau %"
+"(moderation_level)s, laisser un message pour le modérateur"
+
+#: templates/admin/cms_change_form.html:144
+msgid "Request approvemet"
+msgstr "Demander l'approbation"
+
+#: templates/admin/cms_change_form.html:234
+#: user/templates/registration/registration_form.html:16
+msgid "Save"
+msgstr "Enregistrer"
+
+#: templates/admin/cms_change_form.html:235
+msgid "Save and continue editing"
+msgstr "Sauver et continuer l'édition"
+
+#: templates/admin/cms_change_list.html:51
+msgid "Successfully moved"
+msgstr "Déplacement réussi"
+
+#: templates/admin/cms_change_list.html:76
+#, python-format
+msgid "Recover deleted %(name)s"
+msgstr "Récupérer %(name)s effacé"
+
+#: templates/admin/cms_change_list.html:79
+#: templates/admin/page_change_list.html:46
+#, python-format
+msgid "Add %(name)s"
+msgstr "Ajouter %(name)s"
+
+#: templates/admin/cms_change_list.html:91
+msgid "Pages on:"
+msgstr "Pages sur :"
+
+#: templates/admin/cms_change_list.html:108
+msgid "on"
+msgstr "on"
+
+#: templates/admin/cms_change_list.html:108
+msgid "off"
+msgstr "off"
+
+#: templates/admin/cms_change_list.html:110
+#: templates/admin/page_change_list.html:65
+msgid "Filter"
+msgstr "Filtre"
+
+#: templates/admin/index.html:18 templates/admin/page_index.html:18
+#, python-format
+msgid "Models available in the %(name)s application."
+msgstr "Le modèle disponible dans l'application %(name)s."
+
+#: templates/admin/index.html:19 templates/admin/page_app_index.html:10
+#: templates/admin/page_index.html:19
+#, python-format
+msgid "%(name)s"
+msgstr "%(name)s"
+
+#: templates/admin/index.html:29 templates/admin/page_change_form.html:20
+#: templates/admin/page_index.html:29
+msgid "Add"
+msgstr "Ajouter"
+
+#: templates/admin/index.html:35 templates/admin/page_index.html:35
+msgid "Change"
+msgstr "modifié par"
+
+#: templates/admin/index.html:64 templates/admin/page_index.html:45
+msgid "You don't have permission to edit anything."
+msgstr "Vous n'avez pas l'autorisation d'édition."
+
+#: templates/admin/index.html:72 templates/admin/page_index.html:53
+msgid "Recent Actions"
+msgstr "Actions récentes"
+
+#: templates/admin/index.html:73 templates/admin/page_index.html:54
+msgid "My Actions"
+msgstr "Mes actions"
+
+#: templates/admin/index.html:77 templates/admin/page_index.html:58
+msgid "None available"
+msgstr "Aucune disponible"
+
+#: templates/admin/index.html:91 templates/admin/page_index.html:72
+msgid "Unknown content"
+msgstr "Contenu inconnu"
+
+#: templates/admin/page_base.html:20 templates/admin/page_index.html:11
+msgid "Pages"
+msgstr "Pages"
+
+#: templates/admin/page_base_site.html:7
+msgid "Django administration"
+msgstr "Administration de Django"
+
+#: templates/admin/page_login.html:8
+msgid "Connexion"
+msgstr "Connexion"
+
+#: templates/admin/page_login.html:20
+msgid "Username:"
+msgstr "Nom de utilisateur :"
+
+#: templates/admin/page_login.html:24
+msgid "Password:"
+msgstr "Mot de passe :"
+
+#: templates/admin/page_login.html:29
+#: user/templates/registration/login.html:39
+msgid "Create an account"
+msgstr "Créer un compte"
+
+#: templates/admin/page_login.html:30
+#: user/templates/registration/login.html:40
+msgid "Forget password?"
+msgstr "mot de pass oublié ?"
+
+#: templates/cms/admin/cms/page/change_form.html:11
+msgid "Documentation"
+msgstr "Documentation"
+
+#: templates/cms/admin/cms/page/change_form.html:11
+msgid "Change password"
+msgstr "Modifier le mot de passe"
+
+#: templates/cms/admin/cms/page/change_form.html:42
+msgid "Ordering"
+msgstr "Ordre"
+
+#: templates/cms/admin/cms/page/change_form.html:45
+msgid "Order:"
+msgstr "Ordre :"
+
+#: templates/ldt/ldt_base.html:86
+msgid "header_title"
+msgstr "Plateforme Ldt"
+
+#: templates/ldt/ldt_base.html:90
+msgid "Link to admin"
+msgstr "Administration"
+
+#: templates/ldt/ldt_base.html:90
+msgid "Staff"
+msgstr "admin"
+
+#: templates/ldt/ldt_base.html:93
+msgid "front link"
+msgstr "front"
+
+#: templates/ldt/ldt_base.html:94
+#: user/templates/ldt/user/change_profile.html:95
+msgid "Profile change"
+msgstr "Modification du profil"
+
+#: templates/ldt/ldt_base.html:114 templates/ldt/ldt_base.html.py:115
+msgid "home"
+msgstr "accueil"
+
+#: templates/ldt/ldt_base.html:148
+msgid "Version number"
+msgstr "Numéro de version"
+
+#: templates/ldt/ldt_base.html:148
+#, python-format
+msgid " web %(WEB_VERSION)s | platform %(VERSION)s"
+msgstr "web v%(WEB_VERSION)s | platform v%(VERSION)s "
+
+#: templates/ldt/ldt_raw_base.html:14
+msgid "page_title"
+msgstr "Plateforme Ldt"
+
+#: text/models.py:17
+msgid "annotation.external_id"
+msgstr "id externe"
+
+#: text/models.py:18
+msgid "annotation.uri"
+msgstr "uri"
+
+#: text/models.py:19
+msgid "annotation.tags"
+msgstr "tags"
+
+#: text/models.py:20
+msgid "annotation.title"
+msgstr "titre"
+
+#: text/models.py:21
+msgid "annotation.description"
+msgstr "description"
+
+#: text/models.py:22
+msgid "annotation.text"
+msgstr "texte d'annotation"
+
+#: text/models.py:23
+msgid "annotation.color"
+msgstr "couleur d'annotation"
+
+#: text/models.py:24
+msgid "creator.title"
+msgstr "titre"
+
+#: text/models.py:25
+msgid "contributor.title"
+msgstr "titre"
+
+#: text/models.py:26
+msgid "annotation.creation_date"
+msgstr "date de création"
+
+#: text/models.py:27
+msgid "annotation.update_date"
+msgstr "Date de maj"
+
+#: user/admin.py:27
+msgid "User details"
+msgstr "Détail utilisateur"
+
+#: user/admin.py:28
+msgid "Groups"
+msgstr "Groupes"
+
+#: user/admin.py:29
+msgid "Permissions"
+msgstr "Permissions"
+
+#: user/admin.py:40 user/templates/ldt/user/change_profile.html:105
+#: user/templates/ldt/user/login_form.html:61
+msgid "Password"
+msgstr "Mot de passe"
+
+#: user/forms.py:27 user/templates/ldt/user/change_password.html:40
+#: user/templates/ldt/user/change_profile.html:118
+msgid "New password"
+msgstr "Nouveau mot de passe"
+
+#: user/forms.py:29 user/templates/ldt/user/change_password.html:50
+#: user/templates/ldt/user/change_profile.html:131
+msgid "New password confirmation"
+msgstr "Confirmation du nouveau mot de passe"
+
+#: user/forms.py:58 user/forms.py:59
+msgid "E-mail"
+msgstr "E-mail"
+
+#: user/forms.py:70
+msgid "The two emails didn't match."
+msgstr "les deux emails ne correspondent pas"
+
+#: user/forms.py:81 user/templates/ldt/user/change_profile.html:54
+msgid "First name"
+msgstr "Prénom"
+
+#: user/forms.py:82
+msgid "Last name"
+msgstr "Nom"
+
+#: user/forms.py:109 user/templates/ldt/user/change_profile.html:83
+msgid "Language"
+msgstr "Langue"
+
+#: user/forms.py:123
+msgid "Profile picture"
+msgstr "Image de profil"
+
+#: 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:52
+msgid "Your password has been updated."
+msgstr "Votre mot de passe a été changeé."
+
+#: user/views.py:76
+msgid "Your profile picture has been updated."
+msgstr "Votre image de profil a été modifiée"
+
+#: user/views.py:98 user/templates/registration/login.html:24
+msgid "Sorry, that's not a valid username or password."
+msgstr "Saisissez un nom d'utilisateur et un mot de passe valide."
+
+#: user/templates/ldt/user/change_password.html:31
+msgid "Old password"
+msgstr "Ancien mot de passe"
+
+#: user/templates/ldt/user/change_password.html:44
+msgid "passwords don't match"
+msgstr "les mots de passe ne correspondent pas"
+
+#: user/templates/ldt/user/change_password.html:57
+#: user/templates/ldt/user/change_profile.html:144
+#: user/templates/registration/password_change_form.html:14
+#: user/templates/registration/password_change_form.html:17
+msgid "Password change"
+msgstr "Modification du mot de passe"
+
+#: user/templates/ldt/user/change_password.html:61
+msgid "Your new password has been saved."
+msgstr "Votre mot de passe a été changé."
+
+#: user/templates/ldt/user/change_profile.html:19
+msgid "Invalid extension ! Your file has to be JPG, JPEG or PNG."
+msgstr "extension invalide ! votre fichier doit être JPG, JPEG ou PNG"
+
+#: user/templates/ldt/user/change_profile.html:43
+msgid "Username"
+msgstr "Nom"
+
+#: user/templates/ldt/user/change_profile.html:70
+msgid "Email"
+msgstr "E-mail"
+
+#: user/templates/ldt/user/change_profile.html:175
+msgid "Profile picture change"
+msgstr "Modification de l'image de profil"
+
+#: user/templates/ldt/user/login_form.html:32
+#: user/templates/registration/password_change_done.html:7
+#: user/templates/registration/password_change_form.html:13
+msgid "Profiles"
+msgstr "Les profils"
+
+#: user/templates/ldt/user/login_form.html:50
+msgid "create account"
+msgstr "Créer un compte"
+
+#: user/templates/ldt/user/login_form.html:54
+msgid "Pseudo"
+msgstr "Pseudo"
+
+#: user/templates/ldt/user/login_form.html:57
+#: user/templates/ldt/user/login_form.html:64
+msgid "this field is compulsory"
+msgstr "Ce champs est obligatoire"
+
+#: user/templates/ldt/user/login_form.html:68
+msgid "reset password"
+msgstr "Réinitialiser le mot de passe"
+
+#: user/templates/ldt/user/login_form.html:71
+msgid "Connection"
+msgstr "Connexion"
+
+#: user/templates/registration/activate.html:6
+#: user/templates/registration/activate.html:9
+msgid "Activate account"
+msgstr "Activer le compte"
+
+#: user/templates/registration/activate.html:12
+msgid "You have activated your account"
+msgstr "Vous avez bien activé votre compte."
+
+#: user/templates/registration/activate.html:13
+msgid "Go back to login page"
+msgstr "Retourner à la page de connexion"
+
+#: user/templates/registration/activation_complete.html:4
+#: user/templates/registration/registration_complete.html:8
+msgid "Sign up successfully"
+msgstr "Création de compte avec succès"
+
+#: user/templates/registration/activation_complete.html:6
+msgid "activation completed"
+msgstr "Activation terminée"
+
+#: user/templates/registration/logged_out.html:8
+msgid "Thanks for spending some quality time with the Web site today."
+msgstr "Merci de votre visite."
+
+#: user/templates/registration/logged_out.html:10
+msgid "Log in again"
+msgstr "Se reconnecter"
+
+#: user/templates/registration/login.html:46
+msgid "login"
+msgstr "Connexion"
+
+#: user/templates/registration/password_change_done.html:3
+#: user/templates/registration/password_change_done.html:11
+msgid "password change successful"
+msgstr "Changement de mot de passe réussi"
+
+#: user/templates/registration/password_change_done.html:8
+msgid "password change"
+msgstr "Changement de mot de passe"
+
+#: user/templates/registration/password_change_done.html:14
+msgid "Your password has been changed."
+msgstr "Votre mot de passe a été changé."
+
+#: user/templates/registration/password_change_done.html:15
+msgid "Go back to profiles"
+msgstr "Retourner à la page de mon profil"
+
+#: user/templates/registration/password_change_form.html:20
+msgid ""
+"Please enter your old password, for security's sake, and then enter your new "
+"password twice so we can verify you typed it in correctly."
+msgstr ""
+"Par sécurité, veuillez enter votre ancien mot de passe puis le nouveau a "
+"deux reprise afin de savoir si vous l'avez taper correctement "
+
+#: user/templates/registration/password_change_form.html:26
+msgid "Old password:"
+msgstr "Ancien mot de passe :"
+
+#: user/templates/registration/password_change_form.html:32
+#: user/templates/registration/password_reset_confirm.html:19
+msgid "New password:"
+msgstr "Nouveau mot de passe :"
+
+#: user/templates/registration/password_change_form.html:38
+#: user/templates/registration/password_reset_confirm.html:21
+msgid "Confirm password:"
+msgstr "Confirmer le mot de passe :"
+
+#: user/templates/registration/password_change_form.html:44
+#: user/templates/registration/password_reset_confirm.html:22
+msgid "Change my password"
+msgstr "Modifier mon mot de passe"
+
+#: user/templates/registration/password_reset_complete.html:6
+#: user/templates/registration/password_reset_confirm.html:6
+#: user/templates/registration/password_reset_confirm.html:9
+#: user/templates/registration/password_reset_done.html:6
+#: user/templates/registration/password_reset_form.html:13
+#: user/templates/registration/password_reset_form.html:15
+#: user/templates/registration/password_reset_form.html:18
+msgid "Password reset"
+msgstr "Réinitialiser le mot de passe"
+
+#: user/templates/registration/password_reset_complete.html:9
+msgid "Password reset complete"
+msgstr "Réinitialisation du mot de passe terminée"
+
+#: user/templates/registration/password_reset_complete.html:12
+msgid "Your password has been set. You may go ahead and log in now."
+msgstr "Votre mot de passe a été défini. vous pouvez vous connecter maintenant."
+
+#: user/templates/registration/password_reset_confirm.html:15
+msgid ""
+"Please enter your new password twice so we can verify you typed it in "
+"correctly."
+msgstr ""
+"veuillez enter votre nouveau mot de pass deux fois afin de le vérifier."
+
+#: user/templates/registration/password_reset_confirm.html:27
+msgid "Password reset unsuccessful"
+msgstr "Reinitialisation du mot de pass a échoué"
+
+#: user/templates/registration/password_reset_confirm.html:29
+msgid ""
+"The password reset link was invalid, possibly because it has already been "
+"used. Please request a new password reset."
+msgstr ""
+"Le lien de réinitialisation du mot de passe n'est pas valide, certainement "
+"car il a déjà été utilisé. veuiller demander une nouvelle réinitialisation."
+
+#: user/templates/registration/password_reset_done.html:8
+msgid "Password reset successful"
+msgstr "Réinitialisation du mot de passe réussie"
+
+#: user/templates/registration/password_reset_done.html:12
+msgid ""
+"We've e-mailed you instructions for setting your password to the e-mail "
+"address you submitted. You should be receiving it shortly."
+msgstr ""
+"Nous vous avons envoyer les instructions de reinitialisation de votre mot de "
+"passe à l'adresse email que vous nous avez fournie. vous devriez les "
+"recevoir bientôt."
+
+#: user/templates/registration/password_reset_email.html:2
+msgid "You're receiving this e-mail because you requested a password reset"
+msgstr ""
+"Vous recevez ce mail car vous avez demander la réinitialisation du mot de "
+"passe"
+
+#: user/templates/registration/password_reset_email.html:3
+#, python-format
+msgid "for your user account at %(site_name)s"
+msgstr "Pour votre compte sur le site %(site_name)s"
+
+#: user/templates/registration/password_reset_email.html:5
+msgid "Please go to the following page and choose a new password:"
+msgstr ""
+"veuillez aller à la page suivante et choisissez un nouveau mot de passe :"
+
+#: user/templates/registration/password_reset_email.html:9
+msgid "Your username, in case you've forgotten:"
+msgstr "Pour rappel votre nom d'autilisateur :"
+
+#: user/templates/registration/password_reset_email.html:11
+msgid "Thanks for using our site!"
+msgstr "Merci de votre visite."
+
+#: user/templates/registration/password_reset_email.html:13
+#, python-format
+msgid "The %(site_name)s team"
+msgstr "L'équipe du site %(site_name)s"
+
+#: user/templates/registration/password_reset_form.html:22
+msgid ""
+"Forgotten your password? Enter your e-mail address below, and we'll e-mail "
+"instructions for setting a new one."
+msgstr ""
+"Mot de passe oublié ? Entrez votre adresse email ci-dessous pour recevoir "
+"les instructions pour en entrer un nouveau."
+
+#: user/templates/registration/password_reset_form.html:27
+msgid "Adresse émail"
+msgstr "Adresse émail"
+
+#: user/templates/registration/password_reset_form.html:32
+msgid "Reset my password"
+msgstr "Reinitialiser mon mot de passe"
+
+#: user/templates/registration/registration_active.html:5
+#: user/templates/registration/registration_active.html:7
+msgid "Activate the account"
+msgstr "Activer le compte"
+
+#: user/templates/registration/registration_active.html:9
+msgid ""
+"Vous avez bien activé votre compte, vous pouvez accedez à votre espace "
+"personnel."
+msgstr ""
+"Vous avez bien activé votre compte, vous pouvez accedez à votre espace "
+"personnel."
+
+#: user/templates/registration/registration_active.html:10
+msgid "retourner à la page de connexion"
+msgstr "retourner à la page de connexion"
+
+#: user/templates/registration/registration_complete.html:6
+#: user/templates/registration/registration_form.html:11
+msgid "Sign up"
+msgstr "Création d'un compte"
+
+#: user/templates/registration/registration_complete.html:10
+msgid ""
+"We've e-mailed you instructions for activate your account to the e-mail "
+"address you submitted. You should be receiving it shortly."
+msgstr ""
+"Nous vous avons envoyé par courriel les instructions pour activer le compte "
+"à l'adresse que vous avez indiquée. Vous devriez le recevoir rapidement."
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/static/ldt/img/icon-no.gif
Binary file src/ldt/ldt/static/ldt/img/icon-no.gif has changed
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/ldt/static/ldt/img/icon-yes.gif
Binary file src/ldt/ldt/static/ldt/img/icon-yes.gif has changed
diff -r 94429061bbfa -r 5af755809dd1 src/ldt/setup.py
--- a/src/ldt/setup.py Fri May 25 17:47:20 2012 +0200
+++ b/src/ldt/setup.py Fri May 25 17:50:54 2012 +0200
@@ -4,6 +4,7 @@
from distutils.command.install import INSTALL_SCHEMES
import sys
+
class osx_install_data(install_data):
# On MacOS, the platform-specific lib dir is /System/Library/Framework/Python/.../
# which is wrong. Python 2.5 supplied with MacOS 10.5 has an Apple-specific fix
@@ -17,25 +18,6 @@
self.set_undefined_options('install', ('install_lib', 'install_dir'))
install_data.finalize_options(self)
-if sys.platform == "darwin":
- cmdclasses = {'install_data': osx_install_data}
-else:
- cmdclasses = {'install_data': install_data}
-
-
-root_dir = os.path.dirname(__file__)
-if root_dir != '':
- os.chdir(root_dir)
-source_dir = 'ldt'
-
-version_variables = {}
-try:
- execfile(os.path.join(source_dir, "__init__.py"), version_variables)
-except:
- pass
-
-version = version_variables['__version__']
-
def fullsplit(path, result=None):
"""
Split a pathname into components (the opposite of os.path.join) in a
@@ -50,64 +32,94 @@
return result
return fullsplit(head, [tail] + result)
-packages, data_files = [], []
-
-for dirpath, dirnames, filenames in os.walk(source_dir):
- # Ignore dirnames that start with '.'
- for i, dirname in enumerate(dirnames):
- if dirname.startswith('.'): del dirnames[i]
- if '__init__.py' in filenames:
- packages.append('.'.join(fullsplit(dirpath)))
- elif filenames:
- data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]])
+def launch_setup(script_name, script_args):
+ if sys.platform == "darwin":
+ cmdclasses = {'install_data': osx_install_data}
+ else:
+ cmdclasses = {'install_data': install_data}
+
+
+ root_dir = os.path.dirname(__file__)
+ if root_dir != '':
+ os.chdir(root_dir)
+ source_dir = 'ldt'
+
+ version_variables = {}
+ try:
+ execfile(os.path.join(source_dir, "__init__.py"), version_variables)
+ except:
+ pass
+
+ version = version_variables['__version__']
+
+ packages, data_files = [], []
+
+
+ for dirpath, dirnames, filenames in os.walk(source_dir):
+ # Ignore dirnames that start with '.'
+ for i, dirname in enumerate(dirnames):
+ if dirname.startswith('.'): del dirnames[i]
+ if '__init__.py' in filenames:
+ packages.append('.'.join(fullsplit(dirpath)))
+ elif filenames:
+ data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]])
+
+
+ # Tell distutils to put the data_files in platform-specific installation
+ # locations. See here for an explanation:
+ # http://groups.google.com/group/comp.lang.python/browse_thread/thread/35ec7b2fed36eaec/2105ee4d9e8042cb
+ for scheme in INSTALL_SCHEMES.values():
+ scheme['data'] = scheme['purelib']
+
+ # Small hack for working with bdist_wininst.
+ # See http://mail.python.org/pipermail/distutils-sig/2004-August/004134.html
+ if len(sys.argv) > 1 and sys.argv[1] == 'bdist_wininst':
+ for file_info in data_files:
+ file_info[0] = '\\PURELIB\\%s' % file_info[0]
+
+ #write MANIFEST.in
+
+ with open("MANIFEST.in", "w") as m:
+ m.write("include CHANGES\n")
+ m.write("include LICENSE\n")
+ m.write("include README\n")
+ m.write("include MANIFEST.in\n")
+ for entry in data_files:
+ file_list = entry[1]
+ for filename in file_list:
+ m.write("include %s\n" % (filename))
+
+ setup(
+ script_name = script_name,
+ script_args = script_args,
+ name='ldt',
+ version=version,
+ author='IRI',
+ author_email='contact@iri.centrepompidou.fr',
+ packages=packages,
+ data_files=data_files,
+ cmdclass = cmdclasses,
+ scripts=[],
+ url='http://www.iri.centrepompidou.fr/dev/hg/platform',
+ license='LICENSE.txt',
+ description='Platform ldt',
+ long_description=open('README').read(),
+ classifiers=['Development Status :: 5 - Production/Stable',
+ 'Environment :: Web Environment',
+ 'Framework :: Django',
+ 'Intended Audience :: Developers',
+ 'License :: Ceccil-C',
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python',
+ 'Topic :: Utilities',
+ ],
+ )
-# Tell distutils to put the data_files in platform-specific installation
-# locations. See here for an explanation:
-# http://groups.google.com/group/comp.lang.python/browse_thread/thread/35ec7b2fed36eaec/2105ee4d9e8042cb
-for scheme in INSTALL_SCHEMES.values():
- scheme['data'] = scheme['purelib']
-
-# Small hack for working with bdist_wininst.
-# See http://mail.python.org/pipermail/distutils-sig/2004-August/004134.html
-if len(sys.argv) > 1 and sys.argv[1] == 'bdist_wininst':
- for file_info in data_files:
- file_info[0] = '\\PURELIB\\%s' % file_info[0]
-
-#write MANIFEST.in
-
-with open("MANIFEST.in", "w") as m:
- m.write("include CHANGES\n")
- m.write("include LICENSE\n")
- m.write("include README\n")
- m.write("include MANIFEST.in\n")
- for entry in data_files:
- file_list = entry[1]
- for filename in file_list:
- m.write("include %s\n" % (filename))
-
-
-setup(
- name='ldt',
- version=version,
- author='IRI',
- author_email='contact@iri.centrepompidou.fr',
- packages=packages,
- data_files=data_files,
- cmdclass = cmdclasses,
- scripts=[],
- url='http://www.iri.centrepompidou.fr/dev/hg/platform',
- license='LICENSE.txt',
- description='Platform ldt',
- long_description=open('README').read(),
- classifiers=['Development Status :: 5 - Production/Stable',
- 'Environment :: Web Environment',
- 'Framework :: Django',
- 'Intended Audience :: Developers',
- 'License :: Ceccil-C',
- 'Operating System :: OS Independent',
- 'Programming Language :: Python',
- 'Topic :: Utilities',
- ],
-)
+if __name__ == "__main__":
+
+ script_name = os.path.basename(sys.argv[0])
+ script_args = sys.argv[1:]
+
+ launch_setup(script_name, script_args)
\ No newline at end of file
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/res/lib/lib_create_env.py
--- a/virtualenv/res/lib/lib_create_env.py Fri May 25 17:47:20 2012 +0200
+++ b/virtualenv/res/lib/lib_create_env.py Fri May 25 17:50:54 2012 +0200
@@ -15,7 +15,7 @@
URLS = {
#'': {'setup': '', 'url':'', 'local':''},
'DISTRIBUTE': {'setup': 'distribute', 'url':'http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gz', 'local':"distribute-0.6.14.tar.gz"},
- 'DJANGO': {'setup': 'django', 'url': 'http://www.djangoproject.com/download/1.3.1/tarball/', 'local':"Django-1.3.1.tar.gz"},
+ 'DJANGO': {'setup': 'django', 'url': 'http://www.djangoproject.com/download/1.4/tarball/', 'local':"Django-1.4.tar.gz"},
'DJANGO-EXTENSIONS': { 'setup': 'django-extensions', 'url':'https://github.com/django-extensions/django-extensions/tarball/0.6', 'local':"django-extensions-0.6.tar.gz"},
'DJANGO-REGISTRATION': { 'setup': 'django-registration', 'url':'http://bitbucket.org/ubernostrum/django-registration/get/tip.tar.gz', 'local':"django-registration.tar.gz"},
'DJANGO-TAGGING': { 'setup': 'django-tagging', 'url':'http://django-tagging.googlecode.com/files/django-tagging-0.3.1.tar.gz', 'local':"django-tagging-0.3.1.tar.gz"},
@@ -32,6 +32,12 @@
'SORL_THUMBNAIL' : { 'setup': 'sorl-thumbnail', 'url':'http://pypi.python.org/packages/source/s/sorl-thumbnail/sorl-thumbnail-11.12.tar.gz', 'local':"sorl-thumbnail-v10.12.1.tar.gz"},
'LIBJPEG': {'setup': None, 'url':'jpegsrc.v8d.tar.gz', 'local':'jpegsrc.v8d.tar.gz'},
'ZLIB': {'setup': None, 'url':'zlib-1.2.6.tar.gz', 'local':'zlib-1.2.6.tar.gz'},
+ 'PYCRYPTO': {'setup': 'pycrypto', 'url':'https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz', 'local':'pycrypto-2.6.tar.gz'},
+ 'SSH': {'setup': 'ssh', 'url':'http://pypi.python.org/packages/source/s/ssh/ssh-1.7.13.tar.gz#md5=26800ef2c1ee3f185f48fd05258302f4', 'local':'ssh-1.7.13.tar.gz'},
+ 'FABRIC': {'setup': 'fabric', 'url':'https://github.com/fabric/fabric/tarball/1.4.1', 'local':'fabric-1.4.1.tar.gz'},
+ 'MERCURIAL': {'setup': 'mercurial', 'url':'http://mercurial.selenic.com/release/mercurial-2.2.1.tar.gz', 'local':'mercurial-2.2.1.tar.gz'},
+ 'MEMCHACHED': {'setup': 'python-memcached', 'url':'http://ftp.tummy.com/pub/python-memcached/old-releases/python-memcached-1.48.tar.gz', 'local':'python-memcached-1.48.tar.gz'},
+ 'UWSGI': {'setup': 'uwsgi', 'url': 'http://projects.unbit.it/downloads/uwsgi-1.2.3.tar.gz', 'local':'uwsgi-1.2.3.tar.gz'}
}
if system_str == 'Windows':
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/res/src/Django-1.3.1.tar.gz
Binary file virtualenv/res/src/Django-1.3.1.tar.gz has changed
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/res/src/Django-1.4.tar.gz
Binary file virtualenv/res/src/Django-1.4.tar.gz has changed
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/res/src/fabric-1.4.1.tar.gz
Binary file virtualenv/res/src/fabric-1.4.1.tar.gz has changed
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/res/src/mercurial-2.2.1.tar.gz
Binary file virtualenv/res/src/mercurial-2.2.1.tar.gz has changed
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/res/src/python-memcached-1.48.tar.gz
Binary file virtualenv/res/src/python-memcached-1.48.tar.gz has changed
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/res/src/ssh-1.7.13.tar.gz
Binary file virtualenv/res/src/ssh-1.7.13.tar.gz has changed
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/sync/create_python_env.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/virtualenv/sync/create_python_env.py Fri May 25 17:50:54 2012 +0200
@@ -0,0 +1,64 @@
+"""
+Call this like ``python create_python_env.py``; it will
+refresh the project-boot.py script
+
+-prerequisite:
+
+- virtualenv
+
+- python project-boot.py --unzip-setuptools --no-site-packages --clear --type-install=local
+
+"""
+
+import os
+import subprocess
+import re
+import sys
+
+
+here = os.path.dirname(os.path.abspath(__file__))
+base_dir = here
+script_name = os.path.join(base_dir, 'project-boot.py')
+
+import virtualenv
+
+# things to install
+# - psycopg2 -> pip
+# - PIL -> pip
+# - pyxml -> pip
+# - 4Suite-xml - easy_install ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0.2.tar.bz2
+# - pylucene - script
+
+src_base = os.path.abspath(os.path.join(here,"..","res","src")).replace("\\","/")
+lib_path = os.path.abspath(os.path.join(here,"..","res","lib")).replace("\\","/")
+patch_path = os.path.abspath(os.path.join(here,"res","patch")).replace("\\","/")
+
+
+EXTRA_TEXT = "import sys\n"
+EXTRA_TEXT += "sys.path.append('%s')\n" % (lib_path)
+EXTRA_TEXT += "sys.path.append('%s')\n" % (os.path.abspath(os.path.join(here,"res")).replace("\\","/"))
+EXTRA_TEXT += "from res_create_env import generate_install_methods\n"
+EXTRA_TEXT += "adjust_options, extend_parser, after_install = generate_install_methods(path_locations, '%s', Logger, call_subprocess)\n" % (src_base)
+
+
+def main():
+ python_version = ".".join(map(str,sys.version_info[0:2]))
+ text = virtualenv.create_bootstrap_script(EXTRA_TEXT, python_version=python_version)
+ if os.path.exists(script_name):
+ f = open(script_name)
+ cur_text = f.read()
+ f.close()
+ else:
+ cur_text = ''
+ print 'Updating %s' % script_name
+ if cur_text == 'text':
+ print 'No update'
+ else:
+ print 'Script changed; updating...'
+ f = open(script_name, 'w')
+ f.write(text)
+ f.close()
+
+if __name__ == '__main__':
+ main()
+
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/sync/env/.keepme
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/sync/res/res_create_env.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/virtualenv/sync/res/res_create_env.py Fri May 25 17:50:54 2012 +0200
@@ -0,0 +1,17 @@
+import platform
+
+from lib_create_env import lib_generate_install_methods, install_pylucene, install_psycopg2
+
+system_str = platform.system()
+
+
+INSTALLS = [#(key,method, option_str, dict_extra_env)
+ ('DISTRIBUTE', 'pip', None, None),
+ ('PYCRYPTO', 'pip', None, None),
+ ('SSH', 'pip', None, None),
+ ('FABRIC', 'pip', None, None),
+ ('MERCURIAL', 'pip', None, None),
+]
+
+def generate_install_methods(path_locations, src_base, Logger, call_subprocess):
+ return lib_generate_install_methods(path_locations, src_base, Logger, call_subprocess, INSTALLS)
diff -r 94429061bbfa -r 5af755809dd1 virtualenv/web/res/srvr_requirements.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/virtualenv/web/res/srvr_requirements.txt Fri May 25 17:50:54 2012 +0200
@@ -0,0 +1,2 @@
+python-memcached
+uWSGI
diff -r 94429061bbfa -r 5af755809dd1 web/ldtplatform/__init__.py
--- a/web/ldtplatform/__init__.py Fri May 25 17:47:20 2012 +0200
+++ b/web/ldtplatform/__init__.py Fri May 25 17:50:54 2012 +0200
@@ -1,4 +1,4 @@
-VERSION = (1, 6, 0, "final", 0)
+VERSION = (1, 7, 0, "final", 0)
VERSION_STR = unicode(".".join(map(lambda i:"%02d" % (i,), VERSION[:2])))
diff -r 94429061bbfa -r 5af755809dd1 web/ldtplatform/manage.py
--- a/web/ldtplatform/manage.py Fri May 25 17:47:20 2012 +0200
+++ b/web/ldtplatform/manage.py Fri May 25 17:50:54 2012 +0200
@@ -1,11 +1,9 @@
#!/usr/bin/env python
-from django.core.management import execute_manager
-try:
- import settings # Assumed to be in the same directory.
-except ImportError:
- import sys
- sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
- sys.exit(1)
+import os, sys
if __name__ == "__main__":
- execute_manager(settings)
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ldtplatform.settings")
+
+ from django.core.management import execute_from_command_line
+
+ execute_from_command_line(sys.argv)
\ No newline at end of file
|