From fa3ed6e1341f7c8b468e2267b3fafddeb58cdac2 Mon Sep 17 00:00:00 2001 From: Jeremy Dunck Date: Fri, 23 Mar 2007 16:35:57 +0000 Subject: gis: Merged revisions 4669-4785 via svnmerge from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@4786 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/bin/compile-messages.py | 17 +- django/bin/make-messages.py | 4 +- django/conf/global_settings.py | 2 + django/conf/locale/fr/LC_MESSAGES/django.mo | Bin 32919 -> 39707 bytes django/conf/locale/fr/LC_MESSAGES/django.po | 3530 +++++++++++--------- django/conf/locale/it/LC_MESSAGES/django.mo | Bin 40468 -> 40300 bytes django/conf/locale/it/LC_MESSAGES/django.po | 64 +- django/conf/locale/pl/LC_MESSAGES/djangojs.mo | Bin 0 -> 1564 bytes django/conf/locale/pl/LC_MESSAGES/djangojs.po | 112 + django/conf/locale/pt/LC_MESSAGES/django.mo | Bin 0 -> 37681 bytes django/conf/locale/pt/LC_MESSAGES/django.po | 2125 ++++++++++++ django/conf/locale/pt/LC_MESSAGES/djangojs.mo | Bin 0 -> 1514 bytes django/conf/locale/pt/LC_MESSAGES/djangojs.po | 108 + django/conf/locale/sv/LC_MESSAGES/django.mo | Bin 39681 -> 39640 bytes django/conf/locale/sv/LC_MESSAGES/django.po | 76 +- django/conf/locale/sv/LC_MESSAGES/djangojs.mo | Bin 1691 -> 1680 bytes django/conf/locale/sv/LC_MESSAGES/djangojs.po | 14 +- django/conf/locale/ta/LC_MESSAGES/django.mo | Bin 52050 -> 60022 bytes django/conf/locale/ta/LC_MESSAGES/django.po | 1187 +++---- django/conf/locale/ta/LC_MESSAGES/djangojs.mo | Bin 0 -> 2336 bytes django/conf/locale/ta/LC_MESSAGES/djangojs.po | 112 + django/conf/locale/te/LC_MESSAGES/django.mo | Bin 0 -> 35017 bytes django/conf/locale/te/LC_MESSAGES/django.po | 2106 ++++++++++++ django/conf/locale/te/LC_MESSAGES/djangojs.mo | Bin 0 -> 2206 bytes django/conf/locale/te/LC_MESSAGES/djangojs.po | 110 + django/conf/locale/tr/LC_MESSAGES/django.mo | Bin 37149 -> 38712 bytes django/conf/locale/tr/LC_MESSAGES/django.po | 3153 +++++++++-------- django/conf/project_template/settings.py | 3 +- django/contrib/admin/templatetags/admin_modify.py | 10 +- django/contrib/admin/views/doc.py | 6 +- django/contrib/contenttypes/management.py | 1 + django/contrib/contenttypes/models.py | 10 + .../formtools/templates/formtools/form.html | 2 +- .../formtools/templates/formtools/preview.html | 4 +- django/contrib/humanize/templatetags/humanize.py | 17 +- django/contrib/sessions/middleware.py | 13 +- django/contrib/sessions/models.py | 19 +- django/core/management.py | 25 +- django/core/serializers/__init__.py | 7 + django/core/serializers/base.py | 26 +- django/core/serializers/python.py | 9 +- django/core/serializers/pyyaml.py | 36 + django/core/serializers/xml_serializer.py | 40 +- django/core/validators.py | 5 +- django/db/backends/ado_mssql/base.py | 5 +- django/db/backends/mysql/base.py | 73 +- django/db/backends/mysql/client.py | 29 +- django/db/backends/mysql_old/__init__.py | 0 django/db/backends/mysql_old/base.py | 233 ++ django/db/backends/mysql_old/client.py | 14 + django/db/backends/mysql_old/creation.py | 29 + django/db/backends/mysql_old/introspection.py | 95 + django/db/backends/oracle/base.py | 5 +- django/db/backends/postgresql/base.py | 5 +- django/db/backends/postgresql_psycopg2/base.py | 5 +- django/db/backends/sqlite3/base.py | 5 +- django/db/models/fields/__init__.py | 12 +- django/db/models/fields/generic.py | 1 + django/db/models/options.py | 1 + django/db/models/query.py | 4 +- django/db/models/related.py | 4 +- django/oldforms/__init__.py | 7 +- django/shortcuts/__init__.py | 4 +- django/template/__init__.py | 9 +- django/template/defaultfilters.py | 17 +- django/template/defaulttags.py | 53 +- django/test/client.py | 8 + django/utils/datastructures.py | 7 + django/utils/dateformat.py | 13 +- django/utils/text.py | 2 +- django/views/i18n.py | 6 +- 71 files changed, 9808 insertions(+), 3791 deletions(-) create mode 100644 django/conf/locale/pl/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/pl/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/pt/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/pt/LC_MESSAGES/django.po create mode 100644 django/conf/locale/pt/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/pt/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/ta/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/ta/LC_MESSAGES/djangojs.po create mode 100644 django/conf/locale/te/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/te/LC_MESSAGES/django.po create mode 100644 django/conf/locale/te/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/te/LC_MESSAGES/djangojs.po create mode 100644 django/core/serializers/pyyaml.py create mode 100644 django/db/backends/mysql_old/__init__.py create mode 100644 django/db/backends/mysql_old/base.py create mode 100644 django/db/backends/mysql_old/client.py create mode 100644 django/db/backends/mysql_old/creation.py create mode 100644 django/db/backends/mysql_old/introspection.py (limited to 'django') diff --git a/django/bin/compile-messages.py b/django/bin/compile-messages.py index 0137ec8dd4..f2193d3122 100755 --- a/django/bin/compile-messages.py +++ b/django/bin/compile-messages.py @@ -1,9 +1,10 @@ #!/usr/bin/env python +import optparse import os import sys -def compile_messages(): +def compile_messages(locale=None): basedir = None if os.path.isdir(os.path.join('conf', 'locale')): @@ -14,6 +15,9 @@ def compile_messages(): print "This script should be run from the Django SVN tree or your project or app tree." sys.exit(1) + if locale is not None: + basedir = os.path.join(basedir, locale, 'LC_MESSAGES') + for dirpath, dirnames, filenames in os.walk(basedir): for f in filenames: if f.endswith('.po'): @@ -32,5 +36,14 @@ def compile_messages(): cmd = 'msgfmt -o "$djangocompilemo" "$djangocompilepo"' os.system(cmd) +def main(): + parser = optparse.OptionParser() + parser.add_option('-l', '--locale', dest='locale', + help="The locale to process. Default is to process all.") + options, args = parser.parse_args() + if len(args): + parser.error("This program takes no arguments") + compile_messages(options.locale) + if __name__ == "__main__": - compile_messages() + main() diff --git a/django/bin/make-messages.py b/django/bin/make-messages.py index 557cb5eeec..34fb68dcfe 100755 --- a/django/bin/make-messages.py +++ b/django/bin/make-messages.py @@ -81,7 +81,7 @@ def make_messages(): src = pythonize_re.sub('\n#', src) open(os.path.join(dirpath, '%s.py' % file), "wb").write(src) thefile = '%s.py' % file - cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy -o - "%s"' % ( + cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy --from-code UTF-8 -o - "%s"' % ( os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile)) (stdin, stdout, stderr) = os.popen3(cmd, 'b') msgs = stdout.read() @@ -103,7 +103,7 @@ def make_messages(): open(os.path.join(dirpath, '%s.py' % file), "wb").write(templatize(src)) thefile = '%s.py' % file if verbose: sys.stdout.write('processing file %s in %s\n' % (file, dirpath)) - cmd = 'xgettext %s -d %s -L Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy -o - "%s"' % ( + cmd = 'xgettext %s -d %s -L Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy --from-code UTF-8 -o - "%s"' % ( os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile)) (stdin, stdout, stderr) = os.popen3(cmd, 'b') msgs = stdout.read() diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index 5ce856c37b..f26911d7f9 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -61,6 +61,7 @@ LANGUAGES = ( ('nl', gettext_noop('Dutch')), ('no', gettext_noop('Norwegian')), ('pl', gettext_noop('Polish')), + ('pt', gettext_noop('Portugese')), ('pt-br', gettext_noop('Brazilian')), ('ro', gettext_noop('Romanian')), ('ru', gettext_noop('Russian')), @@ -69,6 +70,7 @@ LANGUAGES = ( ('sr', gettext_noop('Serbian')), ('sv', gettext_noop('Swedish')), ('ta', gettext_noop('Tamil')), + ('te', gettext_noop('Telugu')), ('tr', gettext_noop('Turkish')), ('uk', gettext_noop('Ukrainian')), ('zh-cn', gettext_noop('Simplified Chinese')), diff --git a/django/conf/locale/fr/LC_MESSAGES/django.mo b/django/conf/locale/fr/LC_MESSAGES/django.mo index 7b2b1f6e9e..14b8a935a1 100644 Binary files a/django/conf/locale/fr/LC_MESSAGES/django.mo and b/django/conf/locale/fr/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/fr/LC_MESSAGES/django.po b/django/conf/locale/fr/LC_MESSAGES/django.po index 104e9a2aa1..62f3b46c37 100644 --- a/django/conf/locale/fr/LC_MESSAGES/django.po +++ b/django/conf/locale/fr/LC_MESSAGES/django.po @@ -7,654 +7,1069 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:11+0200\n" +"POT-Creation-Date: 2007-03-11 11:46+0100\n" "PO-Revision-Date: 2006-05-08 15:12+0200\n" -"Last-Translator: Gaël Chardon \n" +"Last-Translator: Baptiste Goupil \n" "Language-Team: français \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 -msgid "object ID" -msgstr "ID de l'objet" +#: oldforms/__init__.py:357 db/models/fields/__init__.py:116 +#: db/models/fields/__init__.py:273 db/models/fields/__init__.py:609 +#: db/models/fields/__init__.py:620 newforms/models.py:177 +#: newforms/fields.py:78 newforms/fields.py:374 newforms/fields.py:450 +#: newforms/fields.py:461 +msgid "This field is required." +msgstr "Ce champ est obligatoire." -#: contrib/comments/models.py:68 -msgid "headline" -msgstr "titre" +#: oldforms/__init__.py:392 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Assurez-vous que votre texte fait moins de %s caractère." +msgstr[1] "Assurez-vous que votre texte fait moins de %s caractères." -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 -msgid "comment" -msgstr "commentaire" +#: oldforms/__init__.py:397 +msgid "Line breaks are not allowed here." +msgstr "Les retours à la ligne ne sont pas autorisés ici." -#: contrib/comments/models.py:70 -msgid "rating #1" -msgstr "vote n°1" +#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Sélectionnez un choix valide ; '%(data)s' n'est pas dans %(choices)s." -#: contrib/comments/models.py:71 -msgid "rating #2" -msgstr "vote n°2" +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Inconnu" -#: contrib/comments/models.py:72 -msgid "rating #3" -msgstr "vote n°3" +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Oui" -#: contrib/comments/models.py:73 -msgid "rating #4" -msgstr "vote n°4" +#: oldforms/__init__.py:577 newforms/widgets.py:170 +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Non" -#: contrib/comments/models.py:74 -msgid "rating #5" -msgstr "vote n°5" +#: oldforms/__init__.py:672 core/validators.py:174 core/validators.py:445 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" -#: contrib/comments/models.py:75 -msgid "rating #6" -msgstr "vote n°6" +#: oldforms/__init__.py:674 +msgid "The submitted file is empty." +msgstr "Le fichier soumis est vide." -#: contrib/comments/models.py:76 -msgid "rating #7" -msgstr "vote n°7" +#: oldforms/__init__.py:730 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Entrez un nombre entier entre -32 768 et 32 767." -#: contrib/comments/models.py:77 -msgid "rating #8" -msgstr "vote n°8" +#: oldforms/__init__.py:740 +msgid "Enter a positive number." +msgstr "Entrez un nombre entier positif." -#: contrib/comments/models.py:82 -msgid "is valid rating" -msgstr "est un vote valide" +#: oldforms/__init__.py:750 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Entrez un nombre entier entre 0 et 32 767." -#: contrib/comments/models.py:83 contrib/comments/models.py:169 -msgid "date/time submitted" -msgstr "date et heure soumises" +#: db/models/manipulators.py:307 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "" -#: contrib/comments/models.py:84 contrib/comments/models.py:170 -msgid "is public" -msgstr "est public" +#: db/models/manipulators.py:308 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 contrib/admin/views/main.py:339 +msgid "and" +msgstr "et" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 -msgid "IP address" -msgstr "adresse IP" +#: db/models/fields/__init__.py:42 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s avec le champ %(fieldname)s existe déjà." -#: contrib/comments/models.py:86 -msgid "is removed" -msgstr "est supprimé" +#: db/models/fields/__init__.py:366 +msgid "This value must be an integer." +msgstr "Cette valeur doit être un entier." -#: contrib/comments/models.py:86 -msgid "" -"Check this box if the comment is inappropriate. A \"This comment has been " -"removed\" message will be displayed instead." -msgstr "" -"Cochez cette case si le commentaire est inadéquat. Un message type \"Ce " -"commentaire a été supprimé\" sera affiché en lieu et place de celui-ci." +#: db/models/fields/__init__.py:401 +msgid "This value must be either True or False." +msgstr "Cette valeur doit être soit Vraie soit Fausse." -#: contrib/comments/models.py:91 -msgid "comments" -msgstr "commentaires" +#: db/models/fields/__init__.py:422 +msgid "This field cannot be null." +msgstr "Ce champ ne peut pas être vide." -#: contrib/comments/models.py:131 contrib/comments/models.py:207 -msgid "Content object" -msgstr "Type de contenu" +#: db/models/fields/__init__.py:456 core/validators.py:148 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Entrez une date valide au format AAAA-MM-JJ." -#: contrib/comments/models.py:159 +#: db/models/fields/__init__.py:525 core/validators.py:157 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Entrez une date et une heure valide au format AAAA-MM-JJ HH:MM." + +#: db/models/fields/__init__.py:629 +msgid "Enter a valid filename." +msgstr "Entrez un nom de fichier valide." + +#: db/models/fields/related.py:53 #, python-format +msgid "Please enter a valid %s." +msgstr "Entrez un %s valide." + +#: db/models/fields/related.py:642 +msgid "Separate multiple IDs with commas." +msgstr "Séparez les ID par des virgules." + +#: db/models/fields/related.py:644 msgid "" -"Posted by %(user)s at %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" -"Posté par %(user)s à %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" - -#: contrib/comments/models.py:168 -msgid "person's name" -msgstr "nom" +"Maintenez \"Contrôle (ctrl)\", ou \"Commande (touche pomme)\" sur un Mac, " +"pour en sélectionner plusieurs." -#: contrib/comments/models.py:171 -msgid "ip address" -msgstr "adresse IP" +#: db/models/fields/related.py:691 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "" +"Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "Entrez un ID %(self)s valide. La valeur %(value)r est invalide." +msgstr[1] "" +"Entrez des ID %(self)s valides. Les valeurs %(value)r sont invalides." -#: contrib/comments/models.py:173 -msgid "approved by staff" -msgstr "approuvé par l'équipe" +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabe" -#: contrib/comments/models.py:176 -msgid "free comment" -msgstr "commentaire libre" +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Indien" -#: contrib/comments/models.py:177 -msgid "free comments" -msgstr "commentaires libres" +#: conf/global_settings.py:41 +msgid "Catalan" +msgstr "Catalan" -#: contrib/comments/models.py:233 -msgid "score" -msgstr "evaluation" +#: conf/global_settings.py:42 +msgid "Czech" +msgstr "Tchèque" -#: contrib/comments/models.py:234 -msgid "score date" -msgstr "date d'évaluation" +#: conf/global_settings.py:43 +msgid "Welsh" +msgstr "Gallois" -#: contrib/comments/models.py:237 -msgid "karma score" -msgstr "point de Karma" +#: conf/global_settings.py:44 +msgid "Danish" +msgstr "Dannois" -#: contrib/comments/models.py:238 -msgid "karma scores" -msgstr "points de Karma" +#: conf/global_settings.py:45 +msgid "German" +msgstr "Allemand" -#: contrib/comments/models.py:242 -#, python-format -msgid "%(score)d rating by %(user)s" -msgstr "%(score)d évalué par %(user)s" +#: conf/global_settings.py:46 +msgid "Greek" +msgstr "Grec" -#: contrib/comments/models.py:258 -#, python-format -msgid "" -"This comment was flagged by %(user)s:\n" -"\n" -"%(text)s" -msgstr "" -"Ce commentaire a été marqué par %(user)s:\n" -"\n" -"%(text)s" +#: conf/global_settings.py:47 +msgid "English" +msgstr "Anglais" -#: contrib/comments/models.py:265 -msgid "flag date" -msgstr "date d'indicateur" +#: conf/global_settings.py:48 +msgid "Spanish" +msgstr "Espagnol" -#: contrib/comments/models.py:268 -msgid "user flag" -msgstr "indicateur utilisateur" +#: conf/global_settings.py:49 +msgid "Argentinean Spanish" +msgstr "Espagnol Argentin" -#: contrib/comments/models.py:269 -msgid "user flags" -msgstr "indicateurs utilisateur" +#: conf/global_settings.py:50 +msgid "Finnish" +msgstr "Dannois" -#: contrib/comments/models.py:273 -#, python-format -msgid "Flag by %r" -msgstr "Indicateur par %r" +#: conf/global_settings.py:51 +msgid "French" +msgstr "Français" -#: contrib/comments/models.py:278 -msgid "deletion date" -msgstr "date de suppression" +#: conf/global_settings.py:52 +msgid "Galician" +msgstr "Galicien" -#: contrib/comments/models.py:280 -msgid "moderator deletion" -msgstr "suppression de modérateur" +#: conf/global_settings.py:53 +msgid "Hungarian" +msgstr "Hongrois" -#: contrib/comments/models.py:281 -msgid "moderator deletions" -msgstr "suppressions de modérateur" +#: conf/global_settings.py:54 +msgid "Hebrew" +msgstr "Israélien" -#: contrib/comments/models.py:285 -#, python-format -msgid "Moderator deletion by %r" -msgstr "Suppression de modérateur par %r" +#: conf/global_settings.py:55 +msgid "Icelandic" +msgstr "Islandais" -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "Les utilisateurs anonymes ne peuvent pas voter" +#: conf/global_settings.py:56 +msgid "Italian" +msgstr "Italien" -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "ID de commentaire invalide" +#: conf/global_settings.py:57 +msgid "Japanese" +msgstr "Japonais" -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "Impossible de voter pour soi-même" +#: conf/global_settings.py:58 +msgid "Kannada" +msgstr "Kannada" + +#: conf/global_settings.py:59 +msgid "Latvian" +msgstr "Letton" + +#: conf/global_settings.py:60 +msgid "Macedonian" +msgstr "Macédonien" + +#: conf/global_settings.py:61 +msgid "Dutch" +msgstr "Néerlandais" + +#: conf/global_settings.py:62 +msgid "Norwegian" +msgstr "Norvégien" + +#: conf/global_settings.py:63 +msgid "Polish" +msgstr "Polonais" + +#: conf/global_settings.py:64 +msgid "Brazilian" +msgstr "Brésilien" + +#: conf/global_settings.py:65 +msgid "Romanian" +msgstr "Roumain" + +#: conf/global_settings.py:66 +msgid "Russian" +msgstr "Russe" + +#: conf/global_settings.py:67 +msgid "Slovak" +msgstr "Slovaque" + +#: conf/global_settings.py:68 +msgid "Slovenian" +msgstr "Slovaque" + +#: conf/global_settings.py:69 +msgid "Serbian" +msgstr "Serbe" + +#: conf/global_settings.py:70 +msgid "Swedish" +msgstr "Suédois" + +#: conf/global_settings.py:71 +msgid "Tamil" +msgstr "Tamoul" + +#: conf/global_settings.py:72 +msgid "Telugu" +msgstr "Télougou" + +#: conf/global_settings.py:73 +msgid "Turkish" +msgstr "Turc" + +#: conf/global_settings.py:74 +msgid "Ukrainian" +msgstr "Ukrainien" + +#: conf/global_settings.py:75 +msgid "Simplified Chinese" +msgstr "Chinois simplifié" + +#: conf/global_settings.py:76 +msgid "Traditional Chinese" +msgstr "Chinois traditionnel" + +#: core/validators.py:64 +msgid "This value must contain only letters, numbers and underscores." +msgstr "" +"Ce champ ne doit contenir que des lettres, des nombres et des tirets bas " +"('_')." -#: contrib/comments/views/comments.py:28 +#: core/validators.py:68 msgid "" -"This rating is required because you've entered at least one other rating." +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." msgstr "" -"Ce votre est nécéssaire parceque vous avez saisi au moins un autre vote." +"Ce champ ne doit contenir que des lettres, des nombres, des tirets bas ('_') " +"et des '/'." + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"Ce champ ne doit contenir que des lettres, des nombres, des tirets bas ('_') " +"et des '-'." + +#: core/validators.py:76 +msgid "Uppercase letters are not allowed here." +msgstr "Les lettres majuscules ne sont pas autorisées ici." + +#: core/validators.py:80 +msgid "Lowercase letters are not allowed here." +msgstr "Les lettres minuscules ne sont pas autorisées ici." + +#: core/validators.py:87 +msgid "Enter only digits separated by commas." +msgstr "Saisissez uniquement des chiffres séparés par des virgules." + +#: core/validators.py:99 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Entrez des adresses de courriel valides séparées par des virgules." + +#: core/validators.py:103 +msgid "Please enter a valid IP address." +msgstr "Entrez une adresse IP valide." + +#: core/validators.py:107 +msgid "Empty values are not allowed here." +msgstr "Vous ne pouvez pas laisser ce champ vide." + +#: core/validators.py:111 +msgid "Non-numeric characters aren't allowed here." +msgstr "Les caractères non numériques ne sont pas autorisés ici." + +#: core/validators.py:115 +msgid "This value can't be comprised solely of digits." +msgstr "Cette valeur ne peut pas être composé uniquement de chiffres." + +#: core/validators.py:120 newforms/fields.py:126 +msgid "Enter a whole number." +msgstr "Entrez un nombre entier." + +#: core/validators.py:124 +msgid "Only alphabetical characters are allowed here." +msgstr "Seules les lettres de l'alphabet sont autorisées ici." + +#: core/validators.py:139 +msgid "Year must be 1900 or later." +msgstr "L'année doit être supérieure à 1900." + +#: core/validators.py:143 +#, fuzzy, python-format +msgid "Invalid date: %s" +msgstr "URL invalide : %s" + +#: core/validators.py:153 +msgid "Enter a valid time in HH:MM format." +msgstr "Entrez une heure valide au format HH:MM." + +#: core/validators.py:162 newforms/fields.py:269 +msgid "Enter a valid e-mail address." +msgstr "Entrez une adresse de courriel valide." + +#: core/validators.py:178 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Envoyez une image valide. Le fichier que vous avez transferé n'est pas une " +"image ou bien est une image corrompue." -#: contrib/comments/views/comments.py:112 +#: core/validators.py:185 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "L'URL %s ne pointe pas vers une image valide." + +#: core/validators.py:189 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"Les numéros de téléphone doivent être au format XXX-XXX-XXXX. \"%s\" est " +"incorrect." + +#: core/validators.py:197 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "L'URL %s ne pointe pas vers une vidéo QuickTime valide." + +#: core/validators.py:201 +msgid "A valid URL is required." +msgstr "Une URL valide est requise." + +#: core/validators.py:215 #, python-format msgid "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comment:\n" -"\n" -"%(text)s" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Du HTML valide est requis. Les erreurs sont les suivantes :\n" +"%s" + +#: core/validators.py:222 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML mal formé : %s" + +#: core/validators.py:239 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL invalide : %s" + +#: core/validators.py:244 core/validators.py:246 +#, python-format +msgid "The URL %s is a broken link." +msgstr "L'URL %s est un lien cassé." + +#: core/validators.py:252 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Entrez une abréviation d'état américain valide." + +#: core/validators.py:266 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Attention à votre langage ! Le mot %s n'est pas autorisé ici." +msgstr[1] "Attention à votre langage ! Les mots %s ne sont pas autorisés ici." + +#: core/validators.py:273 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Ce champ doit correspondre au champ '%s'." + +#: core/validators.py:292 +msgid "Please enter something for at least one field." +msgstr "Saisissez au moins une valeur dans un des champs s'il vous plaît." + +#: core/validators.py:301 core/validators.py:312 +msgid "Please enter both fields or leave them both empty." +msgstr "" +"Renseignez chacun des champs ou laissez les deux vides s'il vous plaît." + +#: core/validators.py:320 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Ce champ doit être renseigné si %(field)s vaut %(value)s" + +#: core/validators.py:333 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Ce champ doit être renseigné si %(field)s ne vaut pas %(value)s" + +#: core/validators.py:352 +msgid "Duplicate values are not allowed." +msgstr "Des valeurs identiques ne sont pas autorisées." + +#: core/validators.py:367 +#, fuzzy, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Cette valeur doit être entre %(lower)s et %(upper)s." + +#: core/validators.py:369 +#, fuzzy, python-format +msgid "This value must be at least %s." +msgstr "Cette valeur doit être au moins %s." + +#: core/validators.py:371 +#, fuzzy, python-format +msgid "This value must be no more than %s." +msgstr "Cette valeur ne doit pas dépasser %s." + +#: core/validators.py:407 +#, python-format +msgid "This value must be a power of %s." +msgstr "Cette valeur doit être une puissance de %s." + +#: core/validators.py:418 +msgid "Please enter a valid decimal number." +msgstr "Saisissez un nombre décimal valide s'il vous plaît." + +#: core/validators.py:422 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comments:\n" -"\n" -"%(text)s" +"Please enter a valid decimal number with at most %s total digits." msgstr[0] "" -"Ce commentaire a été posté par un utilisateur qui a posté moins de %(count)s " -"commentaire :\n" -"\n" -"%(text)s" +"Saisissez un nombre décimal valide avec au plus %s chiffre s'il vous plaît." msgstr[1] "" -"Ce commentaire a été posté par un utilisateur qui a posté moins de %(count)s " -"commentaires :\n" -"\n" -"%(text)s" +"Saisissez un nombre décimal valide avec au plus %s chiffres s'il vous plaît." -#: contrib/comments/views/comments.py:117 +#: core/validators.py:425 #, python-format msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "Veuillez saisir un nombre décimal valide avec au plus %s chiffre." +msgstr[1] "Veuillez saisir un nombre décimal valide avec au plus %s chiffres." + +#: core/validators.py:428 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Veuillez saisir un nombre décimal valide avec au plus %s décimale." +msgstr[1] "Veuillez saisir un nombre décimal valide avec au plus %s décimales." + +#: core/validators.py:438 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." msgstr "" -"Ce commentaire a été posté par un utilisateur imprécis :\n" -"\n" -"%(text)s" +"Vérifiez que le fichier transféré fait au moins une taille de %s octets." -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:280 -msgid "Only POSTs are allowed" -msgstr "Seuls les POSTs sont autorisés" +#: core/validators.py:439 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "" +"Vérifiez que le fichier transféré fait au plus une taille de %s octets." -#: contrib/comments/views/comments.py:193 -#: contrib/comments/views/comments.py:284 -msgid "One or more of the required fields wasn't submitted" -msgstr "Un ou plusieurs champs requis n'ont pas été remplis" +#: core/validators.py:456 +msgid "The format for this field is wrong." +msgstr "Le format de ce champ est mauvais." -#: contrib/comments/views/comments.py:197 -#: contrib/comments/views/comments.py:286 -msgid "Somebody tampered with the comment form (security violation)" +#: core/validators.py:471 +msgid "This field is invalid." +msgstr "Ce champ est invalide." + +#: core/validators.py:507 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "Impossible de récupérer quoi que ce soit depuis %s." + +#: core/validators.py:510 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." msgstr "" -"Quelqu'un a trafiqué le formulaire de commentaire (violation des règles de " -"sécurité)" +"L'entête Content-Type '%(contenttype)s', renvoyée par l'url %(url)s n'est " +"pas valide." -#: contrib/comments/views/comments.py:207 -#: contrib/comments/views/comments.py:292 +#: core/validators.py:543 +#, python-format msgid "" -"The comment form had an invalid 'target' parameter -- the object ID was " -"invalid" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" msgstr "" -"Ce formulaire de commentaire avait un paramètre cible invalide ; l'ID de " -"l'objet était invalide" +"Veuillez fermer le tag %(tag)s de la ligne %(line)s. (La ligne débutant par " +"\"%(start)s\".)" -#: contrib/comments/views/comments.py:257 -#: contrib/comments/views/comments.py:321 -msgid "The comment form didn't provide either 'preview' or 'post'" +#: core/validators.py:547 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" msgstr "" -"Le formulaire de commentaire ne proposait ni les options de prévisualisation " -"ni d'envoi" +"Du texte commençant à la ligne %(line)s n'est pas autorisé dans ce contexte. " +"(Ligne débutant par \"%(start)s\".)" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "Nom d'utilisateur" +#: core/validators.py:552 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"%(attr)s\" ligne %(line)s n'est pas un attribut valide. (Ligne débutant " +"par \"%(start)s\".)" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Mot de passe" +#: core/validators.py:557 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"\"<%(tag)s>\" ligne %(line)s n'est pas un tag valide. (Ligne débutant par \"%" +"(start)s\".)" -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "Mot de passe oublié?" +#: core/validators.py:561 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"Un tag, ou un ou plusieurs attributs, de la ligne %(line)s est manquant. " +"(Ligne débutant par \"%(start)s\".)" -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -msgid "Log out" -msgstr "Déconnexion" +#: core/validators.py:566 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"La valeur de l'attribut \"%(attr)s\" de la ligne %(line)s n'est pas valide. " +"(Ligne débutant par \"%(start)s\".)" -#: contrib/comments/templates/comments/form.html:12 -msgid "Ratings" -msgstr "Votes" +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "L'objet %(verbose_name)s a été créé avec succès." -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "Requis" +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "L'objet %(verbose_name)s a été mis à jour avec succès." -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "Optionel" +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "L'objet %(verbose_name)s a été supprimé." -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "Poster une photo" +#: newforms/models.py:164 newforms/fields.py:360 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" +"Sélectionnez un choix valide. Ce choix ne fait pas partie de ceux " +"disponibles." -#: contrib/comments/templates/comments/form.html:27 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "Commentaire :" +#: newforms/models.py:181 newforms/fields.py:378 newforms/fields.py:454 +msgid "Enter a list of values." +msgstr "Entrez une liste de valeur." -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 -msgid "Preview comment" -msgstr "Prévisualisation du commentaire" +#: newforms/models.py:187 newforms/fields.py:387 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Sélectionnez un choix valide ; %s n'en fait pas partie." -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Votre nom :" +#: newforms/fields.py:101 newforms/fields.py:254 +#, python-format +msgid "Ensure this value has at most %d characters." +msgstr "Assurez-vous que cette valeur fait moins de %d caractère." -#: contrib/admin/filterspecs.py:40 +#: newforms/fields.py:103 newforms/fields.py:256 +#, python-format +msgid "Ensure this value has at least %d characters." +msgstr "Assurez-vous que cette valeur fait au moins %d caractère." + +#: newforms/fields.py:128 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Assurez-vous que cette valeur soit plus petite ou égale à %s." + +#: newforms/fields.py:130 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Assurez-vous que cette valeur soit plus grande ou égale à %s." + +#: newforms/fields.py:163 +msgid "Enter a valid date." +msgstr "Entrez une date valide." + +#: newforms/fields.py:190 +msgid "Enter a valid time." +msgstr "Entrez une heure valide." + +#: newforms/fields.py:226 +msgid "Enter a valid date/time." +msgstr "Entrez une date et une heure valides." + +#: newforms/fields.py:240 +msgid "Enter a valid value." +msgstr "Entrez une valeur valide." + +#: newforms/fields.py:287 newforms/fields.py:309 +msgid "Enter a valid URL." +msgstr "Entrez une URL valide." + +#: newforms/fields.py:311 +msgid "This URL appears to be a broken link." +msgstr "L'URL est un lien cassé." + +#: contrib/humanize/templatetags/humanize.py:16 +msgid "th" +msgstr "e" + +#: contrib/humanize/templatetags/humanize.py:16 +msgid "st" +msgstr "er" + +#: contrib/humanize/templatetags/humanize.py:16 +msgid "nd" +msgstr "d" + +#: contrib/humanize/templatetags/humanize.py:16 +msgid "rd" +msgstr "e" + +#: contrib/humanize/templatetags/humanize.py:48 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f million" +msgstr[1] "%(value).1f millions" + +#: contrib/humanize/templatetags/humanize.py:51 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f milliard" +msgstr[1] "%(value).1f milliards" + +#: contrib/humanize/templatetags/humanize.py:54 #, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f billion" +msgstr[1] "%(value).1f billions" + +#: contrib/humanize/templatetags/humanize.py:69 +msgid "one" +msgstr "un" + +#: contrib/humanize/templatetags/humanize.py:69 +msgid "two" +msgstr "deux" + +#: contrib/humanize/templatetags/humanize.py:69 +msgid "three" +msgstr "trois" + +#: contrib/humanize/templatetags/humanize.py:69 +msgid "four" +msgstr "quatre" + +#: contrib/humanize/templatetags/humanize.py:69 +msgid "five" +msgstr "cinq" + +#: contrib/humanize/templatetags/humanize.py:69 +msgid "six" +msgstr "six" + +#: contrib/humanize/templatetags/humanize.py:69 +msgid "seven" +msgstr "sept" + +#: contrib/humanize/templatetags/humanize.py:69 +msgid "eight" +msgstr "huit" + +#: contrib/humanize/templatetags/humanize.py:69 +msgid "nine" +msgstr "neuf" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redirigé depuis" + +#: contrib/redirects/models.py:8 msgid "" -"

By %s:

\n" -"