mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +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:
		
							
								
								
									
										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"), | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user