From b87d360a07003e7e0cc17ed5e3c373196a834505 Mon Sep 17 00:00:00 2001 From: Jason Pellerin Date: Thu, 14 Sep 2006 02:50:59 +0000 Subject: [PATCH] [multi-db] Merge trunk to [3754]. Some tests still failing. git-svn-id: http://code.djangoproject.com/svn/django/branches/multiple-db-support@3755 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- AUTHORS | 2 + django/conf/global_settings.py | 1 + .../conf/locale/es_AR/LC_MESSAGES/django.mo | Bin 33953 -> 36332 bytes .../conf/locale/es_AR/LC_MESSAGES/django.po | 548 +++-- django/conf/locale/fi/LC_MESSAGES/django.mo | Bin 0 -> 33598 bytes django/conf/locale/fi/LC_MESSAGES/django.po | 2031 +++++++++++++++++ django/conf/locale/fi/LC_MESSAGES/djangojs.mo | Bin 0 -> 1529 bytes django/conf/locale/fi/LC_MESSAGES/djangojs.po | 110 + django/conf/locale/no/LC_MESSAGES/django.mo | Bin 23238 -> 27469 bytes django/conf/locale/no/LC_MESSAGES/django.po | 273 +-- django/conf/locale/no/LC_MESSAGES/djangojs.mo | Bin 1432 -> 1492 bytes django/conf/locale/no/LC_MESSAGES/djangojs.po | 11 +- django/conf/locale/pl/LC_MESSAGES/django.mo | Bin 23926 -> 28373 bytes django/conf/locale/pl/LC_MESSAGES/django.po | 96 +- django/conf/locale/ru/LC_MESSAGES/django.mo | Bin 34467 -> 42820 bytes django/conf/locale/ru/LC_MESSAGES/django.po | 506 ++-- .../admin/media/js/admin/DateTimeShortcuts.js | 1 - django/contrib/auth/middleware.py | 9 +- django/core/management.py | 10 +- django/db/backends/mysql/introspection.py | 3 +- django/test/simple.py | 21 +- docs/authentication.txt | 16 +- 22 files changed, 2974 insertions(+), 664 deletions(-) create mode 100644 django/conf/locale/fi/LC_MESSAGES/django.mo create mode 100644 django/conf/locale/fi/LC_MESSAGES/django.po create mode 100644 django/conf/locale/fi/LC_MESSAGES/djangojs.mo create mode 100644 django/conf/locale/fi/LC_MESSAGES/djangojs.po diff --git a/AUTHORS b/AUTHORS index 4d57503bf8..bad8008d86 100644 --- a/AUTHORS +++ b/AUTHORS @@ -44,6 +44,7 @@ answer newbie questions, and generally made Django that much better: akaihola Andreas + ant9000@netwise.it David Ascher Arthur Jiri Barton @@ -126,6 +127,7 @@ answer newbie questions, and generally made Django that much better: Oliver Rutherfurd Ivan Sagalaev (Maniac) David Schein + serbaut@gmail.com Pete Shinners SmileyChris sopel diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index 19996ad8f7..20ed49b583 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -46,6 +46,7 @@ LANGUAGES = ( ('en', gettext_noop('English')), ('es', gettext_noop('Spanish')), ('es_AR', gettext_noop('Argentinean Spanish')), + ('fi', gettext_noop('Finnish')), ('fr', gettext_noop('French')), ('gl', gettext_noop('Galician')), ('hu', gettext_noop('Hungarian')), diff --git a/django/conf/locale/es_AR/LC_MESSAGES/django.mo b/django/conf/locale/es_AR/LC_MESSAGES/django.mo index f550fca3dbbe2777e53d0fce67ae582261486799..dd96bf99ce46511f5c5a467c9ce959df052271c3 100644 GIT binary patch delta 11304 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 U11{a4xvr!ZAIbdq@^xMR4Ov|c+W-In delta 9098 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 rxwR\n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" @@ -17,15 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: contrib/contenttypes/models.py:25 +#: contrib/contenttypes/models.py:20 msgid "python model class name" msgstr "nombre de la clase python del modelo" -#: contrib/contenttypes/models.py:28 +#: contrib/contenttypes/models.py:23 msgid "content type" msgstr "tipo de contenido" -#: contrib/contenttypes/models.py:29 +#: contrib/contenttypes/models.py:24 msgid "content types" msgstr "tipos de contenido" @@ -33,79 +33,103 @@ msgstr "tipos de contenido" msgid "Logged out" msgstr "Sesin cerrada" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 +#: contrib/auth/models.py:38 contrib/auth/models.py:57 msgid "name" msgstr "nombre" -#: contrib/auth/models.py:15 +#: contrib/auth/models.py:40 msgid "codename" msgstr "nombre en cdigo" -#: contrib/auth/models.py:17 +#: contrib/auth/models.py:42 msgid "permission" msgstr "permiso" -#: contrib/auth/models.py:18 contrib/auth/models.py:27 +#: contrib/auth/models.py:43 contrib/auth/models.py:58 msgid "permissions" msgstr "permisos" -#: contrib/auth/models.py:29 +#: contrib/auth/models.py:60 msgid "group" msgstr "grupo" -#: contrib/auth/models.py:30 contrib/auth/models.py:65 +#: contrib/auth/models.py:61 contrib/auth/models.py:100 msgid "groups" msgstr "grupos" -#: contrib/auth/models.py:55 +#: contrib/auth/models.py:90 msgid "username" msgstr "nombre de usuario" -#: contrib/auth/models.py:56 +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Requerido. Longitud mxima 30 caracteres alfanumricos (letras, dgitos y " +"guiones bajos)." + +#: contrib/auth/models.py:91 msgid "first name" msgstr "nombre" -#: contrib/auth/models.py:57 +#: contrib/auth/models.py:92 msgid "last name" msgstr "apellido" -#: contrib/auth/models.py:58 +#: contrib/auth/models.py:93 msgid "e-mail address" msgstr "direccin de correo" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "password" msgstr "contrasea" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "Use '[algo]$[salt]$[hexdigest]'" msgstr "Use '[algoritmo]$[salt]$[hexdigest]'" -#: contrib/auth/models.py:60 +#: contrib/auth/models.py:95 msgid "staff status" msgstr "es staff" -#: contrib/auth/models.py:60 +#: contrib/auth/models.py:95 msgid "Designates whether the user can log into this admin site." msgstr "Indica si el usuario puede ingresar a este sitio de administracin." -#: contrib/auth/models.py:61 +#: contrib/auth/models.py:96 msgid "active" msgstr "activo" -#: contrib/auth/models.py:62 +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Indica si el usuario puede ingresar al sitio de administracin Django." +"Desactive este campo en lugar de eliminar usuarios." + +#: contrib/auth/models.py:97 msgid "superuser status" msgstr "es superusuario" -#: contrib/auth/models.py:63 +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Indica que este usuario posee todos los permisos, sin asignarle los mismos " +"explcitamente." + +#: contrib/auth/models.py:98 msgid "last login" msgstr "ltimo registro" -#: contrib/auth/models.py:64 +#: contrib/auth/models.py:99 msgid "date joined" msgstr "fecha de creacin" -#: contrib/auth/models.py:66 +#: contrib/auth/models.py:101 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -113,39 +137,39 @@ msgstr "" "Adems de los permisos asignados manualmente, este usuario tambin poseer " "todos los permisos de los grupos a los que pertenezca." -#: contrib/auth/models.py:67 +#: contrib/auth/models.py:102 msgid "user permissions" msgstr "permisos de usuario" -#: contrib/auth/models.py:70 +#: contrib/auth/models.py:105 msgid "user" msgstr "usuario" -#: contrib/auth/models.py:71 +#: contrib/auth/models.py:106 msgid "users" msgstr "usuarios" -#: contrib/auth/models.py:76 +#: contrib/auth/models.py:111 msgid "Personal info" msgstr "Informacin personal" -#: contrib/auth/models.py:77 +#: contrib/auth/models.py:112 msgid "Permissions" msgstr "Permisos" -#: contrib/auth/models.py:78 +#: contrib/auth/models.py:113 msgid "Important dates" msgstr "Fechas importantes" -#: contrib/auth/models.py:79 +#: contrib/auth/models.py:114 msgid "Groups" msgstr "Grupos" -#: contrib/auth/models.py:219 +#: contrib/auth/models.py:256 msgid "message" msgstr "mensaje" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:52 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -153,8 +177,7 @@ msgstr "" "Su navegador Web aparenta no tener cookies activas. Las cookies son un " "requerimiento para poder ingresar." -#: contrib/auth/forms.py:36 contrib/auth/forms.py:43 -#: contrib/admin/views/decorators.py:9 +#: contrib/auth/forms.py:59 contrib/admin/views/decorators.py:10 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." @@ -162,7 +185,7 @@ msgstr "" "Por favor ingrese un nombre de usuario y una contrasea correctos. Note que " "ambos campos son sensibles a maysculas/minsculas." -#: contrib/auth/forms.py:45 +#: contrib/auth/forms.py:61 msgid "This account is inactive." msgstr "Esta cuenta est inactiva" @@ -255,7 +278,7 @@ msgstr "fecha/hora de env msgid "is public" msgstr "es pblico" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:292 +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 msgid "IP address" msgstr "Direccin IP" @@ -392,12 +415,12 @@ msgstr "ID de comentario no v msgid "No voting for yourself" msgstr "No puedes votarte t mismo" -#: contrib/comments/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "" "This rating is required because you've entered at least one other rating." msgstr "Se precisa esta puntuacin porque ha introducido al menos otra ms." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " @@ -420,7 +443,7 @@ msgstr[1] "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, fuzzy, python-format msgid "" "This comment was posted by a sketchy user:\n" @@ -431,24 +454,24 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "Slo se admiten POSTs" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" msgstr "No se proporcion uno o ms de los siguientes campos requeridos" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" msgstr "" "Alguien est jugando con el formulario de comentarios (violacin de " "seguridad)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " @@ -467,12 +490,12 @@ msgid "Your name:" msgstr "Su nombre:" #: contrib/comments/templates/comments/freeform.html:5 -#: contrib/comments/templates/comments/form.html:27 +#: contrib/comments/templates/comments/form.html:28 msgid "Comment:" msgstr "Comentario:" -#: contrib/comments/templates/comments/freeform.html:9 -#: contrib/comments/templates/comments/form.html:32 +#: contrib/comments/templates/comments/freeform.html:10 +#: contrib/comments/templates/comments/form.html:35 msgid "Preview comment" msgstr "Previsualizar comentario" @@ -483,19 +506,10 @@ msgid "Username:" msgstr "Usuario:" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Contrasea:" - -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "Olvid su contrasea?" - -#: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 #: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:24 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 @@ -512,6 +526,15 @@ msgstr "Olvid msgid "Log out" msgstr "Cerrar sesin" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Contrasea:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Olvid su contrasea?" + #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" msgstr "Calificaciones" @@ -530,7 +553,7 @@ msgstr "Opcional" msgid "Post a photo" msgstr "Enviar una foto" -#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:303 +#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315 msgid "URL" msgstr "URL" @@ -559,11 +582,11 @@ msgstr "nombre de plantilla" #: contrib/flatpages/models.py:13 msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." msgstr "" -"Ejemplo: 'flatpages/contact_page'. Si no lo proporciona, el sistema usar " -"'flatpages/default'." +"Ejemplo: 'flatpages/contact_page.html'. Si no lo proporciona, el sistema " +"usar 'flatpages/default.html'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -581,23 +604,23 @@ msgstr "p msgid "flat pages" msgstr "pginas estticas" -#: contrib/sessions/models.py:35 +#: contrib/sessions/models.py:51 msgid "session key" msgstr "clave de sesin" -#: contrib/sessions/models.py:36 +#: contrib/sessions/models.py:52 msgid "session data" msgstr "datos de sesin" -#: contrib/sessions/models.py:37 +#: contrib/sessions/models.py:53 msgid "expire date" msgstr "fecha de caducidad" -#: contrib/sessions/models.py:41 +#: contrib/sessions/models.py:57 msgid "session" msgstr "sesin" -#: contrib/sessions/models.py:42 +#: contrib/sessions/models.py:58 msgid "sessions" msgstr "sesiones" @@ -695,12 +718,12 @@ msgstr "entradas de registro" msgid "All dates" msgstr "Todas las fechas" -#: contrib/admin/views/decorators.py:23 +#: contrib/admin/views/decorators.py:24 #: contrib/admin/templates/admin/login.html:25 msgid "Log in" msgstr "Identificarse" -#: contrib/admin/views/decorators.py:61 +#: contrib/admin/views/decorators.py:62 msgid "" "Please log in again, because your session has expired. Don't worry: Your " "submission has been saved." @@ -708,7 +731,7 @@ msgstr "" "Por favor, identifquese de nuevo porque su sesin ha caducado. No se " "preocupe: se ha guardado su envo." -#: contrib/admin/views/decorators.py:68 +#: 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." @@ -716,187 +739,253 @@ msgstr "" "Parece que su navegador no est configurado para aceptar cookies. Actvelas " "por favor, recargue esta pgina, e intntelo de nuevo." -#: contrib/admin/views/decorators.py:82 +#: contrib/admin/views/decorators.py:83 msgid "Usernames cannot contain the '@' character." msgstr "Los nombres de usuario no pueden contener el carcter '@'." -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "" "Su direccin de correo no es su nombre de usuario. Pruebe con '%s' en su " "lugar." -#: contrib/admin/views/main.py:226 +#: contrib/admin/views/main.py:223 msgid "Site administration" msgstr "Sitio administrativo" -#: contrib/admin/views/main.py:260 +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:14 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "Se aadi con xito el %(name)s \"%(obj)s\"." +msgstr "Se agreg con xito el %(name)s \"%(obj)s\"." -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:19 msgid "You may edit it again below." -msgstr "Puede editarlo de nuevo abajo." +msgstr "Puede modificarlo nuevamente abajo." -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." msgstr "Puede agregar otro %s abajo." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" msgstr "Agregar %s" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." msgstr "Agregado %s." -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 msgid "and" msgstr "y" -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." msgstr "Modifica %s." -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." msgstr "Elimina %s." -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." -msgstr "No ha cambiado ningn campo." +msgstr "No ha modificado ningn campo." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, 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:354 +#: contrib/admin/views/main.py:353 #, 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." +"Se agreg con xito el %(name)s \"%(obj)s. Puede modificarlo nuevamente " +"abajo." -#: contrib/admin/views/main.py:392 +#: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" msgstr "Modificar %s" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:473 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "Uno o ms %(fieldname)s en %(name)s: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:478 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "Uno o ms %(fieldname)s en %(name)s:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:511 #, 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:511 +#: contrib/admin/views/main.py:514 msgid "Are you sure?" msgstr "Est seguro?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:536 #, python-format msgid "Change history: %s" msgstr "Historia de modificaciones: %s" -#: contrib/admin/views/main.py:567 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s" msgstr "Seleccione %s" -#: contrib/admin/views/main.py:567 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s to change" msgstr "Seleccione %s a modificar" -#: contrib/admin/views/main.py:743 +#: contrib/admin/views/main.py:756 msgid "Database error" msgstr "Error de base de datos" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:289 -#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:297 -#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:300 +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "etiqueta:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "Filtrar:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "ver:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "App %r no encontrada" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %r not found in app %r" +msgstr "Modelo %r no encontrado en app %r" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "El objeto relacionado `%s.%s`" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "modelo:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%s.%s` objects" +msgstr "objetos relacionados `%s.%s`" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "todos %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "nmero de %s" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Capos en %s objetos" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 msgid "Integer" msgstr "Entero" -#: contrib/admin/views/doc.py:280 +#: contrib/admin/views/doc.py:292 msgid "Boolean (Either True or False)" msgstr "Booleano (Verdadero o Falso)" -#: contrib/admin/views/doc.py:281 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 #, python-format msgid "String (up to %(maxlength)s)" msgstr "Cadena (mximo %(maxlength)s)" -#: contrib/admin/views/doc.py:282 +#: contrib/admin/views/doc.py:294 msgid "Comma-separated integers" msgstr "Enteros separados por comas" -#: contrib/admin/views/doc.py:283 +#: contrib/admin/views/doc.py:295 msgid "Date (without time)" msgstr "Fecha (sin hora)" -#: contrib/admin/views/doc.py:284 +#: contrib/admin/views/doc.py:296 msgid "Date (with time)" msgstr "Fecha (con hora)" -#: contrib/admin/views/doc.py:285 +#: contrib/admin/views/doc.py:297 msgid "E-mail address" msgstr "Direccin de correo electrnico" -#: contrib/admin/views/doc.py:286 contrib/admin/views/doc.py:287 -#: contrib/admin/views/doc.py:290 +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 msgid "File path" msgstr "Ruta de archivo" -#: contrib/admin/views/doc.py:288 +#: contrib/admin/views/doc.py:300 msgid "Decimal number" msgstr "Nmero decimal" -#: contrib/admin/views/doc.py:294 +#: contrib/admin/views/doc.py:306 msgid "Boolean (Either True, False or None)" msgstr "Booleano (Verdadero, Falso o Nulo)" -#: contrib/admin/views/doc.py:295 +#: contrib/admin/views/doc.py:307 msgid "Relation to parent model" msgstr "Relacin con el modelo padre" -#: contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:308 msgid "Phone number" msgstr "Nmero de telfono" -#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:313 msgid "Text" msgstr "Texto" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:314 msgid "Time" msgstr "Hora" -#: contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:316 msgid "U.S. state (two uppercase letters)" msgstr "Estado de los EEUU (dos letras maysculas)" -#: contrib/admin/views/doc.py:305 +#: contrib/admin/views/doc.py:317 msgid "XML text" msgstr "Texto XML" +#: contrib/admin/views/doc.py:339 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s no parece ser un objeto urlpattern" + +#: contrib/admin/views/auth.py:25 +msgid "Add user" +msgstr "Agregar usuario" + #: contrib/admin/templates/widget/file.html:2 msgid "Currently:" msgstr "Actualmente" @@ -916,7 +1005,7 @@ msgstr "Hora:" #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 #: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:24 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 @@ -927,7 +1016,7 @@ msgstr "Documentaci #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 #: contrib/admin/templates/admin/change_form.html:10 -#: contrib/admin/templates/admin/base.html:24 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 @@ -948,7 +1037,7 @@ msgstr "Cambiar contrase #: contrib/admin/templates/admin/change_list.html:6 #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/base.html:30 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/registration/password_change_done.html:4 @@ -996,8 +1085,8 @@ msgstr "Agregar %(name)s" #: contrib/admin/templates/admin/filter.html:2 #, python-format -msgid " By %(title)s " -msgstr " Por %(title)s " +msgid " By %(filter_title)s " +msgstr " Por %(filter_title)s " #: contrib/admin/templates/admin/500.html:4 msgid "Server error" @@ -1053,6 +1142,11 @@ msgstr "Administraci msgid "Models available in the %(name)s application." msgstr "Modelos disponibles en la aplicacin %(name)s." +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 msgid "Add" @@ -1113,7 +1207,7 @@ msgstr "Ordenaci msgid "Order:" msgstr "Orden:" -#: contrib/admin/templates/admin/base.html:24 +#: contrib/admin/templates/admin/base.html:25 msgid "Welcome," msgstr "Bienvenido," @@ -1125,22 +1219,22 @@ msgstr "Eliminar" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" +"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 '%(object)s' provocara la eliminacin de " -"objetos relacionados, pero su cuenta no tiene permiso para eliminar los " +"Eliminar el %(object_name)s '%(escaped_object)s' provocara la eliminacin " +"de objetos relacionados, pero su cuenta no tiene permiso para eliminar los " "siguientes tipos de objetos:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" msgstr "" -"Est seguro de que quiere eliminar los %(object_name)s \"%(object)s\"? Se " -"eliminarn los siguientes objetos relacionados:" +"Est seguro de que quiere eliminar los %(object_name)s \"%(escaped_object)s" +"\"? Se eliminarn los siguientes objetos relacionados:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" @@ -1172,6 +1266,30 @@ msgstr "" "tablas de la misma hayan sido creadas, y asegrese de que el usuario " "apropiado tenga permisos de escritura en la base de datos." +#: 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, ingrese un nombre de usuario y una contrasea. Luego podr " +"configurar opciones adicionales." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Nombre de usuario:" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Contrasea:" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Contrasea (de nuevo)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Para verificacin, ingrese la misma contrasea que ingres arriba." + #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 @@ -1359,26 +1477,6 @@ msgid "As above, but opens the admin page in a new window." msgstr "" "Como antes, pero abre la pgina de administracin en una nueva ventana." -#: utils/translation.py:363 -msgid "DATE_FORMAT" -msgstr "j N Y" - -#: utils/translation.py:364 -msgid "DATETIME_FORMAT" -msgstr "j N Y P" - -#: utils/translation.py:365 -msgid "TIME_FORMAT" -msgstr "P" - -#: utils/translation.py:381 -msgid "YEAR_MONTH_FORMAT" -msgstr "F Y" - -#: utils/translation.py:382 -msgid "MONTH_DAY_FORMAT" -msgstr "j \\de F" - #: utils/dates.py:6 msgid "Monday" msgstr "Lunes" @@ -1567,115 +1665,143 @@ msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: conf/global_settings.py:37 +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "j N Y" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "j N Y P" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "P" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "j \\de F" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "rabe" + +#: conf/global_settings.py:40 msgid "Bengali" msgstr "Bengal" -#: conf/global_settings.py:38 +#: conf/global_settings.py:41 msgid "Czech" msgstr "Checo" -#: conf/global_settings.py:39 +#: conf/global_settings.py:42 msgid "Welsh" msgstr "Gals" -#: conf/global_settings.py:40 +#: conf/global_settings.py:43 msgid "Danish" msgstr "Dans" -#: conf/global_settings.py:41 +#: conf/global_settings.py:44 msgid "German" msgstr "Alemn" -#: conf/global_settings.py:42 +#: conf/global_settings.py:45 msgid "Greek" msgstr "Griego" -#: conf/global_settings.py:43 +#: conf/global_settings.py:46 msgid "English" msgstr "Ingls" -#: conf/global_settings.py:44 +#: conf/global_settings.py:47 msgid "Spanish" msgstr "Espaol" -#: conf/global_settings.py:45 +#: conf/global_settings.py:48 msgid "Argentinean Spanish" msgstr "Espaol Argentino" -#: conf/global_settings.py:46 +#: conf/global_settings.py:49 msgid "French" msgstr "Francs" -#: conf/global_settings.py:47 +#: conf/global_settings.py:50 msgid "Galician" msgstr "Gallego" -#: conf/global_settings.py:48 +#: conf/global_settings.py:51 msgid "Hungarian" msgstr "Hngaro" -#: conf/global_settings.py:49 +#: conf/global_settings.py:52 msgid "Hebrew" msgstr "Hebreo" -#: conf/global_settings.py:50 +#: conf/global_settings.py:53 msgid "Icelandic" msgstr "Islands" -#: conf/global_settings.py:51 +#: conf/global_settings.py:54 msgid "Italian" msgstr "Italiano" -#: conf/global_settings.py:52 +#: conf/global_settings.py:55 msgid "Japanese" msgstr "Japons" -#: conf/global_settings.py:53 +#: conf/global_settings.py:56 msgid "Dutch" msgstr "Holands" -#: conf/global_settings.py:54 +#: conf/global_settings.py:57 msgid "Norwegian" msgstr "Noruego" -#: conf/global_settings.py:55 +#: conf/global_settings.py:58 msgid "Brazilian" msgstr "Brasileo" -#: conf/global_settings.py:56 +#: conf/global_settings.py:59 msgid "Romanian" msgstr "Rumano" -#: conf/global_settings.py:57 +#: conf/global_settings.py:60 msgid "Russian" msgstr "Ruso" -#: conf/global_settings.py:58 +#: conf/global_settings.py:61 msgid "Slovak" msgstr "Eslovaco" -#: conf/global_settings.py:59 +#: conf/global_settings.py:62 msgid "Slovenian" msgstr "Esloveno" -#: conf/global_settings.py:60 +#: conf/global_settings.py:63 msgid "Serbian" msgstr "Serbio" -#: conf/global_settings.py:61 +#: conf/global_settings.py:64 msgid "Swedish" msgstr "Sueco" -#: conf/global_settings.py:62 +#: conf/global_settings.py:65 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:66 msgid "Ukrainian" msgstr "Ucraniano" -#: conf/global_settings.py:63 +#: conf/global_settings.py:67 msgid "Simplified Chinese" msgstr "Chino simplificado" -#: conf/global_settings.py:64 +#: conf/global_settings.py:68 msgid "Traditional Chinese" msgstr "Chino tradicional" @@ -1691,47 +1817,51 @@ msgid "%(optname)s with this %(fieldname)s already exists." msgstr "Ya existe %(optname)s con este %(fieldname)s." #: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:545 db/models/fields/__init__.py:556 +#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562 #: forms/__init__.py:346 msgid "This field is required." msgstr "Este campo es obligatorio." -#: db/models/fields/__init__.py:337 +#: db/models/fields/__init__.py:340 msgid "This value must be an integer." msgstr "Este valor debe ser un nmero entero." -#: db/models/fields/__init__.py:369 +#: db/models/fields/__init__.py:372 msgid "This value must be either True or False." msgstr "Este valor debe ser True o False." -#: db/models/fields/__init__.py:385 +#: db/models/fields/__init__.py:388 msgid "This field cannot be null." msgstr "Este campo no puede ser nulo." -#: db/models/fields/__init__.py:471 core/validators.py:135 +#: db/models/fields/__init__.py:415 core/validators.py:127 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Introduzca una fecha vlida en formato AAAA-MM-DD." + +#: db/models/fields/__init__.py:477 core/validators.py:135 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "Introduzca una fecha/hora vlida en formato YYYY-MM-DD HH:MM." -#: db/models/fields/__init__.py:565 +#: db/models/fields/__init__.py:571 msgid "Enter a valid filename." msgstr "Introduzca un nombre de achivo vlido" -#: db/models/fields/related.py:43 +#: db/models/fields/related.py:51 #, python-format msgid "Please enter a valid %s." msgstr "Por favor, introduzca un %s vlido." -#: db/models/fields/related.py:579 +#: db/models/fields/related.py:618 msgid "Separate multiple IDs with commas." msgstr " Separe mltiples IDs con comas." -#: db/models/fields/related.py:581 +#: db/models/fields/related.py:620 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" "Pulse \"Control\", o \"Command\" en un Mac, para seleccionar ms de uno." -#: db/models/fields/related.py:625 +#: db/models/fields/related.py:664 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -1754,29 +1884,29 @@ msgstr[1] "Aseg msgid "Line breaks are not allowed here." msgstr "No se permiten saltos de lnea." -#: forms/__init__.py:485 forms/__init__.py:558 forms/__init__.py:597 +#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "Seleccione una opcin vlida; '%(data)s' no est en %(choices)s." -#: forms/__init__.py:659 core/validators.py:151 core/validators.py:379 +#: forms/__init__.py:661 core/validators.py:151 core/validators.py:379 msgid "No file was submitted. Check the encoding type on the form." msgstr "" "No se envi un archivo. Verifique el tipo de codificacin en el formulario." -#: forms/__init__.py:661 +#: forms/__init__.py:663 msgid "The submitted file is empty." msgstr "El archivo enviado est vaco." -#: forms/__init__.py:717 +#: forms/__init__.py:719 msgid "Enter a whole number between -32,768 and 32,767." msgstr "Introduzca un nmero entero entre -32,768 y 32,767." -#: forms/__init__.py:727 +#: forms/__init__.py:729 msgid "Enter a positive number." msgstr "Introduzca un nmero positivo." -#: forms/__init__.py:737 +#: forms/__init__.py:739 msgid "Enter a whole number between 0 and 32,767." msgstr "Introduzca un nmero entero entre 0 y 32,767." @@ -1832,10 +1962,6 @@ msgstr "Introduzca un n msgid "Only alphabetical characters are allowed here." msgstr "Slo se admiten caracteres alfabticos." -#: core/validators.py:127 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Introduzca una fecha vlida en formato AAAA-MM-DD." - #: core/validators.py:131 msgid "Enter a valid time in HH:MM format." msgstr "Introduzca una hora vlida en formato HH:MM." @@ -2066,18 +2192,28 @@ msgstr "" "El atributo \"%(attr)s\" de la lnea %(line)s tiene un valor que no es " "vlido. (La lnea empieza por \"%(start)s\".)" -#: template/defaultfilters.py:389 +#: template/defaultfilters.py:401 msgid "yes,no,maybe" msgstr "si,no,tal vez" -#, fuzzy +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "Se cre con xito el %(verbose_name)." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "Se actualiz con xito el %(verbose_name)s." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "Se elimin el %(verbose_name)s." + #~ msgid "%(content_type_name)s" #~ msgstr "tipos de contenido" -#, fuzzy -#~ msgid "%(myname)s" -#~ msgstr "Agregar %(name)s" - #~ msgid "%(result_count)s result" #~ msgid_plural "%(counter)s results" #~ msgstr[0] "un resultado" diff --git a/django/conf/locale/fi/LC_MESSAGES/django.mo b/django/conf/locale/fi/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..1e690716fd7407ed1b8c309067d898f5be3cc237 GIT binary patch literal 33598 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 MPKIL)+=1Z#0>H%D#Q*>R literal 0 HcmV?d00001 diff --git a/django/conf/locale/fi/LC_MESSAGES/django.po b/django/conf/locale/fi/LC_MESSAGES/django.po new file mode 100644 index 0000000000..9b91982e6b --- /dev/null +++ b/django/conf/locale/fi/LC_MESSAGES/django.po @@ -0,0 +1,2031 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-08-05 14:41+0300\n" +"PO-Revision-Date: 2006-08-12 23:41+0300\n" +"Last-Translator: Antti Kaihola \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: db/models/manipulators.py:302 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "" + +#: db/models/fields/related.py:51 +#, python-format +msgid "Please enter a valid %s." +msgstr "Syöttämäsi %s ei kelpaa." + +#: db/models/fields/related.py:618 +msgid "Separate multiple IDs with commas." +msgstr "Erottele tunnisteet pilkuilla." + +#: db/models/fields/related.py:620 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +" Pidä \"Ctrl\"-näppäin (tai Macin \"Command\") pohjassa valitaksesi useita " +"vaihtoehtoja." + +#: db/models/fields/related.py:664 +#, 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] "Syöttämäsi %(self)s-tunniste %(value)r ei kelpaa." +msgstr[1] "Syöttämäsi %(self)s-tunnisteet %(value)r eivät kelpaa." + +#: db/models/fields/__init__.py:40 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s, jolla on tämä %(fieldname)s, on jo olemassa." + +#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 +#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562 +#: forms/__init__.py:346 +msgid "This field is required." +msgstr "Tämä kenttä vaaditaan." + +#: db/models/fields/__init__.py:340 +msgid "This value must be an integer." +msgstr "Tarvitaan kokonaisluku." + +#: db/models/fields/__init__.py:372 +msgid "This value must be either True or False." +msgstr "Tarvitaan tosi (True) tai epätosi (False)." + +#: db/models/fields/__init__.py:388 +msgid "This field cannot be null." +msgstr "Tämän kentän arvo ei voi olla \"null\"." + +#: db/models/fields/__init__.py:415 core/validators.py:127 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Päivämäärän pitää olla muodossa VVVV-KK-PP." + +#: db/models/fields/__init__.py:477 core/validators.py:135 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Ajankohdan pitää olla muodossa VVVV-KK-PP TT:MM." + +#: db/models/fields/__init__.py:571 +msgid "Enter a valid filename." +msgstr "Tiedostonimi ei kelpaa." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "arabia" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "bengali" + +#: conf/global_settings.py:41 +msgid "Czech" +msgstr "tšekki" + +#: conf/global_settings.py:42 +msgid "Welsh" +msgstr "" + +#: conf/global_settings.py:43 +msgid "Danish" +msgstr "tanska" + +#: conf/global_settings.py:44 +msgid "German" +msgstr "saksa" + +#: conf/global_settings.py:45 +msgid "Greek" +msgstr "kreikka" + +#: conf/global_settings.py:46 +msgid "English" +msgstr "englanti" + +#: conf/global_settings.py:47 +msgid "Spanish" +msgstr "espanja" + +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "Argentiinan espanja" + +#: conf/global_settings.py:49 +msgid "French" +msgstr "ranska" + +#: conf/global_settings.py:50 +msgid "Galician" +msgstr "" + +#: conf/global_settings.py:51 +msgid "Hungarian" +msgstr "unkari" + +#: conf/global_settings.py:52 +msgid "Hebrew" +msgstr "heprea" + +#: conf/global_settings.py:53 +msgid "Icelandic" +msgstr "islanti" + +#: conf/global_settings.py:54 +msgid "Italian" +msgstr "italia" + +#: conf/global_settings.py:55 +msgid "Japanese" +msgstr "japani" + +#: conf/global_settings.py:56 +msgid "Dutch" +msgstr "hollanti" + +#: conf/global_settings.py:57 +msgid "Norwegian" +msgstr "norja" + +#: conf/global_settings.py:58 +msgid "Brazilian" +msgstr "" + +#: conf/global_settings.py:59 +msgid "Romanian" +msgstr "romania" + +#: conf/global_settings.py:60 +msgid "Russian" +msgstr "venäjä" + +#: conf/global_settings.py:61 +msgid "Slovak" +msgstr "" + +#: conf/global_settings.py:62 +msgid "Slovenian" +msgstr "" + +#: conf/global_settings.py:63 +msgid "Serbian" +msgstr "" + +#: conf/global_settings.py:64 +msgid "Swedish" +msgstr "ruotsi" + +#: conf/global_settings.py:65 +msgid "Tamil" +msgstr "" + +#: conf/global_settings.py:66 +msgid "Ukrainian" +msgstr "" + +#: conf/global_settings.py:67 +msgid "Simplified Chinese" +msgstr "" + +#: conf/global_settings.py:68 +msgid "Traditional Chinese" +msgstr "" + +#: core/validators.py:63 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Tässä voidaan käyttää vain kirjaimia (a-z), numeroita (0-9) ja alaviivoja (_)." + +#: core/validators.py:67 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Tässä voidaan käyttää vain kirjaimia (a-z), numeroita (0-9) sekä ala-, tavu- ja kauttaviivoja (_ - /)." + +#: core/validators.py:75 +msgid "Uppercase letters are not allowed here." +msgstr "Versaalit (ABC) eivät kelpaa tässä." + +#: core/validators.py:79 +msgid "Lowercase letters are not allowed here." +msgstr "Pienet kirjaimet (abc) eivät kelpaa tässä." + +#: core/validators.py:86 +msgid "Enter only digits separated by commas." +msgstr "Vain pilkulla erotetut luvut kelpaavat tässä." + +#: core/validators.py:98 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Syötä sähköpostiosoitteita pilkuilla erotettuina." + +#: core/validators.py:102 +msgid "Please enter a valid IP address." +msgstr "IP-osoite ei kelpaa." + +#: core/validators.py:106 +msgid "Empty values are not allowed here." +msgstr "Tätä kohtaa ei voi jättää tyhjäksi." + +#: core/validators.py:110 +msgid "Non-numeric characters aren't allowed here." +msgstr "Vain numerot (0-9) kelpaavat tässä." + +#: core/validators.py:114 +msgid "This value can't be comprised solely of digits." +msgstr "Tarvitaan vähintään yksi merkki, joka ei ole numero (0-9)." + +#: core/validators.py:119 +msgid "Enter a whole number." +msgstr "Syötä kokonaisluku." + +#: core/validators.py:123 +msgid "Only alphabetical characters are allowed here." +msgstr "Vain kirjaimet kelpaavat tässä." + +#: core/validators.py:131 +msgid "Enter a valid time in HH:MM format." +msgstr "Ajan täytyy olla muodossa TT:MM." + +#: core/validators.py:139 +msgid "Enter a valid e-mail address." +msgstr "Syötä kelvollinen sähköpostiosoite." + +#: core/validators.py:151 core/validators.py:379 forms/__init__.py:661 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Tiedostoa ei lähetetty. Tarkista lomakkeen koodaus (encoding)." + +#: core/validators.py:155 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "Kuva ei kelpaa. Lähettämäsi tiedosto ei ole kuva, tai tiedosto on vioittunut." + +#: core/validators.py:162 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "Osoittessa %s ei ole kelpaavaa kuvaa." + +#: core/validators.py:166 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Puhelinnumeron tulee olla muodossa XXX-XXX-XXXX. \"%s\" ei kelpaa." + +#: core/validators.py:174 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "Osoitteessa %s ei ole kelpaavaa QuickTime-videota." + +#: core/validators.py:178 +msgid "A valid URL is required." +msgstr "URL-osoite ei kelpaa." + +#: core/validators.py:192 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"HTML-koodi ei kelpaa. Virheilmoitus on:\n" +"%s" + +#: core/validators.py:199 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Vääränmuotoinen XML: %s" + +#: core/validators.py:209 +#, python-format +msgid "Invalid URL: %s" +msgstr "URL-osoite %s ei kelpaa." + +#: core/validators.py:213 core/validators.py:215 +#, python-format +msgid "The URL %s is a broken link." +msgstr "Osoite %s on katkennut linkki." + +#: core/validators.py:221 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Syötä USA:n osavaltion lyhenne." + +#: core/validators.py:236 +#, 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] "Sanaa \"%s\" ei saa käyttää tässä." +msgstr[1] "Sanoja \"%s\" ei saa käyttää tässä." + +#: core/validators.py:243 +#, python-format +msgid "This field must match the '%s' field." +msgstr "" + +#: core/validators.py:262 +msgid "Please enter something for at least one field." +msgstr "Täytä ainakin yksi kenttä." + +#: core/validators.py:271 core/validators.py:282 +msgid "Please enter both fields or leave them both empty." +msgstr "Täytä tai jätä tyhjäksi kummatkin kentät." + +#: core/validators.py:289 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Tämä kenttä pitää täyttää, jos %(field)s on %(value)s." + +#: core/validators.py:301 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Tämä kenttä pitää täyttää, jos %(field)s ei ole %(value)s." + +#: core/validators.py:320 +msgid "Duplicate values are not allowed." +msgstr "Samaa arvoa ei voi käyttää kahdesti." + +#: core/validators.py:343 +#, python-format +msgid "This value must be a power of %s." +msgstr "Tämän luvun on oltava %s:n potenssi." + +#: core/validators.py:354 +msgid "Please enter a valid decimal number." +msgstr "Desimaaliluku ei kelpaa." + +#: core/validators.py:356 +#, 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] "Desimaaliluvussa saa tässä olla yhteensä vain %s merkitsevä numero. Huomaa, että desimaalierottimena käytetään pilkun (,) sijasta pistettä (.)." +msgstr[1] "Desimaaliluvussa saa tässä olla yhteensä vain %s merkitsevää numeroa. Huomaa, että desimaalierottimena käytetään pilkun (,) sijasta pistettä (.)." + +#: core/validators.py:359 +#, 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] "Desimaaliluvun kokonaisosassa saa tässä olla vain %s numero. Huomaa, että desimaalierottimena käytetään pilkun (,) sijasta pistettä (.)." +msgstr[1] "Desimaaliluvun kokonaisosassa saa tässä olla vain %s numeroa. Huomaa, että desimaalierottimena käytetään pilkun (,) sijasta pistettä (.)." + +#: core/validators.py:362 +#, 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] "Tässä saa olla vain %s desimaali. Huomaa, että desimaalierottimena käytetään pilkun (,) sijasta pistettä (.)." +msgstr[1] "Tässä saa olla vain %s desimaalia. Huomaa, että desimaalierottimena käytetään pilkun (,) sijasta pistettä (.)." + +#: core/validators.py:372 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Lähetä vähintään %s tavun kokoinen tiedosto." + +#: core/validators.py:373 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Lähetä enintään %s tavun kokoinen tiedosto." + +#: core/validators.py:390 +msgid "The format for this field is wrong." +msgstr "Muoto ei kelpaa." + +#: core/validators.py:405 +msgid "This field is invalid." +msgstr "Tämä arvo ei kelpaa." + +#: core/validators.py:441 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "" + +#: core/validators.py:444 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "Osoitteesta %(url)s saatiin virheellinen Content-Type '%(contenttype)s'." + +#: core/validators.py:477 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "Rivillä %(line)s oleva tagi %(tag)s pitää sulkea. (Rivi alkaa \"%(start)s\")" + +#: core/validators.py:481 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "Rivillä %(line)s on tekstiä, joka ei kelpaa tässä yhteydessä. (Rivi alkaa \"%(start)s\")" + +#: core/validators.py:486 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "Rivillä %(line)s attribuutti %(attr)s ei kelpaa. (Rivi alkaa \"%(start)s\")" + +#: core/validators.py:491 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "Rivillä %(line)s tagi \"<%(tag)s>\" ei kelpaa. (Rivi alkaa \"%(start)s\")" + +#: core/validators.py:495 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "Rivillä %(line)s yhdestä tagista puuttuu yksi tai useampi attribuutti. (Rivi alkaa \"%(start)s\")" + +#: core/validators.py:500 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "Rivillä %(line)s attribuutin %(attr)s arvo ei kelpaa. (Rivi alkaa \"%(start)s\")" + +#: contrib/auth/forms.py:52 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "Selaimesi ei salli evästeitä. Sisäänkirjautuminen vaatii evästeen." + +#: contrib/auth/forms.py:59 contrib/admin/views/decorators.py:10 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "Käyttäjätunnus tai salasana ei kelpaa. Huomaa, että isot ja pienet kirjaimet ovat merkitseviä." + +#: contrib/auth/forms.py:61 +msgid "This account is inactive." +msgstr "Tämä käyttäjätili ei ole voimassa." + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "nimi" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "koodinimi" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "oikeus" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "oikeudet" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "ryhmä" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "ryhmät" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "tunnus" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr " Vaaditaan. Enintään 30 kirjanta (a-z), numeroa (0-9) tai alaviivaa (_)." + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "etunimi" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "sukunimi" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "sähköposti" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "salasana" + +#: contrib/auth/models.py:94 +msgid "Use '[algo]$[salt]$[hexdigest]'" +msgstr "(Salasanaa ei näytetä selväkielisenä)" + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "ylläpitäjä" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Ylläpitäjillä on pääsy tähän sivuston ylläpito-osioon." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "voimassa" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "Määrää, voiko käyttäjä kirjautua sisään. Tällä voi estää käyttäjätilin käytön poistamatta sitä." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "pääkäyttäjä" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "Antaa käyttäjälle kaikki oikeudet ilman, että niitä täytyy erikseen luetella." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "viimeksi kirjautunut" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "liittynyt" + +#: contrib/auth/models.py:101 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Tässä valittujen oikeuksien lisäksi käyttäjä saa myös kaikki niiden ryhmien " +"oikeudet, joiden jäsen hän on." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "käyttäjän oikeudet" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "käyttäjä" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "käyttäjät" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Henkilökohtaiset tiedot" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "Oikeudet" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Tärkeät päivämäärät" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Ryhmät" + +#: contrib/auth/models.py:256 +msgid "message" +msgstr "viesti" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Kirjautunut ulos" + +#: contrib/admin/models.py:16 +msgid "action time" +msgstr "tapahtumahetki" + +#: contrib/admin/models.py:19 +msgid "object id" +msgstr "kohteen tunniste" + +#: contrib/admin/models.py:20 +msgid "object repr" +msgstr "kohteen tiedot" + +#: contrib/admin/models.py:21 +msgid "action flag" +msgstr "tapahtumatyyppi" + +#: contrib/admin/models.py:22 +msgid "change message" +msgstr "selitys" + +#: contrib/admin/models.py:25 +msgid "log entry" +msgstr "lokimerkintä" + +#: contrib/admin/models.py:26 +msgid "log entries" +msgstr "lokimerkinnät" + +#: contrib/admin/filterspecs.py:40 +#, python-format +msgid "" +"

By %s:

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

    Yksi %s:

    \n" +"
      \n" + +#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 +msgid "All" +msgstr "Kaikki" + +#: contrib/admin/filterspecs.py:109 +msgid "Any date" +msgstr "Mikä tahansa päivä" + +#: contrib/admin/filterspecs.py:110 +msgid "Today" +msgstr "Tänään" + +#: contrib/admin/filterspecs.py:113 +msgid "Past 7 days" +msgstr "Viimeiset 7 päivää" + +#: contrib/admin/filterspecs.py:115 +msgid "This month" +msgstr "Tässä kuussa" + +#: contrib/admin/filterspecs.py:117 +msgid "This year" +msgstr "Tänä vuonna" + +#: contrib/admin/filterspecs.py:143 +msgid "Yes" +msgstr "Kyllä" + +#: contrib/admin/filterspecs.py:143 +msgid "No" +msgstr "Ei" + +#: contrib/admin/filterspecs.py:150 +msgid "Unknown" +msgstr "Tuntematon" + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Kirjaudu sisään" + +#: 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 "Kirjaudu uudelleen sisään, koska istuntosi on mennyt umpeen. Muutoksesi ovat silti tallessa." + +#: 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 "Selaimesi ei salli evästeitä. Muuta asetukset sallimaan evästeet, lataa tämä sivu uudelleen ja yritä toistamiseen." + +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Käyttäjätunnuksessa ei saa olla '@'-merkkiä." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Käyttäjätunnus ei ole sama kuin sähköpostiosoite. Kokeile '%s'." + +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "Sivuston ylläpito" + +#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:14 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" on nyt lisätty." + +#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:345 +#: contrib/admin/views/auth.py:19 +msgid "You may edit it again below." +msgstr "Voit muokata sitä uudelleen alla." + +#: contrib/admin/views/main.py:269 contrib/admin/views/main.py:354 +#, python-format +msgid "You may add another %s below." +msgstr "Uusi %s on lisättävissä alla." + +#: contrib/admin/views/main.py:287 +#, python-format +msgid "Add %s" +msgstr "Uusi %s" + +#: contrib/admin/views/main.py:333 +#, python-format +msgid "Added %s." +msgstr "Lisätty %s." + +#: contrib/admin/views/main.py:333 contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 +msgid "and" +msgstr "ja" + +#: contrib/admin/views/main.py:335 +#, python-format +msgid "Changed %s." +msgstr "Muokattu: %s." + +#: contrib/admin/views/main.py:337 +#, python-format +msgid "Deleted %s." +msgstr "Poistettu %s." + +#: contrib/admin/views/main.py:340 +msgid "No fields changed." +msgstr "Ei muutoksia kenttiin." + +#: contrib/admin/views/main.py:343 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" on nyt muutettu." + +#: contrib/admin/views/main.py:351 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" on nyt lisätty. Voit muokata sitä uudelleen alla." + +#: contrib/admin/views/main.py:389 +#, python-format +msgid "Change %s" +msgstr "Muokkaa: %s" + +#: contrib/admin/views/main.py:471 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Yksi tai useampi %(fieldname)s kohteessa %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:476 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Yksi tai useampi %(fieldname)s kohteessa %(name)s:" + +#: contrib/admin/views/main.py:509 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" on poistettu." + +#: contrib/admin/views/main.py:512 +msgid "Are you sure?" +msgstr "Oletko varma?" + +#: contrib/admin/views/main.py:534 +#, python-format +msgid "Change history: %s" +msgstr "Muokkaushistoria: %s" + +#: contrib/admin/views/main.py:568 +#, python-format +msgid "Select %s" +msgstr "Valitse %s" + +#: contrib/admin/views/main.py:568 +#, python-format +msgid "Select %s to change" +msgstr "Valitse muokattava %s" + +#: contrib/admin/views/main.py:744 +msgid "Database error" +msgstr "Tietokantavirhe" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 +msgid "Integer" +msgstr "Kokonaisluku" + +#: contrib/admin/views/doc.py:292 +msgid "Boolean (Either True or False)" +msgstr "Totuusarvo: joko tosi (True) tai epätosi (False)" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 +#, python-format +msgid "String (up to %(maxlength)s)" +msgstr "Merkkijono (enintään %(maxlength)s merkkiä)" + +#: contrib/admin/views/doc.py:294 +msgid "Comma-separated integers" +msgstr "Pilkulla erotetut kokonaisluvut" + +#: contrib/admin/views/doc.py:295 +msgid "Date (without time)" +msgstr "Päivämäärä" + +#: contrib/admin/views/doc.py:296 +msgid "Date (with time)" +msgstr "Päivämäärä ja kellonaika" + +#: contrib/admin/views/doc.py:297 +msgid "E-mail address" +msgstr "Sähköpostios." + +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 +msgid "File path" +msgstr "Tiedostopolku" + +#: contrib/admin/views/doc.py:300 +msgid "Decimal number" +msgstr "Desimaaliluku" + +#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 +msgid "IP address" +msgstr "IP-osoite" + +#: contrib/admin/views/doc.py:306 +msgid "Boolean (Either True, False or None)" +msgstr "Totuusarvo: joko tosi (True), epätosi (False) tai ei mikään (None)" + +#: contrib/admin/views/doc.py:307 +msgid "Relation to parent model" +msgstr "Relaatio emomalliin" + +#: contrib/admin/views/doc.py:308 +msgid "Phone number" +msgstr "Puhelinnumero" + +#: contrib/admin/views/doc.py:313 +msgid "Text" +msgstr "Tekstiä" + +#: contrib/admin/views/doc.py:314 +msgid "Time" +msgstr "Kellonaika" + +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL-osoite" + +#: contrib/admin/views/doc.py:316 +msgid "U.S. state (two uppercase letters)" +msgstr "USA:n osavaltio (kaksikirjaiminen versaalein)" + +#: contrib/admin/views/doc.py:317 +msgid "XML text" +msgstr "XML-teksti" + +#: contrib/admin/views/auth.py:25 +msgid "Add user" +msgstr "Uusi käyttäjä" + +#: contrib/admin/templatetags/admin_list.py:230 +msgid "All dates" +msgstr "Kaikki päivät" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Näytä kaikki" + +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:24 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Documentation" +msgstr "Ohjeita" + +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:24 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +msgid "Change password" +msgstr "Vaihda salasana" + +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/templates/admin/base.html:24 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/index.html:4 +#: contrib/admin/templates/admin_doc/model_detail.html:3 +#: contrib/admin/templates/admin_doc/missing_docutils.html:4 +#: contrib/admin/templates/admin_doc/template_detail.html:4 +#: contrib/admin/templates/admin_doc/view_index.html:5 +#: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/view_detail.html:4 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Kirjaudu ulos" + +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/change_list.html:6 +#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_done.html:4 +msgid "Home" +msgstr "Etusivu" + +#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Poista" + +#: contrib/admin/templates/admin/delete_confirmation.html:14 +#, 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 "Kohteen '%(escaped_object)s' (%(object_name)s) poisto poistaisi myös siihen liittyviä kohteita, mutta sinulla ei ole oikeutta näiden kohteiden poistamiseen:" + +#: contrib/admin/templates/admin/delete_confirmation.html:21 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "Haluatko varmasti poistaa kohteen \"%(escaped_object)s\" (%(object_name)s)? Myös seuraavat kohteet poistettaisiin samalla:" + +#: contrib/admin/templates/admin/delete_confirmation.html:26 +msgid "Yes, I'm sure" +msgstr "Kyllä, olen varma" + +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Sivua ei löydy" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Pahoittelemme, pyydettyä sivua ei voitu löytää." + +#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Lisää uusi" + +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:5 +msgid "History" +msgstr "Muokkaushistoria" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "Näytä lopputulos" + +#: contrib/admin/templates/admin/change_form.html:30 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Korjaa virhe." +msgstr[1] "Korjaa virheet." + +#: contrib/admin/templates/admin/change_form.html:48 +msgid "Ordering" +msgstr "Järjestys" + +#: contrib/admin/templates/admin/change_form.html:51 +msgid "Order:" +msgstr "Järjestysnumero:" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s:" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Talleta uutena" + +#: contrib/admin/templates/admin/submit_line.html:5 +msgid "Save and add another" +msgstr "Talleta ja lisää seuraava" + +#: contrib/admin/templates/admin/submit_line.html:6 +msgid "Save and continue editing" +msgstr "Talleta välillä ja jatka muokkaamista" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Talleta ja poistu" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "Lisää uusi %(name)s" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Sovelluksen %(name)s mallit." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Muokkaa" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Sinulla ei ole oikeutta muokata mitään." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Viimeisimmät muutokset" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Sinun tekemäsi muutokset" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Ei yhtään" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django-sivuston ylläpito" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Djangon ylläpito" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "Date/time" +msgstr "Pvm/klo" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "User" +msgstr "Käyttäjä" + +#: contrib/admin/templates/admin/object_history.html:20 +msgid "Action" +msgstr "Toiminto" + +#: contrib/admin/templates/admin/object_history.html:26 +msgid "DATE_WITH_TIME_FULL" +msgstr "N j, Y, P" + +#: contrib/admin/templates/admin/object_history.html:36 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "Tällä kohteella ei ole muutoshistoriaa. Sitä ei ole lisätty tämän ylläpitosivun avulla." + +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Palvelinvirhe" + +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Palvelinvirhe (500)" + +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Palvelinvirhe (500)" + +#: 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 "Tietokanta-asennuksessasi on jotain vialla. Varmistu, että sopivat taulut on luotu ja että oikea käyttäjä voi lukea tietokantaa." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Etsi" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 hakutulas" +msgstr[1] "%(counter)s hakutulosta" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "yhteensä %(full_result_count)s" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Suodatin" + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Käyttäjätunnus" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Salasana:" + +#: contrib/admin/templates/admin/login.html:22 +msgid "Have you forgotten your password?" +msgstr "Oletko unohtanut salasanasi?" + +#: contrib/admin/templates/admin/base.html:24 +msgid "Welcome," +msgstr "Tervetuloa," + +#: 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 "Syötä ensin käyttäjätunnus ja salasana. Sen jälkeen voit muokata muita käyttäjän tietoja." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Käyttäjätunnus" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Salasana:" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Salasana toistamiseen" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Syötä sama salasana tarkistuksen vuoksi toistamiseen." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" +msgstr "Kirjanmerkkiset" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +msgid "Documentation bookmarklets" +msgstr "Ohjeiden kirjanmerkkiset" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +msgid "" +"\n" +"

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

      \n" +msgstr "\n

      Asenna kirjanmerkkinen raahaamalla linkki kirjanmerkkien työkalupalkkiin tai napsauttamalla linkkiä oikeanpuoleisella hiiren painikkeella ja valitsemalla kirjanmerkkeihin lisäämisen. Sen jälkeen voit valita kirjanmerkkisen miltä tahansa sivuston sivulta. Huomaa, että jotkin näistä kirjanmerkkisistä toimivat vain, jos selaat sivustoa \"paikalliseksi\" määritellyltä tietokoneelta (kysy lisätietoja verkkonne ylläpitäjältä).

      \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "Documentation for this page" +msgstr "Tämän sivun ohjeita" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "Vie avoinna olevan sivun luoneen näkymän ohjeisiin." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "Show object ID" +msgstr "Näytä kohteen tunniste" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "Näyttää yksittäistä kohdetta vastaavilla sivuilla kohteen tyypin ja tunnisteen." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Edit this object (current window)" +msgstr "Muokkaa tätä kohdetta (tässä ikkunassa)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "Siirtyy yksittäistä kohdetta vastaavalta sivulta kohteen ylläpitosivulle." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "Edit this object (new window)" +msgstr "Muokkaa tätä kohdetta (uudessa ikkunassa)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +msgid "As above, but opens the admin page in a new window." +msgstr "Kuten yllä, mutta avaa ylläpitosivun uuteen ikkunaan." + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Pvm:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Klo:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Tällä hetkellä:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Muokkaa:" + +#: contrib/admin/templates/registration/password_reset_form.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:6 +#: contrib/admin/templates/registration/password_reset_form.html:10 +#: contrib/admin/templates/registration/password_reset_done.html:4 +msgid "Password reset" +msgstr "Salasanan nollaus" + +#: 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 "" +"Unohditko salasanasi? Syötä alle sähköpostiosoitteesi, niin \n" +"lähetämme sinulle uuden salasanan." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "Sähköpostiosoite:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Nollaa salasana" + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Sait tämän viestin, koska pyysit uutta salasanaa" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "sivuston %(site_name)s käyttäjätilillesi" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Uusi salasanasi on: %(new_password)s" + +#: contrib/admin/templates/registration/password_reset_email.html:7 +msgid "Feel free to change this password by going to this page:" +msgstr "Voit vaihtaa salasanan sivulla:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Käyttäjätunnuksesi siltä varalta, että olet unohtanut sen:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Kiitos vierailustasi sivuillemme!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s ylläpitäjät" + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Kiitos sivuillamme viettämästäsi ajasta." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Kirjaudu uudelleen sisään" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Salasanan nollaus onnistui" + +#: 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 "" +"Uusi salasanasi on lähetetty antamaasi sähköpostiosoitteeseen.\n" +"Se saapuu tuota pikaa." + +#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_form.html:6 +#: contrib/admin/templates/registration/password_change_form.html:10 +#: contrib/admin/templates/registration/password_change_done.html:4 +msgid "Password change" +msgstr "Salasanan muuttaminen" + +#: contrib/admin/templates/registration/password_change_form.html:12 +msgid "" +"Please enter your old password, for security's sake, and then enter your new " +"password twice so we can verify you typed it in correctly." +msgstr "" +"Syötä vanha salasanasi varmistukseksi, ja syötä sitten uusi salasanasi\n" +"kaksi kertaa, jotta se tulee varmasti oikein." + +#: contrib/admin/templates/registration/password_change_form.html:17 +msgid "Old password:" +msgstr "Vanha salasana:" + +#: contrib/admin/templates/registration/password_change_form.html:19 +msgid "New password:" +msgstr "Uusi salasana:" + +#: contrib/admin/templates/registration/password_change_form.html:21 +msgid "Confirm password:" +msgstr "Varmista uusi salasana:" + +#: contrib/admin/templates/registration/password_change_form.html:23 +msgid "Change my password" +msgstr "Vaihda salasana" + +#: contrib/admin/templates/registration/password_change_done.html:6 +#: contrib/admin/templates/registration/password_change_done.html:10 +msgid "Password change successful" +msgstr "Salasanan muuttaminen onnistui" + +#: contrib/admin/templates/registration/password_change_done.html:12 +msgid "Your password was changed." +msgstr "Salasanasi on muutettu." + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "domain-nimi" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "näyttönimi" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "sivusto" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "sivustot" + +#: contrib/flatpages/models.py:8 +msgid "" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Esimerkki: '/tietoja/yhteystiedot/'. Varmista, että sekä alussa että lopussa " +"on kauttaviiva." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "otsikko" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "sisältö" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "salli kommentit" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "mallipohjan nimi" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "Esimerkiksi: 'flatpages/yhteydenotto.html'. Jos tämä jätetään tyhjäksi, käytetään oletuspohjaa 'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "vaaditaan rekisteröityminen" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Jos tämä kohta on valittu, vain sisäänkirjautuneet käyttäjät näkevät sivun." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "tekstisivu" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "tekstisivut" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "ohjaa osoitteesta" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Tässä on käytettävä absoluuttista polkua ilman verkkotunnusta. Esimerkki: " +"'\\\n" +"events/search/'" + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "ohjaa osoitteeseen" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Tässä on käytettävä joko absoluuttista polkua (kuten yllä) tai täydellistä " +"'http://'-alkuista URL-osoitetta." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "edelleenohjaus" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "edelleenohjaukset" + +#: contrib/comments/models.py:67 contrib/comments/models.py:166 +msgid "object ID" +msgstr "kohteen tunniste" + +#: contrib/comments/models.py:68 +msgid "headline" +msgstr "otsikko" + +#: contrib/comments/models.py:69 contrib/comments/models.py:90 +#: contrib/comments/models.py:167 +msgid "comment" +msgstr "kommentti" + +#: contrib/comments/models.py:70 +msgid "rating #1" +msgstr "1. pisteytys" + +#: contrib/comments/models.py:71 +msgid "rating #2" +msgstr "2. pisteytys" + +#: contrib/comments/models.py:72 +msgid "rating #3" +msgstr "3. pisteytys" + +#: contrib/comments/models.py:73 +msgid "rating #4" +msgstr "4. pisteytys" + +#: contrib/comments/models.py:74 +msgid "rating #5" +msgstr "5. pisteytys" + +#: contrib/comments/models.py:75 +msgid "rating #6" +msgstr "6. pisteytys" + +#: contrib/comments/models.py:76 +msgid "rating #7" +msgstr "7. pisteytys" + +#: contrib/comments/models.py:77 +msgid "rating #8" +msgstr "8. pisteytys" + +#: contrib/comments/models.py:82 +msgid "is valid rating" +msgstr "on sallittu pisteytys" + +#: contrib/comments/models.py:83 contrib/comments/models.py:169 +msgid "date/time submitted" +msgstr "lähetyshetki" + +#: contrib/comments/models.py:84 contrib/comments/models.py:170 +msgid "is public" +msgstr "on julkinen" + +#: contrib/comments/models.py:86 +msgid "is removed" +msgstr "on poistettu" + +#: 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 "" +"Rastita jos kommentti on asiaankuulumaton. Kommentin tilalla näytetään\n" +"viesti \"Tämä kommentti on poistettu\"." + +#: contrib/comments/models.py:91 +msgid "comments" +msgstr "kommentit" + +#: contrib/comments/models.py:131 contrib/comments/models.py:207 +msgid "Content object" +msgstr "Kommentoitu kohde" + +#: contrib/comments/models.py:159 +#, python-format +msgid "" +"Posted by %(user)s at %(date)s\n" +"\n" +"%(comment)s\n" +"\n" +"http://%(domain)s%(url)s" +msgstr "" +" Kirjoittanut %(user)s, pvm %(date)s\\n\n" +" \\n\n" +" %(comment)s\\n\n" +" \\n\n" +" http://%(domain)s%(url)s" + +#: contrib/comments/models.py:168 +msgid "person's name" +msgstr "henkilön nimi" + +#: contrib/comments/models.py:171 +msgid "ip address" +msgstr "IP-osoite" + +#: contrib/comments/models.py:173 +msgid "approved by staff" +msgstr "ylläpidon hyväksymä" + +#: contrib/comments/models.py:176 +msgid "free comment" +msgstr "vapaa kommentti" + +#: contrib/comments/models.py:177 +msgid "free comments" +msgstr "vapaat kommentit" + +#: contrib/comments/models.py:233 +msgid "score" +msgstr "pisteet" + +#: contrib/comments/models.py:234 +msgid "score date" +msgstr "pisteytyspäivä" + +#: contrib/comments/models.py:237 +msgid "karma score" +msgstr "karma-pisteytys" + +#: contrib/comments/models.py:238 +msgid "karma scores" +msgstr "karma-pisteytykset" + +#: contrib/comments/models.py:242 +#, python-format +msgid "%(score)d rating by %(user)s" +msgstr "%(score)d pistettä käyttäjältä %(user)s" + +#: contrib/comments/models.py:258 +#, python-format +msgid "" +"This comment was flagged by %(user)s:\n" +"\n" +"%(text)s" +msgstr "" +" %(user)s on merkinnyt tämän kommentin:\\n\n" +" \\n\n" +" %(text)s" + +#: contrib/comments/models.py:265 +msgid "flag date" +msgstr "merkintäpäivä" + +#: contrib/comments/models.py:268 +msgid "user flag" +msgstr "käyttäjän merkki" + +#: contrib/comments/models.py:269 +msgid "user flags" +msgstr "käyttäjien merkit" + +#: contrib/comments/models.py:273 +#, python-format +msgid "Flag by %r" +msgstr "Käyttäjän %r merkki" + +#: contrib/comments/models.py:278 +msgid "deletion date" +msgstr "poistamispäivä" + +#: contrib/comments/models.py:280 +msgid "moderator deletion" +msgstr "valvojan poisto" + +#: contrib/comments/models.py:281 +msgid "moderator deletions" +msgstr "valvojien poistot" + +#: contrib/comments/models.py:285 +#, python-format +msgid "Moderator deletion by %r" +msgstr "Valvojan %r poisto" + +#: contrib/comments/views/karma.py:19 +msgid "Anonymous users cannot vote" +msgstr "Anonyymit käyttäjät eivät voi äänestää" + +#: contrib/comments/views/karma.py:23 +msgid "Invalid comment ID" +msgstr "Kommentin tunniste on virheellinen" + +#: contrib/comments/views/karma.py:25 +msgid "No voting for yourself" +msgstr "Itseään ei voi äänestää" + +#: contrib/comments/views/comments.py:27 +msgid "" +"This rating is required because you've entered at least one other rating." +msgstr "Tämä pisteytys on annettava, koska olet syöttänyt ainakin yhden muunkin pisteytyksen." + +#: contrib/comments/views/comments.py:111 +#, python-format +msgid "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comment:\n" +"\n" +"%(text)s" +msgid_plural "" +"This comment was posted by a user who has posted fewer than %(count)s " +"comments:\n" +"\n" +"%(text)s" +msgstr[0] "" +msgstr[1] "" + +# Mitä "sketchy user" tarkoittaa? +#: contrib/comments/views/comments.py:116 +#, python-format +msgid "" +"This comment was posted by a sketchy user:\n" +"\n" +"%(text)s" +msgstr "" +"Tämä on \"sketchy\"-käyttäjän kirjoittama kommentti:\n" +"\n" +"%(text)s" + +#: contrib/comments/views/comments.py:188 +#: contrib/comments/views/comments.py:280 +msgid "Only POSTs are allowed" +msgstr "Vain POST-kutsut sallittu" + +#: contrib/comments/views/comments.py:192 +#: contrib/comments/views/comments.py:284 +msgid "One or more of the required fields wasn't submitted" +msgstr "Yksi tai useampi vaadittu kenttä on jäänyt täyttämättä" + +#: contrib/comments/views/comments.py:196 +#: contrib/comments/views/comments.py:286 +msgid "Somebody tampered with the comment form (security violation)" +msgstr "Kommenttilomaketta on käpälöity (turvallisuusrike)" + +#: contrib/comments/views/comments.py:206 +#: contrib/comments/views/comments.py:292 +msgid "" +"The comment form had an invalid 'target' parameter -- the object ID was " +"invalid" +msgstr "Kommenttilomakkeen 'target'-parametri ei kelpaa -- kohteen ID oli virheellinen" + +#: contrib/comments/views/comments.py:257 +#: contrib/comments/views/comments.py:321 +msgid "The comment form didn't provide either 'preview' or 'post'" +msgstr "Kommenttilomake ei pyytänyt esikatselua tai lähettämistä" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Unohditko salasanasi?" + +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Pisteytykset" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Vaaditaan" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Vapaavalintainen" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Lähetä valokuva" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Kommentti:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Esikatsele kommenttia" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Nimesi:" + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "istunnon avain" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "istunnon tiedot" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "vanhenee" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "istunto" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "istunnot" + +#: contrib/contenttypes/models.py:20 +msgid "python model class name" +msgstr "mallin python-luokan nimi" + +#: contrib/contenttypes/models.py:23 +msgid "content type" +msgstr "sisältötyyppi" + +#: contrib/contenttypes/models.py:24 +msgid "content types" +msgstr "sisältötyypit" + +#: forms/__init__.py:381 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Varmista, että tekstin pituus on vähemmän kuin %s merkki." +msgstr[1] "Varmista, että teksti pituus on vähemmän kuin %s merkkiä." + +#: forms/__init__.py:386 +msgid "Line breaks are not allowed here." +msgstr "Rivinvaihtoja ei voi käyttää." + +#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Valinta ei kelpaa; '%(data)s' ei löydy vaihtoehtojen %(choices)s joukosta." + +#: forms/__init__.py:663 +msgid "The submitted file is empty." +msgstr "Lähetetty tiedosto on tyhjä." + +#: forms/__init__.py:719 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Syötä kokonaisluku väliltä -32768 ja 32767." + +#: forms/__init__.py:729 +msgid "Enter a positive number." +msgstr "Syötä positiivinen kokonaisluku." + +#: forms/__init__.py:739 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Syötä kokonaisluku väliltä 0 ja 32767." + +#: utils/dates.py:6 +msgid "Monday" +msgstr "maanantai" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "tiistai" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "keskiviikko" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "torstai" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "perjantai" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "lauantai" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "sunnuntai" + +#: utils/dates.py:14 +msgid "January" +msgstr "tammikuu" + +#: utils/dates.py:14 +msgid "February" +msgstr "helmikuu" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "maaliskuu" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "huhtikuu" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "toukokuu" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "kesäkuu" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "heinäkuu" + +#: utils/dates.py:15 +msgid "August" +msgstr "elokuu" + +#: utils/dates.py:15 +msgid "September" +msgstr "syyskuu" + +#: utils/dates.py:15 +msgid "October" +msgstr "lokakuu" + +#: utils/dates.py:15 +msgid "November" +msgstr "marraskuu" + +#: utils/dates.py:16 +msgid "December" +msgstr "joulukuu" + +#: utils/dates.py:19 +msgid "jan" +msgstr "tam" + +#: utils/dates.py:19 +msgid "feb" +msgstr "hel" + +#: utils/dates.py:19 +msgid "mar" +msgstr "maa" + +#: utils/dates.py:19 +msgid "apr" +msgstr "huh" + +#: utils/dates.py:19 +msgid "may" +msgstr "tou" + +#: utils/dates.py:19 +msgid "jun" +msgstr "kes" + +#: utils/dates.py:20 +msgid "jul" +msgstr "hei" + +#: utils/dates.py:20 +msgid "aug" +msgstr "elo" + +#: utils/dates.py:20 +msgid "sep" +msgstr "syy" + +#: utils/dates.py:20 +msgid "oct" +msgstr "lok" + +#: utils/dates.py:20 +msgid "nov" +msgstr "mar" + +#: utils/dates.py:20 +msgid "dec" +msgstr "jou" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "tammi" + +#: utils/dates.py:27 +msgid "Feb." +msgstr "helmi" + +#: utils/dates.py:28 +msgid "Aug." +msgstr "elo" + +#: utils/dates.py:28 +msgid "Sept." +msgstr "syys" + +#: utils/dates.py:28 +msgid "Oct." +msgstr "loka" + +#: utils/dates.py:28 +msgid "Nov." +msgstr "marras" + +#: utils/dates.py:28 +msgid "Dec." +msgstr "joulu" + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "j.n.Y" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "j.n.Y G:i" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "G:i" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "N j, Y" + +#: utils/translation/trans_real.py:381 +#, fuzzy +msgid "MONTH_DAY_FORMAT" +msgstr "N j, Y" + +#: template/defaultfilters.py:401 +msgid "yes,no,maybe" +msgstr "kyllä,ei,ehkä" diff --git a/django/conf/locale/fi/LC_MESSAGES/djangojs.mo b/django/conf/locale/fi/LC_MESSAGES/djangojs.mo new file mode 100644 index 0000000000000000000000000000000000000000..34b397e4ba764c455405da8593a8486330449543 GIT binary patch literal 1529 zcmYk4&u<$=6vqcBKWcu59}*IXkr0Ba+ORex1QV*dsnaI56D!`N;)3+DJJ=J?&RDZE z0ZV|yKfsM+FDMcR4shVcjhv9Ua7T!9B_yg|IB?+m)}`snGoLqa-n{pHb_p0{j9(uNL=lCM`{gN(8Tc^EcVMr=%+tCS=ebgAyG zOubPlTOTosyd?G+mrunu*+_maH`Sr9jRE<5B0Dp$jU3QiZbz#ynYrx5ajb$Isaa6v zq4IJ!501Ixju(!rDz6PO(1q3GNf0~ESxldZJyjw~jO0LO@&?AH9Ep)KDi3n*qL=x^ z>0G^8U65o8nH!x?r5HuDH+1C6^hCy3X)&Nl;f&Ep!4Is*ZxWZS#ZdVe1BnAN zI^bDOl`+nep5EueYN{6zu|A&7Cr8R!BuDeS*W*(nqq5Y~80B?k7RG>(wyIrm66(Fo z#i?UYPeI=zS|b%(T~qIj=JWbY-%W|#c-B})mElC5&l_KP4%%xUruJu*FN0R(ITo( Yu{K0@dIHs$#P#S(+y;rR#;uC~06-Xl>Hq)$ literal 0 HcmV?d00001 diff --git a/django/conf/locale/fi/LC_MESSAGES/djangojs.po b/django/conf/locale/fi/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..35aa82e893 --- /dev/null +++ b/django/conf/locale/fi/LC_MESSAGES/djangojs.po @@ -0,0 +1,110 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-12-09 11:51+0100\n" +"PO-Revision-Date: 2006-08-05 15:27+0300\n" +"Last-Translator: Antti Kaihola \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "Mahdolliset %s" + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "Valitse kaikki" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "Lisää uusi" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "Poista" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "Valitut %s" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "Valitse vasemmalta ja napsauta " + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "Tyhjennä kaikki" + +#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "" +"Tammikuu Helmikuu Maaliskuu Huhtikuu Toukokuu Kesäkuu Heinäkuu Elokuu " +"Syyskuu Lokakuu Marraskuu Joulukuu" + +#: contrib/admin/media/js/dateparse.js:27 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Sunnuntai Maanantai Tiistai Keskiviikko Torstai Perjantai Lauantai" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "S M T K T P L" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "Nyt" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "Kello" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "Valitse kellonaika" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "24" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "06" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "12" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "Peruuta" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "Tänään" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "Kalenteri" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "Eilen" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "Huomenna" diff --git a/django/conf/locale/no/LC_MESSAGES/django.mo b/django/conf/locale/no/LC_MESSAGES/django.mo index 4f556372351af658b2e9a31cf9592a6a51b5f6a4..ee2152b5e1610fb85833a5b8dfaf8d3439cbb732 100644 GIT binary patch delta 10915 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 R*%d8Gy73a?(Bm2~{{o5B(0~8{ delta 7002 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\" on line %(line)s is an invalid tag. (Line starts with \"%" "(start)s\".)" msgstr "" -"\"<%(tag)s>\" på linje %(line)s er ikke en godkjent tag. (linja starter med " +"\"<%(tag)s>\" på linje %(line)s er ikke en godkjent tag. (linjen starter med " "\"%(start)s\".)" #: core/validators.py:480 @@ -1895,7 +1872,7 @@ msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " "starts with \"%(start)s\".)" msgstr "" -"En tag på linje %(line)s mangler en av de påbydte tillegga. (linja starter " +"En tag på linje %(line)s mangler en av de påkrevde attributtene. (linjen starter " "med \"%(start)s\".)" #: core/validators.py:485 @@ -1904,13 +1881,13 @@ msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " "starts with \"%(start)s\".)" msgstr "" -"\"%(attr)s\" tillegg på linje $(line)s har en ikke godkjent verdi. (Linja " +"\"%(attr)s\" tillegg på linje $(line)s har en ikke godkjent verdi. (Linjen " "starter med \"%(start)s\".)" #: db/models/manipulators.py:302 -#, fuzzy, python-format +#, python-format msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "$(optname)s med %(fieldname)s finnes allerede." +msgstr "%(object)s med %(type)s finnes allerede for angitt %(field)s." #: db/models/fields/__init__.py:40 #, python-format @@ -1924,37 +1901,31 @@ msgid "This field is required." msgstr "Dette feltet er påkrevd." #: db/models/fields/__init__.py:337 -#, fuzzy msgid "This value must be an integer." -msgstr "Denne verdien må være 'power' av %s." +msgstr "Denne verdien må være et heltall." #: db/models/fields/__init__.py:369 -#, fuzzy msgid "This value must be either True or False." -msgstr "Denne verdien må være 'power' av %s." +msgstr "Denne verdien må være enten \"True\" eller \"False\"." #: db/models/fields/__init__.py:385 -#, fuzzy msgid "This field cannot be null." -msgstr "Dette feltet er feil." +msgstr "Dette feltet kan ikke være null/tom." #: db/models/fields/__init__.py:562 -#, fuzzy msgid "Enter a valid filename." -msgstr "Skriv inn en godkjent e-post adresse." +msgstr "Skriv inn et godkjent fil navn." #: db/models/fields/related.py:43 -#, fuzzy, python-format +#, python-format msgid "Please enter a valid %s." -msgstr "Vennligst skriv inn en godkjent IP adresse." +msgstr "Vennligst skriv inn en/et gyldig %s." #: db/models/fields/related.py:579 -#, fuzzy msgid "Separate multiple IDs with commas." msgstr "Separer Id-ene med kommaer." #: db/models/fields/related.py:581 -#, fuzzy msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" @@ -1965,14 +1936,14 @@ msgstr "" 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] "" -msgstr[1] "" +msgstr[0] "Skriv inn gyldige %(self)s ID-er. Verdien %(value)r er ikke gyldig." +msgstr[1] "Skriv inn gyldige %(self)s ID-er. Verdiene %(value)r er ikke gyldige." #: forms/__init__.py:380 -#, fuzzy, python-format +#, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Sjekk at teksten er kortere enn %s bokstaver" +msgstr[0] "Sjekk at teksten er kortere enn %s bokstav" msgstr[1] "Sjekk at teksten er kortere enn %s bokstaver" #: forms/__init__.py:385 @@ -1982,7 +1953,7 @@ msgstr "Det er ikke tillatt med flere linjer her." #: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Velg et av valga; '%(data)s' er ikke i %(choices)s." +msgstr "Velg et gyldig valg; '%(data)s' er ikke i %(choices)s." #: forms/__init__.py:645 msgid "The submitted file is empty." @@ -2002,7 +1973,7 @@ msgstr "Skriv inn et heltall mellom 0 og 32767." #: template/defaultfilters.py:379 msgid "yes,no,maybe" -msgstr "" +msgstr "ja,nei,kanskje" #, fuzzy #~ msgid "Comments" diff --git a/django/conf/locale/no/LC_MESSAGES/djangojs.mo b/django/conf/locale/no/LC_MESSAGES/djangojs.mo index acdc98a7efe4a37b1e47c492828cc34b60216ec9..4b23aba4e0013b2c5fce91d32d64172297a67f4a 100644 GIT binary patch delta 573 zcmXZZy)Q#i7{~E*-|AMqR27Q^gT+({A`F;lbm4kQ7ZwslVh}NQGTcNWaU(H_$=ZR~ z7(@(`ni@;PVDd*8e1FY(a-Z|*xz9c4IlcEf)5ui6bN-bf2FO9OK@O4U4g(Ro#-uQf z9%iuv^BCfYt&d?R^Kne$oVADn^9X$`<2r63>#OF$7M@TIUQi9+P#e~97@MdK{%{%{ z9@fS)sDsR-8W(Yr!$-Crvxp_;0(HUWrJ8oer XDf^p2bg+MNnAH3mZ=-UYl!DSf!Zk4` delta 513 zcmYk&ze>YU6vy$?n?xIMm2gu6?(-(oM8(;P=)d=R)GSh zjj+ikYN+>Js7CiOk6hbdx|eqsjB>8t^7moaufk`47oGkA02n0T diff --git a/django/conf/locale/no/LC_MESSAGES/djangojs.po b/django/conf/locale/no/LC_MESSAGES/djangojs.po index befc101881..c6087646e0 100644 --- a/django/conf/locale/no/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/no/LC_MESSAGES/djangojs.po @@ -61,6 +61,15 @@ msgstr "Søndag Mandag Tirsdag Onsdag Torsdag Fredag Lørdag" msgid "S M T W T F S" msgstr "S M T O T F L" +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 +msgid "Show" +msgstr "Vis" + +#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 +msgid "Hide" +msgstr "Skjul" + #: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 #: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 msgid "Now" @@ -80,7 +89,7 @@ msgstr "24.00" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "6 a.m." -msgstr "18.00" +msgstr "06.00" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "Noon" diff --git a/django/conf/locale/pl/LC_MESSAGES/django.mo b/django/conf/locale/pl/LC_MESSAGES/django.mo index f7fad563395e40b8f9b41db977d6e116027a2381..d132fc114e5991ec0a0367fb11f12ab94e04e4bb 100644 GIT binary patch delta 11889 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 ZgP!1-vr4Pto#s`&oRL*SoNZO9{|7(VlPdrK diff --git a/django/conf/locale/pl/LC_MESSAGES/django.po b/django/conf/locale/pl/LC_MESSAGES/django.po index b6449e22b0..61fc4d0a90 100644 --- a/django/conf/locale/pl/LC_MESSAGES/django.po +++ b/django/conf/locale/pl/LC_MESSAGES/django.po @@ -126,12 +126,10 @@ msgid "approved by staff" msgstr "zaakceptowano" #: contrib/comments/models.py:176 -#, fuzzy msgid "free comment" msgstr "wolny komentarz" #: contrib/comments/models.py:177 -#, fuzzy msgid "free comments" msgstr "wolne komentarze" @@ -144,7 +142,6 @@ msgid "score date" msgstr "data przyznania punktów" #: contrib/comments/models.py:237 -#, fuzzy msgid "karma score" msgstr "ilość punktów" @@ -243,6 +240,9 @@ msgid "" "\n" "%(text)s" msgstr "" +"Ten komentarze został dodany przez użytkownika::\n" +"\n" +"%(text)s" #: contrib/comments/views/comments.py:189 #: contrib/comments/views/comments.py:280 @@ -257,19 +257,20 @@ msgstr "Jedno lub więcej wymaganych pól nie zostało wypełnionych" #: contrib/comments/views/comments.py:197 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "" +msgstr "Ktoś próbował obejść zabezpieczenia formularza komentarzy" #: contrib/comments/views/comments.py:207 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " "invalid" -msgstr "" +msgstr "Formularz komentarza miał niepoprawny parametr 'target' -- ID obiektu było " +"niepoprawne" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "" +msgstr "Formularz komentarza nie zapewnił obiektów 'preview' ani 'post'" #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 @@ -600,7 +601,7 @@ msgstr "Wartość logiczna (True, False, None - prawda, fałsz lub nic)" #: contrib/admin/views/doc.py:292 msgid "Relation to parent model" -msgstr "" +msgstr "Relacja do modelu rodzica" #: contrib/admin/views/doc.py:293 msgid "Phone number" @@ -794,6 +795,9 @@ msgid "" "objects, but your account doesn't have permission to delete the following " "types of objects:" msgstr "" +"Skasowanie %(object_name)s '%(object)s' spowoduje kasację zależnych " +"obiektów, lecz twoje uprawnienia nie pozwalają na usunięcie następujących " +"typów obiektów:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format @@ -801,6 +805,8 @@ msgid "" "Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " "the following related items will be deleted:" msgstr "" +"Czy chcesz skasować %(object_name)s \"%(object)s\"? Wszystkie " +"zależne obiekty zostaną skasowane:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" @@ -820,11 +826,10 @@ msgid "View on site" msgstr "Pokaż na stronie" #: contrib/admin/templates/admin/change_form.html:30 -#, fuzzy msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "Proszę popraw poniższy błąd" -msgstr[1] "Proszę popraw poniższy błąd" +msgstr[1] "Proszę popraw poniższe błędy" #: contrib/admin/templates/admin/change_form.html:48 msgid "Ordering" @@ -965,11 +970,11 @@ msgstr "Zespół %(site_name)s" #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" -msgstr "" +msgstr "Zakładki" #: contrib/admin/templates/admin_doc/bookmarklets.html:5 msgid "Documentation bookmarklets" -msgstr "" +msgstr "Zakładki Dokumentacji" #: contrib/admin/templates/admin_doc/bookmarklets.html:9 msgid "" @@ -1094,6 +1099,8 @@ msgid "" "Example: 'flatpages/contact_page'. If this isn't provided, the system will " "use 'flatpages/default'." msgstr "" +"Przykład: 'flatpages/contact_page'. Jeżeli nie podane system użyje " +"'flatpages/default'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -1105,11 +1112,11 @@ msgstr "Jeżeli zaznaczone - tylko zalogowani użytkownicy będą mogli zobaczy #: contrib/flatpages/models.py:18 msgid "flat page" -msgstr "" +msgstr "strona statyczna" #: contrib/flatpages/models.py:19 msgid "flat pages" -msgstr "" +msgstr "strony statyczne" #: contrib/auth/models.py:13 contrib/auth/models.py:26 msgid "name" @@ -1117,7 +1124,7 @@ msgstr "nazwa" #: contrib/auth/models.py:15 msgid "codename" -msgstr "" +msgstr "nazwa kodowa" #: contrib/auth/models.py:17 msgid "permission" @@ -1161,11 +1168,11 @@ msgstr "Użyj '[algo]$[salt]$[hexdigest]'" #: contrib/auth/models.py:60 msgid "staff status" -msgstr "stan w zespole" +msgstr "w zespole" #: contrib/auth/models.py:60 msgid "Designates whether the user can log into this admin site." -msgstr "Oznaczy czy użytkownik może zalogować się do panelu admina." +msgstr "Oznacza czy użytkownik może zalogować się do panelu admina." #: contrib/auth/models.py:61 msgid "active" @@ -1195,15 +1202,14 @@ msgstr "" msgid "user permissions" msgstr "uprawnienia użytkownika" +#kurwa #: contrib/auth/models.py:70 -#, fuzzy msgid "user" -msgstr "Użytkownik" +msgstr "użytkownik" #: contrib/auth/models.py:71 -#, fuzzy msgid "users" -msgstr "Uzytkownicy" +msgstr "użytkownicy" #: contrib/auth/models.py:76 msgid "Personal info" @@ -1222,7 +1228,6 @@ msgid "Groups" msgstr "Grupy" #: contrib/auth/models.py:219 -#, fuzzy msgid "message" msgstr "wiadomość" @@ -1371,7 +1376,6 @@ msgid "December" msgstr "Grudzień" #: utils/dates.py:19 -#, fuzzy msgid "jan" msgstr "sty" @@ -1472,11 +1476,10 @@ msgstr[0] "dzień" msgstr[1] "dni" #: utils/timesince.py:16 -#, fuzzy msgid "hour" msgid_plural "hours" msgstr[0] "godzina" -msgstr[1] "godzina" +msgstr[1] "godzin" #: utils/timesince.py:17 msgid "minute" @@ -1569,7 +1572,6 @@ msgid "Slovak" msgstr "Słowacki" #: conf/global_settings.py:58 -#, fuzzy msgid "Slovenian" msgstr "Słowacki" @@ -1582,9 +1584,8 @@ msgid "Swedish" msgstr "Szwedzki" #: conf/global_settings.py:61 -#, fuzzy msgid "Ukrainian" -msgstr "Brazylijski" +msgstr "Ukraiński" #: conf/global_settings.py:62 msgid "Simplified Chinese" @@ -1715,14 +1716,14 @@ msgstr "Odnośnik %s jest nieprawidłowy." #: core/validators.py:214 msgid "Enter a valid U.S. state abbreviation." -msgstr "Wpisz poprawny kod stanu U.S." +msgstr "Wpisz poprawny kod stanu U.S.A." #: core/validators.py:229 -#, fuzzy, python-format +#, 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] "Nie wolno przeklinać! Słowo %s jest niedozwolone." -msgstr[1] "Nie wolno przeklinać! Słowo %s jest niedozwolone." +msgstr[1] "Nie wolno przeklinać! Słowa %s są niedozwolone." #: core/validators.py:236 #, python-format @@ -1745,11 +1746,11 @@ msgstr "To pole musi być uzupełnione jeśli %(field)s jest %(value)s" #: core/validators.py:294 #, python-format msgid "This field must be given if %(field)s is not %(value)s" -msgstr "" +msgstr "To pole musi być wypełnione jeżeli %(field)s nie jest %(value)s" #: core/validators.py:313 msgid "Duplicate values are not allowed." -msgstr "" +msgstr "Duplikaty są niedozwolone." #: core/validators.py:336 #, python-format @@ -1761,20 +1762,20 @@ msgid "Please enter a valid decimal number." msgstr "Proszę wpisać poprawną liczbę dziesiętną." #: core/validators.py:349 -#, fuzzy, python-format +#, 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] "Proszę wpisać poprawną liczbę dziesiętną." -msgstr[1] "Proszę wpisać poprawną liczbę dziesiętną." +msgstr[0] "Proszę wpisać poprawną liczbę dziesiętną zawierającą nie więcej niż %s cyfry." +msgstr[1] "Proszę wpisać poprawną liczbę dziesiętną zawierającą nie więcej niż %s cyfr." #: core/validators.py:352 -#, fuzzy, python-format +#, 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] "Proszę wpisać poprawną liczbę dziesiętną." -msgstr[1] "Proszę wpisać poprawną liczbę dziesiętną." +msgstr[0] "Proszę wpisać poprawną liczbę dziesiętną z dokładnością do %s miejsca po przecinku." +msgstr[1] "Proszę wpisać poprawną liczbę dziesiętną z dokładnością do %s miejsc po przecinku." #: core/validators.py:362 #, python-format @@ -1797,13 +1798,14 @@ msgstr "To pole jest nieprawidłowe." #: core/validators.py:426 #, python-format msgid "Could not retrieve anything from %s." -msgstr "Nie można otrzymać nic z %s." +msgstr "Nie można nic pobrać z %s." #: core/validators.py:429 #, python-format msgid "" "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." msgstr "" +"URL %(url)s zwrócił niepoprawny Content-Type header '%(contenttype)s'." #: core/validators.py:462 @@ -1866,17 +1868,15 @@ msgstr "To pole jest wymagane" #: db/models/fields/__init__.py:337 msgid "This value must be an integer." -msgstr "" +msgstr "Ta wartość musi być liczbą całkowitą" #: db/models/fields/__init__.py:369 -#, fuzzy msgid "This value must be either True or False." -msgstr "Wartość logiczna (True, False - prawda lub fałsz)" +msgstr "Ta wartość musi być logiczna (True, False - prawda lub fałsz)." #: db/models/fields/__init__.py:385 -#, fuzzy msgid "This field cannot be null." -msgstr "To pole jest nieprawidłowe." +msgstr "To pole nie może być puste." #: db/models/fields/__init__.py:562 msgid "Enter a valid filename." @@ -1888,12 +1888,10 @@ msgid "Please enter a valid %s." msgstr "Proszę wpisać poprawne %s." #: db/models/fields/related.py:579 -#, fuzzy msgid "Separate multiple IDs with commas." msgstr "Oddziel kilka pól ID przecinkami." #: db/models/fields/related.py:581 -#, fuzzy msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" @@ -1909,11 +1907,11 @@ msgstr[0] "" msgstr[1] "" #: forms/__init__.py:380 -#, fuzzy, python-format +#, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "Upewnij się, że jest mniej niż %s znaków." -msgstr[1] "Upewnij się, że jest mniej niż %s znaków." +msgstr[0] "Upewnij się, że tekst ma mniej niż %s znak." +msgstr[1] "Upewnij się, że tekst ma mniej niż %s znaków." #: forms/__init__.py:385 msgid "Line breaks are not allowed here." diff --git a/django/conf/locale/ru/LC_MESSAGES/django.mo b/django/conf/locale/ru/LC_MESSAGES/django.mo index 467c8ddb620897d02c5b08accb6c6b65472b1d52..12e240529ff2c15a280f057431450d4677802ba2 100644 GIT binary patch literal 42820 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 delta 12394 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 TI1cVJN5+`iN9&mAqly0kWKt)I diff --git a/django/conf/locale/ru/LC_MESSAGES/django.po b/django/conf/locale/ru/LC_MESSAGES/django.po index ca204d2ddf..f329efe24f 100644 --- a/django/conf/locale/ru/LC_MESSAGES/django.po +++ b/django/conf/locale/ru/LC_MESSAGES/django.po @@ -8,12 +8,13 @@ msgstr "" "Project-Id-Version: django 0.95\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-05-16 10:11+0200\n" -"PO-Revision-Date: 2006-08-14 18:08+0300\n" -"Last-Translator: Grigory Fateyev \n" +"PO-Revision-Date: 2006-09-07 15:28+0300\n" +"Last-Translator: Alexander Yakovlev \n" "Language-Team: Dialcom Services \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"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;\n" "X-Poedit-Language: Russian\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-SourceCharset: utf-8\n" @@ -25,81 +26,81 @@ msgstr "ID объекта" #: contrib/comments/models.py:68 msgid "headline" -msgstr "заголовок" +msgstr "Заголовок" #: contrib/comments/models.py:69 #: contrib/comments/models.py:90 #: contrib/comments/models.py:167 msgid "comment" -msgstr "комментарий" +msgstr "Комментарий" #: contrib/comments/models.py:70 msgid "rating #1" -msgstr "рейтинг #1" +msgstr "рейтинг №1" #: contrib/comments/models.py:71 msgid "rating #2" -msgstr "рейтинг #2" +msgstr "рейтинг №2" #: contrib/comments/models.py:72 msgid "rating #3" -msgstr "рейтинг #3" +msgstr "рейтинг №3" #: contrib/comments/models.py:73 msgid "rating #4" -msgstr "рейтинг #4" +msgstr "рейтинг №4" #: contrib/comments/models.py:74 msgid "rating #5" -msgstr "рейтинг #5" +msgstr "рейтинг №5" #: contrib/comments/models.py:75 msgid "rating #6" -msgstr "рейтинг #6" +msgstr "рейтинг №6" #: contrib/comments/models.py:76 msgid "rating #7" -msgstr "рейтинг #7" +msgstr "рейтинг №7" #: contrib/comments/models.py:77 msgid "rating #8" -msgstr "рейтинг #8" +msgstr "рейтинг №8" #: contrib/comments/models.py:82 msgid "is valid rating" -msgstr "доступный рейтинг" +msgstr "Допустимый рейтинг" #: contrib/comments/models.py:83 #: contrib/comments/models.py:169 msgid "date/time submitted" -msgstr "дата/время добавления" +msgstr "Дата/время добавления" #: contrib/comments/models.py:84 #: contrib/comments/models.py:170 msgid "is public" -msgstr "публичный" +msgstr "Публичный" #: contrib/comments/models.py:85 #: contrib/admin/views/doc.py:289 msgid "IP address" -msgstr "IP адрес" +msgstr "IP-адрес" #: contrib/comments/models.py:86 msgid "is removed" -msgstr "удален" +msgstr "Удален" #: contrib/comments/models.py:86 msgid "Check this box if the comment is inappropriate. A \"This comment has been removed\" message will be displayed instead." -msgstr "Отметте, если комментарий нежелателен. Сообщение \"Этот комментарий был удалён\" будет показано взамен." +msgstr "Отметьте, если комментарий нежелателен. Сообщение \"Этот комментарий был удалён\" будет показано взамен." #: contrib/comments/models.py:91 msgid "comments" -msgstr "комментарии" +msgstr "Комментарии" #: contrib/comments/models.py:131 #: contrib/comments/models.py:207 msgid "Content object" -msgstr "Объект наполнения" +msgstr "Объект содержимого" #: contrib/comments/models.py:159 #, python-format @@ -110,7 +111,7 @@ msgid "" "\n" "http://%(domain)s%(url)s" msgstr "" -"Добавил %(user)s %(date)s\n" +"Добавил %(user)s %(date)s\n" "\n" "%(comment)s\n" "\n" @@ -118,15 +119,15 @@ msgstr "" #: contrib/comments/models.py:168 msgid "person's name" -msgstr "имя человека" +msgstr "Имя человека" #: contrib/comments/models.py:171 msgid "ip address" -msgstr "ip адрес:" +msgstr "IP-адрес:" #: contrib/comments/models.py:173 msgid "approved by staff" -msgstr "одобрено администрацией" +msgstr "Одобрено администрацией" #: contrib/comments/models.py:176 msgid "free comment" @@ -138,24 +139,24 @@ msgstr "Свободные комментарии" #: contrib/comments/models.py:233 msgid "score" -msgstr "счёт" +msgstr "Счёт" #: contrib/comments/models.py:234 msgid "score date" -msgstr "счёт времени" +msgstr "Время счёта" #: contrib/comments/models.py:237 msgid "karma score" -msgstr "Карма счёт" +msgstr "Кармический счёт" #: contrib/comments/models.py:238 msgid "karma scores" -msgstr "Карма счета" +msgstr "Кармические счета" #: contrib/comments/models.py:242 #, python-format msgid "%(score)d rating by %(user)s" -msgstr "%(score)d рейтинг %(user)s" +msgstr "%(score)d рейтинг пользователя %(user)s" #: contrib/comments/models.py:258 #, python-format @@ -164,21 +165,21 @@ msgid "" "\n" "%(text)s" msgstr "" -"Этот комментарий был отмечен %(user)s:\n" +"Этот комментарий был отмечен пользователем %(user)s:\n" "\n" "%(text)s" #: contrib/comments/models.py:265 msgid "flag date" -msgstr "отметка даты" +msgstr "Дата отметки" #: contrib/comments/models.py:268 msgid "user flag" -msgstr "Признак пользователя" +msgstr "Отметка пользователя" #: contrib/comments/models.py:269 msgid "user flags" -msgstr "Признаки пользователя" +msgstr "Отметки пользователя" #: contrib/comments/models.py:273 #, python-format @@ -187,11 +188,11 @@ msgstr "Отмечен %r" #: contrib/comments/models.py:278 msgid "deletion date" -msgstr "дата удаления" +msgstr "Дата удаления" #: contrib/comments/models.py:280 msgid "moderator deletion" -msgstr "Удаленно модератором" +msgstr "Удаление модератором" #: contrib/comments/models.py:281 msgid "moderator deletions" @@ -216,7 +217,7 @@ msgstr "Нельзя голосовать за себя" #: contrib/comments/views/comments.py:28 msgid "This rating is required because you've entered at least one other rating." -msgstr "Этот рейтинг необходим, так как вы входили хоть однажды в другие рейтинги." +msgstr "Этот рейтинг обязателен, так как вы уже ввели как минимум еще один рейтинг." #: contrib/comments/views/comments.py:112 #, python-format @@ -229,7 +230,17 @@ msgid_plural "" "\n" "%(text)s" msgstr[0] "" +"Этот комментарий сделан пользователем, который отправил меньше %(count)s комментария:\n" +"\n" +"%(text)s" msgstr[1] "" +"Этот комментарий сделан пользователем, который отправил меньше %(count)s комментариев:\n" +"\n" +"%(text)s" +msgstr[2] "" +"Этот комментарий сделан пользователем, который отправил меньше %(count)s комментариев:\n" +"\n" +"%(text)s" #: contrib/comments/views/comments.py:117 #, python-format @@ -238,14 +249,14 @@ msgid "" "\n" "%(text)s" msgstr "" -"Коментарий был добавлен ндоверенным пользователем:\n" +"Коментарий был добавлен недоверенным пользователем:\n" "\n" "%(text)s" #: contrib/comments/views/comments.py:189 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" -msgstr "Только POSTы разрешены" +msgstr "Разрешены только POSTы" #: contrib/comments/views/comments.py:193 #: contrib/comments/views/comments.py:284 @@ -255,17 +266,17 @@ msgstr "Одно или больше обязательных полей не б #: contrib/comments/views/comments.py:197 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "Кто-то вмешивается в форму комментария (нарушение безопасности)" +msgstr "Кто-то вмешался в форму комментария (нарушение безопасности)" #: contrib/comments/views/comments.py:207 #: contrib/comments/views/comments.py:292 msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" -msgstr "Форма комментария имеет неверный 'target' параметр -- ID объекта неверно" +msgstr "Форма комментария имела неверный параметр 'target' -- ID объекта неверен" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Форма комментария не обеспечивает и 'preview' или 'post'" +msgstr "Форма комментария не предоставила ни 'предпросмотр', ни 'отправить'" #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 @@ -310,7 +321,7 @@ msgstr "Рейтинги" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Required" -msgstr "Необходимое" +msgstr "Обязательное" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 @@ -329,11 +340,11 @@ msgstr "Комментарий:" #: contrib/comments/templates/comments/form.html:32 #: contrib/comments/templates/comments/freeform.html:9 msgid "Preview comment" -msgstr "Просмотр комментария" +msgstr "Предпросмотр комментария" #: contrib/comments/templates/comments/freeform.html:4 msgid "Your name:" -msgstr "имя пользователя:" +msgstr "Имя пользователя:" #: contrib/admin/filterspecs.py:40 #, python-format @@ -341,7 +352,7 @@ msgid "" "

      By %s:

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

        К %s:

        \n" +"

        По %s:

        \n" "
          \n" #: contrib/admin/filterspecs.py:70 @@ -384,7 +395,7 @@ msgstr "Неизвестно" #: contrib/admin/models.py:16 msgid "action time" -msgstr "время действия" +msgstr "Время действия" #: contrib/admin/models.py:19 msgid "object id" @@ -392,23 +403,23 @@ msgstr "id обьекта" #: contrib/admin/models.py:20 msgid "object repr" -msgstr "представление обьекта" +msgstr "Представление обьекта" #: contrib/admin/models.py:21 msgid "action flag" -msgstr "отметка действия" +msgstr "Отметка действия" #: contrib/admin/models.py:22 msgid "change message" -msgstr "изменить сообщение" +msgstr "Изменить сообщение" #: contrib/admin/models.py:25 msgid "log entry" -msgstr "журнальная запись" +msgstr "Журнальная запись" #: contrib/admin/models.py:26 msgid "log entries" -msgstr "журнальные записи" +msgstr "Журнальные записи" #: contrib/admin/templatetags/admin_list.py:228 msgid "All dates" @@ -418,7 +429,7 @@ msgstr "Все даты" #: contrib/auth/forms.py:36 #: contrib/auth/forms.py:41 msgid "Please enter a correct username and password. Note that both fields are case-sensitive." -msgstr "Пожалуйста, вводите верные данные именя пользователя и пароль. Помните, оба поля чувствительны к регистру." +msgstr "Пожалуйста, введите верные имя пользователя и пароль. Помните, оба поля чувствительны к регистру." #: contrib/admin/views/decorators.py:23 #: contrib/admin/templates/admin/login.html:25 @@ -427,11 +438,11 @@ msgstr "Вход" #: contrib/admin/views/decorators.py:61 msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." -msgstr "Пожалуйста войдите снова, посколькук ваша сессия устарела. Не беспокойтесь:введенные вами данные сохранены." +msgstr "Пожалуйста, войдите снова, поскольку ваша сессия устарела. Не беспокойтесь: введенные вами данные сохранены." #: contrib/admin/views/decorators.py:68 msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." -msgstr "Похоже, что ваш броузер не настроен на прием cookies. Пожалуйства включите cookie, перезагрузите страницу и попытайтесь снова. " +msgstr "Похоже, ваш броузер не настроен на прием cookies. Пожалуйства, включите cookie, перезагрузите страницу и попытайтесь снова." #: contrib/admin/views/decorators.py:82 msgid "Usernames cannot contain the '@' character." @@ -440,7 +451,7 @@ msgstr "Имя пользователя не может включать сим #: contrib/admin/views/decorators.py:84 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "Ваш e-mail адрес не ваше имя. Попробуйте '%s' в замен." +msgstr "Ваш адрес электронной почты не является вашим именем пользователя. Попробуйте '%s' взамен." #: contrib/admin/views/main.py:226 msgid "Site administration" @@ -449,12 +460,12 @@ msgstr "Администрирование сайта" #: contrib/admin/views/main.py:260 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "%(name)s \"%(obj)s\" были успешно добавлены." +msgstr "%(name)s \"%(obj)s\" был успешно добавлен." #: contrib/admin/views/main.py:264 #: contrib/admin/views/main.py:348 msgid "You may edit it again below." -msgstr "Вы снова можете редактировать их внизу" +msgstr "Ниже можно снова редактировать его" #: contrib/admin/views/main.py:272 #: contrib/admin/views/main.py:357 @@ -470,7 +481,7 @@ msgstr "Добавить %s" #: contrib/admin/views/main.py:336 #, python-format msgid "Added %s." -msgstr "Добавлено %s" +msgstr "Добавлен %s." #: contrib/admin/views/main.py:336 #: contrib/admin/views/main.py:338 @@ -481,12 +492,12 @@ msgstr "и" #: contrib/admin/views/main.py:338 #, python-format msgid "Changed %s." -msgstr "Изменено %s." +msgstr "Изменен %s." #: contrib/admin/views/main.py:340 #, python-format msgid "Deleted %s." -msgstr "Удалено %s." +msgstr "Удален %s." #: contrib/admin/views/main.py:343 msgid "No fields changed." @@ -495,12 +506,12 @@ msgstr "Ни одно поле не изменено." #: contrib/admin/views/main.py:346 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "%(name)s \"%(obj)s\" было успешно изменено" +msgstr "%(name)s \"%(obj)s\" был успешно изменен." #: contrib/admin/views/main.py:354 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)s \"%(obj)s\" было успешно изменено. Вы можете редактировать его снова." +msgstr "%(name)s \"%(obj)s\" был успешно добавлен. Ниже можно снова редактировать его." #: contrib/admin/views/main.py:392 #, python-format @@ -510,17 +521,17 @@ msgstr "Изменить %s" #: contrib/admin/views/main.py:470 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "Одно или более %(fieldname)s в %(name)s: %(obj)s" +msgstr "Один или более %(fieldname)s в %(name)s: %(obj)s" #: contrib/admin/views/main.py:475 #, python-format msgid "One or more %(fieldname)s in %(name)s:" -msgstr "Одно или более %(fieldname)s в %(name)s:" +msgstr "Один или более %(fieldname)s в %(name)s:" #: contrib/admin/views/main.py:508 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" было успешно удалено." +msgstr "%(name)s \"%(obj)s\" был успешно удален." #: contrib/admin/views/main.py:511 msgid "Are you sure?" @@ -529,7 +540,7 @@ msgstr "Вы уверены?" #: contrib/admin/views/main.py:533 #, python-format msgid "Change history: %s" -msgstr "Измени историю: %s" +msgstr "История изменений: %s" #: contrib/admin/views/main.py:565 #, python-format @@ -574,7 +585,7 @@ msgstr "Дата (с указанием времени)" #: contrib/admin/views/doc.py:283 msgid "E-mail address" -msgstr "E-mail адрес" +msgstr "Адрес электронной почты" #: contrib/admin/views/doc.py:284 #: contrib/admin/views/doc.py:287 @@ -591,7 +602,7 @@ msgstr "Логическое (True, False или None)" #: contrib/admin/views/doc.py:292 msgid "Relation to parent model" -msgstr "Зависимость на родительскую модель." +msgstr "Связь с родительской моделью" #: contrib/admin/views/doc.py:293 msgid "Phone number" @@ -612,11 +623,11 @@ msgstr "URL" #: contrib/admin/views/doc.py:301 msgid "U.S. state (two uppercase letters)" -msgstr "Штат США (два заглавных символа)" +msgstr "Штат США (две заглавные буквы)" #: contrib/admin/views/doc.py:302 msgid "XML text" -msgstr "XML текст" +msgstr "Текст XML" #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 @@ -683,11 +694,11 @@ msgstr "Действие" #: contrib/admin/templates/admin/object_history.html:26 msgid "DATE_WITH_TIME_FULL" -msgstr "j. N Y, H:i" +msgstr "j N Y H:i" #: contrib/admin/templates/admin/object_history.html:36 msgid "This object doesn't have a change history. It probably wasn't added via this admin site." -msgstr "Данный обьект не имеет истории изменения. Возможно он не был добавлен через данный административный сайт." +msgstr "Данный обьект не имеет истории изменений. Возможно, он был добавлен не через данный административный сайт." #: contrib/admin/templates/admin/base_site.html:4 msgid "Django site admin" @@ -711,7 +722,7 @@ msgstr "Ошибка сервера (500)" #: contrib/admin/templates/admin/500.html:10 msgid "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." -msgstr "Произошла ошибка. Отчет об ошибке отправлен администраторам сайта по e-mailи она должна быть вскоре исправлена. Благодарим вас на терпение и помощь." +msgstr "Произошла ошибка. Отчет об ошибке отправлен администраторам сайта по электронной почте, ошибка должна быть вскоре исправлена. Благодарим вас на терпение и помощь." #: contrib/admin/templates/admin/404.html:4 #: contrib/admin/templates/admin/404.html:8 @@ -725,7 +736,7 @@ msgstr "К сожалению, запрашиваемая вами страни #: contrib/admin/templates/admin/index.html:17 #, python-format msgid "Models available in the %(name)s application." -msgstr "Модели доступны в %(name)s приложении." +msgstr "Модели доступны в приложении %(name)s." #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 @@ -742,11 +753,11 @@ msgstr "Недостаточно прав для редактирования." #: contrib/admin/templates/admin/index.html:52 msgid "Recent Actions" -msgstr "Последние Действия" +msgstr "Последние действия" #: contrib/admin/templates/admin/index.html:53 msgid "My Actions" -msgstr "Мои Действия" +msgstr "Мои действия" #: contrib/admin/templates/admin/index.html:57 msgid "None available" @@ -773,12 +784,12 @@ msgstr "Удалить" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format msgid "Deleting the %(object_name)s '%(object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" -msgstr "Удаление объекта %(object_name)s '%(object)s' приведет к удалению зависимых элементов, но предоставленных вам прав недостаточно для удаления следующих типов объектов:" +msgstr "Удаление объекта %(object_name)s '%(object)s' привело бы к удалению связанных элементов, но предоставленных вам прав недостаточно для удаления следующих типов объектов:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format msgid "Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of the following related items will be deleted:" -msgstr "Вы уверены, что хотите удалить %(object_name)s \"%(object)s\"? Все следующие объекты также будут удалены:" +msgstr "Вы уверены, что хотите удалить %(object_name)s \"%(object)s\"? Все следующие связанные объекты также будут удалены:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" @@ -787,12 +798,24 @@ msgstr "Да, я уверен" #: contrib/admin/templates/admin/filter.html:2 #, python-format msgid " By %(title)s " -msgstr "К%(title)s " +msgstr " По %(title)s " #: contrib/admin/templates/admin/search_form.html:8 msgid "Go" msgstr "Вперёд" +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 результат" +msgstr[1] "%(counter)s результата" +msgstr[2] "%(counter)s результатов" + +#: contrib/admin/templates/admin/search_form.html:10 +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s всего" + #: contrib/admin/templates/admin/change_form.html:21 msgid "View on site" msgstr "Смотреть сайт" @@ -800,8 +823,9 @@ msgstr "Смотреть сайт" #: contrib/admin/templates/admin/change_form.html:30 msgid "Please correct the error below." msgid_plural "Please correct the errors below." -msgstr[0] "Пожалуйста исправьте ошибку ниже." -msgstr[1] "Пожалуйста исправьте ошибки ниже." +msgstr[0] "Пожалуйста, исправьте ошибку ниже." +msgstr[1] "Пожалуйста, исправьте ошибки ниже." +msgstr[2] "Пожалуйста, исправьте ошибки ниже." #: contrib/admin/templates/admin/change_form.html:48 msgid "Ordering" @@ -852,11 +876,11 @@ msgstr "Сброс пароля" #: contrib/admin/templates/registration/password_reset_form.html:12 msgid "Forgotten your password? Enter your e-mail address below, and we'll reset your password and e-mail the new one to you." -msgstr "Забыли пароль? Введите ваш e-mail адрес ниже и мы очистим ваш старый пароль, и вышлем вам по e-mail новый." +msgstr "Забыли пароль? Введите свой адрес электронной почты ниже, мы очистим ваш старый пароль и вышлем вам по e-mail новый." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" -msgstr "E-mail адрес:" +msgstr "Адрес электронной почты:" #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "Reset my password" @@ -877,11 +901,11 @@ msgstr "Успешная очистка пароля" #: contrib/admin/templates/registration/password_reset_done.html:12 msgid "We've e-mailed a new password to the e-mail address you submitted. You should be receiving it shortly." -msgstr "Мы отправили новый пароль по указанному вами адресу электронной почты. Вы должны его вскоре получить." +msgstr "Мы отправили новый пароль по указанному вами адресу электронной почты. Вскоре вы его получите." #: contrib/admin/templates/registration/password_change_form.html:12 msgid "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." -msgstr "В целях безопасности, пожалуйста, введите ваш старый пароль, затем - новый пароль дважды, с тем, чтобы мы могли убедиться в правильности написания." +msgstr "В целях безопасности, пожалуйста, введите свой старый пароль, затем - новый пароль дважды, с тем, чтобы мы могли убедиться в правильности написания." #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" @@ -901,12 +925,12 @@ msgstr "Изменение пароля" #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Вы получили это сообщение потому что была запрошена очистка пароля" +msgstr "Вы получили это сообщение, потому что была запрошена очистка пароля" #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format msgid "for your user account at %(site_name)s" -msgstr "для вашего пользовательского аккаунта на %(site_name)s" +msgstr "Для вашей учетной записи на %(site_name)s" #: contrib/admin/templates/registration/password_reset_email.html:5 #, python-format @@ -915,7 +939,7 @@ msgstr "Ваш новый пароль: %(new_password)s" #: contrib/admin/templates/registration/password_reset_email.html:7 msgid "Feel free to change this password by going to this page:" -msgstr "Вы всегда можете изменить этот пароль перейдя на страницу:" +msgstr "Вы всегда можете изменить этот пароль, перейдя на страницу:" #: contrib/admin/templates/registration/password_reset_email.html:11 msgid "Your username, in case you've forgotten:" @@ -936,7 +960,7 @@ msgstr "Закладки" #: contrib/admin/templates/admin_doc/bookmarklets.html:5 msgid "Documentation bookmarklets" -msgstr "Документация по bookmarklets" +msgstr "Закладки документации" #: contrib/admin/templates/admin_doc/bookmarklets.html:9 msgid "" @@ -948,6 +972,13 @@ msgid "" "as \"internal\" (talk to your system administrator if you aren't sure if\n" "your computer is \"internal\").

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

          Для установки закладок перетащите ссылку к себе на панель\n" +"закладок или щелкните правой кнопкой мыши по ссылке и добавьте ее в закладки. Теперь у вас есть возможность\n" +"выбрать закладку с любой страницы сайта. Обратите внимание: некоторые из этих\n" +"закладок требуют, чтобы вы просматривали сайт с компьютера, определенного\n" +"как \"внутренний\" (уточните у своего системного администратора, если не уверены, является ли\n" +"ваш компьютер \"внутренним\").

          \n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" @@ -955,7 +986,7 @@ msgstr "Документация по данной странице" #: contrib/admin/templates/admin_doc/bookmarklets.html:20 msgid "Jumps you from any page to the documentation for the view that generates that page." -msgstr "Перенаправит вас с любой страницы к просмотру документа, который генерирует эту страницу." +msgstr "Перенаправляет вас с любой страницы к документации view, который генерирует эту страницу." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" @@ -963,7 +994,7 @@ msgstr "Показать ID обьекта" #: contrib/admin/templates/admin_doc/bookmarklets.html:23 msgid "Shows the content-type and unique ID for pages that represent a single object." -msgstr "Показывает тип наполнения и уникальный ID для страниц, которые означают одинокий объект." +msgstr "Показывает тип наполнения и уникальный ID для страниц, представляющих один объект." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" @@ -971,7 +1002,7 @@ msgstr "Редактировать данный обьект (в текущем #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Перейти на страницу администратор для страниц представляющих один объект." +msgstr "Перейдет на административную страницу для страниц, представляющих один объект." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "Edit this object (new window)" @@ -979,7 +1010,7 @@ msgstr "Редактировать данный обьект (в новом ок #: contrib/admin/templates/admin_doc/bookmarklets.html:29 msgid "As above, but opens the admin page in a new window." -msgstr "То же что и выше, но откроет административную страницу в новом окне" +msgstr "То же что и выше, но откроет административную страницу в новом окне." #: contrib/admin/templates/widget/date_time.html:3 msgid "Date:" @@ -999,27 +1030,27 @@ msgstr "Изменить:" #: contrib/redirects/models.py:7 msgid "redirect from" -msgstr "перенаправить из" +msgstr "Перенаправить из" #: contrib/redirects/models.py:8 msgid "This should be an absolute path, excluding the domain name. Example: '/events/search/'." -msgstr "Это должен быть абсолютный путь, исключая доменное имя. Пример: '/events/search/'." +msgstr "Это должен быть абсолютный путь без доменного имени. Пример: '/events/search/'." #: contrib/redirects/models.py:9 msgid "redirect to" -msgstr "перенаправить на" +msgstr "Перенаправить на" #: contrib/redirects/models.py:10 msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." -msgstr "Это должен быть, либо абсолютный путь (как выше) или полный URL начинающийся с 'http://'." +msgstr "Это должен быть абсолютный путь (как выше) или полный URL, начинающийся с 'http://'." #: contrib/redirects/models.py:12 msgid "redirect" -msgstr "перенаправить" +msgstr "Перенаправление" #: contrib/redirects/models.py:13 msgid "redirects" -msgstr "перенаправления" +msgstr "Перенаправления" #: contrib/flatpages/models.py:8 msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." @@ -1027,19 +1058,19 @@ msgstr "Пример: '/about/contact/'. Будьте уверенны, что #: contrib/flatpages/models.py:9 msgid "title" -msgstr "заголовок" +msgstr "Заголовок" #: contrib/flatpages/models.py:10 msgid "content" -msgstr "наполнение" +msgstr "Содержимое" #: contrib/flatpages/models.py:11 msgid "enable comments" -msgstr "активировать комментарии" +msgstr "Активировать комментарии" #: contrib/flatpages/models.py:12 msgid "template name" -msgstr "имя шаблона" +msgstr "Имя шаблона" #: contrib/flatpages/models.py:13 msgid "Example: 'flatpages/contact_page'. If this isn't provided, the system will use 'flatpages/default'." @@ -1047,7 +1078,7 @@ msgstr "Пример: 'flatpages/contact_page'. Если этот файл не #: contrib/flatpages/models.py:14 msgid "registration required" -msgstr "регистрация обязательна" +msgstr "Регистрация обязательна" #: contrib/flatpages/models.py:14 msgid "If this is checked, only logged-in users will be able to view the page." @@ -1055,24 +1086,24 @@ msgstr "Если отмечено, только вошедшие пользов #: contrib/flatpages/models.py:18 msgid "flat page" -msgstr "простая страница" +msgstr "Простая страница" #: contrib/flatpages/models.py:19 msgid "flat pages" -msgstr "простые страницы" +msgstr "Простые страницы" #: contrib/auth/models.py:13 #: contrib/auth/models.py:26 msgid "name" -msgstr "имя" +msgstr "Имя" #: contrib/auth/models.py:15 msgid "codename" -msgstr "код" +msgstr "Кодовое название" #: contrib/auth/models.py:17 msgid "permission" -msgstr "Права" +msgstr "Право" #: contrib/auth/models.py:18 #: contrib/auth/models.py:27 @@ -1090,23 +1121,23 @@ msgstr "Группы" #: contrib/auth/models.py:55 msgid "username" -msgstr "имя пользователя" +msgstr "Имя пользователя" #: contrib/auth/models.py:56 msgid "first name" -msgstr "имя" +msgstr "Имя" #: contrib/auth/models.py:57 msgid "last name" -msgstr "фамилия" +msgstr "Фамилия" #: contrib/auth/models.py:58 msgid "e-mail address" -msgstr "e-mail адрес" +msgstr "Адрес электронной почты" #: contrib/auth/models.py:59 msgid "password" -msgstr "пароль" +msgstr "Пароль" #: contrib/auth/models.py:59 msgid "Use '[algo]$[salt]$[hexdigest]'" @@ -1114,7 +1145,7 @@ msgstr "Используйте '[algo]$[salt]$[hexdigest]'" #: contrib/auth/models.py:60 msgid "staff status" -msgstr "статус персонала" +msgstr "Статус персонала" #: contrib/auth/models.py:60 msgid "Designates whether the user can log into this admin site." @@ -1122,27 +1153,27 @@ msgstr "Отметьте, если пользователь может вход #: contrib/auth/models.py:61 msgid "active" -msgstr "активен" +msgstr "Активный" #: contrib/auth/models.py:62 msgid "superuser status" -msgstr "статус админа" +msgstr "Статус суперпользователя" #: contrib/auth/models.py:63 msgid "last login" -msgstr "последний вход" +msgstr "Последний вход" #: contrib/auth/models.py:64 msgid "date joined" -msgstr "дата регистрации" +msgstr "Дата регистрации" #: contrib/auth/models.py:66 msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." -msgstr "К добавлению к перавам выбрнанным вуручную, этот пользователь может получить все права группы, к которой он принадлежит." +msgstr "В добавление к правам, присвоенным вручную, этот пользователь получит все права групп, к которым он принадлежит." #: contrib/auth/models.py:67 msgid "user permissions" -msgstr "Права пользователя" +msgstr "права пользователя" #: contrib/auth/models.py:70 msgid "user" @@ -1182,59 +1213,59 @@ msgstr "имя класса python модуля" #: contrib/contenttypes/models.py:28 msgid "content type" -msgstr "тип наполнения" +msgstr "Тип содержимого" #: contrib/contenttypes/models.py:29 msgid "content types" -msgstr "типы наполнения" +msgstr "Типы содержимого" #: contrib/sessions/models.py:35 msgid "session key" -msgstr "ключ сессии" +msgstr "Ключ сессии" #: contrib/sessions/models.py:36 msgid "session data" -msgstr "данные сессии" +msgstr "Данные сессии" #: contrib/sessions/models.py:37 msgid "expire date" -msgstr "дата окончания" +msgstr "Дата окончания" #: contrib/sessions/models.py:41 msgid "session" -msgstr "сессия" +msgstr "Сессия" #: contrib/sessions/models.py:42 msgid "sessions" -msgstr "сессии" +msgstr "Сессии" #: contrib/sites/models.py:10 msgid "domain name" -msgstr "домен" +msgstr "Доменное имя" #: contrib/sites/models.py:11 msgid "display name" -msgstr "выводимое имя" +msgstr "Выводимое имя" #: contrib/sites/models.py:15 msgid "site" -msgstr "сайт" +msgstr "Сайт" #: contrib/sites/models.py:16 msgid "sites" -msgstr "сайты" +msgstr "Сайты" #: utils/translation.py:360 msgid "DATE_FORMAT" -msgstr "" +msgstr "d.m.Y" #: utils/translation.py:361 msgid "DATETIME_FORMAT" -msgstr "" +msgstr "d.m.Y H:i" #: utils/translation.py:362 msgid "TIME_FORMAT" -msgstr "" +msgstr "H:i" #: utils/dates.py:6 msgid "Monday" @@ -1307,7 +1338,7 @@ msgstr "Сентябрь" #: utils/dates.py:15 msgid "October" -msgstr "Остябрь" +msgstr "Октябрь" #: utils/dates.py:15 msgid "November" @@ -1367,143 +1398,149 @@ msgstr "дек" #: utils/dates.py:27 msgid "Jan." -msgstr "Янв." +msgstr "янв." #: utils/dates.py:27 msgid "Feb." -msgstr "Фев." +msgstr "фев." #: utils/dates.py:28 msgid "Aug." -msgstr "Авг." +msgstr "авг." #: utils/dates.py:28 msgid "Sept." -msgstr "Сен." +msgstr "сен." #: utils/dates.py:28 msgid "Oct." -msgstr "Окт." +msgstr "окт." #: utils/dates.py:28 msgid "Nov." -msgstr "Нояб." +msgstr "нояб." #: utils/dates.py:28 msgid "Dec." -msgstr "Дек." +msgstr "дек." #: utils/timesince.py:12 msgid "year" msgid_plural "years" msgstr[0] "год" -msgstr[1] "лет" +msgstr[1] "года" +msgstr[2] "лет" #: utils/timesince.py:13 msgid "month" msgid_plural "months" msgstr[0] "месяц" -msgstr[1] "месяцев" +msgstr[1] "месяца" +msgstr[2] "месяцев" #: utils/timesince.py:14 msgid "week" msgid_plural "weeks" msgstr[0] "неделя" -msgstr[1] "недель" +msgstr[1] "недели" +msgstr[2] "недель" #: utils/timesince.py:15 msgid "day" msgid_plural "days" msgstr[0] "день" -msgstr[1] "дней" +msgstr[1] "дня" +msgstr[2] "дней" #: utils/timesince.py:16 msgid "hour" msgid_plural "hours" msgstr[0] "час" -msgstr[1] "часов" +msgstr[1] "часа" +msgstr[2] "часов" #: utils/timesince.py:17 msgid "minute" msgid_plural "minutes" msgstr[0] "минута" -msgstr[1] "минут" +msgstr[1] "минуты" +msgstr[2] "минут" #: conf/global_settings.py:37 msgid "Bengali" -msgstr "" +msgstr "Бенгальский" #: conf/global_settings.py:38 msgid "Czech" -msgstr "" +msgstr "Чешский" #: conf/global_settings.py:39 msgid "Welsh" -msgstr "" +msgstr "Уэльский" #: conf/global_settings.py:40 msgid "Danish" -msgstr "" +msgstr "Датский" #: conf/global_settings.py:41 msgid "German" -msgstr "" +msgstr "Немецкий" #: conf/global_settings.py:42 msgid "Greek" -msgstr "" +msgstr "Греческий" #: conf/global_settings.py:43 msgid "English" -msgstr "" +msgstr "Английский" #: conf/global_settings.py:44 msgid "Spanish" -msgstr "" +msgstr "Испанский" #: conf/global_settings.py:45 msgid "French" -msgstr "" +msgstr "Французский" #: conf/global_settings.py:46 msgid "Galician" -msgstr "" +msgstr "Галльский" #: conf/global_settings.py:47 msgid "Hungarian" -msgstr "" +msgstr "Венгерский" #: conf/global_settings.py:48 msgid "Hebrew" -msgstr "" +msgstr "Иврит" #: conf/global_settings.py:49 msgid "Icelandic" -msgstr "" +msgstr "Исландский" #: conf/global_settings.py:50 msgid "Italian" -msgstr "" +msgstr "Итальянский" #: conf/global_settings.py:51 msgid "Japanese" -msgstr "" +msgstr "Японский" #: conf/global_settings.py:52 msgid "Dutch" -msgstr "" +msgstr "Голландский" #: conf/global_settings.py:53 msgid "Norwegian" -msgstr "" +msgstr "Норвежский" #: conf/global_settings.py:54 msgid "Brazilian" -msgstr "" +msgstr "Бразильский" #: conf/global_settings.py:55 msgid "Romanian" -msgstr "" +msgstr "Румынский" #: conf/global_settings.py:56 msgid "Russian" @@ -1511,100 +1548,100 @@ msgstr "Русский" #: conf/global_settings.py:57 msgid "Slovak" -msgstr "" +msgstr "Словацкий" #: conf/global_settings.py:58 msgid "Slovenian" -msgstr "" +msgstr "Словенский" #: conf/global_settings.py:59 msgid "Serbian" -msgstr "" +msgstr "Сербский" #: conf/global_settings.py:60 msgid "Swedish" -msgstr "" +msgstr "Шведский" #: conf/global_settings.py:61 msgid "Ukrainian" -msgstr "" +msgstr "Украинский" #: conf/global_settings.py:62 msgid "Simplified Chinese" -msgstr "" +msgstr "Упрощенный китайский" #: conf/global_settings.py:63 msgid "Traditional Chinese" -msgstr "" +msgstr "Традиционный китайский" #: core/validators.py:60 msgid "This value must contain only letters, numbers and underscores." -msgstr "Значение может содержать только буквы, цифры и подчеркивания." +msgstr "Значение должно состоять только из букв, цифр и знаков подчеркивания." #: core/validators.py:64 msgid "This value must contain only letters, numbers, underscores, dashes or slashes." -msgstr "Значение может содержать только буквы, цифры, подчеркивания, дифисы или тере." +msgstr "Значение должно состоять только из букв, цифр, знаков подчеркивания, тире или наклонной черты вправо." #: core/validators.py:72 msgid "Uppercase letters are not allowed here." -msgstr "Заглавные буквы не разрешены" +msgstr "Заглавные буквы недопустимы." #: core/validators.py:76 msgid "Lowercase letters are not allowed here." -msgstr "Строчные буквы не разрешены" +msgstr "Строчные буквы здесь недопустимы." #: core/validators.py:83 msgid "Enter only digits separated by commas." -msgstr "Вводите только цифры разделённые запятыми" +msgstr "Введите цифры, разделённые запятыми." #: core/validators.py:95 msgid "Enter valid e-mail addresses separated by commas." -msgstr "Вводите реальные e-mail адреса разделённые запятыми" +msgstr "Введите правильные адреса электронной почты, разделённые запятыми." #: core/validators.py:99 msgid "Please enter a valid IP address." -msgstr "Пожалуйста, вводите реальный IP адрес" +msgstr "Пожалуйста, введите правильный IP-адрес." #: core/validators.py:103 msgid "Empty values are not allowed here." -msgstr "Пустое значение не разрешено" +msgstr "Пустое значение здесь недопустимо." #: core/validators.py:107 msgid "Non-numeric characters aren't allowed here." -msgstr "Не цифровые символы не рназрешены" +msgstr "Нецифровые символы здесь недопустимы." #: core/validators.py:111 msgid "This value can't be comprised solely of digits." -msgstr "" +msgstr "Это значение не может быть составлено только из цифр." #: core/validators.py:116 msgid "Enter a whole number." -msgstr "Введите номер" +msgstr "Введите целое число." #: core/validators.py:120 msgid "Only alphabetical characters are allowed here." -msgstr "Только буквы можно использовать" +msgstr "Здесь разрешены только алфавитные символы." #: core/validators.py:124 msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Вводите реальную дату в формате YYYY-MM-DD." +msgstr "Вводите правильную дату в формате YYYY-MM-DD." #: core/validators.py:128 msgid "Enter a valid time in HH:MM format." -msgstr "Вводите реальное время в формате HH:MM." +msgstr "Введите правильное время в формате HH:MM." #: core/validators.py:132 #: db/models/fields/__init__.py:468 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Вводите реальные дата/время в формате YYYY-MM-DD HH:MM." +msgstr "Введите правильные дату/время в формате YYYY-MM-DD HH:MM." #: core/validators.py:136 msgid "Enter a valid e-mail address." -msgstr "Укажите реальный e-mail адрес." +msgstr "Укажите правильный адрес электронной почты." #: core/validators.py:148 msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." -msgstr "Загрузите реальное изображение. Файл, который вы загружали, не был изображением или был поврежден." +msgstr "Загрузите реальное изображение. Файл, который вы загрузили, не является изображением или был поврежден." #: core/validators.py:155 #, python-format @@ -1614,7 +1651,7 @@ msgstr "URL %s не указывает на реальное изображен #: core/validators.py:159 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "Телефонный номер должен быть в формате XXX-XXX-XXXX. \"%s\" не верен." +msgstr "Телефонные номера должен быть в формате XXX-XXX-XXXX. \"%s\" неверен." #: core/validators.py:167 #, python-format @@ -1623,7 +1660,7 @@ msgstr "URL %s не указывает на реальное видео QuickTim #: core/validators.py:171 msgid "A valid URL is required." -msgstr "Реальный URL обязателен." +msgstr "Правильный URL обязателен." #: core/validators.py:185 #, python-format @@ -1631,7 +1668,7 @@ msgid "" "Valid HTML is required. Specific errors are:\n" "%s" msgstr "" -"Реальный HTML обязателен. Специфичные ошибки:\n" +"Правильный HTML обязателен. Специфичные ошибки:\n" "%s" #: core/validators.py:192 @@ -1648,11 +1685,11 @@ msgstr "Неверный URL: %s" #: core/validators.py:208 #, python-format msgid "The URL %s is a broken link." -msgstr "URL %s сломанная ссылка." +msgstr "URL %s - сломанная ссылка." #: core/validators.py:214 msgid "Enter a valid U.S. state abbreviation." -msgstr "Вводите реальную абревиатуру штатов США." +msgstr "Введите правильную аббревиатуру штата США." #: core/validators.py:229 #, python-format @@ -1660,6 +1697,7 @@ 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] "Следите за своими словами! Слово %s здесь запрещено." msgstr[1] "Следите за своими словами! Слова %s здесь запрещены." +msgstr[2] "Следите за своими словами! Слова %s здесь запрещены." #: core/validators.py:236 #, python-format @@ -1673,58 +1711,60 @@ msgstr "Пожалуйста, заполните хотя бы одно поле #: core/validators.py:264 #: core/validators.py:275 msgid "Please enter both fields or leave them both empty." -msgstr "Пожалуйста, заполните оба поля либо оставьте их пустыми." +msgstr "Пожалуйста, заполните оба поля или оставьте их оба пустыми." #: core/validators.py:282 #, python-format msgid "This field must be given if %(field)s is %(value)s" -msgstr "Это поле должно быть заполнено если %(field)s равно %(value)s" +msgstr "Это поле должно быть заполнено, если %(field)s равно %(value)s" #: core/validators.py:294 #, python-format msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Это поле должно быть заполнено если %(field)s не равно %(value)s" +msgstr "Это поле должно быть заполнено, если %(field)s не равно %(value)s" #: core/validators.py:313 msgid "Duplicate values are not allowed." -msgstr "Двойные значения запрещенны." +msgstr "Двойные значения запрещены." #: core/validators.py:336 #, python-format msgid "This value must be a power of %s." -msgstr "" +msgstr "Это значение должно быть степенью %s." #: core/validators.py:347 msgid "Please enter a valid decimal number." -msgstr "Пожалуйста, вводите корректное десятичное число." +msgstr "Пожалуйста, введите корректное десятичное число." #: core/validators.py:349 #, 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] "Пожалуйста, вводите корректное десятичное число с максимальным количеством знаков %s." -msgstr[1] "Пожалуйста, вводите корректное десятичное число с максимальным количеством знаков %s." +msgstr[0] "Пожалуйста, введите корректное десятичное число максимально с %s знаком." +msgstr[1] "Пожалуйста, введите корректное десятичное число максимально с %s знаками." +msgstr[2] "Пожалуйста, введите корректное десятичное число максимально с %s знаками." #: core/validators.py:352 #, 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] "Пожалуйста, вводите корректное десятичное число с максимальным количеством знаков после запятой %s." -msgstr[1] "Пожалуйста, вводите корректное десятичное число с максимальным количеством знаков после запятой %s." +msgstr[0] "Пожалуйста, введите корректное десятичное число максимально с %s знаком после запятой." +msgstr[1] "Пожалуйста, введите корректное десятичное число максимально с %s знаками после запятой." +msgstr[2] "Пожалуйста, введите корректное десятичное число максимально с %s знаками после запятой." #: core/validators.py:362 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "Убедитесь, что загруженный файл по крайней мере не меньше %s байт." +msgstr "Убедитесь, что загруженный файл не меньше %s байт." #: core/validators.py:363 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "Убедитесь, что загруженный файл больше чем %s байт." +msgstr "Убедитесь, что загруженный файл не больше %s байт." #: core/validators.py:376 msgid "The format for this field is wrong." -msgstr "Формат этого поля неверен" +msgstr "Формат этого поля неверен." #: core/validators.py:391 msgid "This field is invalid." @@ -1733,7 +1773,7 @@ msgstr "Это поле неверно." #: core/validators.py:426 #, python-format msgid "Could not retrieve anything from %s." -msgstr "Невозможно получить что-либо с %s." +msgstr "Невозможно получить ничего с %s." #: core/validators.py:429 #, python-format @@ -1743,42 +1783,42 @@ msgstr "URL %(url)s вернул неверный заголовок Content-Typ #: core/validators.py:462 #, python-format msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" -msgstr "" +msgstr "Пожалуйста, закройте незакрытый тэг %(tag)s на строке %(line)s. (Строка начинается с \"%(start)s\".)" #: core/validators.py:466 #, python-format msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" -msgstr "" +msgstr "Что-то из текста, начинающегося на строке %(line)s, недопустимо в том контексте. (Строка начинается с \"%(start)s\".)" #: core/validators.py:471 #, python-format msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" -msgstr "" +msgstr "\"%(attr)s\" на строке %(line)s - неправильный атрибут. (Строка начинается с \"%(start)s\".)" #: core/validators.py:476 #, python-format msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" -msgstr "" +msgstr "\"<%(tag)s>\" на строке %(line)s - неправильный тег. (Строка начинается с \"%(start)s\".)" #: core/validators.py:480 #, python-format msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" -msgstr "" +msgstr "В теге на строке %(line)s не хватает одного или более обязательных атрибутов. (Строка начинается с \"%(start)s\".)" #: core/validators.py:485 #, python-format msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" -msgstr "" +msgstr "Атрибут \"%(attr)s\" на строке %(line)s имеет недопустимое значение. (Строка начинается с \"%(start)s\".)" #: db/models/manipulators.py:302 #, python-format msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "" +msgstr "%(object)s с типом %(type)s уже существует для данного %(field)s." #: db/models/fields/__init__.py:40 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "" +msgstr "%(optname)s с %(fieldname)s уже существует." #: db/models/fields/__init__.py:114 #: db/models/fields/__init__.py:265 @@ -1790,11 +1830,11 @@ msgstr "Обязательное поле." #: db/models/fields/__init__.py:337 msgid "This value must be an integer." -msgstr "" +msgstr "Это значение должно быть целым числом." #: db/models/fields/__init__.py:369 msgid "This value must be either True or False." -msgstr "Значение должно либо True либо False." +msgstr "Значение должно либо True, либо False." #: db/models/fields/__init__.py:385 msgid "This field cannot be null." @@ -1807,48 +1847,50 @@ msgstr "Укажите правильное имя файла." #: db/models/fields/related.py:43 #, python-format msgid "Please enter a valid %s." -msgstr "" +msgstr "Пожалуйста, введите правильный %s." #: db/models/fields/related.py:579 msgid "Separate multiple IDs with commas." -msgstr "Несколько значений ID разделяйте запятыми." +msgstr "Несколько значений ID разделите запятыми." #: db/models/fields/related.py:581 msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr " Удерживайте \"Control\", или \"Command\" на Макинтош, для выбора больше чем одного." +msgstr "Удерживайте \"Control\" (или \"Command\" на Mac) для выбора нескольких." #: db/models/fields/related.py:625 #, 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] "" -msgstr[1] "" +msgstr[0] "Пожалуйста, введите корректный ID для %(self)s. Значение %(value)r недопустимо." +msgstr[1] "Пожалуйста, введите корректные ID для %(self)s. Значения %(value)r недопустимы." +msgstr[2] "Пожалуйста, введите корректные ID для %(self)s. Значения %(value)r недопустимы." #: forms/__init__.py:380 #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Убедитесь, что длина вашего текста меньше %s символа." +msgstr[1] "Убедитесь, что длина вашего текста меньше %s символов." +msgstr[2] "Убедитесь, что длина вашего текста меньше %s символов." #: forms/__init__.py:385 msgid "Line breaks are not allowed here." -msgstr "Переносы строк не допускаются здесь." +msgstr "Переносы строк здесь не допускаются." #: forms/__init__.py:480 #: forms/__init__.py:551 #: forms/__init__.py:589 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "" +msgstr "Выберите корректный вариант; '%(data)s' нет в %(choices)s." #: forms/__init__.py:645 msgid "The submitted file is empty." -msgstr "Указанный файл - пуст." +msgstr "Указанный файл пуст." #: forms/__init__.py:699 msgid "Enter a whole number between -32,768 and 32,767." -msgstr "" +msgstr "Введите целое число в диапазоне от -32768 до 32767." #: forms/__init__.py:708 msgid "Enter a positive number." diff --git a/django/contrib/admin/media/js/admin/DateTimeShortcuts.js b/django/contrib/admin/media/js/admin/DateTimeShortcuts.js index 3f6fb67bc7..77c536b865 100644 --- a/django/contrib/admin/media/js/admin/DateTimeShortcuts.js +++ b/django/contrib/admin/media/js/admin/DateTimeShortcuts.js @@ -171,7 +171,6 @@ var DateTimeShortcuts = { cal_nav_prev.className = 'calendarnav-previous'; var cal_nav_next = quickElement('a', cal_nav, '>', 'href', 'javascript:DateTimeShortcuts.drawNext('+num+');'); cal_nav_next.className = 'calendarnav-next'; - cal_box.appendChild(cal_nav); // main box var cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num); diff --git a/django/contrib/auth/middleware.py b/django/contrib/auth/middleware.py index a6a60780a7..42dc15a366 100644 --- a/django/contrib/auth/middleware.py +++ b/django/contrib/auth/middleware.py @@ -1,12 +1,9 @@ class LazyUser(object): - def __init__(self): - self._user = None - def __get__(self, request, obj_type=None): - if self._user is None: + if not hasattr(request, '_cached_user'): from django.contrib.auth import get_user - self._user = get_user(request) - return self._user + request._cached_user = get_user(request) + return request._cached_user class AuthenticationMiddleware(object): def process_request(self, request): diff --git a/django/core/management.py b/django/core/management.py index a5d6216279..2404a1d404 100644 --- a/django/core/management.py +++ b/django/core/management.py @@ -308,7 +308,7 @@ def syncdb(verbosity=2, interactive=True): # to do at this point. for app in models.get_apps(): dispatcher.send(signal=signals.post_syncdb, sender=app, - app=app, created_models=created_models, + app=app, created_models=created_models, verbosity=verbosity, interactive=interactive) # Install initial data for the app (but only if this is a model we've @@ -366,7 +366,7 @@ def diffsettings(): # Inspired by Postfix's "postconf -n". from django.conf import settings, global_settings - user_settings = _module_to_dict(settings) + user_settings = _module_to_dict(settings._target) default_settings = _module_to_dict(global_settings) output = [] @@ -756,7 +756,7 @@ def get_validation_errors(outfile, app=None): rel_name = RelatedObject(f.rel.to, cls, f).get_accessor_name() rel_query_name = f.related_query_name() # If rel_name is none, there is no reverse accessor. - # (This only occurs for symmetrical m2m relations to self). + # (This only occurs for symmetrical m2m relations to self). # If this is the case, there are no clashes to check for this field, as # there are no reverse descriptors for this field. if rel_name is not None: @@ -1024,7 +1024,7 @@ def test(verbosity, app_labels): app_list = get_apps() else: app_list = [get_app(app_label) for app_label in app_labels] - + test_path = settings.TEST_RUNNER.split('.') # Allow for Python 2.5 relative paths if len(test_path) > 1: @@ -1033,7 +1033,7 @@ def test(verbosity, app_labels): test_module_name = '.' test_module = __import__(test_module_name, [],[],test_path[-1]) test_runner = getattr(test_module, test_path[-1]) - + test_runner(app_list, verbosity) test.help_doc = 'Runs the test suite for the specified applications, or the entire site if no apps are specified' test.args = '[--verbosity] ' + APP_ARGS diff --git a/django/db/backends/mysql/introspection.py b/django/db/backends/mysql/introspection.py index 2c77f76ee3..7829457fa9 100644 --- a/django/db/backends/mysql/introspection.py +++ b/django/db/backends/mysql/introspection.py @@ -36,13 +36,14 @@ def get_relations(cursor, table_name): SELECT column_name, referenced_table_name, referenced_column_name FROM information_schema.key_column_usage WHERE table_name = %s + AND table_schema = DATABASE() AND referenced_table_name IS NOT NULL AND referenced_column_name IS NOT NULL""", [table_name]) constraints.extend(cursor.fetchall()) except (ProgrammingError, OperationalError): # Fall back to "SHOW CREATE TABLE", for previous MySQL versions. # Go through all constraints and save the equal matches. - cursor.execute("SHOW CREATE TABLE %s" % table_name) + cursor.execute("SHOW CREATE TABLE %s" % quote_name(table_name)) for row in cursor.fetchall(): pos = 0 while True: diff --git a/django/test/simple.py b/django/test/simple.py index 043787414e..628fa464d2 100644 --- a/django/test/simple.py +++ b/django/test/simple.py @@ -38,10 +38,23 @@ def build_suite(app_module): except ValueError: # No doc tests in tests.py pass - except ImportError: - # No tests.py file for application - pass - + except ImportError, e: + # Couldn't import tests.py. Was it due to a missing file, or + # due to an import error in a tests.py that actually exists? + import os.path + from imp import find_module + try: + mod = find_module(TEST_MODULE, [os.path.dirname(app_module.__file__)]) + except ImportError: + # 'tests' module doesn't exist. Move on. + pass + else: + # The module exists, so there must be an import error in the + # test module itself. We don't need the module; close the file + # handle returned by find_module. + mod[0].close() + raise + return suite def run_tests(module_list, verbosity=1, extra_tests=[]): diff --git a/docs/authentication.txt b/docs/authentication.txt index d10dda28ef..f161e9d357 100644 --- a/docs/authentication.txt +++ b/docs/authentication.txt @@ -82,14 +82,14 @@ Methods ``user_permissions``. ``User`` objects can access their related objects in the same way as any other `Django model`_:: - myuser.objects.groups = [group_list] - myuser.objects.groups.add(group, group,...) - myuser.objects.groups.remove(group, group,...) - myuser.objects.groups.clear() - myuser.objects.permissions = [permission_list] - myuser.objects.permissions.add(permission, permission, ...) - myuser.objects.permissions.remove(permission, permission, ...] - myuser.objects.permissions.clear() + myuser.groups = [group_list] + myuser.groups.add(group, group,...) + myuser.groups.remove(group, group,...) + myuser.groups.clear() + myuser.permissions = [permission_list] + myuser.permissions.add(permission, permission, ...) + myuser.permissions.remove(permission, permission, ...] + myuser.permissions.clear() In addition to those automatic API methods, ``User`` objects have the following custom methods: