diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index 3917d40943..84b3f5796e 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -114,7 +114,7 @@ SERVER_EMAIL = 'root@localhost' SEND_BROKEN_LINK_EMAILS = False # Database connection info. -DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. +DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. DATABASE_NAME = '' # Or path to database file if using sqlite3. DATABASE_USER = '' # Not used with sqlite3. DATABASE_PASSWORD = '' # Not used with sqlite3. @@ -287,7 +287,7 @@ SESSION_COOKIE_PATH = '/' # The path of the sessio 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 -SESSION_FILE_PATH = None # Directory to store session files if using the file session module. If set to None the backend will use a sensible default. +SESSION_FILE_PATH = None # Directory to store session files if using the file session module. If None, the backend will use a sensible default. ######### # CACHE # diff --git a/django/conf/locale/ca/LC_MESSAGES/django.mo b/django/conf/locale/ca/LC_MESSAGES/django.mo index 436f3609ce..7be507d151 100644 Binary files a/django/conf/locale/ca/LC_MESSAGES/django.mo and b/django/conf/locale/ca/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/ca/LC_MESSAGES/django.po b/django/conf/locale/ca/LC_MESSAGES/django.po index d9d3194a83..1c1bdcac4e 100644 --- a/django/conf/locale/ca/LC_MESSAGES/django.po +++ b/django/conf/locale/ca/LC_MESSAGES/django.po @@ -5,10 +5,10 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-12-29 21:28+0100\n" -"PO-Revision-Date: 2008-01-22 19:49+0100\n" -"Last-Translator: Marc Garcia \n" -"Language-Team: \n" +"POT-Creation-Date: 2007-02-15 01:00+0200\n" +"PO-Revision-Date: 2008-03-29 01:37+0100\n" +"Last-Translator: Django Catalan Group \n" +"Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -24,7 +24,7 @@ msgstr "Bengalí" #: conf/global_settings.py:41 msgid "Bulgarian" -msgstr "Bulgar" +msgstr "Búlgar" #: conf/global_settings.py:42 msgid "Catalan" @@ -63,134 +63,143 @@ msgid "Argentinean Spanish" msgstr "Castellà Argentí" #: conf/global_settings.py:51 +#, fuzzy +msgid "Basque" +msgstr "Euskadi" + +#: conf/global_settings.py:52 msgid "Persian" msgstr "Persa" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Finnish" msgstr "Finlandès" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "French" msgstr "Francès" -#: conf/global_settings.py:54 -msgid "Gaeilge" -msgstr "Gaeilge" - #: conf/global_settings.py:55 -msgid "Galician" -msgstr "Galleg" +msgid "Irish" +msgstr "Irlandès" #: conf/global_settings.py:56 +msgid "Galician" +msgstr "Gallec" + +#: conf/global_settings.py:57 msgid "Hungarian" msgstr "Húngar" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 msgid "Hebrew" msgstr "Hebreu" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Croatian" msgstr "Croat" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Icelandic" msgstr "Islandès" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "Italian" msgstr "Italià" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 msgid "Japanese" msgstr "Japonès" -#: conf/global_settings.py:62 +#: conf/global_settings.py:63 +msgid "Georgian" +msgstr "Georgià" + +#: conf/global_settings.py:64 msgid "Korean" msgstr "Coreà" -#: conf/global_settings.py:63 +#: conf/global_settings.py:65 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Kannada" msgstr "Canès" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Latvian" msgstr "Letó" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Macedonian" msgstr "Macedoni" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 msgid "Dutch" msgstr "Holandès" -#: conf/global_settings.py:68 +#: conf/global_settings.py:70 msgid "Norwegian" msgstr "Norueg" -#: conf/global_settings.py:69 +#: conf/global_settings.py:71 msgid "Polish" msgstr "Polac" -#: conf/global_settings.py:70 +#: conf/global_settings.py:72 msgid "Portugese" msgstr "Portuguès" -#: conf/global_settings.py:71 +#: conf/global_settings.py:73 msgid "Brazilian" msgstr "Brasileny" -#: conf/global_settings.py:72 +#: conf/global_settings.py:74 msgid "Romanian" msgstr "Rumanès" -#: conf/global_settings.py:73 +#: conf/global_settings.py:75 msgid "Russian" msgstr "Rús" -#: conf/global_settings.py:74 +#: conf/global_settings.py:76 msgid "Slovak" msgstr "Eslovac" -#: conf/global_settings.py:75 +#: conf/global_settings.py:77 msgid "Slovenian" msgstr "Esloveni" -#: conf/global_settings.py:76 +#: conf/global_settings.py:78 msgid "Serbian" msgstr "Serbi" -#: conf/global_settings.py:77 +#: conf/global_settings.py:79 msgid "Swedish" msgstr "Suec" -#: conf/global_settings.py:78 +#: conf/global_settings.py:80 msgid "Tamil" msgstr "Tàmil" -#: conf/global_settings.py:79 +#: conf/global_settings.py:81 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:80 +#: conf/global_settings.py:82 msgid "Turkish" msgstr "Turc" -#: conf/global_settings.py:81 +#: conf/global_settings.py:83 msgid "Ukrainian" msgstr "Ucranià" -#: conf/global_settings.py:82 +#: conf/global_settings.py:84 msgid "Simplified Chinese" msgstr "Xinés simplificat" -#: conf/global_settings.py:83 +#: conf/global_settings.py:85 msgid "Traditional Chinese" msgstr "Xinés tradicional" @@ -203,10 +212,8 @@ msgstr "" "

Per %s:

\n" "
    \n" -#: contrib/admin/filterspecs.py:74 -#: contrib/admin/filterspecs.py:92 -#: contrib/admin/filterspecs.py:147 -#: contrib/admin/filterspecs.py:173 +#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 msgid "All" msgstr "Tots" @@ -230,20 +237,17 @@ msgstr "Aquest mes" msgid "This year" msgstr "Aquest any" -#: contrib/admin/filterspecs.py:147 -#: newforms/widgets.py:231 +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 #: oldforms/__init__.py:592 msgid "Yes" msgstr "Si" -#: contrib/admin/filterspecs.py:147 -#: newforms/widgets.py:231 +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 #: oldforms/__init__.py:592 msgid "No" msgstr "No" -#: contrib/admin/filterspecs.py:154 -#: newforms/widgets.py:231 +#: contrib/admin/filterspecs.py:154 newforms/widgets.py:231 #: oldforms/__init__.py:592 msgid "Unknown" msgstr "Desconegut" @@ -283,7 +287,7 @@ 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" +msgstr "Ho sentim, però no s'ha pogut trobar la pàgina sol·licitada" #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/base.html:37 @@ -315,8 +319,12 @@ 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." +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 ocorregut un error. S'ha informat als administradors del lloc per correu " +"electrònic y hauria d'arreglar-se en breu. Gràcies per la vostra paciència." #: contrib/admin/templates/admin/base.html:26 msgid "Welcome," @@ -344,7 +352,7 @@ msgstr "Lloc administratiu de Django" #: contrib/admin/templates/admin/base_site.html:7 msgid "Django administration" -msgstr "Adminisitració de Django" +msgstr "Administració de Django" #: contrib/admin/templates/admin/change_form.html:14 #: contrib/admin/templates/admin/index.html:28 @@ -364,8 +372,8 @@ msgstr "Veure en el lloc" #: 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." +msgstr[0] "Si us plau, corregiu l'error mostrat a baix." +msgstr[1] "Si us plau, corregiu els errors mostrats a baix." #: contrib/admin/templates/admin/change_form.html:49 msgid "Ordering" @@ -387,13 +395,23 @@ 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:" +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 vostre compte no te permissos 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:" +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" @@ -411,7 +429,7 @@ 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." +msgstr "Models disponibles en l'aplicació %(name)s." #: contrib/admin/templates/admin/index.html:18 #, python-format @@ -424,7 +442,7 @@ 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." +msgstr "No teniu permís per editar res." #: contrib/admin/templates/admin/index.html:52 msgid "Recent Actions" @@ -439,8 +457,14 @@ 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." +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 vostra base de dades. " +"Assegureu-vos 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 @@ -454,7 +478,7 @@ msgid "Password:" msgstr "Contrasenya:" #: contrib/admin/templates/admin/login.html:25 -#: contrib/admin/views/decorators.py:25 +#: contrib/admin/views/decorators.py:31 msgid "Log in" msgstr "Iniciar sessió" @@ -475,8 +499,12 @@ 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." +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Aquest objecte no té historial de canvis. Probablement no va ser afegit " +"utilitzant aquest lloc administratiu." #: contrib/admin/templates/admin/pagination.html:10 msgid "Show all" @@ -515,8 +543,12 @@ 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." +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 " +"de l'usuari." #: contrib/admin/templates/admin/auth/user/add_form.html:12 msgid "Username" @@ -535,12 +567,12 @@ 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ó." +msgstr "Introduïu la mateixa contrasenya de dalt, per fer-ne la 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" +msgstr "Introduïu una contrasenya per l'usuari %(username)s" #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" @@ -561,28 +593,38 @@ msgid "" "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" +"

    Per a instal·lar '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" +"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." +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." +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)" @@ -590,7 +632,9 @@ 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." +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)" @@ -602,7 +646,7 @@ 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." +msgstr "Gràcies per destinar el vostre temps en el web durant el dia d'avui." #: contrib/admin/templates/registration/logged_out.html:10 msgid "Log in again" @@ -618,15 +662,20 @@ 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ò" +msgstr "Canvi de clau exitòs" #: 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." +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 contrasenya nova dues vegades per verificar que " +"l'ha escrit correctament." #: contrib/admin/templates/registration/password_change_form.html:16 msgid "Old password:" @@ -654,15 +703,21 @@ 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" +msgstr "Restabliment de contrasenya exitòs" #: 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." +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." +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 @@ -692,8 +747,12 @@ 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." +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 en crearem una de nova que li enviarem per correu." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" @@ -723,14 +782,12 @@ msgstr "Modificar:" msgid "All dates" msgstr "Totes les dates" -#: contrib/admin/views/auth.py:20 -#: contrib/admin/views/main.py:267 +#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:267 #, 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:271 +#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:271 #: contrib/admin/views/main.py:356 msgid "You may edit it again below." msgstr "Pot editar-lo de nou abaix." @@ -741,49 +798,59 @@ msgstr "Afegir usuari" #: contrib/admin/views/auth.py:58 msgid "Password changed successfully." -msgstr "Canvi de clau exitós" +msgstr "Clau cambiada exitosament" #: contrib/admin/views/auth.py:65 #, python-format msgid "Change password: %s" msgstr "Canviar clau: %s" -#: contrib/admin/views/decorators.py:11 -#: 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:17 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:63 -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." +#: contrib/admin/views/decorators.py:69 +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." -#: contrib/admin/views/decorators.py:70 -msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." -msgstr "Sembla ser que el seu navegador no està configurat per acceptar 'cookies' (galetes). Si us plau, habiliti les 'cookies', recarregui aquesta pàgina i provi-ho de nou. " +#: contrib/admin/views/decorators.py:76 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Sembla ser que el seu navegador no està configurat per acceptar " +"'cookies' (galetes). Si us plau, habiliti les 'cookies', recarregui aquesta " +"pàgina i provi-ho de nou. " -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:90 msgid "Usernames cannot contain the '@' character." msgstr "Els noms d'usuari no poden contenir el caracter '@'." -#: contrib/admin/views/decorators.py:86 +#: contrib/admin/views/decorators.py:92 #, python-format 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." +msgstr "" +"La seva adreça de correu no és el seu nom d'usuari. Provi '%s' en tot cas." -#: contrib/admin/views/doc.py:48 -#: contrib/admin/views/doc.py:50 +#: contrib/admin/views/doc.py:48 contrib/admin/views/doc.py:50 #: contrib/admin/views/doc.py:52 msgid "tag:" msgstr "etiqueta:" -#: contrib/admin/views/doc.py:79 -#: contrib/admin/views/doc.py:81 +#: contrib/admin/views/doc.py:79 contrib/admin/views/doc.py:81 #: contrib/admin/views/doc.py:83 msgid "filter:" msgstr "filtre:" -#: contrib/admin/views/doc.py:137 -#: contrib/admin/views/doc.py:139 +#: contrib/admin/views/doc.py:137 contrib/admin/views/doc.py:139 #: contrib/admin/views/doc.py:141 msgid "view:" msgstr "vista:" @@ -791,7 +858,7 @@ msgstr "vista:" #: contrib/admin/views/doc.py:166 #, python-format msgid "App %r not found" -msgstr "La aplicació %r no s'ha pogut trobar" +msgstr "No s'ha pogut trobar l'aplicació %r" #: contrib/admin/views/doc.py:173 #, python-format @@ -801,12 +868,10 @@ msgstr "El model %(name)r no s'ha trobat en la aplicació %(label)r" #: contrib/admin/views/doc.py:185 #, python-format msgid "the related `%(label)s.%(type)s` object" -msgstr "el objecte relacionat `%(label)s.%(type)s`" +msgstr "l'objecte relacionat `%(label)s.%(type)s`" -#: contrib/admin/views/doc.py:185 -#: contrib/admin/views/doc.py:207 -#: contrib/admin/views/doc.py:221 -#: contrib/admin/views/doc.py:226 +#: contrib/admin/views/doc.py:185 contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:221 contrib/admin/views/doc.py:226 msgid "model:" msgstr "model:" @@ -830,12 +895,9 @@ msgstr "nombre de %s" msgid "Fields on %s objects" msgstr "Camps en objectes %s" -#: contrib/admin/views/doc.py:293 -#: contrib/admin/views/doc.py:304 -#: contrib/admin/views/doc.py:306 -#: contrib/admin/views/doc.py:312 -#: contrib/admin/views/doc.py:313 -#: contrib/admin/views/doc.py:315 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:306 contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:313 contrib/admin/views/doc.py:315 msgid "Integer" msgstr "Enter" @@ -843,8 +905,7 @@ msgstr "Enter" msgid "Boolean (Either True or False)" msgstr "Booleà (Verdader o Fals)" -#: contrib/admin/views/doc.py:295 -#: contrib/admin/views/doc.py:314 +#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:314 #, python-format msgid "String (up to %(max_length)s)" msgstr "Cadena (de fins a %(max_length)s)" @@ -869,8 +930,7 @@ msgstr "Número decimal" msgid "E-mail address" msgstr "Adreça de correu electrònic" -#: contrib/admin/views/doc.py:301 -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:301 contrib/admin/views/doc.py:302 #: contrib/admin/views/doc.py:305 msgid "File path" msgstr "Ruta del fitxer" @@ -879,8 +939,7 @@ msgstr "Ruta del fitxer" msgid "Floating point number" msgstr "Número amb punt de coma flotant" -#: contrib/admin/views/doc.py:307 -#: contrib/comments/models.py:85 +#: contrib/admin/views/doc.py:307 contrib/comments/models.py:89 msgid "IP address" msgstr "Adreça IP" @@ -904,8 +963,7 @@ msgstr "Texte" msgid "Time" msgstr "Hora" -#: contrib/admin/views/doc.py:318 -#: contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:318 contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" @@ -915,7 +973,7 @@ msgstr "Estat dels E.U.A. (dos lletres majúscules)" #: contrib/admin/views/doc.py:320 msgid "XML text" -msgstr "Texte XML" +msgstr "Text XML" #: contrib/admin/views/doc.py:346 #, python-format @@ -926,8 +984,7 @@ msgstr "%s no sembla ser un objecte 'urlpattern'" msgid "Site administration" msgstr "Lloc administratiu" -#: contrib/admin/views/main.py:280 -#: contrib/admin/views/main.py:365 +#: contrib/admin/views/main.py:280 contrib/admin/views/main.py:365 #, python-format msgid "You may add another %s below." msgstr "Pot afegir un altre %s a baix." @@ -942,10 +999,8 @@ msgstr "Afegir %s" msgid "Added %s." msgstr "Agregat %s." -#: contrib/admin/views/main.py:344 -#: contrib/admin/views/main.py:346 -#: contrib/admin/views/main.py:348 -#: core/validators.py:283 +#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 core/validators.py:283 #: db/models/manipulators.py:309 msgid "and" msgstr "i" @@ -967,12 +1022,14 @@ msgstr "Cap camp canviat." #: contrib/admin/views/main.py:354 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "S'ha modificat amb èxist el/la %(name)s \"%(obj)s." +msgstr "S'ha modificat exitosament el/la %(name)s \"%(obj)s." #: contrib/admin/views/main.py:362 #, 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." +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "" +"S'ha agregat exitosament el/la %(name)s \"%(obj)s\". Pot editar-lo de nou abaix." #: contrib/admin/views/main.py:400 #, python-format @@ -996,7 +1053,7 @@ msgstr "El/la %(name)s \"%(obj)s\".ha estat eliminat amb èxit." #: contrib/admin/views/main.py:527 msgid "Are you sure?" -msgstr "Està segur?" +msgstr "Esteu segurs?" #: contrib/admin/views/main.py:549 #, python-format @@ -1017,8 +1074,7 @@ msgstr "Seleccioni %s per modificar" msgid "Database error" msgstr "Error de/en la base de dades" -#: contrib/auth/forms.py:17 -#: contrib/auth/forms.py:138 +#: 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." @@ -1027,16 +1083,24 @@ 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ó." +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: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?" +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:107 #, python-format @@ -1049,10 +1113,10 @@ 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." +msgstr "" +"La seva antiga contrasenya no és correcte. Si el plau, introdueixi-la de nou." -#: contrib/auth/models.py:73 -#: contrib/auth/models.py:93 +#: contrib/auth/models.py:73 contrib/auth/models.py:93 msgid "name" msgstr "nom" @@ -1064,8 +1128,7 @@ msgstr "nom en clau" msgid "permission" msgstr "permís" -#: contrib/auth/models.py:79 -#: contrib/auth/models.py:94 +#: contrib/auth/models.py:79 contrib/auth/models.py:94 msgid "permissions" msgstr "permissos" @@ -1073,8 +1136,7 @@ msgstr "permissos" msgid "group" msgstr "grup" -#: contrib/auth/models.py:98 -#: contrib/auth/models.py:141 +#: contrib/auth/models.py:98 contrib/auth/models.py:141 msgid "groups" msgstr "grups" @@ -1083,8 +1145,12 @@ msgid "username" msgstr "nom d'usuari" #: 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)." +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Obligatori. 30 o menys caracters. Només caracters alfanumèrics (lletres, " +"dígits i guions baixos)." #: contrib/auth/models.py:132 msgid "first name" @@ -1103,8 +1169,12 @@ msgid "password" msgstr "contrasenya" #: 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." +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:136 msgid "staff status" @@ -1119,16 +1189,24 @@ msgid "active" msgstr "actiu" #: 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." +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. Deseleccioni-ho enlloc d'esborrar comptes d'usuari." #: contrib/auth/models.py:138 msgid "superuser status" msgstr "estat de superusuari" #: 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." +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Designa que aquest usuari té tots els permissos sense assignar-los " +"explícitament." #: contrib/auth/models.py:139 msgid "last login" @@ -1139,8 +1217,12 @@ msgid "date joined" msgstr "data de creació" #: 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." +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" @@ -1156,7 +1238,7 @@ msgstr "usuaris" #: contrib/auth/models.py:154 msgid "Personal info" -msgstr "Informaciò personal" +msgstr "Informació personal" #: contrib/auth/models.py:155 msgid "Permissions" @@ -1178,85 +1260,84 @@ msgstr "missatge" msgid "Logged out" msgstr "Sessió finalitzada" -#: contrib/comments/models.py:67 -#: contrib/comments/models.py:169 +#: contrib/comments/models.py:71 contrib/comments/models.py:176 msgid "object ID" msgstr "ID de l'objecte" -#: contrib/comments/models.py:68 +#: contrib/comments/models.py:72 msgid "headline" msgstr "encapçalament" -#: contrib/comments/models.py:69 -#: contrib/comments/models.py:90 -#: contrib/comments/models.py:170 +#: contrib/comments/models.py:73 contrib/comments/models.py:95 +#: contrib/comments/models.py:177 msgid "comment" msgstr "comentari" -#: contrib/comments/models.py:70 +#: contrib/comments/models.py:74 msgid "rating #1" msgstr "qualificació #1" -#: contrib/comments/models.py:71 +#: contrib/comments/models.py:75 msgid "rating #2" msgstr "qualificació #2" -#: contrib/comments/models.py:72 +#: contrib/comments/models.py:76 msgid "rating #3" msgstr "qualificació #3" -#: contrib/comments/models.py:73 +#: contrib/comments/models.py:77 msgid "rating #4" msgstr "qualificació #4" -#: contrib/comments/models.py:74 +#: contrib/comments/models.py:78 msgid "rating #5" msgstr "qualificació #5" -#: contrib/comments/models.py:75 +#: contrib/comments/models.py:79 msgid "rating #6" msgstr "qualificació #6" -#: contrib/comments/models.py:76 +#: contrib/comments/models.py:80 msgid "rating #7" msgstr "qualificació #7" -#: contrib/comments/models.py:77 +#: contrib/comments/models.py:81 msgid "rating #8" msgstr "qualificació #8" -#: contrib/comments/models.py:82 +#: contrib/comments/models.py:86 msgid "is valid rating" msgstr "és qualificació vàlida" -#: contrib/comments/models.py:83 -#: contrib/comments/models.py:172 +#: contrib/comments/models.py:87 contrib/comments/models.py:179 msgid "date/time submitted" msgstr "data/hora d'enviament" -#: contrib/comments/models.py:84 -#: contrib/comments/models.py:173 +#: contrib/comments/models.py:88 contrib/comments/models.py:180 msgid "is public" msgstr "és públic" -#: contrib/comments/models.py:86 +#: contrib/comments/models.py:90 msgid "is removed" msgstr "està eliminat" -#: 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 "Marqui aquesta caixa si el comentari no és apropiat. En lloc seu es mostrarà \"Aquest comentari ha estat eliminat\" " +#: contrib/comments/models.py:90 +msgid "" +"Check this box if the comment is inappropriate. A \"This comment has been " +"removed\" message will be displayed instead." +msgstr "" +"Marqui aquesta caixa si el comentari no és apropiat. En lloc seu es mostrarà " +"\"Aquest comentari ha estat eliminat\" " -#: contrib/comments/models.py:91 +#: contrib/comments/models.py:96 msgid "comments" msgstr "comentaris" -#: contrib/comments/models.py:134 -#: contrib/comments/models.py:213 +#: contrib/comments/models.py:140 contrib/comments/models.py:222 msgid "Content object" msgstr "Objecte Contingut" -#: contrib/comments/models.py:162 +#: contrib/comments/models.py:168 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1271,48 +1352,48 @@ msgstr "" "\n" "http://%(domain)s%(url)s" -#: contrib/comments/models.py:171 +#: contrib/comments/models.py:178 msgid "person's name" msgstr "nom de la persona" -#: contrib/comments/models.py:174 +#: contrib/comments/models.py:181 msgid "ip address" msgstr "adreça ip" -#: contrib/comments/models.py:176 +#: contrib/comments/models.py:183 msgid "approved by staff" msgstr "aprovat per el \"staff\"" -#: contrib/comments/models.py:179 +#: contrib/comments/models.py:187 msgid "free comment" msgstr "comentari lliure" -#: contrib/comments/models.py:180 +#: contrib/comments/models.py:188 msgid "free comments" msgstr "comentaris lliures" -#: contrib/comments/models.py:239 +#: contrib/comments/models.py:250 msgid "score" msgstr "puntuació" -#: contrib/comments/models.py:240 +#: contrib/comments/models.py:251 msgid "score date" msgstr "data de la puntuació" -#: contrib/comments/models.py:243 +#: contrib/comments/models.py:255 msgid "karma score" msgstr "puntuació de karma" -#: contrib/comments/models.py:244 +#: contrib/comments/models.py:256 msgid "karma scores" msgstr "punts de karma" -#: contrib/comments/models.py:248 +#: contrib/comments/models.py:260 #, python-format msgid "%(score)d rating by %(user)s" msgstr "%(score)d punt/s per %(user)s" -#: contrib/comments/models.py:264 +#: contrib/comments/models.py:277 #, python-format msgid "" "This comment was flagged by %(user)s:\n" @@ -1323,36 +1404,36 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/models.py:271 +#: contrib/comments/models.py:285 msgid "flag date" msgstr "data de la marca" -#: contrib/comments/models.py:274 +#: contrib/comments/models.py:289 msgid "user flag" msgstr "marca d'usuari" -#: contrib/comments/models.py:275 +#: contrib/comments/models.py:290 msgid "user flags" msgstr "marques d'usuari" -#: contrib/comments/models.py:279 +#: contrib/comments/models.py:294 #, python-format msgid "Flag by %r" msgstr "Marca de %r" -#: contrib/comments/models.py:284 +#: contrib/comments/models.py:300 msgid "deletion date" msgstr "data d'eliminació" -#: contrib/comments/models.py:286 +#: contrib/comments/models.py:303 msgid "moderator deletion" msgstr "eliminació del moderador" -#: contrib/comments/models.py:287 +#: contrib/comments/models.py:304 msgid "moderator deletions" msgstr "eliminacions del moderador" -#: contrib/comments/models.py:291 +#: contrib/comments/models.py:308 #, python-format msgid "Moderator deletion by %r" msgstr "eliminació del moderador per %r" @@ -1368,7 +1449,7 @@ msgstr "Qualificacions" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Required" -msgstr "Requerit" +msgstr "Obligatori" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 @@ -1394,25 +1475,30 @@ 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." +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" +"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" +"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" +"Aquest comentari va ser enviat per un usuari que ha enviat 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" +"Aquest comentari va ser enviat per un usuari que ha enviat menys de %" +"(count)s comentaris:\n" "\n" "%(text)s" @@ -1430,27 +1516,33 @@ msgstr "" #: contrib/comments/views/comments.py:190 #: contrib/comments/views/comments.py:283 msgid "Only POSTs are allowed" -msgstr "Només s'admed POST" +msgstr "Només s'admet 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" +msgstr "Un o més dels caps obligatoris 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)" +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" +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'" +msgstr "" +"El formulari del comentari no ha proveït ni 'previsualitzar' ni 'enviar'" #: contrib/comments/views/karma.py:21 msgid "Anonymous users cannot vote" @@ -1464,25 +1556,28 @@ msgstr "ID del comentari invàlid" msgid "No voting for yourself" msgstr "No pots votar-te a tu mateix" -#: contrib/contenttypes/models.py:37 +#: contrib/contenttypes/models.py:67 msgid "python model class name" msgstr "nom de la classe del model en python" -#: contrib/contenttypes/models.py:40 +#: contrib/contenttypes/models.py:71 msgid "content type" msgstr "tipus de contingut" -#: contrib/contenttypes/models.py:41 +#: contrib/contenttypes/models.py:72 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." +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" +msgstr "títol" #: contrib/flatpages/models.py:10 msgid "content" @@ -1497,12 +1592,16 @@ 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'." +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 es proporciona, el sistema " +"utilitzarà 'flatpages/default.htmlt'." #: contrib/flatpages/models.py:14 msgid "registration required" -msgstr "s'ha de estar registrat" +msgstr "cal estar registrat" #: contrib/flatpages/models.py:14 msgid "If this is checked, only logged-in users will be able to view the page." @@ -1516,112 +1615,111 @@ msgstr "pàgina estàtica" msgid "flat pages" msgstr "pàgines estàtiques" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "rt" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "st" msgstr "r" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "nd" msgstr "n" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "rd" msgstr "r" -#: contrib/humanize/templatetags/humanize.py:52 +#: contrib/humanize/templatetags/humanize.py:51 #, 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:55 +#: contrib/humanize/templatetags/humanize.py:54 #, 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:58 +#: contrib/humanize/templatetags/humanize.py:57 #, 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:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "one" msgstr "un" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "two" msgstr "dos" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "three" msgstr "tres" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "four" -msgstr "cuatre" +msgstr "quatre" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "five" msgstr "cinc" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "six" msgstr "sis" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "seven" msgstr "set" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "eight" msgstr "vuit" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "nine" msgstr "nou" -#: contrib/humanize/templatetags/humanize.py:94 +#: contrib/humanize/templatetags/humanize.py:93 msgid "today" msgstr "avui" -#: contrib/humanize/templatetags/humanize.py:96 +#: contrib/humanize/templatetags/humanize.py:95 msgid "tomorrow" msgstr "demà" -#: contrib/humanize/templatetags/humanize.py:98 +#: contrib/humanize/templatetags/humanize.py:97 msgid "yesterday" msgstr "ahir" -#: contrib/localflavor/ar/forms.py:28 +#: contrib/localflavor/ar/forms.py:27 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Introdueixi un codi postal en el format NNNN o ANNNNAAA." -#: contrib/localflavor/ar/forms.py:50 -#: contrib/localflavor/br/forms.py:96 -#: contrib/localflavor/br/forms.py:135 -#: contrib/localflavor/pe/forms.py:23 +#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 +#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 #: contrib/localflavor/pe/forms.py:51 msgid "This field requires only numbers." -msgstr "Aquest camps requereix només números." +msgstr "Aquest camp precisa només números." -#: contrib/localflavor/ar/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 msgid "This field requires 7 or 8 digits." -msgstr "Aquest camp requereix 7 o 8 dígits." +msgstr "Aquest camp precisa 7 o 8 dígits." + +#: contrib/localflavor/ar/forms.py:79 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "" +"Introdueixi un número CUIT vàlid en el format XX-XXXXXXXX-X o XXXXXXXXXXXX." #: contrib/localflavor/ar/forms.py:80 -msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." -msgstr "Introdueixi un número CUIT vàlid en el format XX-XXXXXXXX-X o XXXXXXXXXXXX." - -#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Invàlid CUIT." @@ -1635,11 +1733,15 @@ msgstr "Introdueixi un codi zip en el format XXXXX-XXX." #: contrib/localflavor/br/forms.py:30 msgid "Phone numbers must be in XX-XXXX-XXXX format." -msgstr "El número de telèfon ha de ser en el format XX-XXXX-XXXX." +msgstr "El número de telèfon ha de estar en el format XX-XXXX-XXXX." #: contrib/localflavor/br/forms.py:58 -msgid "Select a valid brazilian state. That state is not one of the available states." -msgstr "Seleccioni un estat brasiler vàlid. Aquest estat no és un dels estats disponibles." +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" +"Seleccioni un estat brasiler vàlid. Aquest estat no és un dels estats " +"disponibles." #: contrib/localflavor/br/forms.py:94 msgid "Invalid CPF number." @@ -1647,7 +1749,7 @@ msgstr "Número CPF invàlid." #: contrib/localflavor/br/forms.py:95 msgid "This field requires at most 11 digits or 14 characters." -msgstr "Aquest camp requereix com a màxim 11 dígits o 14 caracters." +msgstr "Aquest camp precisa com a màxim 11 dígits o 14 caracters." #: contrib/localflavor/br/forms.py:134 msgid "Invalid CNPJ number." @@ -1655,15 +1757,17 @@ msgstr "Número CNPJ invàlid." #: contrib/localflavor/br/forms.py:136 msgid "This field requires at least 14 digits" -msgstr "Aquest camp requereix almenys 14 dígits." +msgstr "Aquest camp precisa almenys 14 dígits." #: contrib/localflavor/ca/forms.py:17 msgid "Enter a postal code in the format XXX XXX." msgstr "Introdueixi un codi postal en el format XXX XXX." #: contrib/localflavor/ca/forms.py:88 -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 Canadà en el format XXX-XXX-XXXX." +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" +"Introdueixi un número vàlid de la Assegurança Social de Canadà en el format " +"XXX-XXX-XXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -1671,31 +1775,31 @@ msgstr "Argau" #: contrib/localflavor/ch/ch_states.py:6 msgid "Appenzell Innerrhoden" -msgstr "Appenzell Innerrhoden" +msgstr "Appenzell Inner-Rhoden" #: contrib/localflavor/ch/ch_states.py:7 msgid "Appenzell Ausserrhoden" -msgstr "Appenzell Ausserrhoden" +msgstr "Appenzell Ausser-Rhoden" #: contrib/localflavor/ch/ch_states.py:8 msgid "Basel-Stadt" -msgstr "Basel-Stadt" +msgstr "Basel-Ciutat" #: contrib/localflavor/ch/ch_states.py:9 msgid "Basel-Land" -msgstr "Basel-Land" +msgstr "Basel-Camp" #: contrib/localflavor/ch/ch_states.py:10 msgid "Berne" -msgstr "Berne" +msgstr "Berna" #: contrib/localflavor/ch/ch_states.py:11 msgid "Fribourg" -msgstr "Fribourg" +msgstr "Friburg" #: contrib/localflavor/ch/ch_states.py:12 msgid "Geneva" -msgstr "Geneva" +msgstr "Ginebra" #: contrib/localflavor/ch/ch_states.py:13 msgid "Glarus" @@ -1711,7 +1815,7 @@ msgstr "Jura" #: contrib/localflavor/ch/ch_states.py:16 msgid "Lucerne" -msgstr "Lucerne" +msgstr "Lucerna" #: contrib/localflavor/ch/ch_states.py:17 msgid "Neuchatel" @@ -1767,16 +1871,19 @@ msgstr "Zug" #: contrib/localflavor/ch/ch_states.py:30 msgid "Zurich" -msgstr "Zurich" +msgstr "Zuric" -#: contrib/localflavor/ch/forms.py:16 -#: contrib/localflavor/no/forms.py:12 +#: contrib/localflavor/ch/forms.py:16 contrib/localflavor/no/forms.py:12 msgid "Enter a zip code in the format XXXX." msgstr "Introdueixi un codi zip en el format XXXX." #: contrib/localflavor/ch/forms.py:64 -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." +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" +"Introdueixi un número d'identificació o de passaport Suïssos en els formats " +"1234567890 o X1234567<0." #: contrib/localflavor/cl/forms.py:29 msgid "Enter a valid Chilean RUT." @@ -1792,15 +1899,15 @@ msgstr "El RUT Xilè no és vàlid." #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" -msgstr "Baden-Wuerttemberg" +msgstr "Baden-Württemberg" #: contrib/localflavor/de/de_states.py:6 msgid "Bavaria" -msgstr "Bavaria" +msgstr "Baviera" #: contrib/localflavor/de/de_states.py:7 msgid "Berlin" -msgstr "Berlin" +msgstr "Berlín" #: contrib/localflavor/de/de_states.py:8 msgid "Brandenburg" @@ -1820,19 +1927,19 @@ msgstr "Hessen" #: contrib/localflavor/de/de_states.py:12 msgid "Mecklenburg-Western Pomerania" -msgstr "Mecklenburg-Western Pomerania" +msgstr "Mecklenburg-Pomerània Occidental" #: contrib/localflavor/de/de_states.py:13 msgid "Lower Saxony" -msgstr "Lower Saxony" +msgstr "Baixa Saxònia" #: contrib/localflavor/de/de_states.py:14 msgid "North Rhine-Westphalia" -msgstr "North Rhine-Westphalia" +msgstr "Renània del Nord-Westfàlia" #: contrib/localflavor/de/de_states.py:15 msgid "Rhineland-Palatinate" -msgstr "Rhineland-Palatinate" +msgstr "Renània-Palatinat" #: contrib/localflavor/de/de_states.py:16 msgid "Saarland" @@ -1840,29 +1947,32 @@ msgstr "Saarland" #: contrib/localflavor/de/de_states.py:17 msgid "Saxony" -msgstr "Saxony" +msgstr "Saxònia" #: contrib/localflavor/de/de_states.py:18 msgid "Saxony-Anhalt" -msgstr "Saxony-Anhalt" +msgstr "Saxònia-Anhalt" #: contrib/localflavor/de/de_states.py:19 msgid "Schleswig-Holstein" -msgstr "Schleswig-Holstein" +msgstr "Slesvig-Holstein" #: contrib/localflavor/de/de_states.py:20 msgid "Thuringia" -msgstr "Thuringia" +msgstr "Turíngia" -#: contrib/localflavor/de/forms.py:14 -#: contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 #: contrib/localflavor/fr/forms.py:15 msgid "Enter a zip code in the format XXXXX." msgstr "Introdueixi un codi zip en el format XXXXX." #: contrib/localflavor/de/forms.py:41 -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." +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" @@ -2136,8 +2246,12 @@ 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." +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:66 msgid "Please enter a valid NIF, NIE, or CIF." @@ -2160,8 +2274,11 @@ msgid "Invalid checksum for CIF." msgstr "Validació invàlida del CIF." #: contrib/localflavor/es/forms.py:142 -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." +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:143 msgid "Invalid checksum for bank account number." @@ -2176,8 +2293,10 @@ 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." +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:18 msgid "The Icelandic identification number is not valid." @@ -2195,7 +2314,7 @@ msgstr "Introdueixi un número valid de la Seguretat Social." msgid "Enter a valid VAT number." msgstr "Introdueixi un número de IVA (VAT) vàlid." -#: contrib/localflavor/jp/forms.py:19 +#: contrib/localflavor/jp/forms.py:17 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." msgstr "Introdueixi un codi postal en el format XXXXXXX o XX-XXXX." @@ -2393,11 +2512,11 @@ msgstr "Aguascalientes" #: contrib/localflavor/mx/mx_states.py:13 msgid "Baja California" -msgstr "Baja California" +msgstr "Baixa California" #: contrib/localflavor/mx/mx_states.py:14 msgid "Baja California Sur" -msgstr "Baja California Sur" +msgstr "Baixa California Sud" #: contrib/localflavor/mx/mx_states.py:15 msgid "Campeche" @@ -2421,7 +2540,7 @@ msgstr "Colima" #: contrib/localflavor/mx/mx_states.py:20 msgid "Distrito Federal" -msgstr "Distrito Federal" +msgstr "Districte Federal" #: contrib/localflavor/mx/mx_states.py:21 msgid "Durango" @@ -2445,7 +2564,7 @@ msgstr "Jalisco" #: contrib/localflavor/mx/mx_states.py:26 msgid "Estado de México" -msgstr "Estado de México" +msgstr "Estat de Mèxic" #: contrib/localflavor/mx/mx_states.py:27 msgid "Michoacán" @@ -2517,15 +2636,15 @@ msgstr "Zacatecas" #: contrib/localflavor/nl/forms.py:21 msgid "Enter a valid postal code" -msgstr "Introdueixi un codi postal vàlid." +msgstr "Introduïu un codi postal vàlid." #: contrib/localflavor/nl/forms.py:52 msgid "Enter a valid phone number" -msgstr "Introdueixi un número de telèfon vàlid." +msgstr "Introduïu un número de telèfon vàlid." #: contrib/localflavor/nl/forms.py:78 msgid "Enter a valid SoFi number" -msgstr "Introdueixi un número SoFi vàlid." +msgstr "Introduïu un número SoFi vàlid." #: contrib/localflavor/nl/nl_provinces.py:4 msgid "Drente" @@ -2577,15 +2696,15 @@ msgstr "Zuid-Holland" #: contrib/localflavor/no/forms.py:33 msgid "Enter a valid Norwegian social security number." -msgstr "Introdueixi un número de la seguretat social Noruega vàlid." +msgstr "Introduïu un número de la seguretat social Noruega vàlid." #: contrib/localflavor/pe/forms.py:24 msgid "This field requires 8 digits." -msgstr "Aquest camp requereix 8 dígits." +msgstr "Aquest camp precisa 8 dígits." #: contrib/localflavor/pe/forms.py:52 msgid "This field requires 11 digits." -msgstr "Aquest camp requereix 11 dígits." +msgstr "Aquest camp precisa 11 dígits." #: contrib/localflavor/pl/forms.py:39 msgid "National Identification Number consists of 11 digits." @@ -2596,7 +2715,8 @@ msgid "Wrong checksum for the National Identification Number." msgstr "Validació invàlida del número d'identificació nacional." #: 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." +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:73 @@ -2605,7 +2725,8 @@ msgstr "Validació invàlida del número tributari (NIP)." #: contrib/localflavor/pl/forms.py:112 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." +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)." @@ -2613,7 +2734,7 @@ msgstr "Validació invàlida del número nacional de registre de negocis." #: contrib/localflavor/pl/forms.py:156 msgid "Enter a postal code in the format XX-XXX." -msgstr "Introdueixi un codi postal en el format XX-XXX." +msgstr "Introduïu un codi postal en el format XX-XXX." #: contrib/localflavor/pl/pl_voivodeships.py:8 msgid "Lower Silesia" @@ -2681,7 +2802,7 @@ msgstr "West Pomerania" #: contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." -msgstr "Introdueixi un codi postal en el format XXXXX or XXX XX." +msgstr "Introduïu un codi postal en el format XXXXX or XXX XX." #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" @@ -3033,7 +3154,7 @@ msgstr "Regió de Zilina" #: contrib/localflavor/uk/forms.py:21 msgid "Enter a valid postcode." -msgstr "Introdueixi un codi postal vàlid." +msgstr "Introdueix un codi postal vàlid." #: contrib/localflavor/uk/uk_regions.py:11 msgid "Bedfordshire" @@ -3204,10 +3325,13 @@ msgid "County Armagh" msgstr "County Armagh" #: contrib/localflavor/uk/uk_regions.py:57 -#: contrib/localflavor/uk/uk_regions.py:58 msgid "County Down" msgstr "County Down" +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "Comptat de Fermanagh" + #: contrib/localflavor/uk/uk_regions.py:59 msgid "County Londonderry" msgstr "County Londonderry" @@ -3242,11 +3366,11 @@ msgstr "Powys" #: contrib/localflavor/uk/uk_regions.py:70 msgid "South Glamorgan" -msgstr "South Glamorgan" +msgstr "Glamorgan Sud" #: contrib/localflavor/uk/uk_regions.py:71 msgid "West Glamorgan" -msgstr "West Glamorgan" +msgstr "Glamorgan Oest" #: contrib/localflavor/uk/uk_regions.py:75 msgid "Borders" @@ -3254,7 +3378,7 @@ msgstr "Borders" #: contrib/localflavor/uk/uk_regions.py:76 msgid "Central Scotland" -msgstr "Central Scotland" +msgstr "Escòcia central" #: contrib/localflavor/uk/uk_regions.py:77 msgid "Dumfries and Galloway" @@ -3298,19 +3422,19 @@ msgstr "Western Isles" #: contrib/localflavor/uk/uk_regions.py:90 msgid "England" -msgstr "England" +msgstr "Anglaterra" #: contrib/localflavor/uk/uk_regions.py:91 msgid "Northern Ireland" -msgstr "Northern Ireland" +msgstr "Irlanda del Nord" #: contrib/localflavor/uk/uk_regions.py:92 msgid "Scotland" -msgstr "Scotland" +msgstr "Escòcia" #: contrib/localflavor/uk/uk_regions.py:93 msgid "Wales" -msgstr "Wales" +msgstr "Gal·les" #: contrib/localflavor/us/forms.py:16 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." @@ -3318,7 +3442,9 @@ msgstr "Introdueixi un codi zip en el format XXXXX o XXXXX-XXXX." #: contrib/localflavor/us/forms.py:54 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." +msgstr "" +"Introdueixi un número vàlid de la Seguretat Social dels E.U.A. en el format " +"XXX-XX-XXXX." #: contrib/localflavor/za/forms.py:20 msgid "Enter a valid South African ID number" @@ -3330,11 +3456,11 @@ msgstr "Introdueixi un codi postal Sud Africà vàlid." #: contrib/localflavor/za/za_provinces.py:4 msgid "Eastern Cape" -msgstr "Eastern Cape" +msgstr "Cap Oriental" #: contrib/localflavor/za/za_provinces.py:5 msgid "Free State" -msgstr "Free State" +msgstr "Estat lliure" #: contrib/localflavor/za/za_provinces.py:6 msgid "Gauteng" @@ -3354,31 +3480,39 @@ msgstr "Mpumalanga" #: contrib/localflavor/za/za_provinces.py:10 msgid "Northern Cape" -msgstr "Northern Cape" +msgstr "Cap Nord" #: contrib/localflavor/za/za_provinces.py:11 msgid "North West" -msgstr "North West" +msgstr "Cap Oest" #: contrib/localflavor/za/za_provinces.py:12 msgid "Western Cape" -msgstr "Western Cape" +msgstr "Cap Occidental" #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "redreçar des de" #: 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/'." +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/redirects/models.py:9 msgid "redirect to" msgstr "redreçar a" #: 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:// ." +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 adalt) o una URL completa que comenci " +"per http:// ." #: contrib/redirects/models.py:13 msgid "redirect" @@ -3388,23 +3522,23 @@ msgstr "redreçament" msgid "redirects" msgstr "redreçaments" -#: contrib/sessions/models.py:46 +#: contrib/sessions/models.py:41 msgid "session key" msgstr "clau de la sessió" -#: contrib/sessions/models.py:47 +#: contrib/sessions/models.py:42 msgid "session data" msgstr "dades de la sessió" -#: contrib/sessions/models.py:48 +#: contrib/sessions/models.py:43 msgid "expire date" msgstr "data de caducitat" -#: contrib/sessions/models.py:53 +#: contrib/sessions/models.py:48 msgid "session" msgstr "sessió" -#: contrib/sessions/models.py:54 +#: contrib/sessions/models.py:49 msgid "sessions" msgstr "sessions" @@ -3426,15 +3560,20 @@ 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." +msgstr "Aquest valor ha de contenir només lletres, números 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 (/)." +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Aquest valor ha de contenir només lletres, números, guions baixos, guions 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" +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." @@ -3454,7 +3593,7 @@ 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." +msgstr "Si el plau, introdueixi una adreça IP vàlida." #: core/validators.py:115 msgid "Empty values are not allowed here." @@ -3468,14 +3607,13 @@ msgstr "No s'admeten caracters no numèrics." 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:151 +#: core/validators.py:128 newforms/fields.py:152 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í." +msgstr "Només s'admeten caracters alfabètics aquí." #: core/validators.py:147 msgid "Year must be 1900 or later." @@ -3486,8 +3624,7 @@ msgstr "L'any ha de ser posterior al 1900" msgid "Invalid date: %s" msgstr "Data invàlida: %s" -#: core/validators.py:156 -#: db/models/fields/__init__.py:509 +#: core/validators.py:156 db/models/fields/__init__.py:527 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Introdueixi una data vàlida en el forma AAAA-MM-DD." @@ -3495,27 +3632,27 @@ msgstr "Introdueixi una data vàlida en el forma AAAA-MM-DD." 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:583 +#: core/validators.py:165 db/models/fields/__init__.py:604 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:402 +#: core/validators.py:170 newforms/fields.py:403 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:432 +#: core/validators.py:182 core/validators.py:474 newforms/fields.py:433 #: oldforms/__init__.py:687 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." +msgstr "" +"No s'ha enviat cap fitxer. Comprovi el tipus de codificació del formulari." -#: core/validators.py:193 -#: newforms/fields.py:456 -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:193 newforms/fields.py:459 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Envii una imatge vàlida. El fitxer que ha enviat no era una imatge o estaba " +"corrupte." #: core/validators.py:200 #, python-format @@ -3525,7 +3662,9 @@ 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." +msgstr "" +"Els 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 @@ -3534,7 +3673,7 @@ 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." +msgstr "Es precisa una URL vàlida." #: core/validators.py:230 #, python-format @@ -3542,7 +3681,7 @@ msgid "" "Valid HTML is required. Specific errors are:\n" "%s" msgstr "" -"Es precisa HTML vàlid. Els errors específics sòn:\n" +"Es precisa HTML vàlid. Els errors específics són:\n" "%s" #: core/validators.py:237 @@ -3555,22 +3694,21 @@ msgstr "XML incorrectament formatejat: %s" msgid "Invalid URL: %s" msgstr "URL invalida: %s" -#: core/validators.py:259 -#: core/validators.py:261 +#: 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.." +msgstr "Introdueixi una abreviatura vàlida d'estat dels 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." +msgstr[0] "Vigili amb el llenguatge! Aquí no s'admet la paraula: %s." +msgstr[1] "Vigili amb el llenguatge! Aquí no s'admeten les paraules: %s." #: core/validators.py:288 #, python-format @@ -3581,20 +3719,19 @@ msgstr "Aquest camp ha de concordar amb el camp '%s'." 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 +#: 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" +msgstr "S'ha de proporcionar aquest camp 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" +msgstr "S'ha de proporcionar aquest camp si %(field)s no és %(value)s" #: core/validators.py:367 msgid "Duplicate values are not allowed." @@ -3603,7 +3740,7 @@ 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." +msgstr "Aquest valor ha d'estar comprès entre %(lower)s i %(upper)s." #: core/validators.py:384 #, python-format @@ -3627,23 +3764,37 @@ 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." +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." +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." +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." @@ -3674,38 +3825,65 @@ 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." +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\".)" +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\".)" +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\".)" +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\".)" +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\".)" +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\".)" +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 @@ -3715,161 +3893,158 @@ 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." +msgstr "Ja existeix %(optname)s amb aquest %(fieldname)s." -#: db/models/fields/__init__.py:161 -#: db/models/fields/__init__.py:318 -#: db/models/fields/__init__.py:735 -#: db/models/fields/__init__.py:746 -#: newforms/fields.py:45 -#: oldforms/__init__.py:374 +#: db/models/fields/__init__.py:161 db/models/fields/__init__.py:327 +#: db/models/fields/__init__.py:759 db/models/fields/__init__.py:770 +#: newforms/fields.py:46 oldforms/__init__.py:374 msgid "This field is required." msgstr "Aquest camp és obligatori." -#: db/models/fields/__init__.py:418 +#: db/models/fields/__init__.py:427 msgid "This value must be an integer." -msgstr "Aquest valor ha de ser un enter." +msgstr "Aquest valor ha de ser un enter." -#: db/models/fields/__init__.py:454 +#: db/models/fields/__init__.py:466 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:475 +#: db/models/fields/__init__.py:490 msgid "This field cannot be null." msgstr "Aquest camp no pot ser null (estar buit)." -#: db/models/fields/__init__.py:644 +#: db/models/fields/__init__.py:668 msgid "This value must be a decimal number." msgstr "Aquest valor ha de ser un número decimal." -#: db/models/fields/__init__.py:755 +#: db/models/fields/__init__.py:779 msgid "Enter a valid filename." msgstr "Introdueixi un nom de fitxer vàlid." -#: db/models/fields/__init__.py:904 +#: db/models/fields/__init__.py:960 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:55 +#: db/models/fields/related.py:93 #, python-format msgid "Please enter a valid %s." msgstr "Si us plau, introdueixi un %s vàlid." -#: db/models/fields/related.py:658 +#: db/models/fields/related.py:701 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." +#: db/models/fields/related.py:703 +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 +#: db/models/fields/related.py:750 #, 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." +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:46 +#: newforms/fields.py:47 msgid "Enter a valid value." msgstr "Introdueixi un valor vàlid." -#: 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:124 #, 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)." +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:152 -#: newforms/fields.py:181 -#: newforms/fields.py:210 +#: 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:153 newforms/fields.py:182 newforms/fields.py:211 #, 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:182 -#: newforms/fields.py:211 +#: newforms/fields.py:154 newforms/fields.py:183 newforms/fields.py:212 #, 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:180 -#: newforms/fields.py:209 +#: newforms/fields.py:181 newforms/fields.py:210 msgid "Enter a number." msgstr "Introdueixi un número." -#: newforms/fields.py:212 +#: newforms/fields.py:213 #, 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:213 +#: newforms/fields.py:214 #, 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:214 +#: newforms/fields.py:215 #, 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:262 -#: newforms/fields.py:719 +#: newforms/fields.py:263 newforms/fields.py:751 msgid "Enter a valid date." msgstr "Introdueixi una data vàlida." -#: newforms/fields.py:295 -#: newforms/fields.py:720 +#: newforms/fields.py:296 newforms/fields.py:752 msgid "Enter a valid time." msgstr "Introdueixi una hora vàlida." -#: newforms/fields.py:334 +#: newforms/fields.py:335 msgid "Enter a valid date/time." msgstr "Introdueixi una data/hora vàlides." -#: newforms/fields.py:433 +#: newforms/fields.py:434 msgid "No file was submitted." msgstr "No s'ha enviat cap fitxer." -#: newforms/fields.py:434 -#: oldforms/__init__.py:689 +#: newforms/fields.py:435 oldforms/__init__.py:689 msgid "The submitted file is empty." msgstr "El fitxer enviat està buit." -#: newforms/fields.py:492 +#: newforms/fields.py:497 msgid "Enter a valid URL." msgstr "Introdueixi una URL vàlida." -#: newforms/fields.py:493 +#: newforms/fields.py:498 msgid "This URL appears to be a broken link." msgstr "Aquesta URL sembla ser un enllaç trencat." -#: newforms/fields.py:555 -#: newforms/models.py:317 +#: newforms/fields.py:560 newforms/models.py:299 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." +msgstr "" +"Esculli una opció vàlida; Aquesta opció no és una de les opcions disponibles." -#: newforms/fields.py:594 +#: newforms/fields.py:599 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Esculli una opció vàlida. %(value)s no és una de les opcions vàlides." -#: newforms/fields.py:595 -#: newforms/fields.py:657 -#: newforms/models.py:377 +#: newforms/fields.py:600 newforms/fields.py:662 newforms/models.py:371 msgid "Enter a list of values." msgstr "Introdueixi una llista de valors." -#: newforms/fields.py:748 +#: newforms/fields.py:780 msgid "Enter a valid IPv4 address." msgstr "Introdueixi una adreça IPv4 vàlida." -#: newforms/models.py:378 +#: newforms/models.py:372 #, 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." @@ -3885,9 +4060,7 @@ msgstr[1] "Asseguris de que el seu texte té menys de %s caracters." msgid "Line breaks are not allowed here." msgstr "No es permeten salts de línia." -#: oldforms/__init__.py:512 -#: oldforms/__init__.py:586 -#: oldforms/__init__.py:625 +#: oldforms/__init__.py:512 oldforms/__init__.py:586 oldforms/__init__.py:625 #, python-format 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." @@ -3904,28 +4077,28 @@ 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." -#: template/defaultfilters.py:683 +#: template/defaultfilters.py:698 msgid "yes,no,maybe" msgstr "si,no,potser" -#: template/defaultfilters.py:714 +#: template/defaultfilters.py:729 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:716 +#: template/defaultfilters.py:731 #, python-format msgid "%.1f KB" msgstr "%.1f KB" -#: template/defaultfilters.py:718 +#: template/defaultfilters.py:733 #, python-format msgid "%.1f MB" msgstr "%.1f MB" -#: template/defaultfilters.py:719 +#: template/defaultfilters.py:734 #, python-format msgid "%.1f GB" msgstr "%.1f GB" @@ -3988,11 +4161,11 @@ msgstr "Dl" #: utils/dates.py:10 msgid "Tue" -msgstr "Dt" +msgstr "Dm" #: utils/dates.py:10 msgid "Wed" -msgstr "Dc" +msgstr "Dmx" #: utils/dates.py:10 msgid "Thu" @@ -4004,7 +4177,7 @@ msgstr "Dv" #: utils/dates.py:11 msgid "Sat" -msgstr "Db" +msgstr "Ds" #: utils/dates.py:11 msgid "Sun" @@ -4018,28 +4191,23 @@ msgstr "Gener" msgid "February" msgstr "Febrer" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "March" msgstr "Març" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "April" msgstr "Abril" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "May" msgstr "Maig" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "June" msgstr "Juny" -#: utils/dates.py:19 -#: utils/dates.py:31 +#: utils/dates.py:19 utils/dates.py:31 msgid "July" msgstr "Juliol" @@ -4193,23 +4361,23 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:399 +#: utils/translation/trans_real.py:403 msgid "DATE_FORMAT" msgstr "F j, Y" -#: utils/translation/trans_real.py:400 +#: utils/translation/trans_real.py:404 msgid "DATETIME_FORMAT" msgstr "F j, Y, H:i" -#: utils/translation/trans_real.py:401 +#: utils/translation/trans_real.py:405 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:417 +#: utils/translation/trans_real.py:421 msgid "YEAR_MONTH_FORMAT" msgstr "j de/d' F del Y" -#: utils/translation/trans_real.py:418 +#: utils/translation/trans_real.py:422 msgid "MONTH_DAY_FORMAT" msgstr "j de/d' F del Y" @@ -4228,9 +4396,11 @@ msgstr "El/La %(verbose_name)s s'ha actualtzat amb èxit." msgid "The %(verbose_name)s was deleted." msgstr "El %(verbose_name)s s'ha eliminat." +#~ msgid "Gaeilge" +#~ msgstr "Gaeilge" + #~ msgid "" #~ "Enter a postcode. A space is required between the two postcode parts." #~ msgstr "" #~ "Introdueixi un codi postal. És necessari un espai entre les dues parts " #~ "del codi postal." - diff --git a/django/conf/locale/ca/LC_MESSAGES/djangojs.mo b/django/conf/locale/ca/LC_MESSAGES/djangojs.mo index 6f3c9f2a5a..0df69aeb94 100644 Binary files a/django/conf/locale/ca/LC_MESSAGES/djangojs.mo and b/django/conf/locale/ca/LC_MESSAGES/djangojs.mo differ diff --git a/django/conf/locale/ca/LC_MESSAGES/djangojs.po b/django/conf/locale/ca/LC_MESSAGES/djangojs.po index 95164f3aeb..67c50c6532 100644 --- a/django/conf/locale/ca/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/ca/LC_MESSAGES/djangojs.po @@ -1,21 +1,17 @@ -# translation of djangojs.po to español -# translation of djangojs.po to -# Catalan translation for the django-admin JS files. +# translation of djangojs.po to catalan # This file is distributed under the same license as the Django package. -# -# Antoni Aloy , 2007. msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-05-20 18:25+0200\n" -"PO-Revision-Date: 2008-01-22 19:39+0100\n" -"Last-Translator: Marc Garcia \n" -"Language-Team: español \n" +"POT-Creation-Date: 2007-02-15 01:00+0200\n" +"PO-Revision-Date: 2008-03-25 18:54+0100\n" +"Last-Translator: Django Catalan Group \n" +"Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" +"X-Generator: VIM 7.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: contrib/admin/media/js/SelectFilter2.js:33 diff --git a/django/conf/locale/es/LC_MESSAGES/django.mo b/django/conf/locale/es/LC_MESSAGES/django.mo index bb4c6ff9c8..485a77160a 100644 Binary files a/django/conf/locale/es/LC_MESSAGES/django.mo and b/django/conf/locale/es/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/es/LC_MESSAGES/django.po b/django/conf/locale/es/LC_MESSAGES/django.po index 04c7c76e3b..b1fab30ded 100644 --- a/django/conf/locale/es/LC_MESSAGES/django.po +++ b/django/conf/locale/es/LC_MESSAGES/django.po @@ -1,15 +1,14 @@ -# translation of django.po to Castellano -# This file is distributed under the same license as the PACKAGE package. -# Copyright (C) 2007 THE PACKAGE'S COPYRIGHT HOLDER. -# +# Spanish translation for the django project +# Copyright (C) 2008, The Django Project +# This file is distributed under the same license as the django package. msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \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" +"POT-Creation-Date: 2005-10-04 00:00+0200\n" +"PO-Revision-Date: 2008-03-30 01:04+0100\n" +"Last-Translator: Django Spanish Group \n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -64,138 +63,146 @@ msgid "Argentinean Spanish" msgstr "Español Argentino" #: conf/global_settings.py:51 +msgid "Basque" +msgstr "Vasco" + +#: conf/global_settings.py:52 msgid "Persian" msgstr "Persa" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Finnish" msgstr "Finés" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "French" msgstr "Francés" -#: conf/global_settings.py:54 -msgid "Gaeilge" -msgstr "Gaeilge" - #: conf/global_settings.py:55 +msgid "Irish" +msgstr "Irlandés" + +#: conf/global_settings.py:56 msgid "Galician" msgstr "Gallego" -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Hungarian" msgstr "Húngaro" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 msgid "Hebrew" msgstr "Hebreo" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Croatian" msgstr "Croata" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Icelandic" msgstr "Islandés" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "Italian" msgstr "Italiano" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 msgid "Japanese" msgstr "Japonés" -#: conf/global_settings.py:62 +#: conf/global_settings.py:63 +msgid "Georgian" +msgstr "Georgiano" + +#: conf/global_settings.py:64 msgid "Korean" msgstr "Koreano" -#: conf/global_settings.py:63 +#: conf/global_settings.py:65 msgid "Khmer" msgstr "Khmer" -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Kannada" msgstr "Kannada" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Latvian" msgstr "Latvio" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Macedonian" msgstr "Macedonio" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 msgid "Dutch" msgstr "Alemán" -#: conf/global_settings.py:68 +#: conf/global_settings.py:70 msgid "Norwegian" msgstr "Noruego" -#: conf/global_settings.py:69 +#: conf/global_settings.py:71 msgid "Polish" msgstr "Polaco" -#: conf/global_settings.py:70 +#: conf/global_settings.py:72 msgid "Portugese" msgstr "Portugés" -#: conf/global_settings.py:71 +#: conf/global_settings.py:73 msgid "Brazilian" msgstr "Brasileño" -#: conf/global_settings.py:72 +#: conf/global_settings.py:74 msgid "Romanian" msgstr "Rumano" -#: conf/global_settings.py:73 +#: conf/global_settings.py:75 msgid "Russian" msgstr "Ruso" -#: conf/global_settings.py:74 +#: conf/global_settings.py:76 msgid "Slovak" msgstr "Eslovaco" -#: conf/global_settings.py:75 +#: conf/global_settings.py:77 msgid "Slovenian" msgstr "Esloveno" -#: conf/global_settings.py:76 +#: conf/global_settings.py:78 msgid "Serbian" msgstr "Serbio" -#: conf/global_settings.py:77 +#: conf/global_settings.py:79 msgid "Swedish" msgstr "Sueco" -#: conf/global_settings.py:78 +#: conf/global_settings.py:80 msgid "Tamil" msgstr "Tamil" -#: conf/global_settings.py:79 +#: conf/global_settings.py:81 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:80 +#: conf/global_settings.py:82 msgid "Turkish" msgstr "Turco" -#: conf/global_settings.py:81 +#: conf/global_settings.py:83 msgid "Ukrainian" msgstr "Ucraniano" -#: conf/global_settings.py:82 +#: conf/global_settings.py:84 msgid "Simplified Chinese" msgstr "Chino simplificado" -#: conf/global_settings.py:83 +#: conf/global_settings.py:85 msgid "Traditional Chinese" msgstr "Chino tradicional" -#: contrib/admin/filterspecs.py:42 +#: contrib/admin/filterspecs.py:44 #, python-format msgid "" "

    By %s:

    \n" @@ -204,76 +211,71 @@ msgstr "" "

    Por %s:

    \n" "
      \n" -#: contrib/admin/filterspecs.py:72 -#: contrib/admin/filterspecs.py:90 -#: contrib/admin/filterspecs.py:145 -#: contrib/admin/filterspecs.py:171 +#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 msgid "All" msgstr "Todo" -#: contrib/admin/filterspecs.py:111 +#: contrib/admin/filterspecs.py:113 msgid "Any date" msgstr "Cualquier fecha" -#: contrib/admin/filterspecs.py:112 +#: contrib/admin/filterspecs.py:114 msgid "Today" msgstr "Hoy" -#: contrib/admin/filterspecs.py:115 +#: contrib/admin/filterspecs.py:117 msgid "Past 7 days" msgstr "Últimos 7 días" -#: contrib/admin/filterspecs.py:117 +#: contrib/admin/filterspecs.py:119 msgid "This month" msgstr "Este mes" -#: contrib/admin/filterspecs.py:119 +#: contrib/admin/filterspecs.py:121 msgid "This year" msgstr "Este año" -#: contrib/admin/filterspecs.py:145 -#: newforms/widgets.py:205 -#: oldforms/__init__.py:591 +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "Yes" msgstr "Sí" -#: contrib/admin/filterspecs.py:145 -#: newforms/widgets.py:205 -#: oldforms/__init__.py:591 +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "No" msgstr "No" -#: contrib/admin/filterspecs.py:152 -#: newforms/widgets.py:205 -#: oldforms/__init__.py:591 +#: contrib/admin/filterspecs.py:154 newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "Unknown" msgstr "Desconocido" -#: contrib/admin/models.py:17 +#: contrib/admin/models.py:18 msgid "action time" msgstr "hora de acción" -#: contrib/admin/models.py:20 +#: contrib/admin/models.py:21 msgid "object id" msgstr "id de objeto" -#: contrib/admin/models.py:21 +#: contrib/admin/models.py:22 msgid "object repr" msgstr "repr de objeto" -#: contrib/admin/models.py:22 +#: contrib/admin/models.py:23 msgid "action flag" msgstr "marca de acción" -#: contrib/admin/models.py:23 +#: contrib/admin/models.py:24 msgid "change message" msgstr "mensaje de cambio" -#: contrib/admin/models.py:26 +#: contrib/admin/models.py:27 msgid "log entry" msgstr "entrada de registro" -#: contrib/admin/models.py:27 +#: contrib/admin/models.py:28 msgid "log entries" msgstr "entradas de registro" @@ -316,8 +318,13 @@ 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." +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," @@ -388,13 +395,23 @@ 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:" +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:" +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" @@ -440,8 +457,14 @@ 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." +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 @@ -455,7 +478,7 @@ msgid "Password:" msgstr "Clave:" #: contrib/admin/templates/admin/login.html:25 -#: contrib/admin/views/decorators.py:24 +#: contrib/admin/views/decorators.py:31 msgid "Log in" msgstr "Identificarse" @@ -476,8 +499,12 @@ 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." +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" @@ -516,8 +543,12 @@ 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." +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" @@ -541,7 +572,9 @@ 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." +msgstr "" +"Introduzca una nueva contraseña para el usuario %(username)s." #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" @@ -563,27 +596,36 @@ msgid "" 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" +"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" +"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." +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." +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)" @@ -591,7 +633,9 @@ 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." +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)" @@ -599,7 +643,8 @@ 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." +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." @@ -626,8 +671,12 @@ 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." +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:" @@ -658,8 +707,12 @@ 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." +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" @@ -693,8 +746,12 @@ 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." +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:" @@ -720,19 +777,17 @@ msgstr "Actualmente:" msgid "Change:" msgstr "Modificar:" -#: contrib/admin/templatetags/admin_list.py:254 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "Todas las fechas" -#: contrib/admin/views/auth.py:20 -#: contrib/admin/views/main.py:264 +#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:267 #, 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 +#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 msgid "You may edit it again below." msgstr "Puede editarlo de nuevo abajo." @@ -749,277 +804,276 @@ msgstr "La clave se ha cambiado exitosamente." 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." +#: contrib/admin/views/decorators.py:17 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: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." +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:83 +#: contrib/admin/views/decorators.py:76 +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:90 msgid "Usernames cannot contain the '@' character." msgstr "Los nombres de usuario no pueden contener el carácter '@'." -#: contrib/admin/views/decorators.py:85 +#: contrib/admin/views/decorators.py:92 #, 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. Pruebe con '%s' en su lugar." +msgstr "" +"Su dirección de correo no es su nombre de usuario. Pruebe con '%s' en su " +"lugar." -#: contrib/admin/views/doc.py:47 -#: contrib/admin/views/doc.py:49 -#: contrib/admin/views/doc.py:51 +#: contrib/admin/views/doc.py:48 contrib/admin/views/doc.py:50 +#: contrib/admin/views/doc.py:52 msgid "tag:" msgstr "etiqueta:" -#: contrib/admin/views/doc.py:78 -#: contrib/admin/views/doc.py:80 -#: contrib/admin/views/doc.py:82 +#: contrib/admin/views/doc.py:79 contrib/admin/views/doc.py:81 +#: contrib/admin/views/doc.py:83 msgid "filter:" msgstr "filtro:" -#: contrib/admin/views/doc.py:136 -#: contrib/admin/views/doc.py:138 -#: contrib/admin/views/doc.py:140 +#: contrib/admin/views/doc.py:137 contrib/admin/views/doc.py:139 +#: contrib/admin/views/doc.py:141 msgid "view:" msgstr "vista:" -#: contrib/admin/views/doc.py:165 +#: contrib/admin/views/doc.py:166 #, python-format msgid "App %r not found" msgstr "Aplicación %r no encontrada" -#: contrib/admin/views/doc.py:172 +#: contrib/admin/views/doc.py:173 #, python-format msgid "Model %(name)r not found in app %(label)r" msgstr "El modelo %(name)s no se ha encontrado en la aplicación %(label)r" -#: contrib/admin/views/doc.py:184 +#: contrib/admin/views/doc.py:185 #, python-format msgid "the related `%(label)s.%(type)s` object" msgstr "el objeto relacionado`%(label)s.%(type)s` " -#: contrib/admin/views/doc.py:184 -#: contrib/admin/views/doc.py:206 -#: contrib/admin/views/doc.py:220 -#: contrib/admin/views/doc.py:225 +#: contrib/admin/views/doc.py:185 contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:221 contrib/admin/views/doc.py:226 msgid "model:" msgstr "modelo:" -#: contrib/admin/views/doc.py:215 +#: contrib/admin/views/doc.py:216 #, python-format msgid "related `%(label)s.%(name)s` objects" msgstr "los objetos relacionados `%(label)s.%(name)s`" -#: contrib/admin/views/doc.py:220 +#: contrib/admin/views/doc.py:221 #, python-format msgid "all %s" msgstr "todo %s" -#: contrib/admin/views/doc.py:225 +#: contrib/admin/views/doc.py:226 #, python-format msgid "number of %s" msgstr "número de %s" -#: contrib/admin/views/doc.py:230 +#: contrib/admin/views/doc.py:231 #, python-format msgid "Fields on %s objects" msgstr "Campos en %s objetos" -#: 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 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:306 contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:313 contrib/admin/views/doc.py:315 msgid "Integer" msgstr "Entero" -#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:294 msgid "Boolean (Either True or False)" msgstr "Booleano (Verdadero o Falso)" -#: contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:313 +#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:314 #, python-format msgid "String (up to %(max_length)s)" msgstr "Cadena (máximo %(max_length)s)" -#: contrib/admin/views/doc.py:295 +#: contrib/admin/views/doc.py:296 msgid "Comma-separated integers" msgstr "Enteros separados por comas" -#: contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:297 msgid "Date (without time)" msgstr "Fecha (sin hora)" -#: contrib/admin/views/doc.py:297 +#: contrib/admin/views/doc.py:298 msgid "Date (with time)" msgstr "Fecha (con hora)" -#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:299 msgid "Decimal number" msgstr "Número decimal" -#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:300 msgid "E-mail address" msgstr "Dirección de correo electrónico" -#: contrib/admin/views/doc.py:300 -#: contrib/admin/views/doc.py:301 -#: contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:301 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 msgid "File path" msgstr "Ruta de fichero" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:303 msgid "Floating point number" msgstr "Número decimal" -#: contrib/admin/views/doc.py:306 -#: contrib/comments/models.py:85 +#: contrib/admin/views/doc.py:307 contrib/comments/models.py:89 msgid "IP address" msgstr "Dirección IP" -#: contrib/admin/views/doc.py:308 +#: contrib/admin/views/doc.py:309 msgid "Boolean (Either True, False or None)" msgstr "Booleano (Verdadero, Falso o Nulo)" -#: contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 msgid "Relation to parent model" msgstr "Relación con el modelo padre" -#: contrib/admin/views/doc.py:310 +#: contrib/admin/views/doc.py:311 msgid "Phone number" msgstr "Número de teléfono" -#: contrib/admin/views/doc.py:315 +#: contrib/admin/views/doc.py:316 msgid "Text" msgstr "Texto" -#: contrib/admin/views/doc.py:316 +#: contrib/admin/views/doc.py:317 msgid "Time" msgstr "Hora" -#: contrib/admin/views/doc.py:317 -#: contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:318 contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" -#: contrib/admin/views/doc.py:318 +#: contrib/admin/views/doc.py:319 msgid "U.S. state (two uppercase letters)" msgstr "Estado de los EEUU (dos letras mayúsculas)" -#: contrib/admin/views/doc.py:319 +#: contrib/admin/views/doc.py:320 msgid "XML text" msgstr "Texto XML" -#: contrib/admin/views/doc.py:345 +#: contrib/admin/views/doc.py:346 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s no parece ser un objeto urlpattern" -#: contrib/admin/views/main.py:230 +#: contrib/admin/views/main.py:233 msgid "Site administration" msgstr "Sitio administrativo" -#: contrib/admin/views/main.py:278 -#: contrib/admin/views/main.py:363 +#: contrib/admin/views/main.py:280 contrib/admin/views/main.py:365 #, python-format msgid "You may add another %s below." msgstr "Puede agregar otro %s abajo." -#: contrib/admin/views/main.py:296 +#: contrib/admin/views/main.py:298 #, python-format msgid "Add %s" msgstr "Agregar %s" -#: contrib/admin/views/main.py:342 +#: contrib/admin/views/main.py:344 #, python-format 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 +#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 core/validators.py:283 #: db/models/manipulators.py:309 msgid "and" msgstr "y" -#: contrib/admin/views/main.py:344 +#: contrib/admin/views/main.py:346 #, python-format msgid "Changed %s." msgstr "Modificado %s." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 #, python-format msgid "Deleted %s." msgstr "Borrado %s." -#: contrib/admin/views/main.py:349 +#: contrib/admin/views/main.py:351 msgid "No fields changed." msgstr "No ha cambiado ningún campo." -#: contrib/admin/views/main.py:352 +#: contrib/admin/views/main.py:354 #, 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 +#: contrib/admin/views/main.py:362 #, 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." +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 +#: contrib/admin/views/main.py:400 #, python-format msgid "Change %s" msgstr "Modificar %s" -#: contrib/admin/views/main.py:483 +#: contrib/admin/views/main.py:487 #, 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 +#: contrib/admin/views/main.py:492 #, 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 +#: contrib/admin/views/main.py:524 #, 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 +#: contrib/admin/views/main.py:527 msgid "Are you sure?" msgstr "¿Está seguro?" -#: contrib/admin/views/main.py:545 +#: contrib/admin/views/main.py:549 #, python-format msgid "Change history: %s" msgstr "Modificar histórico: %s" -#: contrib/admin/views/main.py:579 +#: contrib/admin/views/main.py:583 #, python-format msgid "Select %s" msgstr "Escoja %s" -#: contrib/admin/views/main.py:579 +#: contrib/admin/views/main.py:583 #, python-format msgid "Select %s to change" msgstr "Escoja %s para modificar" -#: contrib/admin/views/main.py:780 +#: contrib/admin/views/main.py:784 msgid "Database error" msgstr "Error en la base de datos" -#: contrib/auth/forms.py:17 -#: contrib/auth/forms.py:138 +#: 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." @@ -1028,27 +1082,42 @@ 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." +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: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?" +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:107 +#, python-format +msgid "Password reset on %s" +msgstr "Clave restablecida en %s" #: 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." +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." +msgstr "" +"Tu contraseña antigua es incorrecta. Por favor, vuelve a introducirla " +"correctamente." -#: contrib/auth/models.py:73 -#: contrib/auth/models.py:93 +#: contrib/auth/models.py:73 contrib/auth/models.py:93 msgid "name" msgstr "nombre" @@ -1060,8 +1129,7 @@ msgstr "nombre en código" msgid "permission" msgstr "permiso" -#: contrib/auth/models.py:79 -#: contrib/auth/models.py:94 +#: contrib/auth/models.py:79 contrib/auth/models.py:94 msgid "permissions" msgstr "permisos" @@ -1069,8 +1137,7 @@ msgstr "permisos" msgid "group" msgstr "grupo" -#: contrib/auth/models.py:98 -#: contrib/auth/models.py:141 +#: contrib/auth/models.py:98 contrib/auth/models.py:141 msgid "groups" msgstr "grupos" @@ -1079,8 +1146,12 @@ msgid "username" msgstr "nombre de usuario" #: 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)." +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:132 msgid "first name" @@ -1099,8 +1170,12 @@ msgid "password" msgstr "clave" #: 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." +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:136 msgid "staff status" @@ -1115,16 +1190,24 @@ msgid "active" msgstr "activo" #: 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." +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:138 msgid "superuser status" msgstr "es superusuario" #: 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." +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:139 msgid "last login" @@ -1135,8 +1218,12 @@ msgid "date joined" msgstr "fecha de creación" #: 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é." +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" @@ -1174,85 +1261,84 @@ msgstr "mensaje" msgid "Logged out" msgstr "Sesión terminada" -#: contrib/comments/models.py:67 -#: contrib/comments/models.py:169 +#: contrib/comments/models.py:71 contrib/comments/models.py:176 msgid "object ID" msgstr "ID de objeto" -#: contrib/comments/models.py:68 +#: contrib/comments/models.py:72 msgid "headline" msgstr "encabezado" -#: contrib/comments/models.py:69 -#: contrib/comments/models.py:90 -#: contrib/comments/models.py:170 +#: contrib/comments/models.py:73 contrib/comments/models.py:95 +#: contrib/comments/models.py:177 msgid "comment" msgstr "comentario" -#: contrib/comments/models.py:70 +#: contrib/comments/models.py:74 msgid "rating #1" msgstr "calificación 1" -#: contrib/comments/models.py:71 +#: contrib/comments/models.py:75 msgid "rating #2" msgstr "calificación 2" -#: contrib/comments/models.py:72 +#: contrib/comments/models.py:76 msgid "rating #3" msgstr "calificación 3" -#: contrib/comments/models.py:73 +#: contrib/comments/models.py:77 msgid "rating #4" msgstr "calificación 4" -#: contrib/comments/models.py:74 +#: contrib/comments/models.py:78 msgid "rating #5" msgstr "calificación 5" -#: contrib/comments/models.py:75 +#: contrib/comments/models.py:79 msgid "rating #6" msgstr "calificación 6" -#: contrib/comments/models.py:76 +#: contrib/comments/models.py:80 msgid "rating #7" msgstr "calificación 7" -#: contrib/comments/models.py:77 +#: contrib/comments/models.py:81 msgid "rating #8" msgstr "calificación 8" -#: contrib/comments/models.py:82 +#: contrib/comments/models.py:86 msgid "is valid rating" msgstr "es calificación válida" -#: contrib/comments/models.py:83 -#: contrib/comments/models.py:172 +#: contrib/comments/models.py:87 contrib/comments/models.py:179 msgid "date/time submitted" msgstr "fecha/hora de envío" -#: contrib/comments/models.py:84 -#: contrib/comments/models.py:173 +#: contrib/comments/models.py:88 contrib/comments/models.py:180 msgid "is public" msgstr "es público" -#: contrib/comments/models.py:86 +#: contrib/comments/models.py:90 msgid "is removed" msgstr "está 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á \"Este comentario ha sido eliminado\"." +#: contrib/comments/models.py:90 +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á " +"\"Este comentario ha sido eliminado\"." -#: contrib/comments/models.py:91 +#: contrib/comments/models.py:96 msgid "comments" msgstr "comentarios" -#: contrib/comments/models.py:134 -#: contrib/comments/models.py:213 +#: contrib/comments/models.py:140 contrib/comments/models.py:222 msgid "Content object" msgstr "Objeto contenido" -#: contrib/comments/models.py:162 +#: contrib/comments/models.py:168 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -1267,48 +1353,48 @@ msgstr "" "\n" "http://%(domain)s%(url)s" -#: contrib/comments/models.py:171 +#: contrib/comments/models.py:178 msgid "person's name" msgstr "nombre de la persona" -#: contrib/comments/models.py:174 +#: contrib/comments/models.py:181 msgid "ip address" msgstr "dirección ip" -#: contrib/comments/models.py:176 +#: contrib/comments/models.py:183 msgid "approved by staff" msgstr "aprobado por el staff" -#: contrib/comments/models.py:179 +#: contrib/comments/models.py:187 msgid "free comment" msgstr "comentario libre" -#: contrib/comments/models.py:180 +#: contrib/comments/models.py:188 msgid "free comments" msgstr "comentarios libres" -#: contrib/comments/models.py:239 +#: contrib/comments/models.py:250 msgid "score" msgstr "puntuación" -#: contrib/comments/models.py:240 +#: contrib/comments/models.py:251 msgid "score date" msgstr "fecha de la puntuación" -#: contrib/comments/models.py:243 +#: contrib/comments/models.py:255 msgid "karma score" msgstr "punto karma" -#: contrib/comments/models.py:244 +#: contrib/comments/models.py:256 msgid "karma scores" msgstr "puntos karma" -#: contrib/comments/models.py:248 +#: contrib/comments/models.py:260 #, python-format msgid "%(score)d rating by %(user)s" msgstr "puntuado %(score)d por %(user)s" -#: contrib/comments/models.py:264 +#: contrib/comments/models.py:277 #, python-format msgid "" "This comment was flagged by %(user)s:\n" @@ -1319,36 +1405,36 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/models.py:271 +#: contrib/comments/models.py:285 msgid "flag date" msgstr "fecha de la marca" -#: contrib/comments/models.py:274 +#: contrib/comments/models.py:289 msgid "user flag" msgstr "marca de usuario" -#: contrib/comments/models.py:275 +#: contrib/comments/models.py:290 msgid "user flags" msgstr "marcas de usuario" -#: contrib/comments/models.py:279 +#: contrib/comments/models.py:294 #, python-format msgid "Flag by %r" msgstr "Marca de %r" -#: contrib/comments/models.py:284 +#: contrib/comments/models.py:300 msgid "deletion date" msgstr "fecha de eliminación" -#: contrib/comments/models.py:286 +#: contrib/comments/models.py:303 msgid "moderator deletion" msgstr "eliminación de moderador" -#: contrib/comments/models.py:287 +#: contrib/comments/models.py:304 msgid "moderator deletions" msgstr "eliminaciones de moderador" -#: contrib/comments/models.py:291 +#: contrib/comments/models.py:308 #, python-format msgid "Moderator deletion by %r" msgstr "Eliminación del moderador %r" @@ -1390,25 +1476,30 @@ 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." +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" +"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" +"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" +"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" +"Este comentario lo envió un usuario que ha enviado menos de %(count)s " +"comentarios:\n" "\n" "%(text)s" @@ -1436,12 +1527,18 @@ 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)" +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)" +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 @@ -1460,21 +1557,24 @@ msgstr "ID de comentario no válido" msgid "No voting for yourself" msgstr "No puedes votarte tú mismo" -#: contrib/contenttypes/models.py:37 +#: contrib/contenttypes/models.py:67 msgid "python model class name" msgstr "nombre de módulo python" -#: contrib/contenttypes/models.py:40 +#: contrib/contenttypes/models.py:71 msgid "content type" msgstr "tipo de contenido" -#: contrib/contenttypes/models.py:41 +#: contrib/contenttypes/models.py:72 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." +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" @@ -1493,8 +1593,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'." +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" @@ -1512,154 +1616,162 @@ msgstr "página estática" msgid "flat pages" msgstr "páginas estáticas" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/flatpages/models.py:24 +msgid "Advanced options" +msgstr "Opciones avanzadas" + +#: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "th" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "st" msgstr "st" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "nd" msgstr "nd" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "rd" msgstr "rd" -#: contrib/humanize/templatetags/humanize.py:50 +#: contrib/humanize/templatetags/humanize.py:51 #, 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 +#: contrib/humanize/templatetags/humanize.py:54 #, 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 +#: contrib/humanize/templatetags/humanize.py:57 #, 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 +#: contrib/humanize/templatetags/humanize.py:73 msgid "one" msgstr "uno" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "two" msgstr "dos" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "three" msgstr "tres" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "four" msgstr "cuatro" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "five" msgstr "cinco" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "six" msgstr "seis" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "seven" msgstr "siete" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "eight" msgstr "ocho" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:73 msgid "nine" msgstr "nueve" -#: contrib/humanize/templatetags/humanize.py:90 +#: contrib/humanize/templatetags/humanize.py:93 msgid "today" msgstr "hoy" -#: contrib/humanize/templatetags/humanize.py:92 +#: contrib/humanize/templatetags/humanize.py:95 msgid "tomorrow" msgstr "mañana" -#: contrib/humanize/templatetags/humanize.py:94 +#: contrib/humanize/templatetags/humanize.py:97 msgid "yesterday" msgstr "ayer" -#: contrib/localflavor/ar/forms.py:30 -#: contrib/localflavor/ar/forms.py:38 +#: contrib/localflavor/ar/forms.py:27 msgid "Enter a postal code in the format NNNN or ANNNNAAA." 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 +#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 +#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 +#: contrib/localflavor/pe/forms.py:51 msgid "This field requires only numbers." msgstr "Este campo sólo acepta números." -#: contrib/localflavor/ar/forms.py:64 +#: contrib/localflavor/ar/forms.py:50 msgid "This field requires 7 or 8 digits." msgstr "Este campo necesita 7 o 8 dígitos." -#: contrib/localflavor/ar/forms.py:75 +#: contrib/localflavor/ar/forms.py:79 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Introduzca un CUIT válido en el formato XX-XXXXXXXX-X or XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:88 +#: contrib/localflavor/ar/forms.py:80 msgid "Invalid CUIT." msgstr "CUIT inválido." -#: contrib/localflavor/au/forms.py:18 +#: contrib/localflavor/au/forms.py:16 msgid "Enter a 4 digit post code." msgstr "Introduzca un código postal de 4 dígitos." -#: contrib/localflavor/br/forms.py:23 +#: contrib/localflavor/br/forms.py:21 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Introduzca un código postal en el formato XXXX-XXXX." -#: contrib/localflavor/br/forms.py:35 +#: contrib/localflavor/br/forms.py:30 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "Los números de teléfono deben tener el formato XXX-XXX-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. Este estado no es uno de los estados disponibles." +#: contrib/localflavor/br/forms.py:58 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "" +"Seleccione un estado brasileño válido. Este 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 necesita al menos 11 o 14 caracteres" - -#: contrib/localflavor/br/forms.py:115 +#: contrib/localflavor/br/forms.py:94 msgid "Invalid CPF number." msgstr "Número CPF inválido." -#: contrib/localflavor/br/forms.py:137 -msgid "This field requires at least 14 digits" -msgstr "Este campo necesita 14 dígitos como máximo" +#: contrib/localflavor/br/forms.py:95 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Este campo necesita al menos 11 o 14 caracteres" -#: contrib/localflavor/br/forms.py:147 +#: contrib/localflavor/br/forms.py:134 msgid "Invalid CNPJ number." msgstr "Número CNPJ inválido" -#: contrib/localflavor/ca/forms.py:19 +#: contrib/localflavor/br/forms.py:136 +msgid "This field requires at least 14 digits" +msgstr "Este campo necesita 14 dígitos como máximo" + +#: contrib/localflavor/ca/forms.py:17 msgid "Enter a postal code in the format XXX XXX." msgstr "Introduzca un código postal en el formato XXX XXX." -#: 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/ca/forms.py:88 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." +msgstr "" +"Introduzca un Número del Seguro Social de Canada válido en el formato XXX-XXX-" +"XXX." #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -1765,96 +1877,106 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:18 -#: contrib/localflavor/no/forms.py:14 +#: contrib/localflavor/ch/forms.py:16 contrib/localflavor/no/forms.py:12 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/ch/forms.py:64 +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." +#: contrib/localflavor/cl/forms.py:29 +msgid "Enter a valid Chilean RUT." +msgstr "Introduzca un RUT chileno válido" + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid 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/cl/forms.py:31 +msgid "The Chilean RUT is not valid." +msgstr "El RUT chileno no es válido." #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" -msgstr "Baden-Wuerttemberg" +msgstr "" #: contrib/localflavor/de/de_states.py:6 msgid "Bavaria" -msgstr "Bavaria" +msgstr "" #: contrib/localflavor/de/de_states.py:7 msgid "Berlin" -msgstr "Berlín" +msgstr "" #: contrib/localflavor/de/de_states.py:8 msgid "Brandenburg" -msgstr "Brandenburg" +msgstr "" #: contrib/localflavor/de/de_states.py:9 msgid "Bremen" -msgstr "Bremen" +msgstr "" #: contrib/localflavor/de/de_states.py:10 msgid "Hamburg" -msgstr "Hamburg" +msgstr "" #: contrib/localflavor/de/de_states.py:11 msgid "Hessen" -msgstr "Hessen" +msgstr "" #: contrib/localflavor/de/de_states.py:12 msgid "Mecklenburg-Western Pomerania" -msgstr "Mecklenburg-Western Pomerania" +msgstr "" #: contrib/localflavor/de/de_states.py:13 msgid "Lower Saxony" -msgstr "Lower Saxony" +msgstr "" #: contrib/localflavor/de/de_states.py:14 msgid "North Rhine-Westphalia" -msgstr "North Rhine-Westphalia" +msgstr "" #: contrib/localflavor/de/de_states.py:15 msgid "Rhineland-Palatinate" -msgstr "Rhineland-Palatinate" +msgstr "" #: contrib/localflavor/de/de_states.py:16 msgid "Saarland" -msgstr "Saarland" +msgstr "" #: contrib/localflavor/de/de_states.py:17 msgid "Saxony" -msgstr "Saxony" +msgstr "" #: contrib/localflavor/de/de_states.py:18 msgid "Saxony-Anhalt" -msgstr "Saxony-Anhalt" +msgstr "" #: contrib/localflavor/de/de_states.py:19 msgid "Schleswig-Holstein" -msgstr "Schleswig-Holstein" +msgstr "" #: contrib/localflavor/de/de_states.py:20 msgid "Thuringia" -msgstr "Thuringia" +msgstr "" -#: contrib/localflavor/de/forms.py:16 -#: contrib/localflavor/fi/forms.py:14 -#: contrib/localflavor/fr/forms.py:17 +#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/fr/forms.py:15 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/forms.py:41 +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" @@ -2123,63 +2245,73 @@ msgstr "Comunidad Foral de Navarra" msgid "Valencian Community" msgstr "Comunidad Valenciana" -#: contrib/localflavor/es/forms.py:22 +#: contrib/localflavor/es/forms.py:19 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." +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:66 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Por favor introduzca un NIF, NIE o CIF válido." -#: contrib/localflavor/es/forms.py:91 +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF or NIE." +msgstr "Por favor, introduzca un NIF o NIE válido." + +#: contrib/localflavor/es/forms.py:68 msgid "Invalid checksum for NIF." msgstr "El NIF es incorrecto." -#: contrib/localflavor/es/forms.py:97 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIE." msgstr "El NIE es incorrecto." -#: contrib/localflavor/es/forms.py:106 +#: contrib/localflavor/es/forms.py:70 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:142 +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 +#: contrib/localflavor/es/forms.py:143 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 +#: contrib/localflavor/fi/forms.py:28 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 +#: contrib/localflavor/in_/forms.py:14 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." +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 +#: contrib/localflavor/is_/forms.py:18 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 +#: contrib/localflavor/it/forms.py:14 msgid "Enter a valid zip code." msgstr "Introduzca un código postal válido." -#: contrib/localflavor/it/forms.py:41 +#: contrib/localflavor/it/forms.py:43 msgid "Enter a valid Social Security number." msgstr "Introduzca un número de Seguro Social válido." @@ -2187,7 +2319,7 @@ msgstr "Introduzca un número de Seguro Social válido." msgid "Enter a valid VAT number." msgstr "Introduzca un número VAT válido." -#: contrib/localflavor/jp/forms.py:21 +#: contrib/localflavor/jp/forms.py:17 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." msgstr "Introduzca un código postal en el formato XXXXX o XXXX-XXXX." @@ -2379,15 +2511,143 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" -#: contrib/localflavor/nl/forms.py:25 +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "Aguascalientes" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "Baja California" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "Baja California Sur" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "Campeche" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "Chihuahua" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "Chiapas" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "Coahuila" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "Colima" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "Distrito Federal" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "Durango" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "Guerrero" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "Guanajuato" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "Hidalgo" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "Jalisco" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "Estado de México" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "Michoacán" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "Morelos" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "Nayarit" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "Nuevo León" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "Oaxaca" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "Puebla" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "Querétaro" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "Quintana Roo" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "Sinaloa" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "San Luis Potosí" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "Sonora" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "Tabasco" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "Tamaulipas" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "Tlaxcala" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "Veracruz" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "Yucatán" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "Zacatecas" + +#: contrib/localflavor/nl/forms.py:21 msgid "Enter a valid postal code" msgstr "Introduzca un código postal válido" -#: contrib/localflavor/nl/forms.py:53 +#: contrib/localflavor/nl/forms.py:52 msgid "Enter a valid phone number" msgstr "Introduzca un número de teléfono válido" -#: contrib/localflavor/nl/forms.py:76 +#: contrib/localflavor/nl/forms.py:78 msgid "Enter a valid SoFi number" msgstr "Introduzca un número SoFi válido" @@ -2439,43 +2699,47 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:35 +#: contrib/localflavor/no/forms.py:33 msgid "Enter a valid Norwegian social security number." msgstr "Introduzca un número de seguro social de Noruega válido." -#: contrib/localflavor/pe/forms.py:36 +#: contrib/localflavor/pe/forms.py:24 msgid "This field requires 8 digits." msgstr "Este campo necesita 8 dígitos." -#: contrib/localflavor/pe/forms.py:59 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires 11 digits." msgstr "Este campo necesita 11 dígitos." -#: contrib/localflavor/pl/forms.py:41 +#: contrib/localflavor/pl/forms.py:39 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:47 +#: contrib/localflavor/pl/forms.py:40 msgid "Wrong checksum for the National Identification Number." msgstr "El Número de Identificación Nacional es incorrecto." #: 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." +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:78 +#: contrib/localflavor/pl/forms.py:73 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 +#: contrib/localflavor/pl/forms.py:112 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" +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 +#: contrib/localflavor/pl/forms.py:156 msgid "Enter a postal code in the format XX-XXX." msgstr "Introduzca un código postal en el formato XX-XXX." @@ -2543,7 +2807,7 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" -#: contrib/localflavor/sk/forms.py:32 +#: contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Introduzca un código postal en el formato XXXXX o XXX XX." @@ -2895,33 +3159,366 @@ msgstr "Región de Trnava" msgid "Zilina region" msgstr "Región de Zilina" -#: contrib/localflavor/uk/forms.py:18 -msgid "Enter a postcode. A space is required between the two postcode parts." -msgstr "Introduzca un código postal. Se necesita un espacio entre las dos partes del código." +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "Introduzca un código postal válido" -#: contrib/localflavor/us/forms.py:18 +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Fermanagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "Inglaterra" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "Escocia" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "Gales" + +#: contrib/localflavor/us/forms.py:16 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Introduzca un código postal en el formato XXXXX o XXXX-XXXX." -#: contrib/localflavor/us/forms.py:51 +#: contrib/localflavor/us/forms.py:54 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" +msgstr "" +"Introduzca un Número Seguro Social de EEUU válido en el formato XXX-XX-XXXX" + +#: contrib/localflavor/za/forms.py:20 +msgid "Enter a valid South African ID number" +msgstr "Introduzca un ID Sur Africano válido" + +#: contrib/localflavor/za/forms.py:54 +msgid "Enter a valid South African postal code" +msgstr "Introduzca un código postal Sur Africano válido" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "redirigir desde" #: 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/'." +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/redirects/models.py:9 msgid "redirect to" msgstr "redirigir a" #: 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://'." +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" @@ -2931,23 +3528,23 @@ msgstr "redirección" msgid "redirects" msgstr "redirecciones" -#: contrib/sessions/models.py:80 +#: contrib/sessions/models.py:41 msgid "session key" msgstr "clave de sesión" -#: contrib/sessions/models.py:81 +#: contrib/sessions/models.py:42 msgid "session data" msgstr "datos de sesión" -#: contrib/sessions/models.py:82 +#: contrib/sessions/models.py:43 msgid "expire date" msgstr "fecha de caducidad" -#: contrib/sessions/models.py:87 +#: contrib/sessions/models.py:48 msgid "session" msgstr "sesión" -#: contrib/sessions/models.py:88 +#: contrib/sessions/models.py:49 msgid "sessions" msgstr "sesiones" @@ -2972,8 +3569,11 @@ 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." +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." @@ -3011,8 +3611,7 @@ msgstr "No se admiten caracteres no numéricos." 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 +#: core/validators.py:128 newforms/fields.py:152 msgid "Enter a whole number." msgstr "Introduzca un número entero." @@ -3029,8 +3628,7 @@ msgstr "El año debe ser 1900 o posterior." msgid "Invalid date: %s" msgstr "Fecha no válida: %s" -#: core/validators.py:156 -#: db/models/fields/__init__.py:505 +#: core/validators.py:156 db/models/fields/__init__.py:527 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Introduzca una fecha válida en formato AAAA-MM-DD." @@ -3038,27 +3636,28 @@ msgstr "Introduzca una fecha válida en formato AAAA-MM-DD." 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 +#: core/validators.py:165 db/models/fields/__init__.py:604 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 +#: core/validators.py:170 newforms/fields.py:403 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 +#: core/validators.py:182 core/validators.py:474 newforms/fields.py:433 +#: oldforms/__init__.py:687 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." +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:193 newforms/fields.py:459 +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 @@ -3068,7 +3667,9 @@ 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." +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 @@ -3098,8 +3699,7 @@ msgstr "XML mal formado: %s" msgid "Invalid URL: %s" msgstr "URL no válida: %s" -#: core/validators.py:259 -#: core/validators.py:261 +#: 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." @@ -3124,8 +3724,7 @@ msgstr "Este campo debe concordar con el campo '%s'." 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 +#: 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." @@ -3170,23 +3769,39 @@ 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." +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." +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." +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." @@ -3217,38 +3832,65 @@ 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." +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\".)" +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\".)" +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\".)" +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\".)" +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\".)" +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\".)" +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 @@ -3260,211 +3902,211 @@ msgstr "%(object)s de este %(type)s ya existen en este %(field)s." 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 +#: db/models/fields/__init__.py:161 db/models/fields/__init__.py:327 +#: db/models/fields/__init__.py:759 db/models/fields/__init__.py:770 +#: newforms/fields.py:46 oldforms/__init__.py:374 msgid "This field is required." msgstr "Este campo es obligatorio." -#: db/models/fields/__init__.py:414 +#: db/models/fields/__init__.py:427 msgid "This value must be an integer." msgstr "Este valor debe ser un entero." -#: db/models/fields/__init__.py:450 +#: db/models/fields/__init__.py:466 msgid "This value must be either True or False." msgstr "Este valor debe ser Verdadero o Falso." -#: db/models/fields/__init__.py:471 +#: db/models/fields/__init__.py:490 msgid "This field cannot be null." msgstr "Este campo no puede estar vacío." -#: db/models/fields/__init__.py:640 +#: db/models/fields/__init__.py:668 msgid "This value must be a decimal number." msgstr "Este valor debe ser un entero." -#: db/models/fields/__init__.py:751 +#: db/models/fields/__init__.py:779 msgid "Enter a valid filename." msgstr "Introduzca un nombre de fichero válido" -#: db/models/fields/__init__.py:900 +#: db/models/fields/__init__.py:960 msgid "This value must be either None, True or False." msgstr "Este valor debe ser Verdadero o Falso." -#: db/models/fields/related.py:658 +#: db/models/fields/related.py:93 +#, python-format +msgid "Please enter a valid %s." +msgstr "Por favor, introduzca un %s válido." + +#: db/models/fields/related.py:701 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:703 +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 +#: db/models/fields/related.py:750 #, 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." +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 +#: newforms/fields.py:47 +msgid "Enter a valid value." +msgstr "Introduzca un valor correcto." + +#: newforms/fields.py:124 #, 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)." +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)." +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 +#: newforms/fields.py:153 newforms/fields.py:182 newforms/fields.py:211 #, 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 +#: newforms/fields.py:154 newforms/fields.py:183 newforms/fields.py:212 #, 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 +#: newforms/fields.py:181 newforms/fields.py:210 msgid "Enter a number." msgstr "Introduzca un número." -#: newforms/fields.py:208 +#: newforms/fields.py:213 #, 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 +#: newforms/fields.py:214 #, 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 +#: newforms/fields.py:215 #, 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 +#: newforms/fields.py:263 newforms/fields.py:751 msgid "Enter a valid date." msgstr "Introduzca una fecha válida." -#: newforms/fields.py:272 -#: newforms/fields.py:635 +#: newforms/fields.py:296 newforms/fields.py:752 msgid "Enter a valid time." msgstr "Introduzca una hora válida." -#: newforms/fields.py:308 +#: newforms/fields.py:335 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 +#: newforms/fields.py:434 msgid "No file was submitted." msgstr "No se ha enviado ningún fichero" -#: newforms/fields.py:381 -#: oldforms/__init__.py:688 +#: newforms/fields.py:435 oldforms/__init__.py:689 msgid "The submitted file is empty." msgstr "El fichero enviado está vacío." -#: newforms/fields.py:419 -#: newforms/fields.py:444 +#: newforms/fields.py:497 msgid "Enter a valid URL." msgstr "Introduzca una URL válida." -#: newforms/fields.py:446 +#: newforms/fields.py:498 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 +#: newforms/fields.py:560 newforms/models.py:299 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 +#: newforms/fields.py:599 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Escoja una opción válida. %(value)s no es una de las opciones disponibles." + +#: newforms/fields.py:600 newforms/fields.py:662 newforms/models.py:371 msgid "Enter a list of values." msgstr "Introduzca una lista de valores." -#: newforms/fields.py:523 -#: newforms/models.py:203 +#: newforms/fields.py:780 +msgid "Enter a valid IPv4 address." +msgstr "Introduzca una dirección IPv4 válida." + +#: newforms/models.py:372 #, 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 +#: oldforms/__init__.py:409 #, 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 carácter." msgstr[1] "Asegúrese de que su texto tiene menos de %s caracteres." -#: oldforms/__init__.py:413 +#: oldforms/__init__.py:414 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 +#: oldforms/__init__.py:512 oldforms/__init__.py:586 oldforms/__init__.py:625 #, python-format 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:744 +#: oldforms/__init__.py:745 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 +#: oldforms/__init__.py:755 msgid "Enter a positive number." msgstr "Introduzca un número positivo." -#: oldforms/__init__.py:764 +#: oldforms/__init__.py:765 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 +#: template/defaultfilters.py:698 msgid "yes,no,maybe" msgstr "sí,no,tal vez" -#: template/defaultfilters.py:570 +#: template/defaultfilters.py:729 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:572 +#: template/defaultfilters.py:731 #, python-format msgid "%.1f KB" msgstr "%.1f KB" -#: template/defaultfilters.py:574 +#: template/defaultfilters.py:733 #, python-format msgid "%.1f MB" msgstr "%.1f MB" -#: template/defaultfilters.py:575 +#: template/defaultfilters.py:734 #, python-format msgid "%.1f GB" msgstr "%.1f GB" @@ -3557,28 +4199,23 @@ msgstr "Enero" msgid "February" msgstr "Febrero" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "March" msgstr "Marzo" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "April" msgstr "Abril" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "May" msgstr "Mayo" -#: utils/dates.py:18 -#: utils/dates.py:31 +#: utils/dates.py:18 utils/dates.py:31 msgid "June" msgstr "Junio" -#: utils/dates.py:19 -#: utils/dates.py:31 +#: utils/dates.py:19 utils/dates.py:31 msgid "July" msgstr "Julio" @@ -3732,23 +4369,23 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:391 +#: utils/translation/trans_real.py:403 msgid "DATE_FORMAT" msgstr "j N Y" -#: utils/translation/trans_real.py:392 +#: utils/translation/trans_real.py:404 msgid "DATETIME_FORMAT" msgstr "j N Y P" -#: utils/translation/trans_real.py:393 +#: utils/translation/trans_real.py:405 msgid "TIME_FORMAT" msgstr "P" -#: utils/translation/trans_real.py:409 +#: utils/translation/trans_real.py:421 msgid "YEAR_MONTH_FORMAT" msgstr "F Y" -#: utils/translation/trans_real.py:410 +#: utils/translation/trans_real.py:422 msgid "MONTH_DAY_FORMAT" msgstr "j \\de F" @@ -3767,3 +4404,11 @@ msgstr "Se actualizó con éxito el %(verbose_name)s." msgid "The %(verbose_name)s was deleted." msgstr "El %(verbose_name)s ha sido eliminado." +#~ msgid "Gaeilge" +#~ msgstr "Gaeilge" + +#~ msgid "" +#~ "Enter a postcode. A space is required between the two postcode parts." +#~ msgstr "" +#~ "Introduzca un código postal. Se necesita un espacio entre las dos partes " +#~ "del código." diff --git a/django/conf/locale/es/LC_MESSAGES/djangojs.mo b/django/conf/locale/es/LC_MESSAGES/djangojs.mo index fa886fba26..b42ebb3c78 100644 Binary files a/django/conf/locale/es/LC_MESSAGES/djangojs.mo and b/django/conf/locale/es/LC_MESSAGES/djangojs.mo differ diff --git a/django/conf/locale/es/LC_MESSAGES/djangojs.po b/django/conf/locale/es/LC_MESSAGES/djangojs.po index f85ea6dcb6..4ad90fadd3 100644 --- a/django/conf/locale/es/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/es/LC_MESSAGES/djangojs.po @@ -1,14 +1,14 @@ # Spanish translation for the django-admin JS files. -# Copyright (C) -# This file is distributed under the same license as the PACKAGE package. -# +# Copyright (C) 2008, The Django Project +# This file is distributed under the same license as the django package. msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-07-14 13:47-0500\n" -"PO-Revision-Date: 2007-07-14 13:41-0500\n" -"Last-Translator: Jorge Gajon \n" +"POT-Creation-Date: 2005-10-04 00:00+0200\n" +"PO-Revision-Date: 2008-03-30 00:54+0100\n" +"Last-Translator: Django Spanish Group \n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff --git a/django/conf/locale/pl/LC_MESSAGES/django.mo b/django/conf/locale/pl/LC_MESSAGES/django.mo index 6677af0674..f47adbd813 100644 Binary files a/django/conf/locale/pl/LC_MESSAGES/django.mo and b/django/conf/locale/pl/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/pl/LC_MESSAGES/django.po b/django/conf/locale/pl/LC_MESSAGES/django.po index c33afac470..d18ab7c5fa 100644 --- a/django/conf/locale/pl/LC_MESSAGES/django.po +++ b/django/conf/locale/pl/LC_MESSAGES/django.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-02-25 12:45+0100\n" +"POT-Creation-Date: 2008-03-29 20:56+0100\n" "PO-Revision-Date: 2008-02-25 15:53+0100\n" "Last-Translator: Łukasz Czyżykowki \n" "Language-Team: Polish \n" @@ -65,134 +65,142 @@ msgid "Argentinean Spanish" msgstr "Hiszpański argentyński" #: conf/global_settings.py:51 +msgid "Basque" +msgstr "Baskijski" + +#: conf/global_settings.py:52 msgid "Persian" msgstr "Perski" -#: conf/global_settings.py:52 +#: conf/global_settings.py:53 msgid "Finnish" msgstr "Fiński" -#: conf/global_settings.py:53 +#: conf/global_settings.py:54 msgid "French" msgstr "Francuski" -#: conf/global_settings.py:54 -msgid "Gaeilge" -msgstr "Gaelicki" - #: conf/global_settings.py:55 +msgid "Irish" +msgstr "Irlandzki" + +#: conf/global_settings.py:56 msgid "Galician" msgstr "Galicyjski" -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Hungarian" msgstr "Węgierski" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 msgid "Hebrew" msgstr "Hebrajski" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Croatian" msgstr "Horwacki" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Icelandic" msgstr "Islandzki" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "Italian" msgstr "Włoski" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 msgid "Japanese" msgstr "Japoński" -#: conf/global_settings.py:62 +#: conf/global_settings.py:63 +msgid "Georgian" +msgstr "Gruziński" + +#: conf/global_settings.py:64 msgid "Korean" msgstr "Koreański" -#: conf/global_settings.py:63 +#: conf/global_settings.py:65 msgid "Khmer" msgstr "Khmerski" -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Kannada" msgstr "Kannada" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Latvian" msgstr "Łotewski" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Macedonian" msgstr "Macedoński" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 msgid "Dutch" msgstr "Holenderski" -#: conf/global_settings.py:68 +#: conf/global_settings.py:70 msgid "Norwegian" msgstr "Norweski" -#: conf/global_settings.py:69 +#: conf/global_settings.py:71 msgid "Polish" msgstr "Polski" -#: conf/global_settings.py:70 +#: conf/global_settings.py:72 msgid "Portugese" msgstr "Portugalski" -#: conf/global_settings.py:71 +#: conf/global_settings.py:73 msgid "Brazilian" msgstr "Brazylijski" -#: conf/global_settings.py:72 +#: conf/global_settings.py:74 msgid "Romanian" msgstr "Rumuński" -#: conf/global_settings.py:73 +#: conf/global_settings.py:75 msgid "Russian" msgstr "Rosyjski" -#: conf/global_settings.py:74 +#: conf/global_settings.py:76 msgid "Slovak" msgstr "Słowacki" -#: conf/global_settings.py:75 +#: conf/global_settings.py:77 msgid "Slovenian" msgstr "Słoweński" -#: conf/global_settings.py:76 +#: conf/global_settings.py:78 msgid "Serbian" msgstr "Serbski" -#: conf/global_settings.py:77 +#: conf/global_settings.py:79 msgid "Swedish" msgstr "Szwedzki" -#: conf/global_settings.py:78 +#: conf/global_settings.py:80 msgid "Tamil" msgstr "Tamilski" -#: conf/global_settings.py:79 +#: conf/global_settings.py:81 msgid "Telugu" msgstr "Telugu" -#: conf/global_settings.py:80 +#: conf/global_settings.py:82 msgid "Turkish" msgstr "Turecki" -#: conf/global_settings.py:81 +#: conf/global_settings.py:83 msgid "Ukrainian" msgstr "Ukraiński" -#: conf/global_settings.py:82 +#: conf/global_settings.py:84 msgid "Simplified Chinese" msgstr "Uproszczony chiński" -#: conf/global_settings.py:83 +#: conf/global_settings.py:85 msgid "Traditional Chinese" msgstr "Chiński tradycyjny" @@ -472,7 +480,7 @@ msgid "Password:" msgstr "Hasło:" #: contrib/admin/templates/admin/login.html:25 -#: contrib/admin/views/decorators.py:25 +#: contrib/admin/views/decorators.py:31 msgid "Log in" msgstr "Zaloguj się" @@ -791,7 +799,7 @@ msgstr "Hasło zostało zmienione pomyślnie." msgid "Change password: %s" msgstr "Zmień hasło: %s" -#: contrib/admin/views/decorators.py:11 contrib/auth/forms.py:60 +#: contrib/admin/views/decorators.py:17 contrib/auth/forms.py:60 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -799,7 +807,7 @@ msgstr "" "Proszę wpisać poprawną nazwę użytkownika i hasło. Uwaga: wielkość liter ma " "znaczenie." -#: contrib/admin/views/decorators.py:63 +#: contrib/admin/views/decorators.py:69 msgid "" "Please log in again, because your session has expired. Don't worry: Your " "submission has been saved." @@ -807,7 +815,7 @@ msgstr "" "Zaloguj się ponownie. Twoja sesja wygasła lecz twoje zgłoszenie zostało " "zapisane." -#: contrib/admin/views/decorators.py:70 +#: contrib/admin/views/decorators.py:76 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -815,11 +823,11 @@ msgstr "" "Twoja przeglądarka nie chce akceptować ciasteczek. Zmień jej ustawienia i " "spróbuj ponownie." -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:90 msgid "Usernames cannot contain the '@' character." msgstr "Nazwy użytkowników nie mogą zawierać znaków '@'." -#: contrib/admin/views/decorators.py:86 +#: contrib/admin/views/decorators.py:92 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Twój adres e-mail to nie jest twój login. Spróbuj '%s'." @@ -947,7 +955,7 @@ msgstr "Tekst" msgid "Time" msgstr "Czas" -#: contrib/admin/views/doc.py:318 contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:318 contrib/flatpages/models.py:8 msgid "URL" msgstr "URL" @@ -1542,42 +1550,42 @@ msgstr "Błędny ID komentarza" msgid "No voting for yourself" msgstr "Nie można głosować na siebie" -#: contrib/contenttypes/models.py:37 +#: contrib/contenttypes/models.py:67 msgid "python model class name" msgstr "nazwa pythonowa modelu klasy" -#: contrib/contenttypes/models.py:40 +#: contrib/contenttypes/models.py:71 msgid "content type" msgstr "typ zawartości" -#: contrib/contenttypes/models.py:41 +#: contrib/contenttypes/models.py:72 msgid "content types" msgstr "typy zawartości" -#: contrib/flatpages/models.py:8 +#: contrib/flatpages/models.py:9 msgid "" "Example: '/about/contact/'. Make sure to have leading and trailing slashes." msgstr "" "Przykład: '/about/contact/'. Upewnij się że wpisałeś otwierający i " "zamykający ukośnik." -#: contrib/flatpages/models.py:9 +#: contrib/flatpages/models.py:10 msgid "title" msgstr "tytuł" -#: contrib/flatpages/models.py:10 +#: contrib/flatpages/models.py:11 msgid "content" msgstr "zawartość" -#: contrib/flatpages/models.py:11 +#: contrib/flatpages/models.py:12 msgid "enable comments" msgstr "włącz komentarze" -#: contrib/flatpages/models.py:12 +#: contrib/flatpages/models.py:13 msgid "template name" msgstr "nazwa szablonu" -#: contrib/flatpages/models.py:13 +#: contrib/flatpages/models.py:14 msgid "" "Example: 'flatpages/contact_page.html'. If this isn't provided, the system " "will use 'flatpages/default.html'." @@ -1585,40 +1593,44 @@ msgstr "" "Przykład: 'flatpages/contact_page.html'. Jeżeli nie zostanie podane, system " "użyje 'flatpages/default.html'." -#: contrib/flatpages/models.py:14 +#: contrib/flatpages/models.py:15 msgid "registration required" msgstr "wymagana rejestracja" -#: contrib/flatpages/models.py:14 +#: contrib/flatpages/models.py:15 msgid "If this is checked, only logged-in users will be able to view the page." msgstr "" "Jeżeli zaznaczone - tylko zalogowani użytkownicy będą mogli zobaczyć stronę." -#: contrib/flatpages/models.py:18 +#: contrib/flatpages/models.py:20 msgid "flat page" msgstr "strona statyczna" -#: contrib/flatpages/models.py:19 +#: contrib/flatpages/models.py:21 msgid "flat pages" msgstr "strony statyczne" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/flatpages/models.py:27 +msgid "Advanced options" +msgstr "Opcje zaawansowane" + +#: contrib/humanize/templatetags/humanize.py:19 msgid "th" msgstr "-y" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "st" msgstr "-szy" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "nd" msgstr "-gi" -#: contrib/humanize/templatetags/humanize.py:20 +#: contrib/humanize/templatetags/humanize.py:19 msgid "rd" msgstr "-ci" -#: contrib/humanize/templatetags/humanize.py:52 +#: contrib/humanize/templatetags/humanize.py:51 #, python-format msgid "%(value).1f million" msgid_plural "%(value).1f million" @@ -1626,7 +1638,7 @@ msgstr[0] "%(value).1f milion" msgstr[1] "%(value).1f miliony" msgstr[2] "%(value).1f milionów" -#: contrib/humanize/templatetags/humanize.py:55 +#: contrib/humanize/templatetags/humanize.py:54 #, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" @@ -1634,7 +1646,7 @@ msgstr[0] "%(value).1f miliard" msgstr[1] "%(value).1f miliardy" msgstr[2] "%(value).1f miliardów" -#: contrib/humanize/templatetags/humanize.py:58 +#: contrib/humanize/templatetags/humanize.py:57 #, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" @@ -1642,73 +1654,73 @@ msgstr[0] "%(value).1f bilion" msgstr[1] "%(value).1f biliony" msgstr[2] "%(value).1f bilionów" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "one" msgstr "jeden" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "two" msgstr "dwa" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "three" msgstr "trzy" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "four" msgstr "cztery" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "five" msgstr "pięć" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "six" msgstr "sześć" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "seven" msgstr "siedem" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "eight" msgstr "osiem" -#: contrib/humanize/templatetags/humanize.py:74 +#: contrib/humanize/templatetags/humanize.py:73 msgid "nine" msgstr "dziewięć" -#: contrib/humanize/templatetags/humanize.py:94 +#: contrib/humanize/templatetags/humanize.py:93 msgid "today" msgstr "dzisiaj" -#: contrib/humanize/templatetags/humanize.py:96 +#: contrib/humanize/templatetags/humanize.py:95 msgid "tomorrow" msgstr "jutro" -#: contrib/humanize/templatetags/humanize.py:98 +#: contrib/humanize/templatetags/humanize.py:97 msgid "yesterday" msgstr "wczoraj" -#: contrib/localflavor/ar/forms.py:28 +#: contrib/localflavor/ar/forms.py:27 msgid "Enter a postal code in the format NNNN or ANNNNAAA." msgstr "Wpisz kod pocztowy w formacie NNNN lub ANNNNAAA." -#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:96 +#: contrib/localflavor/ar/forms.py:49 contrib/localflavor/br/forms.py:96 #: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 #: contrib/localflavor/pe/forms.py:51 msgid "This field requires only numbers." msgstr "To pole może zawierać jedynie liczby." -#: contrib/localflavor/ar/forms.py:51 +#: contrib/localflavor/ar/forms.py:50 msgid "This field requires 7 or 8 digits." msgstr "To pole musi zawierać 7 lub 8 cyfr." -#: contrib/localflavor/ar/forms.py:80 +#: contrib/localflavor/ar/forms.py:79 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "Podaj poprawny numer CUIT w formacie XX-XXXXXXXX-X lub XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:81 +#: contrib/localflavor/ar/forms.py:80 msgid "Invalid CUIT." msgstr "Niepoprawny CUIT" @@ -2300,7 +2312,7 @@ msgstr "Wpisz poprawny numer ubezpieczenia socjalnego." msgid "Enter a valid VAT number." msgstr "Wpisz poprawny numer VAT." -#: contrib/localflavor/jp/forms.py:19 +#: contrib/localflavor/jp/forms.py:17 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." msgstr "Wpisz kod pocztowy w formacie XXXXXXX lub XXX-XXXX." @@ -2549,11 +2561,13 @@ msgid "Jalisco" msgstr "Jalisco" #: contrib/localflavor/mx/mx_states.py:26 -msgid "Estado de México" +#, fuzzy +msgid "Estado de México" msgstr "Meksyk (stan)" #: contrib/localflavor/mx/mx_states.py:27 -msgid "Michoacán" +#, fuzzy +msgid "Michoacán" msgstr "Michocan" #: contrib/localflavor/mx/mx_states.py:28 @@ -2565,7 +2579,8 @@ msgid "Nayarit" msgstr "Nayarit" #: contrib/localflavor/mx/mx_states.py:30 -msgid "Nuevo León" +#, fuzzy +msgid "Nuevo León" msgstr "Nuevo Leon" #: contrib/localflavor/mx/mx_states.py:31 @@ -2577,7 +2592,8 @@ msgid "Puebla" msgstr "Puebla" #: contrib/localflavor/mx/mx_states.py:33 -msgid "Querétaro" +#, fuzzy +msgid "Querétaro" msgstr "Queretaro" #: contrib/localflavor/mx/mx_states.py:34 @@ -2589,7 +2605,8 @@ msgid "Sinaloa" msgstr "Sinaloa" #: contrib/localflavor/mx/mx_states.py:36 -msgid "San Luis Potosí" +#, fuzzy +msgid "San Luis Potosí" msgstr "San Luis Potasi" #: contrib/localflavor/mx/mx_states.py:37 @@ -2613,7 +2630,8 @@ msgid "Veracruz" msgstr "Veracruz" #: contrib/localflavor/mx/mx_states.py:42 -msgid "Yucatán" +#, fuzzy +msgid "Yucatán" msgstr "Jukatan" #: contrib/localflavor/mx/mx_states.py:43 @@ -3501,23 +3519,23 @@ msgstr "przekieruj" msgid "redirects" msgstr "przekierowania" -#: contrib/sessions/models.py:46 +#: contrib/sessions/models.py:41 msgid "session key" msgstr "klucz sesji" -#: contrib/sessions/models.py:47 +#: contrib/sessions/models.py:42 msgid "session data" msgstr "data sesji" -#: contrib/sessions/models.py:48 +#: contrib/sessions/models.py:43 msgid "expire date" msgstr "data wygaśnięcia sesji" -#: contrib/sessions/models.py:53 +#: contrib/sessions/models.py:48 msgid "session" msgstr "sesja" -#: contrib/sessions/models.py:54 +#: contrib/sessions/models.py:49 msgid "sessions" msgstr "sesje" @@ -3585,7 +3603,7 @@ msgstr "Tu mogą być tylko cyfry." msgid "This value can't be comprised solely of digits." msgstr "To pole nie może zawierać jedynie cyfr." -#: core/validators.py:128 newforms/fields.py:151 +#: core/validators.py:128 newforms/fields.py:152 msgid "Enter a whole number." msgstr "Wpisz liczbę całkowitą." @@ -3602,7 +3620,7 @@ msgstr "Rok nie może być wcześniejszy niż 1900." msgid "Invalid date: %s" msgstr "Niepoprawna data: %s" -#: core/validators.py:156 db/models/fields/__init__.py:509 +#: core/validators.py:156 db/models/fields/__init__.py:527 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Proszę wpisać poprawną datę w formacie RRRR-MM-DD." @@ -3610,20 +3628,20 @@ msgstr "Proszę wpisać poprawną datę w formacie RRRR-MM-DD." msgid "Enter a valid time in HH:MM format." msgstr "Proszę wpisać poprawną godzinę w formacie HH:MM." -#: core/validators.py:165 db/models/fields/__init__.py:583 +#: core/validators.py:165 db/models/fields/__init__.py:604 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "Wprowadź poprawną datę i godzinę w formacie RRRR-MM-DD GG:MM." -#: core/validators.py:170 newforms/fields.py:402 +#: core/validators.py:170 newforms/fields.py:403 msgid "Enter a valid e-mail address." msgstr "Wprowadź poprawny adres e-mail." -#: core/validators.py:182 core/validators.py:474 newforms/fields.py:432 +#: core/validators.py:182 core/validators.py:474 newforms/fields.py:433 #: oldforms/__init__.py:687 msgid "No file was submitted. Check the encoding type on the form." msgstr "Nie wysłano żadnego pliku. Sprawdź typ kodowania formularza." -#: core/validators.py:193 newforms/fields.py:458 +#: core/validators.py:193 newforms/fields.py:459 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -3879,54 +3897,54 @@ msgstr "%(object)s z %(type)s już istnieje dla %(field)s." msgid "%(optname)s with this %(fieldname)s already exists." msgstr "Już istnieje %(optname)s z %(fieldname)s." -#: db/models/fields/__init__.py:161 db/models/fields/__init__.py:318 -#: db/models/fields/__init__.py:735 db/models/fields/__init__.py:746 -#: newforms/fields.py:45 oldforms/__init__.py:374 +#: db/models/fields/__init__.py:161 db/models/fields/__init__.py:327 +#: db/models/fields/__init__.py:759 db/models/fields/__init__.py:770 +#: newforms/fields.py:46 oldforms/__init__.py:374 msgid "This field is required." msgstr "To pole jest wymagane." -#: db/models/fields/__init__.py:418 +#: db/models/fields/__init__.py:427 msgid "This value must be an integer." msgstr "Ta wartość musi być liczbą całkowitą." -#: db/models/fields/__init__.py:454 +#: db/models/fields/__init__.py:466 msgid "This value must be either True or False." msgstr "Ta wartość musi być logiczna (True, False - prawda lub fałsz)." -#: db/models/fields/__init__.py:475 +#: db/models/fields/__init__.py:490 msgid "This field cannot be null." msgstr "To pole nie może być puste." -#: db/models/fields/__init__.py:644 +#: db/models/fields/__init__.py:668 msgid "This value must be a decimal number." msgstr "Ta wartość musi być liczbą dziesiętną." -#: db/models/fields/__init__.py:755 +#: db/models/fields/__init__.py:779 msgid "Enter a valid filename." msgstr "Wpisz poprawną nazwę pliku." -#: db/models/fields/__init__.py:908 +#: db/models/fields/__init__.py:960 msgid "This value must be either None, True or False." msgstr "" "Ta wartość musi być jedną z None (żadne), True (prawda) lub False (fałsz)." -#: db/models/fields/related.py:55 +#: db/models/fields/related.py:93 #, python-format msgid "Please enter a valid %s." msgstr "Proszę wpisać poprawne %s." -#: db/models/fields/related.py:658 +#: db/models/fields/related.py:701 msgid "Separate multiple IDs with commas." msgstr "Oddziel identyfikatory przecinkami." -#: db/models/fields/related.py:660 +#: db/models/fields/related.py:703 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Przytrzymaj wciśnięty klawisz \"Ctrl\" lub \"Command\" na Mac'u aby " "zaznaczyć więcej niż jeden wybór." -#: db/models/fields/related.py:707 +#: db/models/fields/related.py:750 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -3941,100 +3959,100 @@ msgstr[2] "" "Proszę podać poprawne identyfikatory %(self)s. Wartości %(value)r są " "niepoprawne." -#: newforms/fields.py:46 +#: newforms/fields.py:47 msgid "Enter a valid value." msgstr "Wpisz poprawną wartość." -#: newforms/fields.py:123 +#: newforms/fields.py:124 #, python-format msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." msgstr "" "Upewnij się, że ta wartość ma co najwyżej %(max)d znaków (ma długość %" "(length)d)." -#: newforms/fields.py:124 +#: newforms/fields.py:125 #, python-format msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." msgstr "" "Upewnij się, że ta wartość ma co najmniej %(min)d znaków (ma długość %" "(length)d)." -#: newforms/fields.py:152 newforms/fields.py:181 newforms/fields.py:210 +#: newforms/fields.py:153 newforms/fields.py:182 newforms/fields.py:211 #, python-format msgid "Ensure this value is less than or equal to %s." msgstr "Upewnij się, że ta wartość jest mniejsza lub równa %s." -#: newforms/fields.py:153 newforms/fields.py:182 newforms/fields.py:211 +#: newforms/fields.py:154 newforms/fields.py:183 newforms/fields.py:212 #, python-format msgid "Ensure this value is greater than or equal to %s." msgstr "Upewnij się, że ta wartość jest większa lub równa %s." -#: newforms/fields.py:180 newforms/fields.py:209 +#: newforms/fields.py:181 newforms/fields.py:210 msgid "Enter a number." msgstr "Wpisz liczbę." -#: newforms/fields.py:212 +#: newforms/fields.py:213 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "Upewnij się, że jest nie więcej niż %s cyfr." -#: newforms/fields.py:213 +#: newforms/fields.py:214 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "Upewnij się, że jest nie więcej niż %s miejsc po przecinku." -#: newforms/fields.py:214 +#: newforms/fields.py:215 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "Upewnij się, że jest nie więcej niż %s miejsc przed przecinkiem." -#: newforms/fields.py:262 newforms/fields.py:723 +#: newforms/fields.py:263 newforms/fields.py:751 msgid "Enter a valid date." msgstr "Wpisz poprawną datę." -#: newforms/fields.py:295 newforms/fields.py:724 +#: newforms/fields.py:296 newforms/fields.py:752 msgid "Enter a valid time." msgstr "Wpisz poprawną godzinę." -#: newforms/fields.py:334 +#: newforms/fields.py:335 msgid "Enter a valid date/time." msgstr "Wpisz poprawną datę/godzinę." -#: newforms/fields.py:433 +#: newforms/fields.py:434 msgid "No file was submitted." msgstr "Żaden plik nie został przesłany." -#: newforms/fields.py:434 oldforms/__init__.py:689 +#: newforms/fields.py:435 oldforms/__init__.py:689 msgid "The submitted file is empty." msgstr "Wysłany plik jest pusty." -#: newforms/fields.py:496 +#: newforms/fields.py:497 msgid "Enter a valid URL." msgstr "Wpisz poprawny URL." -#: newforms/fields.py:497 +#: newforms/fields.py:498 msgid "This URL appears to be a broken link." msgstr "Ten odnośnik jest nieprawidłowy." -#: newforms/fields.py:559 newforms/models.py:317 +#: newforms/fields.py:560 newforms/models.py:299 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "Wybierz poprawną wartość. Podana nie jest jednym z dostępnych wyborów." -#: newforms/fields.py:598 +#: newforms/fields.py:599 #, python-format msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "" "Wybierz poprawną wartość. %(value)s nie jest jednym z dostępnych wyborów." -#: newforms/fields.py:599 newforms/fields.py:661 newforms/models.py:377 +#: newforms/fields.py:600 newforms/fields.py:662 newforms/models.py:371 msgid "Enter a list of values." msgstr "Podaj listę wartości." -#: newforms/fields.py:752 +#: newforms/fields.py:780 msgid "Enter a valid IPv4 address." msgstr "Wprowadź poprawny adres IPv4." -#: newforms/models.py:378 +#: newforms/models.py:372 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Wybierz poprawną wartość. %s nie jest jednym z dostępnych wyborów." @@ -4068,11 +4086,11 @@ msgstr "Proszę wpisać liczbę dodatnią." msgid "Enter a whole number between 0 and 32,767." msgstr "Proszę wpisać liczbę całkowitą z zakresu od 0 do 32 767" -#: template/defaultfilters.py:691 +#: template/defaultfilters.py:698 msgid "yes,no,maybe" msgstr "tak,nie,może" -#: template/defaultfilters.py:722 +#: template/defaultfilters.py:729 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" @@ -4080,17 +4098,17 @@ msgstr[0] "%(size)d bajt" msgstr[1] "%(size)d bajty" msgstr[2] "%(size)d bajtów" -#: template/defaultfilters.py:724 +#: template/defaultfilters.py:731 #, python-format msgid "%.1f KB" msgstr "%.1f KB" -#: template/defaultfilters.py:726 +#: template/defaultfilters.py:733 #, python-format msgid "%.1f MB" msgstr "%.1f MB" -#: template/defaultfilters.py:727 +#: template/defaultfilters.py:734 #, python-format msgid "%.1f GB" msgstr "%.1f GB" @@ -4359,23 +4377,23 @@ msgstr "%(number)d %(type)s" msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:404 +#: utils/translation/trans_real.py:403 msgid "DATE_FORMAT" msgstr "Y-m-d" -#: utils/translation/trans_real.py:405 +#: utils/translation/trans_real.py:404 msgid "DATETIME_FORMAT" msgstr "Y-m-d H:i:s" -#: utils/translation/trans_real.py:406 +#: utils/translation/trans_real.py:405 msgid "TIME_FORMAT" msgstr "H:i:s" -#: utils/translation/trans_real.py:422 +#: utils/translation/trans_real.py:421 msgid "YEAR_MONTH_FORMAT" msgstr "Y-m" -#: utils/translation/trans_real.py:423 +#: utils/translation/trans_real.py:422 msgid "MONTH_DAY_FORMAT" msgstr "m-d" @@ -4394,6 +4412,9 @@ msgstr "%(verbose_name)s zostało pomyślnie zmienione." msgid "The %(verbose_name)s was deleted." msgstr "%(verbose_name)s zostało usunięte." +#~ msgid "Gaeilge" +#~ msgstr "Gaelicki" + #~ msgid "" #~ "Enter a postcode. A space is required between the two postcode parts." #~ msgstr "" diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py index e45b6ed0bb..6db59ea338 100644 --- a/django/contrib/admin/templatetags/admin_list.py +++ b/django/contrib/admin/templatetags/admin_list.py @@ -22,7 +22,7 @@ def paginator_number(cl,i): elif i == cl.page_num: return mark_safe(u'%d ' % (i+1)) else: - return mark_safe(u'%d ' % (cl.get_query_string({PAGE_VAR: i}), (i == cl.paginator.pages-1 and ' class="end"' or ''), i+1)) + return mark_safe(u'%d ' % (cl.get_query_string({PAGE_VAR: i}), (i == cl.paginator.num_pages-1 and ' class="end"' or ''), i+1)) paginator_number = register.simple_tag(paginator_number) def pagination(cl): @@ -37,8 +37,8 @@ def pagination(cl): # If there are 10 or fewer pages, display links to every page. # Otherwise, do some fancy - if paginator.pages <= 10: - page_range = range(paginator.pages) + if paginator.num_pages <= 10: + page_range = range(paginator.num_pages) else: # Insert "smart" pagination links, so that there are always ON_ENDS # links at either end of the list of pages, and there are always @@ -50,12 +50,12 @@ def pagination(cl): page_range.extend(range(page_num - ON_EACH_SIDE, page_num + 1)) else: page_range.extend(range(0, page_num + 1)) - if page_num < (paginator.pages - ON_EACH_SIDE - ON_ENDS - 1): + if page_num < (paginator.num_pages - ON_EACH_SIDE - ON_ENDS - 1): page_range.extend(range(page_num + 1, page_num + ON_EACH_SIDE + 1)) page_range.append(DOT) - page_range.extend(range(paginator.pages - ON_ENDS, paginator.pages)) + page_range.extend(range(paginator.num_pages - ON_ENDS, paginator.num_pages)) else: - page_range.extend(range(page_num + 1, paginator.pages)) + page_range.extend(range(page_num + 1, paginator.num_pages)) need_show_all_link = cl.can_show_all and not cl.show_all and cl.multi_page return { diff --git a/django/contrib/admin/views/main.py b/django/contrib/admin/views/main.py index 1e66b56e0f..084a2f67cb 100644 --- a/django/contrib/admin/views/main.py +++ b/django/contrib/admin/views/main.py @@ -5,7 +5,7 @@ from django.contrib.admin.views.decorators import staff_member_required from django.views.decorators.cache import never_cache from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist, PermissionDenied -from django.core.paginator import ObjectPaginator, InvalidPage +from django.core.paginator import QuerySetPaginator, InvalidPage from django.shortcuts import get_object_or_404, render_to_response from django.db import models from django.db.models.query import QuerySet @@ -611,11 +611,11 @@ class ChangeList(object): return mark_safe('?' + '&'.join([u'%s=%s' % (k, v) for k, v in p.items()]).replace(' ', '%20')) def get_results(self, request): - paginator = ObjectPaginator(self.query_set, self.lookup_opts.admin.list_per_page) + paginator = QuerySetPaginator(self.query_set, self.lookup_opts.admin.list_per_page) # Get the number of objects, with admin filters applied. try: - result_count = paginator.hits + result_count = paginator.count # Naked except! Because we don't have any other way of validating # "params". They might be invalid if the keyword arguments are # incorrect, or if the values are not in the correct type (which would @@ -640,7 +640,7 @@ class ChangeList(object): result_list = list(self.query_set) else: try: - result_list = paginator.get_page(self.page_num) + result_list = paginator.page(self.page_num+1).object_list except InvalidPage: result_list = () diff --git a/django/contrib/flatpages/models.py b/django/contrib/flatpages/models.py index 36327c80c3..190ffbd8b3 100644 --- a/django/contrib/flatpages/models.py +++ b/django/contrib/flatpages/models.py @@ -3,6 +3,7 @@ from django.db import models from django.contrib.sites.models import Site from django.utils.translation import ugettext_lazy as _ + class FlatPage(models.Model): url = models.CharField(_('URL'), max_length=100, validator_list=[validators.isAlphaNumericURL], db_index=True, help_text=_("Example: '/about/contact/'. Make sure to have leading and trailing slashes.")) @@ -13,15 +14,17 @@ class FlatPage(models.Model): help_text=_("Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'.")) registration_required = models.BooleanField(_('registration required'), help_text=_("If this is checked, only logged-in users will be able to view the page.")) sites = models.ManyToManyField(Site) + class Meta: db_table = 'django_flatpage' verbose_name = _('flat page') verbose_name_plural = _('flat pages') ordering = ('url',) + class Admin: fields = ( (None, {'fields': ('url', 'title', 'content', 'sites')}), - ('Advanced options', {'classes': 'collapse', 'fields': ('enable_comments', 'registration_required', 'template_name')}), + (_('Advanced options'), {'classes': 'collapse', 'fields': ('enable_comments', 'registration_required', 'template_name')}), ) list_filter = ('sites',) search_fields = ('url', 'title') diff --git a/django/core/mail.py b/django/core/mail.py index 72343cb4df..bf48dcb882 100644 --- a/django/core/mail.py +++ b/django/core/mail.py @@ -2,20 +2,21 @@ Tools for sending email. """ -from django.conf import settings -from django.utils.encoding import smart_str, force_unicode -from email import Charset, Encoders -from email.MIMEText import MIMEText -from email.MIMEMultipart import MIMEMultipart -from email.MIMEBase import MIMEBase -from email.Header import Header -from email.Utils import formatdate, parseaddr, formataddr import mimetypes import os import smtplib import socket import time import random +from email import Charset, Encoders +from email.MIMEText import MIMEText +from email.MIMEMultipart import MIMEMultipart +from email.MIMEBase import MIMEBase +from email.Header import Header +from email.Utils import formatdate, parseaddr, formataddr + +from django.conf import settings +from django.utils.encoding import smart_str, force_unicode # Don't BASE64-encode UTF-8 messages so that we avoid unwanted attention from # some spam filters. @@ -38,8 +39,9 @@ class CachedDnsName(object): DNS_NAME = CachedDnsName() -# Copied from Python standard library and modified to used the cached hostname -# for performance. +# Copied from Python standard library, with the following modifications: +# * Used cached hostname for performance. +# * Added try/except to support lack of getpid() in Jython (#5496). def make_msgid(idstring=None): """Returns a string suitable for RFC 2822 compliant Message-ID, e.g: @@ -53,7 +55,7 @@ def make_msgid(idstring=None): try: pid = os.getpid() except AttributeError: - # Not getpid() in Jython, for example. + # No getpid() in Jython, for example. pid = 1 randint = random.randrange(100000) if idstring is None: @@ -68,7 +70,7 @@ class BadHeaderError(ValueError): pass def forbid_multi_line_headers(name, val): - "Forbids multi-line headers, to prevent header injection." + """Forbids multi-line headers, to prevent header injection.""" if '\n' in val or '\r' in val: raise BadHeaderError("Header values can't contain newlines (got %r for header %r)" % (val, name)) try: @@ -101,7 +103,7 @@ class SMTPConnection(object): """ def __init__(self, host=None, port=None, username=None, password=None, - use_tls=None, fail_silently=False): + use_tls=None, fail_silently=False): self.host = host or settings.EMAIL_HOST self.port = port or settings.EMAIL_PORT self.username = username or settings.EMAIL_HOST_USER @@ -112,14 +114,17 @@ class SMTPConnection(object): def open(self): """ - Ensure we have a connection to the email server. Returns whether or not - a new connection was required. + Ensures we have a connection to the email server. Returns whether or + not a new connection was required (True or False). """ if self.connection: # Nothing to do if the connection is already open. return False try: - self.connection = smtplib.SMTP(self.host, self.port) + # If local_hostname is not specified, socket.getfqdn() gets used. + # For performance, we use the cached FQDN for local_hostname. + self.connection = smtplib.SMTP(self.host, self.port, + local_hostname=DNS_NAME.get_fqdn()) if self.use_tls: self.connection.ehlo() self.connection.starttls() @@ -132,7 +137,7 @@ class SMTPConnection(object): raise def close(self): - """Close the connection to the email server.""" + """Closes the connection to the email server.""" try: try: self.connection.quit() @@ -149,7 +154,7 @@ class SMTPConnection(object): def send_messages(self, email_messages): """ - Send one or more EmailMessage objects and return the number of email + Sends one or more EmailMessage objects and returns the number of email messages sent. """ if not email_messages: @@ -192,7 +197,7 @@ class EmailMessage(object): def __init__(self, subject='', body='', from_email=None, to=None, bcc=None, connection=None, attachments=None, headers=None): """ - Initialise a single email message (which can be sent to multiple + Initialize a single email message (which can be sent to multiple recipients). All strings used to create the message can be unicode strings (or UTF-8 @@ -221,7 +226,8 @@ class EmailMessage(object): def message(self): encoding = self.encoding or settings.DEFAULT_CHARSET - msg = SafeMIMEText(smart_str(self.body, settings.DEFAULT_CHARSET), self.content_subtype, encoding) + msg = SafeMIMEText(smart_str(self.body, settings.DEFAULT_CHARSET), + self.content_subtype, encoding) if self.attachments: body_msg = msg msg = SafeMIMEMultipart(_subtype=self.multipart_subtype) @@ -237,8 +243,6 @@ class EmailMessage(object): msg['To'] = ', '.join(self.to) msg['Date'] = formatdate() msg['Message-ID'] = make_msgid() - if self.bcc: - msg['Bcc'] = ', '.join(self.bcc) for name, value in self.extra_headers.items(): msg[name] = value return msg @@ -251,7 +255,7 @@ class EmailMessage(object): return self.to + self.bcc def send(self, fail_silently=False): - """Send the email message.""" + """Sends the email message.""" return self.get_connection(fail_silently).send_messages([self]) def attach(self, filename=None, content=None, mimetype=None): @@ -278,7 +282,7 @@ class EmailMessage(object): def _create_attachment(self, filename, content, mimetype=None): """ - Convert the filename, content, mimetype triple into a MIME attachment + Converts the filename, content, mimetype triple into a MIME attachment object. """ if mimetype is None: @@ -295,7 +299,8 @@ class EmailMessage(object): attachment.set_payload(content) Encoders.encode_base64(attachment) if filename: - attachment.add_header('Content-Disposition', 'attachment', filename=filename) + attachment.add_header('Content-Disposition', 'attachment', + filename=filename) return attachment class EmailMultiAlternatives(EmailMessage): @@ -310,7 +315,8 @@ class EmailMultiAlternatives(EmailMessage): """Attach an alternative content representation.""" self.attach(content=content, mimetype=mimetype) -def send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None): +def send_mail(subject, message, from_email, recipient_list, + fail_silently=False, auth_user=None, auth_password=None): """ Easy wrapper for sending a single message to a recipient list. All members of the recipient list will see the other recipients in the 'To' field. @@ -322,10 +328,12 @@ def send_mail(subject, message, from_email, recipient_list, fail_silently=False, functionality should use the EmailMessage class directly. """ connection = SMTPConnection(username=auth_user, password=auth_password, - fail_silently=fail_silently) - return EmailMessage(subject, message, from_email, recipient_list, connection=connection).send() + fail_silently=fail_silently) + return EmailMessage(subject, message, from_email, recipient_list, + connection=connection).send() -def send_mass_mail(datatuple, fail_silently=False, auth_user=None, auth_password=None): +def send_mass_mail(datatuple, fail_silently=False, auth_user=None, + auth_password=None): """ Given a datatuple of (subject, message, from_email, recipient_list), sends each message to each recipient list. Returns the number of e-mails sent. @@ -339,19 +347,19 @@ def send_mass_mail(datatuple, fail_silently=False, auth_user=None, auth_password functionality should use the EmailMessage class directly. """ connection = SMTPConnection(username=auth_user, password=auth_password, - fail_silently=fail_silently) - messages = [EmailMessage(subject, message, sender, recipient) for subject, message, sender, recipient in datatuple] + fail_silently=fail_silently) + messages = [EmailMessage(subject, message, sender, recipient) + for subject, message, sender, recipient in datatuple] return connection.send_messages(messages) def mail_admins(subject, message, fail_silently=False): - "Sends a message to the admins, as defined by the ADMINS setting." + """Sends a message to the admins, as defined by the ADMINS setting.""" EmailMessage(settings.EMAIL_SUBJECT_PREFIX + subject, message, - settings.SERVER_EMAIL, [a[1] for a in - settings.ADMINS]).send(fail_silently=fail_silently) + settings.SERVER_EMAIL, [a[1] for a in settings.ADMINS] + ).send(fail_silently=fail_silently) def mail_managers(subject, message, fail_silently=False): - "Sends a message to the managers, as defined by the MANAGERS setting." + """Sends a message to the managers, as defined by the MANAGERS setting.""" EmailMessage(settings.EMAIL_SUBJECT_PREFIX + subject, message, - settings.SERVER_EMAIL, [a[1] for a in - settings.MANAGERS]).send(fail_silently=fail_silently) - + settings.SERVER_EMAIL, [a[1] for a in settings.MANAGERS] + ).send(fail_silently=fail_silently) diff --git a/django/core/paginator.py b/django/core/paginator.py index dabd20dfc0..04cc4bf481 100644 --- a/django/core/paginator.py +++ b/django/core/paginator.py @@ -173,7 +173,7 @@ class ObjectPaginator(Paginator): if self._count is None: try: self._count = self.object_list.count() - except AttributeError: + except TypeError: self._count = len(self.object_list) return self._count count = property(_get_count) diff --git a/django/db/backends/ado_mssql/__init__.py b/django/db/backends/ado_mssql/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/django/db/backends/ado_mssql/base.py b/django/db/backends/ado_mssql/base.py deleted file mode 100644 index 07ce02d591..0000000000 --- a/django/db/backends/ado_mssql/base.py +++ /dev/null @@ -1,112 +0,0 @@ -""" -ADO MSSQL database backend for Django. - -Requires adodbapi 2.0.1: http://adodbapi.sourceforge.net/ -""" - -from django.db.backends import BaseDatabaseWrapper, BaseDatabaseFeatures, BaseDatabaseOperations, util -try: - import adodbapi as Database -except ImportError, e: - from django.core.exceptions import ImproperlyConfigured - raise ImproperlyConfigured("Error loading adodbapi module: %s" % e) -import datetime -try: - import mx -except ImportError: - mx = None - -DatabaseError = Database.DatabaseError -IntegrityError = Database.IntegrityError - -# We need to use a special Cursor class because adodbapi expects question-mark -# param style, but Django expects "%s". This cursor converts question marks to -# format-string style. -class Cursor(Database.Cursor): - def executeHelper(self, operation, isStoredProcedureCall, parameters=None): - if parameters is not None and "%s" in operation: - operation = operation.replace("%s", "?") - Database.Cursor.executeHelper(self, operation, isStoredProcedureCall, parameters) - -class Connection(Database.Connection): - def cursor(self): - return Cursor(self) -Database.Connection = Connection - -origCVtoP = Database.convertVariantToPython -def variantToPython(variant, adType): - if type(variant) == bool and adType == 11: - return variant # bool not 1/0 - res = origCVtoP(variant, adType) - if mx is not None and type(res) == mx.DateTime.mxDateTime.DateTimeType: - # Convert ms.DateTime objects to Python datetime.datetime objects. - tv = list(res.tuple()[:7]) - tv[-2] = int(tv[-2]) - return datetime.datetime(*tuple(tv)) - if type(res) == float and str(res)[-2:] == ".0": - return int(res) # If float but int, then int. - return res -Database.convertVariantToPython = variantToPython - -class DatabaseFeatures(BaseDatabaseFeatures): - supports_tablespaces = True - -class DatabaseOperations(BaseDatabaseOperations): - def date_extract_sql(self, lookup_type, field_name): - return "DATEPART(%s, %s)" % (lookup_type, field_name) - - def date_trunc_sql(self, lookup_type, field_name): - if lookup_type == 'year': - return "Convert(datetime, Convert(varchar, DATEPART(year, %s)) + '/01/01')" % field_name - if lookup_type == 'month': - return "Convert(datetime, Convert(varchar, DATEPART(year, %s)) + '/' + Convert(varchar, DATEPART(month, %s)) + '/01')" % (field_name, field_name) - if lookup_type == 'day': - return "Convert(datetime, Convert(varchar(12), %s))" % field_name - - def deferrable_sql(self): - return " DEFERRABLE INITIALLY DEFERRED" - - def last_insert_id(self, cursor, table_name, pk_name): - cursor.execute("SELECT %s FROM %s WHERE %s = @@IDENTITY" % (pk_name, table_name, pk_name)) - return cursor.fetchone()[0] - - def quote_name(self, name): - if name.startswith('[') and name.endswith(']'): - return name # Quoting once is enough. - return '[%s]' % name - - def random_function_sql(self): - return 'RAND()' - - def tablespace_sql(self, tablespace, inline=False): - return "ON %s" % self.quote_name(tablespace) - -class DatabaseWrapper(BaseDatabaseWrapper): - features = DatabaseFeatures() - ops = DatabaseOperations() - operators = { - 'exact': '= %s', - 'iexact': 'LIKE %s', - 'contains': 'LIKE %s', - 'icontains': 'LIKE %s', - 'gt': '> %s', - 'gte': '>= %s', - 'lt': '< %s', - 'lte': '<= %s', - 'startswith': 'LIKE %s', - 'endswith': 'LIKE %s', - 'istartswith': 'LIKE %s', - 'iendswith': 'LIKE %s', - } - - def _cursor(self, settings): - if self.connection is None: - if settings.DATABASE_NAME == '' or settings.DATABASE_USER == '': - from django.core.exceptions import ImproperlyConfigured - raise ImproperlyConfigured("You need to specify both DATABASE_NAME and DATABASE_USER in your Django settings file.") - if not settings.DATABASE_HOST: - settings.DATABASE_HOST = "127.0.0.1" - # TODO: Handle DATABASE_PORT. - conn_string = "PROVIDER=SQLOLEDB;DATA SOURCE=%s;UID=%s;PWD=%s;DATABASE=%s" % (settings.DATABASE_HOST, settings.DATABASE_USER, settings.DATABASE_PASSWORD, settings.DATABASE_NAME) - self.connection = Database.connect(conn_string) - return self.connection.cursor() diff --git a/django/db/backends/ado_mssql/client.py b/django/db/backends/ado_mssql/client.py deleted file mode 100644 index 5c197cafa4..0000000000 --- a/django/db/backends/ado_mssql/client.py +++ /dev/null @@ -1,2 +0,0 @@ -def runshell(): - raise NotImplementedError diff --git a/django/db/backends/ado_mssql/creation.py b/django/db/backends/ado_mssql/creation.py deleted file mode 100644 index d4ba8f2897..0000000000 --- a/django/db/backends/ado_mssql/creation.py +++ /dev/null @@ -1,25 +0,0 @@ -DATA_TYPES = { - 'AutoField': 'int IDENTITY (1, 1)', - 'BooleanField': 'bit', - 'CharField': 'varchar(%(max_length)s)', - 'CommaSeparatedIntegerField': 'varchar(%(max_length)s)', - 'DateField': 'smalldatetime', - 'DateTimeField': 'smalldatetime', - 'DecimalField': 'numeric(%(max_digits)s, %(decimal_places)s)', - 'FileField': 'varchar(%(max_length)s)', - 'FilePathField': 'varchar(%(max_length)s)', - 'FloatField': 'double precision', - 'ImageField': 'varchar(%(max_length)s)', - 'IntegerField': 'int', - 'IPAddressField': 'char(15)', - 'NullBooleanField': 'bit', - 'OneToOneField': 'int', - 'PhoneNumberField': 'varchar(20)', - 'PositiveIntegerField': 'int CONSTRAINT [CK_int_pos_%(column)s] CHECK ([%(column)s] > 0)', - 'PositiveSmallIntegerField': 'smallint CONSTRAINT [CK_smallint_pos_%(column)s] CHECK ([%(column)s] > 0)', - 'SlugField': 'varchar(%(max_length)s)', - 'SmallIntegerField': 'smallint', - 'TextField': 'text', - 'TimeField': 'time', - 'USStateField': 'varchar(2)', -} diff --git a/django/db/backends/ado_mssql/introspection.py b/django/db/backends/ado_mssql/introspection.py deleted file mode 100644 index b125cc995f..0000000000 --- a/django/db/backends/ado_mssql/introspection.py +++ /dev/null @@ -1,13 +0,0 @@ -def get_table_list(cursor): - raise NotImplementedError - -def get_table_description(cursor, table_name): - raise NotImplementedError - -def get_relations(cursor, table_name): - raise NotImplementedError - -def get_indexes(cursor, table_name): - raise NotImplementedError - -DATA_TYPES_REVERSE = {} diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index cfc07d6008..17aa6f13bf 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -17,7 +17,8 @@ except ImportError, e: version = Database.version_info if (version < (1,2,1) or (version[:3] == (1, 2, 1) and (len(version) < 5 or version[3] != 'final' or version[4] < 2))): - raise ImportError("MySQLdb-1.2.1p2 or newer is required; you have %s" % Database.__version__) + from django.core.exceptions import ImproperlyConfigured + raise ImproperlyConfigured("MySQLdb-1.2.1p2 or newer is required; you have %s" % Database.__version__) from MySQLdb.converters import conversions from MySQLdb.constants import FIELD_TYPE diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index f2254d7373..6629289b05 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -581,7 +581,7 @@ class ForeignKey(RelatedField, Field): if 'edit_inline_type' in kwargs: import warnings - warnings.warn("edit_inline_type is deprecated. Use edit_inline instead.") + warnings.warn("edit_inline_type is deprecated. Use edit_inline instead.", DeprecationWarning) kwargs['edit_inline'] = kwargs.pop('edit_inline_type') kwargs['rel'] = rel_class(to, to_field, diff --git a/django/views/generic/list_detail.py b/django/views/generic/list_detail.py index cb9b014eb5..ea77d46300 100644 --- a/django/views/generic/list_detail.py +++ b/django/views/generic/list_detail.py @@ -74,8 +74,8 @@ def object_list(request, queryset, paginate_by=None, page=None, 'page': page_obj.number, 'next': page_obj.next_page_number(), 'previous': page_obj.previous_page_number(), - 'last_on_page': page_obj.start_index(), - 'first_on_page': page_obj.end_index(), + 'first_on_page': page_obj.start_index(), + 'last_on_page': page_obj.end_index(), 'pages': paginator.num_pages, 'hits': paginator.count, 'page_range': paginator.page_range, diff --git a/django/views/i18n.py b/django/views/i18n.py index e420e3d7f7..e141c1d967 100644 --- a/django/views/i18n.py +++ b/django/views/i18n.py @@ -82,6 +82,17 @@ function interpolate(fmt, obj, named) { } """ +PluralIdx = r""" +function pluralidx(n) { + var v=%s; + if (typeof(v) == 'boolean') { + return v ? 1 : 0; + } else { + return v; + } +} +""" + def null_javascript_catalog(request, domain=None, packages=None): """ Returns "identity" versions of the JavaScript i18n functions -- i.e., @@ -154,7 +165,7 @@ def javascript_catalog(request, domain='djangojs', packages=None): # this should actually be a compiled function of a typical plural-form: # Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; plural = [el.strip() for el in plural.split(';') if el.strip().startswith('plural=')][0].split('=',1)[1] - src.append('function pluralidx(n) {\n return %s;\n}\n' % plural) + src.append(PluralIdx % plural) else: src.append(SimplePlural) csrc = [] diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000..f79d4299d5 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,68 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html web htmlhelp latex changes linkcheck + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " web to make files usable by Sphinx.web" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " changes to make an overview over all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + +clean: + -rm -rf _build/* + +html: + mkdir -p _build/html _build/doctrees + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html + @echo + @echo "Build finished. The HTML pages are in _build/html." + +web: + mkdir -p _build/web _build/doctrees + $(SPHINXBUILD) -b web $(ALLSPHINXOPTS) _build/web + @echo + @echo "Build finished; now you can run" + @echo " python -m sphinx.web _build/web" + @echo "to start the server." + +htmlhelp: + mkdir -p _build/htmlhelp _build/doctrees + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in _build/htmlhelp." + +latex: + mkdir -p _build/latex _build/doctrees + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex + @echo + @echo "Build finished; the LaTeX files are in _build/latex." + @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ + "run these through (pdf)latex." + +changes: + mkdir -p _build/changes _build/doctrees + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes + @echo + @echo "The overview file is in _build/changes." + +linkcheck: + mkdir -p _build/linkcheck _build/doctrees + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in _build/linkcheck/output.txt." diff --git a/docs/authentication.txt b/docs/authentication.txt index 9167458db2..79eaf673e7 100644 --- a/docs/authentication.txt +++ b/docs/authentication.txt @@ -819,16 +819,17 @@ Django developers are currently discussing. Default permissions ------------------- -Three basic permissions -- add, change and delete -- are automatically created -for each Django model that has a ``class Admin`` set. Behind the scenes, these -permissions are added to the ``auth_permission`` database table when you run -``manage.py syncdb``. +When ``django.contrib.auth`` is listed in your ``INSTALLED_APPS`` +setting, it will ensure that three default permissions -- add, change +and delete -- are created for each Django model defined in one of your +installed applications. -Note that if your model doesn't have ``class Admin`` set when you run -``syncdb``, the permissions won't be created. If you initialize your database -and add ``class Admin`` to models after the fact, you'll need to run -``manage.py syncdb`` again. It will create any missing permissions for -all of your installed apps. +These permissions will be created when you run ``manage.py syncdb``; +the first time you run ``syncdb`` after adding ``django.contrib.auth`` +to ``INSTALLED_APPS``, the default permissions will be created for all +previously-installed models, as well as for any new models being +installed at that time. Afterward, it will create default permissions +for new models each time you run ``manage.py syncdb``. Custom permissions ------------------ diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000000..0ced57d57b --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,132 @@ +# -*- coding: utf-8 -*- +# +# Django documentation build configuration file, created by +# sphinx-quickstart on Thu Mar 27 09:06:53 2008. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# The contents of this file are pickled, so don't put values in the namespace +# that aren't pickleable (module imports are okay, they're removed automatically). +# +# All configuration values have a default value; values that are commented out +# serve to show the default value. + +import sys + +# If your extensions are in another directory, add it here. +#sys.path.append('some/directory') + +# General configuration +# --------------------- + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +#extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = [] + +# The suffix of source filenames. +source_suffix = '.txt' + +# The master toctree document. +master_doc = 'index' + +# General substitutions. +project = 'Django' +copyright = '2008, Django Software Foundation' + +# The default replacements for |version| and |release|, also used in various +# other places throughout the built documents. +# +# The short X.Y version. +version = 'SVN' +# The full version, including alpha/beta/rc tags. +release = version + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +today_fmt = '%B %d, %Y' + +# List of documents that shouldn't be included in the build. +#unused_docs = [] + +# If true, '()' will be appended to :func: etc. cross-reference text. +add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +add_module_names = False + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + + +# Options for HTML output +# ----------------------- + +# The style sheet to use for HTML and HTML Help pages. A file of that name +# must exist either in Sphinx' static/ path, or in one of the custom paths +# given in html_static_path. +html_style = 'default.css' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +html_use_smartypants = True + +# Content template for the index page. +#html_index = '' + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_use_modindex = True + +# If true, the reST sources are included in the HTML build as _sources/. +html_copy_source = True + +# Output file base name for HTML help builder. +htmlhelp_basename = 'Djangodoc' + + +# Options for LaTeX output +# ------------------------ + +# The paper size ('letter' or 'a4'). +#latex_paper_size = 'letter' + +# The font size ('10pt', '11pt' or '12pt'). +#latex_font_size = '10pt' + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, document class [howto/manual]). +#latex_documents = [] + +# Additional stuff for the LaTeX preamble. +#latex_preamble = '' + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_use_modindex = True diff --git a/docs/db-api.txt b/docs/db-api.txt index dcd648be1c..23fa205b39 100644 --- a/docs/db-api.txt +++ b/docs/db-api.txt @@ -1476,9 +1476,6 @@ SQL equivalents:: Using raw strings (e.g., ``r'foo'`` instead of ``'foo'``) for passing in the regular expression syntax is recommended. -Regular expression matching is not supported on the ``ado_mssql`` backend. -It will raise a ``NotImplementedError`` at runtime. - iregex ~~~~~~ diff --git a/docs/i18n.txt b/docs/i18n.txt index 8da19cd242..d6c86e1c9d 100644 --- a/docs/i18n.txt +++ b/docs/i18n.txt @@ -338,7 +338,7 @@ Django offers many utility functions (particularly in ``django.utils``) that take a string as their first argument and do something to that string. These functions are used by template filters as well as directly in other code. -If you write your own similar functions and deal with translations, you'll +If you write your own similar functions and deal with translations, you'll face the problem of what to do when the first argument is a lazy translation object. You don't want to convert it to a string immediately, because you might be using this function outside of a view (and hence the current thread's locale @@ -789,7 +789,7 @@ JavaScript that uses strings from different applications. You can make the view dynamic by putting the packages into the URL pattern:: urlpatterns = patterns('', - (r'^jsi18n/(?P\S+?)/$, 'django.views.i18n.javascript_catalog'), + (r'^jsi18n/(?P\S+?)/$', 'django.views.i18n.javascript_catalog'), ) With this, you specify the packages as a list of package names delimited by '+' @@ -811,24 +811,47 @@ interface to access it:: document.write(gettext('this is to be translated')); -There even is a ``ungettext`` interface and a string interpolation function:: +There is also an ``ngettext`` interface:: - d = { - count: 10 - }; - s = interpolate(ungettext('this is %(count)s object', 'this are %(count)s objects', d.count), d); + var object_cnt = 1 // or 0, or 2, or 3, ... + s = ngettext('literal for the singular case', + 'literal for the plural case', object_cnt); -The ``interpolate`` function supports both positional interpolation and named -interpolation. So the above could have been written as:: +and even a string interpolation function:: - s = interpolate(ungettext('this is %s object', 'this are %s objects', 11), [11]); + function interpolate(fmt, obj, named); -The interpolation syntax is borrowed from Python. You shouldn't go over the top -with string interpolation, though: this is still JavaScript, so the code will -have to do repeated regular-expression substitutions. This isn't as fast as -string interpolation in Python, so keep it to those cases where you really -need it (for example, in conjunction with ``ungettext`` to produce proper -pluralizations). +The interpolation syntax is borrowed from Python, so the ``interpolate`` +function supports both positional and named interpolation: + + * Positional interpolation: ``obj`` contains a JavaScript Array object + whose elements values are then sequentially interpolated in their + corresponding ``fmt`` placeholders in the same order they appear. + For example:: + + fmts = ngettext('There is %s object. Remaining: %s', + 'There are %s objects. Remaining: %s', 11); + s = interpolate(fmts, [11, 20]); + // s is 'There are 11 objects. Remaining: 20' + + * Named interpolation: This mode is selected by passing the optional + boolean ``named`` parameter as true. ``obj`` contains a JavaScript + object or associative array. For example:: + + d = { + count: 10 + total: 50 + }; + + fmts = ngettext('Total: %(total)s, there is %(count)s object', + 'there are %(count)s of a total of %(total)s objects', d.count); + s = interpolate(fmts, d, true); + +You shouldn't go over the top with string interpolation, though: this is still +JavaScript, so the code has to make repeated regular-expression substitutions. +This isn't as fast as string interpolation in Python, so keep it to those +cases where you really need it (for example, in conjunction with ``ngettext`` +to produce proper pluralizations). Creating JavaScript translation catalogs ---------------------------------------- diff --git a/docs/index.txt b/docs/index.txt new file mode 100644 index 0000000000..385ada455c --- /dev/null +++ b/docs/index.txt @@ -0,0 +1,128 @@ +==================== +Django Documentation +==================== + +The essential documentation +=========================== + +If you're new to Django, make sure to read the following documentation in +order.. The rest (in the "reference" section below) can be ready in any order as +you need various functionality. + +.. toctree:: + :maxdepth: 1 + + overview + install + tutorial01 + tutorial02 + tutorial03 + tutorial04 + faq + documentation + +Reference +========= + +.. toctree:: + :maxdepth: 1 + + django-admin + model-api + db-api + transactions + templates + templates_python + newforms + modelforms + testing + sessions + cache + settings + url_dispatch + request_response + generic_views + authentication + shortcuts + unicode + pagination + serialization + i18n + middleware + custom_model_fields + databases + +``django.contrib`` add-ons +-------------------------- + +.. toctree:: + :maxdepth: 1 + + add_ons + contenttypes + csrf + databrowse + flatpages + form_preview + form_wizard + localflavor + redirects + sites + sitemaps + syndication_feeds + webdesign + +Deployment +---------- + +.. toctree:: + :maxdepth: 1 + + modpython + fastcgi + +Solving specific problems +------------------------- + +.. toctree:: + :maxdepth: 1 + + apache_auth + static_files + email + legacy_databases + outputting_pdf + outputting_csv + +Et cetera +--------- + +.. toctree:: + :maxdepth: 1 + + design_philosophies + contributing + admin_css + api_stability + +Release notes +------------- + +.. toctree:: + :maxdepth: 1 + + release_notes_0.96 + release_notes_0.95 + +Also see the list of `backwards-incompatible changes`__ for changes made between +releases. + +__ http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/docs/install.txt b/docs/install.txt index 341c4280e8..bfe85fff8a 100644 --- a/docs/install.txt +++ b/docs/install.txt @@ -172,11 +172,11 @@ Installing the development version If you decide to use the latest development version of Django, you'll want to pay close attention to `the development timeline`_, and you'll want to keep an eye on `the list of - backwards-incompatible changes`_; this will help you stay on top + backwards-incompatible changes`_. This will help you stay on top of any new features you might want to use, as well as any changes - you'll need to make to your code when updating your copy of Django - (for stable releases, any necessary changes are documented in the - release notes). + you'll need to make to your code when updating your copy of Django. + (For stable releases, any necessary changes are documented in the + release notes.) .. _the development timeline: http://code.djangoproject.com/timeline .. _the list of backwards-incompatible changes: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges diff --git a/docs/modelforms.txt b/docs/modelforms.txt index 05f9b1b3d4..554aeb7ea0 100644 --- a/docs/modelforms.txt +++ b/docs/modelforms.txt @@ -236,7 +236,7 @@ works exactly the same way as any other ``newforms`` form. For example, the ``is_valid()`` method is used to check for validity, the ``is_multipart()`` method is used to determine whether a form requires multipart file upload (and hence whether ``request.FILES`` must be -passed to the form), etc.; see `the standard newforms documentation`_ +passed to the form), etc. See `the standard newforms documentation`_ for more information. .. _the standard newforms documentation: ../newforms/ diff --git a/docs/newforms.txt b/docs/newforms.txt index 533ff75185..d07f7f9dc3 100644 --- a/docs/newforms.txt +++ b/docs/newforms.txt @@ -1549,12 +1549,14 @@ additional required argument: ``ModelChoiceField`` ~~~~~~~~~~~~~~~~~~~~ -Allows the selection of a single model object, suitable for representing a -foreign key. The method receives an object as an argument and must return a -string to represent it. +Allows the selection of a single model object, suitable for +representing a foreign key. -The labels for the choice field call the ``__unicode__`` method of the model to -generate string representations. To provide custom labels, subclass ``ModelChoiceField`` and override ``label_for_model``:: +The ``__unicode__`` method of the model will be called to generate +string representations of the objects for use in the field's choices; +to provide customized representations, subclass ``ModelChoiceField`` +and override ``label_for_model``. This method will receive model +object, and should return a string suitable for representing it:: class MyModelChoiceField(ModelChoiceField): def label_from_instance(self, obj): @@ -1563,9 +1565,10 @@ generate string representations. To provide custom labels, subclass ``ModelChoic ``ModelMultipleChoiceField`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Allows the selection of one or more model objects, suitable for representing a -many-to-many relation. As with ``ModelChoiceField``, you can use -``label_from_instance`` to customize the object labels. +Allows the selection of one or more model objects, suitable for +representing a many-to-many relation. As with ``ModelChoiceField``, +you can use ``label_from_instance`` to customize the object +representations. Creating custom fields ---------------------- diff --git a/docs/request_response.txt b/docs/request_response.txt index 0e0f046a2d..a4f03b9185 100644 --- a/docs/request_response.txt +++ b/docs/request_response.txt @@ -143,14 +143,13 @@ All attributes except ``session`` should be considered read-only. ``urlconf`` Not defined by Django itself, but will be read if other code - (e.g., a custom middleware class) sets it; when present, this will - be used as the root URLConf for the current request, overriding + (e.g., a custom middleware class) sets it. When present, this will + be used as the root URLconf for the current request, overriding the ``ROOT_URLCONF`` setting. See `How Django processes a request`_ for details. .. _How Django processes a request: ../url_dispatch/#how-django-processes-a-request - Methods ------- @@ -202,19 +201,19 @@ Methods ``is_ajax()`` **New in Django development version** - Returns ``True`` if the request was made via an XMLHttpRequest by checking - the ``HTTP_X_REQUESTED_WITH`` header for the string *'XMLHttpRequest'*. The - following major Javascript libraries all send this header: + Returns ``True`` if the request was made via an ``XMLHttpRequest``, by checking + the ``HTTP_X_REQUESTED_WITH`` header for the string ``'XMLHttpRequest'``. The + following major JavaScript libraries all send this header: - * jQuery - * Dojo - * MochiKit - * MooTools - * Prototype - * YUI + * jQuery + * Dojo + * MochiKit + * MooTools + * Prototype + * YUI - If you write your own XMLHttpRequest call (on the browser side), you will - have to set this header manually to use this method. + If you write your own XMLHttpRequest call (on the browser side), you'll + have to set this header manually if you want ``is_ajax()`` to work. QueryDict objects ----------------- diff --git a/docs/settings.txt b/docs/settings.txt index fb2e04f1ea..5aee19102b 100644 --- a/docs/settings.txt +++ b/docs/settings.txt @@ -279,7 +279,7 @@ Default: ``''`` (Empty string) The database backend to use. The build-in database backends are ``'postgresql_psycopg2'``, ``'postgresql'``, ``'mysql'``, ``'mysql_old'``, -``'sqlite3'``, ``'oracle'``, or ``'ado_mssql'``. +``'sqlite3'`` and ``'oracle'``. In the Django development version, you can use a database backend that doesn't ship with Django by setting ``DATABASE_ENGINE`` to a fully-qualified path (i.e. diff --git a/docs/syndication_feeds.txt b/docs/syndication_feeds.txt index f86acfe54d..6a603c4e54 100644 --- a/docs/syndication_feeds.txt +++ b/docs/syndication_feeds.txt @@ -250,7 +250,7 @@ request to the URL ``/rss/beats/0613/``: will be an empty list. In our example, ``len(bits) != 1`` and an ``ObjectDoesNotExist`` exception will be raised, so ``/rss/beats/`` will generate a 404 page. But you can handle this case however you like. For - example you could generate a combined feed for all beats. + example, you could generate a combined feed for all beats. * To generate the feed's ````, ``<link>`` and ``<description>``, Django uses the ``title()``, ``link()`` and ``description()`` methods. In diff --git a/docs/testing.txt b/docs/testing.txt index 54b8ba9ae6..0ff3cce3d9 100644 --- a/docs/testing.txt +++ b/docs/testing.txt @@ -80,7 +80,7 @@ read Python's official documentation for the details. .. admonition:: What's a **docstring**? A good explanation of docstrings (and some guidelines for using them - effectively) can be found in :PEP:`257`: + effectively) can be found in :pep:`257`: A docstring is a string literal that occurs as the first statement in a module, function, class, or method definition. Such a docstring diff --git a/docs/tutorial04.txt b/docs/tutorial04.txt index 473fba1ef8..8f23fdd9e6 100644 --- a/docs/tutorial04.txt +++ b/docs/tutorial04.txt @@ -37,9 +37,9 @@ A quick rundown: form will alter data server-side. Whenever you create a form that alters data server-side, use ``method="post"``. This tip isn't specific to Django; it's just good Web development practice. - + * ``forloop.counter`` indicates how many times the ``for`` tag has - gone through its loop; for more information, see `the + gone through its loop. For more information, see `the documentation for the "for" tag`_. .. _the documentation for the "for" tag: ../templates/#for @@ -247,8 +247,8 @@ template. Note that we use ``dict()`` to return an altered dictionary in place. which is "lazy" and doesn't hit your database until it absolutely has to. By the time the database query happens, the ``object_detail`` generic view will have narrowed its scope down to a single object, so the eventual query will - only select one row from the database. - + only select one row from the database. + If you'd like to know more about how that works, The Django database API documentation `explains the lazy nature of QuerySet objects`_. @@ -266,9 +266,8 @@ from ``polls/views.py``. We don't need them anymore -- they have been replaced by generic views. The ``vote()`` view is still required. However, it must be modified to match -the new templates and context variables. Change the template call from -``polls/detail.html`` to ``polls/poll_detail.html``, and pass ``object`` in the -context instead of ``poll``. +the new context variables. In the ``render_to_repsonse()`` call, rename the +``poll`` context variable to ``object``. The last thing to do is fix the URL handling to account for the use of generic views. In the vote view above, we used the ``reverse()`` function to avoid @@ -276,7 +275,7 @@ hard-coding our URLs. Now that we've switched to a generic view, we'll need to change the ``reverse()`` call to point back to our new generic view. We can't simply use the view function anymore -- generic views can be (and are) used multiple times -- but we can use the name we've given:: - + return HttpResponseRedirect(reverse('poll_results', args=(p.id,))) Run the server, and use your new polling app based on generic views. diff --git a/docs/url_dispatch.txt b/docs/url_dispatch.txt index 053ee954a3..28f15289a9 100644 --- a/docs/url_dispatch.txt +++ b/docs/url_dispatch.txt @@ -32,7 +32,7 @@ How Django processes a request When a user requests a page from your Django-powered site, this is the algorithm the system follows to determine which Python code to execute: - 1. Django determines the root URLConf module to use; ordinarily + 1. Django determines the root URLconf module to use. Ordinarily, this is the value of the ``ROOT_URLCONF`` setting in your `settings file`_, but if the incoming ``HttpRequest`` object has an attribute called ``urlconf``, its value will be used in diff --git a/tests/modeltests/or_lookups/models.py b/tests/modeltests/or_lookups/models.py index 38339c0685..c779e19e37 100644 --- a/tests/modeltests/or_lookups/models.py +++ b/tests/modeltests/or_lookups/models.py @@ -103,7 +103,7 @@ __test__ = {'API_TESTS':""" >>> Article.objects.filter(Q(pk=1) & (~Q(pk=2) | Q(pk=3))) [<Article: Hello>] -# Try some arg queries with operations other than get_list +# Try some arg queries with operations other than filter. >>> Article.objects.get(Q(headline__startswith='Hello'), Q(headline__contains='bye')) <Article: Hello and goodbye> diff --git a/tests/regressiontests/forms/fields.py b/tests/regressiontests/forms/fields.py index 9421d8c005..f3b6a96a1e 100644 --- a/tests/regressiontests/forms/fields.py +++ b/tests/regressiontests/forms/fields.py @@ -1135,29 +1135,39 @@ u'' # FilePathField ############################################################### +>>> def fix_os_paths(x): +... if isinstance(x, basestring): +... return x.replace('\\', '/') +... elif isinstance(x, tuple): +... return tuple(fix_os_paths(list(x))) +... elif isinstance(x, list): +... return [fix_os_paths(y) for y in x] +... else: +... return x +... >>> import os >>> from django import newforms as forms >>> path = forms.__file__ >>> path = os.path.dirname(path) + '/' ->>> path +>>> fix_os_paths(path) '.../django/newforms/' >>> f = forms.FilePathField(path=path) >>> f.choices.sort() ->>> f.choices +>>> fix_os_paths(f.choices) [('.../django/newforms/__init__.py', '__init__.py'), ('.../django/newforms/__init__.pyc', '__init__.pyc'), ('.../django/newforms/fields.py', 'fields.py'), ('.../django/newforms/fields.pyc', 'fields.pyc'), ('.../django/newforms/forms.py', 'forms.py'), ('.../django/newforms/forms.pyc', 'forms.pyc'), ('.../django/newforms/models.py', 'models.py'), ('.../django/newforms/models.pyc', 'models.pyc'), ('.../django/newforms/util.py', 'util.py'), ('.../django/newforms/util.pyc', 'util.pyc'), ('.../django/newforms/widgets.py', 'widgets.py'), ('.../django/newforms/widgets.pyc', 'widgets.pyc')] >>> f.clean('fields.py') Traceback (most recent call last): ... ValidationError: [u'Select a valid choice. That choice is not one of the available choices.'] ->>> f.clean(path + 'fields.py') +>>> fix_os_paths(f.clean(path + 'fields.py')) u'.../django/newforms/fields.py' >>> f = forms.FilePathField(path=path, match='^.*?\.py$') >>> f.choices.sort() ->>> f.choices +>>> fix_os_paths(f.choices) [('.../django/newforms/__init__.py', '__init__.py'), ('.../django/newforms/fields.py', 'fields.py'), ('.../django/newforms/forms.py', 'forms.py'), ('.../django/newforms/models.py', 'models.py'), ('.../django/newforms/util.py', 'util.py'), ('.../django/newforms/widgets.py', 'widgets.py')] >>> f = forms.FilePathField(path=path, recursive=True, match='^.*?\.py$') >>> f.choices.sort() ->>> f.choices +>>> fix_os_paths(f.choices) [('.../django/newforms/__init__.py', '__init__.py'), ('.../django/newforms/extras/__init__.py', 'extras/__init__.py'), ('.../django/newforms/extras/widgets.py', 'extras/widgets.py'), ('.../django/newforms/fields.py', 'fields.py'), ('.../django/newforms/forms.py', 'forms.py'), ('.../django/newforms/models.py', 'models.py'), ('.../django/newforms/util.py', 'util.py'), ('.../django/newforms/widgets.py', 'widgets.py')] # SplitDateTimeField ########################################################## diff --git a/tests/regressiontests/model_regress/models.py b/tests/regressiontests/model_regress/models.py index 02e73a5aa9..2252531564 100644 --- a/tests/regressiontests/model_regress/models.py +++ b/tests/regressiontests/model_regress/models.py @@ -26,6 +26,9 @@ class Movie(models.Model): movie_id = models.AutoField(primary_key=True) name = models.CharField(max_length=60) +class Party(models.Model): + when = models.DateField() + __test__ = {'API_TESTS': """ (NOTE: Part of the regression test here is merely parsing the model declaration. The verbose_name, in particular, did not always work.) @@ -51,5 +54,19 @@ u'' >>> len(a4.article_text) 5000 +# #659 regression test +>>> import datetime +>>> p = Party.objects.create(when = datetime.datetime(1999, 12, 31)) +>>> p = Party.objects.create(when = datetime.datetime(1998, 12, 31)) +>>> p = Party.objects.create(when = datetime.datetime(1999, 1, 1)) +>>> [p.when for p in Party.objects.filter(when__month = 2)] +[] +>>> [p.when for p in Party.objects.filter(when__month = 1)] +[datetime.date(1999, 1, 1)] +>>> [p.when for p in Party.objects.filter(when__month = 12)] +[datetime.date(1999, 12, 31), datetime.date(1998, 12, 31)] +>>> [p.when for p in Party.objects.filter(when__year = 1998)] +[datetime.date(1998, 12, 31)] + """ }