mirror of
https://github.com/django/django.git
synced 2025-07-04 09:49:12 +00:00
boulder-oracle-sprint: Merged to [5113]
git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@5114 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
d0213969c2
commit
3b479bfc56
6
AUTHORS
6
AUTHORS
@ -42,6 +42,7 @@ people who have submitted patches, reported bugs, added translations, helped
|
|||||||
answer newbie questions, and generally made Django that much better:
|
answer newbie questions, and generally made Django that much better:
|
||||||
|
|
||||||
adurdin@gmail.com
|
adurdin@gmail.com
|
||||||
|
alang@bright-green.com
|
||||||
Daniel Alves Barbosa de Oliveira Vaz <danielvaz@gmail.com>
|
Daniel Alves Barbosa de Oliveira Vaz <danielvaz@gmail.com>
|
||||||
Andreas
|
Andreas
|
||||||
andy@jadedplanet.net
|
andy@jadedplanet.net
|
||||||
@ -164,11 +165,11 @@ answer newbie questions, and generally made Django that much better:
|
|||||||
Robin Munn <http://www.geekforgod.com/>
|
Robin Munn <http://www.geekforgod.com/>
|
||||||
Robert Myers <myer0052@gmail.com>
|
Robert Myers <myer0052@gmail.com>
|
||||||
Nebojša Dorđević
|
Nebojša Dorđević
|
||||||
|
Gopal Narayanan <gopastro@gmail.com>
|
||||||
Fraser Nevett <mail@nevett.org>
|
Fraser Nevett <mail@nevett.org>
|
||||||
Sam Newman <http://www.magpiebrain.com/>
|
Sam Newman <http://www.magpiebrain.com/>
|
||||||
Neal Norwitz <nnorwitz@google.com>
|
Neal Norwitz <nnorwitz@google.com>
|
||||||
oggie rob <oz.robharvey@gmail.com>
|
oggie rob <oz.robharvey@gmail.com>
|
||||||
onaiort@gmail.com
|
|
||||||
Jay Parlar <parlar@gmail.com>
|
Jay Parlar <parlar@gmail.com>
|
||||||
pavithran s <pavithran.s@gmail.com>
|
pavithran s <pavithran.s@gmail.com>
|
||||||
Barry Pederson <bp@barryp.org>
|
Barry Pederson <bp@barryp.org>
|
||||||
@ -187,9 +188,11 @@ answer newbie questions, and generally made Django that much better:
|
|||||||
Brian Ray <http://brianray.chipy.org/>
|
Brian Ray <http://brianray.chipy.org/>
|
||||||
remco@diji.biz
|
remco@diji.biz
|
||||||
rhettg@gmail.com
|
rhettg@gmail.com
|
||||||
|
Henrique Romano <onaiort@gmail.com>
|
||||||
Armin Ronacher
|
Armin Ronacher
|
||||||
Oliver Rutherfurd <http://rutherfurd.net/>
|
Oliver Rutherfurd <http://rutherfurd.net/>
|
||||||
Ivan Sagalaev (Maniac) <http://www.softwaremaniacs.org/>
|
Ivan Sagalaev (Maniac) <http://www.softwaremaniacs.org/>
|
||||||
|
Vinay Sajip <vinay_sajip@yahoo.co.uk>
|
||||||
David Schein
|
David Schein
|
||||||
scott@staplefish.com
|
scott@staplefish.com
|
||||||
serbaut@gmail.com
|
serbaut@gmail.com
|
||||||
@ -213,6 +216,7 @@ answer newbie questions, and generally made Django that much better:
|
|||||||
torne-django@wolfpuppy.org.uk
|
torne-django@wolfpuppy.org.uk
|
||||||
Karen Tracey <graybark@bellsouth.net>
|
Karen Tracey <graybark@bellsouth.net>
|
||||||
Makoto Tsuyuki <mtsuyuki@gmail.com>
|
Makoto Tsuyuki <mtsuyuki@gmail.com>
|
||||||
|
tt@gurgle.no
|
||||||
Amit Upadhyay
|
Amit Upadhyay
|
||||||
Geert Vanderkelen
|
Geert Vanderkelen
|
||||||
viestards.lists@gmail.com
|
viestards.lists@gmail.com
|
||||||
|
Binary file not shown.
@ -10,7 +10,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2006-05-16 10:13+0200\n"
|
"POT-Creation-Date: 2006-05-16 10:13+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: panos laganakos <panos.laganakos@gmail.com>\n"
|
"Last-Translator: Orestis Markou <orestis@orestis.gr>\n"
|
||||||
"Language-Team: Greek\n"
|
"Language-Team: Greek\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
@ -164,9 +164,9 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Αυτο το σχόλιο σημειώθηκε απο %(χρήστη)ες\n"
|
"Αυτο το σχόλιο σημειώθηκε απο %(user)s\n"
|
||||||
"\n"
|
"\n"
|
||||||
"%(κείμενο)α"
|
"%(text)s"
|
||||||
|
|
||||||
#: contrib/comments/models.py:265
|
#: contrib/comments/models.py:265
|
||||||
msgid "flag date"
|
msgid "flag date"
|
||||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# translation of django.po to
|
||||||
# Copyright (C) 2005 and beyond
|
# Copyright (C) 2005 and beyond
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# Espen Grindhaug <espen@grindhaug.org>, Nov 2005.
|
# Espen Grindhaug <espen@grindhaug.org>, Nov 2005.
|
||||||
@ -6,74 +6,73 @@
|
|||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: django\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2006-05-16 10:12+0200\n"
|
"POT-Creation-Date: 2006-05-16 10:12+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2007-04-27 06:48+0200\n"
|
||||||
"Last-Translator: Espen Grndhaug <espen@grindhaug.org>\n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Norwegian\n"
|
"Language-Team: <en@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: KBabel 1.11.4\n"
|
||||||
|
|
||||||
#: contrib/comments/models.py:67 contrib/comments/models.py:166
|
#: contrib/comments/models.py:67 contrib/comments/models.py:166
|
||||||
#, fuzzy
|
|
||||||
msgid "object ID"
|
msgid "object ID"
|
||||||
msgstr "Vis objekt ID"
|
msgstr "objekt ID"
|
||||||
|
|
||||||
#: contrib/comments/models.py:68
|
#: contrib/comments/models.py:68
|
||||||
msgid "headline"
|
msgid "headline"
|
||||||
msgstr ""
|
msgstr "overskrift"
|
||||||
|
|
||||||
#: contrib/comments/models.py:69 contrib/comments/models.py:90
|
#: contrib/comments/models.py:69 contrib/comments/models.py:90
|
||||||
#: contrib/comments/models.py:167
|
#: contrib/comments/models.py:167
|
||||||
#, fuzzy
|
|
||||||
msgid "comment"
|
msgid "comment"
|
||||||
msgstr "innhold"
|
msgstr "kommentar"
|
||||||
|
|
||||||
#: contrib/comments/models.py:70
|
#: contrib/comments/models.py:70
|
||||||
msgid "rating #1"
|
msgid "rating #1"
|
||||||
msgstr ""
|
msgstr "rangering #1 "
|
||||||
|
|
||||||
#: contrib/comments/models.py:71
|
#: contrib/comments/models.py:71
|
||||||
msgid "rating #2"
|
msgid "rating #2"
|
||||||
msgstr ""
|
msgstr "rangering #2"
|
||||||
|
|
||||||
#: contrib/comments/models.py:72
|
#: contrib/comments/models.py:72
|
||||||
msgid "rating #3"
|
msgid "rating #3"
|
||||||
msgstr ""
|
msgstr "rangering #3"
|
||||||
|
|
||||||
#: contrib/comments/models.py:73
|
#: contrib/comments/models.py:73
|
||||||
msgid "rating #4"
|
msgid "rating #4"
|
||||||
msgstr ""
|
msgstr "rangering #4"
|
||||||
|
|
||||||
#: contrib/comments/models.py:74
|
#: contrib/comments/models.py:74
|
||||||
msgid "rating #5"
|
msgid "rating #5"
|
||||||
msgstr ""
|
msgstr "rangering #5"
|
||||||
|
|
||||||
#: contrib/comments/models.py:75
|
#: contrib/comments/models.py:75
|
||||||
msgid "rating #6"
|
msgid "rating #6"
|
||||||
msgstr ""
|
msgstr "rangering #6"
|
||||||
|
|
||||||
#: contrib/comments/models.py:76
|
#: contrib/comments/models.py:76
|
||||||
msgid "rating #7"
|
msgid "rating #7"
|
||||||
msgstr ""
|
msgstr "rangering #7"
|
||||||
|
|
||||||
#: contrib/comments/models.py:77
|
#: contrib/comments/models.py:77
|
||||||
msgid "rating #8"
|
msgid "rating #8"
|
||||||
msgstr ""
|
msgstr "rangering #8"
|
||||||
|
|
||||||
#: contrib/comments/models.py:82
|
#: contrib/comments/models.py:82
|
||||||
msgid "is valid rating"
|
msgid "is valid rating"
|
||||||
msgstr ""
|
msgstr "er gyldig rangering"
|
||||||
|
|
||||||
#: contrib/comments/models.py:83 contrib/comments/models.py:169
|
#: contrib/comments/models.py:83 contrib/comments/models.py:169
|
||||||
msgid "date/time submitted"
|
msgid "date/time submitted"
|
||||||
msgstr ""
|
msgstr "dato/tid for innsendelse"
|
||||||
|
|
||||||
#: contrib/comments/models.py:84 contrib/comments/models.py:170
|
#: contrib/comments/models.py:84 contrib/comments/models.py:170
|
||||||
msgid "is public"
|
msgid "is public"
|
||||||
msgstr ""
|
msgstr "er tilgjengelig for alle"
|
||||||
|
|
||||||
#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289
|
#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289
|
||||||
msgid "IP address"
|
msgid "IP address"
|
||||||
@ -81,23 +80,21 @@ msgstr "IP adresse"
|
|||||||
|
|
||||||
#: contrib/comments/models.py:86
|
#: contrib/comments/models.py:86
|
||||||
msgid "is removed"
|
msgid "is removed"
|
||||||
msgstr ""
|
msgstr "er fjernet"
|
||||||
|
|
||||||
#: contrib/comments/models.py:86
|
#: contrib/comments/models.py:86
|
||||||
msgid ""
|
msgid ""
|
||||||
"Check this box if the comment is inappropriate. A \"This comment has been "
|
"Check this box if the comment is inappropriate. A \"This comment has been "
|
||||||
"removed\" message will be displayed instead."
|
"removed\" message will be displayed instead."
|
||||||
msgstr ""
|
msgstr "Aktiver denne avkryssningsboksen hvis kommentaren er upasende. Beskjeden \"Denne kommentaren er blitt fjernet\" vil bli vist istedet."
|
||||||
|
|
||||||
#: contrib/comments/models.py:91
|
#: contrib/comments/models.py:91
|
||||||
#, fuzzy
|
|
||||||
msgid "comments"
|
msgid "comments"
|
||||||
msgstr "innhold"
|
msgstr "kommentarer"
|
||||||
|
|
||||||
#: contrib/comments/models.py:131 contrib/comments/models.py:207
|
#: contrib/comments/models.py:131 contrib/comments/models.py:207
|
||||||
#, fuzzy
|
|
||||||
msgid "Content object"
|
msgid "Content object"
|
||||||
msgstr "innholds type"
|
msgstr "innholdsobjekt"
|
||||||
|
|
||||||
#: contrib/comments/models.py:159
|
#: contrib/comments/models.py:159
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -108,101 +105,97 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"http://%(domain)s%(url)s"
|
"http://%(domain)s%(url)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Sendt av %(user)s på %(date)s\n"
|
||||||
|
"\n"
|
||||||
|
"%(comment)s\n"
|
||||||
|
"\n"
|
||||||
|
"http://%(domain)s%(url)s"
|
||||||
|
|
||||||
#: contrib/comments/models.py:168
|
#: contrib/comments/models.py:168
|
||||||
#, fuzzy
|
|
||||||
msgid "person's name"
|
msgid "person's name"
|
||||||
msgstr "fornavn"
|
msgstr "personens navn"
|
||||||
|
|
||||||
#: contrib/comments/models.py:171
|
#: contrib/comments/models.py:171
|
||||||
#, fuzzy
|
|
||||||
msgid "ip address"
|
msgid "ip address"
|
||||||
msgstr "IP adresse"
|
msgstr "IP adresse"
|
||||||
|
|
||||||
#: contrib/comments/models.py:173
|
#: contrib/comments/models.py:173
|
||||||
msgid "approved by staff"
|
msgid "approved by staff"
|
||||||
msgstr ""
|
msgstr "godkjent av moderator"
|
||||||
|
|
||||||
#: contrib/comments/models.py:176
|
#: contrib/comments/models.py:176
|
||||||
#, fuzzy
|
|
||||||
msgid "free comment"
|
msgid "free comment"
|
||||||
msgstr "tillat kommentarer"
|
msgstr "åpen kommentar"
|
||||||
|
|
||||||
#: contrib/comments/models.py:177
|
#: contrib/comments/models.py:177
|
||||||
#, fuzzy
|
|
||||||
msgid "free comments"
|
msgid "free comments"
|
||||||
msgstr "tillat kommentarer"
|
msgstr "åpne kommentarer"
|
||||||
|
|
||||||
#: contrib/comments/models.py:233
|
#: contrib/comments/models.py:233
|
||||||
msgid "score"
|
msgid "score"
|
||||||
msgstr ""
|
msgstr "poeng"
|
||||||
|
|
||||||
#: contrib/comments/models.py:234
|
#: contrib/comments/models.py:234
|
||||||
#, fuzzy
|
|
||||||
msgid "score date"
|
msgid "score date"
|
||||||
msgstr "utløpsdato"
|
msgstr "poeng dato"
|
||||||
|
|
||||||
#: contrib/comments/models.py:237
|
#: contrib/comments/models.py:237
|
||||||
msgid "karma score"
|
msgid "karma score"
|
||||||
msgstr ""
|
msgstr "karma poeng"
|
||||||
|
|
||||||
#: contrib/comments/models.py:238
|
#: contrib/comments/models.py:238
|
||||||
msgid "karma scores"
|
msgid "karma scores"
|
||||||
msgstr ""
|
msgstr "karma poeng"
|
||||||
|
|
||||||
#: contrib/comments/models.py:242
|
#: contrib/comments/models.py:242
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(score)d rating by %(user)s"
|
msgid "%(score)d rating by %(user)s"
|
||||||
msgstr ""
|
msgstr "%(score)d rangering av %(user)s"
|
||||||
|
|
||||||
#: contrib/comments/models.py:258
|
#: contrib/comments/models.py:258
|
||||||
#, fuzzy, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"This comment was flagged by %(user)s:\n"
|
"This comment was flagged by %(user)s:\n"
|
||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Denne kommentaren er skrevet med lite omtanke:\n"
|
"Denne kommentaren er flagget av %(user)s:\n"
|
||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
|
|
||||||
#: contrib/comments/models.py:265
|
#: contrib/comments/models.py:265
|
||||||
#, fuzzy
|
|
||||||
msgid "flag date"
|
msgid "flag date"
|
||||||
msgstr "flatside"
|
msgstr "flagg dato"
|
||||||
|
|
||||||
#: contrib/comments/models.py:268
|
#: contrib/comments/models.py:268
|
||||||
#, fuzzy
|
|
||||||
msgid "user flag"
|
msgid "user flag"
|
||||||
msgstr "Bruker"
|
msgstr "brukerflag"
|
||||||
|
|
||||||
#: contrib/comments/models.py:269
|
#: contrib/comments/models.py:269
|
||||||
#, fuzzy
|
|
||||||
msgid "user flags"
|
msgid "user flags"
|
||||||
msgstr "Brukere"
|
msgstr "brukerflag"
|
||||||
|
|
||||||
#: contrib/comments/models.py:273
|
#: contrib/comments/models.py:273
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Flag by %r"
|
msgid "Flag by %r"
|
||||||
msgstr ""
|
msgstr "Flagg med %r"
|
||||||
|
|
||||||
#: contrib/comments/models.py:278
|
#: contrib/comments/models.py:278
|
||||||
#, fuzzy
|
|
||||||
msgid "deletion date"
|
msgid "deletion date"
|
||||||
msgstr "sesjon data"
|
msgstr "fjernet dato"
|
||||||
|
|
||||||
#: contrib/comments/models.py:280
|
#: contrib/comments/models.py:280
|
||||||
msgid "moderator deletion"
|
msgid "moderator deletion"
|
||||||
msgstr ""
|
msgstr "fjernet av moderator"
|
||||||
|
|
||||||
#: contrib/comments/models.py:281
|
#: contrib/comments/models.py:281
|
||||||
msgid "moderator deletions"
|
msgid "moderator deletions"
|
||||||
msgstr ""
|
msgstr "fjernet av moderator"
|
||||||
|
|
||||||
#: contrib/comments/models.py:285
|
#: contrib/comments/models.py:285
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Moderator deletion by %r"
|
msgid "Moderator deletion by %r"
|
||||||
msgstr ""
|
msgstr "Fjernet av moderator med %r"
|
||||||
|
|
||||||
#: contrib/comments/views/karma.py:19
|
#: contrib/comments/views/karma.py:19
|
||||||
msgid "Anonymous users cannot vote"
|
msgid "Anonymous users cannot vote"
|
||||||
@ -214,16 +207,14 @@ msgstr "Ikke gyldig kommentar ID"
|
|||||||
|
|
||||||
#: contrib/comments/views/karma.py:25
|
#: contrib/comments/views/karma.py:25
|
||||||
msgid "No voting for yourself"
|
msgid "No voting for yourself"
|
||||||
msgstr "Du kan ikke stemme selv"
|
msgstr "Du kan ikke stemme på deg selv"
|
||||||
|
|
||||||
#: contrib/comments/views/comments.py:28
|
#: contrib/comments/views/comments.py:28
|
||||||
#, fuzzy
|
msgid "This rating is required because you've entered at least one other rating."
|
||||||
msgid ""
|
msgstr "Denne rangeringen er påkrevd fordi du har rangert en eller flere ting fra før "
|
||||||
"This rating is required because you've entered at least one other rating."
|
|
||||||
msgstr "Denne bla bla.."
|
|
||||||
|
|
||||||
#: contrib/comments/views/comments.py:112
|
#: contrib/comments/views/comments.py:112
|
||||||
#, fuzzy, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"This comment was posted by a user who has posted fewer than %(count)s "
|
"This comment was posted by a user who has posted fewer than %(count)s "
|
||||||
"comment:\n"
|
"comment:\n"
|
||||||
@ -246,13 +237,13 @@ msgstr[1] ""
|
|||||||
"%(text)s"
|
"%(text)s"
|
||||||
|
|
||||||
#: contrib/comments/views/comments.py:117
|
#: contrib/comments/views/comments.py:117
|
||||||
#, fuzzy, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"This comment was posted by a sketchy user:\n"
|
"This comment was posted by a sketchy user:\n"
|
||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Denne kommentaren er skrevet med lite omtanke:\n"
|
"Denne kommentaren er skrevet av en upålitelig bruker:\n"
|
||||||
"\n"
|
"\n"
|
||||||
"%(text)s"
|
"%(text)s"
|
||||||
|
|
||||||
@ -281,8 +272,7 @@ msgstr "Skjemaet hadde en ugyldig verdi - objekt IDen var ugyldig"
|
|||||||
#: contrib/comments/views/comments.py:257
|
#: contrib/comments/views/comments.py:257
|
||||||
#: contrib/comments/views/comments.py:321
|
#: contrib/comments/views/comments.py:321
|
||||||
msgid "The comment form didn't provide either 'preview' or 'post'"
|
msgid "The comment form didn't provide either 'preview' or 'post'"
|
||||||
msgstr ""
|
msgstr "Kommentar skjemaet returnerte ikke et 'forhåndsvisning' eller 'post' objekt"
|
||||||
"Kommentar skjemaet returnerte ikke et 'forhåndsvisning' eller 'post' objekt"
|
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:6
|
#: contrib/comments/templates/comments/form.html:6
|
||||||
#: contrib/comments/templates/comments/form.html:8
|
#: contrib/comments/templates/comments/form.html:8
|
||||||
@ -296,9 +286,8 @@ msgid "Password:"
|
|||||||
msgstr "Passord:"
|
msgstr "Passord:"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:6
|
#: contrib/comments/templates/comments/form.html:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Forgotten your password?"
|
msgid "Forgotten your password?"
|
||||||
msgstr "Endre passord"
|
msgstr "Har du glemt passordet ditt ?"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:8
|
#: contrib/comments/templates/comments/form.html:8
|
||||||
#: contrib/admin/templates/admin/object_history.html:3
|
#: contrib/admin/templates/admin/object_history.html:3
|
||||||
@ -323,38 +312,35 @@ msgstr "Log ut"
|
|||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:12
|
#: contrib/comments/templates/comments/form.html:12
|
||||||
msgid "Ratings"
|
msgid "Ratings"
|
||||||
msgstr ""
|
msgstr "Rangeringer"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:12
|
#: contrib/comments/templates/comments/form.html:12
|
||||||
#: contrib/comments/templates/comments/form.html:23
|
#: contrib/comments/templates/comments/form.html:23
|
||||||
msgid "Required"
|
msgid "Required"
|
||||||
msgstr ""
|
msgstr "Påkrevd"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:12
|
#: contrib/comments/templates/comments/form.html:12
|
||||||
#: contrib/comments/templates/comments/form.html:23
|
#: contrib/comments/templates/comments/form.html:23
|
||||||
msgid "Optional"
|
msgid "Optional"
|
||||||
msgstr ""
|
msgstr "Valgfri"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:23
|
#: contrib/comments/templates/comments/form.html:23
|
||||||
msgid "Post a photo"
|
msgid "Post a photo"
|
||||||
msgstr ""
|
msgstr "Send et foto"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:27
|
#: contrib/comments/templates/comments/form.html:27
|
||||||
#: contrib/comments/templates/comments/freeform.html:5
|
#: contrib/comments/templates/comments/freeform.html:5
|
||||||
#, fuzzy
|
|
||||||
msgid "Comment:"
|
msgid "Comment:"
|
||||||
msgstr "tillat kommentarer"
|
msgstr "Kommentar:"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/form.html:32
|
#: contrib/comments/templates/comments/form.html:32
|
||||||
#: contrib/comments/templates/comments/freeform.html:9
|
#: contrib/comments/templates/comments/freeform.html:9
|
||||||
#, fuzzy
|
|
||||||
msgid "Preview comment"
|
msgid "Preview comment"
|
||||||
msgstr "tillat kommentarer"
|
msgstr "Forhåndvis kommentar"
|
||||||
|
|
||||||
#: contrib/comments/templates/comments/freeform.html:4
|
#: contrib/comments/templates/comments/freeform.html:4
|
||||||
#, fuzzy
|
|
||||||
msgid "Your name:"
|
msgid "Your name:"
|
||||||
msgstr "brukernavn"
|
msgstr "Ditt navn:"
|
||||||
|
|
||||||
#: contrib/admin/filterspecs.py:40
|
#: contrib/admin/filterspecs.py:40
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -416,7 +402,7 @@ msgstr "objekt repr"
|
|||||||
|
|
||||||
#: contrib/admin/models.py:21
|
#: contrib/admin/models.py:21
|
||||||
msgid "action flag"
|
msgid "action flag"
|
||||||
msgstr "handlings flagg"
|
msgstr "handlingsflagg"
|
||||||
|
|
||||||
#: contrib/admin/models.py:22
|
#: contrib/admin/models.py:22
|
||||||
msgid "change message"
|
msgid "change message"
|
||||||
@ -424,11 +410,11 @@ msgstr "endre melding"
|
|||||||
|
|
||||||
#: contrib/admin/models.py:25
|
#: contrib/admin/models.py:25
|
||||||
msgid "log entry"
|
msgid "log entry"
|
||||||
msgstr "logg notis"
|
msgstr "logg post"
|
||||||
|
|
||||||
#: contrib/admin/models.py:26
|
#: contrib/admin/models.py:26
|
||||||
msgid "log entries"
|
msgid "log entries"
|
||||||
msgstr "logg innlegg"
|
msgstr "logg poster"
|
||||||
|
|
||||||
#: contrib/admin/templatetags/admin_list.py:228
|
#: contrib/admin/templatetags/admin_list.py:228
|
||||||
msgid "All dates"
|
msgid "All dates"
|
||||||
@ -440,8 +426,8 @@ msgid ""
|
|||||||
"Please enter a correct username and password. Note that both fields are case-"
|
"Please enter a correct username and password. Note that both fields are case-"
|
||||||
"sensitive."
|
"sensitive."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Vær snill å angi korrekt brukernavn og passord. La merke til at små og "
|
"Vennligst angi korrekt brukernavn og passord. Merk at små og "
|
||||||
"store bokstaver er betraktet ulik."
|
"store bokstaver er betraktet ulikt."
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:23
|
#: contrib/admin/views/decorators.py:23
|
||||||
#: contrib/admin/templates/admin/login.html:25
|
#: contrib/admin/templates/admin/login.html:25
|
||||||
@ -452,18 +438,15 @@ msgstr "Logg inn"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Please log in again, because your session has expired. Don't worry: Your "
|
"Please log in again, because your session has expired. Don't worry: Your "
|
||||||
"submission has been saved."
|
"submission has been saved."
|
||||||
msgstr ""
|
msgstr "Du må logge inn igjen, fordi økten din har gått ut, men innlegget ditt ble lagret."
|
||||||
"Du må logge inn igjen, fordi sesjonen din har gått ut på dato, men ikke ikke "
|
|
||||||
"bekjymr deg informasjonen du sendte ble lagret."
|
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:68
|
#: contrib/admin/views/decorators.py:68
|
||||||
msgid ""
|
msgid ""
|
||||||
"Looks like your browser isn't configured to accept cookies. Please enable "
|
"Looks like your browser isn't configured to accept cookies. Please enable "
|
||||||
"cookies, reload this page, and try again."
|
"cookies, reload this page, and try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Det ser ut som om nettleseren din ikke vill ta i mot informasjonskapsler "
|
"Det ser ut som om nettleseren din ikke støtter informasjonskapsler "
|
||||||
"('cookies'). Vennligst omkonfigurer nettleseren din, last siden på ny og "
|
"('cookies'). Vennligst konfigurer nettleseren din, og prøv igjen."
|
||||||
"prøv igjen."
|
|
||||||
|
|
||||||
#: contrib/admin/views/decorators.py:82
|
#: contrib/admin/views/decorators.py:82
|
||||||
msgid "Usernames cannot contain the '@' character."
|
msgid "Usernames cannot contain the '@' character."
|
||||||
@ -500,7 +483,7 @@ msgstr "Ny %s"
|
|||||||
#: contrib/admin/views/main.py:336
|
#: contrib/admin/views/main.py:336
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added %s."
|
msgid "Added %s."
|
||||||
msgstr "Lagt til %s"
|
msgstr "La til %s"
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338
|
#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338
|
||||||
#: contrib/admin/views/main.py:340
|
#: contrib/admin/views/main.py:340
|
||||||
@ -528,8 +511,7 @@ msgstr "%(name)s \"%(obj)s\" ble endret."
|
|||||||
|
|
||||||
#: contrib/admin/views/main.py:354
|
#: contrib/admin/views/main.py:354
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
||||||
"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
|
||||||
msgstr "%(name)s \"%(obj)s\" ble endret. Du kan endre det igjen under."
|
msgstr "%(name)s \"%(obj)s\" ble endret. Du kan endre det igjen under."
|
||||||
|
|
||||||
#: contrib/admin/views/main.py:392
|
#: contrib/admin/views/main.py:392
|
||||||
@ -742,8 +724,8 @@ msgid ""
|
|||||||
"There's been an error. It's been reported to the site administrators via e-"
|
"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."
|
"mail and should be fixed shortly. Thanks for your patience."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Det har vært en feil. Feilen er blitt rapportert til administrator via e-"
|
"Det har oppstått en feil. Feilen er blitt rapportert til administrator via e-"
|
||||||
"mail, og vill bli fikset snart. Takk for din tålmodighet."
|
"post, og vil bli fikset snart. Takk for din tålmodighet."
|
||||||
|
|
||||||
#: contrib/admin/templates/admin/404.html:4
|
#: contrib/admin/templates/admin/404.html:4
|
||||||
#: contrib/admin/templates/admin/404.html:8
|
#: contrib/admin/templates/admin/404.html:8
|
||||||
@ -909,7 +891,7 @@ msgstr "Tilbakestill mitt passord"
|
|||||||
|
|
||||||
#: contrib/admin/templates/registration/logged_out.html:8
|
#: contrib/admin/templates/registration/logged_out.html:8
|
||||||
msgid "Thanks for spending some quality time with the Web site today."
|
msgid "Thanks for spending some quality time with the Web site today."
|
||||||
msgstr "Takk for å bruke tid på internett siden i dag."
|
msgstr "Takk for at du valgte å bruke kvalitetstid på nettstedet idag."
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/logged_out.html:10
|
#: contrib/admin/templates/registration/logged_out.html:10
|
||||||
msgid "Log in again"
|
msgid "Log in again"
|
||||||
@ -954,8 +936,7 @@ msgstr "Endre passord"
|
|||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_email.html:2
|
#: contrib/admin/templates/registration/password_reset_email.html:2
|
||||||
msgid "You're receiving this e-mail because you requested a password reset"
|
msgid "You're receiving this e-mail because you requested a password reset"
|
||||||
msgstr ""
|
msgstr "Du har mottatt denne e-posten fordi du ba om å tilbakestille passordet ditt"
|
||||||
"Du har mottatt denne e-posten fordi du ba om å tilbakestille passordet ditt"
|
|
||||||
|
|
||||||
#: contrib/admin/templates/registration/password_reset_email.html:3
|
#: contrib/admin/templates/registration/password_reset_email.html:3
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -1002,6 +983,12 @@ msgid ""
|
|||||||
"as \"internal\" (talk to your system administrator if you aren't sure if\n"
|
"as \"internal\" (talk to your system administrator if you aren't sure if\n"
|
||||||
"your computer is \"internal\").</p>\n"
|
"your computer is \"internal\").</p>\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"<p class=\"help\">For å installere bokmerker, dra linken til verktøylinja\n"
|
||||||
|
"for bokmerker, eller høyreklikk og legg til i bokmerker. Nå kan du du velge\n"
|
||||||
|
"bokmerket fra hvilken som helst side på nettstedet. Noen av disse\n"
|
||||||
|
"bokmerkene krever at datamaskinen du bruker er markert som \"intern\"\n"
|
||||||
|
"(kontakt din systemadministrator hvis du er usikker på om maskinen din er \"intern\").</p>\n"
|
||||||
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:19
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:19
|
||||||
msgid "Documentation for this page"
|
msgid "Documentation for this page"
|
||||||
@ -1033,8 +1020,7 @@ msgstr "Endre dette objektet (åpnes i dette vinduet)"
|
|||||||
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:26
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:26
|
||||||
msgid "Jumps to the admin page for pages that represent a single object."
|
msgid "Jumps to the admin page for pages that represent a single object."
|
||||||
msgstr ""
|
msgstr "Hopp til administrasjonsiden for sidene som representerer et enkelt objekt."
|
||||||
"Hopp til administrasjonsiden for sidene som representerer et enkelt objekt."
|
|
||||||
|
|
||||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:28
|
#: contrib/admin/templates/admin_doc/bookmarklets.html:28
|
||||||
msgid "Edit this object (new window)"
|
msgid "Edit this object (new window)"
|
||||||
@ -1069,7 +1055,7 @@ msgid ""
|
|||||||
"This should be an absolute path, excluding the domain name. Example: '/"
|
"This should be an absolute path, excluding the domain name. Example: '/"
|
||||||
"events/search/'."
|
"events/search/'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Denne burde vær en fullstendig sti, uten domene navnet. Foreksempel: '/"
|
"Dette burde vært en fullstendig sti, uten domene navnet. Foreksempel: '/"
|
||||||
"nyheter/les/"
|
"nyheter/les/"
|
||||||
|
|
||||||
#: contrib/redirects/models.py:9
|
#: contrib/redirects/models.py:9
|
||||||
@ -1081,7 +1067,7 @@ msgid ""
|
|||||||
"This can be either an absolute path (as above) or a full URL starting with "
|
"This can be either an absolute path (as above) or a full URL starting with "
|
||||||
"'http://'."
|
"'http://'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Denne kan enten være en fullstendig sti (som over), eller en hel "
|
"Dette kan enten være en fullstendig sti (som over), eller en hel "
|
||||||
"internettadresse som starter med 'http://'"
|
"internettadresse som starter med 'http://'"
|
||||||
|
|
||||||
#: contrib/redirects/models.py:12
|
#: contrib/redirects/models.py:12
|
||||||
@ -1093,10 +1079,8 @@ msgid "redirects"
|
|||||||
msgstr "omadresserelser"
|
msgstr "omadresserelser"
|
||||||
|
|
||||||
#: contrib/flatpages/models.py:8
|
#: contrib/flatpages/models.py:8
|
||||||
msgid ""
|
msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes."
|
||||||
"Example: '/about/contact/'. Make sure to have leading and trailing slashes."
|
msgstr "Eksempel: '/om/kontakt/'. Vær sikker på at du har en skråstrek forran og bak."
|
||||||
msgstr ""
|
|
||||||
"Eksempel: '/om/kontakt/'. Vær sikker på at du har en skråstrek forran og bak."
|
|
||||||
|
|
||||||
#: contrib/flatpages/models.py:9
|
#: contrib/flatpages/models.py:9
|
||||||
msgid "title"
|
msgid "title"
|
||||||
@ -1186,7 +1170,7 @@ msgstr "passord"
|
|||||||
|
|
||||||
#: contrib/auth/models.py:59
|
#: contrib/auth/models.py:59
|
||||||
msgid "Use '[algo]$[salt]$[hexdigest]'"
|
msgid "Use '[algo]$[salt]$[hexdigest]'"
|
||||||
msgstr ""
|
msgstr "Bruk '[algo]$[salt]$[hexdigest]'"
|
||||||
|
|
||||||
#: contrib/auth/models.py:60
|
#: contrib/auth/models.py:60
|
||||||
msgid "staff status"
|
msgid "staff status"
|
||||||
@ -1256,7 +1240,7 @@ msgstr "Melding"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Your Web browser doesn't appear to have cookies enabled. Cookies are "
|
"Your Web browser doesn't appear to have cookies enabled. Cookies are "
|
||||||
"required for logging in."
|
"required for logging in."
|
||||||
msgstr ""
|
msgstr "Din nettleser ser ikkeut til å støtte informasjonskapsler (cookies). Informasjonskapsler er påkrevd for å logge inn."
|
||||||
|
|
||||||
#: contrib/contenttypes/models.py:25
|
#: contrib/contenttypes/models.py:25
|
||||||
msgid "python model class name"
|
msgid "python model class name"
|
||||||
@ -1698,8 +1682,7 @@ msgstr "Internettadressen %s peker ikke til et godkjent bilde."
|
|||||||
#: core/validators.py:159
|
#: core/validators.py:159
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
||||||
msgstr ""
|
msgstr "Telefon nummeret må være i XXX-XXX-XXXX format. \"%s\" er ikke godkjent."
|
||||||
"Telefon nummeret må være i XXX-XXX-XXXX format. \"%s\" er ikke godkjent."
|
|
||||||
|
|
||||||
#: core/validators.py:167
|
#: core/validators.py:167
|
||||||
#, python-format
|
#, python-format
|
||||||
@ -1784,30 +1767,26 @@ msgstr "Vennligst skriv inn et godkjent desimal tall."
|
|||||||
#: core/validators.py:349
|
#: core/validators.py:349
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid decimal number with at most %s total digit."
|
msgid "Please enter a valid decimal number with at most %s total digit."
|
||||||
msgid_plural ""
|
msgid_plural "Please enter a valid decimal number with at most %s total digits."
|
||||||
"Please enter a valid decimal number with at most %s total digits."
|
|
||||||
msgstr[0] "Skriv inn et desimal tall med maksimum %s total antall tall."
|
msgstr[0] "Skriv inn et desimal tall med maksimum %s total antall tall."
|
||||||
msgstr[1] "Skriv inn et desimal tall med maksimum %s total antall tall."
|
msgstr[1] "Skriv inn et desimal tall med maksimum %s total antall tall."
|
||||||
|
|
||||||
#: core/validators.py:352
|
#: core/validators.py:352
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter a valid decimal number with at most %s decimal place."
|
msgid "Please enter a valid decimal number with at most %s decimal place."
|
||||||
msgid_plural ""
|
msgid_plural "Please enter a valid decimal number with at most %s decimal places."
|
||||||
"Please enter a valid decimal number with at most %s decimal places."
|
|
||||||
msgstr[0] "Skriv inn et desimal tall med maksimum %s tall bak komma. "
|
msgstr[0] "Skriv inn et desimal tall med maksimum %s tall bak komma. "
|
||||||
msgstr[1] "Skriv inn et desimal tall med maksimum %s tall bak komma. "
|
msgstr[1] "Skriv inn et desimal tall med maksimum %s tall bak komma. "
|
||||||
|
|
||||||
#: core/validators.py:362
|
#: core/validators.py:362
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at least %s bytes big."
|
msgid "Make sure your uploaded file is at least %s bytes big."
|
||||||
msgstr ""
|
msgstr "Vær sikker på at fila du prøver å laste opp er minimum %s bytes stor."
|
||||||
"Vær sikker på at fila du prøver å laste opp er minimum %s bytes stor."
|
|
||||||
|
|
||||||
#: core/validators.py:363
|
#: core/validators.py:363
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Make sure your uploaded file is at most %s bytes big."
|
msgid "Make sure your uploaded file is at most %s bytes big."
|
||||||
msgstr ""
|
msgstr "Vær sikker på at fila du prøver å laste opp er maksimum %s bytes stor."
|
||||||
"Vær sikker på at fila du prøver å laste opp er maksimum %s bytes stor."
|
|
||||||
|
|
||||||
#: core/validators.py:376
|
#: core/validators.py:376
|
||||||
msgid "The format for this field is wrong."
|
msgid "The format for this field is wrong."
|
||||||
@ -1824,8 +1803,7 @@ msgstr "Klarte ikke å motta noe fra %s."
|
|||||||
|
|
||||||
#: core/validators.py:429
|
#: core/validators.py:429
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
||||||
"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Internettadressen %(url)s returnerte en ikke godkjent Content-Type '%"
|
"Internettadressen %(url)s returnerte en ikke godkjent Content-Type '%"
|
||||||
"(contenttype)s'."
|
"(contenttype)s'."
|
||||||
@ -1926,16 +1904,13 @@ msgid "Separate multiple IDs with commas."
|
|||||||
msgstr "Separer Id-ene med kommaer."
|
msgstr "Separer Id-ene med kommaer."
|
||||||
|
|
||||||
#: db/models/fields/related.py:581
|
#: db/models/fields/related.py:581
|
||||||
msgid ""
|
msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
|
||||||
"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
|
msgstr "Hold nede \"Control\", eller \"Command\" på en Mac, for å velge mere enn en."
|
||||||
msgstr ""
|
|
||||||
"Hold nede \"Control\", eller \"Command\" på en Mac, for å velge mere enn en."
|
|
||||||
|
|
||||||
#: db/models/fields/related.py:625
|
#: db/models/fields/related.py:625
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
|
msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
|
||||||
msgid_plural ""
|
msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid."
|
||||||
"Please enter valid %(self)s IDs. The values %(value)r are invalid."
|
|
||||||
msgstr[0] "Skriv inn gyldige %(self)s ID-er. Verdien %(value)r er ikke gyldig."
|
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."
|
msgstr[1] "Skriv inn gyldige %(self)s ID-er. Verdiene %(value)r er ikke gyldige."
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1,19 +1,20 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# translation of djangojs.po to
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# Espen Grindhaug <espen.grindhaug@mail.com>, 2006.
|
# Espen Grindhaug <espen.grindhaug@mail.com>, 2006.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: djangojs\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2005-12-09 11:51+0100\n"
|
"POT-Creation-Date: 2005-12-09 11:51+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2007-04-27 06:51+0200\n"
|
||||||
"Last-Translator: Espen Grindhaug <espen.grindhaug@gmail.com>\n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: no\n"
|
"Language-Team: <en@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: KBabel 1.11.4\n"
|
||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||||
#, perl-format
|
#, perl-format
|
||||||
@ -21,7 +22,6 @@ msgid "Available %s"
|
|||||||
msgstr "%s er tilgjengelige"
|
msgstr "%s er tilgjengelige"
|
||||||
|
|
||||||
#: contrib/admin/media/js/SelectFilter2.js:41
|
#: contrib/admin/media/js/SelectFilter2.js:41
|
||||||
#, fuzzy
|
|
||||||
msgid "Choose all"
|
msgid "Choose all"
|
||||||
msgstr "Velg alle"
|
msgstr "Velg alle"
|
||||||
|
|
||||||
@ -116,3 +116,4 @@ msgstr "I går"
|
|||||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164
|
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164
|
||||||
msgid "Tomorrow"
|
msgid "Tomorrow"
|
||||||
msgstr "I morgen"
|
msgstr "I morgen"
|
||||||
|
|
||||||
|
@ -173,6 +173,8 @@ def _get_sql_model_create(model, known_models=set()):
|
|||||||
for f in opts.fields:
|
for f in opts.fields:
|
||||||
if isinstance(f, (models.ForeignKey, models.OneToOneField)):
|
if isinstance(f, (models.ForeignKey, models.OneToOneField)):
|
||||||
rel_field = f.rel.get_related_field()
|
rel_field = f.rel.get_related_field()
|
||||||
|
while isinstance(rel_field, (models.ForeignKey, models.OneToOneField)):
|
||||||
|
rel_field = rel_field.rel.get_related_field()
|
||||||
data_type = get_rel_data_type(rel_field)
|
data_type = get_rel_data_type(rel_field)
|
||||||
else:
|
else:
|
||||||
rel_field = f
|
rel_field = f
|
||||||
@ -1377,6 +1379,8 @@ def load_data(fixture_labels, verbosity=1):
|
|||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
disable_termcolors()
|
||||||
|
|
||||||
# Keep a count of the installed objects and fixtures
|
# Keep a count of the installed objects and fixtures
|
||||||
count = [0,0]
|
count = [0,0]
|
||||||
models = set()
|
models = set()
|
||||||
|
@ -122,7 +122,14 @@ class BaseForm(StrAndUnicode):
|
|||||||
else:
|
else:
|
||||||
if errors_on_separate_row and bf_errors:
|
if errors_on_separate_row and bf_errors:
|
||||||
output.append(error_row % bf_errors)
|
output.append(error_row % bf_errors)
|
||||||
label = bf.label and bf.label_tag(escape(bf.label + ':')) or ''
|
if bf.label:
|
||||||
|
label = escape(bf.label)
|
||||||
|
# Only add a colon if the label does not end in punctuation.
|
||||||
|
if label[-1] not in ':?.!':
|
||||||
|
label += ':'
|
||||||
|
label = bf.label_tag(label) or ''
|
||||||
|
else:
|
||||||
|
label = ''
|
||||||
if field.help_text:
|
if field.help_text:
|
||||||
help_text = help_text_html % field.help_text
|
help_text = help_text_html % field.help_text
|
||||||
else:
|
else:
|
||||||
|
@ -193,18 +193,27 @@ class Lexer(object):
|
|||||||
|
|
||||||
def tokenize(self):
|
def tokenize(self):
|
||||||
"Return a list of tokens from a given template_string"
|
"Return a list of tokens from a given template_string"
|
||||||
# remove all empty strings, because the regex has a tendency to add them
|
in_tag = False
|
||||||
bits = filter(None, tag_re.split(self.template_string))
|
result = []
|
||||||
return map(self.create_token, bits)
|
for bit in tag_re.split(self.template_string):
|
||||||
|
if bit:
|
||||||
|
result.append(self.create_token(bit, in_tag))
|
||||||
|
in_tag = not in_tag
|
||||||
|
return result
|
||||||
|
|
||||||
def create_token(self,token_string):
|
def create_token(self, token_string, in_tag):
|
||||||
"Convert the given token string into a new Token object and return it"
|
"""
|
||||||
if token_string.startswith(VARIABLE_TAG_START):
|
Convert the given token string into a new Token object and return it.
|
||||||
token = Token(TOKEN_VAR, token_string[len(VARIABLE_TAG_START):-len(VARIABLE_TAG_END)].strip())
|
If tag is True, we are processing something that matched a tag,
|
||||||
elif token_string.startswith(BLOCK_TAG_START):
|
otherwise it should be treated as a literal string.
|
||||||
token = Token(TOKEN_BLOCK, token_string[len(BLOCK_TAG_START):-len(BLOCK_TAG_END)].strip())
|
"""
|
||||||
elif token_string.startswith(COMMENT_TAG_START):
|
if in_tag:
|
||||||
token = Token(TOKEN_COMMENT, '')
|
if token_string.startswith(VARIABLE_TAG_START):
|
||||||
|
token = Token(TOKEN_VAR, token_string[len(VARIABLE_TAG_START):-len(VARIABLE_TAG_END)].strip())
|
||||||
|
elif token_string.startswith(BLOCK_TAG_START):
|
||||||
|
token = Token(TOKEN_BLOCK, token_string[len(BLOCK_TAG_START):-len(BLOCK_TAG_END)].strip())
|
||||||
|
elif token_string.startswith(COMMENT_TAG_START):
|
||||||
|
token = Token(TOKEN_COMMENT, '')
|
||||||
else:
|
else:
|
||||||
token = Token(TOKEN_TEXT, token_string)
|
token = Token(TOKEN_TEXT, token_string)
|
||||||
return token
|
return token
|
||||||
@ -215,21 +224,21 @@ class DebugLexer(Lexer):
|
|||||||
|
|
||||||
def tokenize(self):
|
def tokenize(self):
|
||||||
"Return a list of tokens from a given template_string"
|
"Return a list of tokens from a given template_string"
|
||||||
token_tups, upto = [], 0
|
result, upto = [], 0
|
||||||
for match in tag_re.finditer(self.template_string):
|
for match in tag_re.finditer(self.template_string):
|
||||||
start, end = match.span()
|
start, end = match.span()
|
||||||
if start > upto:
|
if start > upto:
|
||||||
token_tups.append( (self.template_string[upto:start], (upto, start)) )
|
result.append(self.create_token(self.template_string[upto:start], (upto, start), False))
|
||||||
upto = start
|
upto = start
|
||||||
token_tups.append( (self.template_string[start:end], (start,end)) )
|
result.append(self.create_token(self.template_string[start:end], (start, end), True))
|
||||||
upto = end
|
upto = end
|
||||||
last_bit = self.template_string[upto:]
|
last_bit = self.template_string[upto:]
|
||||||
if last_bit:
|
if last_bit:
|
||||||
token_tups.append( (last_bit, (upto, upto + len(last_bit))) )
|
result.append(self.create_token(last_bit, (upto, upto + len(last_bit)), False))
|
||||||
return [self.create_token(tok, (self.origin, loc)) for tok, loc in token_tups]
|
return result
|
||||||
|
|
||||||
def create_token(self, token_string, source):
|
def create_token(self, token_string, source, in_tag):
|
||||||
token = super(DebugLexer, self).create_token(token_string)
|
token = super(DebugLexer, self).create_token(token_string, in_tag)
|
||||||
token.source = source
|
token.source = source
|
||||||
return token
|
return token
|
||||||
|
|
||||||
|
@ -19,13 +19,23 @@ In two lines::
|
|||||||
|
|
||||||
send_mail('Subject here', 'Here is the message.', 'from@example.com',
|
send_mail('Subject here', 'Here is the message.', 'from@example.com',
|
||||||
['to@example.com'], fail_silently=False)
|
['to@example.com'], fail_silently=False)
|
||||||
|
|
||||||
|
Mail will be sent using the SMTP host and port specified in the `EMAIL_HOST`_
|
||||||
|
and `EMAIL_PORT`_ settings. The `EMAIL_HOST_USER`_ and `EMAIL_HOST_PASSWORD`_
|
||||||
|
settings, if set, will be used to authenticate to the
|
||||||
|
SMTP server.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The character set of email sent with ``django.core.mail`` will be set to
|
The character set of email sent with ``django.core.mail`` will be set to
|
||||||
the value of your `DEFAULT_CHARSET setting`_.
|
the value of your `DEFAULT_CHARSET setting`_.
|
||||||
|
|
||||||
.. _DEFAULT_CHARSET setting: ../settings/#DEFAULT_CHARSET
|
.. _DEFAULT_CHARSET setting: ../settings/#DEFAULT_CHARSET
|
||||||
|
.. _EMAIL_HOST: ../settings/#EMAIL_HOST
|
||||||
|
.. _EMAIL_PORT: ../settings/#EMAIL_PORT
|
||||||
|
.. _EMAIL_HOST_USER: ../settings/#EMAIL_HOST_USER
|
||||||
|
.. _EMAIL_HOST_PASSWORD: ../settings/#EMAIL_HOST_PASSWORD
|
||||||
|
|
||||||
|
|
||||||
send_mail()
|
send_mail()
|
||||||
===========
|
===========
|
||||||
|
@ -517,7 +517,7 @@ to put punctuation at the end of your validation messages.
|
|||||||
When are validators called?
|
When are validators called?
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
After a form has been submitted, Django validates each field in turn. First,
|
After a form has been submitted, Django validates each field in turn. First,
|
||||||
if the field is required, Django checks that it is present and non-empty. Then,
|
if the field is required, Django checks that it is present and non-empty. Then,
|
||||||
if that test passes *and the form submission contained data* for that field, all
|
if that test passes *and the form submission contained data* for that field, all
|
||||||
the validators for that field are called in turn. The emphasized portion in the
|
the validators for that field are called in turn. The emphasized portion in the
|
||||||
@ -615,15 +615,19 @@ fails. If no message is passed in, a default message is used.
|
|||||||
``other_value``, then the validators in ``validator_list`` are all run
|
``other_value``, then the validators in ``validator_list`` are all run
|
||||||
against the current field.
|
against the current field.
|
||||||
|
|
||||||
|
``RequiredIfOtherFieldGiven``
|
||||||
|
Takes a field name of the current field is only required if the other
|
||||||
|
field has a value.
|
||||||
|
|
||||||
|
``RequiredIfOtherFieldsGiven``
|
||||||
|
Similar to ``RequiredIfOtherFieldGiven``, except that it takes a list of
|
||||||
|
field names and if any one of the supplied fields has a value provided,
|
||||||
|
the current field being validated is required.
|
||||||
|
|
||||||
``RequiredIfOtherFieldNotGiven``
|
``RequiredIfOtherFieldNotGiven``
|
||||||
Takes the name of the other field and this field is only required if the
|
Takes the name of the other field and this field is only required if the
|
||||||
other field has no value.
|
other field has no value.
|
||||||
|
|
||||||
``RequiredIfOtherFieldsNotGiven``
|
|
||||||
Similar to ``RequiredIfOtherFieldNotGiven``, except that it takes a list
|
|
||||||
of field names and if any one of the supplied fields does not have a value
|
|
||||||
provided, the field being validated is required.
|
|
||||||
|
|
||||||
``RequiredIfOtherFieldEquals`` and ``RequiredIfOtherFieldDoesNotEqual``
|
``RequiredIfOtherFieldEquals`` and ``RequiredIfOtherFieldDoesNotEqual``
|
||||||
Each of these validator classes takes a field name and a value (in that
|
Each of these validator classes takes a field name and a value (in that
|
||||||
order). If the given field does (or does not have, in the latter case) the
|
order). If the given field does (or does not have, in the latter case) the
|
||||||
@ -650,8 +654,8 @@ fails. If no message is passed in, a default message is used.
|
|||||||
``NumberIsInRange``
|
``NumberIsInRange``
|
||||||
Takes two boundary numbers, ``lower`` and ``upper``, and checks that the
|
Takes two boundary numbers, ``lower`` and ``upper``, and checks that the
|
||||||
field is greater than ``lower`` (if given) and less than ``upper`` (if
|
field is greater than ``lower`` (if given) and less than ``upper`` (if
|
||||||
given).
|
given).
|
||||||
|
|
||||||
Both checks are inclusive. That is, ``NumberIsInRange(10, 20)`` will allow
|
Both checks are inclusive. That is, ``NumberIsInRange(10, 20)`` will allow
|
||||||
values of both 10 and 20. This validator only checks numeric values
|
values of both 10 and 20. This validator only checks numeric values
|
||||||
(e.g., float and integer values).
|
(e.g., float and integer values).
|
||||||
|
@ -395,8 +395,9 @@ EMAIL_HOST_PASSWORD
|
|||||||
|
|
||||||
Default: ``''`` (Empty string)
|
Default: ``''`` (Empty string)
|
||||||
|
|
||||||
Username to use for the SMTP server defined in ``EMAIL_HOST``. If empty,
|
Password to use for the SMTP server defined in ``EMAIL_HOST``. This setting is
|
||||||
Django won't attempt authentication.
|
used in conjunction with EMAIL_HOST_USER when authenticating to the SMTP server.
|
||||||
|
If either of these settings is empty, Django won't attempt authenticaion.
|
||||||
|
|
||||||
See also ``EMAIL_HOST_USER``.
|
See also ``EMAIL_HOST_USER``.
|
||||||
|
|
||||||
|
@ -874,6 +874,60 @@ ValidationError: [u'This field requires only numbers.']
|
|||||||
>>> f.clean('')
|
>>> f.clean('')
|
||||||
u''
|
u''
|
||||||
|
|
||||||
|
# BRCPFField #################################################################
|
||||||
|
|
||||||
|
>>> from django.contrib.localflavor.br.forms import BRCPFField
|
||||||
|
>>> f = BRCPFField()
|
||||||
|
>>> f.clean('')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'This field is required.']
|
||||||
|
>>> f.clean(None)
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'This field is required.']
|
||||||
|
>>> f.clean('489.294.654-54')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'Invalid CPF number.']
|
||||||
|
>>> f.clean('295.669.575-98')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'Invalid CPF number.']
|
||||||
|
>>> f.clean('539.315.127-22')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'Invalid CPF number.']
|
||||||
|
>>> f.clean('663.256.017-26')
|
||||||
|
u'663.256.017-26'
|
||||||
|
>>> f.clean('66325601726')
|
||||||
|
u'66325601726'
|
||||||
|
>>> f.clean('375.788.573-20')
|
||||||
|
u'375.788.573-20'
|
||||||
|
>>> f.clean('84828509895')
|
||||||
|
u'84828509895'
|
||||||
|
>>> f.clean('375.788.573-XX')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'This field requires only numbers.']
|
||||||
|
>>> f.clean('375.788.573-000')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'Ensure this value has at most 14 characters.']
|
||||||
|
>>> f.clean('123.456.78')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'Ensure this value has at least 11 characters.']
|
||||||
|
>>> f.clean('123456789555')
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
ValidationError: [u'This field requires at most 11 digits or 14 characters.']
|
||||||
|
>>> f = BRCPFField(required=False)
|
||||||
|
>>> f.clean('')
|
||||||
|
u''
|
||||||
|
>>> f.clean(None)
|
||||||
|
u''
|
||||||
|
|
||||||
# BRPhoneNumberField #########################################################
|
# BRPhoneNumberField #########################################################
|
||||||
|
|
||||||
>>> from django.contrib.localflavor.br.forms import BRPhoneNumberField
|
>>> from django.contrib.localflavor.br.forms import BRPhoneNumberField
|
||||||
|
@ -2601,6 +2601,27 @@ underscores converted to spaces, and the initial letter capitalized.
|
|||||||
<li>Password1: <input type="password" name="password1" /></li>
|
<li>Password1: <input type="password" name="password1" /></li>
|
||||||
<li>Password (again): <input type="password" name="password2" /></li>
|
<li>Password (again): <input type="password" name="password2" /></li>
|
||||||
|
|
||||||
|
Labels for as_* methods will only end in a colon if they don't end in other
|
||||||
|
punctuation already.
|
||||||
|
>>> class Questions(Form):
|
||||||
|
... q1 = CharField(label='The first question')
|
||||||
|
... q2 = CharField(label='What is your name?')
|
||||||
|
... q3 = CharField(label='The answer to life is:')
|
||||||
|
... q4 = CharField(label='Answer this question!')
|
||||||
|
... q5 = CharField(label='The last question. Period.')
|
||||||
|
>>> print Questions(auto_id=False).as_p()
|
||||||
|
<p>The first question: <input type="text" name="q1" /></p>
|
||||||
|
<p>What is your name? <input type="text" name="q2" /></p>
|
||||||
|
<p>The answer to life is: <input type="text" name="q3" /></p>
|
||||||
|
<p>Answer this question! <input type="text" name="q4" /></p>
|
||||||
|
<p>The last question. Period. <input type="text" name="q5" /></p>
|
||||||
|
>>> print Questions().as_p()
|
||||||
|
<p><label for="id_q1">The first question:</label> <input type="text" name="q1" id="id_q1" /></p>
|
||||||
|
<p><label for="id_q2">What is your name?</label> <input type="text" name="q2" id="id_q2" /></p>
|
||||||
|
<p><label for="id_q3">The answer to life is:</label> <input type="text" name="q3" id="id_q3" /></p>
|
||||||
|
<p><label for="id_q4">Answer this question!</label> <input type="text" name="q4" id="id_q4" /></p>
|
||||||
|
<p><label for="id_q5">The last question. Period.</label> <input type="text" name="q5" id="id_q5" /></p>
|
||||||
|
|
||||||
A label can be a Unicode object or a bytestring with special characters.
|
A label can be a Unicode object or a bytestring with special characters.
|
||||||
>>> class UserRegistration(Form):
|
>>> class UserRegistration(Form):
|
||||||
... username = CharField(max_length=10, label='ŠĐĆŽćžšđ')
|
... username = CharField(max_length=10, label='ŠĐĆŽćžšđ')
|
||||||
|
@ -127,6 +127,18 @@ class Templates(unittest.TestCase):
|
|||||||
# Fail silently when accessing a non-simple method
|
# Fail silently when accessing a non-simple method
|
||||||
'basic-syntax20': ("{{ var.method2 }}", {"var": SomeClass()}, ("","INVALID")),
|
'basic-syntax20': ("{{ var.method2 }}", {"var": SomeClass()}, ("","INVALID")),
|
||||||
|
|
||||||
|
# Don't get confused when parsing something that is almost, but not
|
||||||
|
# quite, a template tag.
|
||||||
|
'basic-syntax21': ("a {{ moo %} b", {}, "a {{ moo %} b"),
|
||||||
|
'basic-syntax22': ("{{ moo #}", {}, "{{ moo #}"),
|
||||||
|
|
||||||
|
# Will try to treat "moo #} {{ cow" as the variable. Not ideal, but
|
||||||
|
# costly to work around, so this triggers an error.
|
||||||
|
'basic-syntax23': ("{{ moo #} {{ cow }}", {"cow": "cow"}, template.TemplateSyntaxError),
|
||||||
|
|
||||||
|
# Embedded newlines make it not-a-tag.
|
||||||
|
'basic-syntax24': ("{{ moo\n }}", {}, "{{ moo\n }}"),
|
||||||
|
|
||||||
# List-index syntax allows a template to access a certain item of a subscriptable object.
|
# List-index syntax allows a template to access a certain item of a subscriptable object.
|
||||||
'list-index01': ("{{ var.1 }}", {"var": ["first item", "second item"]}, "second item"),
|
'list-index01': ("{{ var.1 }}", {"var": ["first item", "second item"]}, "second item"),
|
||||||
|
|
||||||
@ -151,60 +163,61 @@ class Templates(unittest.TestCase):
|
|||||||
'list-index07': ("{{ var.1 }}", {"var": {'1': "hello", 1: "world"}}, "hello"),
|
'list-index07': ("{{ var.1 }}", {"var": {'1': "hello", 1: "world"}}, "hello"),
|
||||||
|
|
||||||
# Basic filter usage
|
# Basic filter usage
|
||||||
'basic-syntax21': ("{{ var|upper }}", {"var": "Django is the greatest!"}, "DJANGO IS THE GREATEST!"),
|
'filter-syntax01': ("{{ var|upper }}", {"var": "Django is the greatest!"}, "DJANGO IS THE GREATEST!"),
|
||||||
|
|
||||||
# Chained filters
|
# Chained filters
|
||||||
'basic-syntax22': ("{{ var|upper|lower }}", {"var": "Django is the greatest!"}, "django is the greatest!"),
|
'filter-syntax02': ("{{ var|upper|lower }}", {"var": "Django is the greatest!"}, "django is the greatest!"),
|
||||||
|
|
||||||
# Raise TemplateSyntaxError for space between a variable and filter pipe
|
# Raise TemplateSyntaxError for space between a variable and filter pipe
|
||||||
'basic-syntax23': ("{{ var |upper }}", {}, template.TemplateSyntaxError),
|
'filter-syntax03': ("{{ var |upper }}", {}, template.TemplateSyntaxError),
|
||||||
|
|
||||||
# Raise TemplateSyntaxError for space after a filter pipe
|
# Raise TemplateSyntaxError for space after a filter pipe
|
||||||
'basic-syntax24': ("{{ var| upper }}", {}, template.TemplateSyntaxError),
|
'filter-syntax04': ("{{ var| upper }}", {}, template.TemplateSyntaxError),
|
||||||
|
|
||||||
# Raise TemplateSyntaxError for a nonexistent filter
|
# Raise TemplateSyntaxError for a nonexistent filter
|
||||||
'basic-syntax25': ("{{ var|does_not_exist }}", {}, template.TemplateSyntaxError),
|
'filter-syntax05': ("{{ var|does_not_exist }}", {}, template.TemplateSyntaxError),
|
||||||
|
|
||||||
# Raise TemplateSyntaxError when trying to access a filter containing an illegal character
|
# Raise TemplateSyntaxError when trying to access a filter containing an illegal character
|
||||||
'basic-syntax26': ("{{ var|fil(ter) }}", {}, template.TemplateSyntaxError),
|
'filter-syntax06': ("{{ var|fil(ter) }}", {}, template.TemplateSyntaxError),
|
||||||
|
|
||||||
# Raise TemplateSyntaxError for invalid block tags
|
# Raise TemplateSyntaxError for invalid block tags
|
||||||
'basic-syntax27': ("{% nothing_to_see_here %}", {}, template.TemplateSyntaxError),
|
'filter-syntax07': ("{% nothing_to_see_here %}", {}, template.TemplateSyntaxError),
|
||||||
|
|
||||||
# Raise TemplateSyntaxError for empty block tags
|
# Raise TemplateSyntaxError for empty block tags
|
||||||
'basic-syntax28': ("{% %}", {}, template.TemplateSyntaxError),
|
'filter-syntax08': ("{% %}", {}, template.TemplateSyntaxError),
|
||||||
|
|
||||||
# Chained filters, with an argument to the first one
|
# Chained filters, with an argument to the first one
|
||||||
'basic-syntax29': ('{{ var|removetags:"b i"|upper|lower }}', {"var": "<b><i>Yes</i></b>"}, "yes"),
|
'filter-syntax09': ('{{ var|removetags:"b i"|upper|lower }}', {"var": "<b><i>Yes</i></b>"}, "yes"),
|
||||||
|
|
||||||
# Escaped string as argument
|
# Escaped string as argument
|
||||||
'basic-syntax30': (r'{{ var|default_if_none:" endquote\" hah" }}', {"var": None}, ' endquote" hah'),
|
'filter-syntax10': (r'{{ var|default_if_none:" endquote\" hah" }}', {"var": None}, ' endquote" hah'),
|
||||||
|
|
||||||
# Variable as argument
|
# Variable as argument
|
||||||
'basic-syntax31': (r'{{ var|default_if_none:var2 }}', {"var": None, "var2": "happy"}, 'happy'),
|
'filter-syntax11': (r'{{ var|default_if_none:var2 }}', {"var": None, "var2": "happy"}, 'happy'),
|
||||||
|
|
||||||
# Default argument testing
|
# Default argument testing
|
||||||
'basic-syntax32': (r'{{ var|yesno:"yup,nup,mup" }} {{ var|yesno }}', {"var": True}, 'yup yes'),
|
'filter-syntax12': (r'{{ var|yesno:"yup,nup,mup" }} {{ var|yesno }}', {"var": True}, 'yup yes'),
|
||||||
|
|
||||||
# Fail silently for methods that raise an exception with a "silent_variable_failure" attribute
|
# Fail silently for methods that raise an exception with a
|
||||||
'basic-syntax33': (r'1{{ var.method3 }}2', {"var": SomeClass()}, ("12", "1INVALID2")),
|
# "silent_variable_failure" attribute
|
||||||
|
'filter-syntax13': (r'1{{ var.method3 }}2', {"var": SomeClass()}, ("12", "1INVALID2")),
|
||||||
|
|
||||||
# In methods that raise an exception without a "silent_variable_attribute" set to True,
|
# In methods that raise an exception without a
|
||||||
# the exception propagates
|
# "silent_variable_attribute" set to True, the exception propagates
|
||||||
'basic-syntax34': (r'1{{ var.method4 }}2', {"var": SomeClass()}, SomeOtherException),
|
'filter-syntax14': (r'1{{ var.method4 }}2', {"var": SomeClass()}, SomeOtherException),
|
||||||
|
|
||||||
# Escaped backslash in argument
|
# Escaped backslash in argument
|
||||||
'basic-syntax35': (r'{{ var|default_if_none:"foo\bar" }}', {"var": None}, r'foo\bar'),
|
'filter-syntax15': (r'{{ var|default_if_none:"foo\bar" }}', {"var": None}, r'foo\bar'),
|
||||||
|
|
||||||
# Escaped backslash using known escape char
|
# Escaped backslash using known escape char
|
||||||
'basic-syntax35': (r'{{ var|default_if_none:"foo\now" }}', {"var": None}, r'foo\now'),
|
'filter-syntax16': (r'{{ var|default_if_none:"foo\now" }}', {"var": None}, r'foo\now'),
|
||||||
|
|
||||||
# Empty strings can be passed as arguments to filters
|
# Empty strings can be passed as arguments to filters
|
||||||
'basic-syntax36': (r'{{ var|join:"" }}', {'var': ['a', 'b', 'c']}, 'abc'),
|
'filter-syntax17': (r'{{ var|join:"" }}', {'var': ['a', 'b', 'c']}, 'abc'),
|
||||||
|
|
||||||
# If a variable has a __str__() that returns a Unicode object, the value
|
# If a variable has a __str__() that returns a Unicode object, the
|
||||||
# will be converted to a bytestring.
|
# value will be converted to a bytestring.
|
||||||
'basic-syntax37': (r'{{ var }}', {'var': UnicodeInStrClass()}, '\xc5\xa0\xc4\x90\xc4\x86\xc5\xbd\xc4\x87\xc5\xbe\xc5\xa1\xc4\x91'),
|
'basic-syntax18': (r'{{ var }}', {'var': UnicodeInStrClass()}, '\xc5\xa0\xc4\x90\xc4\x86\xc5\xbd\xc4\x87\xc5\xbe\xc5\xa1\xc4\x91'),
|
||||||
|
|
||||||
### COMMENT SYNTAX ########################################################
|
### COMMENT SYNTAX ########################################################
|
||||||
'comment-syntax01': ("{# this is hidden #}hello", {}, "hello"),
|
'comment-syntax01': ("{# this is hidden #}hello", {}, "hello"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user