From 4ffbddf92d89c3b31cef90043721184a501cd454 Mon Sep 17 00:00:00 2001 From: Justin Bronn Date: Fri, 26 Oct 2007 20:47:20 +0000 Subject: [PATCH] gis: Merged revisions 6525-6613 via svnmerge from [repos:django/trunk trunk]. git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@6615 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- AUTHORS | 10 +- django/conf/__init__.py | 10 - django/conf/global_settings.py | 3 +- django/conf/locale/ca/LC_MESSAGES/django.mo | Bin 56726 -> 61430 bytes django/conf/locale/ca/LC_MESSAGES/django.po | 3408 ++++++----- django/conf/locale/es/LC_MESSAGES/django.mo | Bin 56661 -> 61344 bytes django/conf/locale/es/LC_MESSAGES/django.po | 3408 ++++++----- .../conf/locale/es_AR/LC_MESSAGES/django.mo | Bin 49719 -> 57365 bytes .../conf/locale/es_AR/LC_MESSAGES/django.po | 4316 +++++++------ .../conf/locale/es_AR/LC_MESSAGES/djangojs.mo | Bin 1633 -> 1633 bytes .../conf/locale/es_AR/LC_MESSAGES/djangojs.po | 14 +- django/conf/locale/he/LC_MESSAGES/django.mo | Bin 48283 -> 61545 bytes django/conf/locale/he/LC_MESSAGES/django.po | 5428 +++++++++-------- django/conf/locale/hr/LC_MESSAGES/django.mo | Bin 5413 -> 13458 bytes django/conf/locale/hr/LC_MESSAGES/django.po | 262 +- django/contrib/admin/media/js/urlify.js | 10 +- django/contrib/comments/feeds.py | 4 +- django/contrib/localflavor/es/__init__.py | 0 django/contrib/localflavor/es/es_provinces.py | 58 + django/contrib/localflavor/es/es_regions.py | 23 + django/contrib/localflavor/es/forms.py | 173 + django/contrib/localflavor/pl/forms.py | 94 +- django/contrib/sessions/backends/base.py | 1 + django/contrib/sessions/middleware.py | 12 +- django/contrib/sessions/tests.py | 23 + django/contrib/syndication/feeds.py | 1 + django/core/cache/backends/base.py | 8 + django/core/cache/backends/db.py | 8 +- django/core/cache/backends/dummy.py | 3 + django/core/cache/backends/filebased.py | 20 + django/core/cache/backends/locmem.py | 7 + django/core/cache/backends/memcached.py | 3 + django/core/cache/backends/simple.py | 9 + django/core/handlers/modpython.py | 19 +- django/core/handlers/wsgi.py | 22 +- django/core/mail.py | 4 +- django/core/management/__init__.py | 111 +- django/core/management/validation.py | 2 + django/core/urlresolvers.py | 5 +- django/db/backends/__init__.py | 21 + .../db/backends/postgresql_psycopg2/base.py | 9 +- django/db/backends/util.py | 18 +- django/db/models/fields/__init__.py | 2 + django/dispatch/saferef.py | 75 +- django/http/__init__.py | 34 +- django/middleware/common.py | 10 +- django/middleware/gzip.py | 7 +- django/newforms/fields.py | 10 +- django/newforms/widgets.py | 29 +- django/template/defaulttags.py | 10 +- django/templatetags/cache.py | 57 + django/templatetags/i18n.py | 8 +- django/test/utils.py | 5 +- django/utils/checksums.py | 22 + django/utils/datastructures.py | 70 +- django/utils/encoding.py | 2 +- django/utils/feedgenerator.py | 10 +- django/utils/functional.py | 16 +- django/utils/http.py | 3 +- django/utils/translation/__init__.py | 5 +- django/utils/translation/trans_null.py | 2 +- django/utils/translation/trans_real.py | 125 +- django/views/debug.py | 9 +- docs/apache_auth.txt | 22 +- docs/cache.txt | 54 +- docs/contributing.txt | 5 + docs/databases.txt | 8 + docs/django-admin.txt | 17 +- docs/flatpages.txt | 2 +- docs/install.txt | 5 +- docs/middleware.txt | 13 +- docs/model-api.txt | 10 +- docs/modpython.txt | 16 +- docs/newforms.txt | 52 +- docs/settings.txt | 37 +- docs/syndication_feeds.txt | 16 + docs/templates.txt | 56 +- docs/tutorial01.txt | 2 +- tests/modeltests/invalid_models/models.py | 6 +- tests/regressiontests/auth_backends/tests.py | 30 +- tests/regressiontests/cache/tests.py | 6 + tests/regressiontests/datastructures/tests.py | 11 + tests/regressiontests/forms/localflavor/es.py | 343 ++ tests/regressiontests/forms/localflavor/pl.py | 30 +- tests/regressiontests/forms/models.py | 50 +- tests/regressiontests/forms/tests.py | 2 + tests/regressiontests/forms/widgets.py | 23 + tests/regressiontests/i18n/misc.py | 57 + tests/regressiontests/i18n/tests.py | 8 +- tests/regressiontests/templates/tests.py | 23 +- tests/regressiontests/text/tests.py | 4 + tests/regressiontests/utils/tests.py | 28 +- tests/runtests.py | 3 + 93 files changed, 11032 insertions(+), 7945 deletions(-) create mode 100644 django/contrib/localflavor/es/__init__.py create mode 100644 django/contrib/localflavor/es/es_provinces.py create mode 100644 django/contrib/localflavor/es/es_regions.py create mode 100644 django/contrib/localflavor/es/forms.py create mode 100644 django/templatetags/cache.py create mode 100644 django/utils/checksums.py create mode 100644 tests/regressiontests/forms/localflavor/es.py create mode 100644 tests/regressiontests/i18n/misc.py diff --git a/AUTHORS b/AUTHORS index 5af5c71f6e..1f85553a05 100644 --- a/AUTHORS +++ b/AUTHORS @@ -49,7 +49,8 @@ answer newbie questions, and generally made Django that much better: andy@jadedplanet.net Fabrice Aneche ant9000@netwise.it - Florian Apolloner + Florian Apolloner + arien David Ascher david@kazserve.org Arthur @@ -169,6 +170,7 @@ answer newbie questions, and generally made Django that much better: Nagy Károly Ben Dean Kawamura Ian G. Kelly + Thomas Kerpe Ben Khoo Garth Kidd kilian @@ -213,6 +215,7 @@ answer newbie questions, and generally made Django that much better: Jason McBrayer mccutchen@gmail.com michael.mcewan@gmail.com + michal@plovarna.cz mikko@sorl.net Slawek Mikula mitakummaa@gmail.com @@ -256,13 +259,14 @@ answer newbie questions, and generally made Django that much better: Brian Ray remco@diji.biz rhettg@gmail.com + ricardojbarrios@gmail.com Matt Riggott Henrique Romano Armin Ronacher Brian Rosner Oliver Rutherfurd ryankanno - Manuel Saelices + Manuel Saelices Ivan Sagalaev (Maniac) Vinay Sajip David Schein @@ -270,6 +274,7 @@ answer newbie questions, and generally made Django that much better: serbaut@gmail.com John Shaffer Pete Shinners + jason.sidabras@gmail.com Jozko Skrablin SmileyChris smurf@smurf.noris.de @@ -324,6 +329,7 @@ answer newbie questions, and generally made Django that much better: Jakub Wiśniowski Maciej Wiśniowski wojtek + Jason Yan ye7cakf02@sneakemail.com ymasuda@ethercube.com Jarek Zgoda diff --git a/django/conf/__init__.py b/django/conf/__init__.py index f19e509ea3..0177490df9 100644 --- a/django/conf/__init__.py +++ b/django/conf/__init__.py @@ -140,13 +140,3 @@ class UserSettingsHolder(object): settings = LazySettings() -# This function replaces itself with django.utils.translation.gettext() the -# first time it's run. This is necessary because the import of -# django.utils.translation requires a working settings module, and loading it -# from within this file would cause a circular import. -def first_time_gettext(*args): - from django.utils.translation import gettext - __builtins__['_'] = gettext - return gettext(*args) - -__builtins__['_'] = first_time_gettext diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index b3cbf095c3..994e908caf 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -30,7 +30,7 @@ INTERNAL_IPS = () TIME_ZONE = 'America/Chicago' # Language code for this installation. All choices can be found here: -# http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes +# http://www.i18nguy.com/unicode/language-identifiers.html LANGUAGE_CODE = 'en-us' # Languages we provide translations for, out of the box. The language name @@ -275,6 +275,7 @@ SESSION_COOKIE_NAME = 'sessionid' # Cookie name. This can SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2 # Age of cookie, in seconds (default: 2 weeks). SESSION_COOKIE_DOMAIN = None # A string like ".lawrence.com", or None for standard domain cookie. SESSION_COOKIE_SECURE = False # Whether the session cookie should be secure (https:// only). +SESSION_COOKIE_PATH = '/' # The path of the session cookie. SESSION_SAVE_EVERY_REQUEST = False # Whether to save the session data on every request. SESSION_EXPIRE_AT_BROWSER_CLOSE = False # Whether sessions expire when a user closes his browser. SESSION_ENGINE = 'django.contrib.sessions.backends.db' # The module to store session data diff --git a/django/conf/locale/ca/LC_MESSAGES/django.mo b/django/conf/locale/ca/LC_MESSAGES/django.mo index 28bc60a75894e67ad30e93b703fe52a50dbf1cb5..8f10d00c4e132d88f576fad482b740f49b15bdec 100644 GIT binary patch delta 21227 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 E08Pm9f&c&j delta 17358 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 Uv=8=pyKg@n<>T)9bc)aa13bb1w*UYD diff --git a/django/conf/locale/ca/LC_MESSAGES/django.po b/django/conf/locale/ca/LC_MESSAGES/django.po index fe2836ff89..26225d4269 100644 --- a/django/conf/locale/ca/LC_MESSAGES/django.po +++ b/django/conf/locale/ca/LC_MESSAGES/django.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-09-14 12:38+0200\n" -"PO-Revision-Date: 2007-09-14 14:21+0100\n" +"POT-Creation-Date: 2007-10-20 14:55+0200\n" +"PO-Revision-Date: 2007-10-20 15:22+0100\n" "Last-Translator: Marc Garcia \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -14,91 +14,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: db/models/manipulators.py:309 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "Ja existeix un %(object)s del tipus %(type)s amb aquest %(field)s." - -#: db/models/manipulators.py:310 -#: core/validators.py:283 -#: contrib/admin/views/main.py:342 -#: contrib/admin/views/main.py:344 -#: contrib/admin/views/main.py:346 -msgid "and" -msgstr "i" - -#: db/models/fields/related.py:55 -#, python-format -msgid "Please enter a valid %s." -msgstr "Si us plau, introdueixi un %s vàlid." - -#: db/models/fields/related.py:658 -msgid "Separate multiple IDs with commas." -msgstr "Separi múltiples IDs amb comes." - -#: db/models/fields/related.py:660 -msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "Premi \"Control\" o \"Command\" en un Mac per escollir més d'un." - -#: db/models/fields/related.py:707 -#, 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] "Si us plau, introdueixi els IDs de %(self)s vàlids. El valor %(value)r és invàlid." -msgstr[1] "Si us plau, introdueixi IDs de %(self)s vàlids. Els valors %(value)r són invàlids." - -#: db/models/fields/__init__.py:52 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "Ja existeix %(optname)s amb auqest %(fieldname)s." - -#: db/models/fields/__init__.py:159 -#: db/models/fields/__init__.py:316 -#: db/models/fields/__init__.py:724 -#: db/models/fields/__init__.py:735 -#: oldforms/__init__.py:373 -#: newforms/fields.py:93 -#: newforms/fields.py:509 -#: newforms/fields.py:585 -#: newforms/fields.py:596 -#: newforms/models.py:193 -msgid "This field is required." -msgstr "Aquest camp és obligatori." - -#: db/models/fields/__init__.py:414 -msgid "This value must be an integer." -msgstr "Aquest valor ha de ser un enter." - -#: db/models/fields/__init__.py:449 -msgid "This value must be either True or False." -msgstr "Aquest valor ha de ser True (Veritat) o False (Fals)" - -#: db/models/fields/__init__.py:470 -msgid "This field cannot be null." -msgstr "Aquest camp no pot ser null (estar buit)." - -#: db/models/fields/__init__.py:504 -#: core/validators.py:156 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Introdueixi una data vàlida en el forma AAAA-MM-DD." - -#: db/models/fields/__init__.py:573 -#: core/validators.py:165 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Introdueixi un data/hora vàlida en format YYYY-MM-DD HH:MM." - -#: db/models/fields/__init__.py:634 -msgid "This value must be a decimal number." -msgstr "Aquest valor ha de ser un número decimal." - -#: db/models/fields/__init__.py:744 -msgid "Enter a valid filename." -msgstr "Introdueixi un nom de fitxer vàlid." - -#: db/models/fields/__init__.py:887 -msgid "This value must be either None, True or False." -msgstr "Aquest valor ha de ser None (Cap), True (Veritat) o False (Fals)" - #: conf/global_settings.py:39 msgid "Arabic" msgstr "Arabic" @@ -160,583 +75,125 @@ msgid "French" msgstr "Francès" #: conf/global_settings.py:54 +msgid "Gaeilge" +msgstr "Gaeilge" + +#: conf/global_settings.py:55 msgid "Galician" msgstr "Galleg" -#: conf/global_settings.py:55 +#: conf/global_settings.py:56 msgid "Hungarian" msgstr "Húngar" -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Hebrew" msgstr "Hebreu" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 msgid "Croatian" msgstr "Croat" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Icelandic" msgstr "Islandès" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Italian" msgstr "Italià" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "Japanese" msgstr "Japonès" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 msgid "Korean" msgstr "Coreà" -#: conf/global_settings.py:62 +#: conf/global_settings.py:63 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:63 +#: conf/global_settings.py:64 msgid "Kannada" msgstr "Canès" -#: conf/global_settings.py:64 +#: conf/global_settings.py:65 msgid "Latvian" msgstr "Letó" -#: conf/global_settings.py:65 +#: conf/global_settings.py:66 msgid "Macedonian" msgstr "Macedoni" -#: conf/global_settings.py:66 +#: conf/global_settings.py:67 msgid "Dutch" msgstr "Holandès" -#: conf/global_settings.py:67 +#: conf/global_settings.py:68 msgid "Norwegian" msgstr "Norueg" -#: conf/global_settings.py:68 +#: conf/global_settings.py:69 msgid "Polish" msgstr "Polac" -#: conf/global_settings.py:69 +#: conf/global_settings.py:70 msgid "Portugese" msgstr "Portuguès" -#: conf/global_settings.py:70 +#: conf/global_settings.py:71 msgid "Brazilian" msgstr "Brasileny" -#: conf/global_settings.py:71 +#: conf/global_settings.py:72 msgid "Romanian" msgstr "Rumanès" -#: conf/global_settings.py:72 +#: conf/global_settings.py:73 msgid "Russian" msgstr "Rús" -#: conf/global_settings.py:73 +#: conf/global_settings.py:74 msgid "Slovak" msgstr "Eslovac" -#: conf/global_settings.py:74 +#: conf/global_settings.py:75 msgid "Slovenian" msgstr "Esloveni" -#: conf/global_settings.py:75 +#: conf/global_settings.py:76 msgid "Serbian" msgstr "Serbi" -#: conf/global_settings.py:76 +#: conf/global_settings.py:77 msgid "Swedish" msgstr "Suec" -#: conf/global_settings.py:77 +#: conf/global_settings.py:78 msgid "Tamil" msgstr "Tàmil" -#: conf/global_settings.py:78 +#: conf/global_settings.py:79 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:79 +#: conf/global_settings.py:80 msgid "Turkish" msgstr "Turc" -#: conf/global_settings.py:80 +#: conf/global_settings.py:81 msgid "Ukrainian" msgstr "Ucranià" -#: conf/global_settings.py:81 +#: conf/global_settings.py:82 msgid "Simplified Chinese" msgstr "Xinés simplificat" -#: conf/global_settings.py:82 +#: conf/global_settings.py:83 msgid "Traditional Chinese" msgstr "Xinés tradicional" -#: core/validators.py:72 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Aquest valor ha de contenir només números, guions, i guions baixos." - -#: core/validators.py:76 -msgid "This value must contain only letters, numbers, underscores, dashes or slashes." -msgstr "Aquest valor ha de contenir només lletres, números, guions, guions baixos, i barres (/)." - -#: core/validators.py:80 -msgid "This value must contain only letters, numbers, underscores or hyphens." -msgstr "Aquest valor ha de contenir només lletres, números, guions o guions baixos" - -#: core/validators.py:84 -msgid "Uppercase letters are not allowed here." -msgstr "No es permeten majúscules aquí." - -#: core/validators.py:88 -msgid "Lowercase letters are not allowed here." -msgstr "No es permeten minúscules aquí." - -#: core/validators.py:95 -msgid "Enter only digits separated by commas." -msgstr "Introdueixi només dígits separats per comes." - -#: core/validators.py:107 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Introdueixi adreces de correu electrònic vàlides separades per comes." - -#: core/validators.py:111 -msgid "Please enter a valid IP address." -msgstr "Per favor introdueixi una adreça IP vàlida." - -#: core/validators.py:115 -msgid "Empty values are not allowed here." -msgstr "No s'admeten valor buits." - -#: core/validators.py:119 -msgid "Non-numeric characters aren't allowed here." -msgstr "No s'admeten caracters no numèrics." - -#: core/validators.py:123 -msgid "This value can't be comprised solely of digits." -msgstr "Aquest valor no pot contenir només dígits." - -#: core/validators.py:128 -#: newforms/fields.py:149 -msgid "Enter a whole number." -msgstr "Introdueixi un número sencer." - -#: core/validators.py:132 -msgid "Only alphabetical characters are allowed here." -msgstr "Només s'admeted caracters alfabètics aquí." - -#: core/validators.py:147 -msgid "Year must be 1900 or later." -msgstr "L'any ha de ser posterior al 1900" - -#: core/validators.py:151 -#, python-format -msgid "Invalid date: %s" -msgstr "Data invàlida: %s" - -#: core/validators.py:161 -msgid "Enter a valid time in HH:MM format." -msgstr "Introdueixi una hora vàlida en el format HH:MM." - -#: core/validators.py:170 -#: newforms/fields.py:343 -msgid "Enter a valid e-mail address." -msgstr "Introdueixi una adreça de correu vàlida." - -#: core/validators.py:182 -#: core/validators.py:469 -#: oldforms/__init__.py:686 -#: newforms/fields.py:377 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "No s'ha enviat cap fitxer. Comprovi el tipus de codificació del formulari." - -#: core/validators.py:193 -#: newforms/fields.py:405 -msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." -msgstr "Envii una imatge vàilda. El fitxer que ha enviat no era una imatge o estaba corrupte." - -#: core/validators.py:200 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "La URL %s no apunta una imatge vàlida." - -#: core/validators.py:204 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "El números de telèfon han de guardar-se en el format XXX-XXX-XXXX. \"%s\" no és vàlid." - -#: core/validators.py:212 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "La URL %s no apunta a un video QuickTime vàlid." - -#: core/validators.py:216 -msgid "A valid URL is required." -msgstr "Es precisa d'una URL vàlida." - -#: core/validators.py:230 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"Es precisa HTML vàlid. Els errors específics sòn:\n" -"%s" - -#: core/validators.py:237 -#, python-format -msgid "Badly formed XML: %s" -msgstr "XML incorrectament formatejat: %s" - -#: core/validators.py:254 -#, python-format -msgid "Invalid URL: %s" -msgstr "URL invalida: %s" - -#: core/validators.py:259 -#: core/validators.py:261 -#, python-format -msgid "The URL %s is a broken link." -msgstr "La URL %sés un enllaç trencat." - -#: core/validators.py:267 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Introdueixi una abreviatura vàlida d'estat d'els E.U.A.." - -#: core/validators.py:281 -#, 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] "Vigili la seva boca! Aquí no admetem la paraula: %s." -msgstr[1] "Vigili la seva boca! Aquí no admetem les paraules: %s." - -#: core/validators.py:288 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Aquest camp ha de concordar amb el camp '%s'." - -#: core/validators.py:307 -msgid "Please enter something for at least one field." -msgstr "Si us plau, introdueixi alguna cosa alemnys en un camp." - -#: core/validators.py:316 -#: core/validators.py:327 -msgid "Please enter both fields or leave them both empty." -msgstr "Si us plau, ompli els dos camps o deixi'ls tots dos en blanc." - -#: core/validators.py:335 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "S'ha de proporcionar aquest camps si %(field)s és %(value)s" - -#: core/validators.py:348 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "S'ha de proporcionar aquest camps si %(field)s no és %(value)s" - -#: core/validators.py:367 -msgid "Duplicate values are not allowed." -msgstr "No s'admeten valors duplicats." - -#: core/validators.py:382 -#, python-format -msgid "This value must be between %(lower)s and %(upper)s." -msgstr "Aquest valor ha de estar comprés entre %(lower)s i %(upper)s." - -#: core/validators.py:384 -#, python-format -msgid "This value must be at least %s." -msgstr "Aquest valor ha de ser com a mínim %s." - -#: core/validators.py:386 -#, python-format -msgid "This value must be no more than %s." -msgstr "Aquest valor ha de ser com a màxim %s." - -#: core/validators.py:422 -#, python-format -msgid "This value must be a power of %s." -msgstr "Aquest valor ha de ser una potència de %s." - -#: core/validators.py:432 -msgid "Please enter a valid decimal number." -msgstr "Si us plau, introdueixi un número decimal vàlid." - -#: core/validators.py:439 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Si us plau, introdueixi un número decimal vàlid de com a màxim %s digit." -msgstr[1] "Si us plau, introdueixi un número decimal vàlid de com a màxim %s digits." - -#: core/validators.py:442 -#, python-format -msgid "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] "Si us plau, introdueixi un número decimal vàlid que la seva part sencera sigui de com a màxim %s digit." -msgstr[1] "Si us plau, introdueixi un número decimal vàlid que la seva part sencera sigui de com a màxim %s digits." - -#: core/validators.py:445 -#, 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] "Si us plau, introdueixi un número decimal vàlid de com a màxim %s posició decimal." -msgstr[1] "Si us plau, introdueixi un número decimal vàlid de com a màxim %s posicions decimals." - -#: core/validators.py:453 -msgid "Please enter a valid floating point number." -msgstr "Si us plau, introdueixi un número amb punt de coma flotant vàlid." - -#: core/validators.py:462 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Asseguris de que el fitxer que ha enviat té, com a mínim, %s bytes." - -#: core/validators.py:463 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Asseguris de que el fitxer que ha enviat té, com a màxim %s bytes." - -#: core/validators.py:480 -msgid "The format for this field is wrong." -msgstr "El format per aquest camp és incorrecte." - -#: core/validators.py:495 -msgid "This field is invalid." -msgstr "El camp no és vàlid." - -#: core/validators.py:531 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "No s'ha pogut obtenir res de %s." - -#: core/validators.py:534 -#, python-format -msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "La URL %(url)s ha va tornar la capcelera Content-Type '%(contenttype)s', que no és vàlida." - -#: core/validators.py:567 -#, python-format -msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" -msgstr "Si us plau, tanqui l'etiqueta %(tag)s des de la línia %(line)s. (La línia comença amb \"%(start)s\".)" - -#: core/validators.py:571 -#, python-format -msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" -msgstr "Part del text que comença en la línia %(line)s no està permès en aquest context. (La línia comença per \"%(start)s\".)" - -#: core/validators.py:576 -#, python-format -msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" -msgstr "El \"%(attr)s\" de la línia %(line)s no és un atribut vàlid. (La línia comença per \"%(start)s\".)" - -#: core/validators.py:581 -#, python-format -msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" -msgstr "La \"<%(tag)s>\" de la línia %(line)s no és una etiqueta vàlida. (La línia comença per \"%(start)s\".)" - -#: core/validators.py:585 -#, python-format -msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" -msgstr "Una etiqueta de la línia %(line)s li falta un o més atributs requerits.(La línia comença per \"%(start)s\".)" - -#: core/validators.py:590 -#, python-format -msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" -msgstr "L'atribut \"%(attr)s\" de la línia %(line)s té un valor que no és vàlid. (La línia comença per \"%(start)s\".)" - -#: contrib/auth/forms.py:17 -#: contrib/auth/forms.py:138 -msgid "The two password fields didn't match." -msgstr "Els dos camps de contrasenya no coincideixen." - -#: contrib/auth/forms.py:25 -msgid "A user with that username already exists." -msgstr "Ja existeix un usuari amb aquest nom." - -#: contrib/auth/forms.py:53 -msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." -msgstr "El seu navegador no sembla tenir les 'cookies' (galetes) activades. Aquestes són necessàries per iniciar la sessió." - -#: contrib/auth/forms.py:60 -#: contrib/admin/views/decorators.py:10 -msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "Si us plau, introdueixi un nom d'usuari i contrasenya vàlids. Tingui en compte que tots dos camps son sensibles a majúscules i minúscules." - -#: contrib/auth/forms.py:62 -msgid "This account is inactive." -msgstr "Aquest compte està inactiu" - -#: contrib/auth/forms.py:84 -msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" -msgstr "Aquesta adreça de correu no té associada cap compte d'usuari. Està segur de que s'ha registrat?" - -#: contrib/auth/forms.py:117 -msgid "The two 'new password' fields didn't match." -msgstr "Els dos camps de nova contrasenya no coincideixen." - -#: contrib/auth/forms.py:124 -msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "La seva antiga contrasenya no és correcte. Si el plau, introdueixi-la de nou." - -#: contrib/auth/models.py:53 -#: contrib/auth/models.py:73 -msgid "name" -msgstr "nom" - -#: contrib/auth/models.py:55 -msgid "codename" -msgstr "nom en clau" - -#: contrib/auth/models.py:58 -msgid "permission" -msgstr "permís" - -#: contrib/auth/models.py:59 -#: contrib/auth/models.py:74 -msgid "permissions" -msgstr "permissos" - -#: contrib/auth/models.py:77 -msgid "group" -msgstr "grup" - -#: contrib/auth/models.py:78 -#: contrib/auth/models.py:121 -msgid "groups" -msgstr "grups" - -#: contrib/auth/models.py:111 -msgid "username" -msgstr "nom d'usuari" - -#: contrib/auth/models.py:111 -msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." -msgstr "Requerit. 30 o menys caracters. Només caracters alfanumèrics (lletres, dígits i guions baixos)." - -#: contrib/auth/models.py:112 -msgid "first name" -msgstr "nom propi" - -#: contrib/auth/models.py:113 -msgid "last name" -msgstr "cognoms" - -#: contrib/auth/models.py:114 -msgid "e-mail address" -msgstr "adreça de correu electrònic" - -#: contrib/auth/models.py:115 -msgid "password" -msgstr "contrasenya" - -#: contrib/auth/models.py:115 -msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." -msgstr "Utilitzi '[algo]$[salt]$[hexdigest]' o el formulari de canvi de contrasenya." - -#: contrib/auth/models.py:116 -msgid "staff status" -msgstr "és membre del personal" - -#: contrib/auth/models.py:116 -msgid "Designates whether the user can log into this admin site." -msgstr "Indica si l'usuari pot entrar en el lloc administratiu." - -#: contrib/auth/models.py:117 -msgid "active" -msgstr "actiu" - -#: contrib/auth/models.py:117 -msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." -msgstr "Designa si aquest usuari pot iniciar sessió a la interfície administrativa Djano. Deselecciona-ho enlloc de esborrar comptes d'usuari." - -#: contrib/auth/models.py:118 -msgid "superuser status" -msgstr "estat de superusuari" - -#: contrib/auth/models.py:118 -msgid "Designates that this user has all permissions without explicitly assigning them." -msgstr "Designa que aquest usuari té tots els permisos sense assignar-los explícitament." - -#: contrib/auth/models.py:119 -msgid "last login" -msgstr "últim inici de sessió" - -#: contrib/auth/models.py:120 -msgid "date joined" -msgstr "data de creació" - -#: contrib/auth/models.py:122 -msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." -msgstr "Junt amb els permissos asignats manualment, aquest usuari tindrà, també, els permissos dels grups dels que sigui membre." - -#: contrib/auth/models.py:123 -msgid "user permissions" -msgstr "permissos de l'usuari" - -#: contrib/auth/models.py:127 -msgid "user" -msgstr "usuari" - -#: contrib/auth/models.py:128 -msgid "users" -msgstr "usuaris" - -#: contrib/auth/models.py:134 -msgid "Personal info" -msgstr "Informaciò personal" - -#: contrib/auth/models.py:135 -msgid "Permissions" -msgstr "permissos" - -#: contrib/auth/models.py:136 -msgid "Important dates" -msgstr "Dates importants" - -#: contrib/auth/models.py:137 -msgid "Groups" -msgstr "Grups" - -#: contrib/auth/models.py:288 -msgid "message" -msgstr "missatge" - -#: contrib/auth/views.py:47 -msgid "Logged out" -msgstr "Sessió finalitzada" - -#: contrib/admin/models.py:17 -msgid "action time" -msgstr "moment de l'acció" - -#: contrib/admin/models.py:20 -msgid "object id" -msgstr "id del objecte" - -#: contrib/admin/models.py:21 -msgid "object repr" -msgstr "'repr' de l'objecte" - -#: contrib/admin/models.py:22 -msgid "action flag" -msgstr "marca de l'acció" - -#: contrib/admin/models.py:23 -msgid "change message" -msgstr "missatge del canvi" - -#: contrib/admin/models.py:26 -msgid "log entry" -msgstr "entrada del registre" - -#: contrib/admin/models.py:27 -msgid "log entries" -msgstr "entrades del registre" - #: contrib/admin/filterspecs.py:42 #, python-format msgid "" @@ -774,28 +231,528 @@ msgid "This year" msgstr "Aquest any" #: contrib/admin/filterspecs.py:145 +#: newforms/widgets.py:205 #: oldforms/__init__.py:591 -#: newforms/widgets.py:188 msgid "Yes" msgstr "Si" #: contrib/admin/filterspecs.py:145 +#: newforms/widgets.py:205 #: oldforms/__init__.py:591 -#: newforms/widgets.py:188 msgid "No" msgstr "No" #: contrib/admin/filterspecs.py:152 +#: newforms/widgets.py:205 #: oldforms/__init__.py:591 -#: newforms/widgets.py:188 msgid "Unknown" msgstr "Desconegut" -#: contrib/admin/views/decorators.py:24 +#: contrib/admin/models.py:17 +msgid "action time" +msgstr "moment de l'acció" + +#: contrib/admin/models.py:20 +msgid "object id" +msgstr "id del objecte" + +#: contrib/admin/models.py:21 +msgid "object repr" +msgstr "'repr' de l'objecte" + +#: contrib/admin/models.py:22 +msgid "action flag" +msgstr "marca de l'acció" + +#: contrib/admin/models.py:23 +msgid "change message" +msgstr "missatge del canvi" + +#: contrib/admin/models.py:26 +msgid "log entry" +msgstr "entrada del registre" + +#: contrib/admin/models.py:27 +msgid "log entries" +msgstr "entrades del registre" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "No s'ha pogut trobar la pàgina" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Ho sentim, però no s'ha pogut trobar la pàgina solicitada" + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "Inici" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Error del servidor" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Error del servidor (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." +msgstr "Hi ha hagut un error. S'ha informat als administradors del lloc per correu electrònic y hauria d'arreglar-se en breu. Gràcies per la seva paciència." + +#: contrib/admin/templates/admin/base.html:26 +msgid "Welcome," +msgstr "Benvingut," + +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Documentació" + +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 +msgid "Change password" +msgstr "Canviar clau" + +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Finalitzar sessió" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Lloc administratiu de Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Adminsitració de Django" + +#: contrib/admin/templates/admin/change_form.html:14 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Afegir" + +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 +msgid "History" +msgstr "Històric" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "Veure en el lloc" + +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Si us plau, corregeixi l'error mostrat abaix." +msgstr[1] "Si us plau, corregeixi els errors mostrats abaix." + +#: contrib/admin/templates/admin/change_form.html:49 +msgid "Ordering" +msgstr "Ordre" + +#: contrib/admin/templates/admin/change_form.html:52 +msgid "Order:" +msgstr "Ordre:" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "Afegir %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Eliminar" + +#: contrib/admin/templates/admin/delete_confirmation.html:13 +#, python-format +msgid "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" +msgstr "Eliminar el/la %(object_name)s '%(escaped_object)s' provocaria l'eliminació d'objectes relacionats, però el seu compte no te permisos per a esborrar els tipus d'objecte següents:" + +#: contrib/admin/templates/admin/delete_confirmation.html:20 +#, python-format +msgid "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? All of the following related items will be deleted:" +msgstr "Està segur de voler esborrar els/les %(object_name)s \"%(escaped_object)s\"? S'esborraran els següents elements relacionats:" + +#: contrib/admin/templates/admin/delete_confirmation.html:25 +msgid "Yes, I'm sure" +msgstr "Si, estic segur" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "Per %(filter_title)s " + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtre" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Models disponibles en la aplicació %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modificar" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "No té permís per editar res." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Accions recents" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Les meves accions" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Cap disponible" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." +msgstr "Alguna cosa està malament en la instal·lació de la teva base de dades. Assegurat de que s'han creat les taules, i de que la base de dades és llegible per l'usuari apropiat." + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Usuari:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Contrasenya:" + #: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 msgid "Log in" msgstr "Iniciar sessió" +#: contrib/admin/templates/admin/object_history.html:17 +msgid "Date/time" +msgstr "Data/hora" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "User" +msgstr "Usuari" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "Action" +msgstr "Acció" + +#: contrib/admin/templates/admin/object_history.html:25 +msgid "DATE_WITH_TIME_FULL" +msgstr "F j, Y, H:i " + +#: contrib/admin/templates/admin/object_history.html:35 +msgid "This object doesn't have a change history. It probably wasn't added via this admin site." +msgstr "Aquest objecte no te historial de canvis. Probablement no va ser afegit utilitzant aquest lloc administratiu." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrar tots" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Cercar" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 resultat" +msgstr[1] "%(counter)s resultats" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s en total" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Desar com a nou" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Desar i afegir-ne un de nou" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Desar i continuar editant" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Desar" + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "First, enter a username and password. Then, you'll be able to edit more user options." +msgstr "Primer, entri un usuari i una contrasenya. Després podrà editar més opcions del usuari." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Usuari" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 +msgid "Password" +msgstr "Contrasenya" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 +msgid "Password (again)" +msgstr "Contrasenya (de nou)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Enter the same password as above, for verification." +msgstr "Introdueixi la mateixa contrasenya que a sobre, per a verificació." + +#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Introdueixi una contrasenya per l'usuari %(username)s" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "'Bookmarklets'" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "'Bookmarklets' de documentació" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

To install bookmarklets, drag the link to your bookmarks\n" +"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" +"select the bookmarklet from any page in the site. Note that some of these\n" +"bookmarklets require you to be viewing the site from a computer designated\n" +"as \"internal\" (talk to your system administrator if you aren't sure if\n" +"your computer is \"internal\").

\n" +msgstr "" +"\n" +"

Per a instalar 'bookmarklets', arrosegui l'enllaç a la seva barra de\n" +"marcadors, o faci click amb el botò dret en l'enllaç i afegeixi'l als marcadors.\n" +"Ara pot escollir el 'bookmarklet' des de qualsevol pàgina del lloc.\n" +"Observi que alguns d'aquests 'bookmarklets' precisen que estigui veient\n" +"el lloc des de un ordinador senyalat com a \"intern\" (parli\n" +"amb el seu administrador de sistemes si no està segur de la condició del seu).

\n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "Documentació d'aquesta pàgina" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Jumps you from any page to the documentation for the view that generates that page." +msgstr "El porta des de qualsevol pàgina de la documentació a la vista que la genera." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Mostra el ID de l'objecte" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "Mostra el 'content-type' (tipus de contingut) i el ID inequívoc de les pàgines que representen un únic objecte." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Editar aquest objecte (finestra actual)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "El porta a la pàgina d'administració de pàgines que representen un únic objecte." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Editar aquest objecte (nova finestra)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "Com abans, però obre la pàgina d'administració en una nova finestra." + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gràcies per emprar algun temps de cualitat amb el lloc web avui." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Iniciar sessió de nou" + +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 +msgid "Password change" +msgstr "Canvi de clau" + +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 +msgid "Password change successful" +msgstr "Canvi de clau exitò" + +#: contrib/admin/templates/registration/password_change_done.html:11 +msgid "Your password was changed." +msgstr "La seva clau ha estat canviada." + +#: contrib/admin/templates/registration/password_change_form.html:11 +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 "Si us plau, introdueixi la seva contrasenya antiga, per seguretat, i tot seguit introdueixi la seva nova contrasenya dues vegades per verificar que l'ha escrit correctament." + +#: contrib/admin/templates/registration/password_change_form.html:16 +msgid "Old password:" +msgstr "Contrasenya antiga:" + +#: contrib/admin/templates/registration/password_change_form.html:18 +msgid "New password:" +msgstr "Contrasenya nova:" + +#: contrib/admin/templates/registration/password_change_form.html:20 +msgid "Confirm password:" +msgstr "Confirmar contrasenya:" + +#: contrib/admin/templates/registration/password_change_form.html:22 +msgid "Change my password" +msgstr "Canviar la meva clau:" + +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +msgid "Password reset" +msgstr "Restablir contrasenya" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Contrasenya restaber-ta amb èxit" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." +msgstr "Li hem enviat una contrasenya nova a l'adreça de correu electrònic que ens ha indicat. L'hauria de rebre en breu." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Està rebent aquest missatge degut a que va solicitar un restabliment de contrasenya." + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "del seu compte d'usuari a %(site_name)s." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "La seva nova contrasenya és: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Sentis lliure de canviar-la en aquesta pàgina:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "El seu nom d'usuari, en cas d'haver-lo oblidat:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Gràcies per fer us del nostre lloc!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "L'equip de %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "Forgotten your password? Enter your e-mail address below, and we'll reset your password and e-mail the new one to you." +msgstr "Ha oblidat la seva contrasenya? Introdueixi la seva adreça de correu electrònic i crearem una nova que li enviarem per correu." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Adreça de correu electrònic:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Restablir la meva contrasenya" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Data:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Hora:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Actualment:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modificar:" + +#: contrib/admin/templatetags/admin_list.py:254 +msgid "All dates" +msgstr "Totes les dates" + +#: contrib/admin/views/auth.py:20 +#: contrib/admin/views/main.py:264 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "El/la %(name)s \"%(obj)s\".ha estat agregat/da amb èxit." + +#: contrib/admin/views/auth.py:25 +#: contrib/admin/views/main.py:268 +#: contrib/admin/views/main.py:354 +msgid "You may edit it again below." +msgstr "Pot editar-lo de nou abaix." + +#: contrib/admin/views/auth.py:31 +msgid "Add user" +msgstr "Afegir usuari" + +#: contrib/admin/views/auth.py:58 +msgid "Password changed successfully." +msgstr "Canvi de clau exitós" + +#: contrib/admin/views/auth.py:65 +#, python-format +msgid "Change password: %s" +msgstr "Canviar clau: %s" + +#: contrib/admin/views/decorators.py:10 +#: contrib/auth/forms.py:60 +msgid "Please enter a correct username and password. Note that both fields are case-sensitive." +msgstr "Si us plau, introdueixi un nom d'usuari i contrasenya vàlids. Tingui en compte que tots dos camps son sensibles a majúscules i minúscules." + #: contrib/admin/views/decorators.py:62 msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." msgstr "Si us plau, identifiquis de nou doncs la seva sessió ha expirat. No es preocupi, el seu enviament està emmagatzemat." @@ -813,105 +770,6 @@ msgstr "Els noms d'usuari no poden contenir el caracter '@'." msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "La seva adreça de correu no és el seu nom d'usuari. Provi '%s' en tot cas." -#: contrib/admin/views/main.py:230 -msgid "Site administration" -msgstr "Lloc administratiu" - -#: contrib/admin/views/main.py:264 -#: contrib/admin/views/auth.py:20 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "El/la %(name)s \"%(obj)s\".ha estat agregat/da amb èxit." - -#: contrib/admin/views/main.py:268 -#: contrib/admin/views/main.py:354 -#: contrib/admin/views/auth.py:25 -msgid "You may edit it again below." -msgstr "Pot editar-lo de nou abaix." - -#: contrib/admin/views/main.py:278 -#: contrib/admin/views/main.py:363 -#, python-format -msgid "You may add another %s below." -msgstr "Pot afegir un altre %s a baix." - -#: contrib/admin/views/main.py:296 -#, python-format -msgid "Add %s" -msgstr "Afegir %s" - -#: contrib/admin/views/main.py:342 -#, python-format -msgid "Added %s." -msgstr "Agregat %s." - -#: contrib/admin/views/main.py:344 -#, python-format -msgid "Changed %s." -msgstr "Modificat %s." - -#: contrib/admin/views/main.py:346 -#, python-format -msgid "Deleted %s." -msgstr "Eliminat %s." - -#: contrib/admin/views/main.py:349 -msgid "No fields changed." -msgstr "Cap camp canviat." - -#: contrib/admin/views/main.py:352 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "S'ha modificat amb èxist el/la %(name)s \"%(obj)s." - -#: contrib/admin/views/main.py:360 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "S'ha agregat amb èxit el/la %(name)s \"%(obj)s\". Pot editar-lo de nou abaix." - -#: contrib/admin/views/main.py:398 -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#: contrib/admin/views/main.py:483 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Un o més %(fieldname)s en %(name)s: %(obj)s" - -#: contrib/admin/views/main.py:488 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Un o més %(fieldname)s en %(name)s:" - -#: contrib/admin/views/main.py:520 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "El/la %(name)s \"%(obj)s\".ha estat eliminat amb èxit." - -#: contrib/admin/views/main.py:523 -msgid "Are you sure?" -msgstr "Està segur?" - -#: contrib/admin/views/main.py:545 -#, python-format -msgid "Change history: %s" -msgstr "Modificar històric: %s" - -#: contrib/admin/views/main.py:579 -#, python-format -msgid "Select %s" -msgstr "Seleccioni %s" - -#: contrib/admin/views/main.py:579 -#, python-format -msgid "Select %s to change" -msgstr "Seleccioni %s per modificar" - -#: contrib/admin/views/main.py:780 -msgid "Database error" -msgstr "Error de/en la base de dades" - #: contrib/admin/views/doc.py:47 #: contrib/admin/views/doc.py:49 #: contrib/admin/views/doc.py:51 @@ -1064,666 +922,256 @@ msgstr "Texte XML" msgid "%s does not appear to be a urlpattern object" msgstr "%s no sembla ser un objecte 'urlpattern'" -#: contrib/admin/views/auth.py:31 -msgid "Add user" -msgstr "Afegir usuari" +#: contrib/admin/views/main.py:230 +msgid "Site administration" +msgstr "Lloc administratiu" -#: contrib/admin/views/auth.py:58 -msgid "Password changed successfully." -msgstr "Canvi de clau exitós" - -#: contrib/admin/views/auth.py:65 +#: contrib/admin/views/main.py:278 +#: contrib/admin/views/main.py:363 #, python-format -msgid "Change password: %s" -msgstr "Canviar clau: %s" +msgid "You may add another %s below." +msgstr "Pot afegir un altre %s a baix." -#: contrib/admin/templatetags/admin_list.py:254 -msgid "All dates" -msgstr "Totes les dates" - -#: contrib/admin/templates/admin/pagination.html:10 -msgid "Show all" -msgstr "Mostrar tots" - -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -msgid "Documentation" -msgstr "Documentació" - -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin/auth/user/change_password.html:15 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -msgid "Change password" -msgstr "Canviar clau" - -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/comments/templates/comments/form.html:6 -msgid "Log out" -msgstr "Finalitzar sessió" - -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/invalid_setup.html:4 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/auth/user/change_password.html:12 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_done.html:4 -msgid "Home" -msgstr "Inici" - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Eliminar" - -#: contrib/admin/templates/admin/delete_confirmation.html:14 +#: contrib/admin/views/main.py:296 #, python-format -msgid "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" -msgstr "Eliminar el/la %(object_name)s '%(escaped_object)s' provocaria l'eliminació d'objectes relacionats, però el seu compte no te permisos per a esborrar els tipus d'objecte següents:" +msgid "Add %s" +msgstr "Afegir %s" -#: contrib/admin/templates/admin/delete_confirmation.html:21 +#: contrib/admin/views/main.py:342 #, python-format -msgid "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? All of the following related items will be deleted:" -msgstr "Està segur de voler esborrar els/les %(object_name)s \"%(escaped_object)s\"? S'esborraran els següents elements relacionats:" +msgid "Added %s." +msgstr "Agregat %s." -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "Si, estic segur" +#: contrib/admin/views/main.py:342 +#: contrib/admin/views/main.py:344 +#: contrib/admin/views/main.py:346 +#: core/validators.py:283 +#: db/models/manipulators.py:309 +msgid "and" +msgstr "i" -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "No s'ha pogut trobar la pàgina" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "Ho sentim, però no s'ha pogut trobar la pàgina solicitada" - -#: contrib/admin/templates/admin/change_form.html:15 -#: contrib/admin/templates/admin/index.html:28 -msgid "Add" -msgstr "Afegir" - -#: contrib/admin/templates/admin/change_form.html:21 -#: contrib/admin/templates/admin/object_history.html:5 -msgid "History" -msgstr "Històric" - -#: contrib/admin/templates/admin/change_form.html:22 -msgid "View on site" -msgstr "Veure en el lloc" - -#: contrib/admin/templates/admin/change_form.html:32 -#: contrib/admin/templates/admin/auth/user/change_password.html:24 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Si us plau, corregeixi l'error mostrat abaix." -msgstr[1] "Si us plau, corregeixi els errors mostrats abaix." - -#: contrib/admin/templates/admin/change_form.html:50 -msgid "Ordering" -msgstr "Ordre" - -#: contrib/admin/templates/admin/change_form.html:53 -msgid "Order:" -msgstr "Ordre:" - -#: contrib/admin/templates/admin/filter.html:2 +#: contrib/admin/views/main.py:344 #, python-format -msgid " By %(filter_title)s " -msgstr "Per %(filter_title)s " +msgid "Changed %s." +msgstr "Modificat %s." -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Desar com a nou" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Desar i afegir-ne un de nou" - -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Desar i continuar editant" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Desar" - -#: contrib/admin/templates/admin/change_list.html:12 +#: contrib/admin/views/main.py:346 #, python-format -msgid "Add %(name)s" -msgstr "Afegir %(name)s" +msgid "Deleted %s." +msgstr "Eliminat %s." -#: contrib/admin/templates/admin/index.html:17 +#: contrib/admin/views/main.py:349 +msgid "No fields changed." +msgstr "Cap camp canviat." + +#: contrib/admin/views/main.py:352 #, python-format -msgid "Models available in the %(name)s application." -msgstr "Models disponibles en la aplicació %(name)s." +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "S'ha modificat amb èxist el/la %(name)s \"%(obj)s." -#: contrib/admin/templates/admin/index.html:18 +#: contrib/admin/views/main.py:360 #, python-format -msgid "%(name)s" -msgstr "%(name)s" +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "S'ha agregat amb èxit el/la %(name)s \"%(obj)s\". Pot editar-lo de nou abaix." -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Modificar" - -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "No té permís per editar res." - -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Accions recents" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Les meves accions" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Cap disponible" - -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Lloc administratiu de Django" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Adminsitració de Django" - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Data/hora" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Usuari" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Acció" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "F j, Y, H:i " - -#: contrib/admin/templates/admin/object_history.html:36 -msgid "This object doesn't have a change history. It probably wasn't added via this admin site." -msgstr "Aquest objecte no te historial de canvis. Probablement no va ser afegit utilitzant aquest lloc administratiu." - -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Error del servidor" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Error del servidor (500)" - -#: contrib/admin/templates/admin/500.html:10 -msgid "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Hi ha hagut un error. S'ha informat als administradors del lloc per correu electrònic y hauria d'arreglar-se en breu. Gràcies per la seva paciència." - -#: contrib/admin/templates/admin/invalid_setup.html:8 -msgid "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." -msgstr "Alguna cosa està malament en la instal·lació de la teva base de dades. Assegurat de que s'han creat les taules, i de que la base de dades és llegible per l'usuari apropiat." - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Cercar" - -#: contrib/admin/templates/admin/search_form.html:10 +#: contrib/admin/views/main.py:398 #, python-format -msgid "1 result" -msgid_plural "%(counter)s results" -msgstr[0] "1 resultat" -msgstr[1] "%(counter)s resultats" +msgid "Change %s" +msgstr "Modificar %s" -#: contrib/admin/templates/admin/search_form.html:10 +#: contrib/admin/views/main.py:483 #, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s en total" +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Un o més %(fieldname)s en %(name)s: %(obj)s" -#: contrib/admin/templates/admin/filters.html:4 -msgid "Filter" -msgstr "Filtre" - -#: contrib/admin/templates/admin/login.html:17 -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -msgid "Username:" -msgstr "Usuari:" - -#: contrib/admin/templates/admin/login.html:20 -#: contrib/comments/templates/comments/form.html:8 -msgid "Password:" -msgstr "Contrasenya:" - -#: contrib/admin/templates/admin/base.html:25 -msgid "Welcome," -msgstr "Benvingut," - -#: contrib/admin/templates/admin/auth/user/add_form.html:6 -msgid "First, enter a username and password. Then, you'll be able to edit more user options." -msgstr "Primer, entri un usuari i una contrasenya. Després podrà editar més opcions del usuari." - -#: contrib/admin/templates/admin/auth/user/add_form.html:12 -msgid "Username" -msgstr "Usuari" - -#: contrib/admin/templates/admin/auth/user/add_form.html:18 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -msgid "Password" -msgstr "Contrasenya" - -#: contrib/admin/templates/admin/auth/user/add_form.html:23 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -msgid "Password (again)" -msgstr "Contrasenya (de nou)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:24 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -msgid "Enter the same password as above, for verification." -msgstr "Introdueixi la mateixa contrasenya que a sobre, per a verificació." - -#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#: contrib/admin/views/main.py:488 #, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Introdueixi una contrasenya per l'usuari %(username)s" +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Un o més %(fieldname)s en %(name)s:" -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "'Bookmarklets'" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "'Bookmarklets' de documentació" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 -msgid "" -"\n" -"

To install bookmarklets, drag the link to your bookmarks\n" -"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" -"select the bookmarklet from any page in the site. Note that some of these\n" -"bookmarklets require you to be viewing the site from a computer designated\n" -"as \"internal\" (talk to your system administrator if you aren't sure if\n" -"your computer is \"internal\").

\n" -msgstr "" -"\n" -"

Per a instalar 'bookmarklets', arrosegui l'enllaç a la seva barra de\n" -"marcadors, o faci click amb el botò dret en l'enllaç i afegeixi'l als marcadors.\n" -"Ara pot escollir el 'bookmarklet' des de qualsevol pàgina del lloc.\n" -"Observi que alguns d'aquests 'bookmarklets' precisen que estigui veient\n" -"el lloc des de un ordinador senyalat com a \"intern\" (parli\n" -"amb el seu administrador de sistemes si no està segur de la condició del seu).

\n" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Documentació d'aquesta pàgina" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 -msgid "Jumps you from any page to the documentation for the view that generates that page." -msgstr "El porta des de qualsevol pàgina de la documentació a la vista que la genera." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Mostra el ID de l'objecte" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "Shows the content-type and unique ID for pages that represent a single object." -msgstr "Mostra el 'content-type' (tipus de contingut) i el ID inequívoc de les pàgines que representen un únic objecte." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Editar aquest objecte (finestra actual)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "El porta a la pàgina d'administració de pàgines que representen un únic objecte." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Editar aquest objecte (nova finestra)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "Com abans, però obre la pàgina d'administració en una nova finestra." - -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Data:" - -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Hora:" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Actualment:" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Modificar:" - -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:10 -#: contrib/admin/templates/registration/password_reset_done.html:4 -msgid "Password reset" -msgstr "Restablir contrasenya" - -#: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "Forgotten your password? Enter your e-mail address below, and we'll reset your password and e-mail the new one to you." -msgstr "Ha oblidat la seva contrasenya? Introdueixi la seva adreça de correu electrònic i crearem una nova que li enviarem per correu." - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "Adreça de correu electrònic:" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Restablir la meva contrasenya" - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Està rebent aquest missatge degut a que va solicitar un restabliment de contrasenya." - -#: contrib/admin/templates/registration/password_reset_email.html:3 +#: contrib/admin/views/main.py:520 #, python-format -msgid "for your user account at %(site_name)s" -msgstr "del seu compte d'usuari a %(site_name)s." +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "El/la %(name)s \"%(obj)s\".ha estat eliminat amb èxit." -#: contrib/admin/templates/registration/password_reset_email.html:5 +#: contrib/admin/views/main.py:523 +msgid "Are you sure?" +msgstr "Està segur?" + +#: contrib/admin/views/main.py:545 #, python-format -msgid "Your new password is: %(new_password)s" -msgstr "La seva nova contrasenya és: %(new_password)s" +msgid "Change history: %s" +msgstr "Modificar històric: %s" -#: contrib/admin/templates/registration/password_reset_email.html:7 -msgid "Feel free to change this password by going to this page:" -msgstr "Sentis lliure de canviar-la en aquesta pàgina:" - -#: contrib/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "El seu nom d'usuari, en cas d'haver-lo oblidat:" - -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "Gràcies per fer us del nostre lloc!" - -#: contrib/admin/templates/registration/password_reset_email.html:15 +#: contrib/admin/views/main.py:579 #, python-format -msgid "The %(site_name)s team" -msgstr "L'equip de %(site_name)s" +msgid "Select %s" +msgstr "Seleccioni %s" -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gràcies per emprar algun temps de cualitat amb el lloc web avui." - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Iniciar sessió de nou" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "Contrasenya restaber-ta amb èxit" - -#: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." -msgstr "Li hem enviat una contrasenya nova a l'adreça de correu electrònic que ens ha indicat. L'hauria de rebre en breu." - -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:4 -msgid "Password change" -msgstr "Canvi de clau" - -#: contrib/admin/templates/registration/password_change_form.html:12 -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 "Si us plau, introdueixi la seva contrasenya antiga, per seguretat, i tot seguit introdueixi la seva nova contrasenya dues vegades per verificar que l'ha escrit correctament." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Contrasenya antiga:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Contrasenya nova:" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Confirmar contrasenya:" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Canviar la meva clau:" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "Canvi de clau exitò" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "La seva clau ha estat canviada." - -#: contrib/sites/models.py:33 -msgid "domain name" -msgstr "nom del domini" - -#: contrib/sites/models.py:34 -msgid "display name" -msgstr "nom per mostrar" - -#: contrib/sites/models.py:38 -msgid "site" -msgstr "lloc" - -#: contrib/sites/models.py:39 -msgid "sites" -msgstr "llocs" - -#: contrib/humanize/templatetags/humanize.py:20 -msgid "th" -msgstr "rt" - -#: contrib/humanize/templatetags/humanize.py:20 -msgid "st" -msgstr "r" - -#: contrib/humanize/templatetags/humanize.py:20 -msgid "nd" -msgstr "n" - -#: contrib/humanize/templatetags/humanize.py:20 -msgid "rd" -msgstr "r" - -#: contrib/humanize/templatetags/humanize.py:50 +#: contrib/admin/views/main.py:579 #, python-format -msgid "%(value).1f million" -msgid_plural "%(value).1f million" -msgstr[0] "%(value).1f milió" -msgstr[1] "%(value).1f milions" +msgid "Select %s to change" +msgstr "Seleccioni %s per modificar" -#: contrib/humanize/templatetags/humanize.py:53 -#, python-format -msgid "%(value).1f billion" -msgid_plural "%(value).1f billion" -msgstr[0] "%(value).1f bilió" -msgstr[1] "%(value).1f bilions" +#: contrib/admin/views/main.py:780 +msgid "Database error" +msgstr "Error de/en la base de dades" -#: contrib/humanize/templatetags/humanize.py:56 -#, python-format -msgid "%(value).1f trillion" -msgid_plural "%(value).1f trillion" -msgstr[0] "%(value).1f trilió" -msgstr[1] "%(value).1f trilions" +#: contrib/auth/forms.py:17 +#: contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Els dos camps de contrasenya no coincideixen." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "one" -msgstr "un" +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Ja existeix un usuari amb aquest nom." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "two" -msgstr "dos" +#: contrib/auth/forms.py:53 +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +msgstr "El seu navegador no sembla tenir les 'cookies' (galetes) activades. Aquestes són necessàries per iniciar la sessió." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "three" -msgstr "tres" +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Aquest compte està inactiu" -#: contrib/humanize/templatetags/humanize.py:71 -msgid "four" -msgstr "cuatre" +#: contrib/auth/forms.py:84 +msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +msgstr "Aquesta adreça de correu no té associada cap compte d'usuari. Està segur de que s'ha registrat?" -#: contrib/humanize/templatetags/humanize.py:71 -msgid "five" -msgstr "cinc" +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Els dos camps de nova contrasenya no coincideixen." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "six" -msgstr "sis" +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "La seva antiga contrasenya no és correcte. Si el plau, introdueixi-la de nou." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "seven" -msgstr "set" +#: contrib/auth/models.py:73 +#: contrib/auth/models.py:93 +msgid "name" +msgstr "nom" -#: contrib/humanize/templatetags/humanize.py:71 -msgid "eight" -msgstr "vuit" +#: contrib/auth/models.py:75 +msgid "codename" +msgstr "nom en clau" -#: contrib/humanize/templatetags/humanize.py:71 -msgid "nine" -msgstr "nou" +#: contrib/auth/models.py:78 +msgid "permission" +msgstr "permís" -#: contrib/humanize/templatetags/humanize.py:90 -msgid "today" -msgstr "avui" +#: contrib/auth/models.py:79 +#: contrib/auth/models.py:94 +msgid "permissions" +msgstr "permissos" -#: contrib/humanize/templatetags/humanize.py:92 -msgid "tomorrow" -msgstr "demà" +#: contrib/auth/models.py:97 +msgid "group" +msgstr "grup" -#: contrib/humanize/templatetags/humanize.py:94 -msgid "yesterday" -msgstr "ahir" +#: contrib/auth/models.py:98 +#: contrib/auth/models.py:141 +msgid "groups" +msgstr "grups" -#: contrib/flatpages/models.py:8 -msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "Exemple: '/about/contact/'. Asseguri's de posar les barres al principi i al final." +#: contrib/auth/models.py:131 +msgid "username" +msgstr "nom d'usuari" -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "tìtol" +#: contrib/auth/models.py:131 +msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." +msgstr "Requerit. 30 o menys caracters. Només caracters alfanumèrics (lletres, dígits i guions baixos)." -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "contingut" +#: contrib/auth/models.py:132 +msgid "first name" +msgstr "nom propi" -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "habilitar comentaris" +#: contrib/auth/models.py:133 +msgid "last name" +msgstr "cognoms" -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "nom de la plantilla" +#: contrib/auth/models.py:134 +msgid "e-mail address" +msgstr "adreça de correu electrònic" -#: contrib/flatpages/models.py:13 -msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." -msgstr "Exemple: 'flatpages/contact_page.html'. Si no el proporciona, el sistema utilitzarà 'flatpages/defaula.htmlt'." +#: contrib/auth/models.py:135 +msgid "password" +msgstr "contrasenya" -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "s'ha de estar registrat" +#: contrib/auth/models.py:135 +msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +msgstr "Utilitzi '[algo]$[salt]$[hexdigest]' o el formulari de canvi de contrasenya." -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Si està marcat, només els usuaris registrats podran veure la pàgina." +#: contrib/auth/models.py:136 +msgid "staff status" +msgstr "és membre del personal" -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "pàgina estàtica" +#: contrib/auth/models.py:136 +msgid "Designates whether the user can log into this admin site." +msgstr "Indica si l'usuari pot entrar en el lloc administratiu." -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "pàgines estàtiques" +#: contrib/auth/models.py:137 +msgid "active" +msgstr "actiu" -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "redreçar des de" +#: contrib/auth/models.py:137 +msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." +msgstr "Designa si aquest usuari pot iniciar sessió a la interfície administrativa Djano. Deselecciona-ho enlloc de esborrar comptes d'usuari." -#: contrib/redirects/models.py:8 -msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." -msgstr "Aquesta ruta hauria de ser el camí absolut, excloent-ne el nom del domini. Exemple '/events/search/'." +#: contrib/auth/models.py:138 +msgid "superuser status" +msgstr "estat de superusuari" -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "redreçar a" +#: contrib/auth/models.py:138 +msgid "Designates that this user has all permissions without explicitly assigning them." +msgstr "Designa que aquest usuari té tots els permisos sense assignar-los explícitament." -#: contrib/redirects/models.py:10 -msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." -msgstr "Això pot ser bé una ruta absoluta (com abans) o una URL completa que comenci per http:// ." +#: contrib/auth/models.py:139 +msgid "last login" +msgstr "últim inici de sessió" -#: contrib/redirects/models.py:13 -msgid "redirect" -msgstr "redreçament" +#: contrib/auth/models.py:140 +msgid "date joined" +msgstr "data de creació" -#: contrib/redirects/models.py:14 -msgid "redirects" -msgstr "redreçaments" +#: contrib/auth/models.py:142 +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." +msgstr "Junt amb els permissos asignats manualment, aquest usuari tindrà, també, els permissos dels grups dels que sigui membre." + +#: contrib/auth/models.py:143 +msgid "user permissions" +msgstr "permissos de l'usuari" + +#: contrib/auth/models.py:147 +msgid "user" +msgstr "usuari" + +#: contrib/auth/models.py:148 +msgid "users" +msgstr "usuaris" + +#: contrib/auth/models.py:154 +msgid "Personal info" +msgstr "Informaciò personal" + +#: contrib/auth/models.py:155 +msgid "Permissions" +msgstr "permissos" + +#: contrib/auth/models.py:156 +msgid "Important dates" +msgstr "Dates importants" + +#: contrib/auth/models.py:157 +msgid "Groups" +msgstr "Grups" + +#: contrib/auth/models.py:316 +msgid "message" +msgstr "missatge" + +#: contrib/auth/views.py:47 +msgid "Logged out" +msgstr "Sessió finalitzada" #: contrib/comments/models.py:67 #: contrib/comments/models.py:169 @@ -1904,77 +1352,6 @@ msgstr "eliminacions del moderador" msgid "Moderator deletion by %r" msgstr "eliminació del moderador per %r" -#: contrib/comments/views/karma.py:20 -msgid "Anonymous users cannot vote" -msgstr "Els usuaris anònims no poden votar" - -#: contrib/comments/views/karma.py:24 -msgid "Invalid comment ID" -msgstr "ID del comentari invàlid" - -#: contrib/comments/views/karma.py:26 -msgid "No voting for yourself" -msgstr "No pots votar-te a tu mateix" - -#: contrib/comments/views/comments.py:28 -msgid "This rating is required because you've entered at least one other rating." -msgstr "Es precisa aquesta puntuació perquè has introduït almenys un altre." - -#: contrib/comments/views/comments.py:112 -#, python-format -msgid "" -"This comment was posted by a user who has posted fewer than %(count)s comment:\n" -"\n" -"%(text)s" -msgid_plural "" -"This comment was posted by a user who has posted fewer than %(count)s comments:\n" -"\n" -"%(text)s" -msgstr[0] "" -"Aquest comentari ha estat publicat per un usuari que ha publicat menys de %(count)s comentari:\n" -"\n" -"%(text)s" -msgstr[1] "" -"Aquest comentari ha estat publicat per un usuari que ha publicat menys de %(count)s comentaris:\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:117 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" -"Aquest comentari va ser publicat per un usuari incomplet\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:281 -msgid "Only POSTs are allowed" -msgstr "Només s'admed POST" - -#: contrib/comments/views/comments.py:193 -#: contrib/comments/views/comments.py:285 -msgid "One or more of the required fields wasn't submitted" -msgstr "Un o més dels caps requerits no ha estat sotmès" - -#: contrib/comments/views/comments.py:197 -#: contrib/comments/views/comments.py:287 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "Algú està jugant amb el formulari de comentaris (violació de seguretat)" - -#: contrib/comments/views/comments.py:207 -#: contrib/comments/views/comments.py:293 -msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" -msgstr "El formulari de comentaris tenia un paràmetre 'target' invàlid -- el ID del objecte era invàlid" - -#: contrib/comments/views/comments.py:258 -#: contrib/comments/views/comments.py:322 -msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "El formulari del comentari no ha proveït ni 'previsualitzar' ni 'enviar'" - #: contrib/comments/templates/comments/form.html:8 msgid "Forgotten your password?" msgstr "Contrasenya oblidada?" @@ -2011,6 +1388,214 @@ msgstr "Previsualitzar comentari" msgid "Your name:" msgstr "El seu nom:" +#: contrib/comments/views/comments.py:28 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Es precisa aquesta puntuació perquè has introduït almenys un altre." + +#: contrib/comments/views/comments.py:112 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s comment:\n" +"\n" +"%(text)s" +msgid_plural "" +"This comment was posted by a user who has posted fewer than %(count)s comments:\n" +"\n" +"%(text)s" +msgstr[0] "" +"Aquest comentari ha estat publicat per un usuari que ha publicat menys de %(count)s comentari:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Aquest comentari ha estat publicat per un usuari que ha publicat menys de %(count)s comentaris:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:117 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Aquest comentari va ser publicat per un usuari incomplet\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 +msgid "Only POSTs are allowed" +msgstr "Només s'admed POST" + +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 +msgid "One or more of the required fields wasn't submitted" +msgstr "Un o més dels caps requerits no ha estat sotmès" + +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Algú està jugant amb el formulari de comentaris (violació de seguretat)" + +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 +msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" +msgstr "El formulari de comentaris tenia un paràmetre 'target' invàlid -- el ID del objecte era invàlid" + +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "El formulari del comentari no ha proveït ni 'previsualitzar' ni 'enviar'" + +#: contrib/comments/views/karma.py:21 +msgid "Anonymous users cannot vote" +msgstr "Els usuaris anònims no poden votar" + +#: contrib/comments/views/karma.py:25 +msgid "Invalid comment ID" +msgstr "ID del comentari invàlid" + +#: contrib/comments/views/karma.py:27 +msgid "No voting for yourself" +msgstr "No pots votar-te a tu mateix" + +#: contrib/contenttypes/models.py:37 +msgid "python model class name" +msgstr "nom de la classe del model en python" + +#: contrib/contenttypes/models.py:40 +msgid "content type" +msgstr "tipus de contingut" + +#: contrib/contenttypes/models.py:41 +msgid "content types" +msgstr "tipus de continguts" + +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Exemple: '/about/contact/'. Asseguri's de posar les barres al principi i al final." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "tìtol" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "contingut" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "habilitar comentaris" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nom de la plantilla" + +#: contrib/flatpages/models.py:13 +msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." +msgstr "Exemple: 'flatpages/contact_page.html'. Si no el proporciona, el sistema utilitzarà 'flatpages/defaula.htmlt'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "s'ha de estar registrat" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Si està marcat, només els usuaris registrats podran veure la pàgina." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "pàgina estàtica" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "pàgines estàtiques" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "th" +msgstr "rt" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "st" +msgstr "r" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "nd" +msgstr "n" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "rd" +msgstr "r" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f milió" +msgstr[1] "%(value).1f milions" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f bilió" +msgstr[1] "%(value).1f bilions" + +#: contrib/humanize/templatetags/humanize.py:56 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f trilió" +msgstr[1] "%(value).1f trilions" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "one" +msgstr "un" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "two" +msgstr "dos" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "three" +msgstr "tres" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "four" +msgstr "cuatre" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "five" +msgstr "cinc" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "six" +msgstr "sis" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "seven" +msgstr "set" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "eight" +msgstr "vuit" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "nine" +msgstr "nou" + +#: contrib/humanize/templatetags/humanize.py:90 +msgid "today" +msgstr "avui" + +#: contrib/humanize/templatetags/humanize.py:92 +msgid "tomorrow" +msgstr "demà" + +#: contrib/humanize/templatetags/humanize.py:94 +msgid "yesterday" +msgstr "ahir" + #: contrib/localflavor/ar/forms.py:30 #: contrib/localflavor/ar/forms.py:38 msgid "Enter a postal code in the format NNNN or ANNNNAAA." @@ -2018,6 +1603,8 @@ msgstr "Introdueixi un codi postal en el format NNNN or ANNNNAAA." #: contrib/localflavor/ar/forms.py:61 #: contrib/localflavor/br/forms.py:103 +#: contrib/localflavor/pe/forms.py:34 +#: contrib/localflavor/pe/forms.py:57 msgid "This field requires only numbers." msgstr "Aquest camps requereix només números." @@ -2065,14 +1652,13 @@ msgstr "Aquest camp requereix almenys 14 dígits." msgid "Invalid CNPJ number." msgstr "Número CNPJ invàlid." -#: contrib/localflavor/ch/forms.py:18 -#: contrib/localflavor/no/forms.py:14 -msgid "Enter a zip code in the format XXXX." -msgstr "Introdueixi un codi zip en el format XXXX." +#: contrib/localflavor/ca/forms.py:19 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Introdueixi un codi postal en el format XXX XXX." -#: contrib/localflavor/ch/forms.py:90 -msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." -msgstr "Introdueixi un número de identificació o de passaport Suïssos en els formats 1234567890 o X1234567<0." +#: contrib/localflavor/ca/forms.py:81 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format." +msgstr "Introdueixi un número vàlid de la Seguretat Social de Canada en el format XXX-XXX-XXXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -2178,6 +1764,15 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" +#: contrib/localflavor/ch/forms.py:18 +#: contrib/localflavor/no/forms.py:14 +msgid "Enter a zip code in the format XXXX." +msgstr "Introdueixi un codi zip en el format XXXX." + +#: contrib/localflavor/ch/forms.py:90 +msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." +msgstr "Introdueixi un número de identificació o de passaport Suïssos en els formats 1234567890 o X1234567<0." + #: contrib/localflavor/cl/forms.py:32 msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Introdueixi un RUT Xilè vàlid. El format és XX.XXX.XXX-X" @@ -2186,16 +1781,6 @@ msgstr "Introdueixi un RUT Xilè vàlid. El format és XX.XXX.XXX-X" msgid "Enter valid a Chilean RUT" msgstr "Introdueixi un RUT Xilè vàlid." -#: contrib/localflavor/de/forms.py:16 -#: contrib/localflavor/fi/forms.py:14 -#: contrib/localflavor/fr/forms.py:17 -msgid "Enter a zip code in the format XXXXX." -msgstr "Introdueixi un codi zip en el format XXXXX." - -#: contrib/localflavor/de/forms.py:60 -msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." -msgstr "Introdueixi un número de tarjeta d'identificació alemany vàlid en el format XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." - #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" msgstr "Baden-Wuerttemberg" @@ -2260,11 +1845,335 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" +#: contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/fi/forms.py:14 +#: contrib/localflavor/fr/forms.py:17 +msgid "Enter a zip code in the format XXXXX." +msgstr "Introdueixi un codi zip en el format XXXXX." + +#: contrib/localflavor/de/forms.py:60 +msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." +msgstr "Introdueixi un número de tarjeta d'identificació alemany vàlid en el format XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "Àlaba" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "Albacete" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "Alacant" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "Almeria" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "Àvila" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "Badajoz" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "Illes Balears" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "Barcelona" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "Burgos" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "Càceres" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "Cadis" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "Castelló" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "Ciudad Real" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "Còrdova" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "La Corunya" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "Conca" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "Girona" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "Granada" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "Guadalajara" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "Guipúscoa" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "Huelva" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "Osca" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "Jaén" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "Lleó" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "Lleida" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "La Rioja" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "Lugo" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "Madrid" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "Màlaga" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "Múrcia" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "Navarra" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "Ourense" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "Astúries" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "Palència" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "Las Palmas" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "Pontevedra" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "Salamanca" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "Santa Cruz de Tenerife" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "Cantàbria" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "Segòvia" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "Sevilla" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "Sòria" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "Tarragona" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "Terol" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "Toledo" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "València" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "Valladolid" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "Biscaia" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "Zamora" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "Saragossa" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "Ceuta" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "Melilla" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "Andalusia" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "Aragó" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "Principat d'Astúries" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "Illes Balears" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "Euskadi" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "Canàries" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "Castella-La Mancha" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "Castella i Lleó" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "Catalunya" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "Extremadura" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "Galícia" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "Regió de Múrcia" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "Comunitat Foral de Navarra" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "Comunitat Valenciana" + +#: contrib/localflavor/es/forms.py:22 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Introdueixi un codi postal en rang i format 01XXX - 52XXX." + +#: contrib/localflavor/es/forms.py:39 +msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." +msgstr "Introdueixi un número de telèfon vàlid en un dels formats 6XXXXXXXX, 8XXXXXXXX o 9XXXXXXXX." + +#: contrib/localflavor/es/forms.py:73 +#: contrib/localflavor/es/forms.py:108 +#: db/models/fields/related.py:55 +#, python-format +msgid "Please enter a valid %s." +msgstr "Si us plau, introdueixi un %s vàlid." + +#: contrib/localflavor/es/forms.py:91 +msgid "Invalid checksum for NIF." +msgstr "Validació invàlida del NIF." + +#: contrib/localflavor/es/forms.py:97 +msgid "Invalid checksum for NIE." +msgstr "Validació invàlida del NIE." + +#: contrib/localflavor/es/forms.py:106 +msgid "Invalid checksum for CIF." +msgstr "Validació invàlida del CIF." + +#: contrib/localflavor/es/forms.py:136 +msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Introdueixi un número de compte bancari vàlid en el format XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:150 +msgid "Invalid checksum for bank account number." +msgstr "Validació invàlida del número de compte bancari." + #: contrib/localflavor/fi/forms.py:40 #: contrib/localflavor/fi/forms.py:45 msgid "Enter a valid Finnish social security number." msgstr "Introdueixi un número vàlid de la seguretat social finlandesa." +#: contrib/localflavor/in_/forms.py:16 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Introdueixi un codi zip en el format XXXXXXX." + +#: contrib/localflavor/is_/forms.py:17 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Introdueixi un número de identificació d'Islàndia. El format és XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:31 +msgid "The Icelandic identification number is not valid." +msgstr "El número de identificació d'Islàndia no és vàlid." + #: contrib/localflavor/it/forms.py:16 msgid "Enter a valid zip code." msgstr "Introdueixi un codi zip vàlid." @@ -2533,19 +2442,39 @@ msgstr "Zuid-Holland" msgid "Enter a valid Norwegian social security number." msgstr "Introdueixi un número de la seguretat social Noruega vàlid." -#: contrib/localflavor/pl/forms.py:53 +#: contrib/localflavor/pe/forms.py:36 +msgid "This field requires 8 digits." +msgstr "Aquest camp requereix 8 dígits." + +#: contrib/localflavor/pe/forms.py:59 +msgid "This field requires 11 digits." +msgstr "Aquest camp requereix 11 dígits." + +#: contrib/localflavor/pl/forms.py:41 msgid "National Identification Number consists of 11 digits." msgstr "El número d'identidicació nacional està compost de 11 digits." -#: contrib/localflavor/pl/forms.py:59 +#: contrib/localflavor/pl/forms.py:47 msgid "Wrong checksum for the National Identification Number." msgstr "Validació invàlida del número d'identificació nacional." -#: contrib/localflavor/pl/forms.py:71 +#: contrib/localflavor/pl/forms.py:72 msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." msgstr "Introdueixi un número NIP en el format XXX-XXX-XX-XX o XX-XX-XXX-XXX." -#: contrib/localflavor/pl/forms.py:82 +#: contrib/localflavor/pl/forms.py:78 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "Validació invàlida del número tributari (NIP)." + +#: contrib/localflavor/pl/forms.py:107 +msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +msgstr "El número nacional de registre de negocis (REGON) consisteix en 7 o 9 dígits." + +#: contrib/localflavor/pl/forms.py:113 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "Validació invàlida del número nacional de registre de negocis." + +#: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." msgstr "Introdueixi un codi postal en el format XX-XXX." @@ -2977,49 +2906,511 @@ msgstr "Introdueixi un codi zip en el format XXXXX o XXXXX-XXXX." msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "Introdueixi un número vàlid de la Seguretat Social dels E.U.A. en el format XXX-XX-XXXX." -#: contrib/localflavor/in_/forms.py:16 -msgid "Enter a zip code in the format XXXXXXX." -msgstr "Introdueixi un codi zip en el format XXXXXXX." +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redreçar des de" -#: contrib/localflavor/is_/forms.py:17 -msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." -msgstr "Introdueixi un número de identificació d'Islàndia. El format és XXXXXX-XXXX." +#: contrib/redirects/models.py:8 +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." +msgstr "Aquesta ruta hauria de ser el camí absolut, excloent-ne el nom del domini. Exemple '/events/search/'." -#: contrib/localflavor/is_/forms.py:31 -msgid "The Icelandic identification number is not valid." -msgstr "El número de identificació d'Islàndia no és vàlid." +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redreçar a" -#: contrib/sessions/models.py:68 +#: contrib/redirects/models.py:10 +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." +msgstr "Això pot ser bé una ruta absoluta (com abans) o una URL completa que comenci per http:// ." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "redreçament" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redreçaments" + +#: contrib/sessions/models.py:80 msgid "session key" msgstr "clau de la sessió" -#: contrib/sessions/models.py:69 +#: contrib/sessions/models.py:81 msgid "session data" msgstr "dades de la sessió" -#: contrib/sessions/models.py:70 +#: contrib/sessions/models.py:82 msgid "expire date" msgstr "data de caducitat" -#: contrib/sessions/models.py:74 +#: contrib/sessions/models.py:87 msgid "session" msgstr "sessió" -#: contrib/sessions/models.py:75 +#: contrib/sessions/models.py:88 msgid "sessions" msgstr "sessions" -#: contrib/contenttypes/models.py:37 -msgid "python model class name" -msgstr "nom de la classe del model en python" +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "nom del domini" -#: contrib/contenttypes/models.py:40 -msgid "content type" -msgstr "tipus de contingut" +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "nom per mostrar" -#: contrib/contenttypes/models.py:41 -msgid "content types" -msgstr "tipus de continguts" +#: contrib/sites/models.py:37 +msgid "site" +msgstr "lloc" + +#: contrib/sites/models.py:38 +msgid "sites" +msgstr "llocs" + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Aquest valor ha de contenir només números, guions, i guions baixos." + +#: core/validators.py:76 +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "Aquest valor ha de contenir només lletres, números, guions, guions baixos, i barres (/)." + +#: core/validators.py:80 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Aquest valor ha de contenir només lletres, números, guions o guions baixos" + +#: core/validators.py:84 +msgid "Uppercase letters are not allowed here." +msgstr "No es permeten majúscules aquí." + +#: core/validators.py:88 +msgid "Lowercase letters are not allowed here." +msgstr "No es permeten minúscules aquí." + +#: core/validators.py:95 +msgid "Enter only digits separated by commas." +msgstr "Introdueixi només dígits separats per comes." + +#: core/validators.py:107 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Introdueixi adreces de correu electrònic vàlides separades per comes." + +#: core/validators.py:111 +msgid "Please enter a valid IP address." +msgstr "Per favor introdueixi una adreça IP vàlida." + +#: core/validators.py:115 +msgid "Empty values are not allowed here." +msgstr "No s'admeten valor buits." + +#: core/validators.py:119 +msgid "Non-numeric characters aren't allowed here." +msgstr "No s'admeten caracters no numèrics." + +#: core/validators.py:123 +msgid "This value can't be comprised solely of digits." +msgstr "Aquest valor no pot contenir només dígits." + +#: core/validators.py:128 +#: newforms/fields.py:149 +msgid "Enter a whole number." +msgstr "Introdueixi un número sencer." + +#: core/validators.py:132 +msgid "Only alphabetical characters are allowed here." +msgstr "Només s'admeted caracters alfabètics aquí." + +#: core/validators.py:147 +msgid "Year must be 1900 or later." +msgstr "L'any ha de ser posterior al 1900" + +#: core/validators.py:151 +#, python-format +msgid "Invalid date: %s" +msgstr "Data invàlida: %s" + +#: core/validators.py:156 +#: db/models/fields/__init__.py:505 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Introdueixi una data vàlida en el forma AAAA-MM-DD." + +#: core/validators.py:161 +msgid "Enter a valid time in HH:MM format." +msgstr "Introdueixi una hora vàlida en el format HH:MM." + +#: core/validators.py:165 +#: db/models/fields/__init__.py:579 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Introdueixi un data/hora vàlida en format YYYY-MM-DD HH:MM." + +#: core/validators.py:170 +#: newforms/fields.py:343 +msgid "Enter a valid e-mail address." +msgstr "Introdueixi una adreça de correu vàlida." + +#: core/validators.py:182 +#: core/validators.py:474 +#: newforms/fields.py:377 +#: oldforms/__init__.py:686 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "No s'ha enviat cap fitxer. Comprovi el tipus de codificació del formulari." + +#: core/validators.py:193 +#: newforms/fields.py:405 +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Envii una imatge vàilda. El fitxer que ha enviat no era una imatge o estaba corrupte." + +#: core/validators.py:200 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "La URL %s no apunta una imatge vàlida." + +#: core/validators.py:204 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "El números de telèfon han de guardar-se en el format XXX-XXX-XXXX. \"%s\" no és vàlid." + +#: core/validators.py:212 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "La URL %s no apunta a un video QuickTime vàlid." + +#: core/validators.py:216 +msgid "A valid URL is required." +msgstr "Es precisa d'una URL vàlida." + +#: core/validators.py:230 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Es precisa HTML vàlid. Els errors específics sòn:\n" +"%s" + +#: core/validators.py:237 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML incorrectament formatejat: %s" + +#: core/validators.py:254 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL invalida: %s" + +#: core/validators.py:259 +#: core/validators.py:261 +#, python-format +msgid "The URL %s is a broken link." +msgstr "La URL %sés un enllaç trencat." + +#: core/validators.py:267 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Introdueixi una abreviatura vàlida d'estat d'els E.U.A.." + +#: core/validators.py:281 +#, 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] "Vigili la seva boca! Aquí no admetem la paraula: %s." +msgstr[1] "Vigili la seva boca! Aquí no admetem les paraules: %s." + +#: core/validators.py:288 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Aquest camp ha de concordar amb el camp '%s'." + +#: core/validators.py:307 +msgid "Please enter something for at least one field." +msgstr "Si us plau, introdueixi alguna cosa alemnys en un camp." + +#: core/validators.py:316 +#: core/validators.py:327 +msgid "Please enter both fields or leave them both empty." +msgstr "Si us plau, ompli els dos camps o deixi'ls tots dos en blanc." + +#: core/validators.py:335 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "S'ha de proporcionar aquest camps si %(field)s és %(value)s" + +#: core/validators.py:348 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "S'ha de proporcionar aquest camps si %(field)s no és %(value)s" + +#: core/validators.py:367 +msgid "Duplicate values are not allowed." +msgstr "No s'admeten valors duplicats." + +#: core/validators.py:382 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Aquest valor ha de estar comprés entre %(lower)s i %(upper)s." + +#: core/validators.py:384 +#, python-format +msgid "This value must be at least %s." +msgstr "Aquest valor ha de ser com a mínim %s." + +#: core/validators.py:386 +#, python-format +msgid "This value must be no more than %s." +msgstr "Aquest valor ha de ser com a màxim %s." + +#: core/validators.py:427 +#, python-format +msgid "This value must be a power of %s." +msgstr "Aquest valor ha de ser una potència de %s." + +#: core/validators.py:437 +msgid "Please enter a valid decimal number." +msgstr "Si us plau, introdueixi un número decimal vàlid." + +#: core/validators.py:444 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Si us plau, introdueixi un número decimal vàlid de com a màxim %s digit." +msgstr[1] "Si us plau, introdueixi un número decimal vàlid de com a màxim %s digits." + +#: core/validators.py:447 +#, python-format +msgid "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] "Si us plau, introdueixi un número decimal vàlid que la seva part sencera sigui de com a màxim %s digit." +msgstr[1] "Si us plau, introdueixi un número decimal vàlid que la seva part sencera sigui de com a màxim %s digits." + +#: core/validators.py:450 +#, 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] "Si us plau, introdueixi un número decimal vàlid de com a màxim %s posició decimal." +msgstr[1] "Si us plau, introdueixi un número decimal vàlid de com a màxim %s posicions decimals." + +#: core/validators.py:458 +msgid "Please enter a valid floating point number." +msgstr "Si us plau, introdueixi un número amb punt de coma flotant vàlid." + +#: core/validators.py:467 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Asseguris de que el fitxer que ha enviat té, com a mínim, %s bytes." + +#: core/validators.py:468 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Asseguris de que el fitxer que ha enviat té, com a màxim %s bytes." + +#: core/validators.py:485 +msgid "The format for this field is wrong." +msgstr "El format per aquest camp és incorrecte." + +#: core/validators.py:500 +msgid "This field is invalid." +msgstr "El camp no és vàlid." + +#: core/validators.py:536 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "No s'ha pogut obtenir res de %s." + +#: core/validators.py:539 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "La URL %(url)s ha va tornar la capcelera Content-Type '%(contenttype)s', que no és vàlida." + +#: core/validators.py:572 +#, python-format +msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" +msgstr "Si us plau, tanqui l'etiqueta %(tag)s des de la línia %(line)s. (La línia comença amb \"%(start)s\".)" + +#: core/validators.py:576 +#, python-format +msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" +msgstr "Part del text que comença en la línia %(line)s no està permès en aquest context. (La línia comença per \"%(start)s\".)" + +#: core/validators.py:581 +#, python-format +msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" +msgstr "El \"%(attr)s\" de la línia %(line)s no és un atribut vàlid. (La línia comença per \"%(start)s\".)" + +#: core/validators.py:586 +#, python-format +msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" +msgstr "La \"<%(tag)s>\" de la línia %(line)s no és una etiqueta vàlida. (La línia comença per \"%(start)s\".)" + +#: core/validators.py:590 +#, python-format +msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" +msgstr "Una etiqueta de la línia %(line)s li falta un o més atributs requerits.(La línia comença per \"%(start)s\".)" + +#: core/validators.py:595 +#, python-format +msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" +msgstr "L'atribut \"%(attr)s\" de la línia %(line)s té un valor que no és vàlid. (La línia comença per \"%(start)s\".)" + +#: db/models/manipulators.py:308 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "Ja existeix un %(object)s del tipus %(type)s amb aquest %(field)s." + +#: db/models/fields/__init__.py:52 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "Ja existeix %(optname)s amb auqest %(fieldname)s." + +#: db/models/fields/__init__.py:159 +#: db/models/fields/__init__.py:316 +#: db/models/fields/__init__.py:731 +#: db/models/fields/__init__.py:742 +#: newforms/fields.py:93 +#: newforms/fields.py:513 +#: newforms/fields.py:589 +#: newforms/fields.py:600 +#: newforms/models.py:193 +#: oldforms/__init__.py:373 +msgid "This field is required." +msgstr "Aquest camp és obligatori." + +#: db/models/fields/__init__.py:414 +msgid "This value must be an integer." +msgstr "Aquest valor ha de ser un enter." + +#: db/models/fields/__init__.py:450 +msgid "This value must be either True or False." +msgstr "Aquest valor ha de ser True (Veritat) o False (Fals)" + +#: db/models/fields/__init__.py:471 +msgid "This field cannot be null." +msgstr "Aquest camp no pot ser null (estar buit)." + +#: db/models/fields/__init__.py:640 +msgid "This value must be a decimal number." +msgstr "Aquest valor ha de ser un número decimal." + +#: db/models/fields/__init__.py:751 +msgid "Enter a valid filename." +msgstr "Introdueixi un nom de fitxer vàlid." + +#: db/models/fields/__init__.py:900 +msgid "This value must be either None, True or False." +msgstr "Aquest valor ha de ser None (Cap), True (Veritat) o False (Fals)" + +#: db/models/fields/related.py:658 +msgid "Separate multiple IDs with commas." +msgstr "Separi múltiples IDs amb comes." + +#: db/models/fields/related.py:660 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Premi \"Control\" o \"Command\" en un Mac per escollir més d'un." + +#: db/models/fields/related.py:707 +#, 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] "Si us plau, introdueixi els IDs de %(self)s vàlids. El valor %(value)r és invàlid." +msgstr[1] "Si us plau, introdueixi IDs de %(self)s vàlids. Els valors %(value)r són invàlids." + +#: newforms/fields.py:123 +#, python-format +msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." +msgstr "Asseguris de que el valor té com a màxim %(max)d caràcters (en té %(length)d)." + +#: newforms/fields.py:125 +#, python-format +msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." +msgstr "Asseguris de que el valor té com a mínim %(min)d caràcters (en té %(length)d)." + +#: newforms/fields.py:151 +#: newforms/fields.py:174 +#: newforms/fields.py:204 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Aquest valor ha de ser menor o igual a %s." + +#: newforms/fields.py:153 +#: newforms/fields.py:176 +#: newforms/fields.py:206 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Asseguris de que aquest valor sigui superior o igual a %s." + +#: newforms/fields.py:172 +#: newforms/fields.py:199 +msgid "Enter a number." +msgstr "Introdueixi un número." + +#: newforms/fields.py:208 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Asseguris de que no hi ha més de %s dígits en total." + +#: newforms/fields.py:210 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Asseguris de que no hi ha més de %s decimals." + +#: newforms/fields.py:212 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Asseguris de que no hia ha més de %s dígits decimals." + +#: newforms/fields.py:245 +#: newforms/fields.py:633 +msgid "Enter a valid date." +msgstr "Introdueixi una data vàlida." + +#: newforms/fields.py:272 +#: newforms/fields.py:635 +msgid "Enter a valid time." +msgstr "Introdueixi una hora vàlida." + +#: newforms/fields.py:308 +msgid "Enter a valid date/time." +msgstr "Introdueixi una data/hora vàlides." + +#: newforms/fields.py:321 +msgid "Enter a valid value." +msgstr "Introdueixi un valor vàlid." + +#: newforms/fields.py:379 +msgid "No file was submitted." +msgstr "No s'ha enviat cap fitxer." + +#: newforms/fields.py:381 +#: oldforms/__init__.py:688 +msgid "The submitted file is empty." +msgstr "El fitxer enviat està buit." + +#: newforms/fields.py:419 +#: newforms/fields.py:444 +msgid "Enter a valid URL." +msgstr "Introdueixi una URL vàlida." + +#: newforms/fields.py:446 +msgid "This URL appears to be a broken link." +msgstr "Aquesta URL sembla ser un enllaç trencat." + +#: newforms/fields.py:501 +#: newforms/models.py:180 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Esculli una opció vàlida; Aquesta opció no és una de les opcions disponibles." + +#: newforms/fields.py:517 +#: newforms/fields.py:593 +#: newforms/models.py:197 +msgid "Enter a list of values." +msgstr "Introdueixi una llista de valors." + +#: newforms/fields.py:523 +#: newforms/models.py:203 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Esculli una opció vàlida; %s' no és una de les opcions vàlides." + +#: newforms/fields.py:644 +msgid "Enter a valid IPv4 address." +msgstr "Introdueixi una adreça IPv4 vàlida." #: oldforms/__init__.py:408 #, python-format @@ -3039,11 +3430,6 @@ msgstr "No es permeten salts de línia." msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "Esculli una opció vàlida; %(data)s' no està dintre de %(choices)s." -#: oldforms/__init__.py:688 -#: newforms/fields.py:381 -msgid "The submitted file is empty." -msgstr "El fitxer enviat està buit." - #: oldforms/__init__.py:744 msgid "Enter a whole number between -32,768 and 32,767." msgstr "Introdueixi un número enter entre -32,768 i 32,767." @@ -3056,20 +3442,55 @@ msgstr "Introdueixi un número positiu." msgid "Enter a whole number between 0 and 32,767." msgstr "Introdueixi un número entre 0 i 32,767." -#: views/generic/create_update.py:43 -#, python-format -msgid "The %(verbose_name)s was created successfully." -msgstr "El/La %(verbose_name)s s'ha creat amb èxit." +#: template/defaultfilters.py:541 +msgid "yes,no,maybe" +msgstr "si,no,potser" -#: views/generic/create_update.py:117 +#: template/defaultfilters.py:570 #, python-format -msgid "The %(verbose_name)s was updated successfully." -msgstr "El/La %(verbose_name)s s'ha actualtzat amb èxit." +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" -#: views/generic/create_update.py:184 +#: template/defaultfilters.py:572 #, python-format -msgid "The %(verbose_name)s was deleted." -msgstr "El %(verbose_name)s s'ha eliminat." +msgid "%.1f KB" +msgstr "%.1f KB" + +#: template/defaultfilters.py:574 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" + +#: template/defaultfilters.py:575 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" + +#: utils/dateformat.py:41 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:42 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:47 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:48 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:97 +msgid "midnight" +msgstr "mitja nit" + +#: utils/dateformat.py:99 +msgid "noon" +msgstr "mig dia" #: utils/dates.py:6 msgid "Monday" @@ -3260,76 +3681,56 @@ msgstr "Des." msgid "or" msgstr "o" -#: utils/timesince.py:12 +#: utils/timesince.py:21 msgid "year" msgid_plural "years" msgstr[0] "any" msgstr[1] "anys" -#: utils/timesince.py:13 +#: utils/timesince.py:22 msgid "month" msgid_plural "months" msgstr[0] "mes" msgstr[1] "mesos" -#: utils/timesince.py:14 +#: utils/timesince.py:23 msgid "week" msgid_plural "weeks" msgstr[0] "setmana" msgstr[1] "setmanes" -#: utils/timesince.py:15 +#: utils/timesince.py:24 msgid "day" msgid_plural "days" msgstr[0] "dia" msgstr[1] "dies" -#: utils/timesince.py:16 +#: utils/timesince.py:25 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "hores" -#: utils/timesince.py:17 +#: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" msgstr[0] "minut" msgstr[1] "minuts" -#: utils/timesince.py:39 +#: utils/timesince.py:46 +msgid "minutes" +msgstr "minuts" + +#: utils/timesince.py:51 #, python-format msgid "%(number)d %(type)s" msgstr "%(number)d %(type)s" -#: utils/timesince.py:45 +#: utils/timesince.py:57 #, python-format msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/dateformat.py:41 -msgid "p.m." -msgstr "p.m." - -#: utils/dateformat.py:42 -msgid "a.m." -msgstr "a.m." - -#: utils/dateformat.py:47 -msgid "PM" -msgstr "PM" - -#: utils/dateformat.py:48 -msgid "AM" -msgstr "AM" - -#: utils/dateformat.py:97 -msgid "midnight" -msgstr "mitja nit" - -#: utils/dateformat.py:99 -msgid "noon" -msgstr "mig dia" - #: utils/translation/trans_real.py:391 msgid "DATE_FORMAT" msgstr "F j, Y" @@ -3350,123 +3751,20 @@ msgstr "j de/d' F del Y" msgid "MONTH_DAY_FORMAT" msgstr "j de/d' F del Y" -#: template/defaultfilters.py:532 -msgid "yes,no,maybe" -msgstr "si,no,potser" - -#: template/defaultfilters.py:561 +#: views/generic/create_update.py:43 #, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" +msgid "The %(verbose_name)s was created successfully." +msgstr "El/La %(verbose_name)s s'ha creat amb èxit." -#: template/defaultfilters.py:563 +#: views/generic/create_update.py:117 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "The %(verbose_name)s was updated successfully." +msgstr "El/La %(verbose_name)s s'ha actualtzat amb èxit." -#: template/defaultfilters.py:565 +#: views/generic/create_update.py:184 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" - -#: template/defaultfilters.py:566 -#, python-format -msgid "%.1f GB" -msgstr "%.1f GB" - -#: newforms/fields.py:123 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "Asseguris de que el valor té com a màxim %(max)d caràcters (en té %(length)d)." - -#: newforms/fields.py:125 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "Asseguris de que el valor té com a mínim %(min)d caràcters (en té %(length)d)." - -#: newforms/fields.py:151 -#: newforms/fields.py:174 -#: newforms/fields.py:204 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Aquest valor ha de ser menor o igual a %s." - -#: newforms/fields.py:153 -#: newforms/fields.py:176 -#: newforms/fields.py:206 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Asseguris de que aquest valor sigui superior o igual a %s." - -#: newforms/fields.py:172 -#: newforms/fields.py:199 -msgid "Enter a number." -msgstr "Introdueixi un número." - -#: newforms/fields.py:208 -#, python-format -msgid "Ensure that there are no more than %s digits in total." -msgstr "Asseguris de que no hi ha més de %s dígits en total." - -#: newforms/fields.py:210 -#, python-format -msgid "Ensure that there are no more than %s decimal places." -msgstr "Asseguris de que no hi ha més de %s decimals." - -#: newforms/fields.py:212 -#, python-format -msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "Asseguris de que no hia ha més de %s dígits decimals." - -#: newforms/fields.py:245 -#: newforms/fields.py:629 -msgid "Enter a valid date." -msgstr "Introdueixi una data vàlida." - -#: newforms/fields.py:272 -#: newforms/fields.py:631 -msgid "Enter a valid time." -msgstr "Introdueixi una hora vàlida." - -#: newforms/fields.py:308 -msgid "Enter a valid date/time." -msgstr "Introdueixi una data/hora vàlides." - -#: newforms/fields.py:321 -msgid "Enter a valid value." -msgstr "Introdueixi un valor vàlid." - -#: newforms/fields.py:379 -msgid "No file was submitted." -msgstr "No s'ha enviat cap fitxer." - -#: newforms/fields.py:419 -#: newforms/fields.py:444 -msgid "Enter a valid URL." -msgstr "Introdueixi una URL vàlida." - -#: newforms/fields.py:446 -msgid "This URL appears to be a broken link." -msgstr "Aquesta URL sembla ser un enllaç trencat." - -#: newforms/fields.py:497 -#: newforms/models.py:180 -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Esculli una opció vàlida; Aquesta opció no és una de les opcions disponibles." - -#: newforms/fields.py:513 -#: newforms/fields.py:589 -#: newforms/models.py:197 -msgid "Enter a list of values." -msgstr "Introdueixi una llista de valors." - -#: newforms/fields.py:519 -#: newforms/models.py:203 -#, python-format -msgid "Select a valid choice. %s is not one of the available choices." -msgstr "Esculli una opció vàlida; %s' no és una de les opcions vàlides." +msgid "The %(verbose_name)s was deleted." +msgstr "El %(verbose_name)s s'ha eliminat." #~ msgid "" #~ "This comment was posted by a user who has posted fewer than %(count)s " diff --git a/django/conf/locale/es/LC_MESSAGES/django.mo b/django/conf/locale/es/LC_MESSAGES/django.mo index 28d389b404e5c3fb8400593485d4b41fa7b02ff9..29b411467e4bb30a442b596b9129e233f487e92c 100644 GIT binary patch delta 21364 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 diff --git a/django/conf/locale/es/LC_MESSAGES/django.po b/django/conf/locale/es/LC_MESSAGES/django.po index bf6d4ed6ae..786889106e 100644 --- a/django/conf/locale/es/LC_MESSAGES/django.po +++ b/django/conf/locale/es/LC_MESSAGES/django.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-09-14 12:41+0200\n" -"PO-Revision-Date: 2007-09-14 14:32+0100\n" +"POT-Creation-Date: 2007-10-20 14:55+0200\n" +"PO-Revision-Date: 2007-10-20 15:38+0100\n" "Last-Translator: Marc Garcia \n" "Language-Team: Castellano \n" "MIME-Version: 1.0\n" @@ -15,91 +15,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: db/models/manipulators.py:309 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s de este %(type)s ya existen en este %(field)s." - -#: db/models/manipulators.py:310 -#: core/validators.py:283 -#: contrib/admin/views/main.py:342 -#: contrib/admin/views/main.py:344 -#: contrib/admin/views/main.py:346 -msgid "and" -msgstr "y" - -#: db/models/fields/related.py:55 -#, python-format -msgid "Please enter a valid %s." -msgstr "Por favor, introduzca un %s válido." - -#: db/models/fields/related.py:658 -msgid "Separate multiple IDs with commas." -msgstr "Separe múltiples IDs con comas." - -#: db/models/fields/related.py:660 -msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "Mantenga presionado \"Control\", o \"Command\" en un Mac, para seleccionar más de uno." - -#: db/models/fields/related.py:707 -#, 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] "Por favor, introduzca IDs de %(self)s válidos. El valor %(value)r no es válido." -msgstr[1] "Por favor, introduzca IDs de %(self)s válidos. Los valores %(value)r no son válidos." - -#: db/models/fields/__init__.py:52 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "Ya existe %(optname)s con este %(fieldname)s." - -#: db/models/fields/__init__.py:159 -#: db/models/fields/__init__.py:316 -#: db/models/fields/__init__.py:724 -#: db/models/fields/__init__.py:735 -#: oldforms/__init__.py:373 -#: newforms/fields.py:93 -#: newforms/fields.py:509 -#: newforms/fields.py:585 -#: newforms/fields.py:596 -#: newforms/models.py:193 -msgid "This field is required." -msgstr "Este campo es obligatorio." - -#: db/models/fields/__init__.py:414 -msgid "This value must be an integer." -msgstr "Este valor debe ser un entero." - -#: db/models/fields/__init__.py:449 -msgid "This value must be either True or False." -msgstr "Este valor debe ser Verdadero o Falso." - -#: db/models/fields/__init__.py:470 -msgid "This field cannot be null." -msgstr "Este campo no puede estar vacío." - -#: db/models/fields/__init__.py:504 -#: core/validators.py:156 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Introduzca una fecha válida en formato AAAA-MM-DD." - -#: db/models/fields/__init__.py:573 -#: core/validators.py:165 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Introduzca una fecha/hora válida en formato AAAA-MM-DD HH:MM." - -#: db/models/fields/__init__.py:634 -msgid "This value must be a decimal number." -msgstr "Este valor debe ser un entero." - -#: db/models/fields/__init__.py:744 -msgid "Enter a valid filename." -msgstr "Introduzca un nombre de fichero válido" - -#: db/models/fields/__init__.py:887 -msgid "This value must be either None, True or False." -msgstr "Este valor debe ser Verdadero o Falso." - #: conf/global_settings.py:39 msgid "Arabic" msgstr "Árabe" @@ -161,583 +76,125 @@ msgid "French" msgstr "Francés" #: conf/global_settings.py:54 +msgid "Gaeilge" +msgstr "Gaeilge" + +#: conf/global_settings.py:55 msgid "Galician" msgstr "Gallego" -#: conf/global_settings.py:55 +#: conf/global_settings.py:56 msgid "Hungarian" msgstr "Húngaro" -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Hebrew" msgstr "Hebreo" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 msgid "Croatian" msgstr "Croata" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Icelandic" msgstr "Islandés" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Italian" msgstr "Italiano" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "Japanese" msgstr "Japonés" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 msgid "Korean" msgstr "Koreano" -#: conf/global_settings.py:62 +#: conf/global_settings.py:63 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:63 +#: conf/global_settings.py:64 msgid "Kannada" msgstr "Kannada" -#: conf/global_settings.py:64 +#: conf/global_settings.py:65 msgid "Latvian" msgstr "Latvio" -#: conf/global_settings.py:65 +#: conf/global_settings.py:66 msgid "Macedonian" msgstr "Macedonio" -#: conf/global_settings.py:66 +#: conf/global_settings.py:67 msgid "Dutch" msgstr "Alemán" -#: conf/global_settings.py:67 +#: conf/global_settings.py:68 msgid "Norwegian" msgstr "Noruego" -#: conf/global_settings.py:68 +#: conf/global_settings.py:69 msgid "Polish" msgstr "Polaco" -#: conf/global_settings.py:69 +#: conf/global_settings.py:70 msgid "Portugese" msgstr "Portugés" -#: conf/global_settings.py:70 +#: conf/global_settings.py:71 msgid "Brazilian" msgstr "Brasileño" -#: conf/global_settings.py:71 +#: conf/global_settings.py:72 msgid "Romanian" msgstr "Rumano" -#: conf/global_settings.py:72 +#: conf/global_settings.py:73 msgid "Russian" msgstr "Ruso" -#: conf/global_settings.py:73 +#: conf/global_settings.py:74 msgid "Slovak" msgstr "Eslovaco" -#: conf/global_settings.py:74 +#: conf/global_settings.py:75 msgid "Slovenian" msgstr "Esloveno" -#: conf/global_settings.py:75 +#: conf/global_settings.py:76 msgid "Serbian" msgstr "Serbio" -#: conf/global_settings.py:76 +#: conf/global_settings.py:77 msgid "Swedish" msgstr "Sueco" -#: conf/global_settings.py:77 +#: conf/global_settings.py:78 msgid "Tamil" msgstr "Tamil" -#: conf/global_settings.py:78 +#: conf/global_settings.py:79 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:79 +#: conf/global_settings.py:80 msgid "Turkish" msgstr "Turco" -#: conf/global_settings.py:80 +#: conf/global_settings.py:81 msgid "Ukrainian" msgstr "Ucraniano" -#: conf/global_settings.py:81 +#: conf/global_settings.py:82 msgid "Simplified Chinese" msgstr "Chino simplificado" -#: conf/global_settings.py:82 +#: conf/global_settings.py:83 msgid "Traditional Chinese" msgstr "Chino tradicional" -#: core/validators.py:72 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Este valor debe contener sólo letras, números y guiones bajos." - -#: core/validators.py:76 -msgid "This value must contain only letters, numbers, underscores, dashes or slashes." -msgstr "Este valor debe contener letras, números, guiones bajos o barras solamente." - -#: core/validators.py:80 -msgid "This value must contain only letters, numbers, underscores or hyphens." -msgstr "Este valor debe contener sólo letras, números, guiones bajos o medios." - -#: core/validators.py:84 -msgid "Uppercase letters are not allowed here." -msgstr "No se admiten letras mayúsculas." - -#: core/validators.py:88 -msgid "Lowercase letters are not allowed here." -msgstr "No se admiten letras minúsculas." - -#: core/validators.py:95 -msgid "Enter only digits separated by commas." -msgstr "Introduzca sólo dígitos separados por comas." - -#: core/validators.py:107 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Introduzca direcciones de correo válidas separadas por comas." - -#: core/validators.py:111 -msgid "Please enter a valid IP address." -msgstr "Por favor introduzca una dirección IP válida." - -#: core/validators.py:115 -msgid "Empty values are not allowed here." -msgstr "No se admiten valores vacíos." - -#: core/validators.py:119 -msgid "Non-numeric characters aren't allowed here." -msgstr "No se admiten caracteres no numéricos." - -#: core/validators.py:123 -msgid "This value can't be comprised solely of digits." -msgstr "Este valor no puede comprender sólo dígitos." - -#: core/validators.py:128 -#: newforms/fields.py:149 -msgid "Enter a whole number." -msgstr "Introduzca un número entero." - -#: core/validators.py:132 -msgid "Only alphabetical characters are allowed here." -msgstr "Sólo se admiten caracteres alfabéticos." - -#: core/validators.py:147 -msgid "Year must be 1900 or later." -msgstr "El año debe ser 1900 o posterior." - -#: core/validators.py:151 -#, python-format -msgid "Invalid date: %s" -msgstr "Fecha no válida: %s" - -#: core/validators.py:161 -msgid "Enter a valid time in HH:MM format." -msgstr "Introduzca una hora válida en formato HH:MM." - -#: core/validators.py:170 -#: newforms/fields.py:343 -msgid "Enter a valid e-mail address." -msgstr "Introduzca una dirección de correo electrónico válida" - -#: core/validators.py:182 -#: core/validators.py:469 -#: oldforms/__init__.py:686 -#: newforms/fields.py:377 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "No se ha enviado ningún fichero. Compruebe el tipo de codificación en el formulario." - -#: core/validators.py:193 -#: newforms/fields.py:405 -msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." -msgstr "Envíe una imagen válida. El fichero que ha enviado no era una imagen o se trataba de una imagen corrupta." - -#: core/validators.py:200 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "La URL %s no apunta a una imagen válida." - -#: core/validators.py:204 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "Los números de teléfono deben guardar el formato XXX-XXX-XXXX. \"%s\" no es válido." - -#: core/validators.py:212 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "La URL %s no apunta a un vídeo QuickTime válido." - -#: core/validators.py:216 -msgid "A valid URL is required." -msgstr "Se precisa una URL válida." - -#: core/validators.py:230 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" -"Se precisa HTML válido. Los errores específicos son:\n" -"%s" - -#: core/validators.py:237 -#, python-format -msgid "Badly formed XML: %s" -msgstr "XML mal formado: %s" - -#: core/validators.py:254 -#, python-format -msgid "Invalid URL: %s" -msgstr "URL no válida: %s" - -#: core/validators.py:259 -#: core/validators.py:261 -#, python-format -msgid "The URL %s is a broken link." -msgstr "La URL %s es un enlace roto." - -#: core/validators.py:267 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Introduzca una abreviatura válida de estado de los EEUU." - -#: core/validators.py:281 -#, 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] "¡Cuida tu vocabulario! Aquí no admitimos la palabra %s." -msgstr[1] "¡Cuida tu vocabulario! Aquí no admitimos las palabras %s." - -#: core/validators.py:288 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Este campo debe concordar con el campo '%s'." - -#: core/validators.py:307 -msgid "Please enter something for at least one field." -msgstr "Por favor, introduzca algo en al menos un campo." - -#: core/validators.py:316 -#: core/validators.py:327 -msgid "Please enter both fields or leave them both empty." -msgstr "Por favor, rellene ambos campos o deje ambos vacíos." - -#: core/validators.py:335 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "Se debe proporcionar este campo si %(field)s es %(value)s" - -#: core/validators.py:348 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Se debe proporcionar este campo si %(field)s no es %(value)s" - -#: core/validators.py:367 -msgid "Duplicate values are not allowed." -msgstr "No se admiten valores duplicados." - -#: core/validators.py:382 -#, python-format -msgid "This value must be between %(lower)s and %(upper)s." -msgstr "Este valor debe estar entre %(lower)s y %(upper)s." - -#: core/validators.py:384 -#, python-format -msgid "This value must be at least %s." -msgstr "Este valor debe ser como mínimo %s." - -#: core/validators.py:386 -#, python-format -msgid "This value must be no more than %s." -msgstr "Este valor no debe ser mayor que %s." - -#: core/validators.py:422 -#, python-format -msgid "This value must be a power of %s." -msgstr "Este valor debe ser una potencia de %s." - -#: core/validators.py:432 -msgid "Please enter a valid decimal number." -msgstr "Por favor, introduzca un número decimal válido." - -#: core/validators.py:439 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "Please enter a valid decimal number with at most %s total digits." -msgstr[0] "Por favor, introduzca un número decimal válido con a lo más %s dígito en total." -msgstr[1] "Por favor, introduzca un número decimal válido con a lo más %s dígitos en total." - -#: core/validators.py:442 -#, python-format -msgid "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] "Por favor, introduzca un número decimal válido con a lo más %s dígito en su parte entera." -msgstr[1] "Por favor, introduzca un número decimal válido con a lo más %s dígitos en su parte entera." - -#: core/validators.py:445 -#, 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] "Por favor, introduzca un número decimal válido con a lo más %s dígito decimal." -msgstr[1] "Por favor, introduzca un número decimal válido con a lo más %s dígitos decimales." - -#: core/validators.py:453 -msgid "Please enter a valid floating point number." -msgstr "Por favor, introduzca un número decimal válido." - -#: core/validators.py:462 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Asegúrese de que el fichero que envía tiene al menos %s bytes." - -#: core/validators.py:463 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Asegúrese de que el fichero que envía tiene como máximo %s bytes." - -#: core/validators.py:480 -msgid "The format for this field is wrong." -msgstr "El formato de este campo es incorrecto." - -#: core/validators.py:495 -msgid "This field is invalid." -msgstr "Este campo no es válido." - -#: core/validators.py:531 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "No pude obtener nada de %s." - -#: core/validators.py:534 -#, python-format -msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "La URL %(url)s devolvió la cabecera Content-Type '%(contenttype)s', que no es válida." - -#: core/validators.py:567 -#, python-format -msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" -msgstr "Por favor, cierre la etiqueta %(tag)s de la línea %(line)s. (La línea empieza por \"%(start)s\".)" - -#: core/validators.py:571 -#, python-format -msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" -msgstr "Parte del texto que comienza en la línea %(line)s no está permitido en ese contexto. (La línea empieza por \"%(start)s\".)" - -#: core/validators.py:576 -#, python-format -msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" -msgstr "El \"%(attr)s\" de la línea %(line)s no es un atributo válido. (La línea empieza por \"%(start)s\".)" - -#: core/validators.py:581 -#, python-format -msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" -msgstr "La \"<%(tag)s>\" de la línea %(line)s no es una etiqueta válida. (La línea empieza por \"%(start)s\".)" - -#: core/validators.py:585 -#, python-format -msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" -msgstr "A una etiqueta de la línea %(line)s le faltan uno o más atributos requeridos. (La línea empieza por \"%(start)s\".)" - -#: core/validators.py:590 -#, python-format -msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" -msgstr "El atributo \"%(attr)s\" de la línea %(line)s tiene un valor que no es válido. (La línea empieza por \"%(start)s\".)" - -#: contrib/auth/forms.py:17 -#: contrib/auth/forms.py:138 -msgid "The two password fields didn't match." -msgstr "Las dos contraseñas no coinciden." - -#: contrib/auth/forms.py:25 -msgid "A user with that username already exists." -msgstr "Ya existe un usuario con este nombre." - -#: contrib/auth/forms.py:53 -msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." -msgstr "Tu navegador de internet parece no tener las cookies habilitadas. Las cookies se necesitan para poder ingresar." - -#: contrib/auth/forms.py:60 -#: contrib/admin/views/decorators.py:10 -msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "Por favor, introduzca un correcto nombre de usuario y contraseña. Note que ambos campos son sensibles a mayúsculas/minúsculas." - -#: contrib/auth/forms.py:62 -msgid "This account is inactive." -msgstr "Esta cuenta está inactiva." - -#: contrib/auth/forms.py:84 -msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" -msgstr "Esta dirección de correo electrónico no tiene una cuenta de usuario asociada. ¿Está seguro de que se ha registrado?" - -#: contrib/auth/forms.py:117 -msgid "The two 'new password' fields didn't match." -msgstr "Las contraseñas introducidas en los campos 'nueva contraseña' no coinciden." - -#: contrib/auth/forms.py:124 -msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "Tu contraseña antigua es incorrecta. Por favor, vuelve a introducirla correctamente." - -#: contrib/auth/models.py:53 -#: contrib/auth/models.py:73 -msgid "name" -msgstr "nombre" - -#: contrib/auth/models.py:55 -msgid "codename" -msgstr "nombre en código" - -#: contrib/auth/models.py:58 -msgid "permission" -msgstr "permiso" - -#: contrib/auth/models.py:59 -#: contrib/auth/models.py:74 -msgid "permissions" -msgstr "permisos" - -#: contrib/auth/models.py:77 -msgid "group" -msgstr "grupo" - -#: contrib/auth/models.py:78 -#: contrib/auth/models.py:121 -msgid "groups" -msgstr "grupos" - -#: contrib/auth/models.py:111 -msgid "username" -msgstr "nombre de usuario" - -#: contrib/auth/models.py:111 -msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." -msgstr "Requerido. 30 caracteres o menos. Sólo caracteres alfanuméricos (letras, dígitos y guiones bajos)." - -#: contrib/auth/models.py:112 -msgid "first name" -msgstr "nombre" - -#: contrib/auth/models.py:113 -msgid "last name" -msgstr "apellidos" - -#: contrib/auth/models.py:114 -msgid "e-mail address" -msgstr "dirección de correo" - -#: contrib/auth/models.py:115 -msgid "password" -msgstr "clave" - -#: contrib/auth/models.py:115 -msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." -msgstr "Use'[algo]$[sal]$[hash hexadecimal]' o use el formulario para cambiar la contraseña." - -#: contrib/auth/models.py:116 -msgid "staff status" -msgstr "es staff" - -#: contrib/auth/models.py:116 -msgid "Designates whether the user can log into this admin site." -msgstr "Indica si el usuario puede entrar en este sitio de administración." - -#: contrib/auth/models.py:117 -msgid "active" -msgstr "activo" - -#: contrib/auth/models.py:117 -msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." -msgstr "Indica si el usuario puede entrar en este sitio de administración. Desmarque esto en lugar de borrar la cuenta." - -#: contrib/auth/models.py:118 -msgid "superuser status" -msgstr "es superusuario" - -#: contrib/auth/models.py:118 -msgid "Designates that this user has all permissions without explicitly assigning them." -msgstr "Indica que este usuario tiene todos los permisos sin asignárselos explícitamente." - -#: contrib/auth/models.py:119 -msgid "last login" -msgstr "Último registro" - -#: contrib/auth/models.py:120 -msgid "date joined" -msgstr "fecha de creación" - -#: contrib/auth/models.py:122 -msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." -msgstr "Además de los permisos asignados manualmente, este usuario también tendrá todos los permisos de los grupos en los que esté." - -#: contrib/auth/models.py:123 -msgid "user permissions" -msgstr "permisos" - -#: contrib/auth/models.py:127 -msgid "user" -msgstr "usuario" - -#: contrib/auth/models.py:128 -msgid "users" -msgstr "usuarios" - -#: contrib/auth/models.py:134 -msgid "Personal info" -msgstr "Información personal" - -#: contrib/auth/models.py:135 -msgid "Permissions" -msgstr "Permisos" - -#: contrib/auth/models.py:136 -msgid "Important dates" -msgstr "Fechas importantes" - -#: contrib/auth/models.py:137 -msgid "Groups" -msgstr "Grupos" - -#: contrib/auth/models.py:288 -msgid "message" -msgstr "mensaje" - -#: contrib/auth/views.py:47 -msgid "Logged out" -msgstr "Sesión terminada" - -#: contrib/admin/models.py:17 -msgid "action time" -msgstr "hora de acción" - -#: contrib/admin/models.py:20 -msgid "object id" -msgstr "id de objeto" - -#: contrib/admin/models.py:21 -msgid "object repr" -msgstr "repr de objeto" - -#: contrib/admin/models.py:22 -msgid "action flag" -msgstr "marca de acción" - -#: contrib/admin/models.py:23 -msgid "change message" -msgstr "mensaje de cambio" - -#: contrib/admin/models.py:26 -msgid "log entry" -msgstr "entrada de registro" - -#: contrib/admin/models.py:27 -msgid "log entries" -msgstr "entradas de registro" - #: contrib/admin/filterspecs.py:42 #, python-format msgid "" @@ -775,28 +232,528 @@ msgid "This year" msgstr "Este año" #: contrib/admin/filterspecs.py:145 +#: newforms/widgets.py:205 #: oldforms/__init__.py:591 -#: newforms/widgets.py:188 msgid "Yes" msgstr "Sí" #: contrib/admin/filterspecs.py:145 +#: newforms/widgets.py:205 #: oldforms/__init__.py:591 -#: newforms/widgets.py:188 msgid "No" msgstr "No" #: contrib/admin/filterspecs.py:152 +#: newforms/widgets.py:205 #: oldforms/__init__.py:591 -#: newforms/widgets.py:188 msgid "Unknown" msgstr "Desconocido" -#: contrib/admin/views/decorators.py:24 +#: contrib/admin/models.py:17 +msgid "action time" +msgstr "hora de acción" + +#: contrib/admin/models.py:20 +msgid "object id" +msgstr "id de objeto" + +#: contrib/admin/models.py:21 +msgid "object repr" +msgstr "repr de objeto" + +#: contrib/admin/models.py:22 +msgid "action flag" +msgstr "marca de acción" + +#: contrib/admin/models.py:23 +msgid "change message" +msgstr "mensaje de cambio" + +#: contrib/admin/models.py:26 +msgid "log entry" +msgstr "entrada de registro" + +#: contrib/admin/models.py:27 +msgid "log entries" +msgstr "entradas de registro" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Página no encontrada" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Lo sentimos, pero no se encuentra la página solicitada." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "Inicio" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Error del servidor" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Error de servidor (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." +msgstr "Ha ocurrido un error. Se ha informado a los administradores del sitio mediante correo electrónico y debería arreglarse en breve. Gracias por su paciencia." + +#: contrib/admin/templates/admin/base.html:26 +msgid "Welcome," +msgstr "Bienvenido," + +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Documentación" + +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 +msgid "Change password" +msgstr "Cambiar clave" + +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Terminar sesión" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Sitio de administración de Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administración de Django" + +#: contrib/admin/templates/admin/change_form.html:14 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Agregar" + +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 +msgid "History" +msgstr "Histórico" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "Ver en el sitio" + +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor, corrija el siguiente error." +msgstr[1] "Por favor, corrija los siguientes errores." + +#: contrib/admin/templates/admin/change_form.html:49 +msgid "Ordering" +msgstr "Ordenación" + +#: contrib/admin/templates/admin/change_form.html:52 +msgid "Order:" +msgstr "Orden:" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "Agregar %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Eliminar" + +#: contrib/admin/templates/admin/delete_confirmation.html:13 +#, python-format +msgid "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" +msgstr "Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación de objetos relacionados, pero su cuenta no tiene permiso para borrar los siguientes tipos de objetos:" + +#: contrib/admin/templates/admin/delete_confirmation.html:20 +#, python-format +msgid "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? All of the following related items will be deleted:" +msgstr "¿Está seguro de que quiere borrar los %(object_name)s \"%(escaped_object)s\"? Se borrarán los siguientes objetos relacionados:" + +#: contrib/admin/templates/admin/delete_confirmation.html:25 +msgid "Yes, I'm sure" +msgstr "Sí, estoy seguro" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtro" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modelos disponibles en la aplicación %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modificar" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "No tiene permiso para editar nada." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Acciones recientes" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Mis acciones" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Ninguno disponible" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." +msgstr "Algo va mal con la instalación de la base de datos. Asegúrate que las tablas necesarias han sido creadas, y que la base de datos puede ser leída por el usuario apropiado." + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Usuario:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Clave:" + #: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 msgid "Log in" msgstr "Identificarse" +#: contrib/admin/templates/admin/object_history.html:17 +msgid "Date/time" +msgstr "Fecha/hora" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "User" +msgstr "Usuario" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "Action" +msgstr "Acción" + +#: contrib/admin/templates/admin/object_history.html:25 +msgid "DATE_WITH_TIME_FULL" +msgstr "j M Y P" + +#: contrib/admin/templates/admin/object_history.html:35 +msgid "This object doesn't have a change history. It probably wasn't added via this admin site." +msgstr "Este objeto no tiene histórico de cambios. Probablemente no fue añadido usando este sitio de administración." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrarlo todo" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Buscar" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 resultado" +msgstr[1] "%(counter)s resultados" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s total" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Grabar como nuevo" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Grabar y añadir otro" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Grabar y continuar editando" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Grabar" + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "First, enter a username and password. Then, you'll be able to edit more user options." +msgstr "Primero introduzca un nombre de usuario y una contraseña. Luego podrá editar el resto de opciones del usuario." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nombre de usuario" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 +msgid "Password" +msgstr "Contraseña" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 +msgid "Password (again)" +msgstr "Contraseña (de nuevo)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Enter the same password as above, for verification." +msgstr "Introduzca la misma contraseña que arriba, para verificación" + +#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Introduzca una nueva contraseña para el usuario %(username)s." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklets" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "Bookmarklets de documentación" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

To install bookmarklets, drag the link to your bookmarks\n" +"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" +"select the bookmarklet from any page in the site. Note that some of these\n" +"bookmarklets require you to be viewing the site from a computer designated\n" +"as \"internal\" (talk to your system administrator if you aren't sure if\n" +"your computer is \"internal\").

\n" +msgstr "" +"\n" +"

Para instalar bookmarklets, arrastre el enlace a su barra\n" +"de favoritos, o pulse con el botón derecho el enlace y añádalo a sus favoritos.\n" +"Ahora puede escoger el bookmarklet desde cualquier página en el sitio.\n" +"Observer que algunos de estos bookmarklets precisan que esté viendo\n" +"el sitio desde un computador señalado como \"interno\" (hable\n" +"con su administrador de sistemas si no está seguro de si el suyo lo es).

\n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "Documentación de esta página" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Jumps you from any page to the documentation for the view that generates that page." +msgstr "Le lleva desde cualquier página a la documentación de la vista que la genera." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Mostrar ID de objeto" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "Muestra el tipo de contenido e ID unívoco de las páginas que representan un único objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Editar este objeto (ventana actual)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "Le lleva a la página de administración de páginas que representan un único objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Editar este objeto (nueva ventana)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "Como antes, pero abre la página de administración en una nueva ventana." + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Identificarse de nuevo" + +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 +msgid "Password change" +msgstr "Cambio de clave" + +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 +msgid "Password change successful" +msgstr "Cambio de clave exitoso" + +#: contrib/admin/templates/registration/password_change_done.html:11 +msgid "Your password was changed." +msgstr "Su clave ha sido cambiada." + +#: contrib/admin/templates/registration/password_change_form.html:11 +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 "Por favor, introduzca su clave antigua, por seguridad, y después introduzca la nueva clave dos veces para verificar que la ha escrito correctamente." + +#: contrib/admin/templates/registration/password_change_form.html:16 +msgid "Old password:" +msgstr "Clave antigua:" + +#: contrib/admin/templates/registration/password_change_form.html:18 +msgid "New password:" +msgstr "Clave nueva:" + +#: contrib/admin/templates/registration/password_change_form.html:20 +msgid "Confirm password:" +msgstr "Confirme clave:" + +#: contrib/admin/templates/registration/password_change_form.html:22 +msgid "Change my password" +msgstr "Cambiar mi clave" + +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +msgid "Password reset" +msgstr "Recuperar clave" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Recuperación de clave exitosa" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." +msgstr "Le hemos enviado una clave nueva a la dirección que ha suministrado. Debería recibirla en breve." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Está recibiendo este mensaje debido a que solicitó recuperar la clave" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "de su cuenta de usuario en %(site_name)s." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Su nueva clave es: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Puede cambiarla accediendo a esta página:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Su nombre de usuario, en caso de haberlo olvidado:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "¡Gracias por usar nuestro sitio!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "Forgotten your password? Enter your e-mail address below, and we'll reset your password and e-mail the new one to you." +msgstr "¿Ha olvidado su clave? Introduzca su dirección de correo electrónico, y crearemos una nueva que le enviaremos por correo." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Dirección de correo electrónico:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Recuperar mi clave" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Fecha:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Hora:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Actualmente:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modificar:" + +#: contrib/admin/templatetags/admin_list.py:254 +msgid "All dates" +msgstr "Todas las fechas" + +#: contrib/admin/views/auth.py:20 +#: contrib/admin/views/main.py:264 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "Se añadió con éxito el %(name)s \"%(obj)s\"." + +#: contrib/admin/views/auth.py:25 +#: contrib/admin/views/main.py:268 +#: contrib/admin/views/main.py:354 +msgid "You may edit it again below." +msgstr "Puede editarlo de nuevo abajo." + +#: contrib/admin/views/auth.py:31 +msgid "Add user" +msgstr "Añadir usuario" + +#: contrib/admin/views/auth.py:58 +msgid "Password changed successfully." +msgstr "La clave se ha cambiado exitosamente." + +#: contrib/admin/views/auth.py:65 +#, python-format +msgid "Change password: %s" +msgstr "Cambiar clave: %s" + +#: contrib/admin/views/decorators.py:10 +#: contrib/auth/forms.py:60 +msgid "Please enter a correct username and password. Note that both fields are case-sensitive." +msgstr "Por favor, introduzca un correcto nombre de usuario y contraseña. Note que ambos campos son sensibles a mayúsculas/minúsculas." + #: contrib/admin/views/decorators.py:62 msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." msgstr "Por favor, identifíquese de nuevo, porque su sesión ha caducado. No se preocupe: se ha guardado su envío." @@ -814,105 +771,6 @@ msgstr "Los nombres de usuario no pueden contener el carácter '@'." msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Su dirección de correo no es su nombre de usuario. Pruebe con '%s' en su lugar." -#: contrib/admin/views/main.py:230 -msgid "Site administration" -msgstr "Sitio administrativo" - -#: contrib/admin/views/main.py:264 -#: contrib/admin/views/auth.py:20 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "Se añadió con éxito el %(name)s \"%(obj)s\"." - -#: contrib/admin/views/main.py:268 -#: contrib/admin/views/main.py:354 -#: contrib/admin/views/auth.py:25 -msgid "You may edit it again below." -msgstr "Puede editarlo de nuevo abajo." - -#: contrib/admin/views/main.py:278 -#: contrib/admin/views/main.py:363 -#, python-format -msgid "You may add another %s below." -msgstr "Puede agregar otro %s abajo." - -#: contrib/admin/views/main.py:296 -#, python-format -msgid "Add %s" -msgstr "Agregar %s" - -#: contrib/admin/views/main.py:342 -#, python-format -msgid "Added %s." -msgstr "Agregado %s." - -#: contrib/admin/views/main.py:344 -#, python-format -msgid "Changed %s." -msgstr "Modificado %s." - -#: contrib/admin/views/main.py:346 -#, python-format -msgid "Deleted %s." -msgstr "Borrado %s." - -#: contrib/admin/views/main.py:349 -msgid "No fields changed." -msgstr "No ha cambiado ningún campo." - -#: contrib/admin/views/main.py:352 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "Se modificó con éxito el %(name)s \"%(obj)s." - -#: contrib/admin/views/main.py:360 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "Se agregó con éxito el %(name)s \"%(obj)s. Puede editarlo de nuevo abajo." - -#: contrib/admin/views/main.py:398 -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#: contrib/admin/views/main.py:483 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Uno o más %(fieldname)s en %(name)s: %(obj)s" - -#: contrib/admin/views/main.py:488 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Uno o más %(fieldname)s en %(name)s:" - -#: contrib/admin/views/main.py:520 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Se eliminó con éxito el %(name)s \"%(obj)s\"." - -#: contrib/admin/views/main.py:523 -msgid "Are you sure?" -msgstr "¿Está seguro?" - -#: contrib/admin/views/main.py:545 -#, python-format -msgid "Change history: %s" -msgstr "Modificar histórico: %s" - -#: contrib/admin/views/main.py:579 -#, python-format -msgid "Select %s" -msgstr "Escoja %s" - -#: contrib/admin/views/main.py:579 -#, python-format -msgid "Select %s to change" -msgstr "Escoja %s para modificar" - -#: contrib/admin/views/main.py:780 -msgid "Database error" -msgstr "Erorr en la base de datos" - #: contrib/admin/views/doc.py:47 #: contrib/admin/views/doc.py:49 #: contrib/admin/views/doc.py:51 @@ -1065,666 +923,256 @@ msgstr "Texto XML" msgid "%s does not appear to be a urlpattern object" msgstr "%s no parece ser un objeto urlpattern" -#: contrib/admin/views/auth.py:31 -msgid "Add user" -msgstr "Añadir usuario" +#: contrib/admin/views/main.py:230 +msgid "Site administration" +msgstr "Sitio administrativo" -#: contrib/admin/views/auth.py:58 -msgid "Password changed successfully." -msgstr "La clave se ha cambiado exitosamente." - -#: contrib/admin/views/auth.py:65 +#: contrib/admin/views/main.py:278 +#: contrib/admin/views/main.py:363 #, python-format -msgid "Change password: %s" -msgstr "Cambiar clave: %s" +msgid "You may add another %s below." +msgstr "Puede agregar otro %s abajo." -#: contrib/admin/templatetags/admin_list.py:254 -msgid "All dates" -msgstr "Todas las fechas" - -#: contrib/admin/templates/admin/pagination.html:10 -msgid "Show all" -msgstr "Mostrarlo todo" - -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -msgid "Documentation" -msgstr "Documentación" - -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin/auth/user/change_password.html:15 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -msgid "Change password" -msgstr "Cambiar clave" - -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/comments/templates/comments/form.html:6 -msgid "Log out" -msgstr "Terminar sesión" - -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/invalid_setup.html:4 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/auth/user/change_password.html:12 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_done.html:4 -msgid "Home" -msgstr "Inicio" - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "Eliminar" - -#: contrib/admin/templates/admin/delete_confirmation.html:14 +#: contrib/admin/views/main.py:296 #, python-format -msgid "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" -msgstr "Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación de objetos relacionados, pero su cuenta no tiene permiso para borrar los siguientes tipos de objetos:" +msgid "Add %s" +msgstr "Agregar %s" -#: contrib/admin/templates/admin/delete_confirmation.html:21 +#: contrib/admin/views/main.py:342 #, python-format -msgid "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? All of the following related items will be deleted:" -msgstr "¿Está seguro de que quiere borrar los %(object_name)s \"%(escaped_object)s\"? Se borrarán los siguientes objetos relacionados:" +msgid "Added %s." +msgstr "Agregado %s." -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "Sí, estoy seguro" +#: contrib/admin/views/main.py:342 +#: contrib/admin/views/main.py:344 +#: contrib/admin/views/main.py:346 +#: core/validators.py:283 +#: db/models/manipulators.py:309 +msgid "and" +msgstr "y" -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Página no encontrada" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "Lo sentimos, pero no se encuentra la página solicitada." - -#: contrib/admin/templates/admin/change_form.html:15 -#: contrib/admin/templates/admin/index.html:28 -msgid "Add" -msgstr "Agregar" - -#: contrib/admin/templates/admin/change_form.html:21 -#: contrib/admin/templates/admin/object_history.html:5 -msgid "History" -msgstr "Histórico" - -#: contrib/admin/templates/admin/change_form.html:22 -msgid "View on site" -msgstr "Ver en el sitio" - -#: contrib/admin/templates/admin/change_form.html:32 -#: contrib/admin/templates/admin/auth/user/change_password.html:24 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Por favor, corrija el siguiente error." -msgstr[1] "Por favor, corrija los siguientes errores." - -#: contrib/admin/templates/admin/change_form.html:50 -msgid "Ordering" -msgstr "Ordenación" - -#: contrib/admin/templates/admin/change_form.html:53 -msgid "Order:" -msgstr "Orden:" - -#: contrib/admin/templates/admin/filter.html:2 +#: contrib/admin/views/main.py:344 #, python-format -msgid " By %(filter_title)s " -msgstr " Por %(filter_title)s " +msgid "Changed %s." +msgstr "Modificado %s." -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Grabar como nuevo" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Grabar y añadir otro" - -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Grabar y continuar editando" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Grabar" - -#: contrib/admin/templates/admin/change_list.html:12 +#: contrib/admin/views/main.py:346 #, python-format -msgid "Add %(name)s" -msgstr "Agregar %(name)s" +msgid "Deleted %s." +msgstr "Borrado %s." -#: contrib/admin/templates/admin/index.html:17 +#: contrib/admin/views/main.py:349 +msgid "No fields changed." +msgstr "No ha cambiado ningún campo." + +#: contrib/admin/views/main.py:352 #, python-format -msgid "Models available in the %(name)s application." -msgstr "Modelos disponibles en la aplicación %(name)s." +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "Se modificó con éxito el %(name)s \"%(obj)s." -#: contrib/admin/templates/admin/index.html:18 +#: contrib/admin/views/main.py:360 #, python-format -msgid "%(name)s" -msgstr "%(name)s" +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "Se agregó con éxito el %(name)s \"%(obj)s. Puede editarlo de nuevo abajo." -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Modificar" - -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "No tiene permiso para editar nada." - -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Acciones recientes" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Mis acciones" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Ninguno disponible" - -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Sitio de administración de Django" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Administración de Django" - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Fecha/hora" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Usuario" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Acción" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "j M Y P" - -#: contrib/admin/templates/admin/object_history.html:36 -msgid "This object doesn't have a change history. It probably wasn't added via this admin site." -msgstr "Este objeto no tiene histórico de cambios. Probablemente no fue añadido usando este sitio de administración." - -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Error del servidor" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Error de servidor (500)" - -#: contrib/admin/templates/admin/500.html:10 -msgid "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Ha ocurrido un error. Se ha informado a los administradores del sitio mediante correo electrónico y debería arreglarse en breve. Gracias por su paciencia." - -#: contrib/admin/templates/admin/invalid_setup.html:8 -msgid "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." -msgstr "Algo va mal con la instalación de la base de datos. Asegúrate que las tablas necesarias han sido creadas, y que la base de datos puede ser leída por el usuario apropiado." - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Buscar" - -#: contrib/admin/templates/admin/search_form.html:10 +#: contrib/admin/views/main.py:398 #, python-format -msgid "1 result" -msgid_plural "%(counter)s results" -msgstr[0] "1 resultado" -msgstr[1] "%(counter)s resultados" +msgid "Change %s" +msgstr "Modificar %s" -#: contrib/admin/templates/admin/search_form.html:10 +#: contrib/admin/views/main.py:483 #, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s total" +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Uno o más %(fieldname)s en %(name)s: %(obj)s" -#: contrib/admin/templates/admin/filters.html:4 -msgid "Filter" -msgstr "Filtro" - -#: contrib/admin/templates/admin/login.html:17 -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -msgid "Username:" -msgstr "Usuario:" - -#: contrib/admin/templates/admin/login.html:20 -#: contrib/comments/templates/comments/form.html:8 -msgid "Password:" -msgstr "Clave:" - -#: contrib/admin/templates/admin/base.html:25 -msgid "Welcome," -msgstr "Bienvenido," - -#: contrib/admin/templates/admin/auth/user/add_form.html:6 -msgid "First, enter a username and password. Then, you'll be able to edit more user options." -msgstr "Primero introduzca un nombre de usuario y una contraseña. Luego podrá editar el resto de opciones del usuario." - -#: contrib/admin/templates/admin/auth/user/add_form.html:12 -msgid "Username" -msgstr "Nombre de usuario" - -#: contrib/admin/templates/admin/auth/user/add_form.html:18 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -msgid "Password" -msgstr "Contraseña" - -#: contrib/admin/templates/admin/auth/user/add_form.html:23 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -msgid "Password (again)" -msgstr "Contraseña (de nuevo)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:24 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -msgid "Enter the same password as above, for verification." -msgstr "Introduzca la misma contraseña que arriba, para verificación" - -#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#: contrib/admin/views/main.py:488 #, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Introduzca una nueva contraseña para el usuario %(username)s." +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Uno o más %(fieldname)s en %(name)s:" -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "Bookmarklets" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "Bookmarklets de documentación" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 -msgid "" -"\n" -"

To install bookmarklets, drag the link to your bookmarks\n" -"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" -"select the bookmarklet from any page in the site. Note that some of these\n" -"bookmarklets require you to be viewing the site from a computer designated\n" -"as \"internal\" (talk to your system administrator if you aren't sure if\n" -"your computer is \"internal\").

\n" -msgstr "" -"\n" -"

Para instalar bookmarklets, arrastre el enlace a su barra\n" -"de favoritos, o pulse con el botón derecho el enlace y añádalo a sus favoritos.\n" -"Ahora puede escoger el bookmarklet desde cualquier página en el sitio.\n" -"Observer que algunos de estos bookmarklets precisan que esté viendo\n" -"el sitio desde un computador señalado como \"interno\" (hable\n" -"con su administrador de sistemas si no está seguro de si el suyo lo es).

\n" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Documentación de esta página" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 -msgid "Jumps you from any page to the documentation for the view that generates that page." -msgstr "Le lleva desde cualquier página a la documentación de la vista que la genera." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Mostrar ID de objeto" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "Shows the content-type and unique ID for pages that represent a single object." -msgstr "Muestra el tipo de contenido e ID unívoco de las páginas que representan un único objeto." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Editar este objeto (ventana actual)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Le lleva a la página de administración de páginas que representan un único objeto." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Editar este objeto (nueva ventana)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "Como antes, pero abre la página de administración en una nueva ventana." - -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Fecha:" - -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Hora:" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Actualmente:" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Modificar:" - -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:10 -#: contrib/admin/templates/registration/password_reset_done.html:4 -msgid "Password reset" -msgstr "Recuperar clave" - -#: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "Forgotten your password? Enter your e-mail address below, and we'll reset your password and e-mail the new one to you." -msgstr "¿Ha olvidado su clave? Introduzca su dirección de correo electrónico, y crearemos una nueva que le enviaremos por correo." - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "Dirección de correo electrónico:" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Recuperar mi clave" - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Está recibiendo este mensaje debido a que solicitó recuperar la clave" - -#: contrib/admin/templates/registration/password_reset_email.html:3 +#: contrib/admin/views/main.py:520 #, python-format -msgid "for your user account at %(site_name)s" -msgstr "de su cuenta de usuario en %(site_name)s." +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "Se eliminó con éxito el %(name)s \"%(obj)s\"." -#: contrib/admin/templates/registration/password_reset_email.html:5 +#: contrib/admin/views/main.py:523 +msgid "Are you sure?" +msgstr "¿Está seguro?" + +#: contrib/admin/views/main.py:545 #, python-format -msgid "Your new password is: %(new_password)s" -msgstr "Su nueva clave es: %(new_password)s" +msgid "Change history: %s" +msgstr "Modificar histórico: %s" -#: contrib/admin/templates/registration/password_reset_email.html:7 -msgid "Feel free to change this password by going to this page:" -msgstr "Puede cambiarla accediendo a esta página:" - -#: contrib/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "Su nombre de usuario, en caso de haberlo olvidado:" - -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "¡Gracias por usar nuestro sitio!" - -#: contrib/admin/templates/registration/password_reset_email.html:15 +#: contrib/admin/views/main.py:579 #, python-format -msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" +msgid "Select %s" +msgstr "Escoja %s" -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Identificarse de nuevo" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "Recuperación de clave exitosa" - -#: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." -msgstr "Le hemos enviado una clave nueva a la dirección que ha suministrado. Debería recibirla en breve." - -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:4 -msgid "Password change" -msgstr "Cambio de clave" - -#: contrib/admin/templates/registration/password_change_form.html:12 -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 "Por favor, introduzca su clave antigua, por seguridad, y después introduzca la nueva clave dos veces para verificar que la ha escrito correctamente." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Clave antigua:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Clave nueva:" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Confirme clave:" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Cambiar mi clave" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "Cambio de clave exitoso" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "Su clave ha sido cambiada." - -#: contrib/sites/models.py:33 -msgid "domain name" -msgstr "nombre de dominio" - -#: contrib/sites/models.py:34 -msgid "display name" -msgstr "nombre para mostrar" - -#: contrib/sites/models.py:38 -msgid "site" -msgstr "sitio" - -#: contrib/sites/models.py:39 -msgid "sites" -msgstr "sitios" - -#: contrib/humanize/templatetags/humanize.py:20 -msgid "th" -msgstr "th" - -#: contrib/humanize/templatetags/humanize.py:20 -msgid "st" -msgstr "st" - -#: contrib/humanize/templatetags/humanize.py:20 -msgid "nd" -msgstr "nd" - -#: contrib/humanize/templatetags/humanize.py:20 -msgid "rd" -msgstr "rd" - -#: contrib/humanize/templatetags/humanize.py:50 +#: contrib/admin/views/main.py:579 #, python-format -msgid "%(value).1f million" -msgid_plural "%(value).1f million" -msgstr[0] "%(value).1f millón" -msgstr[1] "%(value).1f millión" +msgid "Select %s to change" +msgstr "Escoja %s para modificar" -#: contrib/humanize/templatetags/humanize.py:53 -#, python-format -msgid "%(value).1f billion" -msgid_plural "%(value).1f billion" -msgstr[0] "%(value).1f billión" -msgstr[1] "%(value).1f billión" +#: contrib/admin/views/main.py:780 +msgid "Database error" +msgstr "Erorr en la base de datos" -#: contrib/humanize/templatetags/humanize.py:56 -#, python-format -msgid "%(value).1f trillion" -msgid_plural "%(value).1f trillion" -msgstr[0] "%(value).1f trillión" -msgstr[1] "%(value).1f trillión" +#: contrib/auth/forms.py:17 +#: contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Las dos contraseñas no coinciden." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "one" -msgstr "uno" +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Ya existe un usuario con este nombre." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "two" -msgstr "dos" +#: contrib/auth/forms.py:53 +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +msgstr "Tu navegador de internet parece no tener las cookies habilitadas. Las cookies se necesitan para poder ingresar." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "three" -msgstr "tres" +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Esta cuenta está inactiva." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "four" -msgstr "cuatro" +#: contrib/auth/forms.py:84 +msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +msgstr "Esta dirección de correo electrónico no tiene una cuenta de usuario asociada. ¿Está seguro de que se ha registrado?" -#: contrib/humanize/templatetags/humanize.py:71 -msgid "five" -msgstr "cinco" +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Las contraseñas introducidas en los campos 'nueva contraseña' no coinciden." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "six" -msgstr "seis" +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Tu contraseña antigua es incorrecta. Por favor, vuelve a introducirla correctamente." -#: contrib/humanize/templatetags/humanize.py:71 -msgid "seven" -msgstr "siete" +#: contrib/auth/models.py:73 +#: contrib/auth/models.py:93 +msgid "name" +msgstr "nombre" -#: contrib/humanize/templatetags/humanize.py:71 -msgid "eight" -msgstr "ocho" +#: contrib/auth/models.py:75 +msgid "codename" +msgstr "nombre en código" -#: contrib/humanize/templatetags/humanize.py:71 -msgid "nine" -msgstr "nueve" +#: contrib/auth/models.py:78 +msgid "permission" +msgstr "permiso" -#: contrib/humanize/templatetags/humanize.py:90 -msgid "today" -msgstr "hoy" +#: contrib/auth/models.py:79 +#: contrib/auth/models.py:94 +msgid "permissions" +msgstr "permisos" -#: contrib/humanize/templatetags/humanize.py:92 -msgid "tomorrow" -msgstr "mañana" +#: contrib/auth/models.py:97 +msgid "group" +msgstr "grupo" -#: contrib/humanize/templatetags/humanize.py:94 -msgid "yesterday" -msgstr "ayer" +#: contrib/auth/models.py:98 +#: contrib/auth/models.py:141 +msgid "groups" +msgstr "grupos" -#: contrib/flatpages/models.py:8 -msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "Ejemplo: '/about/contact/'. Asegúrese de que pone barras al principio y al final." +#: contrib/auth/models.py:131 +msgid "username" +msgstr "nombre de usuario" -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "título" +#: contrib/auth/models.py:131 +msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." +msgstr "Requerido. 30 caracteres o menos. Sólo caracteres alfanuméricos (letras, dígitos y guiones bajos)." -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "contenido" +#: contrib/auth/models.py:132 +msgid "first name" +msgstr "nombre" -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "admitir comentarios" +#: contrib/auth/models.py:133 +msgid "last name" +msgstr "apellidos" -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "nombre de plantilla" +#: contrib/auth/models.py:134 +msgid "e-mail address" +msgstr "dirección de correo" -#: contrib/flatpages/models.py:13 -msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." -msgstr "Ejemplo: 'flatpages/contact_page.html'. Si no es proporcionado, el sistema usará 'flatpages/default.html'." +#: contrib/auth/models.py:135 +msgid "password" +msgstr "clave" -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "debe estar registrado" +#: contrib/auth/models.py:135 +msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +msgstr "Use'[algo]$[sal]$[hash hexadecimal]' o use el formulario para cambiar la contraseña." -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Si está marcado, sólo los usuarios registrados podrán ver la página." +#: contrib/auth/models.py:136 +msgid "staff status" +msgstr "es staff" -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "página estática" +#: contrib/auth/models.py:136 +msgid "Designates whether the user can log into this admin site." +msgstr "Indica si el usuario puede entrar en este sitio de administración." -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "páginas estáticas" +#: contrib/auth/models.py:137 +msgid "active" +msgstr "activo" -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "redirigir desde" +#: contrib/auth/models.py:137 +msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." +msgstr "Indica si el usuario puede entrar en este sitio de administración. Desmarque esto en lugar de borrar la cuenta." -#: contrib/redirects/models.py:8 -msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." -msgstr "Esta ruta debería ser absoluta, excluyendo el nombre de dominio. Ejeplo: '/events/search/'." +#: contrib/auth/models.py:138 +msgid "superuser status" +msgstr "es superusuario" -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "redirigir a" +#: contrib/auth/models.py:138 +msgid "Designates that this user has all permissions without explicitly assigning them." +msgstr "Indica que este usuario tiene todos los permisos sin asignárselos explícitamente." -#: contrib/redirects/models.py:10 -msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." -msgstr "Esto puede ser bien una ruta absoluta (como antes) o una URL completa que empiece con 'http://'." +#: contrib/auth/models.py:139 +msgid "last login" +msgstr "Último registro" -#: contrib/redirects/models.py:13 -msgid "redirect" -msgstr "redirección" +#: contrib/auth/models.py:140 +msgid "date joined" +msgstr "fecha de creación" -#: contrib/redirects/models.py:14 -msgid "redirects" -msgstr "redirecciones" +#: contrib/auth/models.py:142 +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." +msgstr "Además de los permisos asignados manualmente, este usuario también tendrá todos los permisos de los grupos en los que esté." + +#: contrib/auth/models.py:143 +msgid "user permissions" +msgstr "permisos" + +#: contrib/auth/models.py:147 +msgid "user" +msgstr "usuario" + +#: contrib/auth/models.py:148 +msgid "users" +msgstr "usuarios" + +#: contrib/auth/models.py:154 +msgid "Personal info" +msgstr "Información personal" + +#: contrib/auth/models.py:155 +msgid "Permissions" +msgstr "Permisos" + +#: contrib/auth/models.py:156 +msgid "Important dates" +msgstr "Fechas importantes" + +#: contrib/auth/models.py:157 +msgid "Groups" +msgstr "Grupos" + +#: contrib/auth/models.py:316 +msgid "message" +msgstr "mensaje" + +#: contrib/auth/views.py:47 +msgid "Logged out" +msgstr "Sesión terminada" #: contrib/comments/models.py:67 #: contrib/comments/models.py:169 @@ -1905,77 +1353,6 @@ msgstr "eliminaciones de moderador" msgid "Moderator deletion by %r" msgstr "Eliminación del moderador %r" -#: contrib/comments/views/karma.py:20 -msgid "Anonymous users cannot vote" -msgstr "Los usuarios anónimos no pueden votar" - -#: contrib/comments/views/karma.py:24 -msgid "Invalid comment ID" -msgstr "ID de comentario no válido" - -#: contrib/comments/views/karma.py:26 -msgid "No voting for yourself" -msgstr "No puedes votarte tú mismo" - -#: contrib/comments/views/comments.py:28 -msgid "This rating is required because you've entered at least one other rating." -msgstr "Se precisa esta puntuación porque ha introducido al menos otra más." - -#: contrib/comments/views/comments.py:112 -#, python-format -msgid "" -"This comment was posted by a user who has posted fewer than %(count)s comment:\n" -"\n" -"%(text)s" -msgid_plural "" -"This comment was posted by a user who has posted fewer than %(count)s comments:\n" -"\n" -"%(text)s" -msgstr[0] "" -"Este comentario lo envió un usuario que ha enviado menos de %(count)s comentario:\n" -"\n" -"%(text)s" -msgstr[1] "" -"Este comentario lo envió un usuario que ha enviado menos de %(count)s comentarios:\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:117 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" -"Este comentario ha sido colocado por un usuario poco preciso: \n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:281 -msgid "Only POSTs are allowed" -msgstr "Sólo se admite POST" - -#: contrib/comments/views/comments.py:193 -#: contrib/comments/views/comments.py:285 -msgid "One or more of the required fields wasn't submitted" -msgstr "No se proporcionó uno o más de los siguientes campos requeridos" - -#: contrib/comments/views/comments.py:197 -#: contrib/comments/views/comments.py:287 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "Alguien está jugando con el formulario de comentarios (violación de seguridad)" - -#: contrib/comments/views/comments.py:207 -#: contrib/comments/views/comments.py:293 -msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" -msgstr "El formulario de comentarios tiene un parámetro 'target' no válido (el ID de objeto era inválido)" - -#: contrib/comments/views/comments.py:258 -#: contrib/comments/views/comments.py:322 -msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "El formulario de comentario no proporcionó 'previsualizar' ni 'enviar'" - #: contrib/comments/templates/comments/form.html:8 msgid "Forgotten your password?" msgstr "¿Has olvidado tu contraseña?" @@ -2012,6 +1389,214 @@ msgstr "Previsualizar comentario" msgid "Your name:" msgstr "Tu nombre:" +#: contrib/comments/views/comments.py:28 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Se precisa esta puntuación porque ha introducido al menos otra más." + +#: contrib/comments/views/comments.py:112 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s comment:\n" +"\n" +"%(text)s" +msgid_plural "" +"This comment was posted by a user who has posted fewer than %(count)s comments:\n" +"\n" +"%(text)s" +msgstr[0] "" +"Este comentario lo envió un usuario que ha enviado menos de %(count)s comentario:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Este comentario lo envió un usuario que ha enviado menos de %(count)s comentarios:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:117 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Este comentario ha sido colocado por un usuario poco preciso: \n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 +msgid "Only POSTs are allowed" +msgstr "Sólo se admite POST" + +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 +msgid "One or more of the required fields wasn't submitted" +msgstr "No se proporcionó uno o más de los siguientes campos requeridos" + +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Alguien está jugando con el formulario de comentarios (violación de seguridad)" + +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 +msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" +msgstr "El formulario de comentarios tiene un parámetro 'target' no válido (el ID de objeto era inválido)" + +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "El formulario de comentario no proporcionó 'previsualizar' ni 'enviar'" + +#: contrib/comments/views/karma.py:21 +msgid "Anonymous users cannot vote" +msgstr "Los usuarios anónimos no pueden votar" + +#: contrib/comments/views/karma.py:25 +msgid "Invalid comment ID" +msgstr "ID de comentario no válido" + +#: contrib/comments/views/karma.py:27 +msgid "No voting for yourself" +msgstr "No puedes votarte tú mismo" + +#: contrib/contenttypes/models.py:37 +msgid "python model class name" +msgstr "nombre de módulo python" + +#: contrib/contenttypes/models.py:40 +msgid "content type" +msgstr "tipo de contenido" + +#: contrib/contenttypes/models.py:41 +msgid "content types" +msgstr "tipos de contenido" + +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "Ejemplo: '/about/contact/'. Asegúrese de que pone barras al principio y al final." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "título" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "contenido" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "admitir comentarios" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nombre de plantilla" + +#: contrib/flatpages/models.py:13 +msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." +msgstr "Ejemplo: 'flatpages/contact_page.html'. Si no es proporcionado, el sistema usará 'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "debe estar registrado" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Si está marcado, sólo los usuarios registrados podrán ver la página." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "página estática" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "páginas estáticas" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "th" +msgstr "th" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "st" +msgstr "st" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "nd" +msgstr "nd" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "rd" +msgstr "rd" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f millón" +msgstr[1] "%(value).1f millión" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f billión" +msgstr[1] "%(value).1f billión" + +#: contrib/humanize/templatetags/humanize.py:56 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f trillión" +msgstr[1] "%(value).1f trillión" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "one" +msgstr "uno" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "two" +msgstr "dos" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "three" +msgstr "tres" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "four" +msgstr "cuatro" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "five" +msgstr "cinco" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "six" +msgstr "seis" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "seven" +msgstr "siete" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "eight" +msgstr "ocho" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "nine" +msgstr "nueve" + +#: contrib/humanize/templatetags/humanize.py:90 +msgid "today" +msgstr "hoy" + +#: contrib/humanize/templatetags/humanize.py:92 +msgid "tomorrow" +msgstr "mañana" + +#: contrib/humanize/templatetags/humanize.py:94 +msgid "yesterday" +msgstr "ayer" + #: contrib/localflavor/ar/forms.py:30 #: contrib/localflavor/ar/forms.py:38 msgid "Enter a postal code in the format NNNN or ANNNNAAA." @@ -2019,6 +1604,8 @@ msgstr "Introduzca un código postal en el formato NNNN or ANNNNAAA." #: contrib/localflavor/ar/forms.py:61 #: contrib/localflavor/br/forms.py:103 +#: contrib/localflavor/pe/forms.py:34 +#: contrib/localflavor/pe/forms.py:57 msgid "This field requires only numbers." msgstr "Este campo sólo acepta números." @@ -2066,14 +1653,13 @@ msgstr "Este campo necesita 14 dígitos como máximo" msgid "Invalid CNPJ number." msgstr "Número CNPJ inválido" -#: contrib/localflavor/ch/forms.py:18 -#: contrib/localflavor/no/forms.py:14 -msgid "Enter a zip code in the format XXXX." -msgstr "Introduzca un código postal en el formato XXXX." +#: contrib/localflavor/ca/forms.py:19 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Introduzca un código postal en el formato XXX XXX." -#: contrib/localflavor/ch/forms.py:90 -msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." -msgstr "Introduzca una identificación suiza válida o un número de pasaporte en el formato X1234567<0 or 1234567890." +#: contrib/localflavor/ca/forms.py:81 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format." +msgstr "Introduzca un Número Seguro Social de Canada válido en el formato XXX-XXX-XXXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -2179,6 +1765,15 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" +#: contrib/localflavor/ch/forms.py:18 +#: contrib/localflavor/no/forms.py:14 +msgid "Enter a zip code in the format XXXX." +msgstr "Introduzca un código postal en el formato XXXX." + +#: contrib/localflavor/ch/forms.py:90 +msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." +msgstr "Introduzca una identificación suiza válida o un número de pasaporte en el formato X1234567<0 or 1234567890." + #: contrib/localflavor/cl/forms.py:32 msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Introduzca un RUT chileno válido. El formato es XX.XXX.XXX-X." @@ -2187,16 +1782,6 @@ msgstr "Introduzca un RUT chileno válido. El formato es XX.XXX.XXX-X." msgid "Enter valid a Chilean RUT" msgstr "Introduzca un RUT chileno válido" -#: contrib/localflavor/de/forms.py:16 -#: contrib/localflavor/fi/forms.py:14 -#: contrib/localflavor/fr/forms.py:17 -msgid "Enter a zip code in the format XXXXX." -msgstr "Introduzca un código postal en el formato XXXXX." - -#: contrib/localflavor/de/forms.py:60 -msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." -msgstr "Introduzca un número de tarjeta de identidad de Alemania válida en el formato XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." - #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" msgstr "Baden-Wuerttemberg" @@ -2261,11 +1846,335 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" +#: contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/fi/forms.py:14 +#: contrib/localflavor/fr/forms.py:17 +msgid "Enter a zip code in the format XXXXX." +msgstr "Introduzca un código postal en el formato XXXXX." + +#: contrib/localflavor/de/forms.py:60 +msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." +msgstr "Introduzca un número de tarjeta de identidad de Alemania válida en el formato XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." + +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "Álava" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "Albacete" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "Alicante" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "Almería" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "Ávila" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "Badajoz" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "Islas Baleares" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "Barcelona" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "Burgos" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "Cáceres" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "Cádiz" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "Castellón" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "Ciudad Real" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "Córdoba" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "La Coruña" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "Cuenca" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "Gerona" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "Granada" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "Guadalajara" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "Guipúzcoa" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "Huelva" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "Huesca" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "Jaén" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "León" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "Lérida" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "La Rioja" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "Lugo" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "Madrid" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "Málaga" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "Murcia" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "Navarra" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "Orense" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "Asturias" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "Palencia" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "Las Palmas" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "Pontevedra" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "Salamanca" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "Santa Cruz de Tenerife" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "Cantabria" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "Segovia" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "Sevilla" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "Soria" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "Tarragona" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "Teruel" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "Toledo" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "Valencia" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "Valladolid" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "Vizcaya" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "Zamora" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "Zaragoza" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "Ceuta" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "Melilla" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "Andalucía" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "Aragón" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "Principado de Asturias" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "Islas Baleares" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "País Vasco" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "Canarias" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "Castilla-La Mancha" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "Castilla y León" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "Cataluña" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "Extremadura" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "Galicia" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "Región de Murcia" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "Comunidad Foral de Navarra" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "Comunidad Valenciana" + +#: contrib/localflavor/es/forms.py:22 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Introduzca un código postal en el rango y formato 01XXX - 52XXX." + +#: contrib/localflavor/es/forms.py:39 +msgid "Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." +msgstr "Introduzca un número de teléfono válido en el formato 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX." + +#: contrib/localflavor/es/forms.py:73 +#: contrib/localflavor/es/forms.py:108 +#: db/models/fields/related.py:55 +#, python-format +msgid "Please enter a valid %s." +msgstr "Por favor, introduzca un %s válido." + +#: contrib/localflavor/es/forms.py:91 +msgid "Invalid checksum for NIF." +msgstr "El NIF es incorrecto." + +#: contrib/localflavor/es/forms.py:97 +msgid "Invalid checksum for NIE." +msgstr "El NIE es incorrecto." + +#: contrib/localflavor/es/forms.py:106 +msgid "Invalid checksum for CIF." +msgstr "El CIF es incorrecto." + +#: contrib/localflavor/es/forms.py:136 +msgid "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "Introduzca un número de cuenta bancaria en el formato XXXX-XXXX-XX-XXXXXXXXXX." + +#: contrib/localflavor/es/forms.py:150 +msgid "Invalid checksum for bank account number." +msgstr "El número de cuenta bancaria es incorrecto." + #: contrib/localflavor/fi/forms.py:40 #: contrib/localflavor/fi/forms.py:45 msgid "Enter a valid Finnish social security number." msgstr "Introduzca un número de seguro social finlandés válido." +#: contrib/localflavor/in_/forms.py:16 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Introduzca un código postal en el formato XXXXXXX." + +#: contrib/localflavor/is_/forms.py:17 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "Introduzca un número de identificación de Islandia válido. El formato es XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:31 +msgid "The Icelandic identification number is not valid." +msgstr "El número de identificación de Islandia no es válido." + #: contrib/localflavor/it/forms.py:16 msgid "Enter a valid zip code." msgstr "Introduzca un código postal válido." @@ -2534,19 +2443,39 @@ msgstr "Zuid-Holland" msgid "Enter a valid Norwegian social security number." msgstr "Introduzca un número de seguro social de Noruega válido." -#: contrib/localflavor/pl/forms.py:53 +#: contrib/localflavor/pe/forms.py:36 +msgid "This field requires 8 digits." +msgstr "Este campo necesita 8 dígitos." + +#: contrib/localflavor/pe/forms.py:59 +msgid "This field requires 11 digits." +msgstr "Este campo necesita 11 dígitos." + +#: contrib/localflavor/pl/forms.py:41 msgid "National Identification Number consists of 11 digits." msgstr "Número de Identificación Nacional consiste en 11 dígitos" -#: contrib/localflavor/pl/forms.py:59 +#: contrib/localflavor/pl/forms.py:47 msgid "Wrong checksum for the National Identification Number." msgstr "El Número de Identificación Nacional es incorrecto." -#: contrib/localflavor/pl/forms.py:71 +#: contrib/localflavor/pl/forms.py:72 msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." msgstr "Introduzca un número de impuesto (NIP) en el formato XXX-XXX-XX-XX or XX-XX-XXX-XXX." -#: contrib/localflavor/pl/forms.py:82 +#: contrib/localflavor/pl/forms.py:78 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "El Número de Identificación Tributaria (NIP) es incorrecto." + +#: contrib/localflavor/pl/forms.py:107 +msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +msgstr "El Número Nacional de Registro de Negocios (REGON) consiste en 11 dígitos" + +#: contrib/localflavor/pl/forms.py:113 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "El Número Nacional de Registro de Negocios (REGON) es incorrecto." + +#: contrib/localflavor/pl/forms.py:148 msgid "Enter a postal code in the format XX-XXX." msgstr "Introduzca un código postal en el formato XX-XXX." @@ -2978,49 +2907,511 @@ msgstr "Introduzca un código postal en el formato XXXXX o XXXX-XXXX." msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "Introduzca un Número Seguro Social de EEUU válido en el formato XXX-XX-XXXX" -#: contrib/localflavor/in_/forms.py:16 -msgid "Enter a zip code in the format XXXXXXX." -msgstr "Introduzca un código postal en el formato XXXXXXX." +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "redirigir desde" -#: contrib/localflavor/is_/forms.py:17 -msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." -msgstr "Introduzca un número de identificación de Islandia válido. El formato es XXXXXX-XXXX." +#: contrib/redirects/models.py:8 +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." +msgstr "Esta ruta debería ser absoluta, excluyendo el nombre de dominio. Ejeplo: '/events/search/'." -#: contrib/localflavor/is_/forms.py:31 -msgid "The Icelandic identification number is not valid." -msgstr "El número de identificación de Islandia no es válido." +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "redirigir a" -#: contrib/sessions/models.py:68 +#: contrib/redirects/models.py:10 +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." +msgstr "Esto puede ser bien una ruta absoluta (como antes) o una URL completa que empiece con 'http://'." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "redirección" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redirecciones" + +#: contrib/sessions/models.py:80 msgid "session key" msgstr "clave de sesión" -#: contrib/sessions/models.py:69 +#: contrib/sessions/models.py:81 msgid "session data" msgstr "datos de sesión" -#: contrib/sessions/models.py:70 +#: contrib/sessions/models.py:82 msgid "expire date" msgstr "fecha de caducidad" -#: contrib/sessions/models.py:74 +#: contrib/sessions/models.py:87 msgid "session" msgstr "sesión" -#: contrib/sessions/models.py:75 +#: contrib/sessions/models.py:88 msgid "sessions" msgstr "sesiones" -#: contrib/contenttypes/models.py:37 -msgid "python model class name" -msgstr "nombre de módulo python" +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "nombre de dominio" -#: contrib/contenttypes/models.py:40 -msgid "content type" -msgstr "tipo de contenido" +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "nombre para mostrar" -#: contrib/contenttypes/models.py:41 -msgid "content types" -msgstr "tipos de contenido" +#: contrib/sites/models.py:37 +msgid "site" +msgstr "sitio" + +#: contrib/sites/models.py:38 +msgid "sites" +msgstr "sitios" + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Este valor debe contener sólo letras, números y guiones bajos." + +#: core/validators.py:76 +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "Este valor debe contener letras, números, guiones bajos o barras solamente." + +#: core/validators.py:80 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Este valor debe contener sólo letras, números, guiones bajos o medios." + +#: core/validators.py:84 +msgid "Uppercase letters are not allowed here." +msgstr "No se admiten letras mayúsculas." + +#: core/validators.py:88 +msgid "Lowercase letters are not allowed here." +msgstr "No se admiten letras minúsculas." + +#: core/validators.py:95 +msgid "Enter only digits separated by commas." +msgstr "Introduzca sólo dígitos separados por comas." + +#: core/validators.py:107 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Introduzca direcciones de correo válidas separadas por comas." + +#: core/validators.py:111 +msgid "Please enter a valid IP address." +msgstr "Por favor introduzca una dirección IP válida." + +#: core/validators.py:115 +msgid "Empty values are not allowed here." +msgstr "No se admiten valores vacíos." + +#: core/validators.py:119 +msgid "Non-numeric characters aren't allowed here." +msgstr "No se admiten caracteres no numéricos." + +#: core/validators.py:123 +msgid "This value can't be comprised solely of digits." +msgstr "Este valor no puede comprender sólo dígitos." + +#: core/validators.py:128 +#: newforms/fields.py:149 +msgid "Enter a whole number." +msgstr "Introduzca un número entero." + +#: core/validators.py:132 +msgid "Only alphabetical characters are allowed here." +msgstr "Sólo se admiten caracteres alfabéticos." + +#: core/validators.py:147 +msgid "Year must be 1900 or later." +msgstr "El año debe ser 1900 o posterior." + +#: core/validators.py:151 +#, python-format +msgid "Invalid date: %s" +msgstr "Fecha no válida: %s" + +#: core/validators.py:156 +#: db/models/fields/__init__.py:505 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Introduzca una fecha válida en formato AAAA-MM-DD." + +#: core/validators.py:161 +msgid "Enter a valid time in HH:MM format." +msgstr "Introduzca una hora válida en formato HH:MM." + +#: core/validators.py:165 +#: db/models/fields/__init__.py:579 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Introduzca una fecha/hora válida en formato AAAA-MM-DD HH:MM." + +#: core/validators.py:170 +#: newforms/fields.py:343 +msgid "Enter a valid e-mail address." +msgstr "Introduzca una dirección de correo electrónico válida" + +#: core/validators.py:182 +#: core/validators.py:474 +#: newforms/fields.py:377 +#: oldforms/__init__.py:686 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "No se ha enviado ningún fichero. Compruebe el tipo de codificación en el formulario." + +#: core/validators.py:193 +#: newforms/fields.py:405 +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "Envíe una imagen válida. El fichero que ha enviado no era una imagen o se trataba de una imagen corrupta." + +#: core/validators.py:200 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "La URL %s no apunta a una imagen válida." + +#: core/validators.py:204 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Los números de teléfono deben guardar el formato XXX-XXX-XXXX. \"%s\" no es válido." + +#: core/validators.py:212 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "La URL %s no apunta a un vídeo QuickTime válido." + +#: core/validators.py:216 +msgid "A valid URL is required." +msgstr "Se precisa una URL válida." + +#: core/validators.py:230 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Se precisa HTML válido. Los errores específicos son:\n" +"%s" + +#: core/validators.py:237 +#, python-format +msgid "Badly formed XML: %s" +msgstr "XML mal formado: %s" + +#: core/validators.py:254 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL no válida: %s" + +#: core/validators.py:259 +#: core/validators.py:261 +#, python-format +msgid "The URL %s is a broken link." +msgstr "La URL %s es un enlace roto." + +#: core/validators.py:267 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Introduzca una abreviatura válida de estado de los EEUU." + +#: core/validators.py:281 +#, 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] "¡Cuida tu vocabulario! Aquí no admitimos la palabra %s." +msgstr[1] "¡Cuida tu vocabulario! Aquí no admitimos las palabras %s." + +#: core/validators.py:288 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Este campo debe concordar con el campo '%s'." + +#: core/validators.py:307 +msgid "Please enter something for at least one field." +msgstr "Por favor, introduzca algo en al menos un campo." + +#: core/validators.py:316 +#: core/validators.py:327 +msgid "Please enter both fields or leave them both empty." +msgstr "Por favor, rellene ambos campos o deje ambos vacíos." + +#: core/validators.py:335 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Se debe proporcionar este campo si %(field)s es %(value)s" + +#: core/validators.py:348 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Se debe proporcionar este campo si %(field)s no es %(value)s" + +#: core/validators.py:367 +msgid "Duplicate values are not allowed." +msgstr "No se admiten valores duplicados." + +#: core/validators.py:382 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Este valor debe estar entre %(lower)s y %(upper)s." + +#: core/validators.py:384 +#, python-format +msgid "This value must be at least %s." +msgstr "Este valor debe ser como mínimo %s." + +#: core/validators.py:386 +#, python-format +msgid "This value must be no more than %s." +msgstr "Este valor no debe ser mayor que %s." + +#: core/validators.py:427 +#, python-format +msgid "This value must be a power of %s." +msgstr "Este valor debe ser una potencia de %s." + +#: core/validators.py:437 +msgid "Please enter a valid decimal number." +msgstr "Por favor, introduzca un número decimal válido." + +#: core/validators.py:444 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Por favor, introduzca un número decimal válido con a lo más %s dígito en total." +msgstr[1] "Por favor, introduzca un número decimal válido con a lo más %s dígitos en total." + +#: core/validators.py:447 +#, python-format +msgid "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] "Por favor, introduzca un número decimal válido con a lo más %s dígito en su parte entera." +msgstr[1] "Por favor, introduzca un número decimal válido con a lo más %s dígitos en su parte entera." + +#: core/validators.py:450 +#, 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] "Por favor, introduzca un número decimal válido con a lo más %s dígito decimal." +msgstr[1] "Por favor, introduzca un número decimal válido con a lo más %s dígitos decimales." + +#: core/validators.py:458 +msgid "Please enter a valid floating point number." +msgstr "Por favor, introduzca un número decimal válido." + +#: core/validators.py:467 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Asegúrese de que el fichero que envía tiene al menos %s bytes." + +#: core/validators.py:468 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Asegúrese de que el fichero que envía tiene como máximo %s bytes." + +#: core/validators.py:485 +msgid "The format for this field is wrong." +msgstr "El formato de este campo es incorrecto." + +#: core/validators.py:500 +msgid "This field is invalid." +msgstr "Este campo no es válido." + +#: core/validators.py:536 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "No pude obtener nada de %s." + +#: core/validators.py:539 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "La URL %(url)s devolvió la cabecera Content-Type '%(contenttype)s', que no es válida." + +#: core/validators.py:572 +#, python-format +msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" +msgstr "Por favor, cierre la etiqueta %(tag)s de la línea %(line)s. (La línea empieza por \"%(start)s\".)" + +#: core/validators.py:576 +#, python-format +msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" +msgstr "Parte del texto que comienza en la línea %(line)s no está permitido en ese contexto. (La línea empieza por \"%(start)s\".)" + +#: core/validators.py:581 +#, python-format +msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" +msgstr "El \"%(attr)s\" de la línea %(line)s no es un atributo válido. (La línea empieza por \"%(start)s\".)" + +#: core/validators.py:586 +#, python-format +msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" +msgstr "La \"<%(tag)s>\" de la línea %(line)s no es una etiqueta válida. (La línea empieza por \"%(start)s\".)" + +#: core/validators.py:590 +#, python-format +msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" +msgstr "A una etiqueta de la línea %(line)s le faltan uno o más atributos requeridos. (La línea empieza por \"%(start)s\".)" + +#: core/validators.py:595 +#, python-format +msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" +msgstr "El atributo \"%(attr)s\" de la línea %(line)s tiene un valor que no es válido. (La línea empieza por \"%(start)s\".)" + +#: db/models/manipulators.py:308 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s de este %(type)s ya existen en este %(field)s." + +#: db/models/fields/__init__.py:52 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "Ya existe %(optname)s con este %(fieldname)s." + +#: db/models/fields/__init__.py:159 +#: db/models/fields/__init__.py:316 +#: db/models/fields/__init__.py:731 +#: db/models/fields/__init__.py:742 +#: newforms/fields.py:93 +#: newforms/fields.py:513 +#: newforms/fields.py:589 +#: newforms/fields.py:600 +#: newforms/models.py:193 +#: oldforms/__init__.py:373 +msgid "This field is required." +msgstr "Este campo es obligatorio." + +#: db/models/fields/__init__.py:414 +msgid "This value must be an integer." +msgstr "Este valor debe ser un entero." + +#: db/models/fields/__init__.py:450 +msgid "This value must be either True or False." +msgstr "Este valor debe ser Verdadero o Falso." + +#: db/models/fields/__init__.py:471 +msgid "This field cannot be null." +msgstr "Este campo no puede estar vacío." + +#: db/models/fields/__init__.py:640 +msgid "This value must be a decimal number." +msgstr "Este valor debe ser un entero." + +#: db/models/fields/__init__.py:751 +msgid "Enter a valid filename." +msgstr "Introduzca un nombre de fichero válido" + +#: db/models/fields/__init__.py:900 +msgid "This value must be either None, True or False." +msgstr "Este valor debe ser Verdadero o Falso." + +#: db/models/fields/related.py:658 +msgid "Separate multiple IDs with commas." +msgstr "Separe múltiples IDs con comas." + +#: db/models/fields/related.py:660 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "Mantenga presionado \"Control\", o \"Command\" en un Mac, para seleccionar más de uno." + +#: db/models/fields/related.py:707 +#, 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] "Por favor, introduzca IDs de %(self)s válidos. El valor %(value)r no es válido." +msgstr[1] "Por favor, introduzca IDs de %(self)s válidos. Los valores %(value)r no son válidos." + +#: newforms/fields.py:123 +#, python-format +msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." +msgstr "Asegúrese de que su texto tiene a lo más %(max)d caracteres (actualmente tiene %(length)d)." + +#: newforms/fields.py:125 +#, python-format +msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." +msgstr "Asegúrese de que su texto tiene al menos %(min)d caracteres (actualmente tiene %(length)d)." + +#: newforms/fields.py:151 +#: newforms/fields.py:174 +#: newforms/fields.py:204 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "Asegúrese de que este valor es menor o igual a %s." + +#: newforms/fields.py:153 +#: newforms/fields.py:176 +#: newforms/fields.py:206 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "Asegúrese de que este valor es mayor o igual a %s." + +#: newforms/fields.py:172 +#: newforms/fields.py:199 +msgid "Enter a number." +msgstr "Introduzca un número." + +#: newforms/fields.py:208 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "Asegúrese de que no hay más de %s dígitos en total." + +#: newforms/fields.py:210 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "Asegúrese de que no hay más de %s decimales." + +#: newforms/fields.py:212 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "Asegúrese de que no hay más de %s dígitos antes del punto decimal." + +#: newforms/fields.py:245 +#: newforms/fields.py:633 +msgid "Enter a valid date." +msgstr "Introduzca una fecha válida." + +#: newforms/fields.py:272 +#: newforms/fields.py:635 +msgid "Enter a valid time." +msgstr "Introduzca una hora válida." + +#: newforms/fields.py:308 +msgid "Enter a valid date/time." +msgstr "Introduzca una fecha/hora válida." + +#: newforms/fields.py:321 +msgid "Enter a valid value." +msgstr "Introduzca un valor correcto." + +#: newforms/fields.py:379 +msgid "No file was submitted." +msgstr "No se ha enviado ningún fichero" + +#: newforms/fields.py:381 +#: oldforms/__init__.py:688 +msgid "The submitted file is empty." +msgstr "El fichero enviado está vacío." + +#: newforms/fields.py:419 +#: newforms/fields.py:444 +msgid "Enter a valid URL." +msgstr "Introduzca una URL válida." + +#: newforms/fields.py:446 +msgid "This URL appears to be a broken link." +msgstr "La URL parece ser un enlace roto." + +#: newforms/fields.py:501 +#: newforms/models.py:180 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "Escoja una opción válida. Esa opción no está entre las aceptadas." + +#: newforms/fields.py:517 +#: newforms/fields.py:593 +#: newforms/models.py:197 +msgid "Enter a list of values." +msgstr "Introduzca una lista de valores." + +#: newforms/fields.py:523 +#: newforms/models.py:203 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "Escoja una opción válida; '%s' no es una de las opciones disponibles." + +#: newforms/fields.py:644 +msgid "Enter a valid IPv4 address." +msgstr "Introduzca una dirección IPv4 válida." #: oldforms/__init__.py:408 #, python-format @@ -3040,11 +3431,6 @@ msgstr "No se permiten saltos de línea." msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "Escoja una opción válida; '%(data)s' no está en %(choices)s." -#: oldforms/__init__.py:688 -#: newforms/fields.py:381 -msgid "The submitted file is empty." -msgstr "El fichero enviado está vacío." - #: oldforms/__init__.py:744 msgid "Enter a whole number between -32,768 and 32,767." msgstr "Introduzca un número entero entre -32,768 y 32,767." @@ -3057,20 +3443,55 @@ msgstr "Introduzca un número positivo." msgid "Enter a whole number between 0 and 32,767." msgstr "Introduzca un número entero entre 0 y 32,767." -#: views/generic/create_update.py:43 -#, python-format -msgid "The %(verbose_name)s was created successfully." -msgstr "El %(verbose_name)s se ha creado correctamente." +#: template/defaultfilters.py:541 +msgid "yes,no,maybe" +msgstr "sí,no,tal vez" -#: views/generic/create_update.py:117 +#: template/defaultfilters.py:570 #, python-format -msgid "The %(verbose_name)s was updated successfully." -msgstr "Se actualizó con éxito el %(verbose_name)s." +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" -#: views/generic/create_update.py:184 +#: template/defaultfilters.py:572 #, python-format -msgid "The %(verbose_name)s was deleted." -msgstr "El %(verbose_name)s ha sido eliminado." +msgid "%.1f KB" +msgstr "%.1f KB" + +#: template/defaultfilters.py:574 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" + +#: template/defaultfilters.py:575 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" + +#: utils/dateformat.py:41 +msgid "p.m." +msgstr "p.m" + +#: utils/dateformat.py:42 +msgid "a.m." +msgstr "a.m" + +#: utils/dateformat.py:47 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:48 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:97 +msgid "midnight" +msgstr "media noche" + +#: utils/dateformat.py:99 +msgid "noon" +msgstr "medio día" #: utils/dates.py:6 msgid "Monday" @@ -3261,76 +3682,56 @@ msgstr "Dic." msgid "or" msgstr "o" -#: utils/timesince.py:12 +#: utils/timesince.py:21 msgid "year" msgid_plural "years" msgstr[0] "año" msgstr[1] "años" -#: utils/timesince.py:13 +#: utils/timesince.py:22 msgid "month" msgid_plural "months" msgstr[0] "mes" msgstr[1] "meses" -#: utils/timesince.py:14 +#: utils/timesince.py:23 msgid "week" msgid_plural "weeks" msgstr[0] "semana" msgstr[1] "semanas" -#: utils/timesince.py:15 +#: utils/timesince.py:24 msgid "day" msgid_plural "days" msgstr[0] "día" msgstr[1] "días" -#: utils/timesince.py:16 +#: utils/timesince.py:25 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "horas" -#: utils/timesince.py:17 +#: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: utils/timesince.py:39 +#: utils/timesince.py:46 +msgid "minutes" +msgstr "minutos" + +#: utils/timesince.py:51 #, python-format msgid "%(number)d %(type)s" msgstr "%(number)d %(type)s" -#: utils/timesince.py:45 +#: utils/timesince.py:57 #, python-format msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/dateformat.py:41 -msgid "p.m." -msgstr "p.m" - -#: utils/dateformat.py:42 -msgid "a.m." -msgstr "a.m" - -#: utils/dateformat.py:47 -msgid "PM" -msgstr "PM" - -#: utils/dateformat.py:48 -msgid "AM" -msgstr "AM" - -#: utils/dateformat.py:97 -msgid "midnight" -msgstr "media noche" - -#: utils/dateformat.py:99 -msgid "noon" -msgstr "medio día" - #: utils/translation/trans_real.py:391 msgid "DATE_FORMAT" msgstr "j N Y" @@ -3351,121 +3752,18 @@ msgstr "F Y" msgid "MONTH_DAY_FORMAT" msgstr "j \\de F" -#: template/defaultfilters.py:532 -msgid "yes,no,maybe" -msgstr "sí,no,tal vez" - -#: template/defaultfilters.py:561 +#: views/generic/create_update.py:43 #, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" +msgid "The %(verbose_name)s was created successfully." +msgstr "El %(verbose_name)s se ha creado correctamente." -#: template/defaultfilters.py:563 +#: views/generic/create_update.py:117 #, python-format -msgid "%.1f KB" -msgstr "%.1f KB" +msgid "The %(verbose_name)s was updated successfully." +msgstr "Se actualizó con éxito el %(verbose_name)s." -#: template/defaultfilters.py:565 +#: views/generic/create_update.py:184 #, python-format -msgid "%.1f MB" -msgstr "%.1f MB" - -#: template/defaultfilters.py:566 -#, python-format -msgid "%.1f GB" -msgstr "%.1f GB" - -#: newforms/fields.py:123 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "Asegúrese de que su texto tiene a lo más %(max)d caracteres (actualmente tiene %(length)d)." - -#: newforms/fields.py:125 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "Asegúrese de que su texto tiene al menos %(min)d caracteres (actualmente tiene %(length)d)." - -#: newforms/fields.py:151 -#: newforms/fields.py:174 -#: newforms/fields.py:204 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "Asegúrese de que este valor es menor o igual a %s." - -#: newforms/fields.py:153 -#: newforms/fields.py:176 -#: newforms/fields.py:206 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "Asegúrese de que este valor es mayor o igual a %s." - -#: newforms/fields.py:172 -#: newforms/fields.py:199 -msgid "Enter a number." -msgstr "Introduzca un número." - -#: newforms/fields.py:208 -#, python-format -msgid "Ensure that there are no more than %s digits in total." -msgstr "Asegúrese de que no hay más de %s dígitos en total." - -#: newforms/fields.py:210 -#, python-format -msgid "Ensure that there are no more than %s decimal places." -msgstr "Asegúrese de que no hay más de %s decimales." - -#: newforms/fields.py:212 -#, python-format -msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "Asegúrese de que no hay más de %s dígitos antes del punto decimal." - -#: newforms/fields.py:245 -#: newforms/fields.py:629 -msgid "Enter a valid date." -msgstr "Introduzca una fecha válida." - -#: newforms/fields.py:272 -#: newforms/fields.py:631 -msgid "Enter a valid time." -msgstr "Introduzca una hora válida." - -#: newforms/fields.py:308 -msgid "Enter a valid date/time." -msgstr "Introduzca una fecha/hora válida." - -#: newforms/fields.py:321 -msgid "Enter a valid value." -msgstr "Introduzca un valor correcto." - -#: newforms/fields.py:379 -msgid "No file was submitted." -msgstr "No se ha enviado ningún fichero" - -#: newforms/fields.py:419 -#: newforms/fields.py:444 -msgid "Enter a valid URL." -msgstr "Introduzca una URL válida." - -#: newforms/fields.py:446 -msgid "This URL appears to be a broken link." -msgstr "La URL parece ser un enlace roto." - -#: newforms/fields.py:497 -#: newforms/models.py:180 -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Escoja una opción válida. Esa opción no está entre las aceptadas." - -#: newforms/fields.py:513 -#: newforms/fields.py:589 -#: newforms/models.py:197 -msgid "Enter a list of values." -msgstr "Introduzca una lista de valores." - -#: newforms/fields.py:519 -#: newforms/models.py:203 -#, python-format -msgid "Select a valid choice. %s is not one of the available choices." -msgstr "Escoja una opción válida; '%s' no es una de las opciones disponibles." +msgid "The %(verbose_name)s was deleted." +msgstr "El %(verbose_name)s ha sido eliminado." diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.mo b/django/conf/locale/es_AR/LC_MESSAGES/django.mo index 5c12160a7c05ec66e46764a71225fb3ee2add99f..423380780faca1078231dd6c0d2c2c0571280278 100644 GIT binary patch delta 21686 zcmb{32Ygi3qVMsYLJ~sn9flrC=tvW!w@?BJ9mGj8Btw!Jn3)6;kx@WEr6@xauz-jn zO^k>Nf)YfqA{N8~cEyGbfn$5W|Lhe&kLSK~-{)?=nmKBFC ztb!gKfb*~;9!0hPo3U1Z%W7^}LF*bjVqK3dsIU-Y@loTG#%Hm$8bS@^JgUJm^rCbE zreQBsI~$R?STA8Deu^>ph4DL#qJQf=k+KwAG6gXM?U|Ir(&SgiQs^)?!zj|NO?f-i z3Uo)Uz*vmIsaO%GVRf8^;T1%+w;5yT-+F||O}HD&VcS9W681zb-6)L4TQLT2$I5sY zR>jT6r?3L)S5Y0FMh)ORYG5&gdCXV=%V2E`#u8~pM7BY7a1CmNJy9#u59?zxHbF0{ zft9BGe$>EsV0qkU(l46wcd!!qpP^Rt0;->gA*{b5aYO8a3aE~285^Jm))ZAQ5ldqy z)C%-6jzY~m1GV`AsQVV926`t3a09CSN<;0vQDZ3UA4f(zGBm<&s2L=oW;zj79>jQD zjA|f+>hNw<2U}4c??Dap7^Zlg##zv@y+G82) ziaW7CCgV@oP3d8lm5Fmv1N$7c$-Y5NC~~;{XsTju(v47?wI{0G-~=M-$c36w4mQL& zs0Qyv4QR6|FEZuDSdaYAQ1zll&^VSxEq!b3jGb^GPRDC-w@H7A1N8p49my;y$ip`H z5RS*UQ6p~4bZg*H?2Tzy0UtoU-$kgm!6Y(wN|E#DKd#T1E`^NHNTilPe@EdH3F?Qw9a2^|Dg|T)69kD9uL8$tZu^k3bEASvz z!{eyU{5f{SGUM!(x(Xr7e7L6;*k^V zO`M8dNl!rya5ZYzZ^IbegW4neC$RoZ$~sI&Jl39QS8R$Jd0VWB127-2M>X&k>J$7v z>aF?EPKZf z>NT2#`(d?)Icgvwi~K} zx~~DM;})oiv^C}3O?h7&ME)>Ty_Kl9D7cP@etaH5jVxh`{mj~-cIf~thZ9gYWTJNU zEUbvPqXxPjb^m5m2is8teaz(VMb$fK@{eL4z5lNeNui*^_4Wly|{_gc zy-@?b9@SvBDbGjUSBP4%Td)P*j*0j<>NWlt)!whD`hPmDV7Q@}G&`e`u_mga2B>G1 zfLgK+sF8Ou`MId2pJmdwq6WSk^{CdM27C`j;v=X>w*#x=vuQ#72w2uhlTjs|Zvg3* zsP}m+ssoqNkGk;|)WFuF2DSz$729D)(o<0b2$}pxP%}M+>hKI|X}>h-bEfF6LmA6MgMT!=lg_{Rnw!X`MtZ9mHC*n#wF)cN8V z&c}asBRbn2Ko-W3o@tzorAY@(`Zklk6E%}{H~=3)z2D!W?*9`t^Ozia zC99&^X@V+mgR%5)bta-E?TLC#hM`u%g}f=22i5R#)QumbHrrX$Bl-hXzkIH}9 zP|v(Ms=R~A?}5>z`(gO~A8ay`F^YmQs2e7j{4`XDnW$$z2g~4U)POc&Ioyh6aWCpM zJB%tniJJLotb$+S2>dOV_1Cjc^4Pylx1$aYC$JQj@!Abk!bYTPqVjv78tj9yn1ppO z1vLOKY5;Rk^_QdStwK%g9^)1->tCLXU1W^F1EylR8FmBJP$N!2HE=CzM*UF(NJ4cm z2G#H+lb?awQy#n)Pv9=BFw<`5AXX&(LXe1_(K}cUKS6zJe?T=@!DlaZP1K`lf*L>q zYCvs`T~HIb4)th8pawP(RsROmGtWe=cn<2d4sIjDPrr2pr($Ej{hG|jB+`#zJN(1g zHei2%ZooF=&%%bd#iWm7d(szB_qWKiKiPTMiu5+Dizl(W-v6J8j3lFNzJ0n4qAEOq zy5U)Dir?TutUSw3-;LUg2XPFZ!nW9UHa}cA6(7TusF@Bbum_%oHAoj=2fhDy5xItp z!>EpaMSbZS7TTMxH|mk3V>7%3yWqp9nSY3SgpoJe{|+dJLr71|M{Sgze;Z63+3`IRV4-Ui~s7?DbYBTnmYwwZasJ$@?l|KQs zm(o#tAqTY={20_GnN37D%tfUaqHbJb(yL8+1FGH@R6{$l3hqI5aLkmSKyAi%QT5KE zHuv|aP5cL{oyZ{TUztce%b<*UsD_%N-uE`B8%Ci9GzL{~Do(&mY>v;N>Yc^$_$_LN z18=t5OG4eBirQ1xquROsW-4lgE6C6@x*K)lF)V|xqCP0^VkP_nHNZ=#8Ajg1Ag~f@ zPZZ!Z+>IJgO@5Koab47X%}^`c7IlB;AQ5f8{-(l>sE!tx^lDTC_Zhch9nwXp4qiho z?Hj0>eT4O}+d2H$c|VkrovR?G*m;ms1=!M(({dr zP)m3RYH8P@2KazUZ!_t~Q3KhJTB&2GM|%>h=>7kMh#I(n>QG-9Rg6a6SQ&Lg15}5t zuoQMjtwe8Ao{YMGGHM_Fscjq2cM~^g;BEGgLM_xY?u8m*f7FadVl1YhR$vmUp)8EU z0P4P*P&1ux(u+~|FGCGz1?v7)sDsBQRQ+HP5smOkRK+9M9FL(I{=s;`_&ciOsN3xh z%Ay*oh^4U_#$y9iM=eqHd!X9uZybv8djFH{h&2f{!fB|6{5Ug$nc*{d?hgC+d&g4y zXmuD})Js@qf9aN?I@*TXWRGJnJc@}JyPQE`XRM23u%+IAACUwy?lB%gE%`a)1>>LC zl>FE`?Pr&WjY;>z>X?ZfdaSwF1b;$(s%ze5uWTpO+t3BoelMx_e;|>HI0EBwDptVh zs1+$hE!`sHQq)XCsQWfxGu(l??@d%kpQ2{^HEMuyE9`+cK(*HygR0nr$b9UJYTyV~ z#3@uBh_sP)j`;tKu}&{WqdIyaP4BO{f7Ep(eN=wTWK{vHn_$H%x{1 zFg$Y92){hNQ%kLOS`Ex*cMiKeLUNH)ZX|i zNJL8!v)X<(l~GHUfa;(dYJlTW^`@d4$VRQ)Op`7!=^(29BCL+fQ0+Zvd;&GF7f|(r zCy40To8aQZUqc7}f+MlUJ@(ROVgu51u`Aw-ZSf?w z!`OT6GhtWkPI?B8!flv>zhhs$|D*1+tl_v4d*a8KiH`g20W8L`q<5hjirHwdKp*Tt z+J!l|7W-hSO?JIOScmjH)XLq99q~D=hvzZai%69R> z0qc?;YxH9S(s!a(@=5Cfq z64XF<8Nb8Pq!S_?wDpKR!#GraIb&7S!0Vu1)8;0>6ULG5Vbc9k14=>-bd<>tPB4)hurvjks2gV* z3yt$pOTGj(fHSCuJ~!pxp*pyL`V{|e%FArC+pU6w$*+g1Hx2m>30gTs7LXA{H5|R& zUh*Y_;*pIsZWmJ1_Vfg%i#$hK{VTIxMm z9$!X{_&r>RUt?MH?XnGGL()r71K5cg*dElt_Zf?gFQI1q1`fv$jIAE!`Rj&)N9_h~ zK{dDtmA?!%($%OB$$Hd4p2B!Mf_e>KN8R@pYR2#5HTW5}#k#xg`-h?GPe%>dvzzx{ z4FM?15K8bx;e{eglle)~GLKThxR` z28n1%a?yeNusObul`*==el#_(8tFDB-5<3=lTZUoN4*VMsFk@1HSoo#iL5}?TaUW$ zev=M9Y%+Ej_n;bj2AkpuOvH<*AD3p2+XKqN7NmoynQldOvL!> znV-k1_&fHYf2;Bn_J2T3Mcw!aIlr&g9<`K} zumaY_LD(8AVE}diLe%TM6l>yo)Sh_UlpnyL-uLH;XtTYE_3#T+#Zm|C|2A9!)j$ra z;agElxCAwTjV6CLYKfmjZMJ7o1AQLDkHnOpGUXo~Fz^58CgVHQ`}vcpcmdVnpI8lJ z4%*-Tx~Q3UMU@Xl&2$uMFHA*ED94lsP5DC9&-zN7fIANc?Sn?#v-YpsXzWM9gQ(4O z7S+KyY>mI5X4d#Qdxa8EA58DF>wkD!y)DyLY zgRudQMODm4y`Djg!aGm{S#Df|8o+(1z4RbP;NvF$3DgShH|b*RLi!js)cYUtJU=XC zG)6zJ#ugZV#QrjN!d9f`VN2YJweb`-#h+1|w)P8lc~`uKbUKd1b=U!aM77)WsC{@H ziG%3h${~_L!Qmu_vBD)vw5djl-Up zhXZi{?#C$@`I>225qw_$HQjzh50>ue~T zgr)IO)E;>nWAT8=KY}r&j~h>7H0jf?v;L)sd_sn9IE!lF2ULUSQRRP{bg2_|y$YxX zYhWd;k6M9tro0=LC*22CFB!|>I8^&ClkYyk`d21n1{vyTKB}SHFcDXvZg>_opu<=O zU&U;E7qvnI->~atp^J15YCyrKe8{@xlIMzRD4>Si;NWYB?ENHcS$KKVQaSR1h z(SduggDRqyzVs=3Nvoh%qz-B(tx(UlgRwViU?WgVKN?lfWz0dXupcYx{hv)l4c=xd z+>K>P-;WWv1FPXKRKw33kD+G%it!9;seeE%^>3(w$GvOUtBe{@6Jr;ws`q~=5#2Zy z)xmUBhaRks3s4=cM?JG0s2Lo>D)<7b;rCGYe}{T>KcZ&-D{6B`zGt@+XRM7uHPD(! z3+#=$VLEDa%|tak57odbQ@$QG;7!IIs7LT5YUW2!D|!NJ;>W0g{c8Nv81+8uuNz|D zx0k#M>P81@2JKKY?uHuZ2vkF9#%ZY6Y&vQ{KGb`ElgVFVT#2>G-+*;+FY3{}@jmOX z8Gk@VBz}sT=@+KLx2O&;pl0|hYHyVOz_vQ7!^Wt39gNqY_D*-yqq-I~(LSgF4@XUK zOpu6Xcs({jKWYWm8Xq=3X*_Ct$M~i3qA~8YJ&~HIf!0B_mw*~TSJXuMqxM*EG!Z@f zEK^|x)*yW^YDQ0>M*K8tPaHD7fttams1^Ix_!DYHFQH~`ov{a03ROQ2HK0n!BM4dz ziRjt3LOp`(uqF0IHIR!MfDbjGLX)0r(hE)ccGLh@px%}TQ0?w9>0_t?yoYM{Q!KCd z|11%0o{Oj@i~7*6P!aVE6A2dyr{uM!&6R)Lw zxJe(tY2>#FlDUg8)fDU@-qFOvck<_74@okjV zBb*@q9O}w5D*lCu2Q#?gW)k~NL!BwyPdf6d%I$TBxq9P+lx?Q|ql9V1BM4erU5}C1 zh_qg}`M8jv>kaZN5I<+q`J@Nw`Bx=l1tEuwFR6ImRM1VS#21_NACxyFZw!8gzmZ=| zSW5g&@*X0tjrRs&in-?vJu3bS zU%`FU(^a3)g>+p)I(gc7zYw2AD7h|?|D{Qf#6KyRMW|)+QivbY^Pg=R)s60};xCeJ zNBI#ITy-@w@iD0XX^sQ+Ki`QWoF)CX=|I)KCVuRy^z+0^QLh=kOWojXDqSR^t0vw_ z!7_Y>bPIFiT;n^Y-gIM($=^d=y>fj?cP5;syc6jFLDwfX)+ow$Q}(X8Z-buy_hj@j z4fdyCj43qtggI^Uo+VY4x}OnJ3H?bQrfdY^TGAg7dYHPWuoYn>bqdLUg`kTsxb=;R ztN-v-kBl=WvmrNCSDa-^HhIHMqfe84H}R7ue=6}j^0s0V@{SSDBHo|)pXedz+Gxx~ zeSDrFG*=tyKZ?wINc6&I@N@FK=7zzl#C5Z=K8~l%V`p1m5pPX=9O|b!%hWrF>&R<{ zo5){?GYAt18%gU!H9Tl^yz#gOUnTS;zZ~g__z5AG z_y!z6c#yb$5q~1CYlMwejdT%VJ?Sl|Pji(Bv;NPR%8%i5G!Rd?%iMS)c_#?Blb(aI zls!p!iS$o|z2rTHYq1D*-9lWKe(`h-BYh+H3^Do2J4d>f`hSzeZkdEf{g}HhIy+b^S`&>sQ^Qv&0aSz7t0h?jWoq|3iG6aESOk zT8lfVvzmBmY=G0qyT;r%6uXjF z26vcyNLq)8zfaf@!TcK#37Nu{R4gXmj_@$?vxEbLOx<L)i_)pQCIu@q00z z@DX7y`Cc4LzOE+;b;v6s95i|1|Nb|RL}LmMQ*a#55~dKpLk;3<1YHjplg!P^%heyQ z^Mv`~nEmG{b$&DTIf+@{n)pm}@1LX>kRPnZpGEdPR%0@sqQXt2mk|HR-1NIC7fmVu zmC%=XD^s3Md@7+b`IB%U`NK?EX}&FP^3o}L3g;5~5ZBdO@BbqtcAAW(*xW9&?!<{S zl0>+UP=oL(VL73xsnebKYur;ns7u~5!mGr;AU_)?ntGd!VjN|oaVB8_{~w6f87k`H zpKDfqHAIDiaE|@w1=2SX-A$-S{3LZg#+HN(;y05YAf7;IY}$I-_zh+HCtS%@*5t>c zhx$!|MBX7}P@|41EUD}w9Y>|_2yIN}Fq}fzN$`{ZJ9YXIuSe)bT31c-zQC7AzZ1@} z|BF~B^0Q3ZPh3}U4V8W*@fNZe)(O+dD&nh%kHr+qKO?LrtRg&5zRvtr37-(p#-oIF z#6PE8S3lyqJ|g`D@g*jIAZ{oBEj!Kcf4CYyqf~l;_$C~H_nG{!Np~>uPnFM&JMbQi zqHHiOz#*p21Ek{!H;|5I^OaoRkar!48mQ|DToRtLowjbHk*lxkO`;>depSJG(}1%6 zApSJ>r4a5m_vex~f$$pTy)hZz$8QNA5GIiR7j-KUN(cEffbby&y6(apyq2(s{OY9F zV_O_W-faY3kCN_5epmdN^d#bY@e=7IRp5#yuN&cELV)}xE(pGiT`f$?g^LhBZh5E-Y-TKWnUF9O}eR_4qAOwD&T5O zT-RDX|CdeT7c%mR*9jNdf3}(Uk2G+L8NgnwLcNuQSjywrWF3j8k^cfNBj|D~&yHFz z;~>&A2)(IS##NQ^|McE+2t;8#lUlU8NeI`<#{K=-V1mgOh zG$3>*>?7Pu_<{22)IV*^Mb+}V3tcTT9BBmsm(?`k zs#HUgx@|~d? zy}b>+Ii3PXQeK+dWA*pBJSe`$B!q{JlbJLTEwdgaRT{^f&u4jhbJ#L&E<1UbGvdf90?8H}szum7L!x^yk2up^y5{DLv3_ zY7`9{@JU3o8ChOW$vuA?(+saaK+Eag3|En3(4vUYxWV;{?in12jCJLEbDW-xQ2C_d zIG@|aMj-K8Qk@nqcTT3u8ssD+;FN9#=dlK{NG_jhDXRSx`aUVKj#Dd;9B#@QQ z`Rnz#J((^~sKKxZ@w!%lsar|G`qnQ+A?f*v^HI+?(n10TC$>dhqsCdx(aih zK5w>_l$Go9@jul{&vNsZJho1f*XLpcNnXF3wMle%v%NWPS4n!v<;YdBE77qf#b$pd z`SNDCJx(hrFV~st4bXaCfir)U+nJc`rE90hO<6&>punG(p6zmsU;>WeENRyh+0grnAo02xq2~MHGH#wwp+< z=8~^0pNa!~EVTPFc*oq+c(BTFjIdvhbg#$n_6Ph9?=(mI_Kpm9raRzo6Ph=wbtQK| zx9hL@;)J%3N(>zubyqE~FC&pJN*X)J8sSxHus26rCzL$8RULaR!=JRV&Ma>(RaoGO z&fM&RqWsa-BBH!GuF&EXN5aT_m(M+&mCmt}hg-?cOg6bUz#EjuCQR0P6zWUp3O$wb zLX4}>?eS)Z=BCbxWj6<$o`Rx_sXs?I&0yKtENoG?KT8ChJ}7zA$=(@0XGZAz2~!7p z^PPo%`K~7WTr9R_Q}R_MmG5@V;+4u}KL;pvlaW#Aw374E+3TSx6L$q&`FZSw(OGVf zOVdtF=56BX@v>N>-MLP-1m7@knwJ-BG@G0~=OI$)(eoOe=VxD#&MWll`@~C;;&j?? zUW${iAwx>xVe-cvaOTP!{Rt@K`7)dZRw#AS*4q47*dJmCs}XRuainJPNmD#DVsicH zaAfA>TA`@PJL1`JR*Eb9Qtz02v6Q_tH%)2LEL*QXt+TV7j032};8J+S$@bC-->af` zr??`5Gu(d7i>K*yjCJ{~lt3E?pN|}V15#LYr-L2t&DU-GY==IK(z61gOF6yzxN`W4B(dfF)>v&n-cY}r?KGAL;LQ)eOsU=( zIh+p0IkTMw+85)TzFa7dbU3= zSHDl;pTPh5yU?bHpPa}veV+ODIjxDV@J6>Lx}Co8UlEs+F%fJ`a z%V~zWPt40CxG#SrNN}pjvL^BaHTy+eo4(ENHO=?>jHbPD{Dy`2TS7D(Uv}!A%D8GQYGxX!lTO*5$LK|-REy5pKJMa70{yK$OeL~yk*9vW# zKciv)|Jz}#sN#YK(G~2o*p;JLsl~1BqgbiMiS|*f)Z(_K9o~|YSgFPL1k;_lGrW!r zzU{?NvnRa{H)-~^JKyVYdCYk!e8<&iG5eHda>lo@hIsgFWaJg5I~{o*`zV%Qypdzs z-x|>!;Y&v|4I|E^$A_lh-nzDZBy)NEuD|ykx_4>K(1(l5gmx@m7dm@Kx#%G}k(FIi zGj#uL@geuN+M(Rr@}g6`1KpwJ%fdB_KD%vNWa!M|((wUTj%!+R5#QI)bGOwBRa;yk zbmy|_MM+BzM1($ES~v8srMa=;;ZOG#a$K2SYf$liPH24GE+5af-_^c0hf99)IFNCYET>3HS}6|N{KH6(mM`*Fo<_5p2AXu_2P+R);yJS7fQ|9(Q#N$vmbh-NmkeY^E< zN3?!<1>>EZdK?8;eYgJeAUG| z;!F=8-1s@;<+*ZtOLsGSjwc>|;XNwSZ(;Ec&TU=}Zs*ptuNXeKnI+fxEmUu9hw?hJ z7eDQB=&>zI-gM}Hb;#o%8=S$f zI^vP|U!L#Mtd!!7Y0eD2!W^xAp;sSxqL)KQUA}QwzWomK*=yq%ppTecthMy>VGMs~ zbJ#_8eyG%giJ?`Si_3BLyLIEh?Hu^* zmfio0b0Gf-z{P`3$SvMD+nxJgoCG;GS^YUx5ZJBsUUC%7b1^7$5RCPigW$G@H^)V` zZy%btyFsZgjyy+K#UjFgi$?BFx^k#nv!{`hL)>3ab!HP>Ipl>;b(eF)DgI3se$V;n z{_~-ZQC&XL9ow_<%8|~!cgTRNPIUZRlAk(Pj?Q#$@BehD8yh~<@gXcZ*8R3Oq3HX) zu@O@*pXeMT)6?Dh$DA|A>Q`LEKiR^MUH_QUzwYes1K$PnCAs_|`KQl_+f%Zgihg;r zaisk#mF^DJ-&eo1ezA(5<`*~AcV9-MC|L4!8P0Gs><`Xg p4}`n+)rkrnIt!p@nW}p@tUf5QY#)GLS--0THAqAeSP76s4B{ z4p=Ax0*Yb-5peCOuYxGpRuos>?{DsLU*3K8K706_|LN!4Gm|X1=2Y;Dj|TfbEf=!J z;+Yj>SvBxhdCM9cY+1+atJJc}wzRC(F3XCu+On#n8;j$^$Pm^d z?2b=kB7TkFaOgscN@K{qm(Uf~p3z}(s z93zM~qwc@~RKGK*1zx}cyoy>-pAMYA-qpYk&Jj+=Na6x4gNslLT!Y%_QB=ossEID1 z2L1>&;Wwy--$V5eN_JjFB&t3JwZT@XaXKY){yO4^D9}6Xjp~?&8Ylxb!6YogY1kj@ zb>zY+#!NhjddF2dIU8t#dZnGP8urENn1#`}5Ve4vJ~EncKWazEQ4QY0n)m~%Vd>7S z9?PMQv?aF04)_q}BcDj?sEL2X?!-x5_^9DrY=Q@I7=DIYm@lcTWmP6K2s`0q)I#>5 zUd?gTz#pInEZxnr;&C7j#Cg~g-^Zp{lScJ06*W;lcEYzX7QcpQu4DO3Iih7!Mr8u$uo!cS4{zD4!_ z(RdfN;QQ!PMMxj#tFjc9A})g(uo|j9%Ea|i6U3YHmd5s|3A>v5RMfhGS*Dxs}kc;?e?OM){nXa=TYrGMqRF3sITDr zsD+g6>-4LNnm8J@p!$6|e+}4}0yS)5DmoyaAgc=w!beT{HRC6!lev!C(G67ppHbue ziJB;+pVO`+sy-3}CyQzq_^P%6G&RypLMIRn$s9#Rm8d#$)6F=Tde=4KNJVek5wb z3=`*~`WK>(crNOM7GO9&Vd4$Q!hP0uGC@@AN4>j)$PXs#3|7MX*a$1}ZBqujpvniJ z2A+tTC=WI9bmKfzz65nb%T2u2#2W(g{+}bGmF>k?d>NbI=cw<22rhso?20N+M@_T@ zbpoqQydHJL&!RT83$@_Arv50FB|d`@cp0nd^Zyl@T6iDTp;nsn#S@R(VG8PFIlwpy zwWBQ5!l$C{j1Tpy9!GvoSx0d={*Ik+&|u3NimOrIFSpPaMJ9BJWv#_nT!bg^5$s0m zy7)Tk72Lw+SY?=V61{N&@hp4{|H2Gh#H>1*o2U)^h+5!1?2g6LofGJr&imI+MpK}j zPrxczh&tls=*D#ziN9k7EH%QZk3#itVB!SSU1)2{JEAUYimC5y>eEo;3?ISyS0$56 zfsS}FYUQg@N4o*F^4(YtUoiD=pmz2imdAgfj{FBq!T6ER&wxUVAudAQjf<#$S5XW9 z!bhe$nH#8yLPt3hl|yx?hicdebs~wz_NWuWf6XC%DRRye<~UCK!gTF$9w_6uY9@_cZYURKKAncANUl$(+9i@KT^#I}L+zscEp> zxE5n5-(>1fqXs-@>fc4aTdb>C9}}{jafYK#a1?5RFQ68F4AuW^Hs{}n%sUilA%CEb z)|KOQNWjv>txz4iB5%X$gL-9$aRS~#EqqX}*(s{M8+9U+OgshkMK;sK%Y0^a|F*Ag^<~qp&M+2jnAd&Bu258J5KAQ=A`avDle76?I8hU>y4P zkkLf%qfX!|>Zm@&Quw9uwyD2o44UfnD}mZkxQS~U>tGqm>!VJh73xlOG;xX(`>g(C zbi~6@JN2L@&PUw|A8G&_wa|^Ic3V*Wicsy3p(cDCb>vqt0zWqOw^04>q89Qemel7z zB+uD#1nN~(FxEmHVI0O{BI;z)Q4^0rEhHN?;Vje%&OTn%(q(7j(I{(DLD=BcSWsEa6H?}uEWbAKDM{Qs{YQjv^_)}2x%`M>kHNjE}D&lIa zi+fP-^j*{fKS1r|bJUT3h1&To)Ih(ZCI~Hb`jtWLw1SDNqWafHEvOEvf2@y8Su%;J z4&6{I?1^eP6zgL;YC(?}7o!GTj_S7xwUKqG1#d--yAQRn6R7^L8Q(&+^IbBTPf#oR z7N@%S%OO00nbV!0X7y$|zc{o<5AC*~e!Pawawe#Q<%t`kex`K7c=Tay+>Z_MZH&Xa zjy@}TwsWMtj0277SdWI|up%zTI=Bh-d%>&7saqeSURmEc&NpX1>f~0SZuu(ID_d{e ziaMFy82J1jC8IBjbEp&e0CiN?jo+e<@CQ`K-%#HN#UFP1HAPL-5o_Q>s0C)A7Cs9# z-bz%vwYUJE!NBJ~dam=kTLSi^q8sX+E=P5+P5slTBi@gCcc)R8?=930ub~$DIjY|c z)WmmC8~Z0}fx%q*7>q)n2Ixvg1NK98Oh*mmHcmoau6)!$`diCdxD>V1-Kd3~LVav6 zqsF_1YX2MZx~-6T&Vqbc-Qst~d3^r0fUOkhsP?0d_zY@-%c%OFQ9HSh+G*%~Ck{u& zw6YoUr_)XM6@1b^j z8{6P-*aH(5I`J$VNPHNFV6jEcFQ=o8Hu5Whbsl3e=`r3v`o@syM`j-C=-$KH_zkwj zVvG4dp4bID;A+goOQ?z3E^*pDiOq@M!fd>coiTfpS2}kp8daZwC9w^v ze>W_}{8kYeU818H`1s%>#J8|GdY^Q@>t~?iIj8{_qVC8OCbqEz@dgub$1vjkCO(W> z@NrXq8Uug-cb-fsD&92}9~rNsCb)r`@U|)c&G;8;!q8RD!Xk`SP$w0QT0ns*pN$&t zQ4GhWt2loR{1gQmXbb8U?7?#QGjh?bFxweu8R~>qp)TtlRJ+rt%XJxb^mkAv6}sB7 z3~J)a#+t@Dt2uu)Y+wqSqi%H)_QMsX{4>vF~WVE8DsFk+DR@f1n;xtr;9jFdxQ3IYwE$AIo|Bq1pucJ=tJJf>i zpkC1*CJukfS$Jg(Vt%VO8GU|ZP%H0(QMeN8;~~@lA7UlEh1z-WdS{|isENv=7EsNU z*Fm+5GjTH$w={OZ3i|waCsU7x=@^gmP~Tids0r_211$EmGeH7s$8Axcn$D;bNkw*K z4Z?~z1a(5$sBvbR@|74kQK`@WSyOQx>k{9^z`Ney{1j`5+F3i)MBPvm^uh`_7Pa6) z9E>lb8^bp`U)^3@NPHSKe#$e>tIbB=J_Jq163XaDrxDR#7&ppfe>)l?aKu7Wo>RpCD z=lo?+1gb+eYNrcP6FiN&WLr@uv%|y(Q1ARO2IFxPpF;IJk2<+`u{wVJ9OoZN#Xe)W(*f7P1DTaHEfm zCOCoG>3bN8H&8pdjoRUFSQf1v&Phb#NWxfD{{^W2YfUut1?-P0JNf9M z?6!7OZuJFpsF#CmuObvMfGb?Td;zMw|nP+W!0@g{2En%w9bn1U%d z9>?Q8tdEiVouhAqZS?t1C!^cF8o9vMo2Zp%7dZ=Aj&9=Jn24ngIPbh89wlCaT41+> z&Yc*C+Q1xagX^$8Uc|;&=8&_{cG!XWEe{!0Jcq^cJuJizu{-vA-ub(oHK>LDjM_;9 zzvBRmC7y{K`$!ZDi8$2P}bIk2vo>74_~1pvs4% z-gSm?66$tOMcs{QsP=PEcjr-5zs070m8pLUHO`hJoPQ*lofN3U%ckN4YQVD?k8hg# zyQl&G#8Mdcg7d{w4zC=VBe)fT?&AwXkq*;vk%kTF3=#fLE|TTF0EbF#vTp@=){mwv*9H zccXTG5X<5b)Cs(1>aSpF;!n_pH?bn#LJbsj+%XKb@RG(Fs0B4aolG0l&bvGHKC2&@ zaum3Y1z3UjF;vHms0ntWCftja@HA?oYpC`&Q5(3Aju*oiusBGiIUqAuwrQ-2M$;LnUVF`W2U)XsxnaZWS>s}R@5 zV153Rl)?7KPN)vuP)FV$^(sc8c94VG@if#zm!bM^Ha>^C^*d1uI)G*Hs40H~s}WyB zUv)CK$mpFEKk4kW90n0rMeVQ#sy+raQDfB3nxPh$Z0wDiXc($prg1Xr)p$`GD?lx9 z-bv11J6cSEcJw6H#T}>}Uod`T{LXmKSn8D1uDY?2u^nmyy-^G7iyChPY5|im9H*c1 zIhSf71$x&TPz}yuWxR;m$qm$szenAHUyWg>omWyBby88rSk#?qjM{l3YC%b;4Yxxr zsGE^CV9<((PT8>#z@3B ziT{3@(x*Qul(fgRnNGfu<}X8LIxS1#gU@|}&q?u=k0G6+<1XTDW&pB*-*h$;k0FgE zu5ZRjB~BtgoK%}M&-Cexw#lo%Wmim&@HGx(oxjffgW6&A_yXIL9wQAQMN+2E>Qm$^ zkbWk0Cp|>jucRl*H=>Q6VWjtn|9)c0B$CEbKk|X{iIi0e;tcAMd7l(T<&Fm$=nCtr zDvXXrDfr9nRVKUHC#Kd>w1bxFHvqmP50iNt%Htn~)|(~P$t51I1n7kBNKv zD9}@!U_NO!sV%7kW%@Sqkv~k*6Gz*Z$v@$Q)_L*;lr_X4e46r4$+y9lX54gQJ)dDu z>|x@~c^S#TNITbzZAcw zyfSG7c^74wq)o)Loo?2$zdwVoQ@Du2DAHt8*_y`sUe;5U^d)V+3Pk)n8)ljOT*@oc zHVF09Cp9M(r|cQZ@=5wf1wHjBt4dly{03>e_Wv81Tcl(fJdacHKI&Oa3Z_G`K*WEq zi$_epG35hjSK7pnkpGSpN2*5JP8w|Ls?oLsX*lsTQ`VFE!1=Gmr3Be3;2Gm!d5Pzf zACIq?I#tzuAa9xms6lxvQ*h9cOPi@yU7os zgPu%M74jV^KW*wx1Zw#I*Te(Ke@(h;%KG4B%D0d%lNyusylB)yyrKLtnw0!Nn;7C(sS78?k@R$;OwRyP3`zf~{ja9a z9AaNP{%B6&P)wmBht!h1o{vc7spI#2tGwydoA?^}FDc6){r&8v%x~HR<7ZUdF_nK3 zr;(2}^`-HWQ|Gf@A`?PNW8fxKd`SLtTun-)%uO6aUQa*bCAf|B4r#0@A4vI2%j<_H8Hl0NuQFQCDzB@nndbD5KkIR>QCI+ zO!gT0nxt<@-;*|wDv|Vbp-na^!L%LZ6bJsbO4%Be-(kGJpYO@*H_sN>i&R8mpm45gc*>Ygr^xpr{Y3i9l!eowgvlSE{3z)NanA<^r^tHffjE--C8Rvk zC!`hBmsKM@#4iNS-wCY)6u3!xTH!?}Yh^Lu4wJ8CEMx3}ok&r%`54!ca_O69#vu&+ zM?yK&`^gWZe5MMCTakP(D&RRzT4Xx?3tu1&B@HCCp;Ln=o)M%zhv4x5qAlSa^H zJ!N_t;Y^eNoj8JgH|lGeGPU_1@(uL-HS!@-OK%I>`RM zPmcfL)TzOC(a>V{p#dZ9PX;cw=MS3guatJl<*zwphRc6q=%gS!A^ntnFTHA5c2))h z*d0d12YDvj3rDoJ&y7g4qem9l8%Dn7_l}Bo#dtF&W?8+xc^+o&U6|v}@fLWk-ZS-Q zA9uktbssyXuDxN*K6~)kdiKh(PX^~@Otjm%>)MwNR*xoy?k^TL+S@wdAIRAx=vM&3J@iim+r&|5pnVzUzZ$Z=qZ(;6uJJ$2M{i|n| zf5wELLPD~$@+aCWCXXqT=b4t}nI4tl&EYf(>=xMv+Dy#K^<=wq$H(_~XS)lsa@_?U zYoIsBovULTSeTzL2f5vOYD6Z}%^z6>?i_ni&P#TBuHUZa{nf5KB{m}4JB|MyaS(Xa z*`G1R<0?_mBr3(7o$blB?@X;w12YRIHpp*a4Ju?*7V4g94Vvy5&jS6adEXZEubEXM z#NIVGrd*-NN-Ol_t3g^}-efh1_lrnS(_e^(=KVp8Y%Rl>( z@j)dDGx?8v^0G1}`a3Vo46+YCw$Pun_%)XuzI1~9@X}t1&05DNw1`S*-ZmjIzFA_k zW+nUgiyz3rRNgI@2pdWk+wI$%OWWtStnkm?nib@4x$PB~U2Dha@XS0<{uzIiJ1;M5oZH^NqprVbM@*2b zuf64H75kT6$8-lnInYe6eRp?4NR~2P_axbm?#Zxk@0o6A?|sMLYhUXByM$c6|G0&o zf;0YHJGUst-dS|be*8dP``m#Sis#MpTB+`tUb~|^iko=gzu&?ehZ5}g=bPHIo`1%k zpHa;o?GN`a^GCVtLx-d6j}KS1T}OVg|8=Cuo^!0E|CJXShlOOjGrV@$6CQixi7NKF z6Q^7J*GtC|x$#^%?|;8x`@%Z&baw9QTa>yNTVrITk4^H3OxC`h*Up$X{*a_d$~uYyeLm@lqXyFFw6V*MReQuF30(A zUoPhI54jQ(6sq^>wtd%Xg=OZQ*`4pPcU&9)z!lB=uzIk)=Hu=D_MapN*^53~`oFq! Br?>zB diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.po b/django/conf/locale/es_AR/LC_MESSAGES/django.po index 93beac1e1b..8bd1aa2253 100644 --- a/django/conf/locale/es_AR/LC_MESSAGES/django.po +++ b/django/conf/locale/es_AR/LC_MESSAGES/django.po @@ -6,1141 +6,195 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-07-14 12:13-0300\n" -"PO-Revision-Date: 2007-07-14 14:37-0300\n" +"POT-Creation-Date: 2007-10-05 10:22-0300\n" +"PO-Revision-Date: 2007-10-05 12:24-0300\n" "Last-Translator: Ramiro Morales \n" "Language-Team: Django-I18N \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: views/generic/create_update.py:43 -#, python-format -msgid "The %(verbose_name)s was created successfully." -msgstr "Se creó con éxito %(verbose_name)s." - -#: views/generic/create_update.py:117 -#, python-format -msgid "The %(verbose_name)s was updated successfully." -msgstr "Se actualizó con éxito %(verbose_name)s." - -#: views/generic/create_update.py:184 -#, python-format -msgid "The %(verbose_name)s was deleted." -msgstr "Se eliminó %(verbose_name)s." - -#: db/models/manipulators.py:309 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "Ya existe un(a) %(object)s con este/a %(type)s para %(field)s." - -#: db/models/manipulators.py:310 contrib/admin/views/main.py:342 -#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346 -msgid "and" -msgstr "y" - -#: db/models/fields/__init__.py:47 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "Ya existe %(optname)s con este %(fieldname)s." - -#: db/models/fields/__init__.py:127 db/models/fields/__init__.py:284 -#: db/models/fields/__init__.py:681 db/models/fields/__init__.py:692 -#: oldforms/__init__.py:369 newforms/fields.py:92 newforms/fields.py:440 -#: newforms/fields.py:516 newforms/fields.py:527 newforms/models.py:187 -msgid "This field is required." -msgstr "Este campo es obligatorio." - -#: db/models/fields/__init__.py:379 -msgid "This value must be an integer." -msgstr "Este valor debe ser un número entero." - -#: db/models/fields/__init__.py:414 -msgid "This value must be either True or False." -msgstr "Este valor debe ser True o False." - -#: db/models/fields/__init__.py:435 -msgid "This field cannot be null." -msgstr "Este campo no puede ser nulo." - -#: db/models/fields/__init__.py:469 core/validators.py:155 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Introduzca una fecha válida en formato AAAA-MM-DD." - -#: db/models/fields/__init__.py:538 core/validators.py:164 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Introduzca una fecha/hora válida en formato AAAA-MM-DD HH:MM." - -#: db/models/fields/__init__.py:598 -msgid "This value must be a decimal number." -msgstr "Este valor debe ser un número decimal." - -#: db/models/fields/__init__.py:701 -msgid "Enter a valid filename." -msgstr "Introduzca un nombre de archivo válido." - -#: db/models/fields/__init__.py:826 -msgid "This value must be either None, True or False." -msgstr "Este valor debe ser None, True o False." - -#: db/models/fields/related.py:55 -#, python-format -msgid "Please enter a valid %s." -msgstr "Por favor, introduzca un %s válido." - -#: db/models/fields/related.py:641 -msgid "Separate multiple IDs with commas." -msgstr " Separe múltiples identificadores con comas." - -#: db/models/fields/related.py:643 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Mantenga presionada \"Control\" (\"Command\" en una Mac) para seleccionar " -"más de uno." - -#: db/models/fields/related.py:690 -#, 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] "" -"Por favor, introduzca IDs de %(self)s válidos. El valor %(value)r no es " -"válido." -msgstr[1] "" -"Por favor, introduzca IDs de %(self)s válidos. Los valores %(value)r no son " -"válidos." - -#: oldforms/__init__.py:404 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Asegúrese de que su texto tiene menos de %s caracter." -msgstr[1] "Asegúrese de que su texto tiene menos de %s caracteres." - -#: oldforms/__init__.py:409 -msgid "Line breaks are not allowed here." -msgstr "No se permiten saltos de línea." - -#: oldforms/__init__.py:507 oldforms/__init__.py:581 oldforms/__init__.py:620 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Seleccione una opción válida; '%(data)s' no está en %(choices)s." - -#: oldforms/__init__.py:587 contrib/admin/filterspecs.py:152 -#: newforms/widgets.py:181 -msgid "Unknown" -msgstr "Desconocido" - -#: oldforms/__init__.py:587 contrib/admin/filterspecs.py:145 -#: newforms/widgets.py:181 -msgid "Yes" -msgstr "Sí" - -#: oldforms/__init__.py:587 contrib/admin/filterspecs.py:145 -#: newforms/widgets.py:181 -msgid "No" -msgstr "No" - -#: oldforms/__init__.py:682 core/validators.py:181 core/validators.py:461 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"No se envió un archivo. Verifique el tipo de codificación en el formulario." - -#: oldforms/__init__.py:684 -msgid "The submitted file is empty." -msgstr "El archivo enviado está vacío." - -#: oldforms/__init__.py:740 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Introduzca un número entero entre -32.768 y 32.767." - -#: oldforms/__init__.py:750 -msgid "Enter a positive number." -msgstr "Introduzca un número positivo." - -#: oldforms/__init__.py:760 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Introduzca un número entero entre 0 y 32.767." - -#: conf/global_settings.py:38 +#: conf/global_settings.py:39 msgid "Arabic" msgstr "Árabe" -#: conf/global_settings.py:39 +#: conf/global_settings.py:40 msgid "Bengali" msgstr "Bengalí" -#: conf/global_settings.py:40 +#: conf/global_settings.py:41 msgid "Bulgarian" msgstr "Búlgaro" -#: conf/global_settings.py:41 +#: conf/global_settings.py:42 msgid "Catalan" msgstr "Catalán" -#: conf/global_settings.py:42 +#: conf/global_settings.py:43 msgid "Czech" msgstr "Checo" -#: conf/global_settings.py:43 +#: conf/global_settings.py:44 msgid "Welsh" msgstr "Galés" -#: conf/global_settings.py:44 +#: conf/global_settings.py:45 msgid "Danish" msgstr "Danés" -#: conf/global_settings.py:45 +#: conf/global_settings.py:46 msgid "German" msgstr "Alemán" -#: conf/global_settings.py:46 +#: conf/global_settings.py:47 msgid "Greek" msgstr "Griego" -#: conf/global_settings.py:47 +#: conf/global_settings.py:48 msgid "English" msgstr "Inglés" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Spanish" msgstr "Español" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Argentinean Spanish" msgstr "Español Argentino" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 msgid "Persian" msgstr "Persa" -#: conf/global_settings.py:51 +#: conf/global_settings.py:52 msgid "Finnish" msgstr "Finlandés" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "French" msgstr "Francés" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 +msgid "Gaeilge" +msgstr "Irlandés" + +#: conf/global_settings.py:55 msgid "Galician" msgstr "Gallego" -#: conf/global_settings.py:54 +#: conf/global_settings.py:56 msgid "Hungarian" msgstr "Húngaro" -#: conf/global_settings.py:55 +#: conf/global_settings.py:57 msgid "Hebrew" msgstr "Hebreo" -#: conf/global_settings.py:56 +#: conf/global_settings.py:58 +msgid "Croatian" +msgstr "Croata" + +#: conf/global_settings.py:59 msgid "Icelandic" msgstr "Islandés" -#: conf/global_settings.py:57 +#: conf/global_settings.py:60 msgid "Italian" msgstr "Italiano" -#: conf/global_settings.py:58 +#: conf/global_settings.py:61 msgid "Japanese" msgstr "Japonés" -#: conf/global_settings.py:59 +#: conf/global_settings.py:62 msgid "Korean" msgstr "Koreano" -#: conf/global_settings.py:60 +#: conf/global_settings.py:63 +msgid "Khmer" +msgstr "Jémer" + +#: conf/global_settings.py:64 msgid "Kannada" msgstr "Canarés" -#: conf/global_settings.py:61 +#: conf/global_settings.py:65 msgid "Latvian" msgstr "Letón" -#: conf/global_settings.py:62 +#: conf/global_settings.py:66 msgid "Macedonian" msgstr "Macedonio" -#: conf/global_settings.py:63 +#: conf/global_settings.py:67 msgid "Dutch" msgstr "Holandés" -#: conf/global_settings.py:64 +#: conf/global_settings.py:68 msgid "Norwegian" msgstr "Noruego" -#: conf/global_settings.py:65 +#: conf/global_settings.py:69 msgid "Polish" msgstr "Polaco" -#: conf/global_settings.py:66 +#: conf/global_settings.py:70 msgid "Portugese" msgstr "Portugués" -#: conf/global_settings.py:67 +#: conf/global_settings.py:71 msgid "Brazilian" msgstr "Brasileño" -#: conf/global_settings.py:68 +#: conf/global_settings.py:72 msgid "Romanian" msgstr "Rumano" -#: conf/global_settings.py:69 +#: conf/global_settings.py:73 msgid "Russian" msgstr "Ruso" -#: conf/global_settings.py:70 +#: conf/global_settings.py:74 msgid "Slovak" msgstr "Eslovaco" -#: conf/global_settings.py:71 +#: conf/global_settings.py:75 msgid "Slovenian" msgstr "Esloveno" -#: conf/global_settings.py:72 +#: conf/global_settings.py:76 msgid "Serbian" msgstr "Serbio" -#: conf/global_settings.py:73 +#: conf/global_settings.py:77 msgid "Swedish" msgstr "Sueco" -#: conf/global_settings.py:74 +#: conf/global_settings.py:78 msgid "Tamil" msgstr "Tamil" -#: conf/global_settings.py:75 +#: conf/global_settings.py:79 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:76 +#: conf/global_settings.py:80 msgid "Turkish" msgstr "Turco" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 msgid "Ukrainian" msgstr "Ucraniano" -#: conf/global_settings.py:78 +#: conf/global_settings.py:82 msgid "Simplified Chinese" msgstr "Chino simplificado" -#: conf/global_settings.py:79 +#: conf/global_settings.py:83 msgid "Traditional Chinese" msgstr "Chino tradicional" -#: utils/dates.py:6 -msgid "Monday" -msgstr "Lunes" - -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "Martes" - -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "Miércoles" - -#: utils/dates.py:6 -msgid "Thursday" -msgstr "Jueves" - -#: utils/dates.py:6 -msgid "Friday" -msgstr "Viernes" - -#: utils/dates.py:7 -msgid "Saturday" -msgstr "Sábado" - -#: utils/dates.py:7 -msgid "Sunday" -msgstr "Domingo" - -#: utils/dates.py:10 -msgid "Mon" -msgstr "Lun" - -#: utils/dates.py:10 -msgid "Tue" -msgstr "Mar" - -#: utils/dates.py:10 -msgid "Wed" -msgstr "Mie" - -#: utils/dates.py:10 -msgid "Thu" -msgstr "Jue" - -#: utils/dates.py:10 -msgid "Fri" -msgstr "Vie" - -#: utils/dates.py:11 -msgid "Sat" -msgstr "Sab" - -#: utils/dates.py:11 -msgid "Sun" -msgstr "Dom" - -#: utils/dates.py:18 -msgid "January" -msgstr "Enero" - -#: utils/dates.py:18 -msgid "February" -msgstr "Febrero" - -#: utils/dates.py:18 utils/dates.py:31 -msgid "March" -msgstr "Marzo" - -#: utils/dates.py:18 utils/dates.py:31 -msgid "April" -msgstr "Abril" - -#: utils/dates.py:18 utils/dates.py:31 -msgid "May" -msgstr "Mayo" - -#: utils/dates.py:18 utils/dates.py:31 -msgid "June" -msgstr "Junio" - -#: utils/dates.py:19 utils/dates.py:31 -msgid "July" -msgstr "Julio" - -#: utils/dates.py:19 -msgid "August" -msgstr "Agosto" - -#: utils/dates.py:19 -msgid "September" -msgstr "Setiembre" - -#: utils/dates.py:19 -msgid "October" -msgstr "Octubre" - -#: utils/dates.py:19 -msgid "November" -msgstr "Noviembre" - -#: utils/dates.py:20 -msgid "December" -msgstr "Diciembre" - -#: utils/dates.py:23 -msgid "jan" -msgstr "ene" - -#: utils/dates.py:23 -msgid "feb" -msgstr "feb" - -#: utils/dates.py:23 -msgid "mar" -msgstr "mar" - -#: utils/dates.py:23 -msgid "apr" -msgstr "abr" - -#: utils/dates.py:23 -msgid "may" -msgstr "may" - -#: utils/dates.py:23 -msgid "jun" -msgstr "jun" - -#: utils/dates.py:24 -msgid "jul" -msgstr "jul" - -#: utils/dates.py:24 -msgid "aug" -msgstr "ago" - -#: utils/dates.py:24 -msgid "sep" -msgstr "set" - -#: utils/dates.py:24 -msgid "oct" -msgstr "oct" - -#: utils/dates.py:24 -msgid "nov" -msgstr "nov" - -#: utils/dates.py:24 -msgid "dec" -msgstr "dic" - -#: utils/dates.py:31 -msgid "Jan." -msgstr "Enero" - -#: utils/dates.py:31 -msgid "Feb." -msgstr "Feb." - -#: utils/dates.py:32 -msgid "Aug." -msgstr "Ago." - -#: utils/dates.py:32 -msgid "Sept." -msgstr "Set." - -#: utils/dates.py:32 -msgid "Oct." -msgstr "Oct." - -#: utils/dates.py:32 -msgid "Nov." -msgstr "Nov." - -#: utils/dates.py:32 -msgid "Dec." -msgstr "Dic." - -#: utils/timesince.py:12 -msgid "year" -msgid_plural "years" -msgstr[0] "año" -msgstr[1] "años" - -#: utils/timesince.py:13 -msgid "month" -msgid_plural "months" -msgstr[0] "mes" -msgstr[1] "meses" - -#: utils/timesince.py:14 -msgid "week" -msgid_plural "weeks" -msgstr[0] "semana" -msgstr[1] "semanas" - -#: utils/timesince.py:15 -msgid "day" -msgid_plural "days" -msgstr[0] "día" -msgstr[1] "días" - -#: utils/timesince.py:16 -msgid "hour" -msgid_plural "hours" -msgstr[0] "hora" -msgstr[1] "horas" - -#: utils/timesince.py:17 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "minuto" -msgstr[1] "minutos" - -#: utils/timesince.py:39 -#, python-format -msgid "%(number)d %(type)s" -msgstr "%(number)d %(type)s" - -#: utils/timesince.py:45 -#, python-format -msgid ", %(number)d %(type)s" -msgstr ", %(number)d %(type)s" - -#: utils/dateformat.py:41 -msgid "p.m." -msgstr "p.m." - -#: utils/dateformat.py:42 -msgid "a.m." -msgstr "a.m." - -#: utils/dateformat.py:47 -msgid "PM" -msgstr "PM" - -#: utils/dateformat.py:48 -msgid "AM" -msgstr "AM" - -#: utils/dateformat.py:97 -msgid "midnight" -msgstr "medianoche" - -#: utils/dateformat.py:99 -msgid "noon" -msgstr "mediodía" - -#: utils/translation/trans_real.py:391 -msgid "DATE_FORMAT" -msgstr "j N Y" - -#: utils/translation/trans_real.py:392 -msgid "DATETIME_FORMAT" -msgstr "j N Y P" - -#: utils/translation/trans_real.py:393 -msgid "TIME_FORMAT" -msgstr "P" - -#: utils/translation/trans_real.py:409 -msgid "YEAR_MONTH_FORMAT" -msgstr "F Y" - -#: utils/translation/trans_real.py:410 -msgid "MONTH_DAY_FORMAT" -msgstr "j \\de F" - -#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 -msgid "The two password fields didn't match." -msgstr "Los dos campos de contraseñas no coinciden entre si." - -#: contrib/auth/forms.py:25 -msgid "A user with that username already exists." -msgstr "Ya existe un usuario con ese nombre." - -#: contrib/auth/forms.py:53 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" -"Su navegador Web aparenta no tener cookies activas. Las cookies son un " -"requerimiento para poder ingresar." - -#: contrib/auth/forms.py:60 contrib/admin/views/decorators.py:10 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"Por favor introduzca un nombre de usuario y una contraseña correctos. Note " -"que ambos campos son sensibles a mayúsculas/minúsculas." - -#: contrib/auth/forms.py:62 -msgid "This account is inactive." -msgstr "Esta cuenta está inactiva" - -#: contrib/auth/forms.py:84 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" -msgstr "" -"Esa dirección de e-mail no está asociada a ninguna cuenta de usuario. ¿Está " -"seguro de que ya se ha registrado?" - -#: contrib/auth/forms.py:117 -msgid "The two 'new password' fields didn't match." -msgstr "Los dos campos 'nueva contraseña' no coinciden entre si." - -#: contrib/auth/forms.py:124 -msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "" -"La antigua contraseña ingresada es incorrecta. Por favor ingrésela " -"nuevamente." - -#: contrib/auth/models.py:51 contrib/auth/models.py:71 -msgid "name" -msgstr "nombre" - -#: contrib/auth/models.py:53 -msgid "codename" -msgstr "nombre en código" - -#: contrib/auth/models.py:56 -msgid "permission" -msgstr "permiso" - -#: contrib/auth/models.py:57 contrib/auth/models.py:72 -msgid "permissions" -msgstr "permisos" - -#: contrib/auth/models.py:75 -msgid "group" -msgstr "grupo" - -#: contrib/auth/models.py:76 contrib/auth/models.py:116 -msgid "groups" -msgstr "grupos" - -#: contrib/auth/models.py:106 -msgid "username" -msgstr "nombre de usuario" - -#: contrib/auth/models.py:106 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "" -"Requerido. Longitud máxima 30 caracteres alfanuméricos (letras, dígitos y " -"guiones bajos)." - -#: contrib/auth/models.py:107 -msgid "first name" -msgstr "nombre" - -#: contrib/auth/models.py:108 -msgid "last name" -msgstr "apellido" - -#: contrib/auth/models.py:109 -msgid "e-mail address" -msgstr "dirección de correo" - -#: contrib/auth/models.py:110 -msgid "password" -msgstr "contraseña" - -#: contrib/auth/models.py:110 -msgid "" -"Use '[algo]$[salt]$[hexdigest]' or use the change " -"password form." -msgstr "" -"Use '[algo]$[salt]$[hexdigest]' o use el formulario de " -"cambio de contraseña." - -#: contrib/auth/models.py:111 -msgid "staff status" -msgstr "es staff" - -#: contrib/auth/models.py:111 -msgid "Designates whether the user can log into this admin site." -msgstr "Indica si el usuario puede ingresar a este sitio de administración." - -#: contrib/auth/models.py:112 -msgid "active" -msgstr "activo" - -#: contrib/auth/models.py:112 -msgid "" -"Designates whether this user can log into the Django admin. Unselect this " -"instead of deleting accounts." -msgstr "" -"Indica si el usuario puede ingresar al sitio de administración Django. " -"Desactive este campo en lugar de eliminar usuarios." - -#: contrib/auth/models.py:113 -msgid "superuser status" -msgstr "es superusuario" - -#: contrib/auth/models.py:113 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." -msgstr "" -"Indica que este usuario posee todos los permisos, sin que sea neceario " -"asignarle los mismos en forma explícita." - -#: contrib/auth/models.py:114 -msgid "last login" -msgstr "último ingreso" - -#: contrib/auth/models.py:115 -msgid "date joined" -msgstr "fecha de creación" - -#: contrib/auth/models.py:117 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"Además de los permisos asignados manualmente, este usuario también poseerá " -"todos los permisos de los grupos a los que pertenezca." - -#: contrib/auth/models.py:118 -msgid "user permissions" -msgstr "permisos de usuario" - -#: contrib/auth/models.py:122 -msgid "user" -msgstr "usuario" - -#: contrib/auth/models.py:123 -msgid "users" -msgstr "usuarios" - -#: contrib/auth/models.py:129 -msgid "Personal info" -msgstr "Información personal" - -#: contrib/auth/models.py:130 -msgid "Permissions" -msgstr "Permisos" - -#: contrib/auth/models.py:131 -msgid "Important dates" -msgstr "Fechas importantes" - -#: contrib/auth/models.py:132 -msgid "Groups" -msgstr "Grupos" - -#: contrib/auth/models.py:274 -msgid "message" -msgstr "mensaje" - -#: contrib/auth/views.py:41 -msgid "Logged out" -msgstr "Sesión cerrada" - -#: contrib/comments/models.py:67 contrib/comments/models.py:166 -msgid "object ID" -msgstr "ID de objeto" - -#: contrib/comments/models.py:68 -msgid "headline" -msgstr "encabezado" - -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 -msgid "comment" -msgstr "comentario" - -#: contrib/comments/models.py:70 -msgid "rating #1" -msgstr "calificación 1" - -#: contrib/comments/models.py:71 -msgid "rating #2" -msgstr "calificación 2" - -#: contrib/comments/models.py:72 -msgid "rating #3" -msgstr "calificación 3" - -#: contrib/comments/models.py:73 -msgid "rating #4" -msgstr "calificación 4" - -#: contrib/comments/models.py:74 -msgid "rating #5" -msgstr "calificación 5" - -#: contrib/comments/models.py:75 -msgid "rating #6" -msgstr "calificación 6" - -#: contrib/comments/models.py:76 -msgid "rating #7" -msgstr "calificación 7" - -#: contrib/comments/models.py:77 -msgid "rating #8" -msgstr "calificación 8" - -#: contrib/comments/models.py:82 -msgid "is valid rating" -msgstr "es calificación válida" - -#: contrib/comments/models.py:83 contrib/comments/models.py:169 -msgid "date/time submitted" -msgstr "fecha/hora de envío" - -#: contrib/comments/models.py:84 contrib/comments/models.py:170 -msgid "is public" -msgstr "es público" - -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:306 -msgid "IP address" -msgstr "Dirección IP" - -#: contrib/comments/models.py:86 -msgid "is removed" -msgstr "se ha eliminado" - -#: 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 "" -"Marque esta caja si el comentario es inapropiado. En su lugar se mostrará un " -"mensaje \"Este comentario ha sido eliminado\"." - -#: contrib/comments/models.py:91 -msgid "comments" -msgstr "comentarios" - -#: contrib/comments/models.py:131 contrib/comments/models.py:207 -msgid "Content object" -msgstr "Objeto contenido" - -#: contrib/comments/models.py:159 -#, python-format -msgid "" -"Posted by %(user)s at %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" -msgstr "" -"Enviado por %(user)s el %(date)s\n" -"\n" -"%(comment)s\n" -"\n" -"http://%(domain)s%(url)s" - -#: contrib/comments/models.py:168 -msgid "person's name" -msgstr "nombre de la persona" - -#: contrib/comments/models.py:171 -msgid "ip address" -msgstr "dirección ip" - -#: contrib/comments/models.py:173 -msgid "approved by staff" -msgstr "aprobado por el staff" - -#: contrib/comments/models.py:176 -msgid "free comment" -msgstr "comentario libre" - -#: contrib/comments/models.py:177 -msgid "free comments" -msgstr "comentarios libres" - -#: contrib/comments/models.py:233 -msgid "score" -msgstr "puntuación" - -#: contrib/comments/models.py:234 -msgid "score date" -msgstr "fecha de la puntuación" - -#: contrib/comments/models.py:237 -msgid "karma score" -msgstr "punto karma" - -#: contrib/comments/models.py:238 -msgid "karma scores" -msgstr "puntos karma" - -#: contrib/comments/models.py:242 -#, python-format -msgid "%(score)d rating by %(user)s" -msgstr "puntuado %(score)d por %(user)s" - -#: contrib/comments/models.py:258 -#, python-format -msgid "" -"This comment was flagged by %(user)s:\n" -"\n" -"%(text)s" -msgstr "" -"Este comentario fue marcado por %(user)s:\n" -"\n" -"%(text)s" - -#: contrib/comments/models.py:265 -msgid "flag date" -msgstr "fecha de la marca" - -#: contrib/comments/models.py:268 -msgid "user flag" -msgstr "marca de usuario" - -#: contrib/comments/models.py:269 -msgid "user flags" -msgstr "marcas de usuario" - -#: contrib/comments/models.py:273 -#, python-format -msgid "Flag by %r" -msgstr "Marca de %r" - -#: contrib/comments/models.py:278 -msgid "deletion date" -msgstr "fecha de eliminación" - -#: contrib/comments/models.py:280 -msgid "moderator deletion" -msgstr "Eliminación por moderador" - -#: contrib/comments/models.py:281 -msgid "moderator deletions" -msgstr "eliminaciones por moderador" - -#: contrib/comments/models.py:285 -#, python-format -msgid "Moderator deletion by %r" -msgstr "Eliminación del moderador %r" - -#: contrib/comments/views/karma.py:20 -msgid "Anonymous users cannot vote" -msgstr "Los usuarios anónimos no pueden votar" - -#: contrib/comments/views/karma.py:24 -msgid "Invalid comment ID" -msgstr "ID de comentario no válido" - -#: contrib/comments/views/karma.py:26 -msgid "No voting for yourself" -msgstr "Ud. no puede votarse a sí mismo" - -#: contrib/comments/views/comments.py:28 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "Se precisa esta puntuación porque ha introducido al menos otra más." - -#: contrib/comments/views/comments.py:112 -#, python-format -msgid "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comment:\n" -"\n" -"%(text)s" -msgid_plural "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comments:\n" -"\n" -"%(text)s" -msgstr[0] "" -"Este comentario lo envió un usuario que ha enviado menos de %(count)s " -"comentario:\n" -"\n" -"%(text)s" -msgstr[1] "" -"Este comentario lo envió un usuario que ha enviado menos de %(count)s " -"comentarios:\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:117 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" -"Este comentario ha sido enviado por un usuario 'semi-anónimo':\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:281 -msgid "Only POSTs are allowed" -msgstr "Sólo se admiten POSTs" - -#: contrib/comments/views/comments.py:193 -#: contrib/comments/views/comments.py:285 -msgid "One or more of the required fields wasn't submitted" -msgstr "No se proporcionó uno o más de los siguientes campos requeridos" - -#: contrib/comments/views/comments.py:197 -#: contrib/comments/views/comments.py:287 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "" -"Alguien está jugando con el formulario de comentarios (violación de " -"seguridad)" - -#: contrib/comments/views/comments.py:207 -#: contrib/comments/views/comments.py:293 -msgid "" -"The comment form had an invalid 'target' parameter -- the object ID was " -"invalid" -msgstr "" -"El formulario de comentarios tiene un parámetro 'target' no válido (el ID de " -"objeto era inválido)" - -#: contrib/comments/views/comments.py:258 -#: contrib/comments/views/comments.py:322 -msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "El formulario de comentario no proporcionó 'previsualizar' ni 'enviar'" - -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "Su nombre:" - -#: contrib/comments/templates/comments/freeform.html:5 -#: contrib/comments/templates/comments/form.html:28 -msgid "Comment:" -msgstr "Comentario:" - -#: contrib/comments/templates/comments/freeform.html:10 -#: contrib/comments/templates/comments/form.html:35 -msgid "Preview comment" -msgstr "Previsualizar comentario" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "Usuario:" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -msgid "Log out" -msgstr "Cerrar sesión" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Contraseña:" - -#: contrib/comments/templates/comments/form.html:8 -msgid "Forgotten your password?" -msgstr "Olvidó su contraseña?" - -#: contrib/comments/templates/comments/form.html:12 -msgid "Ratings" -msgstr "Calificaciones" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "Requerido" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "Opcional" - -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "Enviar una foto" - -#: contrib/sites/models.py:15 -msgid "domain name" -msgstr "nombre de dominio" - -#: contrib/sites/models.py:16 -msgid "display name" -msgstr "nombre para visualizar" - -#: contrib/sites/models.py:20 -msgid "site" -msgstr "sitio" - -#: contrib/sites/models.py:21 -msgid "sites" -msgstr "sitios" - #: contrib/admin/filterspecs.py:42 #, python-format msgid "" @@ -1175,6 +229,21 @@ msgstr "Este mes" msgid "This year" msgstr "Este año" +#: contrib/admin/filterspecs.py:145 newforms/widgets.py:198 +#: oldforms/__init__.py:591 +msgid "Yes" +msgstr "Sí" + +#: contrib/admin/filterspecs.py:145 newforms/widgets.py:198 +#: oldforms/__init__.py:591 +msgid "No" +msgstr "No" + +#: contrib/admin/filterspecs.py:152 newforms/widgets.py:198 +#: oldforms/__init__.py:591 +msgid "Unknown" +msgstr "Desconocido" + #: contrib/admin/models.py:17 msgid "action time" msgstr "hora de acción" @@ -1203,6 +272,569 @@ msgstr "entrada de registro" msgid "log entries" msgstr "entradas de registro" +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Página no encontrada" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Lo sentimos, pero no se encuentra la página solicitada." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "Inicio" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Error del servidor" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Error del servidor (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Error de servidor (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "" +"There's been an error. It's been reported to the site administrators via e-" +"mail and should be fixed shortly. Thanks for your patience." +msgstr "" +"Ha ocurrido un error. Se ha informado a los administradores del sitio " +"mediante correo electrónico y debería ser solucionado en breve. Gracias por " +"su paciencia." + +#: contrib/admin/templates/admin/base.html:26 +msgid "Welcome," +msgstr "Bienvenido," + +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Documentación" + +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 +msgid "Change password" +msgstr "Cambiar contraseña" + +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Cerrar sesión" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Sitio de administración de Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Administración de Django" + +#: contrib/admin/templates/admin/change_form.html:14 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Agregar" + +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 +msgid "History" +msgstr "Historia" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "Ver en el sitio" + +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Por favor, corrija el siguiente error." +msgstr[1] "Por favor, corrija los siguientes errores." + +#: contrib/admin/templates/admin/change_form.html:49 +msgid "Ordering" +msgstr "Ordenación" + +#: contrib/admin/templates/admin/change_form.html:52 +msgid "Order:" +msgstr "Orden:" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "Agregar %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Eliminar" + +#: contrib/admin/templates/admin/delete_confirmation.html:13 +#, python-format +msgid "" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " +"de objetos relacionados, pero su cuenta no tiene permiso para eliminar los " +"siguientes tipos de objetos:" + +#: contrib/admin/templates/admin/delete_confirmation.html:20 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"¿Está seguro de que quiere eliminar los %(object_name)s \"%(escaped_object)s" +"\"? Se eliminarán los siguientes objetos relacionados:" + +#: contrib/admin/templates/admin/delete_confirmation.html:25 +msgid "Yes, I'm sure" +msgstr "Sí, estoy seguro" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtrar" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modelos disponibles en la aplicación %(name)s." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Modificar" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "No tiene permiso para editar nada." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Acciones recientes" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Mis acciones" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Ninguna disponible" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Hay algún problema con su instalación de base de datos. Asegúrese de que las " +"tablas de la misma hayan sido creadas, y asegúrese de que el usuario " +"apropiado tenga permisos de lectura en la base de datos." + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Usuario:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Contraseña:" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 +msgid "Log in" +msgstr "Identificarse" + +#: contrib/admin/templates/admin/object_history.html:17 +msgid "Date/time" +msgstr "Fecha/hora" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "User" +msgstr "Usuario" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "Action" +msgstr "Acción" + +#: contrib/admin/templates/admin/object_history.html:25 +msgid "DATE_WITH_TIME_FULL" +msgstr "j M Y P" + +#: contrib/admin/templates/admin/object_history.html:35 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Este objeto no tiene historia de modificaciones. Probablemente no fué " +"añadido usando este sitio de administración." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Mostrar todos/as" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Buscar" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "un resultado" +msgstr[1] "%(counter)s resultados" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "total: %(full_result_count)s" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Grabar como nuevo" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Grabar y añadir otro" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Grabar y continuar editando" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Grabar" + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Primero, introduzca un nombre de usuario y una contraseña. Luego podrá " +"configurar opciones adicionales." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nombre de usuario:" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 +msgid "Password" +msgstr "Contraseña:" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 +msgid "Password (again)" +msgstr "Contraseña (de nuevo)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Enter the same password as above, for verification." +msgstr "" +"Para verificación, introduzca la misma contraseña que introdujo arriba." + +#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" +"Introduzca una nueva contraseña para el usuario %(username)s." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Bookmarklets" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "Bookmarklets de documentación" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

To install bookmarklets, drag the link to your bookmarks\n" +"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" +"select the bookmarklet from any page in the site. Note that some of these\n" +"bookmarklets require you to be viewing the site from a computer designated\n" +"as \"internal\" (talk to your system administrator if you aren't sure if\n" +"your computer is \"internal\").

\n" +msgstr "" +"\n" +"

Para instalar bookmarklets, arrastre el enlace a su barra\n" +"de favoritos, o pulse con el botón derecho el enlace y añádalo a sus " +"favoritos.\n" +"Ahora puede seleccionar el bookmarklet desde cualquier página en el sitio.\n" +"Tenga en cuenta que algunos de estos bookmarklets precisan que esté viendo\n" +"el sitio desde un equipo señalado como \"interno\" (hable\n" +"con su administrador de sistemas si no está seguro de si el suyo lo es).\n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "Documentación de esta página" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Le lleva desde cualquier página a la documentación de la vista que la genera." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Mostrar ID de objeto" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Muestra el tipo de contenido e ID unívoco de las páginas que representan un " +"único objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Editar este objeto (ventana actual)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Le lleva a la página de administración de páginas que representan un único " +"objeto." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Editar este objeto (nueva ventana)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "" +"Como antes, pero abre la página de administración en una nueva ventana." + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Identificarse de nuevo" + +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 +msgid "Password change" +msgstr "Cambio de contraseña" + +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 +msgid "Password change successful" +msgstr "Cambio de contraseña exitoso" + +#: contrib/admin/templates/registration/password_change_done.html:11 +msgid "Your password was changed." +msgstr "Su contraseña ha sido cambiada." + +#: contrib/admin/templates/registration/password_change_form.html:11 +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 "" +"Por favor, por razones de seguridad, introduzca su contraseña antigua, y " +"luego introduzca la nueva contraseña dos veces para verificar que la ha " +"escrito correctamente." + +#: contrib/admin/templates/registration/password_change_form.html:16 +msgid "Old password:" +msgstr "Contraseña antigua:" + +#: contrib/admin/templates/registration/password_change_form.html:18 +msgid "New password:" +msgstr "Contraseña nueva:" + +#: contrib/admin/templates/registration/password_change_form.html:20 +msgid "Confirm password:" +msgstr "Confirme contraseña:" + +#: contrib/admin/templates/registration/password_change_form.html:22 +msgid "Change my password" +msgstr "Cambiar mi contraseña" + +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +msgid "Password reset" +msgstr "Recuperar contraseña" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Recuperación de contraseña exitosa" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "" +"We've e-mailed a new password to the e-mail address you submitted. You " +"should be receiving it shortly." +msgstr "" +"Le hemos enviado una nueva contraseña a la dirección que ha suministrado. " +"Debería recibirla en breve." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "" +"Está recibiendo este mensaje debido a que solicitó recuperar la contraseña" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "de su cuenta de usuario en %(site_name)s." + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Su nueva contraseña es: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Puede cambiarla accediendo a esta página:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Su nombre de usuario, en caso de haberlo olvidado:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "¡Gracias por usar nuestro sitio!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "El equipo de %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll reset " +"your password and e-mail the new one to you." +msgstr "" +"¿Ha olvidado su contraseña? Introduzca su dirección de correo electrónico, y " +"crearemos una nueva que le enviaremos por correo." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Dirección de correo electrónico:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Recuperar mi contraseña" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Fecha:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Hora:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Actualmente" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Modificar:" + +#: contrib/admin/templatetags/admin_list.py:254 +msgid "All dates" +msgstr "Todas las fechas" + +#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:264 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "Se agregó con éxito %(name)s \"%(obj)s\"." + +#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:268 +#: contrib/admin/views/main.py:354 +msgid "You may edit it again below." +msgstr "Puede modificarlo nuevamente abajo." + +#: contrib/admin/views/auth.py:31 +msgid "Add user" +msgstr "Agregar usuario" + +#: contrib/admin/views/auth.py:58 +msgid "Password changed successfully." +msgstr "Cambio de contraseña exitoso" + +#: contrib/admin/views/auth.py:65 +#, python-format +msgid "Change password: %s" +msgstr "Cambiar contraseña: %s" + +#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:60 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Por favor introduzca un nombre de usuario y una contraseña correctos. Note " +"que ambos campos son sensibles a mayúsculas/minúsculas." + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"Por favor, identifíquese de nuevo porque su sesión ha caducado. No se " +"preocupe: se ha guardado su envío." + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Parece que su navegador no está configurado para aceptar cookies. Actívelas " +"por favor, recargue esta página, e inténtelo de nuevo." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Los nombres de usuario no pueden contener el carácter '@'." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "" +"Su dirección de correo no es su nombre de usuario. Intente nuevamente usando " +"'%s'." + #: contrib/admin/views/doc.py:47 contrib/admin/views/doc.py:49 #: contrib/admin/views/doc.py:51 msgid "tag:" @@ -1270,8 +902,8 @@ msgstr "Booleano (Verdadero o Falso)" #: contrib/admin/views/doc.py:294 contrib/admin/views/doc.py:313 #, python-format -msgid "String (up to %(maxlength)s)" -msgstr "Cadena (máximo %(maxlength)s)" +msgid "String (up to %(max_length)s)" +msgstr "Cadena (máximo %(max_length)s)" #: contrib/admin/views/doc.py:295 msgid "Comma-separated integers" @@ -1302,6 +934,10 @@ msgstr "Ruta de archivo" msgid "Floating point number" msgstr "Número de punto flotante" +#: contrib/admin/views/doc.py:306 contrib/comments/models.py:85 +msgid "IP address" +msgstr "Dirección IP" + #: contrib/admin/views/doc.py:308 msgid "Boolean (Either True, False or None)" msgstr "Booleano (Verdadero, Falso o Nulo)" @@ -1339,61 +975,6 @@ msgstr "Texto XML" msgid "%s does not appear to be a urlpattern object" msgstr "%s no parece ser un objeto urlpattern" -#: contrib/admin/views/decorators.py:24 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Identificarse" - -#: contrib/admin/views/decorators.py:62 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"Por favor, identifíquese de nuevo porque su sesión ha caducado. No se " -"preocupe: se ha guardado su envío." - -#: contrib/admin/views/decorators.py:69 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"Parece que su navegador no está configurado para aceptar cookies. Actívelas " -"por favor, recargue esta página, e inténtelo de nuevo." - -#: contrib/admin/views/decorators.py:83 -msgid "Usernames cannot contain the '@' character." -msgstr "Los nombres de usuario no pueden contener el carácter '@'." - -#: contrib/admin/views/decorators.py:85 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "" -"Su dirección de correo no es su nombre de usuario. Intente nuevamente usando " -"'%s'." - -#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:264 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "Se agregó con éxito %(name)s \"%(obj)s\"." - -#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:268 -#: contrib/admin/views/main.py:354 -msgid "You may edit it again below." -msgstr "Puede modificarlo nuevamente abajo." - -#: contrib/admin/views/auth.py:31 -msgid "Add user" -msgstr "Agregar usuario" - -#: contrib/admin/views/auth.py:58 -msgid "Password changed successfully." -msgstr "Cambio de contraseña exitoso" - -#: contrib/admin/views/auth.py:65 -#, python-format -msgid "Change password: %s" -msgstr "Cambiar contraseña: %s" - #: contrib/admin/views/main.py:230 msgid "Site administration" msgstr "Administración de sitio" @@ -1413,6 +994,12 @@ msgstr "Agregar %s" msgid "Added %s." msgstr "Agregado %s." +#: contrib/admin/views/main.py:342 contrib/admin/views/main.py:344 +#: contrib/admin/views/main.py:346 core/validators.py:283 +#: db/models/manipulators.py:309 +msgid "and" +msgstr "y" + #: contrib/admin/views/main.py:344 #, python-format msgid "Changed %s." @@ -1421,7 +1008,7 @@ msgstr "Modifica %s." #: contrib/admin/views/main.py:346 #, python-format msgid "Deleted %s." -msgstr "Elimina %s." +msgstr "Eliminó %s." #: contrib/admin/views/main.py:349 msgid "No fields changed." @@ -1482,670 +1069,692 @@ msgstr "Seleccione %s a modificar" msgid "Database error" msgstr "Error de base de datos" -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Documentation" -msgstr "Documentación" +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Los dos campos de contraseñas no coinciden entre si." -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin/auth/user/change_password.html:15 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -msgid "Change password" -msgstr "Cambiar contraseña" +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Ya existe un usuario con ese nombre." -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/invalid_setup.html:4 -#: contrib/admin/templates/admin/auth/user/change_password.html:12 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Home" -msgstr "Inicio" - -#: contrib/admin/templates/admin/change_list.html:12 -#, python-format -msgid "Add %(name)s" -msgstr "Agregar %(name)s" - -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Página no encontrada" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "Lo sentimos, pero no se encuentra la página solicitada." - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:21 -msgid "History" -msgstr "Historia" - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "Fecha/hora" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "Usuario" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "Acción" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "j M Y P" - -#: contrib/admin/templates/admin/object_history.html:36 +#: contrib/auth/forms.py:53 msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." msgstr "" -"Este objeto no tiene historia de modificaciones. Probablemente no fué " -"añadido usando este sitio de administración." +"Su navegador Web aparenta no tener cookies activas. Las cookies son un " +"requerimiento para poder ingresar." -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "Error del servidor" +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Esta cuenta está inactiva" -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "Error de servidor (500)" - -#: contrib/admin/templates/admin/500.html:10 +#: contrib/auth/forms.py:84 msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" msgstr "" -"Ha ocurrido un error. Se ha informado a los administradores del sitio " -"mediante correo electrónico y debería ser solucionado en breve. Gracias por " -"su paciencia." +"Esa dirección de e-mail no está asociada a ninguna cuenta de usuario. ¿Está " +"seguro de que ya se ha registrado?" -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "Sitio de administración de Django" +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Los dos campos 'nueva contraseña' no coinciden entre si." -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "Administración de Django" +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "" +"La antigua contraseña introducida es incorrecta. Por favor introdúzcala " +"nuevamente." -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(filter_title)s " -msgstr " Por %(filter_title)s " +#: contrib/auth/models.py:73 contrib/auth/models.py:93 +msgid "name" +msgstr "nombre" -#: contrib/admin/templates/admin/index.html:17 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "Modelos disponibles en la aplicación %(name)s." +#: contrib/auth/models.py:75 +msgid "codename" +msgstr "nombre en código" -#: contrib/admin/templates/admin/index.html:18 -#, python-format -msgid "%(name)s" -msgstr "%(name)s" +#: contrib/auth/models.py:78 +msgid "permission" +msgstr "permiso" -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "Agregar" +#: contrib/auth/models.py:79 contrib/auth/models.py:94 +msgid "permissions" +msgstr "permisos" -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "Modificar" +#: contrib/auth/models.py:97 +msgid "group" +msgstr "grupo" -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "No tiene permiso para editar nada." +#: contrib/auth/models.py:98 contrib/auth/models.py:141 +msgid "groups" +msgstr "grupos" -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "Acciones recientes" +#: contrib/auth/models.py:131 +msgid "username" +msgstr "nombre de usuario" -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "Mis acciones" +#: contrib/auth/models.py:131 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Requerido. Longitud máxima 30 caracteres alfanuméricos (letras, dígitos y " +"guiones bajos)." -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "Ninguna disponible" +#: contrib/auth/models.py:132 +msgid "first name" +msgstr "nombre" -#: contrib/admin/templates/admin/change_form.html:22 -msgid "View on site" -msgstr "Ver en el sitio" +#: contrib/auth/models.py:133 +msgid "last name" +msgstr "apellido" -#: contrib/admin/templates/admin/change_form.html:32 -#: contrib/admin/templates/admin/auth/user/change_password.html:24 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Por favor, corrija el siguiente error." -msgstr[1] "Por favor, corrija los siguientes errores." +#: contrib/auth/models.py:134 +msgid "e-mail address" +msgstr "dirección de correo" -#: contrib/admin/templates/admin/change_form.html:50 -msgid "Ordering" -msgstr "Ordenación" +#: contrib/auth/models.py:135 +msgid "password" +msgstr "contraseña" -#: contrib/admin/templates/admin/change_form.html:53 -msgid "Order:" -msgstr "Orden:" +#: contrib/auth/models.py:135 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Use '[algo]$[salt]$[hexdigest]' o use el formulario de " +"cambio de contraseña." -#: contrib/admin/templates/admin/pagination.html:10 -msgid "Show all" -msgstr "Mostrar todos/as" +#: contrib/auth/models.py:136 +msgid "staff status" +msgstr "es staff" -#: contrib/admin/templates/admin/base.html:25 -msgid "Welcome," -msgstr "Bienvenido," +#: contrib/auth/models.py:136 +msgid "Designates whether the user can log into this admin site." +msgstr "Indica si el usuario puede ingresar a este sitio de administración." -#: contrib/admin/templates/admin/submit_line.html:3 -#: contrib/admin/templates/admin/delete_confirmation.html:9 -msgid "Delete" -msgstr "Eliminar" +#: contrib/auth/models.py:137 +msgid "active" +msgstr "activo" -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "Grabar como nuevo" +#: contrib/auth/models.py:137 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Indica si el usuario puede ingresar al sitio de administración Django. " +"Desactive este campo en lugar de eliminar usuarios." -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "Grabar y añadir otro" +#: contrib/auth/models.py:138 +msgid "superuser status" +msgstr "es superusuario" -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "Grabar y continuar editando" +#: contrib/auth/models.py:138 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Indica que este usuario posee todos los permisos, sin que sea necesario " +"asignarle los mismos en forma explícita." -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "Grabar" +#: contrib/auth/models.py:139 +msgid "last login" +msgstr "último ingreso" -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Buscar" +#: contrib/auth/models.py:140 +msgid "date joined" +msgstr "fecha de creación" -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "1 result" -msgid_plural "%(counter)s results" -msgstr[0] "un resultado" -msgstr[1] "%(counter)s resultados" +#: contrib/auth/models.py:142 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Además de los permisos asignados manualmente, este usuario también poseerá " +"todos los permisos de los grupos a los que pertenezca." -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "%(full_result_count)s total" -msgstr "total: %(full_result_count)s" +#: contrib/auth/models.py:143 +msgid "user permissions" +msgstr "permisos de usuario" -#: contrib/admin/templates/admin/filters.html:4 -msgid "Filter" -msgstr "Filtrar" +#: contrib/auth/models.py:147 +msgid "user" +msgstr "usuario" -#: contrib/admin/templates/admin/delete_confirmation.html:14 +#: contrib/auth/models.py:148 +msgid "users" +msgstr "usuarios" + +#: contrib/auth/models.py:154 +msgid "Personal info" +msgstr "Información personal" + +#: contrib/auth/models.py:155 +msgid "Permissions" +msgstr "Permisos" + +#: contrib/auth/models.py:156 +msgid "Important dates" +msgstr "Fechas importantes" + +#: contrib/auth/models.py:157 +msgid "Groups" +msgstr "Grupos" + +#: contrib/auth/models.py:316 +msgid "message" +msgstr "mensaje" + +#: contrib/auth/views.py:47 +msgid "Logged out" +msgstr "Sesión cerrada" + +#: contrib/comments/models.py:67 contrib/comments/models.py:169 +msgid "object ID" +msgstr "ID de objeto" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "encabezado" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:170 +msgid "comment" +msgstr "comentario" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "calificación 1" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "calificación 2" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "calificación 3" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "calificación 4" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "calificación 5" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "calificación 6" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "calificación 7" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "calificación 8" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "es calificación válida" + +#: contrib/comments/models.py:83 contrib/comments/models.py:172 +msgid "date/time submitted" +msgstr "fecha/hora de envío" + +#: contrib/comments/models.py:84 contrib/comments/models.py:173 +msgid "is public" +msgstr "es público" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "se ha eliminado" + +#: 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 "" +"Marque esta caja si el comentario es inapropiado. En su lugar se mostrará un " +"mensaje \"Este comentario ha sido eliminado\"." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "comentarios" + +#: contrib/comments/models.py:134 contrib/comments/models.py:213 +msgid "Content object" +msgstr "Objeto contenido" + +#: contrib/comments/models.py:162 #, python-format msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " -"de objetos relacionados, pero su cuenta no tiene permiso para eliminar los " -"siguientes tipos de objetos:" - -#: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"¿Está seguro de que quiere eliminar los %(object_name)s \"%(escaped_object)s" -"\"? Se eliminarán los siguientes objetos relacionados:" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "Sí, estoy seguro" - -#: contrib/admin/templates/admin/invalid_setup.html:8 -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Hay algún problema con su instalación de base de datos. Asegúrese de que las " -"tablas de la misma hayan sido creadas, y asegúrese de que el usuario " -"apropiado tenga permisos de lectura en la base de datos." - -#: contrib/admin/templates/admin/auth/user/change_password.html:28 -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Introduzca una nueva contraseña para el usuario %(username)s." - -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/admin/templates/admin/auth/user/add_form.html:18 -msgid "Password" -msgstr "Contraseña:" - -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -#: contrib/admin/templates/admin/auth/user/add_form.html:23 -msgid "Password (again)" -msgstr "Contraseña (de nuevo)" - -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/admin/templates/admin/auth/user/add_form.html:24 -msgid "Enter the same password as above, for verification." -msgstr "Para verificación, introduzca la misma contraseña que ingresó arriba." - -#: contrib/admin/templates/admin/auth/user/add_form.html:6 -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Primero, introduzca un nombre de usuario y una contraseña. Luego podrá " -"configurar opciones adicionales." - -#: contrib/admin/templates/admin/auth/user/add_form.html:12 -msgid "Username" -msgstr "Nombre de usuario:" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "Actualmente" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "Modificar:" - -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "Fecha:" - -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "Hora:" - -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "Identificarse de nuevo" - -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 -#: contrib/admin/templates/registration/password_change_done.html:4 -msgid "Password change" -msgstr "Cambio de contraseña" - -#: contrib/admin/templates/registration/password_change_form.html:12 -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 "" -"Por favor, por razones de seguridad, introduzca su contraseña antigua, y " -"luego introduzca la nueva contraseña dos veces para verificar que la ha " -"escrito correctamente." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "Contraseña antigua:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "Contraseña nueva:" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "Confirme contraseña:" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "Cambiar mi contraseña" - -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:10 -msgid "Password reset" -msgstr "Recuperar contraseña" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "Recuperación de contraseña exitosa" - -#: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "" -"We've e-mailed a new password to the e-mail address you submitted. You " -"should be receiving it shortly." -msgstr "" -"Le hemos enviado una nueva contraseña a la dirección que ha suministrado. " -"Debería recibirla en breve." - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "" -"Está recibiendo este mensaje debido a que solicitó recuperar la contraseña" - -#: contrib/admin/templates/registration/password_reset_email.html:3 -#, python-format -msgid "for your user account at %(site_name)s" -msgstr "de su cuenta de usuario en %(site_name)s." - -#: contrib/admin/templates/registration/password_reset_email.html:5 -#, python-format -msgid "Your new password is: %(new_password)s" -msgstr "Su nueva contraseña es: %(new_password)s" - -#: contrib/admin/templates/registration/password_reset_email.html:7 -msgid "Feel free to change this password by going to this page:" -msgstr "Puede cambiarla accediendo a esta página:" - -#: contrib/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "Su nombre de usuario, en caso de haberlo olvidado:" - -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "¡Gracias por usar nuestro sitio!" - -#: contrib/admin/templates/registration/password_reset_email.html:15 -#, python-format -msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "Cambio de contraseña exitoso" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "Su contraseña ha sido cambiada." - -#: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "" -"Forgotten your password? Enter your e-mail address below, and we'll reset " -"your password and e-mail the new one to you." -msgstr "" -"¿Ha olvidado su contraseña? Introduzca su dirección de correo electrónico, y " -"crearemos una nueva que le enviaremos por correo." - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "Dirección de correo electrónico:" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "Recuperar mi contraseña" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "Bookmarklets" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "Bookmarklets de documentación" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 -msgid "" +"Posted by %(user)s at %(date)s\n" "\n" -"

To install bookmarklets, drag the link to your bookmarks\n" -"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" -"select the bookmarklet from any page in the site. Note that some of these\n" -"bookmarklets require you to be viewing the site from a computer designated\n" -"as \"internal\" (talk to your system administrator if you aren't sure if\n" -"your computer is \"internal\").

\n" -msgstr "" +"%(comment)s\n" "\n" -"

Para instalar bookmarklets, arrastre el enlace a su barra\n" -"de favoritos, o pulse con el botón derecho el enlace y añádalo a sus " -"favoritos.\n" -"Ahora puede seleccionar el bookmarklet desde cualquier página en el sitio.\n" -"Tenga en cuenta que algunos de estos bookmarklets precisan que esté viendo\n" -"el sitio desde un equipo señalado como \"interno\" (hable\n" -"con su administrador de sistemas si no está seguro de si el suyo lo es).\n" +"http://%(domain)s%(url)s" +msgstr "" +"Enviado por %(user)s el %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Documentación de esta página" +#: contrib/comments/models.py:171 +msgid "person's name" +msgstr "nombre de la persona" -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +#: contrib/comments/models.py:174 +msgid "ip address" +msgstr "dirección ip" + +#: contrib/comments/models.py:176 +msgid "approved by staff" +msgstr "aprobado por el staff" + +#: contrib/comments/models.py:179 +msgid "free comment" +msgstr "comentario libre" + +#: contrib/comments/models.py:180 +msgid "free comments" +msgstr "comentarios libres" + +#: contrib/comments/models.py:239 +msgid "score" +msgstr "puntuación" + +#: contrib/comments/models.py:240 +msgid "score date" +msgstr "fecha de la puntuación" + +#: contrib/comments/models.py:243 +msgid "karma score" +msgstr "punto karma" + +#: contrib/comments/models.py:244 +msgid "karma scores" +msgstr "puntos karma" + +#: contrib/comments/models.py:248 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "puntuado %(score)d por %(user)s" + +#: contrib/comments/models.py:264 +#, python-format msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" msgstr "" -"Le lleva desde cualquier página a la documentación de la vista que la genera." +"Este comentario fue marcado por %(user)s:\n" +"\n" +"%(text)s" -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Mostrar ID de objeto" +#: contrib/comments/models.py:271 +msgid "flag date" +msgstr "fecha de la marca" -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +#: contrib/comments/models.py:274 +msgid "user flag" +msgstr "marca de usuario" + +#: contrib/comments/models.py:275 +msgid "user flags" +msgstr "marcas de usuario" + +#: contrib/comments/models.py:279 +#, python-format +msgid "Flag by %r" +msgstr "Marca de %r" + +#: contrib/comments/models.py:284 +msgid "deletion date" +msgstr "fecha de eliminación" + +#: contrib/comments/models.py:286 +msgid "moderator deletion" +msgstr "Eliminación por moderador" + +#: contrib/comments/models.py:287 +msgid "moderator deletions" +msgstr "eliminaciones por moderador" + +#: contrib/comments/models.py:291 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Eliminación del moderador %r" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Olvidó su contraseña?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Calificaciones" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Requerido" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Opcional" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Enviar una foto" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Comentario:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Previsualizar comentario" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Su nombre:" + +#: contrib/comments/views/comments.py:28 msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "" -"Muestra el tipo de contenido e ID unívoco de las páginas que representan un " -"único objeto." +"This rating is required because you've entered at least one other rating." +msgstr "Se precisa esta puntuación porque ha introducido al menos otra más." -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Editar este objeto (ventana actual)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" -"Le lleva a la página de administración de páginas que representan un único " -"objeto." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Editar este objeto (nueva ventana)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "" -"Como antes, pero abre la página de administración en una nueva ventana." - -#: contrib/admin/templatetags/admin_list.py:254 -msgid "All dates" -msgstr "Todas las fechas" - -#: contrib/localflavor/is_/forms.py:17 +#: contrib/comments/views/comments.py:112 +#, python-format msgid "" -"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +msgid_plural "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comments:\n" +"\n" +"%(text)s" +msgstr[0] "" +"Este comentario lo envió un usuario que ha enviado menos de %(count)s " +"comentario:\n" +"\n" +"%(text)s" +msgstr[1] "" +"Este comentario lo envió un usuario que ha enviado menos de %(count)s " +"comentarios:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:117 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" msgstr "" -"Introduzca un número de identificación islandés válido. El formato es XXXXXX-" -"XXXX." +"Este comentario ha sido enviado por un usuario 'semi-anónimo':\n" +"\n" +"%(text)s" -#: contrib/localflavor/is_/forms.py:31 -msgid "The Icelandic identification number is not valid." -msgstr "El número de identificación islandés no es válido." +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 +msgid "Only POSTs are allowed" +msgstr "Sólo se admiten POSTs" -#: contrib/localflavor/fi/forms.py:14 contrib/localflavor/de/forms.py:16 -#: contrib/localflavor/fr/forms.py:17 -msgid "Enter a zip code in the format XXXXX." -msgstr "Introduzca un zip code en formato XXXXX." +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 +msgid "One or more of the required fields wasn't submitted" +msgstr "No se proporcionó uno o más de los siguientes campos requeridos" -#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 -msgid "Enter a valid Finnish social security number." -msgstr "Introduzca un número de seguridad social finlandés válido." +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "" +"Alguien está jugando con el formulario de comentarios (violación de " +"seguridad)" -#: contrib/localflavor/br/forms.py:18 -msgid "Enter a zip code in the format XXXXX-XXX." -msgstr "Introduzca un zip code en formato XXXXX-XXX." +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "" +"El formulario de comentarios tiene un parámetro 'target' no válido (el ID de " +"objeto era inválido)" -#: contrib/localflavor/br/forms.py:30 -msgid "Phone numbers must be in XX-XXXX-XXXX format." -msgstr "Los números telefónicos deben respetar el formato XX-XXXX-XXXX." +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "El formulario de comentario no proporcionó 'previsualizar' ni 'enviar'" -#: contrib/localflavor/br/forms.py:72 +#: contrib/comments/views/karma.py:21 +msgid "Anonymous users cannot vote" +msgstr "Los usuarios anónimos no pueden votar" + +#: contrib/comments/views/karma.py:25 +msgid "Invalid comment ID" +msgstr "ID de comentario no válido" + +#: contrib/comments/views/karma.py:27 +msgid "No voting for yourself" +msgstr "Ud. no puede votarse a sí mismo" + +#: contrib/contenttypes/models.py:37 +msgid "python model class name" +msgstr "nombre de la clase python del modelo" + +#: contrib/contenttypes/models.py:40 +msgid "content type" +msgstr "tipo de contenido" + +#: contrib/contenttypes/models.py:41 +msgid "content types" +msgstr "tipos de contenido" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Ejemplo: '/about/contact/'. Asegúrese de usar barras '/' al principio y al " +"final." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "título" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "contenido" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "activar comentarios" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "nombre de plantilla" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Ejemplo: 'flatpages/contact_page.html'. Si no lo proporciona, el sistema " +"usará 'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "debe estar registrado" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Si está marcado, sólo los usuarios registrados podrán ver la página." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "página estática" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "páginas estáticas" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "th" +msgstr "th" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "st" +msgstr "st" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "nd" +msgstr "nd" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "rd" +msgstr "rd" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "%(value).1f millón" +msgstr[1] "%(value).1f millones" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "%(value).1f millardo" +msgstr[1] "%(value).1f millardos" + +#: contrib/humanize/templatetags/humanize.py:56 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "%(value).1f billón" +msgstr[1] "%(value).1f billones" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "one" +msgstr "uno" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "two" +msgstr "dos" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "three" +msgstr "tres" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "four" +msgstr "cuatro" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "five" +msgstr "cinco" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "six" +msgstr "seis" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "seven" +msgstr "siete" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "eight" +msgstr "ocho" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "nine" +msgstr "nueve" + +#: contrib/humanize/templatetags/humanize.py:90 +msgid "today" +msgstr "hoy" + +#: contrib/humanize/templatetags/humanize.py:92 +msgid "tomorrow" +msgstr "mañana" + +#: contrib/humanize/templatetags/humanize.py:94 +msgid "yesterday" +msgstr "ayer" + +#: contrib/localflavor/ar/forms.py:30 contrib/localflavor/ar/forms.py:38 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "Introduzca un código postal en formato NNNN o ANNNNAAA." + +#: contrib/localflavor/ar/forms.py:61 contrib/localflavor/br/forms.py:103 +#: contrib/localflavor/pe/forms.py:34 contrib/localflavor/pe/forms.py:57 msgid "This field requires only numbers." msgstr "Este campo permite sólo valores numéricos." -#: contrib/localflavor/br/forms.py:74 +#: contrib/localflavor/ar/forms.py:64 +msgid "This field requires 7 or 8 digits." +msgstr "Este campo requiere 7 u 8 dígitos." + +#: contrib/localflavor/ar/forms.py:75 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "Introduzca un CUIT válido en formato XX-XXXXXXXX-X o XXXXXXXXXXX." + +#: contrib/localflavor/ar/forms.py:88 +msgid "Invalid CUIT." +msgstr "CUIT inválido." + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "Introduzca un post code de 4 dígitos." + +#: contrib/localflavor/br/forms.py:23 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "Introduzca un zip code en formato XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:35 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Los números telefónicos deben respetar el formato XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:68 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" +"Seleccione un estado Brasileño válido. Ese estado no es uno de los estados " +"disponibles." + +#: contrib/localflavor/br/forms.py:105 msgid "This field requires at most 11 digits or 14 characters." msgstr "Este campo requiere como máximo 11 dígitos o 14 caracteres." -#: contrib/localflavor/br/forms.py:84 +#: contrib/localflavor/br/forms.py:115 msgid "Invalid CPF number." msgstr "Número CPF inválido." -#: contrib/localflavor/br/forms.py:106 +#: contrib/localflavor/br/forms.py:137 msgid "This field requires at least 14 digits" msgstr "Este campo requiere al menos 14 dígitos." -#: contrib/localflavor/br/forms.py:116 +#: contrib/localflavor/br/forms.py:147 msgid "Invalid CNPJ number." msgstr "Número CNPJ inválido." -#: contrib/localflavor/it/forms.py:16 -msgid "Enter a valid zip code." -msgstr "Introduzca un zip code válido." +#: contrib/localflavor/ca/forms.py:19 +msgid "Enter a postal code in the format XXX XXX." +msgstr "Introduzca un código postal en formato XXX XXX." -#: contrib/localflavor/it/forms.py:41 -msgid "Enter a valid Social Security number." -msgstr "Introduzca un número de Seguridad Social válido." - -#: contrib/localflavor/it/forms.py:68 -msgid "Enter a valid VAT number." -msgstr "Introduzca un número VAT válido." - -#: contrib/localflavor/de/de_states.py:5 -msgid "Baden-Wuerttemberg" -msgstr "Baden-Wuerttemberg" - -#: contrib/localflavor/de/de_states.py:6 -msgid "Bavaria" -msgstr "Bavaria" - -#: contrib/localflavor/de/de_states.py:7 -msgid "Berlin" -msgstr "Berlin" - -#: contrib/localflavor/de/de_states.py:8 -msgid "Brandenburg" -msgstr "Brandenburg" - -#: contrib/localflavor/de/de_states.py:9 -msgid "Bremen" -msgstr "Bremen" - -#: contrib/localflavor/de/de_states.py:10 -msgid "Hamburg" -msgstr "Hamburg" - -#: contrib/localflavor/de/de_states.py:11 -msgid "Hessen" -msgstr "Hessen" - -#: contrib/localflavor/de/de_states.py:12 -msgid "Mecklenburg-Western Pomerania" -msgstr "Mecklenburg-Western Pomerania" - -#: contrib/localflavor/de/de_states.py:13 -msgid "Lower Saxony" -msgstr "Lower Saxony" - -#: contrib/localflavor/de/de_states.py:14 -msgid "North Rhine-Westphalia" -msgstr "North Rhine-Westphalia" - -#: contrib/localflavor/de/de_states.py:15 -msgid "Rhineland-Palatinate" -msgstr "Rhineland-Palatinate" - -#: contrib/localflavor/de/de_states.py:16 -msgid "Saarland" -msgstr "Saarland" - -#: contrib/localflavor/de/de_states.py:17 -msgid "Saxony" -msgstr "Saxony" - -#: contrib/localflavor/de/de_states.py:18 -msgid "Saxony-Anhalt" -msgstr "Saxony-Anhalt" - -#: contrib/localflavor/de/de_states.py:19 -msgid "Schleswig-Holstein" -msgstr "Schleswig-Holstein" - -#: contrib/localflavor/de/de_states.py:20 -msgid "Thuringia" -msgstr "Thuringia" - -#: contrib/localflavor/de/forms.py:60 -msgid "" -"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " -"format." -msgstr "" -"Introduzca un número de tarjeta de identidad alemán válido en formato " -"XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." - -#: contrib/localflavor/uk/forms.py:18 -msgid "Enter a postcode. A space is required between the two postcode parts." -msgstr "" -"Introduzca un postcode. Se requiere un espacio entre las dos secciones del " -"mismo." - -#: contrib/localflavor/cl/forms.py:32 -msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." -msgstr "Introduzca un RUT chileno válido. EL formato es XX.XXX.XXX-X." - -#: contrib/localflavor/cl/forms.py:37 -msgid "Enter valid a Chilean RUT" -msgstr "Introduzca un RUT chileno válido." - -#: contrib/localflavor/ch/forms.py:18 contrib/localflavor/no/forms.py:14 -msgid "Enter a zip code in the format XXXX." -msgstr "Introduzca un zip code en formato XXX." - -#: contrib/localflavor/ch/forms.py:90 -msgid "" -"Enter a valid Swiss identity or passport card number in X1234567<0 or " -"1234567890 format." -msgstr "" -"Introduzca un número válido de tarjeta de identidad o pasaporte Suizos en " -"formato X1234567<0 o 1234567890." +#: contrib/localflavor/ca/forms.py:81 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format." +msgstr "Introduzca un Número de Seguridad Social Canadiense en formato XXX-XXX-XXXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -2251,17 +1860,137 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/us/forms.py:18 -msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." -msgstr "Introduzca un zip code en el formato XXXXX o XXXXX-XXXX." +#: contrib/localflavor/ch/forms.py:18 contrib/localflavor/no/forms.py:14 +msgid "Enter a zip code in the format XXXX." +msgstr "Introduzca un zip code en formato XXX." -#: contrib/localflavor/us/forms.py:51 -msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." -msgstr "Introduzca un Número de Seguridad Social en formato XXX-XX-XXXX." +#: contrib/localflavor/ch/forms.py:90 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Introduzca un número válido de tarjeta de identidad o pasaporte Suizos en " +"formato X1234567<0 o 1234567890." -#: contrib/localflavor/au/forms.py:18 -msgid "Enter a 4 digit post code." -msgstr "Introduzca un post code de 4 dígitos." +#: contrib/localflavor/cl/forms.py:32 +msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Introduzca un RUT chileno válido. EL formato es XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:37 +msgid "Enter valid a Chilean RUT" +msgstr "Introduzca un RUT chileno válido." + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "Baden-Wuerttemberg" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "Bavaria" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "Berlin" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "Brandenburg" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "Bremen" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "Hamburg" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "Hessen" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "Mecklenburg-Western Pomerania" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "Lower Saxony" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "North Rhine-Westphalia" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "Rhineland-Palatinate" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "Saarland" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "Saxony" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "Saxony-Anhalt" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "Schleswig-Holstein" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "Thuringia" + +#: contrib/localflavor/de/forms.py:16 contrib/localflavor/fi/forms.py:14 +#: contrib/localflavor/fr/forms.py:17 +msgid "Enter a zip code in the format XXXXX." +msgstr "Introduzca un zip code en formato XXXXX." + +#: contrib/localflavor/de/forms.py:60 +msgid "" +"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " +"format." +msgstr "" +"Introduzca un número de tarjeta de identidad alemán válido en formato " +"XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." + +#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +msgid "Enter a valid Finnish social security number." +msgstr "Introduzca un número de seguridad social finlandés válido." + +#: contrib/localflavor/in_/forms.py:16 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Introduzca un zip code en formato XXXXXXX." + +#: contrib/localflavor/is_/forms.py:17 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" +"Introduzca un número de identificación islandés válido. El formato es XXXXXX-" +"XXXX." + +#: contrib/localflavor/is_/forms.py:31 +msgid "The Icelandic identification number is not valid." +msgstr "El número de identificación islandés no es válido." + +#: contrib/localflavor/it/forms.py:16 +msgid "Enter a valid zip code." +msgstr "Introduzca un zip code válido." + +#: contrib/localflavor/it/forms.py:41 +msgid "Enter a valid Social Security number." +msgstr "Introduzca un número de Seguridad Social válido." + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "Introduzca un número VAT válido." + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "Introduzca un código postal en formato XXXXXX o XXX-XXXX." #: contrib/localflavor/jp/jp_prefectures.py:4 msgid "Hokkaido" @@ -2451,165 +2180,526 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" -#: contrib/localflavor/jp/forms.py:21 -msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." -msgstr "Introduzca un código postal en formato XXXXXX o XXX-XXXX." +#: contrib/localflavor/nl/forms.py:25 +msgid "Enter a valid postal code" +msgstr "Introduzca un código postal válido." + +#: contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "Introduzca un número telefónico válido." + +#: contrib/localflavor/nl/forms.py:76 +msgid "Enter a valid SoFi number" +msgstr "Introduzca un número SoFi válido." + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drente" +msgstr "Drente" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "Flevolanda" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "Frisia" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "Güeldres" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "Groninga" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "Limburgo" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "Brabante Septentrional" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "Holanda Septentrional" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "Overijssel" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "Utrecht" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "Zelanda" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "Holanda Meridional" #: contrib/localflavor/no/forms.py:35 msgid "Enter a valid Norwegian social security number." msgstr "Introduzca un número de seguridad social Noruego válido." -#: contrib/contenttypes/models.py:37 -msgid "python model class name" -msgstr "nombre de la clase python del modelo" +#: contrib/localflavor/pe/forms.py:36 +msgid "This field requires 8 digits." +msgstr "Este campo requiere 8 dígitos." -#: contrib/contenttypes/models.py:40 -msgid "content type" -msgstr "tipo de contenido" +#: contrib/localflavor/pe/forms.py:59 +msgid "This field requires 11 digits." +msgstr "Este campo requiere 11 dígitos." -#: contrib/contenttypes/models.py:41 -msgid "content types" -msgstr "tipos de contenido" +#: contrib/localflavor/pl/forms.py:53 +msgid "National Identification Number consists of 11 digits." +msgstr "Los Números Nacionales de Identificación constan de 11 dígitos." -#: contrib/flatpages/models.py:8 +#: contrib/localflavor/pl/forms.py:59 +msgid "Wrong checksum for the National Identification Number." +msgstr "Código de verificación de Número Nacional de Identificación inválido." + +#: contrib/localflavor/pl/forms.py:71 msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." msgstr "" -"Ejemplo: '/about/contact/'. Asegúrese de usar barras '/' al principio y al " -"final." +"Introduzca un campo de número impositivo en formato XXX-XXX-XX-XX o XX-XX-" +"XXX-XXX." -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "título" +#: contrib/localflavor/pl/forms.py:82 +msgid "Enter a postal code in the format XX-XXX." +msgstr "Introduzca un código postal en formato XX-XXX." -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "contenido" +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "Baja Silesia" -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "activar comentarios" +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "Cuyavia y Pomerania" -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "nombre de plantilla" +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "Lublin" -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " -"will use 'flatpages/default.html'." +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "Lubus" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "Lodz" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "Pequeña Polonia" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "Masovia" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "Opole" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "Subcarpacia" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "Podlaquia" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "Pomerania" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "Silesia" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "Swietokrzyskie" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "Varmia y Masuria" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "Gran Polonia" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "Pomerania Occidental" + +#: contrib/localflavor/sk/forms.py:32 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Introduzca un código postal en formato XXXXX o XXX XX." + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr "Banska Bystrica" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "Banska Stiavnica" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "Bardejov" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "Banovce nad Bebravou" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "Brezno" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "Bratislava I" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "Bratislava II" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "Bratislava III" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "Bratislava IV" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "Bratislava V" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "Bytca" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "Cadca" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "Detva" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "Dolny Kubin" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "Dunajska Streda" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "Galanta" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "Gelnica" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "Hlohovec" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "Humenne" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "Ilava" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "Kezmarok" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "Komarno" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "Kosice I" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "Kosice II" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "Kosice III" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "Kosice IV" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "Kosice - okolie" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "Krupina" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "Kysucke Nove Mesto" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "Levice" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "Levoca" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "Liptovsky Mikulas" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "Lucenec" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "Malacky" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "Martin" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "Medzilaborce" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "Michalovce" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "Myjava" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "Namestovo" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "Nitra" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "Nove Mesto nad Vahom" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "Nove Zamky" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "Partizanske" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "Pezinok" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "Piestany" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "Poltar" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "Poprad" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "Povazska Bystrica" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "Presov" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "Prievidza" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "Puchov" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "Revuca" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "Rimavska Sobota" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "Roznava" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "Ruzomberok" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "Sabinov" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "Senec" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "Senica" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "Skalica" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "Snina" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "Sobrance" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "Spisska Nova Ves" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "Stara Lubovna" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "Stropkov" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "Svidnik" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "Sala" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "Topolcany" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "Trebisov" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "Trencin" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "Trnava" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "Turcianske Teplice" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "Tvrdosin" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "Velky Krtis" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "Vranov nad Toplou" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "Zlate Moravce" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "Zvolen" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "Zarnovica" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "Ziar nad Hronom" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "Zilina" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "region Banska Bystrica" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "region Bratislava" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "region Kosice" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "region Nitra" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "region Presov" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "region Trencin" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "region Trnava" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "region Zilina" + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." msgstr "" -"Ejemplo: 'flatpages/contact_page.html'. Si no lo proporciona, el sistema " -"usará 'flatpages/default.html'." +"Introduzca un postcode. Se requiere un espacio entre las dos secciones del " +"mismo." -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "debe estar registrado" +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "Introduzca un zip code en el formato XXXXX o XXXXX-XXXX." -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Si está marcado, sólo los usuarios registrados podrán ver la página." - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "página estática" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "páginas estáticas" - -#: contrib/sessions/models.py:68 -msgid "session key" -msgstr "clave de sesión" - -#: contrib/sessions/models.py:69 -msgid "session data" -msgstr "datos de sesión" - -#: contrib/sessions/models.py:70 -msgid "expire date" -msgstr "fecha de caducidad" - -#: contrib/sessions/models.py:74 -msgid "session" -msgstr "sesión" - -#: contrib/sessions/models.py:75 -msgid "sessions" -msgstr "sesiones" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "th" -msgstr "th" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "st" -msgstr "st" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "nd" -msgstr "nd" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "rd" -msgstr "rd" - -#: contrib/humanize/templatetags/humanize.py:47 -#, python-format -msgid "%(value).1f million" -msgid_plural "%(value).1f million" -msgstr[0] "%(value).1f millón" -msgstr[1] "%(value).1f millones" - -#: contrib/humanize/templatetags/humanize.py:50 -#, python-format -msgid "%(value).1f billion" -msgid_plural "%(value).1f billion" -msgstr[0] "%(value).1f millardo" -msgstr[1] "%(value).1f millardos" - -#: contrib/humanize/templatetags/humanize.py:53 -#, python-format -msgid "%(value).1f trillion" -msgid_plural "%(value).1f trillion" -msgstr[0] "%(value).1f billón" -msgstr[1] "%(value).1f billones" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "one" -msgstr "uno" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "two" -msgstr "dos" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "three" -msgstr "tres" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "four" -msgstr "cuatro" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "five" -msgstr "cinco" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "six" -msgstr "seis" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "seven" -msgstr "siete" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "eight" -msgstr "ocho" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "nine" -msgstr "nueve" +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "Introduzca un Número de Seguridad Social en formato XXX-XX-XXXX." #: contrib/redirects/models.py:7 msgid "redirect from" @@ -2643,11 +2733,47 @@ msgstr "redirección" msgid "redirects" msgstr "redirecciones" -#: core/validators.py:71 +#: contrib/sessions/models.py:80 +msgid "session key" +msgstr "clave de sesión" + +#: contrib/sessions/models.py:81 +msgid "session data" +msgstr "datos de sesión" + +#: contrib/sessions/models.py:82 +msgid "expire date" +msgstr "fecha de caducidad" + +#: contrib/sessions/models.py:87 +msgid "session" +msgstr "sesión" + +#: contrib/sessions/models.py:88 +msgid "sessions" +msgstr "sesiones" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "nombre de dominio" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "nombre para visualizar" + +#: contrib/sites/models.py:37 +msgid "site" +msgstr "sitio" + +#: contrib/sites/models.py:38 +msgid "sites" +msgstr "sitios" + +#: core/validators.py:72 msgid "This value must contain only letters, numbers and underscores." msgstr "Este valor debe contener sólo letras, números y guiones bajos." -#: core/validators.py:75 +#: core/validators.py:76 msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." @@ -2655,69 +2781,83 @@ msgstr "" "Este valor debe contener sólo letras, números, guiones bajos, guiones o " "barras (/)" -#: core/validators.py:79 +#: core/validators.py:80 msgid "This value must contain only letters, numbers, underscores or hyphens." msgstr "" "Este valor debe contener sólo letras, números, guiones bajos o guiones." -#: core/validators.py:83 +#: core/validators.py:84 msgid "Uppercase letters are not allowed here." msgstr "No se admiten letras mayúsculas." -#: core/validators.py:87 +#: core/validators.py:88 msgid "Lowercase letters are not allowed here." msgstr "No se admiten letras minúsculas." -#: core/validators.py:94 +#: core/validators.py:95 msgid "Enter only digits separated by commas." msgstr "Introduzca sólo dígitos separados por comas." -#: core/validators.py:106 +#: core/validators.py:107 msgid "Enter valid e-mail addresses separated by commas." msgstr "Introduzca direcciones de correo válidas separadas por comas." -#: core/validators.py:110 +#: core/validators.py:111 msgid "Please enter a valid IP address." msgstr "Por favor introduzca una dirección IP válida." -#: core/validators.py:114 +#: core/validators.py:115 msgid "Empty values are not allowed here." msgstr "No se admiten valores vacíos." -#: core/validators.py:118 +#: core/validators.py:119 msgid "Non-numeric characters aren't allowed here." msgstr "No se admiten caracteres no numéricos." -#: core/validators.py:122 +#: core/validators.py:123 msgid "This value can't be comprised solely of digits." msgstr "Este valor no puede estar formado sólo por dígitos." -#: core/validators.py:127 newforms/fields.py:141 +#: core/validators.py:128 newforms/fields.py:149 msgid "Enter a whole number." msgstr "Introduzca un número entero." -#: core/validators.py:131 +#: core/validators.py:132 msgid "Only alphabetical characters are allowed here." msgstr "Sólo se admiten caracteres alfabéticos." -#: core/validators.py:146 +#: core/validators.py:147 msgid "Year must be 1900 or later." msgstr "El año debe ser 1900 o posterior." -#: core/validators.py:150 +#: core/validators.py:151 #, python-format msgid "Invalid date: %s" msgstr "Fecha no válida: %s" -#: core/validators.py:160 +#: core/validators.py:156 db/models/fields/__init__.py:505 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Introduzca una fecha válida en formato AAAA-MM-DD." + +#: core/validators.py:161 msgid "Enter a valid time in HH:MM format." msgstr "Introduzca una hora válida en formato HH:MM." -#: core/validators.py:169 newforms/fields.py:335 +#: core/validators.py:165 db/models/fields/__init__.py:579 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Introduzca una fecha/hora válida en formato AAAA-MM-DD HH:MM." + +#: core/validators.py:170 newforms/fields.py:343 msgid "Enter a valid e-mail address." msgstr "Introduzca una dirección de correo electrónico válida" -#: core/validators.py:185 +#: core/validators.py:182 core/validators.py:474 newforms/fields.py:377 +#: oldforms/__init__.py:686 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "" +"No se envió un archivo. Verifique el tipo de codificación en el formulario." + +#: core/validators.py:193 newforms/fields.py:405 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -2725,28 +2865,28 @@ msgstr "" "Envíe una imagen válida. El archivo que ha enviado no era una imagen o se " "trataba de una imagen corrupta." -#: core/validators.py:192 +#: core/validators.py:200 #, python-format msgid "The URL %s does not point to a valid image." msgstr "La URL %s no apunta a una imagen válida." -#: core/validators.py:196 +#: core/validators.py:204 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "" "Los números telefónicos deben respetar el formato XXX-XXX-XXXX. \"%s\" no es " "válido." -#: core/validators.py:204 +#: core/validators.py:212 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "La URL %s no apunta a un vídeo QuickTime válido." -#: core/validators.py:208 +#: core/validators.py:216 msgid "A valid URL is required." msgstr "Se precisa una URL válida." -#: core/validators.py:222 +#: core/validators.py:230 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -2755,84 +2895,84 @@ msgstr "" "Se precisa HTML válido. Los errores específicos son:\n" "%s" -#: core/validators.py:229 +#: core/validators.py:237 #, python-format msgid "Badly formed XML: %s" msgstr "XML mal formado: %s" -#: core/validators.py:246 +#: core/validators.py:254 #, python-format msgid "Invalid URL: %s" msgstr "URL no válida: %s" -#: core/validators.py:251 core/validators.py:253 +#: core/validators.py:259 core/validators.py:261 #, python-format msgid "The URL %s is a broken link." msgstr "La URL %s es un enlace roto." -#: core/validators.py:259 +#: core/validators.py:267 msgid "Enter a valid U.S. state abbreviation." msgstr "Introduzca una abreviatura válida de estado de los EE.UU." -#: core/validators.py:273 +#: core/validators.py:281 #, 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] "¡Vigila tu boca! Aquí no admitimos la palabra %s." msgstr[1] "¡Vigila tu boca! Aquí no admitimos las palabras %s." -#: core/validators.py:280 +#: core/validators.py:288 #, python-format msgid "This field must match the '%s' field." msgstr "Este campo debe concordar con el campo '%s'." -#: core/validators.py:299 +#: core/validators.py:307 msgid "Please enter something for at least one field." msgstr "Por favor, introduzca algo en al menos un campo." -#: core/validators.py:308 core/validators.py:319 +#: core/validators.py:316 core/validators.py:327 msgid "Please enter both fields or leave them both empty." msgstr "Por favor, rellene ambos campos o deje ambos vacíos." -#: core/validators.py:327 +#: core/validators.py:335 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "Se debe proporcionar este campo si %(field)s es %(value)s" -#: core/validators.py:340 +#: core/validators.py:348 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "Se debe proporcionar este campo si %(field)s no es %(value)s" -#: core/validators.py:359 +#: core/validators.py:367 msgid "Duplicate values are not allowed." msgstr "No se admiten valores duplicados." -#: core/validators.py:374 +#: core/validators.py:382 #, python-format msgid "This value must be between %(lower)s and %(upper)s." msgstr "Este valor debe estar entre %(lower)s y %(upper)s." -#: core/validators.py:376 +#: core/validators.py:384 #, python-format msgid "This value must be at least %s." msgstr "Este valor debe ser al menos %s." -#: core/validators.py:378 +#: core/validators.py:386 #, python-format msgid "This value must be no more than %s." msgstr "Este valor debe ser no mayor que %s." -#: core/validators.py:414 +#: core/validators.py:427 #, python-format msgid "This value must be a power of %s." msgstr "Este valor debe ser una potencia de %s." -#: core/validators.py:424 +#: core/validators.py:437 msgid "Please enter a valid decimal number." msgstr "Por favor, introduzca un número decimal válido." -#: core/validators.py:431 +#: core/validators.py:444 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "" @@ -2844,7 +2984,7 @@ msgstr[1] "" "Por favor, introduzca un número decimal válido con un maximo de %s dígitos " "en total." -#: core/validators.py:434 +#: core/validators.py:447 #, python-format msgid "" "Please enter a valid decimal number with a whole part of at most %s digit." @@ -2857,7 +2997,7 @@ msgstr[1] "" "Por favor, introduzca un número decimal válido con un máximo de %s dígitos " "enteros." -#: core/validators.py:437 +#: core/validators.py:450 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." msgid_plural "" @@ -2869,36 +3009,36 @@ msgstr[1] "" "Por favor, introduzca un número decimal válido con un máximo de %s " "posiciones decimales." -#: core/validators.py:445 +#: core/validators.py:458 msgid "Please enter a valid floating point number." msgstr "Por favor introduzca un número de punto flotante válido." -#: core/validators.py:454 +#: core/validators.py:467 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." msgstr "" "Asegúrese de que el archivo que envía es de un tamaño mínimo de %s bytes." -#: core/validators.py:455 +#: core/validators.py:468 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." msgstr "" "Asegúrese de que el archivo que envía es de un tamaño máximo de %s bytes." -#: core/validators.py:472 +#: core/validators.py:485 msgid "The format for this field is wrong." msgstr "El formato de este campo es incorrecto." -#: core/validators.py:487 +#: core/validators.py:500 msgid "This field is invalid." msgstr "Este campo no es válido." -#: core/validators.py:523 +#: core/validators.py:536 #, python-format msgid "Could not retrieve anything from %s." msgstr "No se pudo obtener nada de %s." -#: core/validators.py:526 +#: core/validators.py:539 #, python-format msgid "" "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." @@ -2906,7 +3046,7 @@ msgstr "" "La URL %(url)s devolvió la cabecera Content-Type '%(contenttype)s', que no " "es válida." -#: core/validators.py:559 +#: core/validators.py:572 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " @@ -2915,7 +3055,7 @@ msgstr "" "Por favor, cierre la etiqueta %(tag)s de la línea %(line)s. (La línea " "empieza con \"%(start)s\".)" -#: core/validators.py:563 +#: core/validators.py:576 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " @@ -2924,7 +3064,7 @@ msgstr "" "Parte del texto que comienza en la línea %(line)s no está permitido en ese " "contexto. (La línea empieza con \"%(start)s\".)" -#: core/validators.py:568 +#: core/validators.py:581 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" @@ -2933,7 +3073,7 @@ msgstr "" "El \"%(attr)s\" de la línea %(line)s no es un atributo válido. (La línea " "empieza con \"%(start)s\".)" -#: core/validators.py:573 +#: core/validators.py:586 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" @@ -2942,7 +3082,7 @@ msgstr "" "La \"<%(tag)s>\" de la línea %(line)s no es una etiqueta válida. (La línea " "empieza con \"%(start)s\".)" -#: core/validators.py:577 +#: core/validators.py:590 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " @@ -2951,7 +3091,7 @@ msgstr "" "A una etiqueta de la línea %(line)s le faltan uno o más atributos " "requeridos. (La línea empieza con \"%(start)s\".)" -#: core/validators.py:582 +#: core/validators.py:595 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " @@ -2960,111 +3100,517 @@ msgstr "" "El atributo \"%(attr)s\" de la línea %(line)s tiene un valor que no es " "válido. (La línea empieza con \"%(start)s\".)" -#: newforms/fields.py:116 +#: db/models/manipulators.py:308 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "Ya existe un(a) %(object)s con este/a %(type)s para %(field)s." + +#: db/models/fields/__init__.py:52 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "Ya existe %(optname)s con este %(fieldname)s." + +#: db/models/fields/__init__.py:159 db/models/fields/__init__.py:316 +#: db/models/fields/__init__.py:731 db/models/fields/__init__.py:742 +#: newforms/fields.py:93 newforms/fields.py:513 newforms/fields.py:589 +#: newforms/fields.py:600 newforms/models.py:193 oldforms/__init__.py:373 +msgid "This field is required." +msgstr "Este campo es obligatorio." + +#: db/models/fields/__init__.py:414 +msgid "This value must be an integer." +msgstr "Este valor debe ser un número entero." + +#: db/models/fields/__init__.py:450 +msgid "This value must be either True or False." +msgstr "Este valor debe ser True o False." + +#: db/models/fields/__init__.py:471 +msgid "This field cannot be null." +msgstr "Este campo no puede ser nulo." + +#: db/models/fields/__init__.py:640 +msgid "This value must be a decimal number." +msgstr "Este valor debe ser un número decimal." + +#: db/models/fields/__init__.py:751 +msgid "Enter a valid filename." +msgstr "Introduzca un nombre de archivo válido." + +#: db/models/fields/__init__.py:900 +msgid "This value must be either None, True or False." +msgstr "Este valor debe ser None, True o False." + +#: db/models/fields/related.py:55 +#, python-format +msgid "Please enter a valid %s." +msgstr "Por favor, introduzca un %s válido." + +#: db/models/fields/related.py:658 +msgid "Separate multiple IDs with commas." +msgstr "Separe múltiples identificadores con comas." + +#: db/models/fields/related.py:660 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Mantenga presionada \"Control\" (\"Command\" en una Mac) para seleccionar " +"más de uno." + +#: db/models/fields/related.py:707 +#, 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] "" +"Por favor, introduzca IDs de %(self)s válidos. El valor %(value)r no es " +"válido." +msgstr[1] "" +"Por favor, introduzca IDs de %(self)s válidos. Los valores %(value)r no son " +"válidos." + +#: newforms/fields.py:123 #, python-format msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "Asegúrese de que este valor tenga como máximo %(max)d caracteres (tiene %(length)d)." +msgstr "" +"Asegúrese de que este valor tenga como máximo %(max)d caracteres (tiene %" +"(length)d)." -#: newforms/fields.py:118 +#: newforms/fields.py:125 #, python-format msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "Asegúrese de que este valor tenga al menos %(min)d caracteres (tiene %(length)d)." +msgstr "" +"Asegúrese de que este valor tenga al menos %(min)d caracteres (tiene %" +"(length)d)." -#: newforms/fields.py:143 newforms/fields.py:166 newforms/fields.py:196 +#: newforms/fields.py:151 newforms/fields.py:174 newforms/fields.py:204 #, python-format msgid "Ensure this value is less than or equal to %s." msgstr "Asegúrese de que este valor sea menor o igual a %s." -#: newforms/fields.py:145 newforms/fields.py:168 newforms/fields.py:198 +#: newforms/fields.py:153 newforms/fields.py:176 newforms/fields.py:206 #, python-format msgid "Ensure this value is greater than or equal to %s." msgstr "Asegúrese de que este valor sea mayor o igual a %s." -#: newforms/fields.py:164 newforms/fields.py:191 +#: newforms/fields.py:172 newforms/fields.py:199 msgid "Enter a number." msgstr "Introduzca un número." -#: newforms/fields.py:200 +#: newforms/fields.py:208 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Asegúrese de que no existan en total mas de %s dígitos." -#: newforms/fields.py:202 +#: newforms/fields.py:210 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Asegúrese de que no existan mas de %s lugares decimales." -#: newforms/fields.py:204 +#: newforms/fields.py:212 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Asegúrese de que no existan mas de %s dígitos antes del punto decimal." -#: newforms/fields.py:237 newforms/fields.py:560 +#: newforms/fields.py:245 newforms/fields.py:633 msgid "Enter a valid date." msgstr "Introduzca una fecha válida." -#: newforms/fields.py:264 newforms/fields.py:562 +#: newforms/fields.py:272 newforms/fields.py:635 msgid "Enter a valid time." msgstr "Introduzca una hora válida." -#: newforms/fields.py:300 +#: newforms/fields.py:308 msgid "Enter a valid date/time." msgstr "Introduzca una fecha/hora válida." -#: newforms/fields.py:313 +#: newforms/fields.py:321 msgid "Enter a valid value." msgstr "Introduzca un valor válido." -#: newforms/fields.py:353 newforms/fields.py:375 +#: newforms/fields.py:379 +msgid "No file was submitted." +msgstr "No se envió ningún archivo." + +#: newforms/fields.py:381 oldforms/__init__.py:688 +msgid "The submitted file is empty." +msgstr "El archivo enviado está vacío." + +#: newforms/fields.py:419 newforms/fields.py:444 msgid "Enter a valid URL." msgstr "Introduzca una URL válida." -#: newforms/fields.py:377 +#: newforms/fields.py:446 msgid "This URL appears to be a broken link." msgstr "La URL parece ser un enlace roto." -#: newforms/fields.py:428 newforms/models.py:174 +#: newforms/fields.py:501 newforms/models.py:180 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" "Seleccione una opción válida. Esa opción no es una de las opciones " "disponibles." -#: newforms/fields.py:444 newforms/fields.py:520 newforms/models.py:191 +#: newforms/fields.py:517 newforms/fields.py:593 newforms/models.py:197 msgid "Enter a list of values." msgstr "Introduzca una lista de valores." -#: newforms/fields.py:450 newforms/models.py:197 +#: newforms/fields.py:523 newforms/models.py:203 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "" "Seleccione una opción válida. %s no es una de las opciones disponibles." -#: template/defaultfilters.py:485 +#: newforms/fields.py:644 +msgid "Enter a valid IPv4 address." +msgstr "Introduzca una dirección IPv4 válida" + +#: oldforms/__init__.py:408 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Asegúrese de que su texto tiene menos de %s caracter." +msgstr[1] "Asegúrese de que su texto tiene menos de %s caracteres." + +#: oldforms/__init__.py:413 +msgid "Line breaks are not allowed here." +msgstr "No se permiten saltos de línea." + +#: oldforms/__init__.py:511 oldforms/__init__.py:585 oldforms/__init__.py:624 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Seleccione una opción válida; '%(data)s' no está en %(choices)s." + +#: oldforms/__init__.py:744 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Introduzca un número entero entre -32.768 y 32.767." + +#: oldforms/__init__.py:754 +msgid "Enter a positive number." +msgstr "Introduzca un número positivo." + +#: oldforms/__init__.py:764 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Introduzca un número entero entre 0 y 32.767." + +#: template/defaultfilters.py:541 msgid "yes,no,maybe" msgstr "si,no,talvez" -#: template/defaultfilters.py:514 +#: template/defaultfilters.py:570 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(size)d byte" +msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:516 +#: template/defaultfilters.py:572 #, python-format msgid "%.1f KB" msgstr "%.1f KB" -#: template/defaultfilters.py:518 +#: template/defaultfilters.py:574 #, python-format msgid "%.1f MB" msgstr "%.1f MB" -#: template/defaultfilters.py:519 +#: template/defaultfilters.py:575 #, python-format msgid "%.1f GB" msgstr "%.1f GB" +#: utils/dateformat.py:41 +msgid "p.m." +msgstr "p.m." + +#: utils/dateformat.py:42 +msgid "a.m." +msgstr "a.m." + +#: utils/dateformat.py:47 +msgid "PM" +msgstr "PM" + +#: utils/dateformat.py:48 +msgid "AM" +msgstr "AM" + +#: utils/dateformat.py:97 +msgid "midnight" +msgstr "medianoche" + +#: utils/dateformat.py:99 +msgid "noon" +msgstr "mediodía" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Lunes" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Martes" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Miércoles" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Jueves" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Viernes" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Sábado" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Domingo" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "Lun" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "Mar" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "Mie" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "Jue" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "Vie" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "Sab" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "Dom" + +#: utils/dates.py:18 +msgid "January" +msgstr "Enero" + +#: utils/dates.py:18 +msgid "February" +msgstr "Febrero" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "March" +msgstr "Marzo" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "April" +msgstr "Abril" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "May" +msgstr "Mayo" + +#: utils/dates.py:18 utils/dates.py:31 +msgid "June" +msgstr "Junio" + +#: utils/dates.py:19 utils/dates.py:31 +msgid "July" +msgstr "Julio" + +#: utils/dates.py:19 +msgid "August" +msgstr "Agosto" + +#: utils/dates.py:19 +msgid "September" +msgstr "Setiembre" + +#: utils/dates.py:19 +msgid "October" +msgstr "Octubre" + +#: utils/dates.py:19 +msgid "November" +msgstr "Noviembre" + +#: utils/dates.py:20 +msgid "December" +msgstr "Diciembre" + +#: utils/dates.py:23 +msgid "jan" +msgstr "ene" + +#: utils/dates.py:23 +msgid "feb" +msgstr "feb" + +#: utils/dates.py:23 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:23 +msgid "apr" +msgstr "abr" + +#: utils/dates.py:23 +msgid "may" +msgstr "may" + +#: utils/dates.py:23 +msgid "jun" +msgstr "jun" + +#: utils/dates.py:24 +msgid "jul" +msgstr "jul" + +#: utils/dates.py:24 +msgid "aug" +msgstr "ago" + +#: utils/dates.py:24 +msgid "sep" +msgstr "set" + +#: utils/dates.py:24 +msgid "oct" +msgstr "oct" + +#: utils/dates.py:24 +msgid "nov" +msgstr "nov" + +#: utils/dates.py:24 +msgid "dec" +msgstr "dic" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "Enero" + +#: utils/dates.py:31 +msgid "Feb." +msgstr "Feb." + +#: utils/dates.py:32 +msgid "Aug." +msgstr "Ago." + +#: utils/dates.py:32 +msgid "Sept." +msgstr "Set." + +#: utils/dates.py:32 +msgid "Oct." +msgstr "Oct." + +#: utils/dates.py:32 +msgid "Nov." +msgstr "Nov." + +#: utils/dates.py:32 +msgid "Dec." +msgstr "Dic." + +#: utils/text.py:127 +msgid "or" +msgstr "o" + +#: utils/timesince.py:21 +msgid "year" +msgid_plural "years" +msgstr[0] "año" +msgstr[1] "años" + +#: utils/timesince.py:22 +msgid "month" +msgid_plural "months" +msgstr[0] "mes" +msgstr[1] "meses" + +#: utils/timesince.py:23 +msgid "week" +msgid_plural "weeks" +msgstr[0] "semana" +msgstr[1] "semanas" + +#: utils/timesince.py:24 +msgid "day" +msgid_plural "days" +msgstr[0] "día" +msgstr[1] "días" + +#: utils/timesince.py:25 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: utils/timesince.py:26 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minutos" + +#: utils/timesince.py:46 +msgid "minutes" +msgstr "minutos" + +#: utils/timesince.py:51 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:57 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/translation/trans_real.py:391 +msgid "DATE_FORMAT" +msgstr "j N Y" + +#: utils/translation/trans_real.py:392 +msgid "DATETIME_FORMAT" +msgstr "j N Y P" + +#: utils/translation/trans_real.py:393 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:409 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:410 +msgid "MONTH_DAY_FORMAT" +msgstr "j \\de F" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "Se creó con éxito %(verbose_name)s." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "Se actualizó con éxito %(verbose_name)s." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "Se eliminó %(verbose_name)s." + #~ msgid "%d milliseconds" #~ msgstr "%d milisegundos" diff --git a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.mo index b055405fbfcb0cb68b3ffb3a7c596c748e4d8d58..32035fae25dbea6d062de77d8d252cb476cce4c8 100644 GIT binary patch delta 32 ocmaFJ^N?r5eP(V$16>0%1w#`nLyO6;m`^c>hPZ9s&a#RT0Jb^`=>Px# delta 32 ocmaFJ^N?r5eP(V0b6rCd1w&&i6Vu7Bm`^d6mZWXo&a#RT0J%a7O#lD@ diff --git a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po index 4c81e7e3f1..3a671b7439 100644 --- a/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/es_AR/LC_MESSAGES/djangojs.po @@ -6,12 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: Django Javascript 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-07-14 13:45-0300\n" +"POT-Creation-Date: 2007-10-06 14:18-0300\n" "PO-Revision-Date: 2007-07-14 14:36-0300\n" "Last-Translator: Ramiro Morales \n" "Language-Team: Django-I18N \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: contrib/admin/media/js/SelectFilter2.js:33 @@ -44,8 +44,8 @@ msgstr "Seleccione los items a agregar y haga click en " msgid "Clear all" msgstr "Eliminar todos" -#: contrib/admin/media/js/dateparse.js:32 #: contrib/admin/media/js/calendar.js:24 +#: contrib/admin/media/js/dateparse.js:32 msgid "" "January February March April May June July August September October November " "December" @@ -53,14 +53,14 @@ msgstr "" "Enero Febrero Marzo Abril Mayo Junio Julio Agosto Setiembre Octubre " "Noviembre Diciembre" -#: contrib/admin/media/js/dateparse.js:33 -msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" -msgstr "Domingo Lunes Martes Miércoles Jueves Viernes Sábado" - #: contrib/admin/media/js/calendar.js:25 msgid "S M T W T F S" msgstr "D L M M J V S" +#: contrib/admin/media/js/dateparse.js:33 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Domingo Lunes Martes Miércoles Jueves Viernes Sábado" + #: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 #: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 msgid "Show" diff --git a/django/conf/locale/he/LC_MESSAGES/django.mo b/django/conf/locale/he/LC_MESSAGES/django.mo index a0cb5fa62af1b0cb1d56c4d0340f1129f43f5d23..49ea931fef82de5e3d3f255d562d2ceec3244e0d 100644 GIT binary patch literal 61545 zcmb@P34B~t`S&k7lzm6mOR=PpCT-aXWhpIP=t`3UWh;|pnhZ&1!Ypl5L{v5r(5}!z zDQQ`{D1wThfT9R02nvcuP;g%m5f@wlm-qX7&bfE)B$HBn|MTh1@9fKSp7WgNJm=io zSN7U=MZj;!HbHPO*m*z@?7nRfJUU9DLGaJhgJAhqLGTv1FaA%Q5d=-(UEmDxE$|?4 z^0*+_5ln-7gIVxQ@T1@{;I}}P|1WS?@O|T5x*CrsgZmIZ1Ka^@_1NjL2#z59gP_{6 z5mbGTdH=V-X8f;!wcuDPrz=4RxHWh+xIK8C$4`LU;9mjm0J$M#)1$Z_nx_lQD z{ayw|w?Bj1g2N`d^dA8C!ao`my~cZ-1MZGL3#z^kfvSH6sCL~04gv22cLpB@cL2ZP z@jKx5_gg^>Y+h1jm3X z|FfX@;vsNH@HtTJdl6LoUjx<8w|)F!XF0kJ2bKRAQ1zVzs{F~I#%ngHc4k18(+!IL zSNizH;7<7O0#(juK#l7IpxW^zQ28DQRnGIE%Ks7g8Sq!&OmNv0>XsjD0}q|*%DWa6 zf87YGKkGn^%LCwn;Nzh9^kq=xz6GkD?WVc@>;fK+|6owcMknc#Q9(cr!ak$P|2sjk{}ZqV-1=PC?hk-UcQ&YcuK|w-?*KJUKLla9U`IOL1vY`= z-^W4m?>E5{!RJ7=Z>Kqq-wy@1$3Gkte~biaYH$KL1iT5?0k;FYK-E+5;g@^=H6CvQm45}O`q%jIjiAc=tj8~c>fdAD z{{*OYI-7mV&BxHK=~9^YQok_%DDH34aV!x*aZb^JiC3>&+pc%DWBJc-;w# zzrG0W3O)mBzP$vBpMMYT0sb3QJ9oRt<=-Dv`Ge^B`k1J&*$LFGRlRC%X?qSIvW zZvxfNi$Ue@1eLxB?g?H2s$ZW3)&CWs(ro~h?|xAAeZ}LGKK>a{a`XjI<@_BKU3Q%7 z((elHf`1=SoS2~>Fpf||d> zz~jIRL8V^`s$aK)Dz6t*_#VK za`SgKsPtJ->GPn<>GA%nJ>CGSoTZ?~={8XGx*JrxH~H|NfuhInz5kz}+P!tN>(3BS z?cD?18axElxP{<;;4$FI;91^(EvWV8c2M*9DNyDA$m4H7<$DuUyLN7I?b;XAd^r$Q ze@238e}l(ypxQqbRQt~M{yE-%vB!C!>dS&hf*%C64&Dh$4u20+{oA*?@Iye2+f-2X z%>qT&3%tMC$9I5g*Ja?=;0HnV?@CZ|>l2{z-wJ9z-wA5IJOCaDJ^>yI{uETc|A6lU zcTGDw)PO2yw8v9G^>Z?){+#Xob3u(q8(0Sx!BfF?pz8lQh-eRf4;}`NpBDryF+nRR z`Tr;wfj<*8BUs{}oXE_#JpA_%~4V`s5Cme;TNMH-VyKGpKU%KK_HC=yMe) zdfou4f471=f}aOr<=|0JxpvHX_I1&62cp?~P9Y4BauYEy{&ynD+;Al|t^)yiBT?C5G^FWPD9#sAFL6vib z$7?|K<0eq)SA%NT22klg18Tg#0E*rZgPPB8fh^g&7ehO-Qegi7sejj%8=O9pWqz2p*JQh@W z6F~KE1}Ofy7!*G&0q22Ffok`tkGOh|1(okqQ1qS%D*rT4e0QObUk0k4)!zRZQ0;!m zu?gIiza`1MrqNc@w*v0yiN zAow|OIQT56`u`4!UcuFFo!Jo--3|a%|6v~Mz-{oK42o{2fl4>kVxds$HuJ``iJl+9{es_YR>*qkV?-B3+y7xZ=svR$YYUj^E)%yl0zI_K& zJ-c7yaBooQ_6L=37^w6|gR1XTa651sxI5SgD!v6&IXO`6D1egZmxJ4a*Mg$s4IWqc z_&Y$+e-o&5&x5M>hoIW=OK>~z&!Fh@4^aL652*AzT)5p*E{*Qtx=SGie>|x6 zoeZjf<3Z({0gApCfLaGKpvwP<#~VDZ@OX#EjUGSm@yi~+398=bLDlyHsPbP1Ro`o% z%KrzrFSymm+&Zv7D0++m)xI-8^=BHm19{?7qb&OC5OFb^u<<)Hfc5%0eiv~dE} zp2eW@F9Y`gdqJiDEU5N92rAtZU=8?9Q02bi@oygA0e2*PtLt6)LqL_Y8>oKm4XXWz zfU0LWsPrd+D(?)BlR)L0?y(V6`_2P*0@L7eTQQHoH^93;?$-AeH#&RLec(LO9deVC zb610^XB{a1`V@F3_!xK+xZNk*dVU%xIg$ns02g>%3`*W@1V!&BJU-*`1yFj#Pe6^^ zo}YB()PO4IB#ow@M&;&aQ7unJ{<;XeW(Wy2G8=?2CAH^LDl<7@EY(=A78uFtzQ$s zQwaYMD0(~!YJ8pm-v>VL@ikEOY`4tSb2xY;{!>BqKMgA1RiNhAVsLM81GpRbC@A`U z8&tb~1*(5k3g047f}8F4|oN*^Ubc@ z>%rsjF9VhCDR4jV2cYQl2XHvJ?JcgnI#Bga1os4IgUZ(iYCaWwe29Y_J17Y?agFZvbz{-v^4GrCVM5 zJ_H_se=(?XH-d+O4}j|D3!v(G&Bt$bo8yyRz|n+%093jQ!F|92sPrELPXyP1M}vK! z`afi~vnTBVDqjOQ2|OE|1KtWYfNz2qfFo&i3wQ%~GWZ5~DtOcyr}tb6s{Bub!@!?{ z=YiYZ;l|@)@csA~f~SMGgCoILz)|3Cz34jNY2Y~UO0W_9I;i&Szt)|HUIwZ?-vGyg zL)W=>wSq_C{}y-=_$GKJIO|R~uU3Mh!(*Vvbg8yw$e00Fwj;>=t zwYvbG4zBd!FM?|K&i6REKL#9uzZF#aC7{ZA5F85r6b!+w*Sq*5z*F!~0*?i+1r`4Y zSO@+DoCprt;OIIFtjB*1sCpj&PX&Jss+{+4borXW8Tc22XMsNhi{Me4f?yHY3+@0O z^eM-uM}X7tj{?Ov9|ARBmVx5KyM6fmAVV5F3GNNHe%i^Qg`oKCI`Cldc5o&5un%v% z*YSA<+=cMG_g@K0j(rSNJ-7Jyb>JTO?*k79zv|!9-O@EKR$e&9~{j{wz< zI&epD9H?@qg4=`Vf|7q1gKGa}p!$0asQPXN)xJ-G%J)U@|2nAj&w(oESD@0r=J8+P zZuob-&*8z~CHRj5cLi?*Ro<=Of#BVs>iMdVf7bhd42pig1J41syWi!z5IhKf8^}}) zt^#)l!_T_#QJ~753aY*~a1XEqs=RB#{lPmy_4g6*0Ps0*JMdLd{O|^-cK!nt9k>3R zqvHW!GycQDCh%$>{vs&4{{mG1|KRZ*Q1uV_yrcI)p!!=6D&5JT@}1?wn?Q|g3RHV9 z2bFH6$Mqf`^!Oxb^3eNV16AMKp!j9y2V6huz(et$2<`)(3+@eeg6ijo!JWYyK-G5( zI2^nOJPiCUsCK>qD*apFKH#=raQ^p!qU-xXjmsEN^5aENKd$1@HedsB|xZYR4Zz(divf>2`U<^=BVY?K=Wgd_A}qcp9kw%mVAd zHc)iD85{>b3myUP`KXh}$APM+1yufSP<(Y2D0)x~A z`S`c~y5pORK$e(bB}f&)_$S=?!ZuI3ak&;$|5kva$ESSwgWmrncqrk|flBuVcow+b zH(dBkQ2BD8;unEx?_yAV{4gkbJq0S=55R-KpMm><{{l5`dw-L)3p^M+0K6OA9{dU@ zIzI^>0>141?|`EF-rsU`4?&IZaiHY+BvA3^fhs2rsy&_Hj^O1!{A!OkfNI}TQ2o6f z48cc1@yE-c^8Xop9~eC4{0D-PZ?&NEPX@JaG=T?#&EO*N3h-j^pWsaJ+@~FG0M)*? zK+!4qw%aG}0`7o!0;qmW2gP3(fFaloiqDpSqR*Y+j^HDp@;w2Hzn%fro|i%O>ou?l z4td6vdnI@j{u@D+_eD_Yp9WR#k3jX~PoVm@^Rq7BexS-f0_+Bl1t)-agRg>r05!fp z{Ep+}*TG%!5BaVu_W-aC|0q!9TnwuI9H@Fe;_*gMbiV~udG~;#|Chn-z&>yn@MTc> ze-DZd{{l|}w|maja~jx&zYAOd{s5Gmnf5%o7kD*zEchy@@I$}n>YELUKAoWWZzVVa zd=S)p{UtaDJox)gf1VGjoG*gI!Ph~xW4{-iyZg_#>yko&lbRe<^q}_!@Ww zSo5NruTwzPQv&P3mEbAhH@$zmm)y7<3tmU~Y2Z}FgQDL)KX&PRz~k{h1gf2X1V@44 zPh7cYgQw#EFsSk$1CIg!4W0;&e%Z~FOTkO=KLsuXkA20B>%E}(<3Vr-@N3{6O6S90 z0>x*)1~sq#3M$>(p!j6#pSp5(2bJ#tQ03KvdxFP;N;kn{BdGRY0*VipfGWQi+#mc5 zsPx|e_XWQXs=QY{z6lZQB+kjVshk{puDt{fg2)rLW8a(Rf zuH6@dJ^0%|)$?<3ckmCO`tvVPblvqAu3b|=&4=^A)4>$DEw~O;f7g5b5_kyyZ-aY* zuYw1H{{kn1`~T9NAI$|nf`22Z`j7gR!{b5KGZx$jJPQ+Xl=1FGCRJl+GUzI(x)!LNg==ewZj_!77y_*+op|0huO zN%*R~y+DoM2vFrt^f(<ZKQ02S?sy#mkmG5;> z>E8jBe*53M@Pk45KLDNxo(>KHdqB1CYEb;P#)m%&s$bvq{ue;i_ft^y{Km(>397$a zz2^G2C#ZBIJRak*0aX2CLGj_a9&@1bU+3d*0r$p#FQ{_9=J8wL5d7Z-Mdz1%_%FTx z_ux*1{}oh!{tarL@Basv{uppu{9{0sJJyF!0(ZfGwhzA;+!=owR68&8cs;0c*MiFb zh{wl4mHQN^{(T2jJAdWz4R9CyZ-Yv=!|QGx+65FHkMlUr7^522k?nv!L=l z0V@5opz43YhyT?3e+P=s|LSqKH=KN_1=X&Rpz@stYQCT4{g->Z7F0b;K-F`r4`1u? z)1b!nA@DHp`=G|@ui)v{;z=Z2(KsXKAyQg{0q2`@ovk= zpSKD72G12dCWwIFk>(Qo7yGmyCF~ox^E_HpK1JLiJm16pHBi5jN4bCN-L0hmFz!cv zImZ$ADE_SzX-6xA|D6urP263izn^Cw?yY!4NBurW*iif$=c~Zz_kF^5$Nz>8n~#4Y zk^A6Z%F~JecliJ2*tf{&0+Kdt>I;6IqBg|I#F z{~h-Np6K@$;lK0#8Q_13Siti>AJ&Nbaoh`inaY<*xSz&9iui9RBJn%YyJve0LA_VA z4bQ9O|Di8m(XZitD&c<;_jaT^5`2lY3rX`&U*`efV!}TGK1+D5&-WpZKl14=^|-wc z{{m^XHl2b0IG$ICmntyxRi!a|r&Q`mn>vv!C41 zXr>RF=F5DT;8nQ$eE3}4CBim>?wZyzKm@MyB+tb z;FrPQ5SR1mC;2oV_IN0G9&uUH==XcvBfxV($*gvt?lJII!j1&j5q>S$%`=B*Eq=-U zb8ufnnjPq;ey8C+0o;r5Gk89Ye-{w38Jq{+0)B_*6vB7Ke?It2o-W+0!83X8#=RS9 z{)$__=?;Qx@qeD@HvIR1TEF)ut$ttjX+H;kjj$m+OI%cNIbq-9`8fU$f;$lRMV@ct z|0~Z!gnbTN34R{b?<2VN(;BVcRQ#8dXR;4hn9hZ@R=>dWfDiv0VfyvjU-$t$k+9J| z{x$s9d-o!b4-h}n=c@y+;rSJDH~2Cx1V6y@W5V|({AAqw;{FWJXdeCk%#$MSXr7PY z{uj@aJa-Vk9nW<hsAv+=qRYus@NelV^hu+ZMNe?-2KVB2O)0lf8d2ID_W~o?8k38Tdn<$8moY z)bCs13zT&~?mW-Q_}}z#U-fl7jsI+(?RnBXC-CUE61I{r~S8*snM^A(;pWlH>Z_jzt1?h@QzBknHTYrr8q zKj--n;W_Xe!u9(i&q0KJp64+iwvn)p;ywa=g7D|SS9vbNeS^vazssZFogSz7yb9~m zAAW!1xyoGb&$mePFQ1<6bMU%%U*_}v7ys3S@5^(Y%Mu(x*q4aE0{@M;f9~`A+s6xr z5&sU)8Mu$~@h!OL^6W+U1>gk2r}{X&L58P=xG#Yp;u(uuzY(O_g!?nze-l{aqJqWX z`NU7*IgMw3o?r2Nl1I9xehs+4OP(H{gYkcY=R3H6OLzx(z7p}f%Ypqpm$+HDF5|hH zG(Y9h??s+NaUV>4kA=8D-^718&d>7ffxC}1zW_hL(~A4UgcorS=Q+Zc^{_|Oc-xNx z_S?mW?*L{=|9_fPje^!9eFOnzwI_Y5cmUOr-A!}`aKBV=$!WVddf)t zF2-{aX^sJ(Pek12^DF2-xF058BhOCM^=tfHJac%yOZ@5JOzpU;>%)$RQ>GxC~ zo-=uVM!0@Uz)o-s&ld>a5C3i8NbqdJuIJJ3e*C8pej@lL{tIwF1ipoTiW2bKmavm} zHt-Y)e?MUtgUi7`@_dQ#V|n%3@J-@h$NfW| zCB#kSxd!*1gdYG#zel`dH^MLUWevxDCC_0z4LpzVtl{}H@t2bRIiK!YpZ6agpC*ld z<2?Qt_oqnvai3msX&yyC%9A7fV>~@R{@Xs^&xq6S%0xaF;{G=KblpDii{3BqOx&k} zo5(wh=Rde7@hnTESw;BA2zy_Z@((BMW}e-N4}JVexb+*$^Ausbf`8#T4tGeon{YqK z)4+2U&rqITpZ77`SKwwyf?xPHEX6(D$G?NS7WXee{igAJh37n;1AY2l@E@f4EI5Ji z5AuxSvEPs}-C;{-s!%v(XnVS|d+4c6xiFJ06jPm@VRJ6m(Ur<~bf$}i5n*dS)fN`p z(_v>O+YuIXVNb4ST3f?RabWKH zaC&ZmN(@_4*&&5=XS#({_7oR`mag{f>$*qv%i(@INF$Q0A{A=!&*{HbDC$aST| z+&o1V(nAvY3t>KeSt*lGTRn83IUUZ=q!(neu3sw2*Acely1GlnbUtiN7cy9U72jAP|T-_P$4tVYD(qP*&5naqUOxJAx5^i z{7kaY+WIjgyH6bwglF`G!-mhxbW+*eVy4)ct}TSY&|$+<#bUm;Ff`0%H414G35cYa zR2GuVPjzOXGRZQ{w7)(aK2_-$&wQ~EF31$yLy9pk<(L&prGCvCNbQ{S~zlD&I* zG`rN(Y1P%9WVJe%sGwQ`iYn$!8(R(eqE>2_hc=1UoMQd={N z?er;%4O5-@bgH!{OfQ7Gg>W9!6?e2{=BKlynwLp;w$>KvDLL0&bhT6zV+nkCWm(Eo zXvyW%G=^alGc=3(r2_3!Qwy0zifiuS-MwMMA#f>OTR(bU*qrI?%;d5aVO>?i7z&?I zxh9?w3=>ZAI1Ma>t+{j|%;t(=s=GU#qHo5Wsj!sq>}D`wxzJH37(vqp5^prDErJJQ z+K)L^%u{F>GZN>JF{MuUX>7>YRb`s4OrfAI=U@_O+65h=S(0F*!n=?A*iZzEXwEd0 zR|M}jboDgGG3o4CQ^mG^PPP&;Ef|~1x1~zK*p{LwJGQk|k9zF*#ykZJQ}J@7iDul# zW?I@a!Pt&WF%^vM?9>ysGHXek&1HMKa;1W`s37?wLeEED5Z7a=g0VSzPX6xha9G|3 zVji4J?F>hDQJTWWmI~CEZ_l-+X;>UQIh##{GSb1=e5yIq0yr^avtDv-K`LuWUL*uzhD|&g4}--6@%bEKPT5!bn=D5mqX@ zwV|T+)9|&Wvv77A5z*M4LO`_#V-Xn5x%uf4A#x(j(M@J4Gs+}bEMQY%Hobu2v#q%W z5V_Q5e@ca7a7GG3)SX*O=V4FHJOg2+Zc@x1_^tsx>?#-JDO& z&y^Hd=tv>ukd&F0RDVA_(WdeD$r_89)cmYVmv2p9nww7yOGMpNRuu1SET&r3sQIaU zhVs(cHUuGEMjSY9>#o$T9p(L?V3KlrPx?n2_o$q-(22j|eSN(_}i+g+zJk zPiLD;>bpcop_BT<$rYY{zDn;o$)pvYhywZ4qD*HdMIZ9%E;tWZl+E!vVP~6qNPmIJ0M}v!+;+ZUBEuZVA!CI2WhC`bq+@lojEUe9GAGsz>~eYQjQLPXjW|^qWdjb%k_y3i?}gG2NEV(_>dV4b5feW%6BdFD;~~ zhIxTHE?4SowJD!Z!;R_r%zeOJon||X{#Z)s)93nk(c|s8h!`-@&aak8LD+37EPY6i-lns9;9#w{(< zw@kjMgh>228loIZh?ruNYOyunRy1in?I{S_ozB}rgWAH%=A@J{Nm-yt3n)m=`6AUl zuX#x@v7nejV2g|xM*3;FSf?|HROyA?Xq~7`Jt2IJ>gGG#B~rx&E@)5Nv=^gVk*o?~ zXReJ-(m<=p2}08@tLKD+t7T1x<1c0U<(wp~4`*j%ZPuoO@vk}>6VsCnHXENV&QAr& z{7#pYF!Z6Oq*~j8@wt|grWl;5_@pnXHW&IuIo*l2NQ)+}lSOb!sTnyrUaU<}DVw@f z^0~2?Pq)&Zl1M5JHRT7|v$mPCqSYwPWE@{AG8N9O>q=!hrQ*Xeg?`?K;LKJj{+jr1 zh{NG6ZZi4xrM60n^6EouyIB9suI^&bAPotT_WP?mbZ6*)|FNUmE zg(4aQ`wNuOmUaYQ3wmK891c~LhOGdrUa`HlwRSVbbmd$rsfGVjDYU8$MVyN1GxTFE zWJ`tAVb(}a#>9)8kE0WA*lcnW9L4lPTP(_{8JxJEDq6Ls!ehf$(LU@}Pg+pN%2A9u zVttC_ z7o58vo!tIn-0aCsD!^q@qe*1oyk8s2Bfhx-w*s)PuvVs;oAc@UXuOcLKf&1g_76H|Y*R$|el*cGR<+OJS2t~1 z-T3i?v|b7O7ppMS8T*wmX;Q^7Jn(U9rITkHuV-mIUn|-rX+af>%o;Dei__ zGTe*Hew~(@t0r%*ol4WcGRiFt2warG##ymaENEx@=i3y^sJdg09&y6)C!+qhhUPq> zTzb_Equw=Xxqzq*>QrJ`(5%{`L}kfk{I_L!lyu8dZds~wX}K&4wk^bku)O`kaHdUN zDi-YOX+cJyc=?q!nG{3fbY=7Jb(2CeIvIV(JG-se1L9r!MZf z%T~#}>@})4dts`pyEEMo){LZ?rQ*nz913I4#vdZ)C+q+p&EO?Q7NkLL7t5 zmz_EutN;Z}&vYj)YaYfLY1@UUxViGxw->uQDR;6q%t+WwK^rDE%JW$QT1Ob0c)PM~ zgwa^SnsQOC>3Jzke!i4oLb|zLfAXbNz6VFTlkIET+KLv1J-}5G4+LY?hN_C`+i!T( zq=sOEEUBpIrW^ac7=g?d43X_}p@spruz~qPaYU$XgLE_LR1yJ3kfPo4jL_B|U9Vx>Cdz(}+F_q4AvL~A;D-MQCkgY6Mhlz{{ zrYz;fX{NA=>1>+4qSG1pyxY7|FtIb0FBO7`xnN>GRcbD!Wu3z9^!1sJjCj)>1m?6c zw&+}`n@puF4VaYbGHcc(*eJaqn1td^l1Z6-&NXn7Gav<%I&OraL|I>+3z10EZDw~@#qwI^|M6HL;c7IWRC z5;i=!(V4mePm? zb^c=$%_d|pSr)uta+h=o*=x0Y7J|t%y%k=Sa%8h5Y0)Tz^p7o2Y;bT>m-%c=Z8I06 zVlHfhm-<^R+E6NGx6))twY0OjVl>#sjzoeu%UM0On@tOJf^6LMnP*%J5mdv1k1A+aPk78g0oU+GW;0s4yEaGq6yk7||&nqu8d_#cMAfIX$h!g~rOco}muTg_={jJLtmRFRa~V5+8OKJ=4%DvD-Hn!x!v z%)nDKZWi0g9}_v%F~DTwEhSSk-NoGeLPt+HEz?nA-3q4WS{Lz0hAoHEr%LHCyk4FjCpEBJ=HIuhQ`!F4s{|Ai&FubSyYQk#q!B|G-#(w%{mmAii9lC z*HR0d(_*Mof@w3RW3L@Qc1~o(MP#L0k(Lm>tN>VlF^kby`X|j-v$brd!7{{gA%8P% z^;?q7nPvLr!XVYrL+(5a3V&JrfCAb<3M2wKhsG^|U3V_bp+mwl2Te=2a&mwUlZP>; zaXOaj)Hw`JJw2(mjKLzw(P`+$ozW><;`mFtDwcbhmQpN^wRxA4j?PEdv61uIY;;1W z1VnzpY4>3FgWg*h28iED1Mm>Xf7Ran8MX(l@_hi_3P%i20KX$wet(4sh1Mg`ZHdjnUcp=C3v2ioDdzaXGgt5C4cJjwEQNCjH?pGk9l5-pp`rAu( zy5}|)G$C5^+-8Y8CzfuIP1E%FLQ`{&X=+wc$Cg^-IP*l#$p$^3T&M2I8sD!%7g5%u z2T2eeWO&P?9ZIG`X8@7aRu*6ZRr`tSzNZ?>M&RVq$B3I6kK(iTfD3r!hx2EKRp4 zr?i_A1qKUUV`i=ur5%lqeSl6p0WSIh(LQ1(mo8GR1mue)HepJLlud=$WZ6u}L(`>` z`Ri_)*u#cvA6Q!$GGy3rze$v*y;$sS7&($y_Cy>)7RZzDWTBmzo1a=#ah+!-%Ltcr z97IYKKHIJNB8la$MW%I8Dwv6CM)Fx^-YEpLxY57{G13ZW>86w4c_V%l)g^tEbat7u zHFng8$Bas@%y9L*G}{GkoM`Q?qCuI7fOAvZE^x!u9qMAPU{PSTwrha}j#FouAt-rQ zW>$KBiLI6?Pg17pW@58JbJI3?7PcHVRh*yam`WsqV77mlm0OgRhC7S9WLhI?NE6M9o4h4ZJVr<9l4+z12MA2Uc{odB7(s9}n+Kv^y` zS!SBdY*IX24EGE%?f4y(gSxR)wGb^oFr(^`s=jn#&o_}yaFO~!ZUSUC>)dSI(7JQqej(^8Hp>3b61Ic zLZ^9HqM)&zt&RS|hj2}MW|0{l8{2aWq`DGo z4vyj=7Dp!xU&<4KxC`z208FE8a`mgOVzo$7XOu8I${s-n7Z%@Lw^JR>IW8bGAGvl! zAN(cd@E9pTXcN!BuMwv~`p9W`XV-xXiZ7h<%zV$zVR)%NbleGPK5aOt9OpT8s8*v&aB za*QorDm*96e1}pPrLj8TWHTOOM9Iz9sBm+RZVktHi6r2bN^0R;e;uVj|FH*mcSxv} znmM55Ac1XWV~Ii#vl3>k1KA8?%{Erc80Wj`Vy+{-~XH{gI;-O}&V6~vR<=vsQmG_ohiU}OXb$p%R@XvOn z(LQH0Ww|xtJydRnqd{7$QHrikb1AgTcLFil%-$}Fk$J|?jH-RElH6AsQKd?XQa3ZI zYO^M9{#He_OxWV+D$qT6uS>xptnXP0E;4-4h>!D9xJgpDo!JYYvG91|EZNNZlPD|k zI)OVYV@gKL@!2I_$!XHzx(*q0TbPT5gX2o0ueH_|-xOp>9R;o$v0cxT>xbGOnx3s&0>}HeS zVGNoopGN$fpr&iKJahD0jKVk>K}pxhyE7D%QHiB7hdmq1Z!C`x@r8D~o{P<7US^?~ zv7Hi_%wa+#+8QH)i`CIa5DI7r5&FDmVkb7_A25`piZ1fvWZmV344E35bWW}P51IUc z;z>0Za-F9p6H7sV`7H3pM>X#4H`}eXT8VaAfYRNFJHl+?!L})sJ7E(&UKt)Skw! zsLf|ly9UqJrAcB_wPqMfvK3g-9^c49m@w8Sx)Dd8AZ9u-w&zz%viVqqfp+A@aJ0Wc zTG7Y29+H`5D{hYJB?~K;zj0f=`L>mGCNs2nYhD*}yWKgxoYHGvl8JVCB;|KZ(Q6r! z2D<&xjB?f^d8U+Zt=7aZYU;U@Rmlcl2gfT?yoicM8zzZu3{pDGqQT^d`)}JV))(H= zw9LMwvNY*Gqq*O)u%)x)&Mc6O&H%t^0N1a=@+Fs%ygHFB7Dg5jEG_L^m~mY}*Gtn>N90 zJAaNiC!5g!l@EW| zI2-cKX75^aL8`MYchUPVC}2hc+S3b}(;T>5WNIF(pe+GoQek^OJ@1sEku`SY&{N%x zAhyp+Ve1+*GIeUb3eMXf37Xi^5W7qfQD-8KmCjsqdQDkWQwDFaw6qt4b1rS7gp;7@=561u2oXsZm31{j+D!On_6*7tP9uM z=B~UNK)`fnzAZAm!|qi~s%h1O6-Sfo+;k^$Jv~AWSX;Ld!m<(iTr+vty{tm1%d6zv zYGL&m{2;$R;0;o<>I8Gn96M{SyO-f#vYUfZ)DG*-f%!NS$dyHo;L;1!k>DSF(kQ$7 zjVVT!jXCLpo)O{Xnl9U#2Xp8<*E^y`8NN@vsb<^T=xso9`(1Cs+^X@jdxPcJs(WIx zYCOxtwB_87Lt@2F3^7*vXiMRaWho;c%6<`Dw29OSr_5_`O|kH|Y5e6H&J@PETQ@d| zV>LlLBi)X(k>zHMmEMmrP%Fe;J*rr$tXuM%xQ=7mT>LVoHlm z^y-eXQQ<8|@?gd`aFMQ(;fjPEj%qhkaV8Ym8hm@B5-qnkF8HXZy(3upQ9sp(q;C$}OvZe>;XJ8(^t2_y&<)Xv+y3e(LTqSX6S-xUGB<{Nrap`mr~zh;<8Vit88%Gw z<`I$)QqHJ(@A$B z;G7O6GskpuP8&KM4#M-g7#u|Io}de@r;7oIM!HMZQBjn4|JY@FCC?$!)}(AeVl+sF$G+*&8lu%7YRv1HPu_gOQI`qh5E>-dWkNueiV&pn?Xf$o@EqW%X)W7F=L? zpk08~u0(}EroD!MSN=Kz)82bnY_qu$uyb>o5Lv$^TW02S`qoR`6I`g(D#=-V_xVH=fdY2O9{HiUhP`!@R=tHv7T(ial2|;q6#3v zEx2ja8ro7>90VBREAOQ=TC%$D9@@G}t=-`AtReeG6}6E9M7tGzONaE`Hk4#)_L{y` zeD4W|RlSVnK*DvZUldsGXtsus4YY*{j9wxaDHfBhx9?WpMj#OG?bOit(Db21@-ttlx$D+5(}jV*0p=LRYArBGL*Q z^G)@SKQx>+_TeWHnZeTDKTZGtE?7%?W77g1Hh_JzEYTt|!XKo_sj(U|6eLRYO zGQc9JnJgvYjH--IR3)(wM7nzDp4rLA6Obl=Lv=cWev z&XiH=9#_s{IA)W5aLW3L>QM2`DQY!Vh`BS2m{aT_VMALIylKUG8DnBgldKnNZZJ08 z#F6LV99vh(u<-Ln%I2@1ryJd5jROX;;&G4%md6637z+Yr!w zNlHi;Fg@21%CrfLq9z2(&Q0{$u}(!;A?Yi(HE`o1W|TO+lS(y-SM}Xf!+%GLTfDr| zRfT*EU}=-qo2)^r@QS6%<;g38O6++t76nNr5vM$Ay(QEla*r{?I$v~D@U5y`oFZ`y z$B9&K;kcc5^dwM?zt)g_v64z^-lMiD4FKR`EyGxycqSk$_hE5)OuNED1sr!34m;HY|?8L^jcxAHv>P$MT2^W_N}%hmQF3}yECL7 zjhUt?gj5smf}?Lyg<9&65n|3|eH)ESSg&eCT##pN-%9c8Vv)QKzvR(Mx**Ce6@x6H z?B)7Im)0ufSY@w$S-9lE-6p!$s50e&@dLSgDS5r?v{VcyeeMxMxuMI{GRhuo3TFQMW8y1*nIT`P1Y#kd)vd9wD=OWjLKx*jC zv>s9C2qP8JCy&2DMwF%zVv2J4yG&dX@MkfhqJlVCBQcIm5GIlULTT>9cL}HVp76Wl zEH{|SRZi=8bR!v=cc#Hg)m*FbsVs;v7fvJMn!<8uRFH2&g9%>EeM)9J`E@`AGs(12 zYk(lb3aut011l428xD)`;!m@069t4eX_t|7Q#dr4&I;(YxdMHLs*DwI{?d?Q)<7+| zh1wY>x&j88+!X%S}O*Fo^Vn_ zrU4ri?l}RUX-tH{IuWn<52Z1HODV#Jdx`6X)B=%CDXqg2w5wPRhEuU7F9LHTk}gQXrTR?MO{;EfiI)wF{>3=xc7yaTZv;c`++fco7}TsY*^ zg2C=di`sx{mQ$K7fsjM3ld$w@?++`kAE|?vX z_R=Z%&L|hx%B#T zQ#+v)Y5cteV*bB}jHXRRpP91(^wPbegSM03C`wq}^iGNbb`u&TITw9=jzDCM7C&je zCU!KJm_PC6W{qvcoQ$`jlf0#$j)yfgM(_WjAejwpd_@djkV;JmF1Bv}OB4NOyh>J4 z8seBZko^YDLjAwXC@CT6zFcR+E0y$ihAm3R&anLLx-BeQCE8c)5+zcfmp>7a2dl%+ z<;3WSI@W`w#*H+7O~}};kT6v;#(T9}{RZYu_C4zGpxFnG=W-_3dQGuda7ToR$!9BX zsIJ0sz5y{`+6eneBoVj-Hak{xR$2m_RV9lS1nCA$C^g=19s3s?D-C|HAtJ;YP*Nzr z%XjpmA&pz?m(nT?ix*i*R})TE5)JIITL+NGp}w!@25zjJ_Nl!p^-Fv(!9=WbUiac@ zl?tVKRZZ_dySD{HlB|W#6S*eJp^qxP_xy0anZ6^JaZqmYR zs80S^XK9yb)_CB&D9+VtF}xHrjPorSLshwihV;c>dnCU6D1pDaNfQAN*b^VXzFNtVH&WekE|B9 zT31Mr@&^ZP@hE?Ca5H@wq>-{bNbS)+dcaK3sN29-DOWo|Q?(O}Eu~cYSFdEa^m;Vc zp?ymR=I&?q9CQ?Q-oXm#DLHTi$~!Nri%d@CZx{}&7&#nm)8zpKt8vo=eDnk8)ucuiIkZHM5kLFt)Tf(9>f072~g ziB(NFbjqU17ir8(Mlj%7J>d%&Y^^8QCUx+$8F)kW=Ro&J5`GnrfG(l2M}CCdoBlyhQ~@jA428 zL-!$^K?ajfEV~k0^?-V0QKeT#;i%zi(P^8Fl*(^bh*%t30TJ69FDBVulStP^?99+I z)4sK?){1eJ@l_(3ErcI*vz~}z?%d^8rm)l_9a=fVi2pLCjSqWI^<2u0nbXw?2CN*) z2@f?u57ASz#nL;coh?M+ZWoJHN=9OL6mDdaWzN+beN>YaD$~wSqthYT8D+GIKeS2z z#g{rJvg%zPsbH$2hCnmd#Y(!%ZQt#7O`u(JtfmOqAt3oZeH^DMLu6rHKEI@`U?MTpIltGl2EQeX-)v*B9O$~kGbD!#={QiTVG(kp` zzV$GajMFQ0tQcQdithkLmKsuO4laXn{Q0N$3G`64+dUiS6cOT%#oq`emB!!BKa)np z$uk3MxQKyT>^$*)#>gDMv8%{Pa%vu`T3vhcmxR2qq!to63$G(FUe#=eB9_485xKXC<^y)jJD15z_Qy z!M;?Dt!9&F_WFp3otV4Mq~n$gghWWowK&V>6bmNP#L9mA8Y!s|GhRDN#PLzm$|$$F z_h-&}ttF(Xi38|0TDK%c;!~_RL78?4--=8kuXtH3s`fa=0pm0bg61Y7n9+%%43r(T~ zeK*&Tl3ky=vY0H6SmxCT#L_^qnq-N1iLB)ik&mX@w^AwLW?Cj8vOZwkaVpk6oJt(0 znl+khaw!$0b{@@J)AVde{6|$SnQGVhF~wNL$_nebY!*q}=t}R=mEL12y~m0V#gg1g zP-#&ON~MN71;V0+d2*;SE>54Y?(wW2r9f&4iAI+eTC5lBg1CZK^M} zGc@JnzJ#?$jYIQ__8;8PRJmfho0$PzJt3`M7@QWpVWiTVWYP@LDrs{{PFwDE%Q99Z zr3*$^%Lrday?W@JM1^TeHp|oku`0`JNQA_WF}A`)LvDCclBp|Rw-VdOv9^k=v=EBc z&~ht8z4uxSQd2C`Yt$gjnvdX8??oV+scy=kK(^lDjBKD zR7qo9lf_!P@S@f`qS7g%Sfxc_joU`&WH@{K?uOn9mu7T_KLDpI>*G~p@iFz8Uw^9F0{wzj`ty2KjQrIs8k~#LQ`c7Qlei!Y>>Ex ztBIwB!7il9vq2mskVK>FlHyLxL1Cq39;=rc9nZ>j1W1+U&TYTBB{P+~m*SH8`$el5 za7WTOz)BTs!au4&&YR1v^2Bi$@baM=EC#cUm^v$IDJJ0#Tl{@nVl5j{OeV=Vv95V4 zGq_uQMhbWQ4;fuvT~4#DL#*O!e?$X4ET_Zn&Y+E_=1AOnjT9tf7SJbC!sS_NJWL`r z-sx$O#w9a(9hisDiYi*)h!Dt2&Q<~oX;-ft4@SykwHlB8+ zAYsmmNhc1Hpq9Ss+v&IX+W3g4DOsZ0U2$8P2sM2H%CfzYyH#7~6lQciIu&|XEqiC+hW2}Jn z6l-W?i_>YmDbvNM&004T0lgMw^+wxN1gj<*0}el#iXSSGLM2DztJrQzLA2=3?0Ze_ zZhvymx@s+Ir}3dpJ85nryR-sR*8CEs`2a66sHXKNr>edS>?S#lR?`FZ%dw9p9^-u* zH3Onfyg-!MM8RSV*hx*4N1{TKKb8To4c(U5F)N2snQq}SIDWDN8P`cxQt_^K2^x&s z{octKQWL;}G}$GYb&t;%7LQGG+7GAia6)ZhR1r@hJQ67@EC5O>0}Z2##zPyl#iL(a zkO<;RWfv*d4qkyH5PC_!3gQMqC*3U<=dKeO-0cY?TVmJb>})WiwlYl zH~dkbE9Ms;{-pcJvGssv$NMkHE8SMwi*Cpwk0l@wc+zvU!oxJCHL=Ii%L(?;|pYbtex&X^iVzrLMe3UTf z#W|e3uw9}|D)#=8dST}z(G3u_#4S1yFg6QV`%%Scy$x*C?lR;4A5>^08c^lH(R!Co z>P0E_LQ9XdEf!d3H??6KQ2u-EQf2Y360sS~m#B#GvH1zL{1i1s_C1nsUEf{SmH)c| ziCUk~D+W+x;5xHeidUIWar#~x1G~H?B?Xr9+)JkZi<$O8W(==3#gNWU+(~`ZwHqf= zY%W4!Xss1V)1ummYNF_PzoHV*JH;pQRIb_;XCdNUD)(9GxCa_pcV-#ARfW>8##IQ% zunK>@TZztCH=tBH8O?py&HmhEQZ`zz?EFByXClXTv)Te7C?%G3sg(7TVCe_8l!+2X z|Nh00!7J$6JjpU-3%$e%C;U=(wTjuMO*{iB8^3BT`>n-C7p4p+}DmRX2|3{wZ}*XFOC-Ars;d$t>@xC7+d;FIQ)-X&W-aWt`p2Ka zwz{>Yq;~D=rOTM|qU7jwZtoU-6q}vXd;KW3)vwb#P7bt4NoVu#%a~n9tu*Qe)b4jq z3UfAxB{Fu#hCRtNUEN?}Xh>`?6Wd4CQ=K13oq>;C$1yfAa8d@HrGKe{6PwORRnl0Q z8p{iLn$B(qO9e2b_`x(}6(d@1)aSKr=w%jz`Ar7+>y8Yym?DnRw6+Z_WqRFIWUw6* z7e5{U*(wHmC4`^&DlW#<1H58@+xZMP+1S6SVur0euh4H)1qT(bre3O{?RD0K)lsYsO_UDX49C%A!VqDmR5t=O|npj zmsFTYpo2sVXKF;kF4oUmM~j#cv}&a?vrrHqVqo0Std)63L%p=lTC3>5+e7O?Kfg!of zZlHI4m0lva(SOdI(U(2LX0o)wP5r-VJ|KZOuU{7Tb#r4R&8z4G=N2Fq70)7n1DbBH zSuNM182jS0CM8q*>`X@TSi5poIWK0sJt@{%Gy~(jB8t`#En6(T{my{gawoI7TJA(< zxhe@n<&z0Xq9tDTHGl{?R65zeWJmQrOrClJ=>wE z5cgSiDsnq~0?_V{)0ejg)HNhlDq z73e)%oN!d-{*pbY+Y*WtS~dHBhk$6QPjpukZ4(j>AtpfwWxa9FMQ8)4bC}^I6AzoH z^eR@ZM%WkPj}cw7v~BHG()cwqDKqM<$Uzm7e77QXdflE&V$N$;5@WLI(=HwNNLHEr z7_21mg-(LCrjyXLzQNMk07=^D$VAi8UgEd2b*=ff^GzK1mW!6+?N(N)0XF&kcik;m zl=SL}nlEwz46}xRWeCTvmbiCn3vrHJl+ZXsT8jk1&6GTxAz0?#$B4iBp3n!NxI};( zAv=Ev=skp1e{@J?x}J0&@j7)ToNoDaC*9a(+~N}V$A2%L;@$jJ6*`(+RYMRQAGkLS zsY0BiZ9mJaj5ja{bHRT`o)CNcLaow}(pe*~%2cl*v4pyrG~8_<+HOpz<%Bs0p(}H0 z1LMXPT~e2AW#%MIddZ5z1H_Qhv)G4JXBVm@Z8X5r5sl$gC+rljXc}TItNtyh#34T% zDb`-$Ea<%ypyhs(t_JC_*cnTf+g$Qro3C!{A=CuF+e49ealF{R*Lhl2Q6gJz;uG|= zRK3#5b=M?ruoRYx*4Lj``cM2r$lrJtpzNyHN|QN4C_tK<)1|9TIA!6Pe?^UECYf z%B(|CwW0&8t_4!eViQ#?s%c$yRdGF&GJ$;H8}`u$?U}4AqEFfnk~7L=tI`_HcK$;V zecN6=EzdW7-ky#)y9Cs(&`_$4P-G%zD7?|8{EDLHfEGk;@hi@Mdx@}fH?1n-CbQls zxwE6PQHA>A4cmFfR)?CX1+0l)EgYD+GOrV373sBrZ(txG9uLiul#UsXO;`H+IE?>be=8rR+!yETOPUxvX`lZ75?OPcf;wrY%rWm2^@$?1(9uPJ?c$q%xL2y$?ZMlOiJ{`(;~< z->qI>Ufd?vqC~+FlO_s|6FWOAloHDsize8XPHC*QPgh&@!B;w2?y;MpG7D8)DHtTp z369%O6!%IaXUGOgxdlmRRK#q2ng3l&RQoj5D$=TF1Mao-C%K&g#|_qcTJAs1mqgSY z+Za$-KN%e}9~>i5AU#^!CJ~xB5^EvIDBZyFlE)SS4U1hi(sHI#dd*h$ITg1Jz0A^p zd2^6m)71SdZ}XGnF$10^thXp@?<$iPEhy8_QrRw7sg{XY==Su__d$CUR>cHwREjjV zFY%`};O$6?>2yx!W|>rJ0Iy2$)=%Ys5+IK9>SjzYTg0nO*77imDACo6WbSHQ9P2!Z zv!H&JR?B7=oW=ggO_Yl*$Prg0Nvo~byS1!L|1BzC`p_LnjOafg;0>t6|3C1qwZZBP zg!@>CHU~B##8x)Y@77isDmRxW5;C+=`XH-Uf?51orL7B_rKFR9Hj(`8i7mAaZxKgq zzIdvVon0sA@US!qXU4=+VTS%cu8L|0uSpw0Ne#&i+EM0uNr>LQ3e_aBM7DrQtYN#|g{p;aLraxPCS7@j zbGjoMyWL1OMe3me&LgD`?NJth*ruhaq9ht*nI#hc^FqR~rJb;t-b_#`OjaoBF(Y$) zW};x(s%5gna^O-)6jNnIqF&=GLN!07>C?c3(=}S9^im_jR+q4p5YwoOQ=hH1{{L?v z*ctsL;nX{-k8I5dj`AzEXnd0AY_-%b&)KrCD5Kfa+<)+3(b8PqY;v`g|JMhSq7_S} z;J!;hGx2Gb=?i7Z?_AvfCP6oSF&cMf)1ZE) zLS+I`##5_8zQqCsdP+fO^LM&dG!3&D@wUE|0ZxCo)34|DpHP_o0AsOIM#gO$N~s*; zMM)z9?Ej*`!ITrnkipr`j636R*?K!uGzrY?fws>zKryhJr&faIuX+^EO-VX^bpUbU z_nkIcnnN-r;bGt4q`G#q+GIZ5-@KfQP(waCdOwtN*%waX-?sOe}RapC?)49Zuh z*#v4F5+~McZNW6*F8h)i0XM~VY4;wXS$Sgx!)-)j>y6Vq84C@(*)jED$LMmo8)F^6 z+firPi?In=s$GUUFA?fRVy~zmW43tR6U4YMwEs)PnlB-uEe}Q}`@=}81lZDBBKb6? z=7Cfel0w47jXZ@o4zRPy#OOO!b`@hTmSTuuD#pKTyGx{12{t&D2EKrr;%%?(TjSwW zXPB~TqezW3P^+umLyXmNEsauNUH@q}GFQaXbaHo?C_{FL%2yuhX#^ej>NlxL6~FkV z_SiSejDCY~XyUyIT5aM;vmh3PVm5aa!39aZtzrKk2TgIZTKcDE?ybnOXm;YB}f01S|p7bL{V)TXo+5D^b=nG^x?$5%)&+a_m7ee^LW3=C2wE7H{yi#O4^UJ5p?Hg;2T*MYc(nKC{5S7W-lDad z>#M{6npQhHXMU;}?bU1>tf`mOK^^1dM5Oy09mcL|PGSRdYNAb7MX`0A6}E*=Llc46 zr;;<&oGIsGx2M$};+%QPz#=HkPVPjBd-aSxN(ZTmLT3!m{_3=+8-fY(If;glg<$1Y zfxyCL6skz9sahn=*epYt%f0xF^`(qG$yxW`sw}d78w?PkM;@p3W~;{3&PoCEz*#~+ zFCe;>rR)6#=K;WyA+S8vzIowG3n#RG7^@tIYEjV3Tw;#Pz0-?3pGycJwN^(ccoz?27?-#0ZdknSKLMh?>8lI?m0?vwpA(l|< z(kKSn<)sP*_jF0RG{}y+EKiiLylE*~Oc>KX1^kM}#De~zJ$XRW%bfT&T(zM&@1cSG zI&OV%RbXM|VzJr-p$ejj(XY{&CTYwrlufMdO=RONlSC}Vf8~qdE8s6K54&izJ{MfC fyzAyJSZG99lb2J5@ik}PyjB;L*ue?Od^-LCBWUB% delta 13962 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 diff --git a/django/conf/locale/he/LC_MESSAGES/django.po b/django/conf/locale/he/LC_MESSAGES/django.po index 3ea69510c8..c0646a5518 100644 --- a/django/conf/locale/he/LC_MESSAGES/django.po +++ b/django/conf/locale/he/LC_MESSAGES/django.po @@ -8,923 +8,1171 @@ msgid "" msgstr "" "Project-Id-Version: Django 0.95\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-05-04 19:38+0300\n" -"PO-Revision-Date: 2007-05-06 12:43+0300\n" -"Last-Translator: meir <(null)>\n" -"Language-Team: English \n" +"POT-Creation-Date: 2007-10-05 18:10+0200\n" +"PO-Revision-Date: 2007-10-07 01:31+0200\n" +"Last-Translator: Meir Kriheli \n" +"Language-Team: Hebrew \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit" -#: newforms/models.py:165 newforms/fields.py:364 -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "יש לבחור אפשרות חוקית; '%(data)s' אינו בין %(choices)s." - -#: newforms/models.py:178 newforms/fields.py:80 newforms/fields.py:376 -#: newforms/fields.py:452 newforms/fields.py:463 -#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274 -#: db/models/fields/__init__.py:612 db/models/fields/__init__.py:623 -#: oldforms/__init__.py:357 -msgid "This field is required." -msgstr "יש להזין תוכן בשדה זה." - -#: newforms/models.py:182 newforms/fields.py:380 newforms/fields.py:456 -msgid "Enter a list of values." -msgstr "יש להזין רשימת ערכים" - -#: newforms/models.py:188 newforms/fields.py:389 -#, python-format -msgid "Select a valid choice. %s is not one of the available choices." -msgstr "יש לבחור אפשרות חוקית. %s אינו בין האפשרויות הזמינות." - -#: newforms/widgets.py:180 oldforms/__init__.py:577 -#: contrib/admin/filterspecs.py:150 -msgid "Unknown" -msgstr "לא ידוע" - -#: newforms/widgets.py:180 oldforms/__init__.py:577 -#: contrib/admin/filterspecs.py:143 -msgid "Yes" -msgstr "כן" - -#: newforms/widgets.py:180 oldforms/__init__.py:577 -#: contrib/admin/filterspecs.py:143 -msgid "No" -msgstr "לא" - -#: newforms/fields.py:103 newforms/fields.py:256 -#, python-format -msgid "Ensure this value has at most %d characters." -msgstr "נא לוודא שהטקסט שלך מכיל %d תווים לכל היותר." - -#: newforms/fields.py:105 newforms/fields.py:258 -#, python-format -msgid "Ensure this value has at least %d characters." -msgstr "נא לוודא שערך זה מכיל לפחות %d תווים" - -#: newforms/fields.py:128 core/validators.py:120 -msgid "Enter a whole number." -msgstr "נא להזין מספר שלם." - -#: newforms/fields.py:130 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "יש לוודא שערך זה פחות מ או שווה ל %s." - -#: newforms/fields.py:132 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "יש לוודא שהערך גדול מ או שווה ל %s." - -#: newforms/fields.py:165 -msgid "Enter a valid date." -msgstr "יש להזין תאריך חוקי." - -#: newforms/fields.py:192 -msgid "Enter a valid time." -msgstr "יש להזין שעה חוקית." - -#: newforms/fields.py:228 -msgid "Enter a valid date/time." -msgstr "יש להזין תאריך ושעה חוקיים." - -#: newforms/fields.py:242 -msgid "Enter a valid value." -msgstr "יש להזין ערך חוקי." - -#: newforms/fields.py:271 core/validators.py:162 -msgid "Enter a valid e-mail address." -msgstr "יש להזין כתובת דוא\"ל חוקית." - -#: newforms/fields.py:289 newforms/fields.py:311 -msgid "Enter a valid URL." -msgstr "יש להזין URL חוקי." - -#: newforms/fields.py:313 -msgid "This URL appears to be a broken link." -msgstr "ה-URL‏ הזה כנראה מכיל קישור שבור." - -#: db/models/manipulators.py:307 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s עם %(type)s קיים כבר עבור %(field)s נתון." - -#: 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 "ו" - -#: db/models/fields/related.py:53 -#, python-format -msgid "Please enter a valid %s." -msgstr "יש להזין %s חוקי." - -#: db/models/fields/related.py:642 -msgid "Separate multiple IDs with commas." -msgstr "יש להפריד מזהים מרובים בפסיקים." - -#: db/models/fields/related.py:644 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "החזק את \"Control\", או \"Command\" על מק, לחוץ כדי לבחור יותר מאחד." - -#: db/models/fields/related.py:691 -#, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr "נא להזין זיהוי %(self)s חוקי. הערך %(value)r אינו חוקי." - -#: db/models/fields/__init__.py:42 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s·עם·%(fieldname)s·זה קיימת כבר." - -#: db/models/fields/__init__.py:369 -msgid "This value must be an integer." -msgstr "ערך זה חייב להיות מספר שלם." - -#: db/models/fields/__init__.py:404 -msgid "This value must be either True or False." -msgstr "ערך זה חייב להיות אמת או שקר." - -#: db/models/fields/__init__.py:425 -msgid "This field cannot be null." -msgstr "שדה זה אינו יכול להכיל null." - -#: db/models/fields/__init__.py:459 core/validators.py:148 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "יש להזין תאריך במבנה YYYY-MM-DD." - -#: db/models/fields/__init__.py:528 core/validators.py:157 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "יש להזין תאריך ושעה במבנה YYYY-MM-DD HH:MM." - -#: db/models/fields/__init__.py:632 -msgid "Enter a valid filename." -msgstr "יש להזין שם קובץ חוקי." - -#: db/models/fields/__init__.py:753 -msgid "This value must be either None, True or False." -msgstr "ערך זה חייב להיות כלום, אמת או שקר." - -#: utils/dates.py:6 -msgid "Monday" -msgstr "שני" - -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "שלישי" - -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "רביעי" - -#: utils/dates.py:6 -msgid "Thursday" -msgstr "חמישי" - -#: utils/dates.py:6 -msgid "Friday" -msgstr "שישי" - -#: utils/dates.py:7 -msgid "Saturday" -msgstr "שבת" - -#: utils/dates.py:7 -msgid "Sunday" -msgstr "ראשון" - -#: utils/dates.py:14 -msgid "January" -msgstr "ינואר" - -#: utils/dates.py:14 -msgid "February" -msgstr "פברואר" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "March" -msgstr "מרס" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "April" -msgstr "אפריל" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "May" -msgstr "מאי" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "June" -msgstr "יוני" - -#: utils/dates.py:15 utils/dates.py:27 -msgid "July" -msgstr "יולי" - -#: utils/dates.py:15 -msgid "August" -msgstr "אוגוסט" - -#: utils/dates.py:15 -msgid "September" -msgstr "ספטמבר" - -#: utils/dates.py:15 -msgid "October" -msgstr "אוקטובר" - -#: utils/dates.py:15 -msgid "November" -msgstr "נובמבר" - -#: utils/dates.py:16 -msgid "December" -msgstr "דצמבר" - -#: utils/dates.py:19 -msgid "jan" -msgstr "ינו" - -#: utils/dates.py:19 -msgid "feb" -msgstr "פבר" - -#: utils/dates.py:19 -msgid "mar" -msgstr "מרס" - -#: utils/dates.py:19 -msgid "apr" -msgstr "אפר" - -#: utils/dates.py:19 -msgid "may" -msgstr "מאי" - -#: utils/dates.py:19 -msgid "jun" -msgstr "יונ" - -#: utils/dates.py:20 -msgid "jul" -msgstr "יול" - -#: utils/dates.py:20 -msgid "aug" -msgstr "אוג" - -#: utils/dates.py:20 -msgid "sep" -msgstr "ספט" - -#: utils/dates.py:20 -msgid "oct" -msgstr "אוק" - -#: utils/dates.py:20 -msgid "nov" -msgstr "נוב" - -#: utils/dates.py:20 -msgid "dec" -msgstr "דצמ" - -#: utils/dates.py:27 -msgid "Jan." -msgstr "ינו'" - -#: utils/dates.py:27 -msgid "Feb." -msgstr "פבר'" - -#: utils/dates.py:28 -msgid "Aug." -msgstr "אוג'" - -#: utils/dates.py:28 -msgid "Sept." -msgstr "ספט'" - -#: utils/dates.py:28 -msgid "Oct." -msgstr "אוק'" - -#: utils/dates.py:28 -msgid "Nov." -msgstr "נוב'" - -#: utils/dates.py:28 -msgid "Dec." -msgstr "דצמ'" - -#: utils/timesince.py:12 -msgid "year" -msgstr "שנה" - -#: utils/timesince.py:13 -msgid "month" -msgstr "חודש" - -#: utils/timesince.py:14 -msgid "week" -msgstr "שבוע" - -#: utils/timesince.py:15 -msgid "day" -msgstr "יום" - -#: utils/timesince.py:16 -msgid "hour" -msgstr "שעה" - -#: utils/timesince.py:17 -msgid "minute" -msgstr "דקה" - -#: utils/timesince.py:40 -#, python-format -msgid "%d milliseconds" -msgstr "%d מילישניות" - -#: utils/timesince.py:41 -#, python-format -msgid "%(number)d %(type)s" -msgstr "%(number)d %(type)s" - -#: utils/timesince.py:47 -#, python-format -msgid ", %(number)d %(type)s" -msgstr ", %(number)d %(type)s" - -#: utils/dateformat.py:40 -msgid "p.m." -msgstr "אחר הצהריים" - -#: utils/dateformat.py:41 -msgid "a.m." -msgstr "בבוקר" - -#: utils/dateformat.py:46 -msgid "PM" -msgstr "אחר הצהריים" - -#: utils/dateformat.py:47 -msgid "AM" -msgstr "בבוקר" - -#: utils/dateformat.py:95 -msgid "midnight" -msgstr "חצות" - -#: utils/dateformat.py:97 -msgid "noon" -msgstr "צהריים" - -#: utils/translation/trans_real.py:358 -msgid "DATE_FORMAT" -msgstr "d.m.Y" - -#: utils/translation/trans_real.py:359 -msgid "DATETIME_FORMAT" -msgstr "d.m.y H:i:s" - -#: utils/translation/trans_real.py:360 -msgid "TIME_FORMAT" -msgstr "H:i:s" - -#: utils/translation/trans_real.py:376 -msgid "YEAR_MONTH_FORMAT" -msgstr "d.m.Y" - -#: utils/translation/trans_real.py:377 -msgid "MONTH_DAY_FORMAT" -msgstr "d.m.Y" - #: conf/global_settings.py:39 msgid "Arabic" -msgstr "ערבית" +msgstr "ערבית - Arabic" #: conf/global_settings.py:40 msgid "Bengali" msgstr "בנגאלית - Bengali" #: conf/global_settings.py:41 +msgid "Bulgarian" +msgstr "בולגרית - Bulgarian" + +#: conf/global_settings.py:42 msgid "Catalan" msgstr "קאטלונית - Catalan" -#: conf/global_settings.py:42 +#: conf/global_settings.py:43 msgid "Czech" msgstr "צ'כית - Czech" -#: conf/global_settings.py:43 +#: conf/global_settings.py:44 msgid "Welsh" msgstr "וולשית - Welsh" -#: conf/global_settings.py:44 +#: conf/global_settings.py:45 msgid "Danish" msgstr "דנית - Danish" -#: conf/global_settings.py:45 +#: conf/global_settings.py:46 msgid "German" msgstr "גרמנית - German" -#: conf/global_settings.py:46 +#: conf/global_settings.py:47 msgid "Greek" msgstr "יוונית - Greek" -#: conf/global_settings.py:47 +#: conf/global_settings.py:48 msgid "English" msgstr "אנגלית - English" -#: conf/global_settings.py:48 +#: conf/global_settings.py:49 msgid "Spanish" msgstr "ספרדית - Spanish" -#: conf/global_settings.py:49 +#: conf/global_settings.py:50 msgid "Argentinean Spanish" msgstr "ספרדית ארגנטינאית - Argentinean Spanish" -#: conf/global_settings.py:50 +#: conf/global_settings.py:51 +msgid "Persian" +msgstr "פרסית - Persian" + +#: conf/global_settings.py:52 msgid "Finnish" msgstr "פינית - Finnish" -#: conf/global_settings.py:51 +#: conf/global_settings.py:53 msgid "French" msgstr "צרפתית - French" -#: conf/global_settings.py:52 +#: conf/global_settings.py:54 +msgid "Gaeilge" +msgstr "גיילית אירית - Gaeilge" + +#: conf/global_settings.py:55 msgid "Galician" msgstr "גאליצית - Galician" -#: conf/global_settings.py:53 +#: conf/global_settings.py:56 msgid "Hungarian" -msgstr "הונגרית (Hungarian)" +msgstr "הונגרית - Hungarian" -#: conf/global_settings.py:54 +#: conf/global_settings.py:57 msgid "Hebrew" msgstr "עברית - Hebrew" -#: conf/global_settings.py:55 +#: conf/global_settings.py:58 +msgid "Croatian" +msgstr "קרואטית - Croatian" + +#: conf/global_settings.py:59 msgid "Icelandic" msgstr "איסלנדית - Icelandic" -#: conf/global_settings.py:56 +#: conf/global_settings.py:60 msgid "Italian" msgstr "איטלקית - Italian" -#: conf/global_settings.py:57 +#: conf/global_settings.py:61 msgid "Japanese" msgstr "יפנית - Japanese" -#: conf/global_settings.py:58 +#: conf/global_settings.py:62 msgid "Korean" msgstr "קוריאנית - Korean" -#: conf/global_settings.py:59 +#: conf/global_settings.py:63 +msgid "Khmer" +msgstr "חמר - Khmer" + +#: conf/global_settings.py:64 msgid "Kannada" msgstr "קנדה - Kannada" -#: conf/global_settings.py:60 +#: conf/global_settings.py:65 msgid "Latvian" msgstr "לטבית - Latvian" -#: conf/global_settings.py:61 +#: conf/global_settings.py:66 msgid "Macedonian" msgstr "מקדונית - Macedonian" -#: conf/global_settings.py:62 +#: conf/global_settings.py:67 msgid "Dutch" msgstr "הולנדית - Dutch" -#: conf/global_settings.py:63 +#: conf/global_settings.py:68 msgid "Norwegian" msgstr "נורווגית - Norwegian" -#: conf/global_settings.py:64 +#: conf/global_settings.py:69 msgid "Polish" msgstr "פולנית - Polish" -#: conf/global_settings.py:65 +#: conf/global_settings.py:70 msgid "Portugese" msgstr "פורטוגזית - Portugese" -#: conf/global_settings.py:66 +#: conf/global_settings.py:71 msgid "Brazilian" msgstr "ברזילאית - Brazilian" -#: conf/global_settings.py:67 +#: conf/global_settings.py:72 msgid "Romanian" msgstr "רומנית - Romanian" -#: conf/global_settings.py:68 +#: conf/global_settings.py:73 msgid "Russian" msgstr "רוסית - Russian" -#: conf/global_settings.py:69 +#: conf/global_settings.py:74 msgid "Slovak" msgstr "סלובקית - Slovak" -#: conf/global_settings.py:70 +#: conf/global_settings.py:75 msgid "Slovenian" msgstr "סלובנית - Slovenian" -#: conf/global_settings.py:71 +#: conf/global_settings.py:76 msgid "Serbian" msgstr "סרבית - Serbian" -#: conf/global_settings.py:72 +#: conf/global_settings.py:77 msgid "Swedish" msgstr "שוודית - Swedish" -#: conf/global_settings.py:73 +#: conf/global_settings.py:78 msgid "Tamil" -msgstr "" +msgstr "טמילית" -#: conf/global_settings.py:74 +#: conf/global_settings.py:79 msgid "Telugu" -msgstr "" +msgstr "טלגו - Telugu" -#: conf/global_settings.py:75 +#: conf/global_settings.py:80 msgid "Turkish" msgstr "טורקית - Turkish" -#: conf/global_settings.py:76 +#: conf/global_settings.py:81 msgid "Ukrainian" msgstr "אוקראינית - Ukrainian" -#: conf/global_settings.py:77 +#: conf/global_settings.py:82 msgid "Simplified Chinese" msgstr "סינית פשוטה - Simplified·Chinese" -#: conf/global_settings.py:78 +#: conf/global_settings.py:83 msgid "Traditional Chinese" msgstr "סינית מסורתית - Traditional·Chinese" -#: template/defaultfilters.py:491 -msgid "yes,no,maybe" -msgstr "כן,לא,אולי" - -#: template/defaultfilters.py:520 -#, python-format -msgid "%(size)d byte" -msgstr "%(size)d בתים" - -#: template/defaultfilters.py:522 -#, python-format -msgid "%.1f KB" -msgstr "%.1f KB" - -#: template/defaultfilters.py:524 -#, python-format -msgid "%.1f MB" -msgstr "%.1f MB" - -#: template/defaultfilters.py:525 -#, python-format -msgid "%.1f GB" -msgstr "%.1f GB" - -#: views/generic/create_update.py:43 -#, python-format -msgid "The %(verbose_name)s was created successfully." -msgstr "ה-%(verbose_name)s נוצר בהצלחה." - -#: views/generic/create_update.py:117 -#, python-format -msgid "The %(verbose_name)s was updated successfully." -msgstr "ה-%(verbose_name)s עודכן בהצלחה." - -#: views/generic/create_update.py:184 -#, python-format -msgid "The %(verbose_name)s was deleted." -msgstr "ה-%(verbose_name)s נמחק." - -#: oldforms/__init__.py:392 -#, python-format -msgid "Ensure your text is less than %s character." -msgstr "נא לוודא שהטקסט שלך מכיל פחות מ %s תו." - -#: oldforms/__init__.py:397 -msgid "Line breaks are not allowed here." -msgstr "מעברי שורה אסורים כאן." - -#: 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 "יש לבחור אפשרות חוקית; '%(data)s' אינו בין %(choices)s." - -#: 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 "לא נשלח שום קובץ. נא לבדוק את סוג הקידוד של הטופס." - -#: oldforms/__init__.py:674 -msgid "The submitted file is empty." -msgstr "הקובץ שנשלח ריק." - -#: oldforms/__init__.py:730 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "חש להזין מספר שלם בין ‎-32,768 ל- 32,767." - -#: oldforms/__init__.py:740 -msgid "Enter a positive number." -msgstr "יש להזין מספר חיובי." - -#: oldforms/__init__.py:750 -msgid "Enter a whole number between 0 and 32,767." -msgstr "יש להזין מספר שלם בין 0 ל- 32,767." - -#: core/validators.py:64 -msgid "This value must contain only letters, numbers and underscores." -msgstr "ערך זה חייב להכיל אותיות, ספרות וקווים תחתונים בלבד." - -#: core/validators.py:68 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "ערך זה חייב להכיל אותיות, ספרות, מקפים, קווים תחתונים ונטויים בלבד." - -#: core/validators.py:72 -msgid "This value must contain only letters, numbers, underscores or hyphens." -msgstr "ערך זה חייב להכיל אותיות, ספרות, מקפים וקווים תחתונים בלבד." - -#: core/validators.py:76 -msgid "Uppercase letters are not allowed here." -msgstr "אסור להשתמש באותיות גדולות." - -#: core/validators.py:80 -msgid "Lowercase letters are not allowed here." -msgstr "אסור להשתמש באותיות קטנות." - -#: core/validators.py:87 -msgid "Enter only digits separated by commas." -msgstr "יש להזין רק ספרות מופרדות בפסיקים." - -#: core/validators.py:99 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "יש להזין רק כתובות דוא\"ל מופרדות בפסיקים." - -#: core/validators.py:103 -msgid "Please enter a valid IP address." -msgstr "נא להזין כתובת IP חוקית." - -#: core/validators.py:107 -msgid "Empty values are not allowed here." -msgstr "חובה להזין ערך בשדה זה." - -#: core/validators.py:111 -msgid "Non-numeric characters aren't allowed here." -msgstr "מותר להזין ספרות בלבד." - -#: core/validators.py:115 -msgid "This value can't be comprised solely of digits." -msgstr "ערך זה אינו יכול להכיל ספרות בלבד." - -#: core/validators.py:124 -msgid "Only alphabetical characters are allowed here." -msgstr "יש להזין כאן אותיות בלבד." - -#: core/validators.py:139 -msgid "Year must be 1900 or later." -msgstr "שנה צריכה להיות 1900 ומעלה." - -#: core/validators.py:143 -#, python-format -msgid "Invalid date: %s" -msgstr "תאריך שגוי: %s" - -#: core/validators.py:153 -msgid "Enter a valid time in HH:MM format." -msgstr "יש להזין שעה במבנה HH:MM." - -#: core/validators.py:178 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "נא להעלות תמונה חוקית. הקובץ שהעלת אינו תמונה אומכיל תמונה מקולקלת." - -#: core/validators.py:185 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "ה-URL %s אנו מצביע לתמונה חוקית." - -#: core/validators.py:189 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "מספרי טלפון חייבים להיות במבנה XXX-XXX-XXXX.‏ \"%s\" אינו חוקי." - -#: core/validators.py:197 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "ה-URL‏ %s אינו מצביע לסרטון QuickTime חוקי." - -#: core/validators.py:201 -msgid "A valid URL is required." -msgstr "יש להזין URL חוקי." - -#: core/validators.py:215 +#: contrib/admin/filterspecs.py:42 #, python-format msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" +"

By %s:

\n" +"
    \n" msgstr "" -"יש להזין HTML חוקי. שגיאות ספציפיות:\n" -"%s" +"

    ע\"י %s:

    \n" +"
      \n" -#: core/validators.py:222 +#: contrib/admin/filterspecs.py:72 +#: contrib/admin/filterspecs.py:90 +#: contrib/admin/filterspecs.py:145 +#: contrib/admin/filterspecs.py:171 +msgid "All" +msgstr "הכל" + +#: contrib/admin/filterspecs.py:111 +msgid "Any date" +msgstr "כל תאריך" + +#: contrib/admin/filterspecs.py:112 +msgid "Today" +msgstr "היום" + +#: contrib/admin/filterspecs.py:115 +msgid "Past 7 days" +msgstr "בשבוע האחרון" + +#: contrib/admin/filterspecs.py:117 +msgid "This month" +msgstr "החודש" + +#: contrib/admin/filterspecs.py:119 +msgid "This year" +msgstr "השנה" + +#: contrib/admin/filterspecs.py:145 +#: newforms/widgets.py:198 +#: oldforms/__init__.py:591 +msgid "Yes" +msgstr "כן" + +#: contrib/admin/filterspecs.py:145 +#: newforms/widgets.py:198 +#: oldforms/__init__.py:591 +msgid "No" +msgstr "לא" + +#: contrib/admin/filterspecs.py:152 +#: newforms/widgets.py:198 +#: oldforms/__init__.py:591 +msgid "Unknown" +msgstr "לא ידוע" + +#: contrib/admin/models.py:17 +msgid "action time" +msgstr "זמן פעולה" + +#: contrib/admin/models.py:20 +msgid "object id" +msgstr "מזהה אובייקט" + +#: contrib/admin/models.py:21 +msgid "object repr" +msgstr "ייצוג אובייקט" + +#: contrib/admin/models.py:22 +msgid "action flag" +msgstr "דגל פעולה" + +#: contrib/admin/models.py:23 +msgid "change message" +msgstr "הערה לשינוי" + +#: contrib/admin/models.py:26 +msgid "log entry" +msgstr "רישום יומן" + +#: contrib/admin/models.py:27 +msgid "log entries" +msgstr "רישומי יומן" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "דף לא קיים" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "אנו מצטערים, לא ניתן למצוא את הדף המבוקש." + +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "דף הבית" + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "שגיאת שרת" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "שגיאת שרת (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "שגיאת שרת (500)" + +#: contrib/admin/templates/admin/500.html:10 +msgid "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." +msgstr "התרחשה שגיאה. היא דווחה למנהלי האתר בדוא\"ל ותתוקן בקרוב. תודה על סבלנותך." + +#: contrib/admin/templates/admin/base.html:26 +msgid "Welcome," +msgstr "שלום" + +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "תיעוד" + +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 +msgid "Change password" +msgstr "שינוי סיסמה" + +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "יציאה" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "ניהול אתר Django" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "ניהול Django" + +#: contrib/admin/templates/admin/change_form.html:14 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "הוספה" + +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 +msgid "History" +msgstr "היסטוריה" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "צפיה באתר" + +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 +msgid "Please correct the error below." +msgstr "נא לתקן את השגיאה המופיעה מתחת." + +#: contrib/admin/templates/admin/change_form.html:49 +msgid "Ordering" +msgstr "מיון" + +#: contrib/admin/templates/admin/change_form.html:52 +msgid "Order:" +msgstr "מיון:" + +#: contrib/admin/templates/admin/change_list.html:11 #, python-format -msgid "Badly formed XML: %s" -msgstr "מבנה XML שגוי: %s" +msgid "Add %(name)s" +msgstr "הוספת %(name)s" -#: core/validators.py:239 +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "מחיקה" + +#: contrib/admin/templates/admin/delete_confirmation.html:13 #, python-format -msgid "Invalid URL: %s" -msgstr "URL שגוי: %s" +msgid "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" +msgstr "מחיקת %(object_name)s '%(escaped_object)s' מצריכה מחיקת אובייקטים מקושרים, אך לחשבון שלך אין הרשאות למחיקתסוגי האובייקטים הבאים:" -#: core/validators.py:244 core/validators.py:246 +#: contrib/admin/templates/admin/delete_confirmation.html:20 #, python-format -msgid "The URL %s is a broken link." -msgstr "ה-URL‏ %s הוא קישור שבור." +msgid "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? All of the following related items will be deleted:" +msgstr "האם ברצונך למחוק את %(object_name)s \"%(escaped_object)s\"? כל הפריטים הקשורים הבאים יימחקו:" -#: core/validators.py:252 -msgid "Enter a valid U.S. state abbreviation." -msgstr "יש להזין קיצור חוקי למדינה בארה\"ב." +#: contrib/admin/templates/admin/delete_confirmation.html:25 +msgid "Yes, I'm sure" +msgstr "כן, אני בטוח/ה" -#: core/validators.py:266 +#: contrib/admin/templates/admin/filter.html:2 #, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgstr "שמור על לשונך! המילה %s אסורה לשימוש כאן." +msgid " By %(filter_title)s " +msgstr " לפי %(filter_title)s " -#: core/validators.py:273 +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "סינון" + +#: contrib/admin/templates/admin/index.html:17 #, python-format -msgid "This field must match the '%s' field." -msgstr "תוכן השדה חייב להיות זהה לשדה '%s'." +msgid "Models available in the %(name)s application." +msgstr "מודלים זמינים ביישום %(name)s." -#: core/validators.py:292 -msgid "Please enter something for at least one field." -msgstr "יש להזין תוכן בלפחות אחד מהשדות." - -#: core/validators.py:301 core/validators.py:312 -msgid "Please enter both fields or leave them both empty." -msgstr "יש להזין תוכן בשני השדות או להשאיר את שניהם ריקים." - -#: core/validators.py:320 +#: contrib/admin/templates/admin/index.html:18 #, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "יש להזין מידע בשדה זה אם שדה %(field)s מכיל %(value)s" +msgid "%(name)s" +msgstr "%(name)s" -#: core/validators.py:333 +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "שינוי" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "אין לך הרשאות לעריכה" + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "פעולות אחרונות" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "הפעולות שלי" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "לא נמצאו" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." +msgstr "משהו שגוי בהתקנת בסיס הנתונים שלך. נא לוודא שנוצרו טבלאות בסיס הנתונים המתאימות, ובסיס הנתונים ניתן לקריאה על ידי המשתמש המתאים." + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "שם משתמש:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "סיסמה:" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:24 +msgid "Log in" +msgstr "כניסה" + +#: contrib/admin/templates/admin/object_history.html:17 +msgid "Date/time" +msgstr "תאריך/שעה" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "User" +msgstr "משתמש" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "Action" +msgstr "פעולה" + +#: contrib/admin/templates/admin/object_history.html:25 +msgid "DATE_WITH_TIME_FULL" +msgstr "l d.m.y H:i:s" + +#: contrib/admin/templates/admin/object_history.html:35 +msgid "This object doesn't have a change history. It probably wasn't added via this admin site." +msgstr "לאובייקט זה אין היסטוריית שינוי. כנראה לא השתמשו בממשק הניהול הזה להוספתו." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "הצג הכל" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "בצע" + +#: contrib/admin/templates/admin/search_form.html:10 #, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "יש להזין תוכן בשדה זה אם תוכן שדה %(field)s אינו %(value)s" +msgid "1 result" +msgstr "תוצאה אחת" -#: core/validators.py:352 -msgid "Duplicate values are not allowed." -msgstr "לא ניתן להזין ערכים כפולים." - -#: core/validators.py:367 +#: contrib/admin/templates/admin/search_form.html:10 #, python-format -msgid "This value must be between %(lower)s and %(upper)s." -msgstr "ערך זה חייב להיות בין %(lower)s ל-%(upper)s." +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s סה\"כ" -#: core/validators.py:369 +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "שמירה כחדש" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "שמירה והוספת אחר" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "שמירה והמשך עריכה" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "שמירה" + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "First, enter a username and password. Then, you'll be able to edit more user options." +msgstr "ראשית יש להזין שם משתמש וסיסמה. לאחר מכן יהיה ביכולתך לערוך אפשרויותנוספות עבור המשתמש" + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "שם משתמש" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 +msgid "Password" +msgstr "סיסמה" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 +msgid "Password (again)" +msgstr "סיסמה (שוב)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Enter the same password as above, for verification." +msgstr "יש להזין את אותה סיסנה שוב,לאימות." + +#: contrib/admin/templates/admin/auth/user/change_password.html:27 #, python-format -msgid "This value must be at least %s." -msgstr "ערך זה חייב להיות לפחות %s." +msgid "Enter a new password for the user %(username)s." +msgstr "יש להזין סיסמה חדשה עבור המשתמש %(username)s." -#: core/validators.py:371 -#, python-format -msgid "This value must be no more than %s." -msgstr "ערך זה אינו יכול להיות יותר מ-%s." +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "ייסומניות" -#: core/validators.py:407 -#, python-format -msgid "This value must be a power of %s." -msgstr "ערך זה חייב להיות חזקה של %s." +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "ייסומוניות תיעוד" -#: core/validators.py:418 -msgid "Please enter a valid decimal number." -msgstr "יש להזין מספר עשרוני חוקי." - -#: core/validators.py:422 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -"Please enter a valid decimal number with at most %s total digits." -msgstr "נא להזין מספר עשרוני חוקי עם %s ספרה לכל היותר." -"נא להזין מספר עשורני חוקי עם %s ספרות לכל היותר." - -#: core/validators.py:425 -#, python-format +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 msgid "" -"Please enter a valid decimal number with a whole part of at most %s digit." -"Please enter a valid decimal number with a whole part of at most %s digits." +"\n" +"

      To install bookmarklets, drag the link to your bookmarks\n" +"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" +"select the bookmarklet from any page in the site. Note that some of these\n" +"bookmarklets require you to be viewing the site from a computer designated\n" +"as \"internal\" (talk to your system administrator if you aren't sure if\n" +"your computer is \"internal\").

      \n" msgstr "" -"נא להזין מספר עשרוני המכיל מספר שלם עם %s ספרה לכל היותר." -"נא להזין מספר עשרוני המכיל מספר שלם עם %s ספרות לכל היותר." +"\n" +"

      כדי להתקין ייסומניות, יש לגרור את הקישור לסרגל הסימניות\n" +"שלך, או קליק ימני והוספה לסימניות. כעת ניתן\n" +"לבחור את הייסומניה מכל עמוד באתר. יש לשים לב כי חלק מהייסומניות\n" +"ניתנות לצפיה רק ממחשב שמסווג\n" +"כ\"פנימי\" (יש לדבר עם מנהל המערכת שלך אם אינך בטוח/ה\n" +"שהמחשב מסווג ככזה).

      \n" -#: core/validators.py:428 +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "תיעוד לדף זה" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Jumps you from any page to the documentation for the view that generates that page." +msgstr "מקפיץ אותך מכל עמוד לתיעוד התצוגה שייצרה אותו." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "הצג מזהה אובייקט" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Shows the content-type and unique ID for pages that represent a single object." +msgstr "מציג את סוג התוכן והמזהה הייחודי לעמודים המייצגים אובייקט בודד." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "עריכת אובייקט זה (בחלון הנוכחי)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "קופץ לעמוד הניהול לעמודים אשר מייצגים אובייקטים בודד." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "עריכת אובייקט זה (בחלון חדש)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "כנ\"ל, אך דף הניהול ייפתח בחלון חדש." + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "תודה על בילוי זמן איכות עם האתר." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "התחבר/י שוב" + +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 +msgid "Password change" +msgstr "שינוי סיסמה" + +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 +msgid "Password change successful" +msgstr "הסיסמה שונתה בהצלחה" + +#: contrib/admin/templates/registration/password_change_done.html:11 +msgid "Your password was changed." +msgstr "סיסמתך שונתה." + +#: contrib/admin/templates/registration/password_change_form.html:11 +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 "נא להזין את סיסמתך הישנה, למען האבטחה, ולאחר מכן את סיסמתךהחדשה פעמיים כדי שנוכל לוודא שהקלדת אותה כראוי." + +#: contrib/admin/templates/registration/password_change_form.html:16 +msgid "Old password:" +msgstr "סיסמה ישנה:" + +#: contrib/admin/templates/registration/password_change_form.html:18 +msgid "New password:" +msgstr "סיסמה חדשה:" + +#: contrib/admin/templates/registration/password_change_form.html:20 +msgid "Confirm password:" +msgstr "אימות סיסמה:" + +#: contrib/admin/templates/registration/password_change_form.html:22 +msgid "Change my password" +msgstr "שנה את סיסמתי" + +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +msgid "Password reset" +msgstr "איפוס סיסמה" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "הסיסמה אופסה בהצלחה" + +#: contrib/admin/templates/registration/password_reset_done.html:12 +msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." +msgstr "שלחנו את הסיסמה החדשה לכתובת הדוא\"ל שהזנת. היא אמורה להתקבל תוך זמן קצר." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "הודעה זו התקבלה כי ביקשת איפוס סיסמה" + +#: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -"Please enter a valid decimal number with at most %s decimal places." -msgstr "נא להזין מספר עשרוני חוקי בעל %s ספרה לכל היותר במקום העשרוני." -"נא להזין מספר עשרוני חוקי בעל %s ספרות לכל היותר במקום העשרוני." +msgid "for your user account at %(site_name)s" +msgstr "עבור חשבון המשתמש שלך ב %(site_name)s" -#: core/validators.py:438 +#: contrib/admin/templates/registration/password_reset_email.html:5 #, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "יש להעלות קובץ בגודל %s בתים לפחות." +msgid "Your new password is: %(new_password)s" +msgstr "סיסמתך החדשה: %(new_password)s" -#: core/validators.py:439 +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "ניתן לשנות את הסיסמה בכל עת ע\"י פניה לדף זה:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "שם המשתמש שלך, במקרה ששכחת:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "תודה על השימוש באתר שלנו!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 #, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "יש לוודא שהקובץ שהעלת הוא בגודל %s בתים לכל היותר." +msgid "The %(site_name)s team" +msgstr "צוות %(site_name)s" -#: core/validators.py:456 -msgid "The format for this field is wrong." -msgstr "מבנה תוכן שדה זה שגוי." +#: contrib/admin/templates/registration/password_reset_form.html:12 +msgid "Forgotten your password? Enter your e-mail address below, and we'll reset your password and e-mail the new one to you." +msgstr "שכחת את סיסמתך ? נא להזין את כתובת הדוא\"ל מתחת, אנו נאפסאת הסיסמה ונשלח את החדשה אליך." -#: core/validators.py:471 -msgid "This field is invalid." -msgstr "שדה זה אינו חוקי." +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "כתובת דוא\"ל:" -#: core/validators.py:507 +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "אפס את סיסמתי" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "תאריך:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "שעה:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "הנוכחי." + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "שינוי:" + +#: contrib/admin/templatetags/admin_list.py:254 +msgid "All dates" +msgstr "כל התאריכים" + +#: contrib/admin/views/auth.py:20 +#: contrib/admin/views/main.py:264 #, python-format -msgid "Could not retrieve anything from %s." -msgstr "לא ניתן לאחזר כלום מ %s." +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "הוספת %(name)s \"%(obj)s\" בוצעה בהצלחה." -#: core/validators.py:510 +#: contrib/admin/views/auth.py:25 +#: contrib/admin/views/main.py:268 +#: contrib/admin/views/main.py:354 +msgid "You may edit it again below." +msgstr "ניתן לערוך שוב מתחת" + +#: contrib/admin/views/auth.py:31 +msgid "Add user" +msgstr "הוספת משתמש" + +#: contrib/admin/views/auth.py:58 +msgid "Password changed successfully." +msgstr "הסיסמה שונתה בהצלחה." + +#: contrib/admin/views/auth.py:65 #, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "ה-URL·%(url)s·החזיר כותרת·Content-Type·לא חוקית·'%(contenttype)s'." +msgid "Change password: %s" +msgstr "שינוי סיסמה: %s" -#: core/validators.py:543 +#: contrib/admin/views/decorators.py:10 +#: contrib/auth/forms.py:60 +msgid "Please enter a correct username and password. Note that both fields are case-sensitive." +msgstr "נא להזין שם משתמש וסיסמה נכונים. בשני השדות גודל האותיות האנגליות משנה." + +#: contrib/admin/views/decorators.py:62 +msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." +msgstr "נא להתחבר שוב, מאחר ופג תוקף ההתחברות הנוכחית. אל דאגה: המידע ששלחת נשמר." + +#: contrib/admin/views/decorators.py:69 +msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." +msgstr "נראה שהדפדפן שלך אינו מוגדר לקבל עוגיות. נא לאפשר עוגיות, לטעון מחדש את הדף ולנסות שוב." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "שם משתמש אינו יכול להכיל את התו '@'." + +#: contrib/admin/views/decorators.py:85 #, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "נא לסגור את תג·%(tag)s·בשורה·%(line)s.·(השורה מתחילה ב·\"%(start)s\".)" +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "כתובת הדוא\"ל שלך אינה שם המשתמש שלך. נסה/י '%s' במקום." -#: core/validators.py:547 +#: contrib/admin/views/doc.py:47 +#: contrib/admin/views/doc.py:49 +#: contrib/admin/views/doc.py:51 +msgid "tag:" +msgstr "תג:" + +#: contrib/admin/views/doc.py:78 +#: contrib/admin/views/doc.py:80 +#: contrib/admin/views/doc.py:82 +msgid "filter:" +msgstr "סינון:" + +#: contrib/admin/views/doc.py:136 +#: contrib/admin/views/doc.py:138 +#: contrib/admin/views/doc.py:140 +msgid "view:" +msgstr "צפיה (view):" + +#: contrib/admin/views/doc.py:165 #, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"חלק מהטקסט בשורה·%(line)s·אסור בהקשר זה.·(השורה·מתחילה ב·\"%(start)s\".)" +msgid "App %r not found" +msgstr "יישום %r לא נמצא" -#: core/validators.py:552 +#: contrib/admin/views/doc.py:172 #, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"%(attr)s\"·בשורה·%(line)s·אינה תכונה חוקית.·(השורה מתחילה ב·\"%(start)s\".)" +msgid "Model %(name)r not found in app %(label)r" +msgstr "מודל %(name)r לא נמצא ביישום %(label)r" -#: core/validators.py:557 +#: contrib/admin/views/doc.py:184 #, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" -"\"<%(tag)s>\"·בשורה·%(line)s·אינו תג חוקי.·(השורה מתחילה ב·\"%(start)s\".)" +msgid "the related `%(label)s.%(type)s` object" +msgstr "האובייקט `%(label)s.%(type)s` הקשור" -#: core/validators.py:561 +#: contrib/admin/views/doc.py:184 +#: contrib/admin/views/doc.py:206 +#: contrib/admin/views/doc.py:220 +#: contrib/admin/views/doc.py:225 +msgid "model:" +msgstr "מודל:" + +#: contrib/admin/views/doc.py:215 #, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"לתג בשורה %(line)s חסרה תכונה אחת או יותר נדרשות. (השורה מתחילה ב-\"%(start)s" -"\".)" +msgid "related `%(label)s.%(name)s` objects" +msgstr "אובייקטי `%(label)s.%(name)s` מקושרים" -#: core/validators.py:566 +#: contrib/admin/views/doc.py:220 #, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" -"לתכונה·\"%(attr)s\"·בשורה·%(line)s·יש ערך לא חוקי.·(השורה·מתחילה ב·\"%(start)" -"s\".)" +msgid "all %s" +msgstr "כל %s" -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "שם מתחם" +#: contrib/admin/views/doc.py:225 +#, python-format +msgid "number of %s" +msgstr "מספר %s" -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "שם לתצוגה" +#: contrib/admin/views/doc.py:230 +#, python-format +msgid "Fields on %s objects" +msgstr "Fields on %s objects" -#: contrib/sites/models.py:15 -msgid "site" -msgstr "אתר" +#: contrib/admin/views/doc.py:292 +#: contrib/admin/views/doc.py:303 +#: contrib/admin/views/doc.py:305 +#: contrib/admin/views/doc.py:311 +#: contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:314 +msgid "Integer" +msgstr "מספר שלם" -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "אתרים" +#: contrib/admin/views/doc.py:293 +msgid "Boolean (Either True or False)" +msgstr "בוליאני (אמת או שקר)" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 +#: contrib/admin/views/doc.py:294 +#: contrib/admin/views/doc.py:313 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "מחרוזת (עד %(max_length)s תווים)" + +#: contrib/admin/views/doc.py:295 +msgid "Comma-separated integers" +msgstr "מספרים שלמים מופרדים בפסיקים" + +#: contrib/admin/views/doc.py:296 +msgid "Date (without time)" +msgstr "תאריך (ללא שעה)" + +#: contrib/admin/views/doc.py:297 +msgid "Date (with time)" +msgstr "תאריך (כולל שעה)" + +#: contrib/admin/views/doc.py:298 +msgid "Decimal number" +msgstr "מספר עשרוני" + +#: contrib/admin/views/doc.py:299 +msgid "E-mail address" +msgstr "כתובת דוא\"ל" + +#: contrib/admin/views/doc.py:300 +#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:304 +msgid "File path" +msgstr "נתיב קובץ" + +#: contrib/admin/views/doc.py:302 +msgid "Floating point number" +msgstr "מספר עשרוני" + +#: contrib/admin/views/doc.py:306 +#: contrib/comments/models.py:85 +msgid "IP address" +msgstr "כתובת IP" + +#: contrib/admin/views/doc.py:308 +msgid "Boolean (Either True, False or None)" +msgstr "בוליאני (אמת, שקר או כלום)" + +#: contrib/admin/views/doc.py:309 +msgid "Relation to parent model" +msgstr "יחס למודל אב" + +#: contrib/admin/views/doc.py:310 +msgid "Phone number" +msgstr "מספר טלפון" + +#: contrib/admin/views/doc.py:315 +msgid "Text" +msgstr "טקסט" + +#: contrib/admin/views/doc.py:316 +msgid "Time" +msgstr "זמן" + +#: contrib/admin/views/doc.py:317 +#: contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:318 +msgid "U.S. state (two uppercase letters)" +msgstr "מדינה בארה\"ב (שתי אותיות גדולות)" + +#: contrib/admin/views/doc.py:319 +msgid "XML text" +msgstr "טקסט XML" + +#: contrib/admin/views/doc.py:345 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "לא נראה ש-%s הוא אובייקט urlpattern" + +#: contrib/admin/views/main.py:230 +msgid "Site administration" +msgstr "ניהול אתר" + +#: contrib/admin/views/main.py:278 +#: contrib/admin/views/main.py:363 +#, python-format +msgid "You may add another %s below." +msgstr "ניתן להוסיף %s נוסף מתחת." + +#: contrib/admin/views/main.py:296 +#, python-format +msgid "Add %s" +msgstr "הוספת %s" + +#: contrib/admin/views/main.py:342 +#, python-format +msgid "Added %s." +msgstr "%s התווסף." + +#: contrib/admin/views/main.py:342 +#: contrib/admin/views/main.py:344 +#: contrib/admin/views/main.py:346 +#: core/validators.py:283 +#: db/models/manipulators.py:309 +msgid "and" +msgstr "ו" + +#: contrib/admin/views/main.py:344 +#, python-format +msgid "Changed %s." +msgstr "%s שונה." + +#: contrib/admin/views/main.py:346 +#, python-format +msgid "Deleted %s." +msgstr "%s נמחק." + +#: contrib/admin/views/main.py:349 +msgid "No fields changed." +msgstr "אף שדה לא השתנה." + +#: contrib/admin/views/main.py:352 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "שינוי %(name)s \"%(obj)s\" בוצע בהצלחה." + +#: contrib/admin/views/main.py:360 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "הוספת %(name)s \"%(obj)s\" בוצעה בהצלחה. ניתן לערוך אותו שוב מתחת." + +#: contrib/admin/views/main.py:398 +#, python-format +msgid "Change %s" +msgstr "שינוי %s" + +#: contrib/admin/views/main.py:483 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "אחד או יותר %(fieldname)s ב%(name)s: %(obj)s" + +#: contrib/admin/views/main.py:488 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "אחד או יותר %(fieldname)s ב%(name)s:" + +#: contrib/admin/views/main.py:520 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "מחיקת %(name)s \"%(obj)s\" בוצעה בהצלחה." + +#: contrib/admin/views/main.py:523 +msgid "Are you sure?" +msgstr "האם את/ה בטוח/ה ?" + +#: contrib/admin/views/main.py:545 +#, python-format +msgid "Change history: %s" +msgstr "היסטוריית שינוי: %s" + +#: contrib/admin/views/main.py:579 +#, python-format +msgid "Select %s" +msgstr "בחירת %s" + +#: contrib/admin/views/main.py:579 +#, python-format +msgid "Select %s to change" +msgstr "בחירת %s לשינוי" + +#: contrib/admin/views/main.py:780 +msgid "Database error" +msgstr "שגיאת בסיס נתונים" + +#: contrib/auth/forms.py:17 +#: contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "שני שדות הסיסמה אינם זהים." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "משתמש עם שם משתמש זה קיים כבר" + +#: contrib/auth/forms.py:53 +msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." +msgstr "נראה שעוגיות לא מאופשרות בדפדפן שלך.הן נדרשות כדי להתחבר." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "חשבון זה אינו פעיל." + +#: contrib/auth/forms.py:84 +msgid "That e-mail address doesn't have an associated user account. Are you sure you've registered?" +msgstr "כתובת דואר אלקטרוני זו אינה משוייכת למשתמש. בטוח שנרשמת ?" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "שני שדות 'הסיסמה החדשה' אינם זהים." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "סיסמתך הישנה הוזנה בצורה השגויה. נא להזינה שוב." + +#: contrib/auth/models.py:73 +#: contrib/auth/models.py:93 +msgid "name" +msgstr "שם" + +#: contrib/auth/models.py:75 +msgid "codename" +msgstr "שם קוד" + +#: contrib/auth/models.py:78 +msgid "permission" +msgstr "הרשאה" + +#: contrib/auth/models.py:79 +#: contrib/auth/models.py:94 +msgid "permissions" +msgstr "הרשאות" + +#: contrib/auth/models.py:97 +msgid "group" +msgstr "קבוצה" + +#: contrib/auth/models.py:98 +#: contrib/auth/models.py:141 +msgid "groups" +msgstr "קבוצות" + +#: contrib/auth/models.py:131 +msgid "username" +msgstr "שם משתמש" + +#: contrib/auth/models.py:131 +msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." +msgstr "דורש 30 תווים או פחות. תווים אלפאנומריים בלבד (אותיות, ספרות וקווים תחתונים)." + +#: contrib/auth/models.py:132 +msgid "first name" +msgstr "שם פרטי" + +#: contrib/auth/models.py:133 +msgid "last name" +msgstr "שם משפחה" + +#: contrib/auth/models.py:134 +msgid "e-mail address" +msgstr "כתובת דוא\"ל" + +#: contrib/auth/models.py:135 +msgid "password" +msgstr "סיסמה" + +#: contrib/auth/models.py:135 +msgid "Use '[algo]$[salt]$[hexdigest]' or use the change password form." +msgstr "יש להזין '[algo]$[salt]$[hexdigest]' או להשתמש בטופס שינוי הסיסמה." + +#: contrib/auth/models.py:136 +msgid "staff status" +msgstr "סטטוס איש צוות" + +#: contrib/auth/models.py:136 +msgid "Designates whether the user can log into this admin site." +msgstr "מציין האם המשתמש יכול להתחבר לאתר הניהול." + +#: contrib/auth/models.py:137 +msgid "active" +msgstr "פעיל" + +#: contrib/auth/models.py:137 +msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." +msgstr "מציין האם המשתמש יכול להתחבר לאתר הניהול. יש לבטל בחירה זובמקום למחוק חשבונות משתמשים." + +#: contrib/auth/models.py:138 +msgid "superuser status" +msgstr "סטטוס משתמש על" + +#: contrib/auth/models.py:138 +msgid "Designates that this user has all permissions without explicitly assigning them." +msgstr "מציין שלמשתמש זה יש את כל ההרשאות ללא הצורך המפורש בהענקתן." + +#: contrib/auth/models.py:139 +msgid "last login" +msgstr "כניסה אחרונה" + +#: contrib/auth/models.py:140 +msgid "date joined" +msgstr "תאריך הצטרפות" + +#: contrib/auth/models.py:142 +msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." +msgstr "בנוסף לכל ההרשאות שהוקצו ידנית, יוענקו למשתמש גם כל ההרשאות של כל קבוצה המשוייכת אליו." + +#: contrib/auth/models.py:143 +msgid "user permissions" +msgstr "הרשאות משתמש" + +#: contrib/auth/models.py:147 +msgid "user" +msgstr "משתמש" + +#: contrib/auth/models.py:148 +msgid "users" +msgstr "משתמשים" + +#: contrib/auth/models.py:154 +msgid "Personal info" +msgstr "מידע אישי" + +#: contrib/auth/models.py:155 +msgid "Permissions" +msgstr "הרשאות" + +#: contrib/auth/models.py:156 +msgid "Important dates" +msgstr "תאריכים חשובים" + +#: contrib/auth/models.py:157 +msgid "Groups" +msgstr "קבוצות" + +#: contrib/auth/models.py:316 +msgid "message" +msgstr "הודעה" + +#: contrib/auth/views.py:47 +msgid "Logged out" +msgstr "יצאת מהמערכת" + +#: contrib/comments/models.py:67 +#: contrib/comments/models.py:169 msgid "object ID" msgstr "מזהה אובייקט" @@ -932,8 +1180,9 @@ msgstr "מזהה אובייקט" msgid "headline" msgstr "כותרת" -#: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 +#: contrib/comments/models.py:69 +#: contrib/comments/models.py:90 +#: contrib/comments/models.py:170 msgid "comment" msgstr "תגובה" @@ -973,38 +1222,34 @@ msgstr "דירוג #8" msgid "is valid rating" msgstr "האם דירוג חוקי" -#: contrib/comments/models.py:83 contrib/comments/models.py:169 +#: contrib/comments/models.py:83 +#: contrib/comments/models.py:172 msgid "date/time submitted" msgstr "תאריך/שעת הגשה" -#: contrib/comments/models.py:84 contrib/comments/models.py:170 +#: contrib/comments/models.py:84 +#: contrib/comments/models.py:173 msgid "is public" msgstr "ציבורי" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 -msgid "IP address" -msgstr "כתובת IP" - #: contrib/comments/models.py:86 msgid "is removed" msgstr "האם הוסר" #: 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 "" -"יש לסמן תיבה זו עבור תגובה לא נאותה. הודעת \"תגובה זו נמחקה\" תוצג במקום." +msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." +msgstr "יש לסמן תיבה זו עבור תגובה לא נאותה. הודעת \"תגובה זו נמחקה\" תוצג במקום." #: contrib/comments/models.py:91 msgid "comments" msgstr "תגובות" -#: contrib/comments/models.py:131 contrib/comments/models.py:207 +#: contrib/comments/models.py:134 +#: contrib/comments/models.py:213 msgid "Content object" msgstr "אובייקט תוכן" -#: contrib/comments/models.py:159 +#: contrib/comments/models.py:162 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1019,48 +1264,48 @@ msgstr "" "\n" "http://%(domain)s%(url)s" -#: contrib/comments/models.py:168 +#: contrib/comments/models.py:171 msgid "person's name" msgstr "שם" -#: contrib/comments/models.py:171 +#: contrib/comments/models.py:174 msgid "ip address" msgstr "כתובת IP" -#: contrib/comments/models.py:173 +#: contrib/comments/models.py:176 msgid "approved by staff" msgstr "אושר ע\"י הצוות" -#: contrib/comments/models.py:176 +#: contrib/comments/models.py:179 msgid "free comment" msgstr "הערה אנונימית" -#: contrib/comments/models.py:177 +#: contrib/comments/models.py:180 msgid "free comments" msgstr "הערות אנונימיות" -#: contrib/comments/models.py:233 +#: contrib/comments/models.py:239 msgid "score" msgstr "ציון" -#: contrib/comments/models.py:234 +#: contrib/comments/models.py:240 msgid "score date" msgstr "תאריך ציון" -#: contrib/comments/models.py:237 +#: contrib/comments/models.py:243 msgid "karma score" msgstr "ניקוד קארמה" -#: contrib/comments/models.py:238 +#: contrib/comments/models.py:244 msgid "karma scores" msgstr "ניקודי קארמה" -#: contrib/comments/models.py:242 +#: contrib/comments/models.py:248 #, python-format msgid "%(score)d rating by %(user)s" msgstr "%(score)d·דירוג ע\"י·%(user)s" -#: contrib/comments/models.py:258 +#: contrib/comments/models.py:264 #, python-format msgid "" "This comment was flagged by %(user)s:\n" @@ -1071,147 +1316,40 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/models.py:265 +#: contrib/comments/models.py:271 msgid "flag date" msgstr "תאריך סימון" -#: contrib/comments/models.py:268 +#: contrib/comments/models.py:274 msgid "user flag" msgstr "סימון ע\"י משתמש" -#: contrib/comments/models.py:269 +#: contrib/comments/models.py:275 msgid "user flags" msgstr "סימונים ע\"י משתמש" -#: contrib/comments/models.py:273 +#: contrib/comments/models.py:279 #, python-format msgid "Flag by %r" msgstr "סימון ע\"י %r" -#: contrib/comments/models.py:278 +#: contrib/comments/models.py:284 msgid "deletion date" msgstr "תאריך מחיקה" -#: contrib/comments/models.py:280 +#: contrib/comments/models.py:286 msgid "moderator deletion" msgstr "מחיקת מודרטור" -#: contrib/comments/models.py:281 +#: contrib/comments/models.py:287 msgid "moderator deletions" msgstr "מחיקות מודרטור" -#: contrib/comments/models.py:285 +#: contrib/comments/models.py:291 #, python-format msgid "Moderator deletion by %r" msgstr "מחיקת מודרציה ע\"י %r" -#: contrib/comments/views/comments.py:27 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "הדירוג נדרש מאחר והזנת לפחות דרוג אחד אחר." - -#: contrib/comments/views/comments.py:111 -#, python-format -msgid "" -"This comment was posted by a user who has posted fewer than %(count)s " -"comment:\n" -"\n" -"%(text)s" -"This comment was posted by a user who has posted fewer than %(count)s " -"comments:\n" -"\n" -"%(text)s" -msgstr "" -"התגובה נשלחה ע\"י משתמש אשר שלח פחות מ-%(count)s תגובה:\n" -"\n" -"%(text)s" -"התגובה נשלחה ע\"י משתמש אשר שלח פחות מ-%(count)s תגובות:\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:116 -#, python-format -msgid "" -"This comment was posted by a sketchy user:\n" -"\n" -"%(text)s" -msgstr "" -"ההודעה נשלחה ע\"י משתמש מפוקפק:\n" -"\n" -"%(text)s" - -#: contrib/comments/views/comments.py:188 -#: contrib/comments/views/comments.py:280 -msgid "Only POSTs are allowed" -msgstr "רק פעולות POST מותרות" - -#: contrib/comments/views/comments.py:192 -#: contrib/comments/views/comments.py:284 -msgid "One or more of the required fields wasn't submitted" -msgstr "אחד או יותר מהשדות הנדרשים אינו נשלח." - -#: contrib/comments/views/comments.py:196 -#: contrib/comments/views/comments.py:286 -msgid "Somebody tampered with the comment form (security violation)" -msgstr "מישהו התעסק עם טופס התגובה (הפרת אבטחה)" - -#: contrib/comments/views/comments.py:206 -#: contrib/comments/views/comments.py:292 -msgid "" -"The comment form had an invalid 'target' parameter -- the object ID was " -"invalid" -msgstr "טופס התגובה הכיל פרמטר target לא חוקי -- מזהה האובייקט אינו חוקי" - -#: contrib/comments/views/comments.py:257 -#: contrib/comments/views/comments.py:321 -msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "טופס התגובה לא הכיל 'preview' או 'post'" - -#: contrib/comments/views/karma.py:19 -msgid "Anonymous users cannot vote" -msgstr "משתמשים אנונימיים אינם יכולים להצביע" - -#: contrib/comments/views/karma.py:23 -msgid "Invalid comment ID" -msgstr "מזהה תגובה שגוי" - -#: contrib/comments/views/karma.py:25 -msgid "No voting for yourself" -msgstr "לא ניתן להצביע לעצמך" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" -msgstr "שם משתמש:" - -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -msgid "Log out" -msgstr "יציאה" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "סיסמה:" - #: contrib/comments/templates/comments/form.html:8 msgid "Forgotten your password?" msgstr "שכחת את סיסמתך ?" @@ -1248,1564 +1386,88 @@ msgstr "תצוגה מקדימה של התגובה" msgid "Your name:" msgstr "שמך:" -#: contrib/humanize/templatetags/humanize.py:17 -msgid "th" -msgstr "רביעי" +#: contrib/comments/views/comments.py:28 +msgid "This rating is required because you've entered at least one other rating." +msgstr "הדירוג נדרש מאחר והזנת לפחות דרוג אחד אחר." -#: contrib/humanize/templatetags/humanize.py:17 -msgid "st" -msgstr "ראשון" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "nd" -msgstr "שני" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "rd" -msgstr "שלישי" - -#: contrib/humanize/templatetags/humanize.py:47 -#, python-format -msgid "%(value).1f million" -msgstr "%(value).1f מיליון" - -#: contrib/humanize/templatetags/humanize.py:50 -#, python-format -msgid "%(value).1f billion" -msgstr "%(value).1f ביליון" - -#: contrib/humanize/templatetags/humanize.py:53 -#, python-format -msgid "%(value).1f trillion" -msgstr "%(value).1f טריליון" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "one" -msgstr "אחד" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "two" -msgstr "שניים" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "three" -msgstr "שלושה" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "four" -msgstr "ארבעה" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "five" -msgstr "חמישה" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "six" -msgstr "שישה" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "seven" -msgstr "שבעה" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "eight" -msgstr "שמונה" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "nine" -msgstr "תשעה" - -#: contrib/admin/models.py:16 -msgid "action time" -msgstr "זמן פעולה" - -#: contrib/admin/models.py:19 -msgid "object id" -msgstr "מזהה אובייקט" - -#: contrib/admin/models.py:20 -msgid "object repr" -msgstr "ייצוג אובייקט" - -#: contrib/admin/models.py:21 -msgid "action flag" -msgstr "דגל פעולה" - -#: contrib/admin/models.py:22 -msgid "change message" -msgstr "הערה לשינוי" - -#: contrib/admin/models.py:25 -msgid "log entry" -msgstr "רישום יומן" - -#: contrib/admin/models.py:26 -msgid "log entries" -msgstr "רישומי יומן" - -#: contrib/admin/filterspecs.py:40 +#: contrib/comments/views/comments.py:112 #, python-format msgid "" -"

      By %s:

      \n" -"
        \n" -msgstr "" -"

        ע\"י %s:

        \n" -"
          \n" - -#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 -msgid "All" -msgstr "הכל" - -#: contrib/admin/filterspecs.py:109 -msgid "Any date" -msgstr "כל תאריך" - -#: contrib/admin/filterspecs.py:110 -msgid "Today" -msgstr "היום" - -#: contrib/admin/filterspecs.py:113 -msgid "Past 7 days" -msgstr "בשבוע האחרון" - -#: contrib/admin/filterspecs.py:115 -msgid "This month" -msgstr "החודש" - -#: contrib/admin/filterspecs.py:117 -msgid "This year" -msgstr "השנה" - -#: contrib/admin/templatetags/admin_list.py:247 -msgid "All dates" -msgstr "כל התאריכים" - -#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:60 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "" -"נא להזין שם משתמש וסיסמה נכונים. בשני השדות גודל האותיות האנגליות משנה." - -#: contrib/admin/views/decorators.py:24 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "כניסה" - -#: contrib/admin/views/decorators.py:62 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "" -"נא להתחבר שוב, מאחר ופג תוקף ההתחברות הנוכחית. אל דאגה: המידע ששלחת נשמר." - -#: contrib/admin/views/decorators.py:69 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "" -"נראה שהדפדפן שלך אינו מוגדר לקבל עוגיות. נא לאפשר עוגיות, לטעון מחדש את הדף " -"ולנסות שוב." - -#: contrib/admin/views/decorators.py:83 -msgid "Usernames cannot contain the '@' character." -msgstr "שם משתמש אינו יכול להכיל את התו '@'." - -#: contrib/admin/views/decorators.py:85 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "כתובת הדוא\"ל שלך אינה שם המשתמש שלך. נסה/י '%s' במקום." - -#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 -#: contrib/admin/views/doc.py:50 -msgid "tag:" -msgstr "תג:" - -#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 -#: contrib/admin/views/doc.py:81 -msgid "filter:" -msgstr "סינון:" - -#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 -#: contrib/admin/views/doc.py:139 -msgid "view:" -msgstr "צפיה (view):" - -#: contrib/admin/views/doc.py:164 -#, python-format -msgid "App %r not found" -msgstr "יישום %r לא נמצא" - -#: contrib/admin/views/doc.py:171 -#, python-format -msgid "Model %(name)r not found in app %(label)r" -msgstr "מודל %(name)r לא נמצא ביישום %(label)r" - -#: contrib/admin/views/doc.py:183 -#, python-format -msgid "the related `%(label)s.%(type)s` object" -msgstr "האובייקט `%(label)s.%(type)s` הקשור" - -#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 -#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 -msgid "model:" -msgstr "מודל:" - -#: contrib/admin/views/doc.py:214 -#, python-format -msgid "related `%(label)s.%(name)s` objects" -msgstr "אובייקטי `%(label)s.%(name)s` מקושרים" - -#: contrib/admin/views/doc.py:219 -#, python-format -msgid "all %s" -msgstr "כל %s" - -#: contrib/admin/views/doc.py:224 -#, python-format -msgid "number of %s" -msgstr "מספר %s" - -#: contrib/admin/views/doc.py:229 -#, python-format -msgid "Fields on %s objects" -msgstr "Fields on %s objects" - -#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 -#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 -#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 -msgid "Integer" -msgstr "מספר שלם" - -#: contrib/admin/views/doc.py:292 -msgid "Boolean (Either True or False)" -msgstr "בוליאני (אמת או שקר)" - -#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 -#, python-format -msgid "String (up to %(maxlength)s)" -msgstr "מחרוזת (עד %(maxlength)s תווים)" - -#: contrib/admin/views/doc.py:294 -msgid "Comma-separated integers" -msgstr "מספרים שלמים מופרדים בפסיקים" - -#: contrib/admin/views/doc.py:295 -msgid "Date (without time)" -msgstr "תאריך (ללא שעה)" - -#: contrib/admin/views/doc.py:296 -msgid "Date (with time)" -msgstr "תאריך (כולל שעה)" - -#: contrib/admin/views/doc.py:297 -msgid "E-mail address" -msgstr "כתובת דוא\"ל" - -#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 -#: contrib/admin/views/doc.py:302 -msgid "File path" -msgstr "נתיב קובץ" - -#: contrib/admin/views/doc.py:300 -msgid "Decimal number" -msgstr "מספר עשרוני" - -#: contrib/admin/views/doc.py:306 -msgid "Boolean (Either True, False or None)" -msgstr "בוליאני (אמת, שקר או כלום)" - -#: contrib/admin/views/doc.py:307 -msgid "Relation to parent model" -msgstr "יחס למודל אב" - -#: contrib/admin/views/doc.py:308 -msgid "Phone number" -msgstr "מספר טלפון" - -#: contrib/admin/views/doc.py:313 -msgid "Text" -msgstr "טקסט" - -#: contrib/admin/views/doc.py:314 -msgid "Time" -msgstr "זמן" - -#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admin/views/doc.py:316 -msgid "U.S. state (two uppercase letters)" -msgstr "מדינה בארה\"ב (שתי אותיות גדולות)" - -#: contrib/admin/views/doc.py:317 -msgid "XML text" -msgstr "טקסט XML" - -#: contrib/admin/views/doc.py:343 -#, python-format -msgid "%s does not appear to be a urlpattern object" -msgstr "לא נראה ש-%s הוא אובייקט urlpattern" - -#: contrib/admin/views/auth.py:19 contrib/admin/views/main.py:257 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "הוספת %(name)s \"%(obj)s\" בוצעה בהצלחה." - -#: contrib/admin/views/auth.py:24 contrib/admin/views/main.py:261 -#: contrib/admin/views/main.py:347 -msgid "You may edit it again below." -msgstr "ניתן לערוך שוב מתחת" - -#: contrib/admin/views/auth.py:30 -msgid "Add user" -msgstr "הוספת משתמש" - -#: contrib/admin/views/auth.py:57 -msgid "Password changed successfully." -msgstr "הסיסמה שונתה בהצלחה." - -#: contrib/admin/views/auth.py:64 -#, python-format -msgid "Change password: %s" -msgstr "שינוי סיסמה: %s" - -#: contrib/admin/views/main.py:223 -msgid "Site administration" -msgstr "ניהול אתר" - -#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 -#, python-format -msgid "You may add another %s below." -msgstr "ניתן להוסיף %s נוסף מתחת." - -#: contrib/admin/views/main.py:289 -#, python-format -msgid "Add %s" -msgstr "הוספת %s" - -#: contrib/admin/views/main.py:335 -#, python-format -msgid "Added %s." -msgstr "%s התווסף." - -#: contrib/admin/views/main.py:337 -#, python-format -msgid "Changed %s." -msgstr "%s שונה." - -#: contrib/admin/views/main.py:339 -#, python-format -msgid "Deleted %s." -msgstr "%s נמחק." - -#: contrib/admin/views/main.py:342 -msgid "No fields changed." -msgstr "אף שדה לא השתנה." - -#: contrib/admin/views/main.py:345 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "שינוי %(name)s \"%(obj)s\" בוצע בהצלחה." - -#: contrib/admin/views/main.py:353 -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "הוספת %(name)s \"%(obj)s\" בוצעה בהצלחה. ניתן לערוך אותו שוב מתחת." - -#: contrib/admin/views/main.py:391 -#, python-format -msgid "Change %s" -msgstr "שינוי %s" - -#: contrib/admin/views/main.py:476 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "אחד או יותר %(fieldname)s ב%(name)s: %(obj)s" - -#: contrib/admin/views/main.py:481 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "אחד או יותר %(fieldname)s ב%(name)s:" - -#: contrib/admin/views/main.py:514 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "מחיקת %(name)s \"%(obj)s\" בוצעה בהצלחה." - -#: contrib/admin/views/main.py:517 -msgid "Are you sure?" -msgstr "האם את/ה בטוח/ה ?" - -#: contrib/admin/views/main.py:539 -#, python-format -msgid "Change history: %s" -msgstr "היסטוריית שינוי: %s" - -#: contrib/admin/views/main.py:573 -#, python-format -msgid "Select %s" -msgstr "בחירת %s" - -#: contrib/admin/views/main.py:573 -#, python-format -msgid "Select %s to change" -msgstr "בחירת %s לשינוי" - -#: contrib/admin/views/main.py:768 -msgid "Database error" -msgstr "שגיאת בסיס נתונים" - -#: contrib/admin/templates/admin_doc/view_index.html:5 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin/auth/user/change_password.html:15 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -msgid "Change password" -msgstr "שינוי סיסמה" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/invalid_setup.html:4 -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/auth/user/change_password.html:12 -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -msgid "Home" -msgstr "דף הבית" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -#: contrib/admin/templates/admin/base.html:25 -#: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/delete_confirmation.html:3 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -msgid "Documentation" -msgstr "תיעוד" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "ייסומניות" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "ייסומוניות תיעוד" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 -msgid "" +"This comment was posted by a user who has posted fewer than %(count)s comment:\n" "\n" -"

          To install bookmarklets, drag the link to your bookmarks\n" -"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" -"select the bookmarklet from any page in the site. Note that some of these\n" -"bookmarklets require you to be viewing the site from a computer designated\n" -"as \"internal\" (talk to your system administrator if you aren't sure if\n" -"your computer is \"internal\").

          \n" -msgstr "" +"%(text)sThis comment was posted by a user who has posted fewer than %(count)s comments:\n" "\n" -"

          כדי להתקין ייסומניות, יש לגרור את הקישור לסרגל הסימניות\n" -"שלך, או קליק ימני והוספה לסימניות. כעת ניתן\n" -"לבחור את הייסומניה מכל עמוד באתר. יש לשים לב כי חלק מהייסומניות\n" -"ניתנות לצפיה רק ממחשב שמסווג\n" -"כ\"פנימי\" (יש לדבר עם מנהל המערכת שלך אם אינך בטוח/ה\n" -"שהמחשב מסווג ככזה).

          \n" +"%(text)s" +msgstr "" +"תגובה זו נשלחה ממשתמש ששלח פחות מ-%(count)s תגובה:\n" +"\n" +"%(text)sתגובה זו נשלחה ממשתמש ששלח פחות מ-%(count)s תגובות:\n" +"\n" +"%(text)s" -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "תיעוד לדף זה" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 -msgid "" -"Jumps you from any page to the documentation for the view that generates " -"that page." -msgstr "מקפיץ אותך מכל עמוד לתיעוד התצוגה שייצרה אותו." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "הצג מזהה אובייקט" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "מציג את סוג התוכן והמזהה הייחודי לעמודים המייצגים אובייקט בודד." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "עריכת אובייקט זה (בחלון הנוכחי)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "קופץ לעמוד הניהול לעמודים אשר מייצגים אובייקטים בודד." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "עריכת אובייקט זה (בחלון חדש)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "כנ\"ל, אך דף הניהול ייפתח בחלון חדש." - -#: contrib/admin/templates/admin/filters.html:4 -msgid "Filter" -msgstr "סינון" - -#: contrib/admin/templates/admin/base.html:25 -msgid "Welcome," -msgstr "שלום" - -#: contrib/admin/templates/admin/change_form.html:15 -#: contrib/admin/templates/admin/index.html:28 -msgid "Add" -msgstr "הוספה" - -#: contrib/admin/templates/admin/change_form.html:21 -#: contrib/admin/templates/admin/object_history.html:5 -msgid "History" -msgstr "היסטוריה" - -#: contrib/admin/templates/admin/change_form.html:22 -msgid "View on site" -msgstr "צפיה באתר" - -#: contrib/admin/templates/admin/change_form.html:32 -#: contrib/admin/templates/admin/auth/user/change_password.html:24 -msgid "Please correct the error below." -msgstr "נא לתקן את השגיאה המופיעה מתחת." - -#: contrib/admin/templates/admin/change_form.html:50 -msgid "Ordering" -msgstr "מיון" - -#: contrib/admin/templates/admin/change_form.html:53 -msgid "Order:" -msgstr "מיון:" - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "מחיקה" - -#: contrib/admin/templates/admin/delete_confirmation.html:14 +#: contrib/comments/views/comments.py:117 #, python-format msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"מחיקת %(object_name)s '%(escaped_object)s' מצריכה מחיקת " -"אובייקטים מקושרים, אך לחשבון שלך אין הרשאות למחיקת" -"סוגי האובייקטים הבאים:" - -#: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"האם ברצונך למחוק את %(object_name)s \"%(escaped_object)s\"? " -"כל הפריטים הקשורים הבאים יימחקו:" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -msgid "Yes, I'm sure" -msgstr "כן, אני בטוח/ה" - -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(filter_title)s " -msgstr " לפי %(filter_title)s " - -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "שגיאת שרת" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "שגיאת שרת (500)" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "שגיאת שרת (500)" - -#: contrib/admin/templates/admin/500.html:10 -msgid "" -"There's been an error. It's been reported to the site administrators via e-" -"mail and should be fixed shortly. Thanks for your patience." -msgstr "" -"התרחשה שגיאה. היא דווחה למנהלי האתר בדוא\"ל ותתוקן בקרוב. תודה על סבלנותך." - -#: contrib/admin/templates/admin/index.html:17 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "מודלים זמינים ביישום %(name)s." - -#: contrib/admin/templates/admin/index.html:18 -#, python-format -msgid "%(name)s" -msgstr "%(name)s" - -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "שינוי" - -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "אין לך הרשאות לעריכה" - -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "פעולות אחרונות" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "הפעולות שלי" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "לא נמצאו" - -#: contrib/admin/templates/admin/invalid_setup.html:8 -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"משהו שגוי בהתקנת בסיס הנתונים שלך. נא לוודא שנוצרו טבלאות בסיס הנתונים " -"המתאימות, ובסיס הנתונים ניתן לקריאה על ידי המשתמש המתאים." - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "תאריך/שעה" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "משתמש" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "פעולה" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "l d.m.y H:i:s" - -#: contrib/admin/templates/admin/object_history.html:36 -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"לאובייקט זה אין היסטוריית שינוי. כנראה לא השתמשו בממשק הניהול הזה להוספתו." - -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "שמירה כחדש" - -#: contrib/admin/templates/admin/submit_line.html:5 -msgid "Save and add another" -msgstr "שמירה והוספת אחר" - -#: contrib/admin/templates/admin/submit_line.html:6 -msgid "Save and continue editing" -msgstr "שמירה והמשך עריכה" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "שמירה" - -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "דף לא קיים" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "אנו מצטערים, לא ניתן למצוא את הדף המבוקש." - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "בצע" - -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "1 result" -msgstr "תוצאה אחת" - -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s סה\"כ" - -#: contrib/admin/templates/admin/pagination.html:10 -msgid "Show all" -msgstr "הצג הכל" - -#: contrib/admin/templates/admin/change_list.html:12 -#, python-format -msgid "Add %(name)s" -msgstr "הוספת %(name)s" - -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "ניהול אתר Django" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "ניהול Django" - -#: contrib/admin/templates/admin/auth/user/add_form.html:6 -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "ראשית יש להזין שם משתמש וסיסמה. לאחר מכן יהיה ביכולתך לערוך אפשרויות" -"נוספות עבור המשתמש" - -#: contrib/admin/templates/admin/auth/user/add_form.html:12 -msgid "Username" -msgstr "שם משתמש" - -#: contrib/admin/templates/admin/auth/user/add_form.html:18 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -msgid "Password" -msgstr "סיסמה" - -#: contrib/admin/templates/admin/auth/user/add_form.html:23 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -msgid "Password (again)" -msgstr "סיסמה (שוב)" - -#: contrib/admin/templates/admin/auth/user/add_form.html:24 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -msgid "Enter the same password as above, for verification." -msgstr "יש להזין את אותה סיסנה שוב,לאימות." - -#: contrib/admin/templates/admin/auth/user/change_password.html:28 -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "יש להזין סיסמה חדשה עבור המשתמש %(username)s." - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "הנוכחי." - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "שינוי:" - -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "תאריך:" - -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "שעה:" - -#: contrib/admin/templates/registration/password_reset_form.html:4 -#: contrib/admin/templates/registration/password_reset_form.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:10 -#: contrib/admin/templates/registration/password_reset_done.html:4 -msgid "Password reset" -msgstr "איפוס סיסמה" - -#: contrib/admin/templates/registration/password_reset_form.html:12 -msgid "" -"Forgotten your password? Enter your e-mail address below, and we'll reset " -"your password and e-mail the new one to you." -msgstr "" -"שכחת את סיסמתך ? נא להזין את כתובת הדוא\"ל מתחת, אנו נאפסאת הסיסמה ונשלח את " -"החדשה אליך." - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "כתובת דוא\"ל:" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "אפס את סיסמתי" - -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "תודה על בילוי זמן איכות עם האתר." - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "התחבר/י שוב" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "הסיסמה אופסה בהצלחה" - -#: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "" -"We've e-mailed a new password to the e-mail address you submitted. You " -"should be receiving it shortly." -msgstr "" -"שלחנו את הסיסמה החדשה לכתובת הדוא\"ל שהזנת. היא אמורה להתקבל תוך זמן קצר." - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "הודעה זו התקבלה כי ביקשת איפוס סיסמה" - -#: contrib/admin/templates/registration/password_reset_email.html:3 -#, python-format -msgid "for your user account at %(site_name)s" -msgstr "עבור חשבון המשתמש שלך ב %(site_name)s" - -#: contrib/admin/templates/registration/password_reset_email.html:5 -#, python-format -msgid "Your new password is: %(new_password)s" -msgstr "סיסמתך החדשה: %(new_password)s" - -#: contrib/admin/templates/registration/password_reset_email.html:7 -msgid "Feel free to change this password by going to this page:" -msgstr "ניתן לשנות את הסיסמה בכל עת ע\"י פניה לדף זה:" - -#: contrib/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "שם המשתמש שלך, במקרה ששכחת:" - -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "תודה על השימוש באתר שלנו!" - -#: contrib/admin/templates/registration/password_reset_email.html:15 -#, python-format -msgid "The %(site_name)s team" -msgstr "צוות %(site_name)s" - -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/registration/password_change_form.html:6 -#: contrib/admin/templates/registration/password_change_form.html:10 -msgid "Password change" -msgstr "שינוי סיסמה" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "הסיסמה שונתה בהצלחה" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "סיסמתך שונתה." - -#: contrib/admin/templates/registration/password_change_form.html:12 -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 "" -"נא להזין את סיסמתך הישנה, למען האבטחה, ולאחר מכן את סיסמתךהחדשה פעמיים כדי " -"שנוכל לוודא שהקלדת אותה כראוי." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "סיסמה ישנה:" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "סיסמה חדשה:" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "אימות סיסמה:" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "שנה את סיסמתי" - -#: contrib/localflavor/it/forms.py:16 -msgid "Enter a valid zip code." -msgstr "יש להזין מיקוד חוקי." - -#: contrib/localflavor/it/forms.py:41 -msgid "Enter a valid Social Security number." -msgstr "יש להזין מספר ביטוח לאומי חוקי." - -#: contrib/localflavor/it/forms.py:68 -msgid "Enter a valid VAT number." -msgstr "יש להזין מספר מעמ חוקי" - -#: contrib/localflavor/us/forms.py:18 -msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." -msgstr "יש להזין מיקוד חוקי בתחביר XXXXX או XXXXX-XXXX." - -#: contrib/localflavor/us/forms.py:51 -msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." -msgstr "יש להזין מספר ביטוח לאומי אמריקאי בתחביר XXX-XX-XXXX." - -#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/fi/forms.py:14 -#: contrib/localflavor/de/forms.py:16 -msgid "Enter a zip code in the format XXXXX." -msgstr "יש להזין מיקוד בתחביר XXXXX." - -#: contrib/localflavor/ch/forms.py:18 contrib/localflavor/no/forms.py:15 -msgid "Enter a zip code in the format XXXX." -msgstr "יש להזין מיקוד בתחביר XXXX." - -#: contrib/localflavor/ch/forms.py:90 -msgid "" -"Enter a valid Swiss identity or passport card number in X1234567<0 or " -"1234567890 format." -msgstr "" -"יש להזין מספר זיהוי או דרכון שוויצרי בתחביר X1234567<0 או " -"1234567890." - -#: contrib/localflavor/ch/ch_states.py:5 -msgid "Aargau" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:6 -msgid "Appenzell Innerrhoden" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:7 -msgid "Appenzell Ausserrhoden" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:8 -msgid "Basel-Stadt" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:9 -msgid "Basel-Land" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:10 -msgid "Berne" -msgstr "ברן" - -#: contrib/localflavor/ch/ch_states.py:11 -msgid "Fribourg" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:12 -msgid "Geneva" -msgstr "ג'נבה" - -#: contrib/localflavor/ch/ch_states.py:13 -msgid "Glarus" -msgstr "גלרוס" - -#: contrib/localflavor/ch/ch_states.py:14 -msgid "Graubuenden" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:15 -msgid "Jura" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:16 -msgid "Lucerne" -msgstr "לוצרן" - -#: contrib/localflavor/ch/ch_states.py:17 -msgid "Neuchatel" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:18 -msgid "Nidwalden" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:19 -msgid "Obwalden" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:20 -msgid "Schaffhausen" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:21 -msgid "Schwyz" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:22 -msgid "Solothurn" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:23 -msgid "St. Gallen" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:24 -msgid "Thurgau" -msgstr "Thurgau" - -#: contrib/localflavor/ch/ch_states.py:25 -msgid "Ticino" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:26 -msgid "Uri" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:27 -msgid "Valais" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:28 -msgid "Vaud" -msgstr "" - -#: contrib/localflavor/ch/ch_states.py:29 -msgid "Zug" -msgstr "צוג" - -#: contrib/localflavor/ch/ch_states.py:30 -msgid "Zurich" -msgstr "" - -#: contrib/localflavor/no/forms.py:36 -msgid "Enter a valid Norwegian social security number." -msgstr "יש להזין מספר ביטוח לאומי נורבגי חוקי." - -#: contrib/localflavor/br/forms.py:18 -msgid "Enter a zip code in the format XXXXX-XXX." -msgstr "יש להזין מיקוד בתחביר XXXXX-XXX." - -#: contrib/localflavor/br/forms.py:30 -msgid "Phone numbers must be in XX-XXXX-XXXX format." -msgstr "מספרי טלפון חייבים להיות בתחביר XX-XXXX-XXXX." - -#: contrib/localflavor/br/forms.py:72 -msgid "This field requires only numbers." -msgstr "יש להזין רק ספרות בשדה זה." - -#: contrib/localflavor/br/forms.py:74 -msgid "This field requires at most 11 digits or 14 characters." -msgstr "שדה זה דורש 11 או 14 ספרות לכל היותר." - -#: contrib/localflavor/br/forms.py:84 -msgid "Invalid CPF number." -msgstr "מספר CPF לא חוקי" - -#: contrib/localflavor/br/forms.py:106 -msgid "This field requires at least 14 digits" -msgstr "שדה זה דורש לפחות 14 ספרות." - -#: contrib/localflavor/br/forms.py:116 -msgid "Invalid CNPJ number." -msgstr "מספר CNPJ לא חוקי" - -#: contrib/localflavor/uk/forms.py:18 -msgid "Enter a postcode. A space is required between the two postcode parts." -msgstr "יש להזין קוד דואר. נדרש רווח בין שני חלקי הקוד." - -#: contrib/localflavor/is_/forms.py:16 -msgid "" -"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." -msgstr "" -"יש להזין מספר זיהוי איסלנדי חוקי. התחביר הוא XXXXXX-XXXX." - -#: contrib/localflavor/is_/forms.py:30 -msgid "The Icelandic identification number is not valid." -msgstr "" - -#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 -msgid "Enter a valid Finnish social security number." -msgstr "יש להזין מספר ביטוח לאומי פיני חוקי." - -#: contrib/localflavor/cl/forms.py:21 -msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." -msgstr "יש להזין RUT צ'יליאני חוקי. התחביר הוא XX.XXX.XXX-X." - -#: contrib/localflavor/cl/forms.py:26 -msgid "Enter valid a Chilean RUT" -msgstr "יש להזין RUT צ'יליאני חוקי." - -#: contrib/localflavor/au/forms.py:18 -msgid "Enter a 4 digit post code." -msgstr "יש להזין קוד דואר בן 4 ספרות." - -#: contrib/localflavor/de/forms.py:60 -msgid "" -"Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " -"format." -msgstr "" -"יש להזין מספר זיהוי גרמני חוקי בתחביר XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." - -#: contrib/localflavor/de/de_states.py:5 -msgid "Baden-Wuerttemberg" -msgstr "" - -#: contrib/localflavor/de/de_states.py:6 -msgid "Bavaria" -msgstr "באווריה" - -#: contrib/localflavor/de/de_states.py:7 -msgid "Berlin" -msgstr "ברלין" - -#: contrib/localflavor/de/de_states.py:8 -msgid "Brandenburg" -msgstr "" - -#: contrib/localflavor/de/de_states.py:9 -msgid "Bremen" -msgstr "ברמן" - -#: contrib/localflavor/de/de_states.py:10 -msgid "Hamburg" -msgstr "המבורג" - -#: contrib/localflavor/de/de_states.py:11 -msgid "Hessen" -msgstr "הסה" - -#: contrib/localflavor/de/de_states.py:12 -msgid "Mecklenburg-Western Pomerania" -msgstr "" - -#: contrib/localflavor/de/de_states.py:13 -msgid "Lower Saxony" -msgstr "" - -#: contrib/localflavor/de/de_states.py:14 -msgid "North Rhine-Westphalia" -msgstr "" - -#: contrib/localflavor/de/de_states.py:15 -msgid "Rhineland-Palatinate" -msgstr "" - -#: contrib/localflavor/de/de_states.py:16 -msgid "Saarland" -msgstr "" - -#: contrib/localflavor/de/de_states.py:17 -msgid "Saxony" -msgstr "" - -#: contrib/localflavor/de/de_states.py:18 -msgid "Saxony-Anhalt" -msgstr "" - -#: contrib/localflavor/de/de_states.py:19 -msgid "Schleswig-Holstein" -msgstr "" - -#: contrib/localflavor/de/de_states.py:20 -msgid "Thuringia" -msgstr "" - -#: contrib/localflavor/jp/forms.py:21 -msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." -msgstr "יש להזין קוד דואר בתחביר XXXXXXX או XXX-XXXX." - -#: contrib/localflavor/jp/jp_prefectures.py:4 -msgid "Hokkaido" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:5 -msgid "Aomori" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:6 -msgid "Iwate" -msgstr "Iwate" - -#: contrib/localflavor/jp/jp_prefectures.py:7 -msgid "Miyagi" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:8 -msgid "Akita" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:9 -msgid "Yamagata" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:10 -msgid "Fukushima" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:11 -msgid "Ibaraki" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:12 -msgid "Tochigi" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:13 -msgid "Gunma" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:14 -msgid "Saitama" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:15 -msgid "Chiba" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:16 -msgid "Tokyo" -msgstr "טוקיו" - -#: contrib/localflavor/jp/jp_prefectures.py:17 -msgid "Kanagawa" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:18 -msgid "Yamanashi" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:19 -msgid "Nagano" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:20 -msgid "Niigata" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:21 -msgid "Toyama" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:22 -msgid "Ishikawa" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:23 -msgid "Fukui" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:24 -msgid "Gifu" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:25 -msgid "Shizuoka" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:26 -msgid "Aichi" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:27 -msgid "Mie" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:28 -msgid "Shiga" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:29 -msgid "Kyoto" -msgstr "קיוטו" - -#: contrib/localflavor/jp/jp_prefectures.py:30 -msgid "Osaka" -msgstr "אוסקה" - -#: contrib/localflavor/jp/jp_prefectures.py:31 -msgid "Hyogo" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:32 -msgid "Nara" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:33 -msgid "Wakayama" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:34 -msgid "Tottori" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:35 -msgid "Shimane" -msgstr "Shimane" - -#: contrib/localflavor/jp/jp_prefectures.py:36 -msgid "Okayama" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:37 -msgid "Hiroshima" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:38 -msgid "Yamaguchi" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:39 -msgid "Tokushima" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:40 -msgid "Kagawa" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:41 -msgid "Ehime" -msgstr "Ehime" - -#: contrib/localflavor/jp/jp_prefectures.py:42 -msgid "Kochi" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:43 -msgid "Fukuoka" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:44 -msgid "Saga" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:45 -msgid "Nagasaki" -msgstr "נגסקי" - -#: contrib/localflavor/jp/jp_prefectures.py:46 -msgid "Kumamoto" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:47 -msgid "Oita" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:48 -msgid "Miyazaki" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:49 -msgid "Kagoshima" -msgstr "" - -#: contrib/localflavor/jp/jp_prefectures.py:50 -msgid "Okinawa" -msgstr "אוקינאווה" - -#: contrib/sessions/models.py:68 -msgid "session key" -msgstr "מפתח התחברות (session key)" - -#: contrib/sessions/models.py:69 -msgid "session data" -msgstr "מידע התחברות (session data)" - -#: contrib/sessions/models.py:70 -msgid "expire date" -msgstr "תאריך פג תוקף" - -#: contrib/sessions/models.py:74 -msgid "session" -msgstr "התחברות" - -#: contrib/sessions/models.py:75 -msgid "sessions" -msgstr "התחברויות" - -#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 -msgid "The two password fields didn't match." -msgstr "שני שדות הסיסמה אינם זהים." - -#: contrib/auth/forms.py:25 -msgid "A user with that username already exists." -msgstr "משתמש עם שם משתמש זה קיים כבר" - -#: contrib/auth/forms.py:53 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "נראה שעוגיות לא מאופשרות בדפדפן שלך.הן נדרשות כדי להתחבר." - -#: contrib/auth/forms.py:62 -msgid "This account is inactive." -msgstr "חשבון זה אינו פעיל." - -#: contrib/auth/forms.py:85 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" -msgstr "כתובת דואר אלקטרוני זו אינה משוייכת למשתמש. בטוח שנרשמת ?" - -#: contrib/auth/forms.py:117 -msgid "The two 'new password' fields didn't match." -msgstr "שני שדות 'הסיסמה החדשה' אינם זהים." - -#: contrib/auth/forms.py:124 -msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "סיסמתך הישנה הוזנה בצורה השגויה. נא להזינה שוב." - -#: contrib/auth/models.py:44 contrib/auth/models.py:64 -msgid "name" -msgstr "שם" - -#: contrib/auth/models.py:46 -msgid "codename" -msgstr "שם קוד" - -#: contrib/auth/models.py:49 -msgid "permission" -msgstr "הרשאה" - -#: contrib/auth/models.py:50 contrib/auth/models.py:65 -msgid "permissions" -msgstr "הרשאות" - -#: contrib/auth/models.py:68 -msgid "group" -msgstr "קבוצה" - -#: contrib/auth/models.py:69 contrib/auth/models.py:109 -msgid "groups" -msgstr "קבוצות" - -#: contrib/auth/models.py:99 -msgid "username" -msgstr "שם משתמש" - -#: contrib/auth/models.py:99 -msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "דורש 30 תווים או פחות. תווים אלפאנומריים בלבד (אותיות, ספרות וקווים תחתונים)." - -#: contrib/auth/models.py:100 -msgid "first name" -msgstr "שם פרטי" - -#: contrib/auth/models.py:101 -msgid "last name" -msgstr "שם משפחה" - -#: contrib/auth/models.py:102 -msgid "e-mail address" -msgstr "כתובת דוא\"ל" - -#: contrib/auth/models.py:103 -msgid "password" -msgstr "סיסמה" - -#: contrib/auth/models.py:103 -msgid "" -"Use '[algo]$[salt]$[hexdigest]' or use the change " -"password form." -msgstr "" -"יש להזין '[algo]$[salt]$[hexdigest]' או להשתמש בטופס " -"שינוי הסיסמה." - -#: contrib/auth/models.py:104 -msgid "staff status" -msgstr "סטטוס איש צוות" - -#: contrib/auth/models.py:104 -msgid "Designates whether the user can log into this admin site." -msgstr "מציין האם המשתמש יכול להתחבר לאתר הניהול." - -#: contrib/auth/models.py:105 -msgid "active" -msgstr "פעיל" - -#: contrib/auth/models.py:105 -msgid "" -"Designates whether this user can log into the Django admin. Unselect this " -"instead of deleting accounts." -msgstr "מציין האם המשתמש יכול להתחבר לאתר הניהול. יש לבטל בחירה זו" -"במקום למחוק חשבונות משתמשים." - -#: contrib/auth/models.py:106 -msgid "superuser status" -msgstr "סטטוס משתמש על" - -#: contrib/auth/models.py:106 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." -msgstr "מציין שלמשתמש זה יש את כל ההרשאות ללא הצורך המפורש בהענקתן." - -#: contrib/auth/models.py:107 -msgid "last login" -msgstr "כניסה אחרונה" - -#: contrib/auth/models.py:108 -msgid "date joined" -msgstr "תאריך הצטרפות" - -#: contrib/auth/models.py:110 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" -"בנוסף לכל ההרשאות שהוקצו ידנית, יוענקו למשתמש גם כל ההרשאות של כל קבוצה " -"המשוייכת אליו." - -#: contrib/auth/models.py:111 -msgid "user permissions" -msgstr "הרשאות משתמש" - -#: contrib/auth/models.py:115 -msgid "user" -msgstr "משתמש" - -#: contrib/auth/models.py:116 -msgid "users" -msgstr "משתמשים" - -#: contrib/auth/models.py:122 -msgid "Personal info" -msgstr "מידע אישי" - -#: contrib/auth/models.py:123 -msgid "Permissions" -msgstr "הרשאות" - -#: contrib/auth/models.py:124 -msgid "Important dates" -msgstr "תאריכים חשובים" - -#: contrib/auth/models.py:125 -msgid "Groups" -msgstr "קבוצות" - -#: contrib/auth/models.py:269 -msgid "message" -msgstr "הודעה" - -#: contrib/auth/models.py:282 -msgid "AnonymousUser" -msgstr "משתמש אנונימי" - -#: contrib/auth/views.py:40 -msgid "Logged out" -msgstr "יצאת מהמערכת" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"ההודעה נשלחה ע\"י משתמש מפוקפק:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 +msgid "Only POSTs are allowed" +msgstr "רק פעולות POST מותרות" + +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 +msgid "One or more of the required fields wasn't submitted" +msgstr "אחד או יותר מהשדות הנדרשים אינו נשלח." + +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "מישהו התעסק עם טופס התגובה (הפרת אבטחה)" + +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 +msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" +msgstr "טופס התגובה הכיל פרמטר target לא חוקי -- מזהה האובייקט אינו חוקי" + +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "טופס התגובה לא הכיל 'preview' או 'post'" + +#: contrib/comments/views/karma.py:21 +msgid "Anonymous users cannot vote" +msgstr "משתמשים אנונימיים אינם יכולים להצביע" + +#: contrib/comments/views/karma.py:25 +msgid "Invalid comment ID" +msgstr "מזהה תגובה שגוי" + +#: contrib/comments/views/karma.py:27 +msgid "No voting for yourself" +msgstr "לא ניתן להצביע לעצמך" + +#: contrib/contenttypes/models.py:37 +msgid "python model class name" +msgstr "שם ה-class של מודל פייתון" + +#: contrib/contenttypes/models.py:40 +msgid "content type" +msgstr "סוג תוכן" + +#: contrib/contenttypes/models.py:41 +msgid "content types" +msgstr "סוגי תוכן" #: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" -"לדוגמא: '/about/contact/'. יש לוודא הימצאות הקווים הנטויים בהתחלה ובסוף." +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "לדוגמא: '/about/contact/'. יש לוודא הימצאות הקווים הנטויים בהתחלה ובסוף." #: contrib/flatpages/models.py:9 msgid "title" @@ -2824,12 +1486,8 @@ msgid "template name" msgstr "שם תבנית" #: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " -"will use 'flatpages/default.html'." -msgstr "" -"דוגמא: 'flatpages/contact_page.html'. אם זה לא צויין, המערכת " -"תשתמש ב-'flatpages/default.html'." +msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." +msgstr "דוגמא: 'flatpages/contact_page.html'. אם זה לא צויין, המערכת תשתמש ב-'flatpages/default.html'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -2847,14 +1505,1087 @@ msgstr "דף פשוט" msgid "flat pages" msgstr "דפים פשוטים" +#: contrib/humanize/templatetags/humanize.py:20 +msgid "th" +msgstr "רביעי" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "st" +msgstr "ראשון" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "nd" +msgstr "שני" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "rd" +msgstr "שלישי" + +#: contrib/humanize/templatetags/humanize.py:50 +#, python-format +msgid "%(value).1f million" +msgstr "%(value).1f מיליון" + +#: contrib/humanize/templatetags/humanize.py:53 +#, python-format +msgid "%(value).1f billion" +msgstr "%(value).1f ביליון" + +#: contrib/humanize/templatetags/humanize.py:56 +#, python-format +msgid "%(value).1f trillion" +msgstr "%(value).1f טריליון" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "one" +msgstr "אחד" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "two" +msgstr "שניים" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "three" +msgstr "שלושה" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "four" +msgstr "ארבעה" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "five" +msgstr "חמישה" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "six" +msgstr "שישה" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "seven" +msgstr "שבעה" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "eight" +msgstr "שמונה" + +#: contrib/humanize/templatetags/humanize.py:71 +msgid "nine" +msgstr "תשעה" + +#: contrib/humanize/templatetags/humanize.py:90 +msgid "today" +msgstr "היום" + +#: contrib/humanize/templatetags/humanize.py:92 +msgid "tomorrow" +msgstr "מחר" + +#: contrib/humanize/templatetags/humanize.py:94 +msgid "yesterday" +msgstr "אתמול" + +#: contrib/localflavor/ar/forms.py:30 +#: contrib/localflavor/ar/forms.py:38 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "יש להזין קוד דואר בתחביר NNNN או ANNNNAAA." + +#: contrib/localflavor/ar/forms.py:61 +#: contrib/localflavor/br/forms.py:103 +#: contrib/localflavor/pe/forms.py:34 +#: contrib/localflavor/pe/forms.py:57 +msgid "This field requires only numbers." +msgstr "יש להזין רק ספרות בשדה זה." + +#: contrib/localflavor/ar/forms.py:64 +msgid "This field requires 7 or 8 digits." +msgstr "שדה זה דורש 7 או 8 ספרות." + +#: contrib/localflavor/ar/forms.py:75 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "יש להזין מספר CUIT חוקי בתחביר XX-XXXXXXXX-X או XXXXXXXXXXXX." + +#: contrib/localflavor/ar/forms.py:88 +msgid "Invalid CUIT." +msgstr "CUIT שגוי" + +#: contrib/localflavor/au/forms.py:18 +msgid "Enter a 4 digit post code." +msgstr "יש להזין קוד דואר בן 4 ספרות." + +#: contrib/localflavor/br/forms.py:23 +msgid "Enter a zip code in the format XXXXX-XXX." +msgstr "יש להזין מיקוד בתחביר XXXXX-XXX." + +#: contrib/localflavor/br/forms.py:35 +msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "מספרי טלפון חייבים להיות בתחביר XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:68 +msgid "Select a valid brazilian state. That state is not one of the available states." +msgstr "נא לבחור מדינה ברזילאית חוקית. מדינה זו אינה אחת מהמדינות האפשריות." + +#: contrib/localflavor/br/forms.py:105 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "שדה זה דורש 11 או 14 ספרות לכל היותר." + +#: contrib/localflavor/br/forms.py:115 +msgid "Invalid CPF number." +msgstr "מספר CPF לא חוקי" + +#: contrib/localflavor/br/forms.py:137 +msgid "This field requires at least 14 digits" +msgstr "שדה זה דורש לפחות 14 ספרות." + +#: contrib/localflavor/br/forms.py:147 +msgid "Invalid CNPJ number." +msgstr "מספר CNPJ לא חוקי" + +#: contrib/localflavor/ca/forms.py:19 +msgid "Enter a postal code in the format XXX XXX." +msgstr "יש להזין מיקוד בתחביר XXX XXX." + +#: contrib/localflavor/ca/forms.py:81 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format." +msgstr "יש להזין מספר ביטוח לאומי קנדי חוקי בתחביר XXX-XXX-XXXX." + +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" +msgstr "ארגאו" + +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" +msgstr "אפנצל אינר-רודן" + +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" +msgstr "אפנצל אוסר-רודן" + +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "באזל-שטאדט" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "באזל-לנדשאפט" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "ברן" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "פריבור" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "ג'נבה" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "גלרוס" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "גראובינדן" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "ז'ורה" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "לוצרן" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "נשאטל" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "נידוולדן" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "אובוולדן" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "שפהאוזן" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "שוויץ" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "זולותורן" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "סנט גלן" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "Thurgau" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "טיצ'ינו" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "אורי" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "ואלה" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "וו" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "צוג" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "ציריך" + +#: contrib/localflavor/ch/forms.py:18 +#: contrib/localflavor/no/forms.py:14 +msgid "Enter a zip code in the format XXXX." +msgstr "יש להזין מיקוד בתחביר XXXX." + +#: contrib/localflavor/ch/forms.py:90 +msgid "Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format." +msgstr "יש להזין מספר זיהוי או דרכון שוויצרי בתחביר X1234567<0 או 1234567890." + +#: contrib/localflavor/cl/forms.py:32 +msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "יש להזין RUT צ'יליאני חוקי. התחביר הוא XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:37 +msgid "Enter valid a Chilean RUT" +msgstr "יש להזין RUT צ'יליאני חוקי." + +#: contrib/localflavor/de/de_states.py:5 +msgid "Baden-Wuerttemberg" +msgstr "באדן-וירטמברג" + +#: contrib/localflavor/de/de_states.py:6 +msgid "Bavaria" +msgstr "באווריה" + +#: contrib/localflavor/de/de_states.py:7 +msgid "Berlin" +msgstr "ברלין" + +#: contrib/localflavor/de/de_states.py:8 +msgid "Brandenburg" +msgstr "ברנדנבורג" + +#: contrib/localflavor/de/de_states.py:9 +msgid "Bremen" +msgstr "ברמן" + +#: contrib/localflavor/de/de_states.py:10 +msgid "Hamburg" +msgstr "המבורג" + +#: contrib/localflavor/de/de_states.py:11 +msgid "Hessen" +msgstr "הסה" + +#: contrib/localflavor/de/de_states.py:12 +msgid "Mecklenburg-Western Pomerania" +msgstr "מקלנבורג-מערב פומרניה" + +#: contrib/localflavor/de/de_states.py:13 +msgid "Lower Saxony" +msgstr "סקסוניה התחתונה" + +#: contrib/localflavor/de/de_states.py:14 +msgid "North Rhine-Westphalia" +msgstr "נורדריין-וסטפאליה" + +#: contrib/localflavor/de/de_states.py:15 +msgid "Rhineland-Palatinate" +msgstr "ריינלנד-פאלץ" + +#: contrib/localflavor/de/de_states.py:16 +msgid "Saarland" +msgstr "חבל הסאר" + +#: contrib/localflavor/de/de_states.py:17 +msgid "Saxony" +msgstr "סקסוניה" + +#: contrib/localflavor/de/de_states.py:18 +msgid "Saxony-Anhalt" +msgstr "סקסוניה-אנהלט" + +#: contrib/localflavor/de/de_states.py:19 +msgid "Schleswig-Holstein" +msgstr "שלזוויג-הולשטיין" + +#: contrib/localflavor/de/de_states.py:20 +msgid "Thuringia" +msgstr "תורינגיה" + +#: contrib/localflavor/de/forms.py:16 +#: contrib/localflavor/fi/forms.py:14 +#: contrib/localflavor/fr/forms.py:17 +msgid "Enter a zip code in the format XXXXX." +msgstr "יש להזין מיקוד בתחביר XXXXX." + +#: contrib/localflavor/de/forms.py:60 +msgid "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X format." +msgstr "יש להזין מספר זיהוי גרמני חוקי בתחביר XXXXXXXXXXX-XXXXXXX-XXXXXXX-X." + +#: contrib/localflavor/fi/forms.py:40 +#: contrib/localflavor/fi/forms.py:45 +msgid "Enter a valid Finnish social security number." +msgstr "יש להזין מספר ביטוח לאומי פיני חוקי." + +#: contrib/localflavor/in_/forms.py:16 +msgid "Enter a zip code in the format XXXXXXX." +msgstr "יש להזין מיקוד בתחביר XXXXXXX." + +#: contrib/localflavor/is_/forms.py:17 +msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "יש להזין מספר זיהוי איסלנדי חוקי. התחביר הוא XXXXXX-XXXX." + +#: contrib/localflavor/is_/forms.py:31 +msgid "The Icelandic identification number is not valid." +msgstr "מספר הזיהוי האיסלנדי אינו חוקי" + +#: contrib/localflavor/it/forms.py:16 +msgid "Enter a valid zip code." +msgstr "יש להזין מיקוד חוקי." + +#: contrib/localflavor/it/forms.py:41 +msgid "Enter a valid Social Security number." +msgstr "יש להזין מספר ביטוח לאומי חוקי." + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "יש להזין מספר מעמ חוקי" + +#: contrib/localflavor/jp/forms.py:21 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "יש להזין קוד דואר בתחביר XXXXXXX או XXX-XXXX." + +#: contrib/localflavor/jp/jp_prefectures.py:4 +msgid "Hokkaido" +msgstr "הוקאידו" + +#: contrib/localflavor/jp/jp_prefectures.py:5 +msgid "Aomori" +msgstr "אאומורי" + +#: contrib/localflavor/jp/jp_prefectures.py:6 +msgid "Iwate" +msgstr "Iwate" + +#: contrib/localflavor/jp/jp_prefectures.py:7 +msgid "Miyagi" +msgstr "מיאגי" + +#: contrib/localflavor/jp/jp_prefectures.py:8 +msgid "Akita" +msgstr "אקיטה" + +#: contrib/localflavor/jp/jp_prefectures.py:9 +msgid "Yamagata" +msgstr "יאמאגטה" + +#: contrib/localflavor/jp/jp_prefectures.py:10 +msgid "Fukushima" +msgstr "פוקושימה" + +#: contrib/localflavor/jp/jp_prefectures.py:11 +msgid "Ibaraki" +msgstr "איברקי" + +#: contrib/localflavor/jp/jp_prefectures.py:12 +msgid "Tochigi" +msgstr "טושיגי" + +#: contrib/localflavor/jp/jp_prefectures.py:13 +msgid "Gunma" +msgstr "גונמה" + +#: contrib/localflavor/jp/jp_prefectures.py:14 +msgid "Saitama" +msgstr "סאיטאמה" + +#: contrib/localflavor/jp/jp_prefectures.py:15 +msgid "Chiba" +msgstr "צ'יבה" + +#: contrib/localflavor/jp/jp_prefectures.py:16 +msgid "Tokyo" +msgstr "טוקיו" + +#: contrib/localflavor/jp/jp_prefectures.py:17 +msgid "Kanagawa" +msgstr "קאנגאווה" + +#: contrib/localflavor/jp/jp_prefectures.py:18 +msgid "Yamanashi" +msgstr "יאמאנשי" + +#: contrib/localflavor/jp/jp_prefectures.py:19 +msgid "Nagano" +msgstr "נאגאנו" + +#: contrib/localflavor/jp/jp_prefectures.py:20 +msgid "Niigata" +msgstr "נייגטה" + +#: contrib/localflavor/jp/jp_prefectures.py:21 +msgid "Toyama" +msgstr "טויאמה" + +#: contrib/localflavor/jp/jp_prefectures.py:22 +msgid "Ishikawa" +msgstr "אישיקאוואה" + +#: contrib/localflavor/jp/jp_prefectures.py:23 +msgid "Fukui" +msgstr "פוקוי" + +#: contrib/localflavor/jp/jp_prefectures.py:24 +msgid "Gifu" +msgstr "גיפו" + +#: contrib/localflavor/jp/jp_prefectures.py:25 +msgid "Shizuoka" +msgstr "שיזואוקה" + +#: contrib/localflavor/jp/jp_prefectures.py:26 +msgid "Aichi" +msgstr "אייצ'י" + +#: contrib/localflavor/jp/jp_prefectures.py:27 +msgid "Mie" +msgstr "מיי" + +#: contrib/localflavor/jp/jp_prefectures.py:28 +msgid "Shiga" +msgstr "שיגה" + +#: contrib/localflavor/jp/jp_prefectures.py:29 +msgid "Kyoto" +msgstr "קיוטו" + +#: contrib/localflavor/jp/jp_prefectures.py:30 +msgid "Osaka" +msgstr "אוסקה" + +#: contrib/localflavor/jp/jp_prefectures.py:31 +msgid "Hyogo" +msgstr "הייוגו" + +#: contrib/localflavor/jp/jp_prefectures.py:32 +msgid "Nara" +msgstr "נארה" + +#: contrib/localflavor/jp/jp_prefectures.py:33 +msgid "Wakayama" +msgstr "ווקאייאמה" + +#: contrib/localflavor/jp/jp_prefectures.py:34 +msgid "Tottori" +msgstr "טוטורי" + +#: contrib/localflavor/jp/jp_prefectures.py:35 +msgid "Shimane" +msgstr "Shimane" + +#: contrib/localflavor/jp/jp_prefectures.py:36 +msgid "Okayama" +msgstr "אוקייאמה" + +#: contrib/localflavor/jp/jp_prefectures.py:37 +msgid "Hiroshima" +msgstr "הירושימה" + +#: contrib/localflavor/jp/jp_prefectures.py:38 +msgid "Yamaguchi" +msgstr "יאמאגוצ'י" + +#: contrib/localflavor/jp/jp_prefectures.py:39 +msgid "Tokushima" +msgstr "טוקושימה" + +#: contrib/localflavor/jp/jp_prefectures.py:40 +msgid "Kagawa" +msgstr "קאגאווה" + +#: contrib/localflavor/jp/jp_prefectures.py:41 +msgid "Ehime" +msgstr "Ehime" + +#: contrib/localflavor/jp/jp_prefectures.py:42 +msgid "Kochi" +msgstr "קוצ'י" + +#: contrib/localflavor/jp/jp_prefectures.py:43 +msgid "Fukuoka" +msgstr "פוקוקה" + +#: contrib/localflavor/jp/jp_prefectures.py:44 +msgid "Saga" +msgstr "סגה" + +#: contrib/localflavor/jp/jp_prefectures.py:45 +msgid "Nagasaki" +msgstr "נגסקי" + +#: contrib/localflavor/jp/jp_prefectures.py:46 +msgid "Kumamoto" +msgstr "קומאמוטו" + +#: contrib/localflavor/jp/jp_prefectures.py:47 +msgid "Oita" +msgstr "אויטה" + +#: contrib/localflavor/jp/jp_prefectures.py:48 +msgid "Miyazaki" +msgstr "מיאזאקי" + +#: contrib/localflavor/jp/jp_prefectures.py:49 +msgid "Kagoshima" +msgstr "קגושימה" + +#: contrib/localflavor/jp/jp_prefectures.py:50 +msgid "Okinawa" +msgstr "אוקינאווה" + +#: contrib/localflavor/nl/forms.py:25 +msgid "Enter a valid postal code" +msgstr "יש להזין מיקוד חוקי." + +#: contrib/localflavor/nl/forms.py:53 +msgid "Enter a valid phone number" +msgstr "יש להזין מספר טלפון חוקי" + +#: contrib/localflavor/nl/forms.py:76 +msgid "Enter a valid SoFi number" +msgstr "יש להזין מספר SoFi חוקי" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drente" +msgstr "דרנתה" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "פלבולנד" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "פריזלנד" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "חלדרלנד" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "חרונינגן" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "לימבורג" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "צפון בראבנט" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "צפון הולנד" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "אובראיסל" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "אוטרכט" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "זילנד" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "דרום הולנד" + +#: contrib/localflavor/no/forms.py:35 +msgid "Enter a valid Norwegian social security number." +msgstr "יש להזין מספר ביטוח לאומי נורבגי חוקי." + +#: contrib/localflavor/pe/forms.py:36 +msgid "This field requires 8 digits." +msgstr "שדה זה דורש 8 ספרות." + +#: contrib/localflavor/pe/forms.py:59 +msgid "This field requires 11 digits." +msgstr "שדה זה דורש 11 ספרות." + +#: contrib/localflavor/pl/forms.py:53 +msgid "National Identification Number consists of 11 digits." +msgstr "מספר זיהוי לאומי מורכב מ-11 ספרות" + +#: contrib/localflavor/pl/forms.py:59 +msgid "Wrong checksum for the National Identification Number." +msgstr "סכום ביקורת שגוי עבודי מספר הזיהוי הלאומי" + +#: contrib/localflavor/pl/forms.py:71 +msgid "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "נא להזין שדה מספר מס (NIP) בתחביר XXX-XXX-XX-XX או XX-XX-XXX-XXX." + +#: contrib/localflavor/pl/forms.py:82 +msgid "Enter a postal code in the format XX-XXX." +msgstr "נא להזין מיקוד בתחביר XX-XXX." + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" +msgstr "סילסיה התחתונה" + +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" +msgstr "קויאבויה - פומרניה" + +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" +msgstr "לובלין" + +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "לובוש" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "לודז'" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "פולין זוטא" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "מזוביה" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "אופולה" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "תת קרפטיה" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "פודלסיה" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "פומרניה" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +msgid "Silesia" +msgstr "סילסיה" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "סבייטוקזי'סקי" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "וורמיה- מזוריה" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "פולין רבתי" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "מערב פומרניה" + +#: contrib/localflavor/sk/forms.py:32 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "יש להזין קוד דואר בתחביר XXXXX או XXX XX." + +#: contrib/localflavor/sk/sk_districts.py:8 +msgid "Banska Bystrica" +msgstr " בנסקה ביסטריצה" + +#: contrib/localflavor/sk/sk_districts.py:9 +msgid "Banska Stiavnica" +msgstr "בנסקה שטיאבניצה" + +#: contrib/localflavor/sk/sk_districts.py:10 +msgid "Bardejov" +msgstr "ברדיוב" + +#: contrib/localflavor/sk/sk_districts.py:11 +msgid "Banovce nad Bebravou" +msgstr "בנובץ ע\"מ בברבו" + +#: contrib/localflavor/sk/sk_districts.py:12 +msgid "Brezno" +msgstr "ברזנו" + +#: contrib/localflavor/sk/sk_districts.py:13 +msgid "Bratislava I" +msgstr "ברטיסלאבה 1" + +#: contrib/localflavor/sk/sk_districts.py:14 +msgid "Bratislava II" +msgstr "ברטיסלאבה 2" + +#: contrib/localflavor/sk/sk_districts.py:15 +msgid "Bratislava III" +msgstr "ברטיסלאבה 3" + +#: contrib/localflavor/sk/sk_districts.py:16 +msgid "Bratislava IV" +msgstr "ברטיסלאבה 4" + +#: contrib/localflavor/sk/sk_districts.py:17 +msgid "Bratislava V" +msgstr "ברטיסלאבה 5" + +#: contrib/localflavor/sk/sk_districts.py:18 +msgid "Bytca" +msgstr "ביטצ'ה" + +#: contrib/localflavor/sk/sk_districts.py:19 +msgid "Cadca" +msgstr "צ'דקה" + +#: contrib/localflavor/sk/sk_districts.py:20 +msgid "Detva" +msgstr "דטבה" + +#: contrib/localflavor/sk/sk_districts.py:21 +msgid "Dolny Kubin" +msgstr "דולני קובין" + +#: contrib/localflavor/sk/sk_districts.py:22 +msgid "Dunajska Streda" +msgstr "דונאייסקה סטרדה" + +#: contrib/localflavor/sk/sk_districts.py:23 +msgid "Galanta" +msgstr "גלנטה" + +#: contrib/localflavor/sk/sk_districts.py:24 +msgid "Gelnica" +msgstr "גלניקה" + +#: contrib/localflavor/sk/sk_districts.py:25 +msgid "Hlohovec" +msgstr "הלוהובץ" + +#: contrib/localflavor/sk/sk_districts.py:26 +msgid "Humenne" +msgstr "הומנה" + +#: contrib/localflavor/sk/sk_districts.py:27 +msgid "Ilava" +msgstr "אילבה" + +#: contrib/localflavor/sk/sk_districts.py:28 +msgid "Kezmarok" +msgstr "קזמרוק" + +#: contrib/localflavor/sk/sk_districts.py:29 +msgid "Komarno" +msgstr "קומרנו" + +#: contrib/localflavor/sk/sk_districts.py:30 +msgid "Kosice I" +msgstr "קושיצה 1" + +#: contrib/localflavor/sk/sk_districts.py:31 +msgid "Kosice II" +msgstr "קושיצה 2" + +#: contrib/localflavor/sk/sk_districts.py:32 +msgid "Kosice III" +msgstr "קושיצה 3" + +#: contrib/localflavor/sk/sk_districts.py:33 +msgid "Kosice IV" +msgstr "קושיצה 4" + +#: contrib/localflavor/sk/sk_districts.py:34 +msgid "Kosice - okolie" +msgstr "קושיצ'ה - אוקולי" + +#: contrib/localflavor/sk/sk_districts.py:35 +msgid "Krupina" +msgstr "קרופינה" + +#: contrib/localflavor/sk/sk_districts.py:36 +msgid "Kysucke Nove Mesto" +msgstr "קיוסקה נובה מסטו" + +#: contrib/localflavor/sk/sk_districts.py:37 +msgid "Levice" +msgstr "לביצה" + +#: contrib/localflavor/sk/sk_districts.py:38 +msgid "Levoca" +msgstr "לבוצ'ה" + +#: contrib/localflavor/sk/sk_districts.py:39 +msgid "Liptovsky Mikulas" +msgstr "ליפטובסקי מיקולס" + +#: contrib/localflavor/sk/sk_districts.py:40 +msgid "Lucenec" +msgstr "לוצ'נץ'" + +#: contrib/localflavor/sk/sk_districts.py:41 +msgid "Malacky" +msgstr "מאלאקי" + +#: contrib/localflavor/sk/sk_districts.py:42 +msgid "Martin" +msgstr "מרטין" + +#: contrib/localflavor/sk/sk_districts.py:43 +msgid "Medzilaborce" +msgstr "מדזילבורצה" + +#: contrib/localflavor/sk/sk_districts.py:44 +msgid "Michalovce" +msgstr "מיחלובצה" + +#: contrib/localflavor/sk/sk_districts.py:45 +msgid "Myjava" +msgstr "מיאווה" + +#: contrib/localflavor/sk/sk_districts.py:46 +msgid "Namestovo" +msgstr "נמסטובו" + +#: contrib/localflavor/sk/sk_districts.py:47 +msgid "Nitra" +msgstr "ניטרה" + +#: contrib/localflavor/sk/sk_districts.py:48 +msgid "Nove Mesto nad Vahom" +msgstr "נובה מסטו ע\"נ וה" + +#: contrib/localflavor/sk/sk_districts.py:49 +msgid "Nove Zamky" +msgstr "נווי-זאמקי" + +#: contrib/localflavor/sk/sk_districts.py:50 +msgid "Partizanske" +msgstr "פרטיזנסקה" + +#: contrib/localflavor/sk/sk_districts.py:51 +msgid "Pezinok" +msgstr "פזינוק" + +#: contrib/localflavor/sk/sk_districts.py:52 +msgid "Piestany" +msgstr "פיאסטאני" + +#: contrib/localflavor/sk/sk_districts.py:53 +msgid "Poltar" +msgstr "פולטר" + +#: contrib/localflavor/sk/sk_districts.py:54 +msgid "Poprad" +msgstr "פופרד" + +#: contrib/localflavor/sk/sk_districts.py:55 +msgid "Povazska Bystrica" +msgstr "פובסקה ביסטריצ'ה" + +#: contrib/localflavor/sk/sk_districts.py:56 +msgid "Presov" +msgstr "פרשוב" + +#: contrib/localflavor/sk/sk_districts.py:57 +msgid "Prievidza" +msgstr "פרבידזה" + +#: contrib/localflavor/sk/sk_districts.py:58 +msgid "Puchov" +msgstr "פוצ'וב" + +#: contrib/localflavor/sk/sk_districts.py:59 +msgid "Revuca" +msgstr "ריץ" + +#: contrib/localflavor/sk/sk_districts.py:60 +msgid "Rimavska Sobota" +msgstr "רימובסקה סובוטה" + +#: contrib/localflavor/sk/sk_districts.py:61 +msgid "Roznava" +msgstr "רוזנבה" + +#: contrib/localflavor/sk/sk_districts.py:62 +msgid "Ruzomberok" +msgstr "רוזומברוק" + +#: contrib/localflavor/sk/sk_districts.py:63 +msgid "Sabinov" +msgstr "סבינוב" + +#: contrib/localflavor/sk/sk_districts.py:64 +msgid "Senec" +msgstr "סנץ" + +#: contrib/localflavor/sk/sk_districts.py:65 +msgid "Senica" +msgstr "סניצ'ה" + +#: contrib/localflavor/sk/sk_districts.py:66 +msgid "Skalica" +msgstr "סקליצ'ה" + +#: contrib/localflavor/sk/sk_districts.py:67 +msgid "Snina" +msgstr "סנינה" + +#: contrib/localflavor/sk/sk_districts.py:68 +msgid "Sobrance" +msgstr "סוברנס" + +#: contrib/localflavor/sk/sk_districts.py:69 +msgid "Spisska Nova Ves" +msgstr "ספישסקה נובה וס" + +#: contrib/localflavor/sk/sk_districts.py:70 +msgid "Stara Lubovna" +msgstr "סטרה לובובנה" + +#: contrib/localflavor/sk/sk_districts.py:71 +msgid "Stropkov" +msgstr "סרטופקוב" + +#: contrib/localflavor/sk/sk_districts.py:72 +msgid "Svidnik" +msgstr "סבידניק" + +#: contrib/localflavor/sk/sk_districts.py:73 +msgid "Sala" +msgstr "סאלה" + +#: contrib/localflavor/sk/sk_districts.py:74 +msgid "Topolcany" +msgstr "טופולצ'ני" + +#: contrib/localflavor/sk/sk_districts.py:75 +msgid "Trebisov" +msgstr "טרביסוב" + +#: contrib/localflavor/sk/sk_districts.py:76 +msgid "Trencin" +msgstr "טרנצ'ין" + +#: contrib/localflavor/sk/sk_districts.py:77 +msgid "Trnava" +msgstr "טרנאוה" + +#: contrib/localflavor/sk/sk_districts.py:78 +msgid "Turcianske Teplice" +msgstr "טורצינסק טפליץ" + +#: contrib/localflavor/sk/sk_districts.py:79 +msgid "Tvrdosin" +msgstr "טברודוסין" + +#: contrib/localflavor/sk/sk_districts.py:80 +msgid "Velky Krtis" +msgstr "ולקי קריץ" + +#: contrib/localflavor/sk/sk_districts.py:81 +msgid "Vranov nad Toplou" +msgstr "טרנוב ע\"נ טופולו" + +#: contrib/localflavor/sk/sk_districts.py:82 +msgid "Zlate Moravce" +msgstr "זלטה מורבצה" + +#: contrib/localflavor/sk/sk_districts.py:83 +msgid "Zvolen" +msgstr "זבולן" + +#: contrib/localflavor/sk/sk_districts.py:84 +msgid "Zarnovica" +msgstr "זרנוביקה" + +#: contrib/localflavor/sk/sk_districts.py:85 +msgid "Ziar nad Hronom" +msgstr "ז'יר ע\"נ הרון" + +#: contrib/localflavor/sk/sk_districts.py:86 +msgid "Zilina" +msgstr "ז'ילינה" + +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "מחוז בטנסקה ביסטריקה" + +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "מחוז ברטיסלבה" + +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "מחוז קושיצ'ה" + +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "מחוז ניטרה" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "מחוז פראסוב" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "מחוז טראנצין" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "מחוז טרנאוה" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "מחוז ז'ילינה" + +#: contrib/localflavor/uk/forms.py:18 +msgid "Enter a postcode. A space is required between the two postcode parts." +msgstr "יש להזין קוד דואר. נדרש רווח בין שני חלקי הקוד." + +#: contrib/localflavor/us/forms.py:18 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "יש להזין מיקוד חוקי בתחביר XXXXX או XXXXX-XXXX." + +#: contrib/localflavor/us/forms.py:51 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "יש להזין מספר ביטוח לאומי אמריקאי בתחביר XXX-XX-XXXX." + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "הפניה מ" #: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." +msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." msgstr "זה אמור להיות נתיב מלא, ללא שם המתחם. לדוגמא: '‎/events/search'." #: contrib/redirects/models.py:9 @@ -2862,9 +2593,7 @@ msgid "redirect to" msgstr "הפניה אל" #: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." +msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." msgstr "יכול להיות נתיב מלא (כנ\"ל) או URL מלא המתחיל ב'http://'." #: contrib/redirects/models.py:13 @@ -2875,15 +2604,818 @@ msgstr "הפניה" msgid "redirects" msgstr "הפניות" -#: contrib/contenttypes/models.py:36 -msgid "python model class name" -msgstr "שם ה-class של מודל פייתון" +#: contrib/sessions/models.py:80 +msgid "session key" +msgstr "מפתח התחברות (session key)" -#: contrib/contenttypes/models.py:39 -msgid "content type" -msgstr "סוג תוכן" +#: contrib/sessions/models.py:81 +msgid "session data" +msgstr "מידע התחברות (session data)" -#: contrib/contenttypes/models.py:40 -msgid "content types" -msgstr "סוגי תוכן" +#: contrib/sessions/models.py:82 +msgid "expire date" +msgstr "תאריך פג תוקף" + +#: contrib/sessions/models.py:87 +msgid "session" +msgstr "התחברות" + +#: contrib/sessions/models.py:88 +msgid "sessions" +msgstr "התחברויות" + +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "שם מתחם" + +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "שם לתצוגה" + +#: contrib/sites/models.py:37 +msgid "site" +msgstr "אתר" + +#: contrib/sites/models.py:38 +msgid "sites" +msgstr "אתרים" + +#: core/validators.py:72 +msgid "This value must contain only letters, numbers and underscores." +msgstr "ערך זה חייב להכיל אותיות, ספרות וקווים תחתונים בלבד." + +#: core/validators.py:76 +msgid "This value must contain only letters, numbers, underscores, dashes or slashes." +msgstr "ערך זה חייב להכיל אותיות, ספרות, מקפים, קווים תחתונים ונטויים בלבד." + +#: core/validators.py:80 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "ערך זה חייב להכיל אותיות, ספרות, מקפים וקווים תחתונים בלבד." + +#: core/validators.py:84 +msgid "Uppercase letters are not allowed here." +msgstr "אסור להשתמש באותיות גדולות." + +#: core/validators.py:88 +msgid "Lowercase letters are not allowed here." +msgstr "אסור להשתמש באותיות קטנות." + +#: core/validators.py:95 +msgid "Enter only digits separated by commas." +msgstr "יש להזין רק ספרות מופרדות בפסיקים." + +#: core/validators.py:107 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "יש להזין רק כתובות דוא\"ל מופרדות בפסיקים." + +#: core/validators.py:111 +msgid "Please enter a valid IP address." +msgstr "נא להזין כתובת IP חוקית." + +#: core/validators.py:115 +msgid "Empty values are not allowed here." +msgstr "חובה להזין ערך בשדה זה." + +#: core/validators.py:119 +msgid "Non-numeric characters aren't allowed here." +msgstr "מותר להזין ספרות בלבד." + +#: core/validators.py:123 +msgid "This value can't be comprised solely of digits." +msgstr "ערך זה אינו יכול להכיל ספרות בלבד." + +#: core/validators.py:128 +#: newforms/fields.py:149 +msgid "Enter a whole number." +msgstr "נא להזין מספר שלם." + +#: core/validators.py:132 +msgid "Only alphabetical characters are allowed here." +msgstr "יש להזין כאן אותיות בלבד." + +#: core/validators.py:147 +msgid "Year must be 1900 or later." +msgstr "שנה צריכה להיות 1900 ומעלה." + +#: core/validators.py:151 +#, python-format +msgid "Invalid date: %s" +msgstr "תאריך שגוי: %s" + +#: core/validators.py:156 +#: db/models/fields/__init__.py:505 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "יש להזין תאריך במבנה YYYY-MM-DD." + +#: core/validators.py:161 +msgid "Enter a valid time in HH:MM format." +msgstr "יש להזין שעה במבנה HH:MM." + +#: core/validators.py:165 +#: db/models/fields/__init__.py:579 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "יש להזין תאריך ושעה במבנה YYYY-MM-DD HH:MM." + +#: core/validators.py:170 +#: newforms/fields.py:343 +msgid "Enter a valid e-mail address." +msgstr "יש להזין כתובת דוא\"ל חוקית." + +#: core/validators.py:182 +#: core/validators.py:474 +#: newforms/fields.py:377 +#: oldforms/__init__.py:686 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "לא נשלח שום קובץ. נא לבדוק את סוג הקידוד של הטופס." + +#: core/validators.py:193 +#: newforms/fields.py:405 +msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." +msgstr "נא להעלות תמונה חוקית. הקובץ שהעלת אינו תמונה אומכיל תמונה מקולקלת." + +#: core/validators.py:200 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "ה-URL %s אנו מצביע לתמונה חוקית." + +#: core/validators.py:204 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "מספרי טלפון חייבים להיות במבנה XXX-XXX-XXXX.‏ \"%s\" אינו חוקי." + +#: core/validators.py:212 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "ה-URL‏ %s אינו מצביע לסרטון QuickTime חוקי." + +#: core/validators.py:216 +msgid "A valid URL is required." +msgstr "יש להזין URL חוקי." + +#: core/validators.py:230 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"יש להזין HTML חוקי. שגיאות ספציפיות:\n" +"%s" + +#: core/validators.py:237 +#, python-format +msgid "Badly formed XML: %s" +msgstr "מבנה XML שגוי: %s" + +#: core/validators.py:254 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL שגוי: %s" + +#: core/validators.py:259 +#: core/validators.py:261 +#, python-format +msgid "The URL %s is a broken link." +msgstr "ה-URL‏ %s הוא קישור שבור." + +#: core/validators.py:267 +msgid "Enter a valid U.S. state abbreviation." +msgstr "יש להזין קיצור חוקי למדינה בארה\"ב." + +#: core/validators.py:281 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgstr "שמור על לשונך! המילה %s אסורה לשימוש כאן." + +#: core/validators.py:288 +#, python-format +msgid "This field must match the '%s' field." +msgstr "תוכן השדה חייב להיות זהה לשדה '%s'." + +#: core/validators.py:307 +msgid "Please enter something for at least one field." +msgstr "יש להזין תוכן בלפחות אחד מהשדות." + +#: core/validators.py:316 +#: core/validators.py:327 +msgid "Please enter both fields or leave them both empty." +msgstr "יש להזין תוכן בשני השדות או להשאיר את שניהם ריקים." + +#: core/validators.py:335 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "יש להזין מידע בשדה זה אם שדה %(field)s מכיל %(value)s" + +#: core/validators.py:348 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "יש להזין תוכן בשדה זה אם תוכן שדה %(field)s אינו %(value)s" + +#: core/validators.py:367 +msgid "Duplicate values are not allowed." +msgstr "לא ניתן להזין ערכים כפולים." + +#: core/validators.py:382 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "ערך זה חייב להיות בין %(lower)s ל-%(upper)s." + +#: core/validators.py:384 +#, python-format +msgid "This value must be at least %s." +msgstr "ערך זה חייב להיות לפחות %s." + +#: core/validators.py:386 +#, python-format +msgid "This value must be no more than %s." +msgstr "ערך זה אינו יכול להיות יותר מ-%s." + +#: core/validators.py:427 +#, python-format +msgid "This value must be a power of %s." +msgstr "ערך זה חייב להיות חזקה של %s." + +#: core/validators.py:437 +msgid "Please enter a valid decimal number." +msgstr "יש להזין מספר עשרוני חוקי." + +#: core/validators.py:444 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit.Please enter a valid decimal number with at most %s total digits." +msgstr "נא להזין מספר עשרוני חוקי עפ %s ספרה לכל היותר.נא להזין מספר עשרוני חוקי עם %s ספרות לכל היותר." + +#: core/validators.py:447 +#, python-format +msgid "Please enter a valid decimal number with a whole part of at most %s digit.Please enter a valid decimal number with a whole part of at most %s digits." +msgstr "נא להזין מספר עשרוני חוקי כאשר החלק השלם מכיל %s ספרה לכל היותר.נא להזין מספר עשרוני חוקי כאשר החלק השלם מכיל %s ספרות לכל היותר." + +#: core/validators.py:450 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place.Please enter a valid decimal number with at most %s decimal places." +msgstr "נא להזין מספר עשרוני חוקי עם %s מקום עשרוני לכל היותר.נא להזין מספר עשרוני חוקי עם %s מקומקומות עשרוניים לא היותר." + +#: core/validators.py:458 +msgid "Please enter a valid floating point number." +msgstr "נא להזין מספר נקודה צפה חוקי." + +#: core/validators.py:467 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "יש להעלות קובץ בגודל %s בתים לפחות." + +#: core/validators.py:468 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "יש לוודא שהקובץ שהעלת הוא בגודל %s בתים לכל היותר." + +#: core/validators.py:485 +msgid "The format for this field is wrong." +msgstr "מבנה תוכן שדה זה שגוי." + +#: core/validators.py:500 +msgid "This field is invalid." +msgstr "שדה זה אינו חוקי." + +#: core/validators.py:536 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "לא ניתן לאחזר כלום מ %s." + +#: core/validators.py:539 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "ה-URL·%(url)s·החזיר כותרת·Content-Type·לא חוקית·'%(contenttype)s'." + +#: core/validators.py:572 +#, python-format +msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" +msgstr "נא לסגור את תג·%(tag)s·בשורה·%(line)s.·(השורה מתחילה ב·\"%(start)s\".)" + +#: core/validators.py:576 +#, python-format +msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" +msgstr "חלק מהטקסט בשורה·%(line)s·אסור בהקשר זה.·(השורה·מתחילה ב·\"%(start)s\".)" + +#: core/validators.py:581 +#, python-format +msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" +msgstr "\"%(attr)s\"·בשורה·%(line)s·אינה תכונה חוקית.·(השורה מתחילה ב·\"%(start)s\".)" + +#: core/validators.py:586 +#, python-format +msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" +msgstr "\"<%(tag)s>\"·בשורה·%(line)s·אינו תג חוקי.·(השורה מתחילה ב·\"%(start)s\".)" + +#: core/validators.py:590 +#, python-format +msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" +msgstr "לתג בשורה %(line)s חסרה תכונה אחת או יותר נדרשות. (השורה מתחילה ב-\"%(start)s\".)" + +#: core/validators.py:595 +#, python-format +msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" +msgstr "לתכונה·\"%(attr)s\"·בשורה·%(line)s·יש ערך לא חוקי.·(השורה·מתחילה ב·\"%(start)s\".)" + +#: db/models/manipulators.py:308 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s עם %(type)s קיים כבר עבור %(field)s נתון." + +#: db/models/fields/__init__.py:52 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s·עם·%(fieldname)s·זה קיימת כבר." + +#: db/models/fields/__init__.py:159 +#: db/models/fields/__init__.py:316 +#: db/models/fields/__init__.py:731 +#: db/models/fields/__init__.py:742 +#: newforms/fields.py:93 +#: newforms/fields.py:513 +#: newforms/fields.py:589 +#: newforms/fields.py:600 +#: newforms/models.py:193 +#: oldforms/__init__.py:373 +msgid "This field is required." +msgstr "יש להזין תוכן בשדה זה." + +#: db/models/fields/__init__.py:414 +msgid "This value must be an integer." +msgstr "ערך זה חייב להיות מספר שלם." + +#: db/models/fields/__init__.py:450 +msgid "This value must be either True or False." +msgstr "ערך זה חייב להיות אמת או שקר." + +#: db/models/fields/__init__.py:471 +msgid "This field cannot be null." +msgstr "שדה זה אינו יכול להכיל null." + +#: db/models/fields/__init__.py:640 +msgid "This value must be a decimal number." +msgstr "ערך זה חייב להיות מספר עשרוני." + +#: db/models/fields/__init__.py:751 +msgid "Enter a valid filename." +msgstr "יש להזין שם קובץ חוקי." + +#: db/models/fields/__init__.py:900 +msgid "This value must be either None, True or False." +msgstr "ערך זה חייב להיות כלום, אמת או שקר." + +#: db/models/fields/related.py:55 +#, python-format +msgid "Please enter a valid %s." +msgstr "יש להזין %s חוקי." + +#: db/models/fields/related.py:658 +msgid "Separate multiple IDs with commas." +msgstr "יש להפריד מזהים מרובים בפסיקים." + +#: db/models/fields/related.py:660 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "החזק את \"Control\", או \"Command\" על מק, לחוץ כדי לבחור יותר מאחד." + +#: db/models/fields/related.py:707 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid.Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr "נא להזין מזהה %(self)s חוקי. הערך %(value)r אינו חוקי. נא להזין מזהה %(self)s חוקי. הערכים %(value)r אינם חוקיים." + +#: newforms/fields.py:123 +#, python-format +msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." +msgstr "נא לוודא שערך זה מכיל %(max)d תווים לכל היותר (מכיל %(length)d)." + +#: newforms/fields.py:125 +#, python-format +msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." +msgstr "נא לוודא שערך זה מכיל לפחות %(min)d תווים (מכיל %(length)d)." + +#: newforms/fields.py:151 +#: newforms/fields.py:174 +#: newforms/fields.py:204 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "יש לוודא שערך זה פחות מ או שווה ל %s." + +#: newforms/fields.py:153 +#: newforms/fields.py:176 +#: newforms/fields.py:206 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "יש לוודא שהערך גדול מ או שווה ל %s." + +#: newforms/fields.py:172 +#: newforms/fields.py:199 +msgid "Enter a number." +msgstr "נא להזין מספר." + +#: newforms/fields.py:208 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "נא לוודא שאין יותר מ-%s ספרות סה\"כ" + +#: newforms/fields.py:210 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "נא לוודא שאין יותר מ-%s ספרות אחרי הנקודה" + +#: newforms/fields.py:212 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "נא לוודא שאין יותר מ-%s ספרות לפני הנקודה העשרונית" + +#: newforms/fields.py:245 +#: newforms/fields.py:633 +msgid "Enter a valid date." +msgstr "יש להזין תאריך חוקי." + +#: newforms/fields.py:272 +#: newforms/fields.py:635 +msgid "Enter a valid time." +msgstr "יש להזין שעה חוקית." + +#: newforms/fields.py:308 +msgid "Enter a valid date/time." +msgstr "יש להזין תאריך ושעה חוקיים." + +#: newforms/fields.py:321 +msgid "Enter a valid value." +msgstr "יש להזין ערך חוקי." + +#: newforms/fields.py:379 +msgid "No file was submitted." +msgstr "לא נשלח שום קובץ" + +#: newforms/fields.py:381 +#: oldforms/__init__.py:688 +msgid "The submitted file is empty." +msgstr "הקובץ שנשלח ריק." + +#: newforms/fields.py:419 +#: newforms/fields.py:444 +msgid "Enter a valid URL." +msgstr "יש להזין URL חוקי." + +#: newforms/fields.py:446 +msgid "This URL appears to be a broken link." +msgstr "ה-URL הזה נראה כקישור שבור." + +#: newforms/fields.py:501 +#: newforms/models.py:180 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "יש לבחור אפשרות חוקית; '%(data)s' אינו בין %(choices)s." + +#: newforms/fields.py:517 +#: newforms/fields.py:593 +#: newforms/models.py:197 +msgid "Enter a list of values." +msgstr "יש להזין רשימת ערכים" + +#: newforms/fields.py:523 +#: newforms/models.py:203 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "יש לבחור אפשרות חוקית. %s אינו בין האפשרויות הזמינות." + +#: newforms/fields.py:644 +msgid "Enter a valid IPv4 address." +msgstr "יש להזין כתובת IPv4 חוקית." + +#: oldforms/__init__.py:408 +#, python-format +msgid "Ensure your text is less than %s character." +msgstr "נא לוודא שהטקסט שלך מכיל פחות מ %s תו." + +#: oldforms/__init__.py:413 +msgid "Line breaks are not allowed here." +msgstr "מעברי שורה אסורים כאן." + +#: oldforms/__init__.py:511 +#: oldforms/__init__.py:585 +#: oldforms/__init__.py:624 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "יש לבחור אפשרות חוקית; '%(data)s' אינו בין %(choices)s." + +#: oldforms/__init__.py:744 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "חש להזין מספר שלם בין ‎-32,768 ל- 32,767." + +#: oldforms/__init__.py:754 +msgid "Enter a positive number." +msgstr "יש להזין מספר חיובי." + +#: oldforms/__init__.py:764 +msgid "Enter a whole number between 0 and 32,767." +msgstr "יש להזין מספר שלם בין 0 ל- 32,767." + +#: template/defaultfilters.py:541 +msgid "yes,no,maybe" +msgstr "כן,לא,אולי" + +#: template/defaultfilters.py:570 +#, python-format +msgid "%(size)d byte" +msgstr "%(size)d בתים" + +#: template/defaultfilters.py:572 +#, python-format +msgid "%.1f KB" +msgstr "%.1f KB" + +#: template/defaultfilters.py:574 +#, python-format +msgid "%.1f MB" +msgstr "%.1f MB" + +#: template/defaultfilters.py:575 +#, python-format +msgid "%.1f GB" +msgstr "%.1f GB" + +#: utils/dateformat.py:41 +msgid "p.m." +msgstr "אחר הצהריים" + +#: utils/dateformat.py:42 +msgid "a.m." +msgstr "בבוקר" + +#: utils/dateformat.py:47 +msgid "PM" +msgstr "אחר הצהריים" + +#: utils/dateformat.py:48 +msgid "AM" +msgstr "בבוקר" + +#: utils/dateformat.py:97 +msgid "midnight" +msgstr "חצות" + +#: utils/dateformat.py:99 +msgid "noon" +msgstr "צהריים" + +#: utils/dates.py:6 +msgid "Monday" +msgstr "שני" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "שלישי" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "רביעי" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "חמישי" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "שישי" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "שבת" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "ראשון" + +#: utils/dates.py:10 +msgid "Mon" +msgstr "שני" + +#: utils/dates.py:10 +msgid "Tue" +msgstr "שלישי" + +#: utils/dates.py:10 +msgid "Wed" +msgstr "רביעי" + +#: utils/dates.py:10 +msgid "Thu" +msgstr "חמישי" + +#: utils/dates.py:10 +msgid "Fri" +msgstr "שישי" + +#: utils/dates.py:11 +msgid "Sat" +msgstr "שבת" + +#: utils/dates.py:11 +msgid "Sun" +msgstr "ראשון" + +#: utils/dates.py:18 +msgid "January" +msgstr "ינואר" + +#: utils/dates.py:18 +msgid "February" +msgstr "פברואר" + +#: utils/dates.py:18 +#: utils/dates.py:31 +msgid "March" +msgstr "מרס" + +#: utils/dates.py:18 +#: utils/dates.py:31 +msgid "April" +msgstr "אפריל" + +#: utils/dates.py:18 +#: utils/dates.py:31 +msgid "May" +msgstr "מאי" + +#: utils/dates.py:18 +#: utils/dates.py:31 +msgid "June" +msgstr "יוני" + +#: utils/dates.py:19 +#: utils/dates.py:31 +msgid "July" +msgstr "יולי" + +#: utils/dates.py:19 +msgid "August" +msgstr "אוגוסט" + +#: utils/dates.py:19 +msgid "September" +msgstr "ספטמבר" + +#: utils/dates.py:19 +msgid "October" +msgstr "אוקטובר" + +#: utils/dates.py:19 +msgid "November" +msgstr "נובמבר" + +#: utils/dates.py:20 +msgid "December" +msgstr "דצמבר" + +#: utils/dates.py:23 +msgid "jan" +msgstr "ינו" + +#: utils/dates.py:23 +msgid "feb" +msgstr "פבר" + +#: utils/dates.py:23 +msgid "mar" +msgstr "מרס" + +#: utils/dates.py:23 +msgid "apr" +msgstr "אפר" + +#: utils/dates.py:23 +msgid "may" +msgstr "מאי" + +#: utils/dates.py:23 +msgid "jun" +msgstr "יונ" + +#: utils/dates.py:24 +msgid "jul" +msgstr "יול" + +#: utils/dates.py:24 +msgid "aug" +msgstr "אוג" + +#: utils/dates.py:24 +msgid "sep" +msgstr "ספט" + +#: utils/dates.py:24 +msgid "oct" +msgstr "אוק" + +#: utils/dates.py:24 +msgid "nov" +msgstr "נוב" + +#: utils/dates.py:24 +msgid "dec" +msgstr "דצמ" + +#: utils/dates.py:31 +msgid "Jan." +msgstr "ינו'" + +#: utils/dates.py:31 +msgid "Feb." +msgstr "פבר'" + +#: utils/dates.py:32 +msgid "Aug." +msgstr "אוג'" + +#: utils/dates.py:32 +msgid "Sept." +msgstr "ספט'" + +#: utils/dates.py:32 +msgid "Oct." +msgstr "אוק'" + +#: utils/dates.py:32 +msgid "Nov." +msgstr "נוב'" + +#: utils/dates.py:32 +msgid "Dec." +msgstr "דצמ'" + +#: utils/text.py:127 +msgid "or" +msgstr "או" + +#: utils/timesince.py:21 +msgid "year" +msgstr "שנה" + +#: utils/timesince.py:22 +msgid "month" +msgstr "חודש" + +#: utils/timesince.py:23 +msgid "week" +msgstr "שבוע" + +#: utils/timesince.py:24 +msgid "day" +msgstr "יום" + +#: utils/timesince.py:25 +msgid "hour" +msgstr "שעה" + +#: utils/timesince.py:26 +msgid "minute" +msgstr "דקה" + +#: utils/timesince.py:46 +msgid "minutes" +msgstr "דקות" + +#: utils/timesince.py:51 +#, python-format +msgid "%(number)d %(type)s" +msgstr "%(number)d %(type)s" + +#: utils/timesince.py:57 +#, python-format +msgid ", %(number)d %(type)s" +msgstr ", %(number)d %(type)s" + +#: utils/translation/trans_real.py:391 +msgid "DATE_FORMAT" +msgstr "d.m.Y" + +#: utils/translation/trans_real.py:392 +msgid "DATETIME_FORMAT" +msgstr "d.m.y H:i:s" + +#: utils/translation/trans_real.py:393 +msgid "TIME_FORMAT" +msgstr "H:i:s" + +#: utils/translation/trans_real.py:409 +msgid "YEAR_MONTH_FORMAT" +msgstr "d.m.Y" + +#: utils/translation/trans_real.py:410 +msgid "MONTH_DAY_FORMAT" +msgstr "d.m.Y" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "ה-%(verbose_name)s נוצר בהצלחה." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "ה-%(verbose_name)s עודכן בהצלחה." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "ה-%(verbose_name)s נמחק." diff --git a/django/conf/locale/hr/LC_MESSAGES/django.mo b/django/conf/locale/hr/LC_MESSAGES/django.mo index e7f4d6bf2fe23e53857033021e1d18558a979740..5e1c7a9c45aca3fe6656de89cb3c10dcc8bb5a23 100644 GIT binary patch literal 13458 zcmeI2YmjAERmV4ykkAPvBoG8dcV_5JcQW@*_vAI{d4yzoCNr7oOlP_$nFI)&zV~$Z z>3i=vm-D!t?nD6t29Z$$M0tn-gN0H;m8C^lD9DG2s7RnHlz=E=6_h}gmc&A+0!x4Y zefE9z^bAqI_`zGV&i_32W9{|YYpwF0~4O;Lv zFa!~W`4|Z6=2M{hKM7s{KINak2HwK+H^4b?3(Toq2b5eM0Hul#fZM>|1tsqBkI$>&GlL2wEt#P6Fx@%u$k>;95|{(DgJ{YQ`A0q^1Y zd!Y1r1fvyS8Mp*K4r-i>U`lei1Y|1n5>W522W3|`fs)H%|9;lvyvLKE_;@v_`9ttx zum$4EX5D{(E2wcF0VV%OL5=@m@FMV!{P)j*vcuD$`1*o>{wgRveiIZw-}Udm2Ws3O zdz5hXd>*L&7y9SRJYE5c-YyJt>g3l{ZpXE|2vQW1gihj;OCxY%zuK4i=V@Yrg;Cl zt;A07{UD}jz6fgG?}Gclr$Mb_664eR8$e9n>;v`wZqVrqR2&OI+2=zbCTe~M+y;II z)H=Tn-U!OL6|Z)ISAi>_{NoYuCh$`rtePKy^1Bz)XdIjZ6;JD+#(gJ92r{1p$G|Uu z;^T*){NV~3DURL_&Vmns8Ti-W`QR(*B>oSA&jycydOruwgZF^)laGUhSo0sC=DQST z&I3n5*~Qi1bHM9B&9fT}z_ zF^7P0@GzKy;^$96t?x4)KMP8aPlAL5^Bj~Sezt;=-xzo~SOs4V-U@1*$3XG-ILMUd z_ra~;S3Le06o0l_>TwTv@14-&?ykJZSKkc1#=pBCRNU0>2*kARx6E}3`i=6@U0=&pzI7+0 zJy*Y9gQTasq1Qogg!D^GaMyXRd!Z5NgOKF)Fr;4-l6eLn=9O1>DyblZ}{gyILN~Z=o%=2-U@YpYuv<82bzN32fZGWFAV

          4HskI22Mk=>kFX@H2B-W!+W9g{mY$T=I;d) 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 diff --git a/django/conf/locale/hr/LC_MESSAGES/django.po b/django/conf/locale/hr/LC_MESSAGES/django.po index 79850d176e..6b299acf70 100644 --- a/django/conf/locale/hr/LC_MESSAGES/django.po +++ b/django/conf/locale/hr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-08-06 23:19+0200\n" -"PO-Revision-Date: 2007-08-12 23:05+0200\n" +"PO-Revision-Date: 2007-10-12 21:22+0200\n" "Last-Translator: Aljosa Mohorovic \n" "Language-Team: Hrvatski jezik\n" "MIME-Version: 1.0\n" @@ -28,7 +28,7 @@ msgstr "Unos za ovo polje je obavezan." #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Uneseni tekst mora sadržavati manje od %s znaka." +msgstr[0] "" msgstr[1] "Uneseni tekst mora sadržavati manje od %s znakova." #: oldforms/__init__.py:413 @@ -398,62 +398,62 @@ msgstr "URL %s ne prikazuje ispravnu sliku." #: core/validators.py:196 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" +msgstr "Telefonski brojevi moraju biti u formatu XXX-XXX-XXXX. \"%s\" nije ispravan format." #: core/validators.py:204 #, python-format msgid "The URL %s does not point to a valid QuickTime video." -msgstr "" +msgstr "URL %s ne vodi na ispravan QuickTime video." #: core/validators.py:208 msgid "A valid URL is required." -msgstr "" +msgstr "Ispravan URL je obavezan." #: core/validators.py:222 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" "%s" -msgstr "" +msgstr "Ispravan HTML je obavezan. Pogreške:
          %s" #: core/validators.py:229 #, python-format msgid "Badly formed XML: %s" -msgstr "" +msgstr "Loše formatiran XML: %s" #: core/validators.py:246 #, python-format msgid "Invalid URL: %s" -msgstr "" +msgstr "Neispravan URL: %s" #: core/validators.py:251 core/validators.py:253 #, python-format msgid "The URL %s is a broken link." -msgstr "" +msgstr "URL %s je neispravan (broken) link." #: core/validators.py:259 msgid "Enter a valid U.S. state abbreviation." -msgstr "" +msgstr "Enter a valid U.S. state abbreviation." #: core/validators.py:273 #, 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] "" -msgstr[1] "" +msgstr[0] "Pazite na izražavanje! Riječ %s nije dopuštena." +msgstr[1] "Pazite na izražavanje! Riječi %s nisu dopuštene." #: core/validators.py:280 #, python-format msgid "This field must match the '%s' field." -msgstr "" +msgstr "Ovo polje mora biti jednako %s polju." #: core/validators.py:299 msgid "Please enter something for at least one field." -msgstr "" +msgstr "Molim unesite nešto bar za jedno polje." #: core/validators.py:308 core/validators.py:319 msgid "Please enter both fields or leave them both empty." -msgstr "" +msgstr "Molim unesite vrijednosti za oba polja ili ostavite oba polja prazna." #: core/validators.py:327 #, python-format @@ -463,7 +463,7 @@ msgstr "" #: core/validators.py:340 #, python-format msgid "This field must be given if %(field)s is not %(value)s" -msgstr "" +msgstr "Ovo polje je obavezno ako je %(field)s različito od %(value)s" #: core/validators.py:359 msgid "Duplicate values are not allowed." @@ -471,28 +471,27 @@ msgstr "" #: core/validators.py:374 #, python-format -#, fuzzy msgid "This value must be between %(lower)s and %(upper)s." -msgstr "i." +msgstr "Vrijednost mora biti između %(lower)s i %(upper)s." #: core/validators.py:376 #, python-format msgid "This value must be at least %s." -msgstr "" +msgstr "Vrijednost mora biti bar %s." #: core/validators.py:378 #, python-format msgid "This value must be no more than %s." -msgstr "" +msgstr "Vrijednost ne može biti veća od %s." #: core/validators.py:414 #, python-format msgid "This value must be a power of %s." -msgstr "" +msgstr "Ova vrijednost na kvadrat mora biti %s." #: core/validators.py:424 msgid "Please enter a valid decimal number." -msgstr "" +msgstr "Molim unesite ispravan decimalni broj." #: core/validators.py:431 #, python-format @@ -1879,7 +1878,6 @@ msgid "Documentation bookmarklets" msgstr "" #: contrib/admin/templates/admin_doc/bookmarklets.html:9 -#, fuzzy msgid "" "\n" "

          To install bookmarklets, drag the link to your bookmarks\n" @@ -1890,107 +1888,110 @@ msgid "" "your computer is \"internal\").

          \n" msgstr "" "\n" -"

          i

          " +"

          To install bookmarklets, drag the link to your bookmarks\n" +"toolbar, or right-click the link and add it to your bookmarks. Now you can\n" +"select the bookmarklet from any page in the site. Note that some of these\n" +"bookmarklets require you to be viewing the site from a computer designated\n" +"as \"internal\" (talk to your system administrator if you aren't sure if\n" +"your computer is \"internal\").

          \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" -msgstr "" +msgstr "Dokumentacija za ovu stranicu" #: contrib/admin/templates/admin_doc/bookmarklets.html:20 msgid "" "Jumps you from any page to the documentation for the view that generates " "that page." -msgstr "" +msgstr "Preusmjeri te sa bilo koje stranice na dokumentaciju za taj prikaz (view) koji generira stranicu." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" -msgstr "" +msgstr "Prikaži ID objekta" #: contrib/admin/templates/admin_doc/bookmarklets.html:23 -#, fuzzy msgid "" "Shows the content-type and unique ID for pages that represent a single " "object." -msgstr "i." +msgstr "Prikazuje tip sadržaja i jedinstveni ID za stranice koje predstavljaju pojedinačan objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" -msgstr "" +msgstr "Uredi objekt (u trenutno prozoru)" #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" +msgstr "Preusmjeri na admin stranicu za stranice koje predstavljaju pojedinačan objekt." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "Edit this object (new window)" -msgstr "" +msgstr "Uredi objekt (novi prozor)" #: contrib/admin/templates/admin_doc/bookmarklets.html:29 msgid "As above, but opens the admin page in a new window." -msgstr "" +msgstr "Isto kao prethodno, ali otvara admin stranicu u novom prozoru." #: contrib/contenttypes/models.py:37 msgid "python model class name" -msgstr "" +msgstr "ime klase (class) python modela" #: contrib/contenttypes/models.py:40 msgid "content type" -msgstr "" +msgstr "tip sadržaja" #: contrib/contenttypes/models.py:41 msgid "content types" -msgstr "" +msgstr "tipovi sadržaja" #: contrib/auth/views.py:41 msgid "Logged out" -msgstr "" +msgstr "Niste logirani" #: contrib/auth/models.py:53 contrib/auth/models.py:73 msgid "name" -msgstr "" +msgstr "ime" #: contrib/auth/models.py:55 msgid "codename" -msgstr "" +msgstr "kodno ime" #: contrib/auth/models.py:58 msgid "permission" -msgstr "" +msgstr "privilegija" #: contrib/auth/models.py:59 contrib/auth/models.py:74 msgid "permissions" -msgstr "" +msgstr "privilegije" #: contrib/auth/models.py:77 msgid "group" -msgstr "" +msgstr "grupa" #: contrib/auth/models.py:78 contrib/auth/models.py:121 msgid "groups" -msgstr "" +msgstr "grupe" #: contrib/auth/models.py:111 msgid "username" -msgstr "" +msgstr "korisničko ime" #: contrib/auth/models.py:111 -#, fuzzy msgid "" "Required. 30 characters or fewer. Alphanumeric characters only (letters, " "digits and underscores)." -msgstr "i." +msgstr "Obavezno 30 alfanumeričkih znakova ili manje (slova, brojevi i povlaka)." #: contrib/auth/models.py:112 msgid "first name" -msgstr "" +msgstr "ime" #: contrib/auth/models.py:113 msgid "last name" -msgstr "" +msgstr "prezime" #: contrib/auth/models.py:114 msgid "e-mail address" -msgstr "" +msgstr "e-mail adresa" #: contrib/auth/models.py:115 msgid "password" @@ -2207,7 +2208,7 @@ msgstr "" #: contrib/localflavor/de/de_states.py:17 msgid "Saxony" -msgstr "" +msgstr "Saxony" #: contrib/localflavor/de/de_states.py:18 msgid "Saxony-Anhalt" @@ -2899,306 +2900,305 @@ msgstr "" #: contrib/localflavor/sk/sk_districts.py:85 msgid "Ziar nad Hronom" -msgstr "" +msgstr "Ziar nad Hronom" #: contrib/localflavor/sk/sk_districts.py:86 msgid "Zilina" -msgstr "" +msgstr "Zilina" #: contrib/localflavor/sk/forms.py:32 msgid "Enter a postal code in the format XXXXX or XXX XX." -msgstr "" +msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX." #: contrib/localflavor/cl/forms.py:32 msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." -msgstr "" +msgstr "Unesi ispravan čileanski RUT formata XX.XXX.XXX-X." #: contrib/localflavor/cl/forms.py:37 msgid "Enter valid a Chilean RUT" -msgstr "" +msgstr "Unesi ispravan čileanski RUT" #: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 msgid "Enter a valid Finnish social security number." -msgstr "" +msgstr "Unesi ispravan finski broj socijalnog osiguranja." #: contrib/sessions/models.py:68 msgid "session key" -msgstr "" +msgstr "session ključ (key)" #: contrib/sessions/models.py:69 msgid "session data" -msgstr "" +msgstr "session podaci" #: contrib/sessions/models.py:70 msgid "expire date" -msgstr "" +msgstr "ističe datuma" #: contrib/sessions/models.py:74 msgid "session" -msgstr "" +msgstr "session" #: contrib/sessions/models.py:75 msgid "sessions" -msgstr "" +msgstr "sessions" #: contrib/flatpages/models.py:8 -#, fuzzy msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "i." +msgstr "Primjer: '/about/contact/'. Provjerite ako imate prvi i preostale slash-eve (/)." #: contrib/flatpages/models.py:9 msgid "title" -msgstr "" +msgstr "naslov" #: contrib/flatpages/models.py:10 msgid "content" -msgstr "" +msgstr "sadržaj" #: contrib/flatpages/models.py:11 msgid "enable comments" -msgstr "" +msgstr "uključi komentare" #: contrib/flatpages/models.py:12 msgid "template name" -msgstr "" +msgstr "ime template-a" #: contrib/flatpages/models.py:13 msgid "" "Example: 'flatpages/contact_page.html'. If this isn't provided, the system " "will use 'flatpages/default.html'." -msgstr "" +msgstr "Primjer: 'flatpages/contact_page.html'. Ako navedeno nije definirano sistem će koristiti 'flatpages/default.html'." #: contrib/flatpages/models.py:14 msgid "registration required" -msgstr "" +msgstr "registracija obavezna" #: contrib/flatpages/models.py:14 msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "" +msgstr "Ako je ovo selektirano samo logirani korisnici moći će vidjeti ovu stranicu." #: contrib/flatpages/models.py:18 msgid "flat page" -msgstr "" +msgstr "statična stranica" #: contrib/flatpages/models.py:19 msgid "flat pages" -msgstr "" +msgstr "statične stranice" #: utils/dates.py:6 msgid "Monday" -msgstr "" +msgstr "Ponedjeljak" #: utils/dates.py:6 msgid "Tuesday" -msgstr "" +msgstr "Utorak" #: utils/dates.py:6 msgid "Wednesday" -msgstr "" +msgstr "Srijeda" #: utils/dates.py:6 msgid "Thursday" -msgstr "" +msgstr "Četvrtak" #: utils/dates.py:6 msgid "Friday" -msgstr "" +msgstr "Petak" #: utils/dates.py:7 msgid "Saturday" -msgstr "" +msgstr "Subota" #: utils/dates.py:7 msgid "Sunday" -msgstr "" +msgstr "Nedjelja" #: utils/dates.py:10 msgid "Mon" -msgstr "" +msgstr "Pon" #: utils/dates.py:10 msgid "Tue" -msgstr "" +msgstr "Uto" #: utils/dates.py:10 msgid "Wed" -msgstr "" +msgstr "Sri" #: utils/dates.py:10 msgid "Thu" -msgstr "" +msgstr "Čet" #: utils/dates.py:10 msgid "Fri" -msgstr "" +msgstr "Pet" #: utils/dates.py:11 msgid "Sat" -msgstr "" +msgstr "Sub" #: utils/dates.py:11 msgid "Sun" -msgstr "" +msgstr "Ned" #: utils/dates.py:18 msgid "January" -msgstr "" +msgstr "Siječanj" #: utils/dates.py:18 msgid "February" -msgstr "" +msgstr "Veljača" #: utils/dates.py:18 utils/dates.py:31 msgid "March" -msgstr "" +msgstr "Ožujak" #: utils/dates.py:18 utils/dates.py:31 msgid "April" -msgstr "" +msgstr "Travanj" #: utils/dates.py:18 utils/dates.py:31 msgid "May" -msgstr "" +msgstr "Svibanj" #: utils/dates.py:18 utils/dates.py:31 msgid "June" -msgstr "" +msgstr "Lipanj" #: utils/dates.py:19 utils/dates.py:31 msgid "July" -msgstr "" +msgstr "Srpanj" #: utils/dates.py:19 msgid "August" -msgstr "" +msgstr "Kolovoz" #: utils/dates.py:19 msgid "September" -msgstr "" +msgstr "Rujan" #: utils/dates.py:19 msgid "October" -msgstr "" +msgstr "Listopad" #: utils/dates.py:19 msgid "November" -msgstr "" +msgstr "Studeni" #: utils/dates.py:20 msgid "December" -msgstr "" +msgstr "Prosinac" #: utils/dates.py:23 msgid "jan" -msgstr "" +msgstr "sij." #: utils/dates.py:23 msgid "feb" -msgstr "" +msgstr "velj." #: utils/dates.py:23 msgid "mar" -msgstr "" +msgstr "ožu." #: utils/dates.py:23 msgid "apr" -msgstr "" +msgstr "tra." #: utils/dates.py:23 msgid "may" -msgstr "" +msgstr "svi." #: utils/dates.py:23 msgid "jun" -msgstr "" +msgstr "lip." #: utils/dates.py:24 msgid "jul" -msgstr "" +msgstr "srp." #: utils/dates.py:24 msgid "aug" -msgstr "" +msgstr "kol." #: utils/dates.py:24 msgid "sep" -msgstr "" +msgstr "ruj." #: utils/dates.py:24 msgid "oct" -msgstr "" +msgstr "lis." #: utils/dates.py:24 msgid "nov" -msgstr "" +msgstr "stu." #: utils/dates.py:24 msgid "dec" -msgstr "" +msgstr "pro." #: utils/dates.py:31 msgid "Jan." -msgstr "" +msgstr "Sij." #: utils/dates.py:31 msgid "Feb." -msgstr "" +msgstr "Velj." #: utils/dates.py:32 msgid "Aug." -msgstr "" +msgstr "Kol." #: utils/dates.py:32 msgid "Sept." -msgstr "" +msgstr "Ruj." #: utils/dates.py:32 msgid "Oct." -msgstr "" +msgstr "Lis." #: utils/dates.py:32 msgid "Nov." -msgstr "" +msgstr "Stu." #: utils/dates.py:32 msgid "Dec." -msgstr "" +msgstr "Pro." #: utils/timesince.py:12 msgid "year" msgid_plural "years" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "godina" +msgstr[1] "godina" #: utils/timesince.py:13 msgid "month" msgid_plural "months" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mjesec" +msgstr[1] "mjesec" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tjedan" +msgstr[1] "tjedan" #: utils/timesince.py:15 msgid "day" msgid_plural "days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dan" +msgstr[1] "dan" #: utils/timesince.py:16 msgid "hour" msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sati" +msgstr[1] "sati" #: utils/timesince.py:17 msgid "minute" msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "minute" +msgstr[1] "minuta" #: utils/timesince.py:39 #, python-format @@ -3228,7 +3228,7 @@ msgstr "" #: utils/dateformat.py:97 msgid "midnight" -msgstr "" +msgstr "ponoć" #: utils/dateformat.py:99 msgid "noon" @@ -3256,7 +3256,7 @@ msgstr "" #: template/defaultfilters.py:485 msgid "yes,no,maybe" -msgstr "" +msgstr "da,ne,možda" #: template/defaultfilters.py:514 #, python-format diff --git a/django/contrib/admin/media/js/urlify.js b/django/contrib/admin/media/js/urlify.js index 40320979be..74e6e57e6c 100644 --- a/django/contrib/admin/media/js/urlify.js +++ b/django/contrib/admin/media/js/urlify.js @@ -45,7 +45,14 @@ var UKRAINIAN_MAP = { } var CZECH_MAP = { 'č':'c', 'ď':'d', 'ě':'e', 'ň': 'n', 'ř':'r', 'š':'s', 'ť':'t', 'ů':'u', - 'ž':'z' + 'ž':'z', 'Č':'C', 'Ď':'D', 'Ě':'E', 'Ň': 'N', 'Ř':'R', 'Š':'S', 'Ť':'T', + 'Ů':'U', 'Ž':'Z' +} + +var POLISH_MAP = { + 'ą':'a', 'ć':'c', 'ę':'e', 'ł':'l', 'ń':'n', 'ó':'o', 'ś':'s', 'ź':'z', + 'ż':'z', 'Ą':'A', 'Ć':'C', 'Ę':'e', 'Ł':'L', 'Ń':'N', 'Ó':'o', 'Ś':'S', + 'Ź':'Z', 'Ż':'Z' } var ALL_DOWNCODE_MAPS=new Array() @@ -56,6 +63,7 @@ ALL_DOWNCODE_MAPS[3]=TURKISH_MAP ALL_DOWNCODE_MAPS[4]=RUSSIAN_MAP ALL_DOWNCODE_MAPS[5]=UKRAINIAN_MAP ALL_DOWNCODE_MAPS[6]=CZECH_MAP +ALL_DOWNCODE_MAPS[7]=POLISH_MAP var Downcoder = new Object(); Downcoder.Initialize = function() diff --git a/django/contrib/comments/feeds.py b/django/contrib/comments/feeds.py index 417e1d928a..901254f3c4 100644 --- a/django/contrib/comments/feeds.py +++ b/django/contrib/comments/feeds.py @@ -4,7 +4,7 @@ from django.contrib.syndication.feeds import Feed from django.contrib.sites.models import Site class LatestFreeCommentsFeed(Feed): - "Feed of latest comments on the current site." + """Feed of latest free comments on the current site.""" comments_class = FreeComment @@ -30,7 +30,7 @@ class LatestFreeCommentsFeed(Feed): return self.get_query_set()[:40] class LatestCommentsFeed(LatestFreeCommentsFeed): - """Feed of latest free comments on the current site""" + """Feed of latest comments on the current site.""" comments_class = Comment diff --git a/django/contrib/localflavor/es/__init__.py b/django/contrib/localflavor/es/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/django/contrib/localflavor/es/es_provinces.py b/django/contrib/localflavor/es/es_provinces.py new file mode 100644 index 0000000000..9f5e12680b --- /dev/null +++ b/django/contrib/localflavor/es/es_provinces.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +from django.utils.translation import ugettext_lazy as _ + +PROVINCE_CHOICES = ( + ('01', _('Arava')), + ('02', _('Albacete')), + ('03', _('Alacant')), + ('04', _('Almeria')), + ('05', _('Avila')), + ('06', _('Badajoz')), + ('07', _('Illes Balears')), + ('08', _('Barcelona')), + ('09', _('Burgos')), + ('10', _('Caceres')), + ('11', _('Cadiz')), + ('12', _('Castello')), + ('13', _('Ciudad Real')), + ('14', _('Cordoba')), + ('15', _('A Coruna')), + ('16', _('Cuenca')), + ('17', _('Girona')), + ('18', _('Granada')), + ('19', _('Guadalajara')), + ('20', _('Guipuzkoa')), + ('21', _('Huelva')), + ('22', _('Huesca')), + ('23', _('Jaen')), + ('24', _('Leon')), + ('25', _('Lleida')), + ('26', _('La Rioja')), + ('27', _('Lugo')), + ('28', _('Madrid')), + ('29', _('Malaga')), + ('30', _('Murcia')), + ('31', _('Navarre')), + ('32', _('Ourense')), + ('33', _('Asturias')), + ('34', _('Palencia')), + ('35', _('Las Palmas')), + ('36', _('Pontevedra')), + ('37', _('Salamanca')), + ('38', _('Santa Cruz de Tenerife')), + ('39', _('Cantabria')), + ('40', _('Segovia')), + ('41', _('Seville')), + ('42', _('Soria')), + ('43', _('Tarragona')), + ('44', _('Teruel')), + ('45', _('Toledo')), + ('46', _('Valencia')), + ('47', _('Valladolid')), + ('48', _('Bizkaia')), + ('49', _('Zamora')), + ('50', _('Zaragoza')), + ('51', _('Ceuta')), + ('52', _('Melilla')), +) + diff --git a/django/contrib/localflavor/es/es_regions.py b/django/contrib/localflavor/es/es_regions.py new file mode 100644 index 0000000000..3c1ea0e974 --- /dev/null +++ b/django/contrib/localflavor/es/es_regions.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +from django.utils.translation import ugettext_lazy as _ + +REGION_CHOICES = ( + ('AN', _('Andalusia')), + ('AR', _('Aragon')), + ('O', _('Principality of Asturias')), + ('IB', _('Balearic Islands')), + ('PV', _('Basque Country')), + ('CN', _('Canary Islands')), + ('S', _('Cantabria')), + ('CM', _('Castile-La Mancha')), + ('CL', _('Castile and Leon')), + ('CT', _('Catalonia')), + ('EX', _('Extremadura')), + ('GA', _('Galicia')), + ('LO', _('La Rioja')), + ('M', _('Madrid')), + ('MU', _('Region of Murcia')), + ('NA', _('Foral Community of Navarre')), + ('VC', _('Valencian Community')), +) + diff --git a/django/contrib/localflavor/es/forms.py b/django/contrib/localflavor/es/forms.py new file mode 100644 index 0000000000..29b41828f6 --- /dev/null +++ b/django/contrib/localflavor/es/forms.py @@ -0,0 +1,173 @@ +# -*- coding: utf-8 -*- +""" +Spanish-specific Form helpers +""" + +from django.newforms import ValidationError +from django.newforms.fields import RegexField, Select, EMPTY_VALUES +from django.utils.translation import ugettext as _ +import re + +class ESPostalCodeField(RegexField): + """ + A form field that validates its input as a spanish postal code. + + Spanish postal code is a five digits string, with two first digits + between 01 and 52, assigned to provinces code. + """ + def __init__(self, *args, **kwargs): + super(ESPostalCodeField, self).__init__( + r'^(0[1-9]|[1-4][0-9]|5[0-2])\d{3}$', + max_length=None, min_length=None, + error_message=_('Enter a valid postal code in the range and format 01XXX - 52XXX.'), + *args, **kwargs) + +class ESPhoneNumberField(RegexField): + """ + A form field that validates its input as a Spanish phone number. + Information numbers are ommited. + + Spanish phone numbers are nine digit numbers, where first digit is 6 (for + cell phones), 8 (for special phones), or 9 (for landlines and special + phones) + + TODO: accept and strip characters like dot, hyphen... in phone number + """ + def __init__(self, *args, **kwargs): + super(ESPhoneNumberField, self).__init__(r'^(6|8|9)\d{8}$', + max_length=None, min_length=None, + error_message=_('Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or 9XXXXXXXX.'), + *args, **kwargs) + +class ESIdentityCardNumberField(RegexField): + """ + Spanish NIF/NIE/CIF (Fiscal Identification Number) code. + + Validates three diferent formats: + + NIF (individuals): 12345678A + CIF (companies): A12345678 + NIE (foreigners): X12345678A + + according to a couple of simple checksum algorithms. + + Value can include a space or hyphen separator between number and letters. + Number length is not checked for NIF (or NIE), old values start with a 1, + and future values can contain digits greater than 8. The CIF control digit + can be a number or a letter depending on company type. Algorithm is not + public, and different authors have different opinions on which ones allows + letters, so both validations are assumed true for all types. + """ + def __init__(self, only_nif=False, *args, **kwargs): + self.only_nif = only_nif + self.nif_control = 'TRWAGMYFPDXBNJZSQVHLCKE' + self.cif_control = 'JABCDEFGHI' + self.cif_types = 'ABCDEFGHKLMNPQS' + self.nie_types = 'XT' + if self.only_nif: + self.id_types = 'NIF or NIE' + else: + self.id_types = 'NIF, NIE, or CIF' + super(ESIdentityCardNumberField, self).__init__(r'^([%s]?)[ -]?(\d+)[ -]?([%s]?)$' % (self.cif_types + self.nie_types + self.cif_types.lower() + self.nie_types.lower(), self.nif_control + self.nif_control.lower()), + max_length=None, min_length=None, + error_message=_('Please enter a valid %s.' % self.id_types), + *args, **kwargs) + + def clean(self, value): + super(ESIdentityCardNumberField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + nif_get_checksum = lambda d: self.nif_control[int(d)%23] + + value = value.upper().replace(' ', '').replace('-', '') + m = re.match(r'^([%s]?)[ -]?(\d+)[ -]?([%s]?)$' % (self.cif_types + self.nie_types, self.nif_control), value) + letter1, number, letter2 = m.groups() + + if not letter1 and letter2: + # NIF + if letter2 == nif_get_checksum(number): + return value + else: + raise ValidationError, _('Invalid checksum for NIF.') + elif letter1 in self.nie_types and letter2: + # NIE + if letter2 == nif_get_checksum(number): + return value + else: + raise ValidationError, _('Invalid checksum for NIE.') + elif not self.only_nif and letter1 in self.cif_types and len(number) in [7, 8]: + # CIF + if not letter2: + number, letter2 = number[:-1], int(number[-1]) + checksum = cif_get_checksum(number) + if letter2 in [checksum, self.cif_control[checksum]]: + return value + else: + raise ValidationError, _('Invalid checksum for CIF.') + else: + raise ValidationError, _('Please enter a valid %s.' % self.id_types) + +class ESCCCField(RegexField): + """ + A form field that validates its input as a Spanish bank account or CCC + (Codigo Cuenta Cliente). + + Spanish CCC is in format EEEE-OOOO-CC-AAAAAAAAAA where: + + E = entity + O = office + C = checksum + A = account + + It's also valid to use a space as delimiter, or to use no delimiter. + + First checksum digit validates entity and office, and last one + validates account. Validation is done multiplying every digit of 10 + digit value (with leading 0 if necessary) by number in its position in + string 1, 2, 4, 8, 5, 10, 9, 7, 3, 6. Sum resulting numbers and extract + it from 11. Result is checksum except when 10 then is 1, or when 11 + then is 0. + + TODO: allow IBAN validation too + """ + def __init__(self, *args, **kwargs): + super(ESCCCField, self).__init__(r'^\d{4}[ -]?\d{4}[ -]?\d{2}[ -]?\d{10}$', + max_length=None, min_length=None, + error_message=_('Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX.'), + *args, **kwargs) + + def clean(self, value): + super(ESCCCField, self).clean(value) + if value in EMPTY_VALUES: + return u'' + control_str = [1, 2, 4, 8, 5, 10, 9, 7, 3, 6] + m = re.match(r'^(\d{4})[ -]?(\d{4})[ -]?(\d{2})[ -]?(\d{10})$', value) + entity, office, checksum, account = m.groups() + get_checksum = lambda d: str(11 - sum([int(digit) * int(control) for digit, control in zip(d, control_str)]) % 11).replace('10', '1').replace('11', '0') + if get_checksum('00' + entity + office) + get_checksum(account) == checksum: + return value + else: + raise ValidationError, _('Invalid checksum for bank account number.') + +class ESRegionSelect(Select): + """ + A Select widget that uses a list of spanish regions as its choices. + """ + def __init__(self, attrs=None): + from es_regions import REGION_CHOICES + super(ESRegionSelect, self).__init__(attrs, choices=REGION_CHOICES) + +class ESProvinceSelect(Select): + """ + A Select widget that uses a list of spanish provinces as its choices. + """ + def __init__(self, attrs=None): + from es_provinces import PROVINCE_CHOICES + super(ESProvinceSelect, self).__init__(attrs, choices=PROVINCE_CHOICES) + + +def cif_get_checksum(number): + s1 = sum([int(digit) for pos, digit in enumerate(number) if int(pos) % 2]) + s2 = sum([sum([int(unit) for unit in str(int(digit) * 2)]) for pos, digit in enumerate(number) if not int(pos) % 2]) + return 10 - ((s1 + s2) % 10) + diff --git a/django/contrib/localflavor/pl/forms.py b/django/contrib/localflavor/pl/forms.py index 62806362dc..3d1c4234d3 100644 --- a/django/contrib/localflavor/pl/forms.py +++ b/django/contrib/localflavor/pl/forms.py @@ -2,6 +2,8 @@ Polish-specific form helpers """ +import re + from django.newforms import ValidationError from django.newforms.fields import Select, RegexField from django.utils.translation import ugettext as _ @@ -34,20 +36,6 @@ class PLNationalIdentificationNumberField(RegexField): The algorithm is documented at http://en.wikipedia.org/wiki/PESEL. """ - def has_valid_checksum(self, number): - """ - Calculates a checksum with the provided algorithm. - """ - multiple_table = (1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1) - result = 0 - for i in range(len(number)): - result += int(number[i])*multiple_table[i] - - if result % 10 == 0: - return True - else: - return False - def __init__(self, *args, **kwargs): super(PLNationalIdentificationNumberField, self).__init__(r'^\d{11}$', max_length=None, min_length=None, error_message=_(u'National Identification Number consists of 11 digits.'), @@ -59,17 +47,95 @@ class PLNationalIdentificationNumberField(RegexField): raise ValidationError(_(u'Wrong checksum for the National Identification Number.')) return u'%s' % value + def has_valid_checksum(self, number): + """ + Calculates a checksum with the provided algorithm. + """ + multiple_table = (1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1) + result = 0 + for i in range(len(number)): + result += int(number[i]) * multiple_table[i] + return result % 10 == 0 class PLTaxNumberField(RegexField): """ A form field that validates as Polish Tax Number (NIP). Valid forms are: XXX-XXX-YY-YY or XX-XX-YYY-YYY. + + Checksum algorithm based on documentation at + http://wipos.p.lodz.pl/zylla/ut/nip-rego.html """ + def __init__(self, *args, **kwargs): super(PLTaxNumberField, self).__init__(r'^\d{3}-\d{3}-\d{2}-\d{2}$|^\d{2}-\d{2}-\d{3}-\d{3}$', max_length=None, min_length=None, error_message=_(u'Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX.'), *args, **kwargs) + def clean(self,value): + super(PLTaxNumberField, self).clean(value) + value = re.sub("[-]", "", value) + if not self.has_valid_checksum(value): + raise ValidationError(_(u'Wrong checksum for the Tax Number (NIP).')) + return u'%s' % value + + def has_valid_checksum(self, number): + """ + Calculates a checksum with the provided algorithm. + """ + multiple_table = (6, 5, 7, 2, 3, 4, 5, 6, 7) + result = 0 + for i in range(len(number)-1): + result += int(number[i]) * multiple_table[i] + + result %= 11 + if result == int(number[-1]): + return True + else: + return False + +class PLNationalBusinessRegisterField(RegexField): + """ + A form field that validated as Polish National Official Business Register Number (REGON) + Valid forms are: 7 or 9 digits number + + More on the field: http://www.stat.gov.pl/bip/regon_ENG_HTML.htm + + The checksum algorithm is documented at http://wipos.p.lodz.pl/zylla/ut/nip-rego.html + """ + def __init__(self, *args, **kwargs): + super(PLNationalBusinessRegisterField, self).__init__(r'^\d{7,9}$', + max_length=None, min_length=None, error_message=_(u'National Business Register Number (REGON) consists of 7 or 9 digits.'), + *args, **kwargs) + + def clean(self,value): + super(PLNationalBusinessRegisterField, self).clean(value) + if not self.has_valid_checksum(value): + raise ValidationError(_(u'Wrong checksum for the National Business Register Number (REGON).')) + return u'%s' % value + + def has_valid_checksum(self, number): + """ + Calculates a checksum with the provided algorithm. + """ + multiple_table_7 = (2, 3, 4, 5, 6, 7) + multiple_table_9 = (8, 9, 2, 3, 4, 5, 6, 7) + result = 0 + + if len(number) == 7: + multiple_table = multiple_table_7 + else: + multiple_table = multiple_table_9 + + for i in range(len(number)-1): + result += int(number[i]) * multiple_table[i] + + result %= 11 + if result == 10: + result = 0 + if result == int(number[-1]): + return True + else: + return False class PLPostalCodeField(RegexField): """ diff --git a/django/contrib/sessions/backends/base.py b/django/contrib/sessions/backends/base.py index e6be0482de..192065a5f3 100644 --- a/django/contrib/sessions/backends/base.py +++ b/django/contrib/sessions/backends/base.py @@ -48,6 +48,7 @@ class SessionBase(object): return self._session.get(key, default) def pop(self, key, *args): + self.modified = self.modified or key in self._session return self._session.pop(key, *args) def set_test_cookie(self): diff --git a/django/contrib/sessions/middleware.py b/django/contrib/sessions/middleware.py index 4c3c5acc43..7b6c826805 100644 --- a/django/contrib/sessions/middleware.py +++ b/django/contrib/sessions/middleware.py @@ -31,7 +31,7 @@ class SessionMiddleware(object): else: max_age = settings.SESSION_COOKIE_AGE rfcdate = formatdate(time.time() + settings.SESSION_COOKIE_AGE) - + # Fixed length date must have '-' separation in the format # DD-MMM-YYYY for compliance with Netscape cookie standard expires = datetime.datetime.strftime(datetime.datetime.utcnow() + \ @@ -39,8 +39,10 @@ class SessionMiddleware(object): # Save the seesion data and refresh the client cookie. request.session.save() - response.set_cookie(settings.SESSION_COOKIE_NAME, request.session.session_key, - max_age=max_age, expires=expires, domain=settings.SESSION_COOKIE_DOMAIN, - secure=settings.SESSION_COOKIE_SECURE or None) - + response.set_cookie(settings.SESSION_COOKIE_NAME, + request.session.session_key, max_age=max_age, + expires=expires, domain=settings.SESSION_COOKIE_DOMAIN, + path=settings.SESSION_COOKIE_PATH, + secure=settings.SESSION_COOKIE_SECURE or None) + return response diff --git a/django/contrib/sessions/tests.py b/django/contrib/sessions/tests.py index cfb475fc49..ab3034f858 100644 --- a/django/contrib/sessions/tests.py +++ b/django/contrib/sessions/tests.py @@ -3,6 +3,7 @@ r""" >>> from django.contrib.sessions.backends.db import SessionStore as DatabaseSession >>> from django.contrib.sessions.backends.cache import SessionStore as CacheSession >>> from django.contrib.sessions.backends.file import SessionStore as FileSession +>>> from django.contrib.sessions.backends.base import SessionBase >>> db_session = DatabaseSession() >>> db_session.modified @@ -52,6 +53,28 @@ True >>> cache_session.delete(cache_session.session_key) >>> cache_session.exists(cache_session.session_key) False + +>>> s = SessionBase() +>>> s._session['some key'] = 'exists' # Pre-populate the session with some data +>>> s.accessed = False # Reset to pretend this wasn't accessed previously + +>>> s.accessed, s.modified +(False, False) + +>>> s.pop('non existant key', 'does not exist') +'does not exist' +>>> s.accessed, s.modified +(True, False) + +>>> s.accessed = False # Reset the accessed flag + +>>> s.pop('some key') +'exists' +>>> s.accessed, s.modified +(True, True) + +>>> s.pop('some key', 'does not exist') +'does not exist' """ if __name__ == '__main__': diff --git a/django/contrib/syndication/feeds.py b/django/contrib/syndication/feeds.py index eb5a9f0607..57d092a5b5 100644 --- a/django/contrib/syndication/feeds.py +++ b/django/contrib/syndication/feeds.py @@ -89,6 +89,7 @@ class Feed(object): categories = self.__get_dynamic_attr('categories', obj), feed_copyright = self.__get_dynamic_attr('feed_copyright', obj), feed_guid = self.__get_dynamic_attr('feed_guid', obj), + ttl = self.__get_dynamic_attr('ttl', obj), ) try: diff --git a/django/core/cache/backends/base.py b/django/core/cache/backends/base.py index bb67399f3b..cd0d7bd103 100644 --- a/django/core/cache/backends/base.py +++ b/django/core/cache/backends/base.py @@ -14,6 +14,14 @@ class BaseCache(object): timeout = 300 self.default_timeout = timeout + def add(self, key, value, timeout=None): + """ + Set a value in the cache if the key does not already exist. If + timeout is given, that timeout will be used for the key; otherwise + the default cache timeout will be used. + """ + raise NotImplementedError + def get(self, key, default=None): """ Fetch a given key from the cache. If the key does not exist, return diff --git a/django/core/cache/backends/db.py b/django/core/cache/backends/db.py index 4a0d44a44e..d54677057f 100644 --- a/django/core/cache/backends/db.py +++ b/django/core/cache/backends/db.py @@ -38,6 +38,12 @@ class CacheClass(BaseCache): return pickle.loads(base64.decodestring(row[1])) def set(self, key, value, timeout=None): + return self._base_set('set', key, value, timeout) + + def add(self, key, value, timeout=None): + return self._base_set('add', key, value, timeout) + + def _base_set(self, mode, key, value, timeout=None): if timeout is None: timeout = self.default_timeout cursor = connection.cursor() @@ -50,7 +56,7 @@ class CacheClass(BaseCache): encoded = base64.encodestring(pickle.dumps(value, 2)).strip() cursor.execute("SELECT cache_key FROM %s WHERE cache_key = %%s" % self._table, [key]) try: - if cursor.fetchone(): + if mode == 'set' and cursor.fetchone(): cursor.execute("UPDATE %s SET value = %%s, expires = %%s WHERE cache_key = %%s" % self._table, [encoded, str(exp), key]) else: cursor.execute("INSERT INTO %s (cache_key, value, expires) VALUES (%%s, %%s, %%s)" % self._table, [key, encoded, str(exp)]) diff --git a/django/core/cache/backends/dummy.py b/django/core/cache/backends/dummy.py index 4c64161538..3ff7e1c1b9 100644 --- a/django/core/cache/backends/dummy.py +++ b/django/core/cache/backends/dummy.py @@ -6,6 +6,9 @@ class CacheClass(BaseCache): def __init__(self, *args, **kwargs): pass + def add(self, *args, **kwargs): + pass + def get(self, key, default=None): return default diff --git a/django/core/cache/backends/filebased.py b/django/core/cache/backends/filebased.py index d5415c8ace..690193ac81 100644 --- a/django/core/cache/backends/filebased.py +++ b/django/core/cache/backends/filebased.py @@ -17,6 +17,26 @@ class CacheClass(SimpleCacheClass): del self._cache del self._expire_info + def add(self, key, value, timeout=None): + fname = self._key_to_file(key) + if timeout is None: + timeout = self.default_timeout + try: + filelist = os.listdir(self._dir) + except (IOError, OSError): + self._createdir() + filelist = [] + if len(filelist) > self._max_entries: + self._cull(filelist) + if os.path.basename(fname) not in filelist: + try: + f = open(fname, 'wb') + now = time.time() + pickle.dump(now + timeout, f, 2) + pickle.dump(value, f, 2) + except (IOError, OSError): + pass + def get(self, key, default=None): fname = self._key_to_file(key) try: diff --git a/django/core/cache/backends/locmem.py b/django/core/cache/backends/locmem.py index 4c48c571b7..5998f7bfd5 100644 --- a/django/core/cache/backends/locmem.py +++ b/django/core/cache/backends/locmem.py @@ -14,6 +14,13 @@ class CacheClass(SimpleCacheClass): SimpleCacheClass.__init__(self, host, params) self._lock = RWLock() + def add(self, key, value, timeout=None): + self._lock.writer_enters() + try: + SimpleCacheClass.add(self, key, value, timeout) + finally: + self._lock.writer_leaves() + def get(self, key, default=None): should_delete = False self._lock.reader_enters() diff --git a/django/core/cache/backends/memcached.py b/django/core/cache/backends/memcached.py index 52610daef1..096cec0ee0 100644 --- a/django/core/cache/backends/memcached.py +++ b/django/core/cache/backends/memcached.py @@ -16,6 +16,9 @@ class CacheClass(BaseCache): BaseCache.__init__(self, params) self._cache = memcache.Client(server.split(';')) + def add(self, key, value, timeout=0): + self._cache.add(key.encode('ascii', 'ignore'), value, timeout or self.default_timeout) + def get(self, key, default=None): val = self._cache.get(smart_str(key)) if val is None: diff --git a/django/core/cache/backends/simple.py b/django/core/cache/backends/simple.py index 3fcad8c7ad..ff60d49066 100644 --- a/django/core/cache/backends/simple.py +++ b/django/core/cache/backends/simple.py @@ -21,6 +21,15 @@ class CacheClass(BaseCache): except (ValueError, TypeError): self._cull_frequency = 3 + def add(self, key, value, timeout=None): + if len(self._cache) >= self._max_entries: + self._cull() + if timeout is None: + timeout = self.default_timeout + if key not in self._cache.keys(): + self._cache[key] = value + self._expire_info[key] = time.time() + timeout + def get(self, key, default=None): now = time.time() exp = self._expire_info.get(key) diff --git a/django/core/handlers/modpython.py b/django/core/handlers/modpython.py index 52419d9e6c..2a3e03f3dd 100644 --- a/django/core/handlers/modpython.py +++ b/django/core/handlers/modpython.py @@ -14,7 +14,7 @@ import os class ModPythonRequest(http.HttpRequest): def __init__(self, req): self._req = req - self.path = force_unicode(req.uri, errors='ignore') + self.path = force_unicode(req.uri) def __repr__(self): # Since this is called as part of error handling, we need to be very @@ -136,6 +136,8 @@ class ModPythonRequest(http.HttpRequest): method = property(_get_method) class ModPythonHandler(BaseHandler): + request_class = ModPythonRequest + def __call__(self, req): # mod_python fakes the environ, and thus doesn't process SetEnv. This fixes that os.environ.update(req.subprocess_env) @@ -150,13 +152,16 @@ class ModPythonHandler(BaseHandler): dispatcher.send(signal=signals.request_started) try: - request = ModPythonRequest(req) - response = self.get_response(request) - - # Apply response middleware - for middleware_method in self._response_middleware: - response = middleware_method(request, response) + try: + request = self.request_class(req) + except UnicodeDecodeError: + response = http.HttpResponseBadRequest() + else: + response = self.get_response(request) + # Apply response middleware + for middleware_method in self._response_middleware: + response = middleware_method(request, response) finally: dispatcher.send(signal=signals.request_finished) diff --git a/django/core/handlers/wsgi.py b/django/core/handlers/wsgi.py index 95c5f9cbda..d06eee73f2 100644 --- a/django/core/handlers/wsgi.py +++ b/django/core/handlers/wsgi.py @@ -75,7 +75,7 @@ def safe_copyfileobj(fsrc, fdst, length=16*1024, size=0): class WSGIRequest(http.HttpRequest): def __init__(self, environ): self.environ = environ - self.path = force_unicode(environ['PATH_INFO'], errors='ignore') + self.path = force_unicode(environ['PATH_INFO']) self.META = environ self.method = environ['REQUEST_METHOD'].upper() @@ -165,7 +165,9 @@ class WSGIRequest(http.HttpRequest): content_length = int(self.environ.get('CONTENT_LENGTH', 0)) except ValueError: # if CONTENT_LENGTH was empty string or not an integer content_length = 0 - safe_copyfileobj(self.environ['wsgi.input'], buf, size=content_length) + if content_length > 0: + safe_copyfileobj(self.environ['wsgi.input'], buf, + size=content_length) self._raw_post_data = buf.getvalue() buf.close() return self._raw_post_data @@ -179,6 +181,7 @@ class WSGIRequest(http.HttpRequest): class WSGIHandler(BaseHandler): initLock = Lock() + request_class = WSGIRequest def __call__(self, environ, start_response): from django.conf import settings @@ -194,13 +197,16 @@ class WSGIHandler(BaseHandler): dispatcher.send(signal=signals.request_started) try: - request = WSGIRequest(environ) - response = self.get_response(request) - - # Apply response middleware - for middleware_method in self._response_middleware: - response = middleware_method(request, response) + try: + request = self.request_class(environ) + except UnicodeDecodeError: + response = http.HttpResponseBadRequest() + else: + response = self.get_response(request) + # Apply response middleware + for middleware_method in self._response_middleware: + response = middleware_method(request, response) finally: dispatcher.send(signal=signals.request_finished) diff --git a/django/core/mail.py b/django/core/mail.py index b90752e649..77ab8007e6 100644 --- a/django/core/mail.py +++ b/django/core/mail.py @@ -73,7 +73,7 @@ class SafeMIMEText(MIMEText): if '\n' in val or '\r' in val: raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name) try: - val = str(force_unicode(val)) + val = force_unicode(val).encode('ascii') except UnicodeEncodeError: if name.lower() in ('to', 'from', 'cc'): result = [] @@ -92,7 +92,7 @@ class SafeMIMEMultipart(MIMEMultipart): if '\n' in val or '\r' in val: raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name) try: - val = str(force_unicode(val)) + val = force_unicode(val).encode('ascii') except UnicodeEncodeError: if name.lower() in ('to', 'from', 'cc'): result = [] diff --git a/django/core/management/__init__.py b/django/core/management/__init__.py index cd90fd6109..f706fa3c7e 100644 --- a/django/core/management/__init__.py +++ b/django/core/management/__init__.py @@ -1,31 +1,35 @@ -import django -from django.core.management.base import BaseCommand, CommandError, handle_default_options -from optparse import OptionParser import os import sys +from optparse import OptionParser from imp import find_module +import django +from django.core.management.base import BaseCommand, CommandError, handle_default_options + # For backwards compatibility: get_version() used to be in this module. get_version = django.get_version -# A cache of loaded commands, so that call_command +# A cache of loaded commands, so that call_command # doesn't have to reload every time it is called _commands = None def find_commands(management_dir): """ - Given a path to a management directory, return a list of all the command names - that are available. Returns an empty list if no commands are defined. + Given a path to a management directory, returns a list of all the command + names that are available. + + Returns an empty list if no commands are defined. """ - command_dir = os.path.join(management_dir,'commands') + command_dir = os.path.join(management_dir, 'commands') try: - return [f[:-3] for f in os.listdir(command_dir) if not f.startswith('_') and f.endswith('.py')] + return [f[:-3] for f in os.listdir(command_dir) + if not f.startswith('_') and f.endswith('.py')] except OSError: return [] def find_management_module(app_name): """ - Determine the path to the management module for the application named, + Determines the path to the management module for the application named, without acutally importing the application or the management module. Raises ImportError if the management module cannot be found for any reason. @@ -36,23 +40,23 @@ def find_management_module(app_name): path = None while parts: part = parts.pop() - f,path,descr = find_module(part, path and [path] or None) + f, path, descr = find_module(part, path and [path] or None) return path - + def load_command_class(app_name, name): """ - Given a command name and an application name, returns the Command + Given a command name and an application name, returns the Command class instance. All errors raised by the importation process (ImportError, AttributeError) are allowed to propagate. """ - return getattr(__import__('%s.management.commands.%s' % (app_name, name), + return getattr(__import__('%s.management.commands.%s' % (app_name, name), {}, {}, ['Command']), 'Command')() def get_commands(load_user_commands=True, project_directory=None): """ Returns a dictionary of commands against the application in which - those commands can be found. This works by looking for a - management.commands package in django.core, and in each installed + those commands can be found. This works by looking for a + management.commands package in django.core, and in each installed application -- if a commands package exists, all commands in that package are registered. @@ -62,38 +66,38 @@ def get_commands(load_user_commands=True, project_directory=None): startapp command will be modified to use that directory. The dictionary is in the format {command_name: app_name}. Key-value - pairs from this dictionary can then be used in calls to + pairs from this dictionary can then be used in calls to load_command_class(app_name, command_name) - + If a specific version of a command must be loaded (e.g., with the startapp command), the instantiated module can be placed in the dictionary in place of the application name. - + The dictionary is cached on the first call, and reused on subsequent calls. """ global _commands if _commands is None: - _commands = dict([(name, 'django.core') + _commands = dict([(name, 'django.core') for name in find_commands(__path__[0])]) if load_user_commands: - # Get commands from all installed apps + # Get commands from all installed apps. from django.conf import settings for app_name in settings.INSTALLED_APPS: try: path = find_management_module(app_name) - _commands.update(dict([(name, app_name) + _commands.update(dict([(name, app_name) for name in find_commands(path)])) except ImportError: pass # No management module - ignore this app - + if project_directory: # Remove the "startproject" command from self.commands, because # that's a django-admin.py command, not a manage.py command. del _commands['startproject'] # Override the startapp command so that it always uses the - # project_directory, not the current working directory + # project_directory, not the current working directory # (which is default). from django.core.management.commands.startapp import ProjectCommand _commands['startapp'] = ProjectCommand(project_directory) @@ -113,7 +117,7 @@ def call_command(name, *args, **options): """ try: app_name = get_commands()[name] - if isinstance(app_name, BaseCommand): + if isinstance(app_name, BaseCommand): # If the command is already loaded, use it directly. klass = app_name else: @@ -121,16 +125,16 @@ def call_command(name, *args, **options): except KeyError: raise CommandError, "Unknown command: %r" % name return klass.execute(*args, **options) - -class LaxOptionParser(OptionParser): + +class LaxOptionParser(OptionParser): """ An option parser that doesn't raise any errors on unknown options. - + This is needed because the --settings and --pythonpath options affect - the commands (and thus the options) that are available to the user. + the commands (and thus the options) that are available to the user. """ - def error(self, msg): - pass + def error(self, msg): + pass class ManagementUtility(object): """ @@ -144,16 +148,19 @@ class ManagementUtility(object): self.prog_name = os.path.basename(self.argv[0]) self.project_directory = None self.user_commands = False - + def main_help_text(self): """ Returns the script's main help text, as a string. """ usage = ['%s [options] [args]' % self.prog_name] - usage.append('Django command line tool, version %s' % django.get_version()) - usage.append("Type '%s help ' for help on a specific subcommand." % self.prog_name) + usage.append('Django command line tool,' + ' version %s' % django.get_version()) + usage.append("Type '%s help ' for help on a specific" + " subcommand." % self.prog_name) usage.append('Available subcommands:') - commands = get_commands(self.user_commands, self.project_directory).keys() + commands = get_commands(self.user_commands, + self.project_directory).keys() commands.sort() for cmd in commands: usage.append(' %s' % cmd) @@ -166,33 +173,35 @@ class ManagementUtility(object): django-admin.py or manage.py) if it can't be found. """ try: - app_name = get_commands(self.user_commands, self.project_directory)[subcommand] - if isinstance(app_name, BaseCommand): + app_name = get_commands(self.user_commands, + self.project_directory)[subcommand] + if isinstance(app_name, BaseCommand): # If the command is already loaded, use it directly. klass = app_name else: klass = load_command_class(app_name, subcommand) except KeyError: - sys.stderr.write("Unknown command: %r\nType '%s help' for usage.\n" % (subcommand, self.prog_name)) + sys.stderr.write("Unknown command: %r\nType '%s help' for" + " usage.\n" % (subcommand, self.prog_name)) sys.exit(1) return klass - + def execute(self): """ Given the command-line arguments, this figures out which subcommand is being run, creates a parser appropriate to that command, and runs it. """ - # Preprocess options to extract --settings and --pythonpath. These options - # could affect the commands that are available, so they must be processed - # early - parser = LaxOptionParser(version=get_version(), - option_list=BaseCommand.option_list) + # Preprocess options to extract --settings and --pythonpath. + # These options could affect the commands that are available, so they + # must be processed early. + parser = LaxOptionParser(version=get_version(), + option_list=BaseCommand.option_list) try: - options, args = parser.parse_args(self.argv) + options, args = parser.parse_args(self.argv) handle_default_options(options) - except: + except: pass # Ignore any option errors at this point. - + try: subcommand = self.argv[1] except IndexError: @@ -208,7 +217,8 @@ class ManagementUtility(object): # Special-cases: We want 'django-admin.py --version' and # 'django-admin.py --help' to work, for backwards compatibility. elif self.argv[1:] == ['--version']: - print django.get_version() + # LaxOptionParser already takes care of printing the version. + pass elif self.argv[1:] == ['--help']: sys.stderr.write(self.main_help_text() + '\n') else: @@ -227,10 +237,10 @@ class ProjectManagementUtility(ManagementUtility): super(ProjectManagementUtility, self).__init__(argv) self.project_directory = project_directory self.user_commands = True - + def setup_environ(settings_mod): """ - Configure the runtime environment. This can also be used by external + Configures the runtime environment. This can also be used by external scripts wanting to set up a similar environment to manage.py. """ # Add this project to sys.path so that it's importable in the conventional @@ -244,7 +254,8 @@ def setup_environ(settings_mod): sys.path.pop() # Set DJANGO_SETTINGS_MODULE appropriately. - os.environ['DJANGO_SETTINGS_MODULE'] = '%s.%s' % (project_name, settings_name) + os.environ['DJANGO_SETTINGS_MODULE'] = '%s.%s' % (project_name, + settings_name) return project_directory def execute_from_command_line(argv=None): diff --git a/django/core/management/validation.py b/django/core/management/validation.py index 9e004d3d25..c433b7fa96 100644 --- a/django/core/management/validation.py +++ b/django/core/management/validation.py @@ -35,6 +35,8 @@ def get_validation_errors(outfile, app=None): for f in opts.fields: if f.name == 'id' and not f.primary_key and opts.pk.name == 'id': e.add(opts, '"%s": You can\'t use "id" as a field name, because each model automatically gets an "id" field if none of the fields have primary_key=True. You need to either remove/rename your "id" field or add primary_key=True to a field.' % f.name) + if f.name.endswith('_'): + e.add(opts, '"%s": Field names cannot end with underscores, because this would lead to ambiguous queryset filters.' % f.name) if isinstance(f, models.CharField) and f.max_length in (None, 0): e.add(opts, '"%s": CharFields require a "max_length" attribute.' % f.name) if isinstance(f, models.DecimalField): diff --git a/django/core/urlresolvers.py b/django/core/urlresolvers.py index c512c37b96..2ef3d6f169 100644 --- a/django/core/urlresolvers.py +++ b/django/core/urlresolvers.py @@ -249,8 +249,9 @@ class RegexURLResolver(object): except AttributeError: try: self._urlconf_module = __import__(self.urlconf_name, {}, {}, ['']) - except ValueError, e: - # Invalid urlconf_name, such as "foo.bar." (note trailing period) + except Exception, e: + # Either an invalid urlconf_name, such as "foo.bar.", or some + # kind of problem during the actual import. raise ImproperlyConfigured, "Error while importing URLconf %r: %s" % (self.urlconf_name, e) return self._urlconf_module urlconf_module = property(_get_urlconf_module) diff --git a/django/db/backends/__init__.py b/django/db/backends/__init__.py index 1b6ba07f24..dd50229461 100644 --- a/django/db/backends/__init__.py +++ b/django/db/backends/__init__.py @@ -127,6 +127,27 @@ class BaseDatabaseOperations(object): """ raise NotImplementedError('Full-text search is not implemented for this database backend') + def last_executed_query(self, cursor, sql, params): + """ + Returns a string of the query last executed by the given cursor, with + placeholders replaced with actual values. + + `sql` is the raw query containing placeholders, and `params` is the + sequence of parameters. These are used by default, but this method + exists for database backends to provide a better implementation + according to their own quoting schemes. + """ + from django.utils.encoding import smart_unicode, force_unicode + + # Convert params to contain Unicode values. + to_unicode = lambda s: force_unicode(s, strings_only=True) + if isinstance(params, (list, tuple)): + u_params = tuple([to_unicode(val) for val in params]) + else: + u_params = dict([(to_unicode(k), to_unicode(v)) for k, v in params.items()]) + + return smart_unicode(sql) % u_params + def last_insert_id(self, cursor, table_name, pk_name): """ Given a cursor object that has just performed an INSERT statement into diff --git a/django/db/backends/postgresql_psycopg2/base.py b/django/db/backends/postgresql_psycopg2/base.py index a7b080d505..d7b3558344 100644 --- a/django/db/backends/postgresql_psycopg2/base.py +++ b/django/db/backends/postgresql_psycopg2/base.py @@ -5,7 +5,7 @@ Requires psycopg 2: http://initd.org/projects/psycopg2 """ from django.db.backends import BaseDatabaseWrapper, BaseDatabaseFeatures -from django.db.backends.postgresql.operations import DatabaseOperations +from django.db.backends.postgresql.operations import DatabaseOperations as PostgresqlDatabaseOperations try: import psycopg2 as Database import psycopg2.extensions @@ -21,6 +21,13 @@ psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) class DatabaseFeatures(BaseDatabaseFeatures): needs_datetime_string_cast = False +class DatabaseOperations(PostgresqlDatabaseOperations): + def last_executed_query(self, cursor, sql, params): + # With psycopg2, cursor objects have a "query" attribute that is the + # exact query sent to the database. See docs here: + # http://www.initd.org/tracker/psycopg/wiki/psycopg2_documentation#postgresql-status-message-and-executed-query + return cursor.query + class DatabaseWrapper(BaseDatabaseWrapper): features = DatabaseFeatures() ops = DatabaseOperations() diff --git a/django/db/backends/util.py b/django/db/backends/util.py index fa2df22927..ca4e90d6c2 100644 --- a/django/db/backends/util.py +++ b/django/db/backends/util.py @@ -1,7 +1,6 @@ import datetime import md5 from time import time -from django.utils.encoding import smart_unicode, force_unicode try: import decimal @@ -11,7 +10,7 @@ except ImportError: class CursorDebugWrapper(object): def __init__(self, cursor, db): self.cursor = cursor - self.db = db + self.db = db # Instance of a BaseDatabaseWrapper subclass def execute(self, sql, params=()): start = time() @@ -19,8 +18,9 @@ class CursorDebugWrapper(object): return self.cursor.execute(sql, params) finally: stop = time() + sql = self.db.ops.last_executed_query(self.cursor, sql, params) self.db.queries.append({ - 'sql': smart_unicode(sql) % convert_args(params), + 'sql': sql, 'time': "%.3f" % (stop - start), }) @@ -31,7 +31,7 @@ class CursorDebugWrapper(object): finally: stop = time() self.db.queries.append({ - 'sql': 'MANY: ' + sql + ' ' + smart_unicode(tuple(param_list)), + 'sql': '%s times: %s' % (len(param_list), sql), 'time': "%.3f" % (stop - start), }) @@ -41,16 +41,6 @@ class CursorDebugWrapper(object): else: return getattr(self.cursor, attr) -def convert_args(args): - """ - Convert sequence or dictionary to contain unicode values. - """ - to_unicode = lambda s: force_unicode(s, strings_only=True) - if isinstance(args, (list, tuple)): - return tuple([to_unicode(val) for val in args]) - else: - return dict([(to_unicode(k), to_unicode(v)) for k, v in args.items()]) - ############################################### # Converters from database (string) to Python # ############################################### diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 6186063b1d..e1506ce293 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -395,6 +395,8 @@ class Field(object): defaults = {'required': not self.blank, 'label': capfirst(self.verbose_name), 'help_text': self.help_text} if self.choices: defaults['widget'] = forms.Select(choices=self.get_choices()) + if self.has_default(): + defaults['initial'] = self.get_default() defaults.update(kwargs) return form_class(**defaults) diff --git a/django/dispatch/saferef.py b/django/dispatch/saferef.py index 74b7a41942..c0d2eeb788 100644 --- a/django/dispatch/saferef.py +++ b/django/dispatch/saferef.py @@ -1,5 +1,6 @@ """Refactored "safe reference" from dispatcher.py""" import weakref, traceback +from django.utils.functional import curry def safeRef(target, onDelete = None): """Return a *safe* weak reference to a callable target @@ -17,7 +18,7 @@ def safeRef(target, onDelete = None): # Turn a bound method into a BoundMethodWeakref instance. # Keep track of these instances for lookup by disconnect(). assert hasattr(target, 'im_func'), """safeRef target %r has im_self, but no im_func, don't know how to create reference"""%( target,) - reference = BoundMethodWeakref( + reference = get_bound_method_weakref( target=target, onDelete=onDelete ) @@ -163,3 +164,75 @@ class BoundMethodWeakref(object): if function is not None: return function.__get__(target) return None + +class BoundNonDescriptorMethodWeakref(BoundMethodWeakref): + """A specialized BoundMethodWeakref, for platforms where instance methods + are not descriptors. + + It assumes that the function name and the target attribute name are the + same, instead of assuming that the function is a descriptor. This approach + is equally fast, but not 100% reliable because functions can be stored on an + attribute named differenty than the function's name such as in: + + class A: pass + def foo(self): return "foo" + A.bar = foo + + But this shouldn't be a common use case. So, on platforms where methods + aren't descriptors (such as Jython) this implementation has the advantage + of working in the most cases. + """ + def __init__(self, target, onDelete=None): + """Return a weak-reference-like instance for a bound method + + target -- the instance-method target for the weak + reference, must have im_self and im_func attributes + and be reconstructable via: + target.im_func.__get__( target.im_self ) + which is true of built-in instance methods. + onDelete -- optional callback which will be called + when this weak reference ceases to be valid + (i.e. either the object or the function is garbage + collected). Should take a single argument, + which will be passed a pointer to this object. + """ + assert getattr(target.im_self, target.__name__) == target, \ + ("method %s isn't available as the attribute %s of %s" % + (target, target.__name__, target.im_self)) + super(BoundNonDescriptorMethodWeakref, self).__init__(target, onDelete) + + def __call__(self): + """Return a strong reference to the bound method + + If the target cannot be retrieved, then will + return None, otherwise returns a bound instance + method for our object and function. + + Note: + You may call this method any number of times, + as it does not invalidate the reference. + """ + target = self.weakSelf() + if target is not None: + function = self.weakFunc() + if function is not None: + # Using curry() would be another option, but it erases the + # "signature" of the function. That is, after a function is + # curried, the inspect module can't be used to determine how + # many arguments the function expects, nor what keyword + # arguments it supports, and pydispatcher needs this + # information. + return getattr(target, function.__name__) + return None + + +def get_bound_method_weakref(target, onDelete): + """Instantiates the appropiate BoundMethodWeakRef, depending on the details of + the underlying class method implementation""" + if hasattr(target, '__get__'): + # target method is a descriptor, so the default implementation works: + return BoundMethodWeakref(target=target, onDelete=onDelete) + else: + # no luck, use the alternative implementation: + return BoundNonDescriptorMethodWeakref(target=target, onDelete=onDelete) + diff --git a/django/http/__init__.py b/django/http/__init__.py index 508c6d2f3e..51744a0866 100644 --- a/django/http/__init__.py +++ b/django/http/__init__.py @@ -261,19 +261,23 @@ class HttpResponse(object): else: self._container = [content] self._is_string = True - self._headers = {'content-type': content_type} self.cookies = SimpleCookie() if status: self.status_code = status + # _headers is a mapping of the lower-case name to the original case of + # the header (required for working with legacy systems) and the header + # value. + self._headers = {'content-type': ('Content-Type', content_type)} + def __str__(self): "Full HTTP message, including headers" return '\n'.join(['%s: %s' % (key, value) - for key, value in self._headers.items()]) \ + for key, value in self._headers.values()]) \ + '\n\n' + self.content def __setitem__(self, header, value): - self._headers[header.lower()] = value + self._headers[header.lower()] = (header, value) def __delitem__(self, header): try: @@ -282,19 +286,19 @@ class HttpResponse(object): pass def __getitem__(self, header): - return self._headers[header.lower()] + return self._headers[header.lower()][1] def has_header(self, header): "Case-insensitive check for a header" return self._headers.has_key(header.lower()) __contains__ = has_header - + def items(self): - return self._headers.items() - + return self._headers.values() + def get(self, header, alternate): - return self._headers.get(header, alternate) + return self._headers.get(header.lower(), (None, alternate))[1] def set_cookie(self, key, value='', max_age=None, expires=None, path='/', domain=None, secure=None): self.cookies[key] = value @@ -304,17 +308,13 @@ class HttpResponse(object): self.cookies[key][var.replace('_', '-')] = val def delete_cookie(self, key, path='/', domain=None): - self.cookies[key] = '' - if path is not None: - self.cookies[key]['path'] = path - if domain is not None: - self.cookies[key]['domain'] = domain - self.cookies[key]['expires'] = 0 - self.cookies[key]['max-age'] = 0 + self.set_cookie(key, max_age=0, path=path, domain=domain, + expires='Thu, 01-Jan-1970 00:00:00 GMT') def _get_content(self): - content = smart_str(''.join(self._container), self._charset) - return content + if self.has_header('Content-Encoding'): + return ''.join(self._container) + return smart_str(''.join(self._container), self._charset) def _set_content(self, value): self._container = [value] diff --git a/django/middleware/common.py b/django/middleware/common.py index 57af4eb481..10a3a71b8d 100644 --- a/django/middleware/common.py +++ b/django/middleware/common.py @@ -1,8 +1,10 @@ +import md5 +import re + from django.conf import settings from django import http from django.core.mail import mail_managers -import md5 -import re +from django.utils.http import urlquote class CommonMiddleware(object): """ @@ -46,9 +48,9 @@ class CommonMiddleware(object): if new_url != old_url: # Redirect if new_url[0]: - newurl = "%s://%s%s" % (request.is_secure() and 'https' or 'http', new_url[0], new_url[1]) + newurl = "%s://%s%s" % (request.is_secure() and 'https' or 'http', new_url[0], urlquote(new_url[1])) else: - newurl = new_url[1] + newurl = urlquote(new_url[1]) if request.GET: newurl += '?' + request.GET.urlencode() return http.HttpResponsePermanentRedirect(newurl) diff --git a/django/middleware/gzip.py b/django/middleware/gzip.py index 7fd0d82419..aa2a8ea5a6 100644 --- a/django/middleware/gzip.py +++ b/django/middleware/gzip.py @@ -17,10 +17,11 @@ class GZipMiddleware(object): return response patch_vary_headers(response, ('Accept-Encoding',)) - + # Avoid gzipping if we've already got a content-encoding or if the - # content-type is Javascript (silly IE...) - is_js = "javascript" in response.get('Content-Type', '').lower() + # content-type is Javascript and the user's browser is IE. + is_js = ("msie" in request.META.get('HTTP_USER_AGENT', '').lower() and + "javascript" in response.get('Content-Type', '').lower()) if response.has_header('Content-Encoding') or is_js: return response diff --git a/django/newforms/fields.py b/django/newforms/fields.py index a39987e1b5..11e6f51779 100644 --- a/django/newforms/fields.py +++ b/django/newforms/fields.py @@ -11,7 +11,7 @@ from django.utils.translation import ugettext from django.utils.encoding import StrAndUnicode, smart_unicode from util import ErrorList, ValidationError -from widgets import TextInput, PasswordInput, HiddenInput, MultipleHiddenInput, FileInput, CheckboxInput, Select, NullBooleanSelect, SelectMultiple +from widgets import TextInput, PasswordInput, HiddenInput, MultipleHiddenInput, FileInput, CheckboxInput, Select, NullBooleanSelect, SelectMultiple, DateTimeInput try: from decimal import Decimal, DecimalException @@ -284,6 +284,8 @@ DEFAULT_DATETIME_INPUT_FORMATS = ( ) class DateTimeField(Field): + widget = DateTimeInput + def __init__(self, input_formats=None, *args, **kwargs): super(DateTimeField, self).__init__(*args, **kwargs) self.input_formats = input_formats or DEFAULT_DATETIME_INPUT_FORMATS @@ -300,6 +302,12 @@ class DateTimeField(Field): return value if isinstance(value, datetime.date): return datetime.datetime(value.year, value.month, value.day) + if isinstance(value, list): + # Input comes from a SplitDateTimeWidget, for example. So, it's two + # components: date and time. + if len(value) != 2: + raise ValidationError(ugettext(u'Enter a valid date/time.')) + value = '%s %s' % tuple(value) for format in self.input_formats: try: return datetime.datetime(*time.strptime(value, format)[:6]) diff --git a/django/newforms/widgets.py b/django/newforms/widgets.py index 2c235513d0..076845427d 100644 --- a/django/newforms/widgets.py +++ b/django/newforms/widgets.py @@ -19,7 +19,7 @@ from util import flatatt __all__ = ( 'Widget', 'TextInput', 'PasswordInput', 'HiddenInput', 'MultipleHiddenInput', - 'FileInput', 'Textarea', 'CheckboxInput', + 'FileInput', 'DateTimeInput', 'Textarea', 'CheckboxInput', 'Select', 'NullBooleanSelect', 'SelectMultiple', 'RadioSelect', 'CheckboxSelectMultiple', 'MultiWidget', 'SplitDateTimeWidget', ) @@ -133,7 +133,7 @@ class FileInput(Input): def render(self, name, value, attrs=None): return super(FileInput, self).render(name, None, attrs=attrs) - + def value_from_datadict(self, data, files, name): "File widgets take data from FILES, not POST" return files.get(name, None) @@ -151,6 +151,22 @@ class Textarea(Widget): final_attrs = self.build_attrs(attrs, name=name) return u'%s' % (flatatt(final_attrs), escape(value)) +class DateTimeInput(Input): + input_type = 'text' + format = '%Y-%m-%d %H:%M:%S' # '2006-10-25 14:30:59' + + def __init__(self, attrs=None, format=None): + super(DateTimeInput, self).__init__(attrs) + if format: + self.format = format + + def render(self, name, value, attrs=None): + if value is None: + value = '' + elif hasattr(value, 'strftime'): + value = value.strftime(self.format) + return super(DateTimeInput, self).render(name, value, attrs) + class CheckboxInput(Widget): def __init__(self, attrs=None, check_test=bool): super(CheckboxInput, self).__init__(attrs) @@ -170,6 +186,13 @@ class CheckboxInput(Widget): final_attrs['value'] = force_unicode(value) # Only add the 'value' attribute if a value is non-empty. return u'' % flatatt(final_attrs) + def value_from_datadict(self, data, files, name): + if name not in data: + # A missing value means False because HTML form submission does not + # send results for unselected checkboxes. + return False + return super(CheckboxInput, self).value_from_datadict(data, files, name) + class Select(Widget): def __init__(self, attrs=None, choices=()): super(Select, self).__init__(attrs) @@ -425,5 +448,5 @@ class SplitDateTimeWidget(MultiWidget): def decompress(self, value): if value: - return [value.date(), value.time()] + return [value.date(), value.time().replace(microsecond=0)] return [None, None] diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py index 151985bfdd..2ba23a0465 100644 --- a/django/template/defaulttags.py +++ b/django/template/defaulttags.py @@ -517,8 +517,14 @@ def firstof(parser, token): {% endif %}{% endif %}{% endif %} but obviously much cleaner! + + You can also use a literal string as a fallback value in case all + passed variables are False:: + + {% firstof var1 var2 var3 "fallback value" %} + """ - bits = token.contents.split()[1:] + bits = token.split_contents()[1:] if len(bits) < 1: raise TemplateSyntaxError, "'firstof' statement requires at least one argument" return FirstOfNode(bits) @@ -675,7 +681,7 @@ def do_if(parser, token): {% if athlete_list and coach_list or cheerleader_list %} If you need to combine ``and`` and ``or`` to do advanced logic, just use - nested if tags. For example: + nested if tags. For example:: {% if athlete_list %} {% if coach_list or cheerleader_list %} diff --git a/django/templatetags/cache.py b/django/templatetags/cache.py new file mode 100644 index 0000000000..4436b15d6e --- /dev/null +++ b/django/templatetags/cache.py @@ -0,0 +1,57 @@ +from django.template import Library, Node, TemplateSyntaxError +from django.template import resolve_variable +from django.core.cache import cache +from django.utils.encoding import force_unicode + +register = Library() + +class CacheNode(Node): + def __init__(self, nodelist, expire_time, fragment_name, vary_on): + self.nodelist = nodelist + self.expire_time = expire_time + self.fragment_name = fragment_name + self.vary_on = vary_on + + def render(self, context): + # Build a unicode key for this fragment and all vary-on's. + cache_key = u':'.join([self.fragment_name] + \ + [force_unicode(resolve_variable(var, context)) for var in self.vary_on]) + value = cache.get(cache_key) + if value is None: + value = self.nodelist.render(context) + cache.set(cache_key, value, self.expire_time) + return value + +def do_cache(parser, token): + """ + This will cache the contents of a template fragment for a given amount + of time. + + Usage:: + + {% load cache %} + {% cache [expire_time] [fragment_name] %} + .. some expensive processing .. + {% endcache %} + + This tag also supports varying by a list of arguments:: + + {% load cache %} + {% cache [expire_time] [fragment_name] [var1] [var2] .. %} + .. some expensive processing .. + {% endcache %} + + Each unique set of arguments will result in a unique cache entry. + """ + nodelist = parser.parse(('endcache',)) + parser.delete_first_token() + tokens = token.contents.split() + if len(tokens) < 3: + raise TemplateSyntaxError(u"'%r' tag requires at least 2 arguments." % tokens[0]) + try: + expire_time = int(tokens[1]) + except ValueError: + raise TemplateSyntaxError(u"First argument to '%r' must be an integer (got '%s')." % (tokens[0], tokens[1])) + return CacheNode(nodelist, expire_time, tokens[2], tokens[3:]) + +register.tag('cache', do_cache) diff --git a/django/templatetags/i18n.py b/django/templatetags/i18n.py index d5b0741a61..cec35fb48e 100644 --- a/django/templatetags/i18n.py +++ b/django/templatetags/i18n.py @@ -1,3 +1,5 @@ +import re + from django.template import Node, Variable from django.template import TemplateSyntaxError, TokenParser, Library from django.template import TOKEN_TEXT, TOKEN_VAR @@ -68,9 +70,11 @@ class BlockTranslateNode(Node): count = self.counter.resolve(context) context[self.countervar] = count plural = self.render_token_list(self.plural) - result = translation.ungettext(singular, plural, count) % context + result = translation.ungettext(singular, plural, count) else: - result = translation.ugettext(singular) % context + result = translation.ugettext(singular) + # Escape all isolated '%' before substituting in the context. + result = re.sub('%(?!\()', '%%', result) % context context.pop() return result diff --git a/django/test/utils.py b/django/test/utils.py index 6edd186b54..51ca37e2f0 100644 --- a/django/test/utils.py +++ b/django/test/utils.py @@ -6,6 +6,7 @@ from django.core.management import call_command from django.dispatch import dispatcher from django.test import signals from django.template import Template +from django.utils.translation import deactivate # The prefix to put on the default database name when creating # the test database. @@ -43,7 +44,7 @@ def setup_test_environment(): - Installing the instrumented test renderer - Diverting the email sending functions to a test buffer - + - Setting the active locale to match the LANGUAGE_CODE setting. """ Template.original_render = Template.render Template.render = instrumented_test_render @@ -53,6 +54,8 @@ def setup_test_environment(): mail.outbox = [] + deactivate() + def teardown_test_environment(): """Perform any global post-test teardown. This involves: diff --git a/django/utils/checksums.py b/django/utils/checksums.py new file mode 100644 index 0000000000..970f563f38 --- /dev/null +++ b/django/utils/checksums.py @@ -0,0 +1,22 @@ +""" +Common checksum routines (used in multiple localflavor/ cases, for example). +""" + +__all__ = ['luhn',] + +LUHN_ODD_LOOKUP = (0, 2, 4, 6, 8, 1, 3, 5, 7, 9) # sum_of_digits(index * 2) + +def luhn(candidate): + """ + Checks a candidate number for validity according to the Luhn + algorithm (used in validation of, for example, credit cards). + Both numeric and string candidates are accepted. + """ + if not isinstance(candidate, basestring): + candidate = str(candidate) + try: + evens = sum([int(c) for c in candidate[-1::-2]]) + odds = sum([LUHN_ODD_LOOKUP[int(c)] for c in candidate[-2::-2]]) + return ((evens + odds) % 10 == 0) + except ValueError: # Raised if an int conversion fails + return False diff --git a/django/utils/datastructures.py b/django/utils/datastructures.py index d750f098f0..e0835b2cfc 100644 --- a/django/utils/datastructures.py +++ b/django/utils/datastructures.py @@ -42,22 +42,32 @@ class MergeDict(object): if key in dict: return True return False - + __contains__ = has_key def copy(self): - """ returns a copy of this object""" + """Returns a copy of this object.""" return self.__copy__() class SortedDict(dict): - "A dictionary that keeps its keys in the order in which they're inserted." + """ + A dictionary that keeps its keys in the order in which they're inserted. + """ def __init__(self, data=None): - if data is None: data = {} + if data is None: + data = {} dict.__init__(self, data) if isinstance(data, dict): self.keyOrder = data.keys() else: - self.keyOrder=[key for key, value in data] + self.keyOrder = [key for key, value in data] + + def __deepcopy__(self,memo): + from copy import deepcopy + obj = self.__class__() + for k, v in self.items(): + obj[k] = deepcopy(v, memo) + return obj def __setitem__(self, key, value): dict.__setitem__(self, key, value) @@ -72,6 +82,20 @@ class SortedDict(dict): for k in self.keyOrder: yield k + def pop(self, k, *args): + result = dict.pop(self, k, *args) + try: + self.keyOrder.remove(k) + except ValueError: + # Key wasn't in the dictionary in the first place. No problem. + pass + return result + + def popitem(self): + result = dict.popitem(self) + self.keyOrder.remove(result[0]) + return result + def items(self): return zip(self.keyOrder, self.values()) @@ -102,20 +126,21 @@ class SortedDict(dict): return dict.setdefault(self, key, default) def value_for_index(self, index): - "Returns the value of the item at the given zero-based index." + """Returns the value of the item at the given zero-based index.""" return self[self.keyOrder[index]] def insert(self, index, key, value): - "Inserts the key, value pair before the item with the given index." + """Inserts the key, value pair before the item with the given index.""" if key in self.keyOrder: n = self.keyOrder.index(key) del self.keyOrder[n] - if n < index: index -= 1 + if n < index: + index -= 1 self.keyOrder.insert(index, key) dict.__setitem__(self, key, value) def copy(self): - "Returns a copy of this object." + """Returns a copy of this object.""" # This way of initializing the copy means it works for subclasses, too. obj = self.__class__(self) obj.keyOrder = self.keyOrder @@ -133,7 +158,8 @@ class MultiValueDictKeyError(KeyError): class MultiValueDict(dict): """ - A subclass of dictionary customized to handle multiple values for the same key. + A subclass of dictionary customized to handle multiple values for the + same key. >>> d = MultiValueDict({'name': ['Adrian', 'Simon'], 'position': ['Developer']}) >>> d['name'] @@ -176,15 +202,17 @@ class MultiValueDict(dict): def __deepcopy__(self, memo=None): import copy - if memo is None: memo = {} + if memo is None: + memo = {} result = self.__class__() memo[id(self)] = result for key, value in dict.items(self): - dict.__setitem__(result, copy.deepcopy(key, memo), copy.deepcopy(value, memo)) + dict.__setitem__(result, copy.deepcopy(key, memo), + copy.deepcopy(value, memo)) return result def get(self, key, default=None): - "Returns the default value if the requested data doesn't exist" + """Returns the default value if the requested data doesn't exist.""" try: val = self[key] except KeyError: @@ -194,7 +222,7 @@ class MultiValueDict(dict): return val def getlist(self, key): - "Returns an empty list if the requested data doesn't exist" + """Returns an empty list if the requested data doesn't exist.""" try: return dict.__getitem__(self, key) except KeyError: @@ -214,7 +242,7 @@ class MultiValueDict(dict): return self.getlist(key) def appendlist(self, key, value): - "Appends an item to the internal list associated with key" + """Appends an item to the internal list associated with key.""" self.setlistdefault(key, []) dict.__setitem__(self, key, self.getlist(key) + [value]) @@ -226,19 +254,22 @@ class MultiValueDict(dict): return [(key, self[key]) for key in self.keys()] def lists(self): - "Returns a list of (key, list) pairs." + """Returns a list of (key, list) pairs.""" return dict.items(self) def values(self): - "Returns a list of the last value on every key list." + """Returns a list of the last value on every key list.""" return [self[key] for key in self.keys()] def copy(self): - "Returns a copy of this object." + """Returns a copy of this object.""" return self.__deepcopy__() def update(self, *args, **kwargs): - "update() extends rather than replaces existing key lists. Also accepts keyword args." + """ + update() extends rather than replaces existing key lists. + Also accepts keyword args. + """ if len(args) > 1: raise TypeError, "update expected at most 1 arguments, got %d" % len(args) if args: @@ -299,4 +330,3 @@ class FileDict(dict): d = dict(self, content='') return dict.__repr__(d) return dict.__repr__(self) - diff --git a/django/utils/encoding.py b/django/utils/encoding.py index 6daae4386d..2bd1ef6563 100644 --- a/django/utils/encoding.py +++ b/django/utils/encoding.py @@ -31,7 +31,7 @@ def force_unicode(s, encoding='utf-8', strings_only=False, errors='strict'): If strings_only is True, don't convert (some) non-string-like objects. """ - if strings_only and isinstance(s, (types.NoneType, int, long, datetime.datetime, datetime.time, float)): + if strings_only and isinstance(s, (types.NoneType, int, long, datetime.datetime, datetime.date, datetime.time, float)): return s if not isinstance(s, basestring,): if hasattr(s, '__unicode__'): diff --git a/django/utils/feedgenerator.py b/django/utils/feedgenerator.py index e296331324..3e0826c968 100644 --- a/django/utils/feedgenerator.py +++ b/django/utils/feedgenerator.py @@ -45,7 +45,7 @@ class SyndicationFeed(object): "Base class for all syndication feeds. Subclasses should provide write()" def __init__(self, title, link, description, language=None, author_email=None, author_name=None, author_link=None, subtitle=None, categories=None, - feed_url=None, feed_copyright=None, feed_guid=None): + feed_url=None, feed_copyright=None, feed_guid=None, ttl=None): to_unicode = lambda s: force_unicode(s, strings_only=True) if categories: categories = [force_unicode(c) for c in categories] @@ -62,12 +62,13 @@ class SyndicationFeed(object): 'feed_url': iri_to_uri(feed_url), 'feed_copyright': to_unicode(feed_copyright), 'id': feed_guid or link, + 'ttl': ttl, } self.items = [] def add_item(self, title, link, description, author_email=None, author_name=None, author_link=None, pubdate=None, comments=None, - unique_id=None, enclosure=None, categories=(), item_copyright=None): + unique_id=None, enclosure=None, categories=(), item_copyright=None, ttl=None): """ Adds an item to the feed. All args are expected to be Python Unicode objects except pubdate, which is a datetime.datetime object, and @@ -89,6 +90,7 @@ class SyndicationFeed(object): 'enclosure': enclosure, 'categories': categories or (), 'item_copyright': to_unicode(item_copyright), + 'ttl': ttl, }) def num_items(self): @@ -146,6 +148,8 @@ class RssFeed(SyndicationFeed): if self.feed['feed_copyright'] is not None: handler.addQuickElement(u"copyright", self.feed['feed_copyright']) handler.addQuickElement(u"lastBuildDate", rfc2822_date(self.latest_post_date()).decode('ascii')) + if self.feed['ttl'] is not None: + handler.addQuickElement(u"ttl", self.feed['ttl']) self.write_items(handler) self.endChannelElement(handler) handler.endElement(u"rss") @@ -190,6 +194,8 @@ class Rss201rev2Feed(RssFeed): handler.addQuickElement(u"comments", item['comments']) if item['unique_id'] is not None: handler.addQuickElement(u"guid", item['unique_id']) + if item['ttl'] is not None: + handler.addQuickElement(u"ttl", item['ttl']) # Enclosure. if item['enclosure'] is not None: diff --git a/django/utils/functional.py b/django/utils/functional.py index f4580e7bd5..e0c862b0b7 100644 --- a/django/utils/functional.py +++ b/django/utils/functional.py @@ -53,7 +53,11 @@ def lazy(func, *resultclasses): self._delegate_unicode = unicode in resultclasses assert not (self._delegate_str and self._delegate_unicode), "Cannot call lazy() with both str and unicode return types." if self._delegate_unicode: - self.__unicode__ = self.__unicode_cast + # Each call to lazy() makes a new __proxy__ object, so this + # doesn't interfere with any other lazy() results. + __proxy__.__unicode__ = __proxy__.__unicode_cast + elif self._delegate_str: + __proxy__.__str__ = __proxy__.__str_cast def __promise__(self, klass, funcname, func): # Builds a wrapper around some magic method and registers that magic @@ -72,14 +76,8 @@ def lazy(func, *resultclasses): def __unicode_cast(self): return self.__func(*self.__args, **self.__kw) - def __str__(self): - # As __str__ is always a method on the type (class), it is looked - # up (and found) there first. So we can't just assign to it on a - # per-instance basis in __init__. - if self._delegate_str: - return str(self.__func(*self.__args, **self.__kw)) - else: - return Promise.__str__(self) + def __str_cast(self): + return str(self.__func(*self.__args, **self.__kw)) def __cmp__(self, rhs): if self._delegate_str: diff --git a/django/utils/http.py b/django/utils/http.py index 4c3b6af868..4912c9c46a 100644 --- a/django/utils/http.py +++ b/django/utils/http.py @@ -9,7 +9,8 @@ def urlquote(url, safe='/'): can safely be used as part of an argument to a subsequent iri_to_uri() call without double-quoting occurring. """ - return force_unicode(urllib.quote(smart_str(url))) + return force_unicode(urllib.quote(smart_str(url), safe)) + urlquote = allow_lazy(urlquote, unicode) def urlquote_plus(url, safe=''): diff --git a/django/utils/translation/__init__.py b/django/utils/translation/__init__.py index 9ca7419e1e..43ce3e591a 100644 --- a/django/utils/translation/__init__.py +++ b/django/utils/translation/__init__.py @@ -8,7 +8,7 @@ __all__ = ['gettext', 'gettext_noop', 'gettext_lazy', 'ngettext', 'ngettext_lazy', 'string_concat', 'activate', 'deactivate', 'get_language', 'get_language_bidi', 'get_date_formats', 'get_partial_date_formats', 'check_for_language', 'to_locale', - 'get_language_from_request', 'install', 'templatize', 'ugettext', + 'get_language_from_request', 'templatize', 'ugettext', 'ungettext', 'deactivate_all'] # Here be dragons, so a short explanation of the logic won't hurt: @@ -96,9 +96,6 @@ def to_locale(language): def get_language_from_request(request): return real_get_language_from_request(request) -def install(): - return real_install() - def templatize(src): return real_templatize(src) diff --git a/django/utils/translation/trans_null.py b/django/utils/translation/trans_null.py index 771a80e99c..0b62907e44 100644 --- a/django/utils/translation/trans_null.py +++ b/django/utils/translation/trans_null.py @@ -14,7 +14,7 @@ def ungettext(singular, plural, number): return force_unicode(ngettext(singular, plural, number)) activate = lambda x: None -deactivate = deactivate_all = install = lambda: None +deactivate = deactivate_all = lambda: None get_language = lambda: settings.LANGUAGE_CODE get_language_bidi = lambda: settings.LANGUAGE_CODE in settings.LANGUAGES_BIDI get_date_formats = lambda: (settings.DATE_FORMAT, settings.DATETIME_FORMAT, settings.TIME_FORMAT) diff --git a/django/utils/translation/trans_real.py b/django/utils/translation/trans_real.py index 250af04e8c..98b4769031 100644 --- a/django/utils/translation/trans_real.py +++ b/django/utils/translation/trans_real.py @@ -1,8 +1,12 @@ "Translation helper functions" -import os, re, sys +import locale +import os +import re +import sys import gettext as gettext_module from cStringIO import StringIO + from django.utils.encoding import force_unicode try: @@ -25,15 +29,25 @@ _active = {} # The default translation is based on the settings file. _default = None -# This is a cache for accept-header to translation object mappings to prevent -# the accept parser to run multiple times for one user. +# This is a cache for normalised accept-header languages to prevent multiple +# file lookups when checking the same locale on repeated requests. _accepted = {} -def to_locale(language): +# Format of Accept-Language header values. From RFC 2616, section 14.4 and 3.9. +accept_language_re = re.compile(r''' + ([A-Za-z]{1,8}(?:-[A-Za-z]{1,8})*|\*) # "en", "en-au", "x-y-z", "*" + (?:;q=(0(?:\.\d{,3})?|1(?:.0{,3})?))? # Optional "q=1.00", "q=0.8" + (?:\s*,\s*|$) # Multiple accepts per header. + ''', re.VERBOSE) + +def to_locale(language, to_lower=False): "Turns a language name (en-us) into a locale name (en_US)." p = language.find('-') if p >= 0: - return language[:p].lower()+'_'+language[p+1:].upper() + if to_lower: + return language[:p].lower()+'_'+language[p+1:].lower() + else: + return language[:p].lower()+'_'+language[p+1:].upper() else: return language.lower() @@ -249,8 +263,10 @@ def catalog(): def do_translate(message, translation_function): """ - Translate 'message' using the given 'translation_function' name -- which - will be either gettext or ugettext. + Translates 'message' using the given 'translation_function' name -- which + will be either gettext or ugettext. It uses the current thread to find the + translation object to use. If no current translation is activated, the + message will be run through the default translation object. """ global _default, _active t = _active.get(currentThread(), None) @@ -262,12 +278,6 @@ def do_translate(message, translation_function): return getattr(_default, translation_function)(message) def gettext(message): - """ - This function will be patched into the builtins module to provide the _ - helper function. It will use the current thread as a discriminator to find - the translation object to use. If no current translation is activated, the - message will be run through the default translation object. - """ return do_translate(message, 'gettext') def ugettext(message): @@ -338,46 +348,40 @@ def get_language_from_request(request): if lang_code in supported and lang_code is not None and check_for_language(lang_code): return lang_code - lang_code = request.COOKIES.get('django_language', None) - if lang_code in supported and lang_code is not None and check_for_language(lang_code): + lang_code = request.COOKIES.get('django_language') + if lang_code and lang_code in supported and check_for_language(lang_code): return lang_code - accept = request.META.get('HTTP_ACCEPT_LANGUAGE', None) - if accept is not None: + accept = request.META.get('HTTP_ACCEPT_LANGUAGE', '') + for lang, unused in parse_accept_lang_header(accept): + if lang == '*': + break - t = _accepted.get(accept, None) - if t is not None: - return t + # We have a very restricted form for our language files (no encoding + # specifier, since they all must be UTF-8 and only one possible + # language each time. So we avoid the overhead of gettext.find() and + # look up the MO file manually. - def _parsed(el): - p = el.find(';q=') - if p >= 0: - lang = el[:p].strip() - order = int(float(el[p+3:].strip())*100) - else: - lang = el - order = 100 - p = lang.find('-') - if p >= 0: - mainlang = lang[:p] - else: - mainlang = lang - return (lang, mainlang, order) + normalized = locale.locale_alias.get(to_locale(lang, True)) + if not normalized: + continue - langs = [_parsed(el) for el in accept.split(',')] - langs.sort(lambda a,b: -1*cmp(a[2], b[2])) + # Remove the default encoding from locale_alias + normalized = normalized.split('.')[0] - for lang, mainlang, order in langs: - if lang in supported or mainlang in supported: - langfile = gettext_module.find('django', globalpath, [to_locale(lang)]) - if langfile: - # reconstruct the actual language from the language - # filename, because otherwise we might incorrectly - # report de_DE if we only have de available, but - # did find de_DE because of language normalization - lang = langfile[len(globalpath):].split(os.path.sep)[1] - _accepted[accept] = lang - return lang + if normalized in _accepted: + # We've seen this locale before and have an MO file for it, so no + # need to check again. + return _accepted[normalized] + + for lang in (normalized, normalized.split('_')[0]): + if lang not in supported: + continue + langfile = os.path.join(globalpath, lang, 'LC_MESSAGES', + 'django.mo') + if os.path.exists(langfile): + _accepted[normalized] = lang + return lang return settings.LANGUAGE_CODE @@ -414,13 +418,6 @@ def get_partial_date_formats(): month_day_format = settings.MONTH_DAY_FORMAT return year_month_format, month_day_format -def install(): - """ - Installs the gettext function as the default translation function under - the name '_'. - """ - __builtins__['_'] = gettext - dot_re = re.compile(r'\S') def blankout(src, char): """ @@ -516,3 +513,23 @@ def templatize(src): out.write(blankout(t.contents, 'X')) return out.getvalue() +def parse_accept_lang_header(lang_string): + """ + Parses the lang_string, which is the body of an HTTP Accept-Language + header, and returns a list of (lang, q-value), ordered by 'q' values. + + Any format errors in lang_string results in an empty list being returned. + """ + result = [] + pieces = accept_language_re.split(lang_string) + if pieces[-1]: + return [] + for i in range(0, len(pieces) - 1, 3): + first, lang, priority = pieces[i : i + 3] + if first: + return [] + priority = priority and float(priority) or 1.0 + result.append((lang, priority)) + result.sort(lambda x, y: -cmp(x[1], y[1])) + return result + diff --git a/django/views/debug.py b/django/views/debug.py index cf0b6b5a0b..717de1eb34 100644 --- a/django/views/debug.py +++ b/django/views/debug.py @@ -201,16 +201,15 @@ def _get_lines_from_file(filename, lineno, context_lines, loader=None, module_na if source is None: return None, [], None, [] - encoding=None + encoding = 'ascii' for line in source[:2]: - # File coding may be specified (and may not be UTF-8). Match - # pattern from PEP-263 (http://www.python.org/dev/peps/pep-0263/) + # File coding may be specified. Match pattern from PEP-263 + # (http://www.python.org/dev/peps/pep-0263/) match = re.search(r'coding[:=]\s*([-\w.]+)', line) if match: encoding = match.group(1) break - if encoding: - source = [unicode(sline, encoding) for sline in source] + source = [unicode(sline, encoding, 'replace') for sline in source] lower_bound = max(0, lineno - context_lines) upper_bound = lineno + context_lines diff --git a/docs/apache_auth.txt b/docs/apache_auth.txt index cab57fe6d5..859050e716 100644 --- a/docs/apache_auth.txt +++ b/docs/apache_auth.txt @@ -28,21 +28,21 @@ with the standard ``Auth*`` and ``Require`` directives:: SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonAuthenHandler django.contrib.auth.handlers.modpython - + .. admonition:: Using the authentication handler with Apache 2.2 If you're using Apache 2.2, you'll need to take a couple extra steps. - + You'll need to ensure that ``mod_auth_basic`` and ``mod_authz_user`` are loaded. These might be compiled statically into Apache, or you might need to use ``LoadModule`` to load them dynamically (as shown in the example at the bottom of this note). - + You'll also need to insert configuration directives that prevent Apache from trying to use other authentication modules. Depending on which other authentication modules you have loaded, you might need one or more of the following directives:: - + AuthBasicAuthoritative Off AuthDefaultAuthoritative Off AuthzLDAPAuthoritative Off @@ -51,18 +51,18 @@ with the standard ``Auth*`` and ``Require`` directives:: AuthzGroupFileAuthoritative Off AuthzOwnerAuthoritative Off AuthzUserAuthoritative Off - + A complete configuration, with differences between Apache 2.0 and Apache 2.2 marked in bold, would look something like: - + .. parsed-literal:: - + **LoadModule auth_basic_module modules/mod_auth_basic.so** **LoadModule authz_user_module modules/mod_authz_user.so** - + ... - - + + AuthType Basic AuthName "example.com" **AuthBasicAuthoritative Off** @@ -71,7 +71,7 @@ with the standard ``Auth*`` and ``Require`` directives:: SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonAuthenHandler django.contrib.auth.handlers.modpython - + By default, the authentication handler will limit access to the ``/example/`` location to users marked as staff members. You can use a set of ``PythonOption`` directives to modify this behavior: diff --git a/docs/cache.txt b/docs/cache.txt index 8ba0383909..d598915d1a 100644 --- a/docs/cache.txt +++ b/docs/cache.txt @@ -119,8 +119,8 @@ in your database that is in the proper format that Django's database-cache system expects. Once you've created that database table, set your ``CACHE_BACKEND`` setting to -``"db://tablename/"``, where ``tablename`` is the name of the database table. -In this example, the cache table's name is ``my_cache_table``: +``"db://tablename"``, where ``tablename`` is the name of the database table. +In this example, the cache table's name is ``my_cache_table``:: CACHE_BACKEND = 'db://my_cache_table' @@ -228,7 +228,7 @@ entire site. Just add ``'django.middleware.cache.CacheMiddleware'`` to your 'django.middleware.common.CommonMiddleware', ) -(The order of ``MIDDLEWARE_CLASSES`` matters. See "Order of MIDDLEWARE_CLASSES" +(The order of ``MIDDLEWARE_CLASSES`` matters. See `Order of MIDDLEWARE_CLASSES`_ below.) Then, add the following required settings to your Django settings file: @@ -288,6 +288,36 @@ Or, using Python 2.4's decorator syntax:: above example, the result of the ``slashdot_this()`` view will be cached for 15 minutes. +Template fragment caching +========================= + +If you're after even more control, you can also cache template fragments using +the ``cache`` template tag. To give your template access to this tag, put ``{% +load cache %}`` near the top of your template. + +The ``{% cache %}`` template tag caches the contents of the block for a given +amount of time. It takes at least two arguments: the cache timeout, in +seconds, and the name to give the cache fragment. For example:: + + {% load cache %} + {% cache 500 sidebar %} + .. sidebar .. + {% endcache %} + +Sometimes you might want to cache multiple copies of a fragment depending on +some dynamic data that appears inside the fragment. For example you may want a +separate cached copy of the sidebar used in the previous example for every user +of your site. This can be easily achieved by passing additional arguments to +the ``{% cache %}`` template tag to uniquely identify the cache fragment:: + + {% load cache %} + {% cache 500 sidebar request.user.username %} + .. sidebar for logged in user .. + {% endcache %} + +If you need more than one argument to identify the fragment that's fine, simply +pass as many arguments to ``{% cache %}`` as you need! + The low-level cache API ======================= @@ -326,6 +356,15 @@ get() can take a ``default`` argument:: >>> cache.get('my_key', 'has expired') 'has expired' +To add a key only if it doesn't already exist, there is an add() method. It +takes the same parameters as set(), but will not attempt to update the cache +if the key specified is already present:: + + >>> cache.set('add_key', 'Initial value') + >>> cache.add('add_key', 'New value') + >>> cache.get('add_key') + 'Initial value' + There's also a get_many() interface that only hits the cache once. get_many() returns a dictionary with all the keys you asked for that actually exist in the cache (and haven't expired):: @@ -524,7 +563,7 @@ the value of the ``CACHE_MIDDLEWARE_SETTINGS`` setting. If you use a custom ``max_age`` in a ``cache_control`` decorator, the decorator will take precedence, and the header values will be merged correctly.) -If you want to use headers to disable caching altogether, +If you want to use headers to disable caching altogether, ``django.views.decorators.never_cache`` is a view decorator that adds headers to ensure the response won't be cached by browsers or other caches. Example:: @@ -556,8 +595,11 @@ within the ``MIDDLEWARE_CLASSES`` setting, because the cache middleware needs to know which headers by which to vary the cache storage. Middleware always adds something to the ``Vary`` response header when it can. -Put the ``CacheMiddleware`` after any middlewares that might add something to -the ``Vary`` header. The following middlewares do so: +Put the ``CacheMiddleware`` *before* any other middleware that might add +something to the ``Vary`` header (response middleware is applied in reverse +order). The following middleware modules do so: * ``SessionMiddleware`` adds ``Cookie`` * ``GZipMiddleware`` adds ``Accept-Encoding`` + * ``LocaleMiddleware`` adds ``Accept-Language`` + diff --git a/docs/contributing.txt b/docs/contributing.txt index 3200a87012..a842f4477a 100644 --- a/docs/contributing.txt +++ b/docs/contributing.txt @@ -335,6 +335,10 @@ Please follow these coding standards when writing code for inclusion in Django: * Unless otherwise specified, follow `PEP 8`_. + You could use a tool like `pep8.py`_ to check for some problems in this + area, but remember that PEP 8 is only a guide, so respect the style of + the surrounding code as a primary goal. + * Use four spaces for indentation. * Use underscores, not camelCase, for variable, function and method names @@ -924,5 +928,6 @@ requests for commit access are potential flame-war starters, and will be ignored .. _`#django`: irc://irc.freenode.net/django .. _list of tickets with patches: http://code.djangoproject.com/query?status=new&status=assigned&status=reopened&has_patch=1&order=priority .. _PEP 8: http://www.python.org/peps/pep-0008.html +.. _pep8.py: http://svn.browsershots.org/trunk/devtools/pep8/pep8.py .. _i18n branch: http://code.djangoproject.com/browser/django/branches/i18n .. _`tags/releases`: http://code.djangoproject.com/browser/django/tags/releases diff --git a/docs/databases.txt b/docs/databases.txt index 213c2d666c..4530a1b896 100644 --- a/docs/databases.txt +++ b/docs/databases.txt @@ -76,6 +76,14 @@ the ``mysql`` backend. If you are trying to use an older version of MySQL and the ``mysql_old`` backend, then 1.2.0 *might* work for you. +.. note:: + If you see ``ImportError: cannot import name ImmutableSet`` when trying to + use Django, your MySQLdb installation may contain an outdated ``sets.py`` + file that conflicts with the built-in module of the same name from Python + 2.4 and later. To fix this, verify that you have installed MySQLdb version + 1.2.1p2 or newer, then delete the ``sets.py`` file in the MySQLdb + directory that was left by an earlier version. + .. _MySQLdb: http://sourceforge.net/projects/mysql-python Creating your database diff --git a/docs/django-admin.txt b/docs/django-admin.txt index f098dfa988..e751a7b3d9 100644 --- a/docs/django-admin.txt +++ b/docs/django-admin.txt @@ -741,22 +741,25 @@ Customized actions **New in Django development version** -If you want to add an action of your own to ``manage.py``, you can. -Simply add a ``management/commands`` directory to your application. -Each python module in that directory will be discovered and registered as +Applications can register their own actions with ``manage.py``. For example, +you might want to add a ``manage.py`` action for a Django app that you're +distributing. + +To do this, just add a ``management/commands`` directory to your application. +Each Python module in that directory will be auto-discovered and registered as a command that can be executed as an action when you run ``manage.py``:: - /fancy_blog + blog/ __init__.py models.py - /management + management/ __init__.py - /commands + commands/ __init__.py explode.py views.py -In this example, ``explode`` command will be made available to any project +In this example, the ``explode`` command will be made available to any project that includes the ``fancy_blog`` application in ``settings.INSTALLED_APPS``. The ``explode.py`` module has only one requirement -- it must define a class diff --git a/docs/flatpages.txt b/docs/flatpages.txt index 1422f16b6b..d082090689 100644 --- a/docs/flatpages.txt +++ b/docs/flatpages.txt @@ -48,7 +48,7 @@ with the given URL with a site ID that corresponds to the SITE_ID_ setting. If it finds a match, it follows this algorithm: * If the flatpage has a custom template, it loads that template. Otherwise, - it loads the template ``flatpages/default``. + it loads the template ``flatpages/default.html``. * It passes that template a single context variable, ``flatpage``, which is the flatpage object. It uses RequestContext_ in rendering the template. diff --git a/docs/install.txt b/docs/install.txt index 95aa82b2e3..519bf2674c 100644 --- a/docs/install.txt +++ b/docs/install.txt @@ -63,7 +63,10 @@ installed. * If you're using MySQL, you'll need MySQLdb_, version 1.2.1p2 or higher. You will also want to read the database-specific notes for the `MySQL backend`_. -* If you're using SQLite, you'll need pysqlite_. Use version 2.0.3 or higher. +* If you're using SQLite and either Python 2.3 or Python 2.4, you'll need + pysqlite_. Use version 2.0.3 or higher. Python 2.5 ships with an sqlite + wrapper in the standard library, so you don't need to install anything extra + in that case. * If you're using Oracle, you'll need cx_Oracle_, version 4.3.1 or higher. You will also want to read the database-specific notes for the `Oracle backend`_. diff --git a/docs/middleware.txt b/docs/middleware.txt index 63ba8c6999..30a4899a3e 100644 --- a/docs/middleware.txt +++ b/docs/middleware.txt @@ -178,8 +178,9 @@ request, before Django decides which view to execute. ``process_request()`` should return either ``None`` or an ``HttpResponse`` object. If it returns ``None``, Django will continue processing this request, executing any other middleware and, then, the appropriate view. If it returns -an ``HttpResponse`` object, Django won't bother calling ANY other middleware or -the appropriate view; it'll return that ``HttpResponse``. +an ``HttpResponse`` object, Django won't bother calling ANY other request, +view or exception middleware, or the appropriate view; it'll return that +``HttpResponse``. Response middleware is always called on every response. process_view ------------ @@ -197,8 +198,9 @@ arguments that will be passed to the view. Neither ``view_args`` nor return either ``None`` or an ``HttpResponse`` object. If it returns ``None``, Django will continue processing this request, executing any other ``process_view()`` middleware and, then, the appropriate view. If it returns an -``HttpResponse`` object, Django won't bother calling ANY other middleware or -the appropriate view; it'll return that ``HttpResponse``. +``HttpResponse`` object, Django won't bother calling ANY other request, view +or exception middleware, or the appropriate view; it'll return that +``HttpResponse``. Response middleware is always called on every response. process_response ---------------- @@ -236,7 +238,8 @@ Guidelines * Feel free to look at Django's available middleware for examples. The core Django middleware classes are in ``django/middleware/`` in the - Django distribution. The session middleware is in ``django/contrib/sessions``. + Django distribution. The session middleware is in + ``django/contrib/sessions``. * If you write a middleware component that you think would be useful to other people, contribute to the community! Let us know, and we'll diff --git a/docs/model-api.txt b/docs/model-api.txt index a0844ea961..b49963d8f5 100644 --- a/docs/model-api.txt +++ b/docs/model-api.txt @@ -149,7 +149,7 @@ and in Django's validation. Django veterans: Note that the argument is now called ``max_length`` to provide consistency throughout Django. There is full legacy support for the old ``maxlength`` argument, but ``max_length`` is preferred. - + ``CommaSeparatedIntegerField`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -678,7 +678,9 @@ set. If ``True``, this field must be unique throughout the table. -This is enforced at the database level and at the Django admin-form level. +This is enforced at the database level and at the Django admin-form level. If +you try to add save a model with a duplicate value in a ``unique`` field, a +``django.db.IntegrityError`` will be raised by the model's ``save()`` method. ``unique_for_date`` ~~~~~~~~~~~~~~~~~~~ @@ -1584,8 +1586,8 @@ Finally, note that in order to use ``list_display_links``, you must define Set ``list_filter`` to activate filters in the right sidebar of the change list page of the admin. This should be a list of field names, and each specified -field should be either a ``BooleanField``, ``CharField``, ``DateField``, -``DateTimeField``, ``IntegerField`` or ``ForeignKey``. +field should be either a ``BooleanField``, ``CharField``, ``DateField``, +``DateTimeField``, ``IntegerField`` or ``ForeignKey``. This example, taken from the ``django.contrib.auth.models.User`` model, shows how both ``list_display`` and ``list_filter`` work:: diff --git a/docs/modpython.txt b/docs/modpython.txt index 4a8c169a51..5b20046168 100644 --- a/docs/modpython.txt +++ b/docs/modpython.txt @@ -87,17 +87,19 @@ lived under the ``weblog/`` directory, you would *also* need to add **parent directories** of anything you import directly must be on the Python path. -.. caution:: +.. note:: - If you're using Windows, remember that the path will contain backslashes. - This string is passed through Python's string parser twice, so you need to - escape each backslash **twice**:: + If you're using Windows, it is still recommended that you use forward + slashes in the pathnames, even though Windows normally uses backslashes + for its native separator. Apache knows how to convert from the forward + slash format to the native format, so this approach is portable and easier + to read (it avoids tricky problems with having to double-escape + backslashes). - PythonPath "['c:\\\\path\\\\to\\\\project'] + sys.path" + This is valid even on a Windows system:: - Or, use raw strings:: + PythonPath "['c:/path/to/project'] + sys.path" - PythonPath "[r'c:\\path\\to\\project'] + sys.path" You can also add directives such as ``PythonAutoReload Off`` for performance. See the `mod_python documentation`_ for a full list of options. diff --git a/docs/newforms.txt b/docs/newforms.txt index 2005adeec8..5e33a478ee 100644 --- a/docs/newforms.txt +++ b/docs/newforms.txt @@ -100,7 +100,7 @@ Start with this basic ``Form`` subclass, which we'll call ``ContactForm``:: subject = forms.CharField(max_length=100) message = forms.CharField() sender = forms.EmailField() - cc_myself = forms.BooleanField() + cc_myself = forms.BooleanField(required=False) A form is composed of ``Field`` objects. In this case, our form has four fields: ``subject``, ``message``, ``sender`` and ``cc_myself``. We'll explain @@ -860,6 +860,23 @@ classes::
        • Instrument:
        • Haircut type:
        • + +Prefixes for forms +------------------ + +You can put several Django forms inside one ``
          `` tag. To give each +``Form`` its own namespace you need to use the ``prefix`` keyword argument:: + + >>> mother = PersonForm(prefix="mother") + >>> father = PersonForm(prefix="father") + >>> print mother.as_ul() +
        • +
        • + >>> print father.as_ul() +
        • +
        • + + Fields ====== @@ -1043,7 +1060,7 @@ fields. We've specified ``auto_id=False`` to simplify the output:: ... subject = forms.CharField(max_length=100, help_text='100 characters max.') ... message = forms.CharField() ... sender = forms.EmailField(help_text='A valid e-mail address, please.') - ... cc_myself = forms.BooleanField() + ... cc_myself = forms.BooleanField(required=False) >>> f = HelpTextContactForm(auto_id=False) >>> print f.as_table() Subject:
          100 characters max. @@ -1122,9 +1139,20 @@ For each field, we describe the default widget used if you don't specify ~~~~~~~~~~~~~~~~ * Default widget: ``CheckboxInput`` - * Empty value: ``None`` + * Empty value: ``False`` * Normalizes to: A Python ``True`` or ``False`` value. - * Validates nothing (i.e., it never raises a ``ValidationError``). + * Validates that the check box is checked (i.e. the value is ``True``) if + the field has ``required=True``. + +**New in Django development version:** The empty value for a ``CheckboxInput`` +(and hence the standard ``BooleanField``) has changed to return ``False`` +instead of ``None`` in the development version. + +.. note:: + Since all ``Field`` subclasses have ``required=True`` by default, the + validation condition here is important. If you want to include a checkbox + in your form that can be either checked or unchecked, you must remember to + pass in ``required=False`` when creating the ``BooleanField``. ``CharField`` ~~~~~~~~~~~~~ @@ -1132,7 +1160,8 @@ For each field, we describe the default widget used if you don't specify * Default widget: ``TextInput`` * Empty value: ``''`` (an empty string) * Normalizes to: A Unicode object. - * Validates nothing, unless ``max_length`` or ``min_length`` is provided. + * Validates ``max_length`` or ``min_length``, if they are provided. + Otherwise, all inputs are valid. Has two optional arguments for validation, ``max_length`` and ``min_length``. If provided, these arguments ensure that the string is at most or at least the @@ -1172,7 +1201,7 @@ If no ``input_formats`` argument is provided, the default input formats are:: ``DateTimeField`` ~~~~~~~~~~~~~~~~~ - * Default widget: ``TextInput`` + * Default widget: ``DateTimeInput`` * Empty value: ``None`` * Normalizes to: A Python ``datetime.datetime`` object. * Validates that the given value is either a ``datetime.datetime``, @@ -1193,6 +1222,9 @@ If no ``input_formats`` argument is provided, the default input formats are:: '%m/%d/%y %H:%M', # '10/25/06 14:30' '%m/%d/%y', # '10/25/06' +**New in Django development version:** The ``DateTimeField`` used to use a +``TextInput`` widget by default. This has now changed. + ``DecimalField`` ~~~~~~~~~~~~~~~~ @@ -1508,7 +1540,7 @@ like so:: subject = forms.CharField(max_length=100) message = forms.CharField() senders = MultiEmailField() - cc_myself = forms.BooleanField() + cc_myself = forms.BooleanField(required=False) Widgets ======= @@ -1529,6 +1561,7 @@ commonly used groups of widgets: ``MultipleHiddenInput`` Multiple ``...`` ``CheckboxInput`` ``