diff options
Diffstat (limited to 'django')
38 files changed, 2870 insertions, 1900 deletions
diff --git a/django/bin/daily_cleanup.py b/django/bin/daily_cleanup.py index 6eb5c17feb..667e0f16c6 100644 --- a/django/bin/daily_cleanup.py +++ b/django/bin/daily_cleanup.py @@ -1,16 +1,17 @@ -"Daily cleanup file" +""" +Daily cleanup job. -from django.db import backend, connection, transaction +Can be run as a cronjob to clean out old data from the database (only expired +sessions at the moment). +""" -DOCUMENTATION_DIRECTORY = '/home/html/documentation/' +from django.db import backend, connection, transaction def clean_up(): # Clean up old database records cursor = connection.cursor() cursor.execute("DELETE FROM %s WHERE %s < NOW()" % \ - (backend.quote_name('core_sessions'), backend.quote_name('expire_date'))) - cursor.execute("DELETE FROM %s WHERE %s < NOW() - INTERVAL '1 week'" % \ - (backend.quote_name('registration_challenges'), backend.quote_name('request_date'))) + (backend.quote_name('django_session'), backend.quote_name('expire_date'))) transaction.commit_unless_managed() if __name__ == "__main__": diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py index dc30d3f1f4..69c775cdec 100644 --- a/django/conf/global_settings.py +++ b/django/conf/global_settings.py @@ -56,6 +56,7 @@ LANGUAGES = ( ('ja', gettext_noop('Japanese')), ('nl', gettext_noop('Dutch')), ('no', gettext_noop('Norwegian')), + ('pl', gettext_noop('Polish')), ('pt-br', gettext_noop('Brazilian')), ('ro', gettext_noop('Romanian')), ('ru', gettext_noop('Russian')), @@ -223,10 +224,6 @@ YEAR_MONTH_FORMAT = 'F Y' # http://www.djangoproject.com/documentation/templates/#now MONTH_DAY_FORMAT = 'F j' -# Whether to enable Psyco, which optimizes Python code. Requires Psyco. -# http://psyco.sourceforge.net/ -ENABLE_PSYCO = False - # Do you want to manage transactions manually? # Hint: you really don't! TRANSACTIONS_MANAGED = False @@ -274,8 +271,8 @@ CACHE_MIDDLEWARE_KEY_PREFIX = '' COMMENTS_ALLOW_PROFANITIES = False # The profanities that will trigger a validation error in the -# 'hasNoProfanities' validator. All of these should be in lower-case. -PROFANITIES_LIST = ['asshat', 'asshead', 'asshole', 'cunt', 'fuck', 'gook', 'nigger', 'shit'] +# 'hasNoProfanities' validator. All of these should be in lowercase. +PROFANITIES_LIST = ('asshat', 'asshead', 'asshole', 'cunt', 'fuck', 'gook', 'nigger', 'shit') # The group ID that designates which users are banned. # Set to None if you're not using it. diff --git a/django/conf/locale/cs/LC_MESSAGES/django.mo b/django/conf/locale/cs/LC_MESSAGES/django.mo Binary files differindex 8984023810..c2f04edb81 100644 --- a/django/conf/locale/cs/LC_MESSAGES/django.mo +++ b/django/conf/locale/cs/LC_MESSAGES/django.mo diff --git a/django/conf/locale/cs/LC_MESSAGES/django.po b/django/conf/locale/cs/LC_MESSAGES/django.po index cdbb124c94..0dcc31394c 100644 --- a/django/conf/locale/cs/LC_MESSAGES/django.po +++ b/django/conf/locale/cs/LC_MESSAGES/django.po @@ -8,15 +8,14 @@ msgstr "" "Project-Id-Version: Django Czech translation\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-05-16 10:11+0200\n" -"PO-Revision-Date: 2006-05-20 22:44+0100\n" -"Last-Translator: Radek Švarz <translate@svarz.cz>\n" +"PO-Revision-Date: 2006-10-07 13:10+0100\n" +"Last-Translator: \n" "Language-Team: Czech\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Poedit-Country: CZECH REPUBLIC\n" -"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,-1,-1,-1,139\n" #: contrib/comments/models.py:67 #: contrib/comments/models.py:166 @@ -80,7 +79,7 @@ msgid "is public" msgstr "je veřejné" #: contrib/comments/models.py:85 -#: contrib/admin/views/doc.py:289 +#: contrib/admin/views/doc.py:304 msgid "IP address" msgstr "IP adresa" @@ -214,11 +213,11 @@ msgstr "Neplatné ID komentáře" msgid "No voting for yourself" msgstr "Nelze hlasovat pro sebe" -#: contrib/comments/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "This rating is required because you've entered at least one other rating." msgstr "Toto hodnocení je povinné, protože jste zadal(a) alespoň jedno jiné hodnocení." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s comment:\n" @@ -241,7 +240,7 @@ msgstr[2] "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" @@ -252,22 +251,22 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "Je povolená pouze metoda POST" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" msgstr "Jedno nebo více povinných polí nebylo vyplněné" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" msgstr "Někdo falšoval formulář komentáře (bezpečnostní narušení)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "The comment form had an invalid 'target' parameter -- the object ID was invalid" msgstr "Formulář komentáře měl neplatný parametr 'target' -- ID objektu nebylo platné" @@ -284,18 +283,9 @@ msgid "Username:" msgstr "Uživatelské jméno:" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Heslo:" - -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "Zapomenuté heslo?" - -#: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/registration/password_change_done.html:3 @@ -313,6 +303,15 @@ msgstr "Zapomenuté heslo?" msgid "Log out" msgstr "Odhlásit se" +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Heslo:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Zapomenuté heslo?" + #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" msgstr "Hodnocení" @@ -331,13 +330,13 @@ msgstr "Volitelné" msgid "Post a photo" msgstr "Zařadit fotografii" -#: contrib/comments/templates/comments/form.html:27 +#: contrib/comments/templates/comments/form.html:28 #: contrib/comments/templates/comments/freeform.html:5 msgid "Comment:" msgstr "Komentář:" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 msgid "Preview comment" msgstr "Náhled komentáře" @@ -357,6 +356,7 @@ msgstr "" #: contrib/admin/filterspecs.py:70 #: contrib/admin/filterspecs.py:88 #: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:169 msgid "All" msgstr "Vše" @@ -420,217 +420,292 @@ msgstr "log záznam" msgid "log entries" msgstr "log záznamy" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:230 msgid "All dates" msgstr "Všechna data" -#: contrib/admin/views/decorators.py:9 -#: contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 +#: contrib/admin/views/decorators.py:10 +#: contrib/auth/forms.py:59 msgid "Please enter a correct username and password. Note that both fields are case-sensitive." msgstr "Prosíme, vložte správné uživatelské jméno a heslo. Poznámka - u obou položek se rozlišuje velikost písmen." -#: contrib/admin/views/decorators.py:23 +#: contrib/admin/views/decorators.py:24 #: contrib/admin/templates/admin/login.html:25 msgid "Log in" msgstr "Přihlášení" -#: contrib/admin/views/decorators.py:61 +#: contrib/admin/views/decorators.py:62 msgid "Please log in again, because your session has expired. Don't worry: Your submission has been saved." msgstr "Prosíme, znovu se přihlašte, Vaše sezení vypršelo. Nemusíte se obávat, Vaše podání je uloženo." -#: contrib/admin/views/decorators.py:68 +#: contrib/admin/views/decorators.py:69 msgid "Looks like your browser isn't configured to accept cookies. Please enable cookies, reload this page, and try again." msgstr "Vypadá to, že Váš prohlížeč není nastaven, aby akceptoval cookies. Prosíme, zapněte cookies, obnovte tuto stránku a zkuste znovu." -#: contrib/admin/views/decorators.py:82 +#: contrib/admin/views/decorators.py:83 msgid "Usernames cannot contain the '@' character." msgstr "Uživatelská jména nemohou obsahovat znak '@'." -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "Vaše e-mailová adresa není Vaše uživatelské jméno. Zkuste místo toho '%s'." -#: contrib/admin/views/main.py:226 +#: contrib/admin/views/main.py:223 msgid "Site administration" msgstr "Django správa" -#: contrib/admin/views/main.py:260 +#: contrib/admin/views/main.py:257 +#: contrib/admin/views/auth.py:17 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "Záznam %(name)s \"%(obj)s\" byl úspěšně přidán." -#: contrib/admin/views/main.py:264 -#: contrib/admin/views/main.py:348 +#: contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 +#: contrib/admin/views/auth.py:22 msgid "You may edit it again below." msgstr "Můžete to opět upravit níže." -#: contrib/admin/views/main.py:272 -#: contrib/admin/views/main.py:357 +#: contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." msgstr "Můžete přidat další %s níže." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" msgstr "%s: přidat" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." msgstr "Záznam %s byl přidán." -#: contrib/admin/views/main.py:336 -#: contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:335 +#: contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 msgid "and" msgstr "a" -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." msgstr "%s: změněno" -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." msgstr "Záznam %s byl smazán." -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." msgstr "Nebyly změněny žádné pole." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" byl úspěšně změněn." -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:353 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "The %(name)s \"%(obj)s\" byl úspěšně přidán. Můžete to opět upravit níže." -#: contrib/admin/views/main.py:392 +#: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" msgstr "%s: změnit" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:473 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "Jedno nebo více %(fieldname)s z %(name)s: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:478 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "Jedno nebo více %(fieldname)s z %(name)s:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:511 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "Záznam %(name)s \"%(obj)s\" byl úspěšně smazán." -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:514 msgid "Are you sure?" msgstr "Jste si jist(á)?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:536 #, python-format msgid "Change history: %s" msgstr "Historie změn: %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s" msgstr "Vybrat %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s to change" msgstr "Vyberte %s pro změnu" -#: contrib/admin/views/doc.py:277 -#: contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 -#: contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 -#: contrib/admin/views/doc.py:297 +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "Databázová chyba" + +#: contrib/admin/views/doc.py:46 +#: contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "tag:" + +#: contrib/admin/views/doc.py:77 +#: contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtr:" + +#: contrib/admin/views/doc.py:135 +#: contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "pohled (view):" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "Aplikace %r nenalezena" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %r not found in app %r" +msgstr "Model %r v aplikaci %r nenalezen" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "související objekt `%s.%s`" + +#: contrib/admin/views/doc.py:183 +#: contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 +#: contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "model:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%s.%s` objects" +msgstr "související objekty `%s.%s`" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "%s: vše" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "%s: počet" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "Pole na objektech %s" + +#: contrib/admin/views/doc.py:291 +#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 +#: contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 +#: contrib/admin/views/doc.py:312 msgid "Integer" msgstr "Celé číslo" -#: contrib/admin/views/doc.py:278 +#: contrib/admin/views/doc.py:292 msgid "Boolean (Either True or False)" msgstr "Boolean (buď Ano (True), nebo Ne (False))" -#: contrib/admin/views/doc.py:279 -#: contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:311 #, python-format msgid "String (up to %(maxlength)s)" msgstr "Text (maximálně %(maxlength)s znaků)" -#: contrib/admin/views/doc.py:280 +#: contrib/admin/views/doc.py:294 msgid "Comma-separated integers" msgstr "Celá čísla oddělená čárkou" -#: contrib/admin/views/doc.py:281 +#: contrib/admin/views/doc.py:295 msgid "Date (without time)" msgstr "Datum (bez času)" -#: contrib/admin/views/doc.py:282 +#: contrib/admin/views/doc.py:296 msgid "Date (with time)" msgstr "Datum (s časem)" -#: contrib/admin/views/doc.py:283 +#: contrib/admin/views/doc.py:297 msgid "E-mail address" msgstr "E-mailová adresa" -#: contrib/admin/views/doc.py:284 -#: contrib/admin/views/doc.py:287 +#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 msgid "File path" msgstr "Cesta k souboru" -#: contrib/admin/views/doc.py:285 +#: contrib/admin/views/doc.py:300 msgid "Decimal number" msgstr "Desetiné číslo" -#: contrib/admin/views/doc.py:291 +#: contrib/admin/views/doc.py:306 msgid "Boolean (Either True, False or None)" msgstr "Boolean (buď Ano (True), Ne (False), nebo Nic (None))" -#: contrib/admin/views/doc.py:292 +#: contrib/admin/views/doc.py:307 msgid "Relation to parent model" msgstr "V relaci k rodičovskému modelu" -#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:308 msgid "Phone number" msgstr "Telefonní číslo" -#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:313 msgid "Text" msgstr "Text" -#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:314 msgid "Time" msgstr "Čas" -#: contrib/admin/views/doc.py:300 +#: contrib/admin/views/doc.py:315 #: contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" -#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:316 msgid "U.S. state (two uppercase letters)" msgstr "Stát US (2 velké znaky)" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:317 msgid "XML text" msgstr "text XML" +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s pravděpodobně není objekt urlpattern" + +#: contrib/admin/views/auth.py:28 +msgid "Add user" +msgstr "Přidat uživatele" + #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/registration/password_change_done.html:3 @@ -641,7 +716,7 @@ msgstr "Dokumentace" #: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/delete_confirmation.html:3 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/registration/password_change_done.html:3 @@ -662,9 +737,10 @@ msgstr "Změnit heslo" #: contrib/admin/templates/admin/object_history.html:5 #: contrib/admin/templates/admin/500.html:4 #: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin/base.html:30 #: contrib/admin/templates/admin/delete_confirmation.html:6 #: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -737,6 +813,11 @@ msgstr "Je nám líto, ale vyžádaná stránka nebyla nalezena." msgid "Models available in the %(name)s application." msgstr "Dostupné modely v aplikaci %(name)s." +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 msgid "Add" @@ -771,7 +852,7 @@ msgstr "%(name)s: přidat" msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?" msgstr "<a href=\"/password_reset/\">Zapomněl(a) jste své heslo?</a>" -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 msgid "Welcome," msgstr "Vítejte," @@ -782,13 +863,13 @@ msgstr "Smazat" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format -msgid "Deleting the %(object_name)s '%(object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" -msgstr "Mazání %(object_name)s '%(object)s' by vyústilo ve vymazání souvisejících objektů, ale Váš účet nemá oprávnění pro mazání následujících typů objektů:" +msgid "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:" +msgstr "Mazání %(object_name)s '%(escaped_object)s' by vyústilo ve vymazání souvisejících objektů, ale Váš účet nemá oprávnění pro mazání následujících typů objektů:" #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format -msgid "Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of the following related items will be deleted:" -msgstr "Jste si jist(á), že chcete smazat %(object_name)s \"%(object)s\"? Všechny následující související položky budou smazány:" +msgid "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? All of the following related items will be deleted:" +msgstr "Jste si jist(á), že chcete smazat %(object_name)s \"%(escaped_object)s\"? Všechny následující související položky budou smazány:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" @@ -796,13 +877,34 @@ msgstr "Ano, jsem si jist" #: contrib/admin/templates/admin/filter.html:2 #, python-format -msgid " By %(title)s " -msgstr "Od %(title)s" +msgid " By %(filter_title)s " +msgstr " Dle %(filter_title)s " #: contrib/admin/templates/admin/search_form.html:8 msgid "Go" msgstr "Provést" +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 výsledek" +msgstr[1] "%(counter)s výsledky" +msgstr[2] "%(counter)s výsledků" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "celkem %(full_result_count)s" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Zobrazit všechny" + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtr" + #: contrib/admin/templates/admin/change_form.html:21 msgid "View on site" msgstr "Pohled na stránku" @@ -838,6 +940,30 @@ msgstr "Uložit a pokračovat v úpravách" msgid "Save" msgstr "Uložit" +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "Something's wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user." +msgstr "Něco není v pořádku s Vaší instalací databáze. Ujistěte se, že byly vytvořeny odpovídající tabulky databáze a že databáze je přístupná pro čtení daným databázovým uživatelem." + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "First, enter a username and password. Then, you'll be able to edit more user options." +msgstr "Nejdříve vložte uživatelské jméno a heslo. Poté budete moci upravovat více uživatelských možností." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Uživatelské jméno" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Heslo" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Heslo (znova)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Pro ověření vložte stejné heslo znovu." + #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 @@ -1031,11 +1157,11 @@ msgstr "přesměrovat na" msgid "This can be either an absolute path (as above) or a full URL starting with 'http://'." msgstr "Toto může být buď absolutní cesta (jako nahoře) nebo plné URL začínající na 'http://'." -#: contrib/redirects/models.py:12 +#: contrib/redirects/models.py:13 msgid "redirect" msgstr "přesměrovat" -#: contrib/redirects/models.py:13 +#: contrib/redirects/models.py:14 msgid "redirects" msgstr "přesměrování" @@ -1060,8 +1186,8 @@ msgid "template name" msgstr "jméno šablony" #: contrib/flatpages/models.py:13 -msgid "Example: 'flatpages/contact_page'. If this isn't provided, the system will use 'flatpages/default'." -msgstr "Například: 'flatfiles/kontaktni_stranka'. Pokud toto není zadáno, systém použije 'flatfiles/default'." +msgid "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'." +msgstr "Například: 'flatpages/kontaktni_stranka.html'. Pokud toto není zadáno, systém použije 'flatpages/default.html'." #: contrib/flatpages/models.py:14 msgid "registration required" @@ -1079,150 +1205,170 @@ msgstr "statická stránka" msgid "flat pages" msgstr "statické stránky" -#: contrib/auth/models.py:13 -#: contrib/auth/models.py:26 +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Odhlášeno" + +#: contrib/auth/models.py:38 +#: contrib/auth/models.py:57 msgid "name" msgstr "jméno" -#: contrib/auth/models.py:15 +#: contrib/auth/models.py:40 msgid "codename" msgstr "codename" -#: contrib/auth/models.py:17 +#: contrib/auth/models.py:42 msgid "permission" msgstr "oprávnění" -#: contrib/auth/models.py:18 -#: contrib/auth/models.py:27 +#: contrib/auth/models.py:43 +#: contrib/auth/models.py:58 msgid "permissions" msgstr "oprávnění" -#: contrib/auth/models.py:29 +#: contrib/auth/models.py:60 msgid "group" msgstr "skupina" -#: contrib/auth/models.py:30 -#: contrib/auth/models.py:65 +#: contrib/auth/models.py:61 +#: contrib/auth/models.py:100 msgid "groups" msgstr "skupiny" -#: contrib/auth/models.py:55 +#: contrib/auth/models.py:90 msgid "username" msgstr "uživatelské jméno" -#: contrib/auth/models.py:56 +#: contrib/auth/models.py:90 +msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." +msgstr "Požadováno. 30 znaků nebo méně. Pouze alfanumerické znaky (znaky, čísla a podtržítka)." + +#: contrib/auth/models.py:91 msgid "first name" msgstr "křestní jméno" -#: contrib/auth/models.py:57 +#: contrib/auth/models.py:92 msgid "last name" msgstr "příjmení" -#: contrib/auth/models.py:58 +#: contrib/auth/models.py:93 msgid "e-mail address" msgstr "e-mailová adresa" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "password" msgstr "heslo" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "Use '[algo]$[salt]$[hexdigest]'" msgstr "Použijte '[algo]$[salt]$[hexdigest]'" -#: contrib/auth/models.py:60 +#: contrib/auth/models.py:95 msgid "staff status" msgstr "administrativní přístup " -#: contrib/auth/models.py:60 +#: contrib/auth/models.py:95 msgid "Designates whether the user can log into this admin site." msgstr "Rozhodne, zda se může uživatel přihlásit do správy webu." -#: contrib/auth/models.py:61 +#: contrib/auth/models.py:96 msgid "active" msgstr "aktivní" -#: contrib/auth/models.py:62 +#: contrib/auth/models.py:96 +msgid "Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts." +msgstr "Rozhodne, zda se může uživatel přihlásit do správy webu. Nastavte toto místo mazání účtů." + +#: contrib/auth/models.py:97 msgid "superuser status" msgstr "stav superuživatel" -#: contrib/auth/models.py:63 +#: contrib/auth/models.py:97 +msgid "Designates that this user has all permissions without explicitly assigning them." +msgstr "Stanoví, že tento uživatel má veškerá oprávnění bez jejich explicitního přiřazení." + +#: contrib/auth/models.py:98 msgid "last login" msgstr "poslední přihlášení" -#: contrib/auth/models.py:64 +#: contrib/auth/models.py:99 msgid "date joined" msgstr "datum zaregistrování" -#: contrib/auth/models.py:66 +#: contrib/auth/models.py:101 msgid "In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in." msgstr "Kromě manuálně přidělených oprávnění uživatel dostane všechna oprávnění pro každou skupinu, ve které je." -#: contrib/auth/models.py:67 +#: contrib/auth/models.py:102 msgid "user permissions" msgstr "uživatelskí oprávnění" -#: contrib/auth/models.py:70 +#: contrib/auth/models.py:105 msgid "user" msgstr "uživatel" -#: contrib/auth/models.py:71 +#: contrib/auth/models.py:106 msgid "users" msgstr "uživatelé" -#: contrib/auth/models.py:76 +#: contrib/auth/models.py:111 msgid "Personal info" msgstr "Osobní informace" -#: contrib/auth/models.py:77 +#: contrib/auth/models.py:112 msgid "Permissions" msgstr "Oprávnění" -#: contrib/auth/models.py:78 +#: contrib/auth/models.py:113 msgid "Important dates" msgstr "Důležitá data" -#: contrib/auth/models.py:79 +#: contrib/auth/models.py:114 msgid "Groups" msgstr "Skupiny" -#: contrib/auth/models.py:219 +#: contrib/auth/models.py:256 msgid "message" msgstr "zpráva" -#: contrib/auth/forms.py:30 +#: contrib/auth/forms.py:52 msgid "Your Web browser doesn't appear to have cookies enabled. Cookies are required for logging in." msgstr "Váš prohlížeč pravděpodobně nemá zapnuté cookies. Cookies jsou potřeba pro zalogování." -#: contrib/contenttypes/models.py:25 +#: contrib/auth/forms.py:61 +msgid "This account is inactive." +msgstr "Tento účet není aktivní." + +#: contrib/contenttypes/models.py:20 msgid "python model class name" msgstr "jméno modelu Pythonu" -#: contrib/contenttypes/models.py:28 +#: contrib/contenttypes/models.py:23 msgid "content type" msgstr "typ obsahu" -#: contrib/contenttypes/models.py:29 +#: contrib/contenttypes/models.py:24 msgid "content types" msgstr "typy obsahu" -#: contrib/sessions/models.py:35 +#: contrib/sessions/models.py:51 msgid "session key" msgstr "klíč sezení" -#: contrib/sessions/models.py:36 +#: contrib/sessions/models.py:52 msgid "session data" msgstr "data sezení" -#: contrib/sessions/models.py:37 +#: contrib/sessions/models.py:53 msgid "expire date" msgstr "datum expirace" -#: contrib/sessions/models.py:41 +#: contrib/sessions/models.py:57 msgid "session" msgstr "sezení" -#: contrib/sessions/models.py:42 +#: contrib/sessions/models.py:58 msgid "sessions" msgstr "sezení" @@ -1242,18 +1388,6 @@ msgstr "web" msgid "sites" msgstr "weby" -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "j.n.Y" - -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "j.n.Y, H:i" - -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i" - #: utils/dates.py:6 msgid "Monday" msgstr "Pondělí" @@ -1453,203 +1587,263 @@ msgstr[0] "minuta" msgstr[1] "minuty" msgstr[2] "minut" -#: conf/global_settings.py:37 +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "j.n.Y" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "j.n.Y, H:i" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "H:i" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "F Y" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "j. F" + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arabic" + +#: conf/global_settings.py:40 msgid "Bengali" msgstr "Bengálsky" -#: conf/global_settings.py:38 +#: conf/global_settings.py:41 msgid "Czech" msgstr "Česky" -#: conf/global_settings.py:39 +#: conf/global_settings.py:42 msgid "Welsh" msgstr "Welšsky" -#: conf/global_settings.py:40 +#: conf/global_settings.py:43 msgid "Danish" msgstr "Dánsky" -#: conf/global_settings.py:41 +#: conf/global_settings.py:44 msgid "German" msgstr "Německy" -#: conf/global_settings.py:42 +#: conf/global_settings.py:45 msgid "Greek" msgstr "Řecky" -#: conf/global_settings.py:43 +#: conf/global_settings.py:46 msgid "English" msgstr "Anglicky" -#: conf/global_settings.py:44 +#: conf/global_settings.py:47 msgid "Spanish" msgstr "Španělsky" -#: conf/global_settings.py:45 +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "Argentinean Spanish" + +#: conf/global_settings.py:49 +msgid "Finnish" +msgstr "Finsky" + +#: conf/global_settings.py:50 msgid "French" msgstr "Francouzsky" -#: conf/global_settings.py:46 +#: conf/global_settings.py:51 msgid "Galician" msgstr "Galicijsky" -#: conf/global_settings.py:47 +#: conf/global_settings.py:52 msgid "Hungarian" msgstr "Maďarsky" -#: conf/global_settings.py:48 +#: conf/global_settings.py:53 msgid "Hebrew" msgstr "Hebrejsky" -#: conf/global_settings.py:49 +#: conf/global_settings.py:54 msgid "Icelandic" msgstr "Islandština" -#: conf/global_settings.py:50 +#: conf/global_settings.py:55 msgid "Italian" msgstr "Italsky" -#: conf/global_settings.py:51 +#: conf/global_settings.py:56 msgid "Japanese" msgstr "Japonština" -#: conf/global_settings.py:52 +#: conf/global_settings.py:57 msgid "Dutch" msgstr "Holandština" -#: conf/global_settings.py:53 +#: conf/global_settings.py:58 msgid "Norwegian" msgstr "Norsky" -#: conf/global_settings.py:54 +#: conf/global_settings.py:59 msgid "Brazilian" msgstr "Brazilsky" -#: conf/global_settings.py:55 +#: conf/global_settings.py:60 msgid "Romanian" msgstr "Rumunsky" -#: conf/global_settings.py:56 +#: conf/global_settings.py:61 msgid "Russian" msgstr "Rusky" -#: conf/global_settings.py:57 +#: conf/global_settings.py:62 msgid "Slovak" msgstr "Slovensky" -#: conf/global_settings.py:58 +#: conf/global_settings.py:63 msgid "Slovenian" msgstr "Slovinsky" -#: conf/global_settings.py:59 +#: conf/global_settings.py:64 msgid "Serbian" msgstr "Srbsky" -#: conf/global_settings.py:60 +#: conf/global_settings.py:65 msgid "Swedish" msgstr "Švédsky" -#: conf/global_settings.py:61 +#: conf/global_settings.py:66 +msgid "Tamil" +msgstr "Tamil" + +#: conf/global_settings.py:67 +msgid "Turkish" +msgstr "Turecky" + +#: conf/global_settings.py:68 msgid "Ukrainian" msgstr "Ukrajinsky" -#: conf/global_settings.py:62 +#: conf/global_settings.py:69 msgid "Simplified Chinese" msgstr "Jednoduchá čínština" -#: conf/global_settings.py:63 +#: conf/global_settings.py:70 msgid "Traditional Chinese" msgstr "Tradiční čínština" -#: core/validators.py:60 +#: core/validators.py:63 msgid "This value must contain only letters, numbers and underscores." msgstr "Tato hodnota musí obsahovat pouze znaky, čísla nebo podtržítka." -#: core/validators.py:64 +#: core/validators.py:67 msgid "This value must contain only letters, numbers, underscores, dashes or slashes." msgstr "Tato hodnota musí obsahovat pouze znaky, čísla, podtržítka, pomlčky nebo lomítka." -#: core/validators.py:72 +#: core/validators.py:71 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Tato hodnota musí obsahovat pouze znaky, čísla, podtržítka nebo čárky." + +#: core/validators.py:75 msgid "Uppercase letters are not allowed here." msgstr "Velká písmena zde nejsou povolená." -#: core/validators.py:76 +#: core/validators.py:79 msgid "Lowercase letters are not allowed here." msgstr "Malá písmena zde nejsou povolená." -#: core/validators.py:83 +#: core/validators.py:86 msgid "Enter only digits separated by commas." msgstr "Vložte pouze cifry oddělené čárkami." -#: core/validators.py:95 +#: core/validators.py:98 msgid "Enter valid e-mail addresses separated by commas." msgstr "Vložte platné e-mailové adresy oddělené čárkami." -#: core/validators.py:99 +#: core/validators.py:102 msgid "Please enter a valid IP address." msgstr "Prosíme, zadejte platnou IP adresu." -#: core/validators.py:103 +#: core/validators.py:106 msgid "Empty values are not allowed here." msgstr "Zde nejsou povolené prázdné hodnoty." -#: core/validators.py:107 +#: core/validators.py:110 msgid "Non-numeric characters aren't allowed here." msgstr "Znaky, které nejsou čísla, nejsou zde povoleny." -#: core/validators.py:111 +#: core/validators.py:114 msgid "This value can't be comprised solely of digits." msgstr "Tato hodnota nemůže být složená pouze z cifer." -#: core/validators.py:116 +#: core/validators.py:119 msgid "Enter a whole number." msgstr "Vložte celé číslo." -#: core/validators.py:120 +#: core/validators.py:123 msgid "Only alphabetical characters are allowed here." msgstr "Zde jsou povoleny pouze alfanumerické znaky." -#: core/validators.py:124 +#: core/validators.py:138 +msgid "Year must be 1900 or later." +msgstr "Rok musí být 1900 a vyšší." + +#: core/validators.py:142 +#, python-format +msgid "Invalid date: %s." +msgstr "Neplatné datum: %s." + +#: core/validators.py:146 +#: db/models/fields/__init__.py:415 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "Vložte platné datum ve formátu RRRR-MM-DD." -#: core/validators.py:128 +#: core/validators.py:151 msgid "Enter a valid time in HH:MM format." msgstr "Vložte platný čas ve formátu HH:MM." -#: core/validators.py:132 -#: db/models/fields/__init__.py:468 +#: core/validators.py:155 +#: db/models/fields/__init__.py:477 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "Vložte platné datum a čas ve formátu RRRR-MM-DD HH:MM." -#: core/validators.py:136 +#: core/validators.py:160 msgid "Enter a valid e-mail address." msgstr "Vložte platnou e-mailovou adresu." -#: core/validators.py:148 +#: core/validators.py:172 +#: core/validators.py:401 +#: forms/__init__.py:661 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Soubor nebyl odeslán. Zkontrolujte encoding type formuláře." + +#: core/validators.py:176 msgid "Upload a valid image. The file you uploaded was either not an image or a corrupted image." msgstr "Nahrajte na server platný obrázek. Soubor, který jste nahrál(a) nebyl obrázek, nebo byl porušen." -#: core/validators.py:155 +#: core/validators.py:183 #, python-format msgid "The URL %s does not point to a valid image." msgstr "URL %s neukazuje na platný obrázek." -#: core/validators.py:159 +#: core/validators.py:187 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "Telefonní čísla musí být ve formátu XXX-XXX-XXXX. \"%s\" není platné." -#: core/validators.py:167 +#: core/validators.py:195 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "URL %s neodkazuje na platné video ve formátu QuickTime." -#: core/validators.py:171 +#: core/validators.py:199 msgid "A valid URL is required." msgstr "Je vyžadováno platné URL." -#: core/validators.py:185 +#: core/validators.py:213 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -1658,27 +1852,27 @@ msgstr "" "Je vyžadováno platné HTML. Konkrétní chyby jsou:\n" "%s" -#: core/validators.py:192 +#: core/validators.py:220 #, python-format msgid "Badly formed XML: %s" msgstr "Špatně formované XML: %s" -#: core/validators.py:202 +#: core/validators.py:230 #, python-format msgid "Invalid URL: %s" msgstr "Neplatné URL: %s" -#: core/validators.py:206 -#: core/validators.py:208 +#: core/validators.py:234 +#: core/validators.py:236 #, python-format msgid "The URL %s is a broken link." msgstr "Odkaz na URL %s je rozbitý." -#: core/validators.py:214 +#: core/validators.py:242 msgid "Enter a valid U.S. state abbreviation." msgstr "Vložte platnou zkraku U.S. státu." -#: core/validators.py:229 +#: core/validators.py:256 #, python-format msgid "Watch your mouth! The word %s is not allowed here." msgid_plural "Watch your mouth! The words %s are not allowed here." @@ -1686,44 +1880,44 @@ msgstr[0] "Mluvte slušně! Slovo %s zde není přípustné." msgstr[1] "Mluvte slušně! Slova %s zde nejsou přípustná." msgstr[2] "Mluvte slušně! Slova %s zde nejsou přípustná." -#: core/validators.py:236 +#: core/validators.py:263 #, python-format msgid "This field must match the '%s' field." msgstr "Toto pole se musí shodovat s polem '%s'." -#: core/validators.py:255 +#: core/validators.py:282 msgid "Please enter something for at least one field." msgstr "Prosíme, vložte něco alespoň pro jedno pole." -#: core/validators.py:264 -#: core/validators.py:275 +#: core/validators.py:291 +#: core/validators.py:302 msgid "Please enter both fields or leave them both empty." msgstr "Prosíme, vložte obě pole, nebo je nechte obě prázdná." -#: core/validators.py:282 +#: core/validators.py:309 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "Toto pole musí být vyplněno, když %(field)s má %(value)s" -#: core/validators.py:294 +#: core/validators.py:321 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "Toto pole musí být vyplněno, když %(field)s nemá %(value)s" -#: core/validators.py:313 +#: core/validators.py:340 msgid "Duplicate values are not allowed." msgstr "Duplikátní hodnoty nejsou povolené." -#: core/validators.py:336 +#: core/validators.py:363 #, python-format msgid "This value must be a power of %s." msgstr "Tato hodnota musí být mocninou %s." -#: core/validators.py:347 +#: core/validators.py:374 msgid "Please enter a valid decimal number." msgstr "Prosíme, vložte platné číslo." -#: core/validators.py:349 +#: core/validators.py:378 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "Please enter a valid decimal number with at most %s total digits." @@ -1731,7 +1925,15 @@ msgstr[0] "Prosíme, vložte platné číslo s nejvíce %s cifrou celkem." msgstr[1] "Prosíme, vložte platné číslo s nejvíce %s ciframi celkem." msgstr[2] "Prosíme, vložte platné číslo s nejvíce %s ciframi celkem." -#: core/validators.py:352 +#: core/validators.py:381 +#, python-format +msgid "Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "Prosíme, vložte platné číslo s nejvíce %s cifrou." +msgstr[1] "Prosíme, vložte platné číslo s nejvíce %s ciframi." +msgstr[2] "Prosíme, vložte platné číslo s nejvíce %s ciframi." + +#: core/validators.py:384 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." msgid_plural "Please enter a valid decimal number with at most %s decimal places." @@ -1739,64 +1941,79 @@ msgstr[0] "Prosíme, vložte platné číslo s nejvíce %s cifrou za desetinnou msgstr[1] "Prosíme, vložte platné číslo s nejvíce %s ciframi za desetinnou čárkou celkem." msgstr[2] "Prosíme, vložte platné číslo s nejvíce %s ciframi za desetinnou čárkou celkem." -#: core/validators.py:362 +#: core/validators.py:394 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." msgstr "Ujistěte se, že posílaný soubor je velký nejméně %s bytů." -#: core/validators.py:363 +#: core/validators.py:395 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." msgstr "Ujistěte se, že posílaný soubor je velký nejvíce %s bytů." -#: core/validators.py:376 +#: core/validators.py:412 msgid "The format for this field is wrong." msgstr "Formát pro toto pole je špatný." -#: core/validators.py:391 +#: core/validators.py:427 msgid "This field is invalid." msgstr "Toto pole není platné." -#: core/validators.py:426 +#: core/validators.py:463 #, python-format msgid "Could not retrieve anything from %s." msgstr "Nemohl jsem získat nic z %s." -#: core/validators.py:429 +#: core/validators.py:466 #, python-format msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." msgstr "URL %(url)s vrátilo neplatnou hlavičku Content-Type '%(contenttype)s'." -#: core/validators.py:462 +#: core/validators.py:499 #, python-format msgid "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with \"%(start)s\".)" msgstr "Prosíme, zavřete nezavřenou značku %(tag)s z řádky %(line)s. (Řádka začíná s \"%(start)s\".)" -#: core/validators.py:466 +#: core/validators.py:503 #, python-format msgid "Some text starting on line %(line)s is not allowed in that context. (Line starts with \"%(start)s\".)" msgstr "Nějaký text začínající na řádce %(line)s není povolen v tomto kontextu. (Řádka začíná s \"%(start)s\".)" -#: core/validators.py:471 +#: core/validators.py:508 #, python-format msgid "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%(start)s\".)" msgstr "\"%(attr)s\" na řádce %(line)s je neplatný atribut. (Řádka začíná s \"%(start)s\".)" -#: core/validators.py:476 +#: core/validators.py:513 #, python-format msgid "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%(start)s\".)" msgstr "\"<%(tag)s>\" na řádce %(line)s je neplatná značka. (Řádka začíná s \"%(start)s\".)" -#: core/validators.py:480 +#: core/validators.py:517 #, python-format msgid "A tag on line %(line)s is missing one or more required attributes. (Line starts with \"%(start)s\".)" msgstr "Značce na řádce %(line)s schází jeden nebo více požadovaných atributů. (Řádka začíná s \"%(start)s\".)" -#: core/validators.py:485 +#: core/validators.py:522 #, python-format msgid "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line starts with \"%(start)s\".)" msgstr "Atribut \"%(attr)s\" na řádce %(line)s má neplatnou hodnotu. (Řádka začína s \"%(start)s\".)" +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "Záznam %(verbose_name)s byl úspěšně vytvořen." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "Záznam %(verbose_name)s byl úspěšně změnen." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "Záznam %(verbose_name)s byl smazán." + #: db/models/manipulators.py:302 #, python-format msgid "%(object)s with this %(type)s already exists for the given %(field)s." @@ -1809,42 +2026,42 @@ msgstr "%(optname)s s tímto %(fieldname)s již existuje." #: db/models/fields/__init__.py:114 #: db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 -#: db/models/fields/__init__.py:553 +#: db/models/fields/__init__.py:551 +#: db/models/fields/__init__.py:562 #: forms/__init__.py:346 msgid "This field is required." msgstr "Toto pole je povinné." -#: db/models/fields/__init__.py:337 +#: db/models/fields/__init__.py:340 msgid "This value must be an integer." msgstr "Tato hodnota musí být celé číslo." -#: db/models/fields/__init__.py:369 +#: db/models/fields/__init__.py:372 msgid "This value must be either True or False." msgstr "Tato hodnota musí být buď Ano (True), nebo Ne (False)." -#: db/models/fields/__init__.py:385 +#: db/models/fields/__init__.py:388 msgid "This field cannot be null." msgstr "Toto pole nemůže být prázdné (null)." -#: db/models/fields/__init__.py:562 +#: db/models/fields/__init__.py:571 msgid "Enter a valid filename." msgstr "Vložte platný název souboru." -#: db/models/fields/related.py:43 +#: db/models/fields/related.py:51 #, python-format msgid "Please enter a valid %s." msgstr "Prosíme, zadejte %s správně." -#: db/models/fields/related.py:579 +#: db/models/fields/related.py:618 msgid "Separate multiple IDs with commas." msgstr "Oddělte více identifikátorů čárkami." -#: db/models/fields/related.py:581 +#: db/models/fields/related.py:620 msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "Podržte \"Control\", nebo \"Command\" na Macu pro vybrání více jak jedné položky." -#: db/models/fields/related.py:625 +#: db/models/fields/related.py:664 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." @@ -1852,7 +2069,7 @@ msgstr[0] "Prosíme, vložte platná %(self)s ID. Hodnota %(value)r není platn msgstr[1] "Prosíme, vložte platná %(self)s ID. Hodnoty %(value)r nejsou platné." msgstr[2] "Prosíme, vložte platná %(self)s ID. Hodnoty %(value)r nejsou platné." -#: forms/__init__.py:380 +#: forms/__init__.py:381 #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." @@ -1860,59 +2077,34 @@ msgstr[0] "Ujistěte se, že Váš text má méně než %s znak." msgstr[1] "Ujistěte se, že Váš text má méně než %s znaky." msgstr[2] "Ujistěte se, že Váš text má méně než %s znaků." -#: forms/__init__.py:385 +#: forms/__init__.py:386 msgid "Line breaks are not allowed here." msgstr "Zalomení řádky zde nenjsou povolená." -#: forms/__init__.py:480 -#: forms/__init__.py:551 -#: forms/__init__.py:589 +#: forms/__init__.py:487 +#: forms/__init__.py:560 +#: forms/__init__.py:599 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "Vyberte platnou volbu. '%(data)s' není mezi %(choices)s." -#: forms/__init__.py:645 +#: forms/__init__.py:663 msgid "The submitted file is empty." msgstr "Odevzdaný soubor je prázdný." -#: forms/__init__.py:699 +#: forms/__init__.py:719 msgid "Enter a whole number between -32,768 and 32,767." msgstr "Vložte celé číslo mezi -32,768 a 32,767." -#: forms/__init__.py:708 +#: forms/__init__.py:729 msgid "Enter a positive number." msgstr "Vložte celé kladné číslo." -#: forms/__init__.py:717 +#: forms/__init__.py:739 msgid "Enter a whole number between 0 and 32,767." msgstr "Vložte celé číslo mezi 0 a 32,767." -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:401 msgid "yes,no,maybe" msgstr "ano, ne, možná" -#~ msgid "Comment" -#~ msgstr "Komentář" -#~ msgid "Comments" -#~ msgstr "Komentáře" -#~ msgid "String (up to 50)" -#~ msgstr "Text (max. 50 znaků)" -#~ msgid "label" -#~ msgstr "nadpis" -#~ msgid "package" -#~ msgstr "balík" -#~ msgid "packages" -#~ msgstr "balíky" -#~ msgid "Error in Template" -#~ msgstr "Chyba v šabloně" -#~ msgid "" -#~ "\n" -#~ "In template %(name)s, error at line %(line)s:\n" -#~ msgstr "" -#~ "\n" -#~ "V šabloně %(name)s, chyba na řádce %(line)s:\n" - -#, fuzzy -#~ msgid "count" -#~ msgstr "počet" - diff --git a/django/conf/locale/ja/LC_MESSAGES/django.mo b/django/conf/locale/ja/LC_MESSAGES/django.mo Binary files differindex 34b80e976e..17f6f6b4c8 100644 --- a/django/conf/locale/ja/LC_MESSAGES/django.mo +++ b/django/conf/locale/ja/LC_MESSAGES/django.mo diff --git a/django/conf/locale/ja/LC_MESSAGES/django.po b/django/conf/locale/ja/LC_MESSAGES/django.po index dbc3de5f53..c4be20bbaa 100644 --- a/django/conf/locale/ja/LC_MESSAGES/django.po +++ b/django/conf/locale/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Django 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-18 00:21+0900\n" +"POT-Creation-Date: 2006-10-05 23:35+0900\n" "PO-Revision-Date: 2006-05-18 00:28+0900\n" "Last-Translator: makoto tsuyuki <mtsuyuki@gmail.com>\n" "Language-Team: Japanese <django-ja@googlegroups.com>\n" @@ -16,113 +16,134 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: conf/global_settings.py:37 +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "アラビア語" + +#: conf/global_settings.py:40 msgid "Bengali" msgstr "ベンガル語" -#: conf/global_settings.py:38 +#: conf/global_settings.py:41 msgid "Czech" msgstr "チェコ語" -#: conf/global_settings.py:39 +#: conf/global_settings.py:42 msgid "Welsh" msgstr "ウェールズ語" -#: conf/global_settings.py:40 +#: conf/global_settings.py:43 msgid "Danish" msgstr "デンマーク語" -#: conf/global_settings.py:41 +#: conf/global_settings.py:44 msgid "German" msgstr "ドイツ語" -#: conf/global_settings.py:42 +#: conf/global_settings.py:45 msgid "Greek" msgstr "ギリシャ語" -#: conf/global_settings.py:43 +#: conf/global_settings.py:46 msgid "English" msgstr "英語" -#: conf/global_settings.py:44 +#: conf/global_settings.py:47 msgid "Spanish" msgstr "スペイン語" -#: conf/global_settings.py:45 +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "アルゼンチンスペイン語" + +#: conf/global_settings.py:49 +#, fuzzy +msgid "Finnish" +msgstr "デンマーク語" + +#: conf/global_settings.py:50 msgid "French" msgstr "フランス語" -#: conf/global_settings.py:46 +#: conf/global_settings.py:51 msgid "Galician" msgstr "ガリシア語" -#: conf/global_settings.py:47 +#: conf/global_settings.py:52 msgid "Hungarian" msgstr "ハンガリー語" -#: conf/global_settings.py:48 +#: conf/global_settings.py:53 msgid "Hebrew" msgstr "ヘブライ語" -#: conf/global_settings.py:49 +#: conf/global_settings.py:54 msgid "Icelandic" msgstr "アイスランド語" -#: conf/global_settings.py:50 +#: conf/global_settings.py:55 msgid "Italian" msgstr "イタリア語" -#: conf/global_settings.py:51 +#: conf/global_settings.py:56 msgid "Japanese" msgstr "日本語" -#: conf/global_settings.py:52 +#: conf/global_settings.py:57 msgid "Dutch" msgstr "オランダ語" -#: conf/global_settings.py:53 +#: conf/global_settings.py:58 msgid "Norwegian" msgstr "ノルウェー語" -#: conf/global_settings.py:54 +#: conf/global_settings.py:59 msgid "Brazilian" msgstr "ブラジル語" -#: conf/global_settings.py:55 +#: conf/global_settings.py:60 msgid "Romanian" msgstr "ルーマニア語" -#: conf/global_settings.py:56 +#: conf/global_settings.py:61 msgid "Russian" msgstr "ロシア語" -#: conf/global_settings.py:57 +#: conf/global_settings.py:62 msgid "Slovak" msgstr "スロバキア語" -#: conf/global_settings.py:58 +#: conf/global_settings.py:63 #, fuzzy msgid "Slovenian" msgstr "スロヴェニア語" -#: conf/global_settings.py:59 +#: conf/global_settings.py:64 msgid "Serbian" msgstr "セルビア語" -#: conf/global_settings.py:60 +#: conf/global_settings.py:65 msgid "Swedish" msgstr "スウェーデン語" -#: conf/global_settings.py:61 +#: conf/global_settings.py:66 +msgid "Tamil" +msgstr "タミル語" + +#: conf/global_settings.py:67 +msgid "Turkish" +msgstr "トルコ語" + +#: conf/global_settings.py:68 #, fuzzy msgid "Ukrainian" msgstr "ウクライナ語" -#: conf/global_settings.py:62 +#: conf/global_settings.py:69 msgid "Simplified Chinese" msgstr "簡体字中国語" -#: conf/global_settings.py:63 +#: conf/global_settings.py:70 msgid "Traditional Chinese" msgstr "繁体字中国語" @@ -136,7 +157,7 @@ msgstr "" "<ul>\n" #: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" msgstr "全て" @@ -210,10 +231,11 @@ msgid "We're sorry, but the requested page could not be found." msgstr "申し訳ありませんが、お探しのページは見つかりませんでした。" #: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin/base.html:30 #: contrib/admin/templates/admin/change_form.html:13 #: contrib/admin/templates/admin/change_list.html:6 #: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/object_history.html:5 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 #: contrib/admin/templates/registration/logged_out.html:4 @@ -244,11 +266,11 @@ msgstr "" "エラーが発生しました。エラーをサイトの管理者にメールで報告しましたので、近い" "うちに修正されるはずです。しばらくお待ちください。" -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 msgid "Welcome," msgstr "ようこそ" -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/change_list.html:5 #: contrib/admin/templates/admin/delete_confirmation.html:3 @@ -259,7 +281,7 @@ msgstr "ようこそ" msgid "Documentation" msgstr "ドキュメント" -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/change_list.html:5 #: contrib/admin/templates/admin/delete_confirmation.html:3 @@ -279,7 +301,7 @@ msgstr "ドキュメント" msgid "Change password" msgstr "パスワードの変更" -#: contrib/admin/templates/admin/base.html:23 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/admin/change_form.html:10 #: contrib/admin/templates/admin/change_list.html:5 #: contrib/admin/templates/admin/delete_confirmation.html:3 @@ -296,7 +318,7 @@ msgstr "パスワードの変更" #: contrib/admin/templates/admin_doc/view_index.html:5 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/comments/templates/comments/form.html:8 +#: contrib/comments/templates/comments/form.html:6 msgid "Log out" msgstr "ログアウト" @@ -306,7 +328,7 @@ msgstr "Django サイト管理" #: contrib/admin/templates/admin/base_site.html:7 msgid "Django administration" -msgstr "Django の管理" +msgstr "Django 管理サイト" #: contrib/admin/templates/admin/change_form.html:15 #: contrib/admin/templates/admin/index.html:28 @@ -347,21 +369,21 @@ msgid "Delete" msgstr "削除" #: contrib/admin/templates/admin/delete_confirmation.html:14 -#, python-format +#, fuzzy, python-format msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" msgstr "" "%(object_name)s '%(object)s' の削除時に関連づけられたオブジェクトも削除しよう" "としましたが、あなたのアカウントには以下のタイプのオブジェクトを削除するパー" "ミッションがありません:" #: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format +#, fuzzy, python-format msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" msgstr "" "%(object_name)s \"%(object)s\"を削除しますか? 関連づけられている以下のオブ" "ジェクトも全て削除されます:" @@ -371,15 +393,24 @@ msgid "Yes, I'm sure" msgstr "はい。" #: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " +#, fuzzy, python-format +msgid " By %(filter_title)s " msgstr "%(title)s で絞り込む" +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "フィルタ" + #: contrib/admin/templates/admin/index.html:17 #, python-format msgid "Models available in the %(name)s application." msgstr "%(name)s アプリケーションで利用可能なモデル" +#: contrib/admin/templates/admin/index.html:18 +#, fuzzy, python-format +msgid "%(name)s" +msgstr "%(name)s を追加" + #: contrib/admin/templates/admin/index.html:34 msgid "Change" msgstr "変更" @@ -400,6 +431,15 @@ msgstr "操作" msgid "None available" msgstr "利用不可" +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "データベースの設定に問題があるようです。" +"適切なテーブルが作られていること、適切なユーザで" +"データベースのデータを読み込めることを確認してください。" + #: contrib/admin/templates/admin/login.html:17 #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 @@ -407,7 +447,7 @@ msgid "Username:" msgstr "ユーザ名:" #: contrib/admin/templates/admin/login.html:20 -#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 msgid "Password:" msgstr "パスワード:" @@ -416,7 +456,7 @@ msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?" msgstr "<a href=\"/password_reset/\">パスワードをお忘れですか</a>?" #: contrib/admin/templates/admin/login.html:25 -#: contrib/admin/views/decorators.py:23 +#: contrib/admin/views/decorators.py:24 msgid "Log in" msgstr "ログイン" @@ -444,10 +484,26 @@ msgstr "" "このオブジェクトには変更履歴がありません。おそらくこの管理サイトで追加したも" "のではありません。" +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "全件表示" + #: contrib/admin/templates/admin/search_form.html:8 msgid "Go" msgstr "検索" +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 件" +msgstr[1] "%(counter)s 件" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "全 %(full_result_count)s 件" + #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" msgstr "新規保存" @@ -464,6 +520,33 @@ msgstr "保存して編集を続ける" msgid "Save" msgstr "保存" +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"まずユーザ名とパスワードを登録してください。" +"その後詳細情報が編集可能になります。" + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +#, fuzzy +msgid "Username" +msgstr "ユーザ名:" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#, fuzzy +msgid "Password" +msgstr "パスワード:" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#, fuzzy +msgid "Password (again)" +msgstr "パスワードの変更" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "確認のため、再度パスワードを入力してください。" + #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" msgstr "ブックマークレット" @@ -572,7 +655,7 @@ msgstr "新しいパスワード:" #: contrib/admin/templates/registration/password_change_form.html:21 msgid "Confirm password:" -msgstr "新しいパスワード (もう一度) :" +msgstr "新しいパスワード (確認用) :" #: contrib/admin/templates/registration/password_change_form.html:23 msgid "Change my password" @@ -663,19 +746,33 @@ msgstr "現在:" msgid "Change:" msgstr "変更:" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:230 msgid "All dates" msgstr "いつでも" -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 +#: contrib/admin/views/auth.py:17 contrib/admin/views/main.py:257 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" を追加しました。" + +#: contrib/admin/views/auth.py:22 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 +msgid "You may edit it again below." +msgstr "続けて編集できます。" + +#: contrib/admin/views/auth.py:28 +#, fuzzy +msgid "Add user" +msgstr "%s を追加" + +#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." msgstr "" "正しいユーザ名とパスワードを入力してください (大文字小文字は区別します) 。" -#: contrib/admin/views/decorators.py:61 +#: contrib/admin/views/decorators.py:62 msgid "" "Please log in again, because your session has expired. Don't worry: Your " "submission has been saved." @@ -683,7 +780,7 @@ msgstr "" "再ログインしてください。ログインセッションが有効期間切れしてしまいました。入" "力データは失われておりませんのでご安心ください。" -#: contrib/admin/views/decorators.py:68 +#: contrib/admin/views/decorators.py:69 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -691,188 +788,253 @@ msgstr "" "ブラウザがクッキーの使用を許可していないようです。クッキーの使用を許可して、" "もう一度このページを表示してください。" -#: contrib/admin/views/decorators.py:82 +#: contrib/admin/views/decorators.py:83 msgid "Usernames cannot contain the '@' character." msgstr "ユーザ名には '@' を含められません。" -#: contrib/admin/views/decorators.py:84 +#: contrib/admin/views/decorators.py:85 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "メールアドレスはユーザ名ではありません。 '%s' を試してみてください。" -#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:297 +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "タグ" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "フィルタ" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "ビュー" + +#: contrib/admin/views/doc.py:164 +#, fuzzy, python-format +msgid "App %r not found" +msgstr "ページが見つかりません" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %r not found in app %r" +msgstr "モデル %r が %r アプリケーションに見つかりません" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "`%s.%s` (関連オブジェクト)" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "モデル :" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%s.%s` objects" +msgstr "`%s.%s` (関連オブジェクト)" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "全ての %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "%s の数" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "%s のフィールド" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 msgid "Integer" msgstr "整数" -#: contrib/admin/views/doc.py:278 +#: contrib/admin/views/doc.py:292 msgid "Boolean (Either True or False)" msgstr "ブール値 (真: True または偽: False)" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 #, python-format msgid "String (up to %(maxlength)s)" msgstr "文字列 ( %(maxlength)s 字まで )" -#: contrib/admin/views/doc.py:280 +#: contrib/admin/views/doc.py:294 msgid "Comma-separated integers" msgstr "カンマ区切りの整数" -#: contrib/admin/views/doc.py:281 +#: contrib/admin/views/doc.py:295 msgid "Date (without time)" msgstr "日付" -#: contrib/admin/views/doc.py:282 +#: contrib/admin/views/doc.py:296 msgid "Date (with time)" msgstr "日時" -#: contrib/admin/views/doc.py:283 +#: contrib/admin/views/doc.py:297 msgid "E-mail address" msgstr "メールアドレス" -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 msgid "File path" msgstr "ファイルの場所" -#: contrib/admin/views/doc.py:285 +#: contrib/admin/views/doc.py:300 msgid "Decimal number" msgstr "10 進数 (小数可)" -#: contrib/admin/views/doc.py:289 contrib/comments/models.py:85 +#: contrib/admin/views/doc.py:304 contrib/comments/models.py:85 msgid "IP address" msgstr "IP アドレス" -#: contrib/admin/views/doc.py:291 +#: contrib/admin/views/doc.py:306 msgid "Boolean (Either True, False or None)" msgstr "ブール値 (真: True 、偽: False または None)" -#: contrib/admin/views/doc.py:292 +#: contrib/admin/views/doc.py:307 msgid "Relation to parent model" msgstr "親モデルへのリレーション" -#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:308 msgid "Phone number" msgstr "電話番号" -#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:313 msgid "Text" msgstr "テキスト" -#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:314 msgid "Time" msgstr "時刻" -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:315 contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" -#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:316 msgid "U.S. state (two uppercase letters)" msgstr "アメリカの州 (大文字二文字で)" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:317 msgid "XML text" msgstr "XMLテキスト" -#: contrib/admin/views/main.py:226 -msgid "Site administration" -msgstr "サイト管理" - -#: contrib/admin/views/main.py:260 +#: contrib/admin/views/doc.py:343 #, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "%(name)s \"%(obj)s\" を追加しました。" +msgid "%s does not appear to be a urlpattern object" +msgstr "%s はurlpatternオブジェクトでは無いようです" -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 -msgid "You may edit it again below." -msgstr "続けて編集できます。" +#: contrib/admin/views/main.py:223 +msgid "Site administration" +msgstr "サイト管理" -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." msgstr "続けて別の %s を追加できます。" -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" msgstr "%s を追加" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." msgstr "%s を追加しました。" -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 msgid "and" msgstr "と" -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." msgstr "%s を変更しました。" -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." msgstr "%s を削除しました。" -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." msgstr "変更はありませんでした。" -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" を変更しました。" -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:353 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "%(name)s \"%(obj)s\" を追加しました。続けて編集できます。" -#: contrib/admin/views/main.py:392 +#: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" msgstr "%s を変更" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:473 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "%(name)s に %(fieldname)s が一つ以上あります: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:478 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "%(name)s に %(fieldname)s が一つ以上あります:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:511 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" を削除しました。" -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:514 msgid "Are you sure?" msgstr "よろしいですか?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:536 #, python-format msgid "Change history: %s" msgstr "変更履歴: %s" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s" msgstr "%s を選択" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s to change" msgstr "変更する %s を選択" -#: contrib/auth/forms.py:30 +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "データベースエラー" + +#: contrib/auth/forms.py:16 +msgid "The two password fields didn't match." +msgstr "確認用パスワードが一致しません。" + +#: contrib/auth/forms.py:24 +#, fuzzy +msgid "A user with that username already exists." +msgstr "%(fieldname)s に %(optname)s は既に存在します。" + +#: contrib/auth/forms.py:52 msgid "" "Your Web browser doesn't appear to have cookies enabled. Cookies are " "required for logging in." @@ -880,83 +1042,125 @@ msgstr "" "お使いのブラウザはクッキーを有効にしていないようです。ログインにはクッキーが" "必要です。" -#: contrib/auth/models.py:13 contrib/auth/models.py:26 +#: contrib/auth/forms.py:61 +msgid "This account is inactive." +msgstr "アカウントが無効です。" + +#: contrib/auth/forms.py:84 +msgid "" +"That e-mail address doesn't have an associated user acount. Are you sure " +"you've registered?" +msgstr "" +"メールアドレスの一致するユーザはいません。" +"本当に登録しましたか?" + +#: contrib/auth/forms.py:116 +msgid "The two 'new password' fields didn't match." +msgstr "新しいパスワード(確認用)が一致しません。" + +#: contrib/auth/forms.py:123 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "元のパスワードが間違っています。もう一度入力してください。" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 msgid "name" msgstr "名前" -#: contrib/auth/models.py:15 +#: contrib/auth/models.py:40 msgid "codename" msgstr "コード名" -#: contrib/auth/models.py:17 +#: contrib/auth/models.py:42 #, fuzzy msgid "permission" msgstr "パーミッション" -#: contrib/auth/models.py:18 contrib/auth/models.py:27 +#: contrib/auth/models.py:43 contrib/auth/models.py:58 #, fuzzy msgid "permissions" msgstr "パーミッション" -#: contrib/auth/models.py:29 +#: contrib/auth/models.py:60 #, fuzzy msgid "group" msgstr "グループ" -#: contrib/auth/models.py:30 contrib/auth/models.py:65 +#: contrib/auth/models.py:61 contrib/auth/models.py:100 #, fuzzy msgid "groups" msgstr "グループ" -#: contrib/auth/models.py:55 +#: contrib/auth/models.py:90 msgid "username" msgstr "ユーザ名" -#: contrib/auth/models.py:56 +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"この項目は必須です。" +"半角アルファベット、半角数字、半角アンダーバーで30文字以下にしてください。" + +#: contrib/auth/models.py:91 msgid "first name" msgstr "名" -#: contrib/auth/models.py:57 +#: contrib/auth/models.py:92 msgid "last name" msgstr "姓" -#: contrib/auth/models.py:58 +#: contrib/auth/models.py:93 msgid "e-mail address" msgstr "メールアドレス" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "password" msgstr "パスワード" -#: contrib/auth/models.py:59 +#: contrib/auth/models.py:94 msgid "Use '[algo]$[salt]$[hexdigest]'" msgstr "'[アルゴリズム]$[ソルト]$[ダイジェスト(hex)]' 形式を使って下さい" -#: contrib/auth/models.py:60 +#: contrib/auth/models.py:95 msgid "staff status" msgstr "スタッフ権限" -#: contrib/auth/models.py:60 +#: contrib/auth/models.py:95 msgid "Designates whether the user can log into this admin site." msgstr "ユーザが管理サイトにログイン可能かどうかを示します。" -#: contrib/auth/models.py:61 +#: contrib/auth/models.py:96 msgid "active" msgstr "有効" -#: contrib/auth/models.py:62 +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"ユーザが管理サイトにログイン可能か" +"どうかを示します。" + +#: contrib/auth/models.py:97 msgid "superuser status" msgstr "スーパーユーザ権限" -#: contrib/auth/models.py:63 +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "全ての権限を持っているとみなされます。" + +#: contrib/auth/models.py:98 msgid "last login" msgstr "最終ログイン" -#: contrib/auth/models.py:64 +#: contrib/auth/models.py:99 msgid "date joined" msgstr "登録日" -#: contrib/auth/models.py:66 +#: contrib/auth/models.py:101 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -964,42 +1168,48 @@ msgstr "" "手動で付与したパーミッションに加え、所属しているグループに付与された全ての" "パーミッションを獲得します。" -#: contrib/auth/models.py:67 +#: contrib/auth/models.py:102 #, fuzzy msgid "user permissions" msgstr "ユーザパーミッション" -#: contrib/auth/models.py:70 +#: contrib/auth/models.py:105 #, fuzzy msgid "user" msgstr "ユーザ" -#: contrib/auth/models.py:71 +#: contrib/auth/models.py:106 #, fuzzy msgid "users" msgstr "ユーザ" -#: contrib/auth/models.py:76 +#: contrib/auth/models.py:111 msgid "Personal info" msgstr "個人情報" -#: contrib/auth/models.py:77 +#: contrib/auth/models.py:112 +#, fuzzy msgid "Permissions" msgstr "パーミッション" -#: contrib/auth/models.py:78 +#: contrib/auth/models.py:113 msgid "Important dates" msgstr "重要な日程" -#: contrib/auth/models.py:79 +#: contrib/auth/models.py:114 msgid "Groups" msgstr "グループ" -#: contrib/auth/models.py:219 +#: contrib/auth/models.py:258 #, fuzzy msgid "message" msgstr "メッセージ" +#: contrib/auth/views.py:39 +#, fuzzy +msgid "Logged out" +msgstr "ログアウト" + #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" msgstr "オブジェクト ID" @@ -1187,7 +1397,7 @@ msgstr "モデレータ削除" msgid "Moderator deletion by %r" msgstr "%r によるモデレータ削除" -#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 #, fuzzy msgid "Forgotten your password?" msgstr "パスワードをお忘れですか?" @@ -1211,14 +1421,14 @@ msgstr "オプション" msgid "Post a photo" msgstr "写真を登録" -#: contrib/comments/templates/comments/form.html:27 +#: contrib/comments/templates/comments/form.html:28 #: contrib/comments/templates/comments/freeform.html:5 #, fuzzy msgid "Comment:" msgstr "コメント:" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 #, fuzzy msgid "Preview comment" msgstr "コメントをプレビュー" @@ -1228,13 +1438,13 @@ msgstr "コメントをプレビュー" msgid "Your name:" msgstr "ユーザ名:" -#: contrib/comments/views/comments.py:28 +#: contrib/comments/views/comments.py:27 msgid "" "This rating is required because you've entered at least one other rating." msgstr "" "他のレーティングを入力した場合は、このレーティングは必ず入力してください。" -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " @@ -1249,7 +1459,7 @@ msgid_plural "" msgstr[0] "このコメントを投稿したユーザのコメント数は %(count)s 未満です。" msgstr[1] "このコメントを投稿したユーザのコメント数は %(count)s 未満です。" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" @@ -1260,22 +1470,22 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" msgstr "POST メソッドのみ有効です。" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" msgstr "必須項目がいくつか入力されていません。" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" msgstr "だれかがコメントフォームを改竄しています (セキュリティ侵害です)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " @@ -1301,16 +1511,16 @@ msgstr "コメント ID が不正です" msgid "No voting for yourself" msgstr "自分には投票できません。" -#: contrib/contenttypes/models.py:25 +#: contrib/contenttypes/models.py:20 #, fuzzy msgid "python model class name" msgstr "Python モデルクラス名" -#: contrib/contenttypes/models.py:28 +#: contrib/contenttypes/models.py:23 msgid "content type" msgstr "コンテンツタイプ" -#: contrib/contenttypes/models.py:29 +#: contrib/contenttypes/models.py:24 msgid "content types" msgstr "コンテンツタイプ" @@ -1337,9 +1547,10 @@ msgid "template name" msgstr "テンプレート名" #: contrib/flatpages/models.py:13 +#, fuzzy msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." msgstr "" "例: 'flatpages/contact_page'. 指定しなければ、デフォルト設定の'flatpages/" "default' を使います。" @@ -1380,31 +1591,31 @@ msgid "" "'http://'." msgstr "上記のような絶対パスか、 'http://' で始まる完全な URL にします。" -#: contrib/redirects/models.py:12 +#: contrib/redirects/models.py:13 msgid "redirect" msgstr "リダイレクト" -#: contrib/redirects/models.py:13 +#: contrib/redirects/models.py:14 msgid "redirects" msgstr "リダイレクト" -#: contrib/sessions/models.py:35 +#: contrib/sessions/models.py:51 msgid "session key" msgstr "セッションキー" -#: contrib/sessions/models.py:36 +#: contrib/sessions/models.py:52 msgid "session data" msgstr "セッションデータ" -#: contrib/sessions/models.py:37 +#: contrib/sessions/models.py:53 msgid "expire date" msgstr "有効期限" -#: contrib/sessions/models.py:41 +#: contrib/sessions/models.py:57 msgid "session" msgstr "セッション" -#: contrib/sessions/models.py:42 +#: contrib/sessions/models.py:58 msgid "sessions" msgstr "セッション" @@ -1424,74 +1635,92 @@ msgstr "サイト" msgid "sites" msgstr "サイト" -#: core/validators.py:60 +#: core/validators.py:63 msgid "This value must contain only letters, numbers and underscores." msgstr "半角の英数字およびアンダースコア以外は使用できません。" -#: core/validators.py:64 +#: core/validators.py:67 #, fuzzy msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." msgstr "半角の英数字、アンダースコア、ダッシュ、ラッシュ以外は使用できません。" -#: core/validators.py:72 +#: core/validators.py:71 +#, fuzzy +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "半角の英数字、アンダースコア、ダッシュ、ラッシュ以外は使用できません。" + +#: core/validators.py:75 msgid "Uppercase letters are not allowed here." msgstr "大文字はここでは使用できません。" -#: core/validators.py:76 +#: core/validators.py:79 msgid "Lowercase letters are not allowed here." msgstr "小文字はここでは使用できません。" -#: core/validators.py:83 +#: core/validators.py:86 msgid "Enter only digits separated by commas." msgstr "カンマ区切りの数字だけを入力してください。" -#: core/validators.py:95 +#: core/validators.py:98 msgid "Enter valid e-mail addresses separated by commas." msgstr "カンマ区切りの有効なメールアドレスを入力してください。" -#: core/validators.py:99 +#: core/validators.py:102 msgid "Please enter a valid IP address." msgstr "有効な IP アドレスを入力してください。" -#: core/validators.py:103 +#: core/validators.py:106 msgid "Empty values are not allowed here." msgstr "入力は必須です。" -#: core/validators.py:107 +#: core/validators.py:110 msgid "Non-numeric characters aren't allowed here." msgstr "数値以外は使用できません。" -#: core/validators.py:111 +#: core/validators.py:114 msgid "This value can't be comprised solely of digits." msgstr "数値だけの値にはできません。" -#: core/validators.py:116 +#: core/validators.py:119 msgid "Enter a whole number." msgstr "整数を入力してください。" -#: core/validators.py:120 +#: core/validators.py:123 msgid "Only alphabetical characters are allowed here." msgstr "半角アルファベット以外使用できません。" -#: core/validators.py:124 +#: core/validators.py:138 +msgid "Year must be 1900 or later." +msgstr "1900年以降を指定してください。" + +#: core/validators.py:142 +#, fuzzy, python-format +msgid "Invalid date: %s." +msgstr "無効なURL: %s" + +#: core/validators.py:146 db/models/fields/__init__.py:424 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "YYYY-MM-DD形式で日付を入力してください。" -#: core/validators.py:128 +#: core/validators.py:151 msgid "Enter a valid time in HH:MM format." msgstr "HH:MM形式で時刻を入力してください。" -#: core/validators.py:132 db/models/fields/__init__.py:468 +#: core/validators.py:155 db/models/fields/__init__.py:486 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "YYYY-MM-DD HH:MM形式で日時を入力してください。" -#: core/validators.py:136 +#: core/validators.py:160 msgid "Enter a valid e-mail address." msgstr "有効なメールアドレスを入力してください。" -#: core/validators.py:148 +#: core/validators.py:172 core/validators.py:401 forms/__init__.py:662 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "ファイルが取得できませんでした。formのencoding typeを確認してください。" + +#: core/validators.py:176 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -1499,26 +1728,26 @@ msgstr "" "画像をアップロードしてください。アップロードした画像は画像でないか、または壊" "れています。" -#: core/validators.py:155 +#: core/validators.py:183 #, python-format msgid "The URL %s does not point to a valid image." msgstr "URL ( %s ) は画像ではありません。" -#: core/validators.py:159 +#: core/validators.py:187 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "電話番号は XXX-XXX-XXXX 形式で入力してください。\"%s\" は無効です。" -#: core/validators.py:167 +#: core/validators.py:195 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "URL ( %s ) は QuickTime ビデオではありません。" -#: core/validators.py:171 +#: core/validators.py:199 msgid "A valid URL is required." msgstr "正しい URL を入力してください。" -#: core/validators.py:185 +#: core/validators.py:213 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -1527,71 +1756,71 @@ msgstr "" "有効な HTML を入力してください。エラー:\n" "%s" -#: core/validators.py:192 +#: core/validators.py:220 #, python-format msgid "Badly formed XML: %s" msgstr "不正な XML です: %s" -#: core/validators.py:202 +#: core/validators.py:230 #, python-format msgid "Invalid URL: %s" msgstr "無効なURL: %s" -#: core/validators.py:206 core/validators.py:208 +#: core/validators.py:234 core/validators.py:236 #, python-format msgid "The URL %s is a broken link." msgstr "URL ( %s ) はリンクが壊れています。" -#: core/validators.py:214 +#: core/validators.py:242 msgid "Enter a valid U.S. state abbreviation." msgstr "正しい米州略称を入力してください。" -#: core/validators.py:229 +#: core/validators.py:256 #, python-format msgid "Watch your mouth! The word %s is not allowed here." msgid_plural "Watch your mouth! The words %s are not allowed here." msgstr[0] "言葉使いに気を付けて! %s という言葉は使えません。" msgstr[1] "言葉使いに気を付けて! %s という言葉は使えません。" -#: core/validators.py:236 +#: core/validators.py:263 #, python-format msgid "This field must match the '%s' field." msgstr "このフィールドは '%s' フィールドと一致せねばなりません。" -#: core/validators.py:255 +#: core/validators.py:282 msgid "Please enter something for at least one field." msgstr "少なくとも一つのフィールドに何か入力してください。" -#: core/validators.py:264 core/validators.py:275 +#: core/validators.py:291 core/validators.py:302 msgid "Please enter both fields or leave them both empty." msgstr "両方のフィールドに入力するか、両方とも未入力にしてください。" -#: core/validators.py:282 +#: core/validators.py:309 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "" "%(field)s を %(value)s にするのなら、このフィールドに必ず入力してください。" -#: core/validators.py:294 +#: core/validators.py:321 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "" "%(field)s を %(value)s にしないのなら、このフィールドに必ず入力してください。" -#: core/validators.py:313 +#: core/validators.py:340 msgid "Duplicate values are not allowed." msgstr "重複する値は認められません。" -#: core/validators.py:336 +#: core/validators.py:363 #, python-format msgid "This value must be a power of %s." msgstr "この値は %s の累乗でなければなりません。" -#: core/validators.py:347 +#: core/validators.py:374 msgid "Please enter a valid decimal number." msgstr "有効な 10 進数を入力してください。" -#: core/validators.py:349 +#: core/validators.py:378 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "" @@ -1599,7 +1828,16 @@ msgid_plural "" msgstr[0] "最大桁数 %s 桁以下の有効な 10 進数を入力してください。" msgstr[1] "最大桁数 %s 桁以下の有効な 10 進数を入力してください。" -#: core/validators.py:352 +#: core/validators.py:381 +#, fuzzy, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "最大桁数 %s 桁以下の有効な 10 進数を入力してください。" +msgstr[1] "最大桁数 %s 桁以下の有効な 10 進数を入力してください。" + +#: core/validators.py:384 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." msgid_plural "" @@ -1607,37 +1845,37 @@ msgid_plural "" msgstr[0] "小数点以下が %s 桁までの有効な 10 進数を入力してください。" msgstr[1] "小数点以下が %s 桁までの有効な 10 進数を入力してください。" -#: core/validators.py:362 +#: core/validators.py:394 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." msgstr "アップロードするファイルの大きさは %s バイト以上にしてください。" -#: core/validators.py:363 +#: core/validators.py:395 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." msgstr "アップロードするファイルの大きさは %s 最大バイトまでです。" -#: core/validators.py:376 +#: core/validators.py:412 msgid "The format for this field is wrong." msgstr "フィールドの形式が正しくありません。" -#: core/validators.py:391 +#: core/validators.py:427 msgid "This field is invalid." msgstr "このフィールドは無効です。" -#: core/validators.py:426 +#: core/validators.py:463 #, python-format msgid "Could not retrieve anything from %s." msgstr "%s から何も検索できませんでした。" -#: core/validators.py:429 +#: core/validators.py:466 #, python-format msgid "" "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." msgstr "" "URL %(url)s は無効なコンテンツタイプヘッダ '%(contenttype)s' を返しました。" -#: core/validators.py:462 +#: core/validators.py:499 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " @@ -1646,7 +1884,7 @@ msgstr "" "%(line)s 行目から始まる %(tag)s タグを閉じてください (\"%(start)s\" で始まる" "行です)。" -#: core/validators.py:466 +#: core/validators.py:503 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " @@ -1655,7 +1893,7 @@ msgstr "" "%(line)s 行目から始まるテキストはこのコンテキストでは使えません。 (\"%(start)" "s\" で始まる行です)。" -#: core/validators.py:471 +#: core/validators.py:508 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" @@ -1664,7 +1902,7 @@ msgstr "" "%(line)s 行目の \"%(attr)s\" は無効なアトリビュートです (\"%(start)s\" で始ま" "る行です)。" -#: core/validators.py:476 +#: core/validators.py:513 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" @@ -1673,7 +1911,7 @@ msgstr "" "%(line)s 行目の \"<%(tag)s>\" は無効なタグです( \"%(start)s\" で始まる行で" "す)。" -#: core/validators.py:480 +#: core/validators.py:517 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " @@ -1682,7 +1920,7 @@ msgstr "" "%(line)s 行目のタグは必須アトリビュートが未入力です( \"%(start)s\" で始まる行" "です)。" -#: core/validators.py:485 +#: core/validators.py:522 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " @@ -1691,61 +1929,59 @@ msgstr "" "%(line)s 行目の \"%(attr)s\" アトリビュートの値が正しくありません (\"%(start)" "s\" で始まる行です) 。" -#: db/models/manipulators.py:302 +#: db/models/manipulators.py:305 #, python-format msgid "%(object)s with this %(type)s already exists for the given %(field)s." msgstr "" "%(field)s に入力されたものは、この %(type)s の %(object)s に既に存在します。" -#: db/models/fields/__init__.py:40 +#: db/models/fields/__init__.py:41 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." msgstr "%(fieldname)s に %(optname)s は既に存在します。" -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 +#: db/models/fields/__init__.py:115 db/models/fields/__init__.py:266 +#: db/models/fields/__init__.py:560 db/models/fields/__init__.py:571 +#: forms/__init__.py:347 msgid "This field is required." msgstr "このフィールドは必須です。" -#: db/models/fields/__init__.py:337 +#: db/models/fields/__init__.py:349 #, fuzzy msgid "This value must be an integer." msgstr "値は整数でなければなりません。" -#: db/models/fields/__init__.py:369 +#: db/models/fields/__init__.py:381 #, fuzzy msgid "This value must be either True or False." msgstr "値は真: True または偽: False でなければなりません。" -#: db/models/fields/__init__.py:385 +#: db/models/fields/__init__.py:397 #, fuzzy msgid "This field cannot be null." msgstr "このフィールドには NULL を指定できません。" -#: db/models/fields/__init__.py:562 +#: db/models/fields/__init__.py:580 msgid "Enter a valid filename." msgstr "正しいファイル名を入力してください。" -#: db/models/fields/related.py:43 +#: db/models/fields/related.py:51 #, python-format msgid "Please enter a valid %s." msgstr "正しい %s を入力してください。" -#: db/models/fields/related.py:579 +#: db/models/fields/related.py:618 #, fuzzy msgid "Separate multiple IDs with commas." msgstr "複数の ID はカンマで区切ってください。" -#: db/models/fields/related.py:581 -#, fuzzy +#: db/models/fields/related.py:620 msgid "" "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." msgstr "" -"複数選択するときには \"Control\"キーを押したまま選択してください。Mac では " -"\"Command\" キーを使ってください。" +"複数選択するときには Control キーを押したまま選択してください。Mac は Command キーを使ってください" -#: db/models/fields/related.py:625 +#: db/models/fields/related.py:664 #, python-format msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." msgid_plural "" @@ -1753,39 +1989,39 @@ msgid_plural "" msgstr[0] "正しい %(self)s IDを入力してください。 %(value)r は無効です。" msgstr[1] "正しい %(self)s IDを入力してください。 %(value)r は無効です。" -#: forms/__init__.py:380 +#: forms/__init__.py:382 #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." msgstr[0] "%s 字以下で入力してください。" msgstr[1] "%s 字以下で入力してください。" -#: forms/__init__.py:385 +#: forms/__init__.py:387 msgid "Line breaks are not allowed here." msgstr "改行はできません。" -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 +#: forms/__init__.py:488 forms/__init__.py:561 forms/__init__.py:600 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "正しく選択してください。; '%(data)s' は %(choices)s にありません。" -#: forms/__init__.py:645 +#: forms/__init__.py:664 msgid "The submitted file is empty." msgstr "入力されたファイルは空です。" -#: forms/__init__.py:699 +#: forms/__init__.py:720 msgid "Enter a whole number between -32,768 and 32,767." msgstr "-32,768 から 32,767 までの整数を入力してください。" -#: forms/__init__.py:708 +#: forms/__init__.py:730 msgid "Enter a positive number." msgstr "正の数を入力してください。" -#: forms/__init__.py:717 +#: forms/__init__.py:740 msgid "Enter a whole number between 0 and 32,767." msgstr "0 から 32,767 までの整数を入力してください。" -#: template/defaultfilters.py:383 +#: template/defaultfilters.py:401 msgid "yes,no,maybe" msgstr "はい,いいえ,たぶん" @@ -1979,18 +2215,43 @@ msgid_plural "minutes" msgstr[0] "分" msgstr[1] "分" -#: utils/translation.py:363 +#: utils/translation/trans_real.py:362 msgid "DATE_FORMAT" msgstr "Y/m/d" -#: utils/translation.py:364 +#: utils/translation/trans_real.py:363 msgid "DATETIME_FORMAT" msgstr "Y/m/d H:i" -#: utils/translation.py:365 +#: utils/translation/trans_real.py:364 msgid "TIME_FORMAT" msgstr "H:i" +#: utils/translation/trans_real.py:380 +#, fuzzy +msgid "YEAR_MONTH_FORMAT" +msgstr "Y/m/d" + +#: utils/translation/trans_real.py:381 +#, fuzzy +msgid "MONTH_DAY_FORMAT" +msgstr "Y/m/d" + +#: views/generic/create_update.py:43 +#, fuzzy, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(name)s \"%(obj)s\" を変更しました。" + +#: views/generic/create_update.py:117 +#, fuzzy, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(name)s \"%(obj)s\" を削除しました。" + +#: views/generic/create_update.py:184 +#, fuzzy, python-format +msgid "The %(verbose_name)s was deleted." +msgstr " %(site_name)s チーム" + #~ msgid "String (up to 50)" #~ msgstr "文字列 (50 字まで)" diff --git a/django/conf/locale/ja/LC_MESSAGES/djangojs.mo b/django/conf/locale/ja/LC_MESSAGES/djangojs.mo Binary files differindex dee3150d1e..bddecacb10 100644 --- a/django/conf/locale/ja/LC_MESSAGES/djangojs.mo +++ b/django/conf/locale/ja/LC_MESSAGES/djangojs.mo diff --git a/django/conf/locale/ja/LC_MESSAGES/djangojs.po b/django/conf/locale/ja/LC_MESSAGES/djangojs.po index 3d91a17f7d..0ec1cadcf5 100644 --- a/django/conf/locale/ja/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/ja/LC_MESSAGES/djangojs.po @@ -2,13 +2,13 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Django 1.0\n"
-"Report-Msgid-Bugs-To: Django-users Japan <django-ja@googlegroups.com>\n"
-"POT-Creation-Date: 2006-05-02 23:06+0900\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-10-06 00:30+0900\n"
"PO-Revision-Date: 2006-05-08 13:39+0900\n"
"Last-Translator: makoto tsuyuki <mtsuyuki@gmail.com>\n"
"Language-Team: Japanese <django-ja@googlegroups.com>\n"
@@ -61,50 +61,58 @@ msgstr "選択してクリック" msgid "Clear all"
msgstr "全てクリア"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80
+#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34
+#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72
+msgid "Show"
+msgstr "表示"
+
+#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63
+msgid "Hide"
+msgstr "非表示"
+
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
msgid "Now"
msgstr "現在"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51
msgid "Clock"
msgstr "時計"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78
msgid "Choose a time"
msgstr "時間を選択"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
msgid "Midnight"
msgstr "夜中"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
msgid "6 a.m."
msgstr "午前 6 時"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
msgid "Noon"
msgstr "正午"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
msgid "Cancel"
msgstr "キャンセル"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177
msgid "Today"
msgstr "今日"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132
msgid "Calendar"
msgstr "カレンダー"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175
msgid "Yesterday"
msgstr "昨日"
-#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164
+#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179
msgid "Tomorrow"
msgstr "明日"
-
diff --git a/django/conf/locale/tr/LC_MESSAGES/django.mo b/django/conf/locale/tr/LC_MESSAGES/django.mo Binary files differindex ba3dd15be8..2415d26ee9 100644 --- a/django/conf/locale/tr/LC_MESSAGES/django.mo +++ b/django/conf/locale/tr/LC_MESSAGES/django.mo diff --git a/django/conf/locale/tr/LC_MESSAGES/django.po b/django/conf/locale/tr/LC_MESSAGES/django.po index 390c8e7d0b..daa299ca66 100644 --- a/django/conf/locale/tr/LC_MESSAGES/django.po +++ b/django/conf/locale/tr/LC_MESSAGES/django.po @@ -1,24 +1,979 @@ -# Django Turkish translation. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Baurzhan Ismagulov <ibr@radix50.net>, 2006. +# translation of django.po to Turkish +# Django 0.95 +# Copyright (C) 2006 Django +# This file is distributed under the same license as the Django package. # -#, fuzzy +# Bahadır Kandemir <bahadir@pardus.org.tr>, 2006. msgid "" msgstr "" -"Project-Id-Version: Django 1.0\n" +"Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-05-16 10:10+0200\n" -"PO-Revision-Date: 2006-09-12 23:43+0200\n" -"Last-Translator: Baurzhan Ismagulov <ibr@radix50.net>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"POT-Creation-Date: 2006-10-01 21:09+0300\n" +"PO-Revision-Date: 2006-10-01 21:19+0300\n" +"Last-Translator: Bahadır Kandemir <bahadir@pardus.org.tr>\n" +"Language-Team: Turkish <bahadir@pardus.org.tr>\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" +"X-Generator: KBabel 1.11.4\n" + +#: db/models/manipulators.py:305 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(type)s ve %(field)s değerine sahip %(object)s kaydı zaten var." + +#: db/models/manipulators.py:332 +#, python-format +msgid "" +"Please enter a different %s. The one you entered is already being used for %" +"s." +msgstr "Lütfen farklı bir %s girin. Girdiğiniz, %s tarihinde bir kez kullanılmış." + +#: db/models/fields/__init__.py:41 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(fieldname)s için %(optname)s değeri zaten seçilmiş." + +#: db/models/fields/__init__.py:115 db/models/fields/__init__.py:266 +#: db/models/fields/__init__.py:560 db/models/fields/__init__.py:571 +#: forms/__init__.py:347 +msgid "This field is required." +msgstr "Bu alan gerekli." + +#: db/models/fields/__init__.py:349 +msgid "This value must be an integer." +msgstr "Bu değer tamsayı olmalı." + +#: db/models/fields/__init__.py:381 +msgid "This value must be either True or False." +msgstr "Bu değer True ya da False olabilir." + +#: db/models/fields/__init__.py:397 +msgid "This field cannot be null." +msgstr "Bu alan boş bırakılamaz." + +#: db/models/fields/__init__.py:424 core/validators.py:146 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "YYYY-AA-GG formatında tarih girin." + +#: db/models/fields/__init__.py:486 core/validators.py:155 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "YYYY-AA-GG SS:DD formatında tarih girin." + +#: db/models/fields/__init__.py:580 +msgid "Enter a valid filename." +msgstr "Geçerli bir dosya adı girin." + +#: db/models/fields/related.py:51 +#, python-format +msgid "Please enter a valid %s." +msgstr "Lütfen geçerli bir %s girin." + +#: db/models/fields/related.py:618 +msgid "Separate multiple IDs with commas." +msgstr "Birden fazla numarayı virgül ile ayırın." + +#: db/models/fields/related.py:620 +msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"\"Ctrl\" ve Mac'de \"Command\" tuşunu basılı tutarak birden fazla seçimde " +"bulunabilirsiniz." + +#: db/models/fields/related.py:664 +#, python-format +msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." +msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid." +msgstr[0] "Lütfen geçerli bir %(self)s numarası girin. %(value)r değeri geçersiz." +msgstr[1] "Lütfen geçerli %(self)s numaraları girin. %(value)r değerleri geçersiz." + +#: conf/global_settings.py:39 +msgid "Arabic" +msgstr "Arapça" + +#: conf/global_settings.py:40 +msgid "Bengali" +msgstr "Bengali Dili" + +#: conf/global_settings.py:41 +msgid "Czech" +msgstr "Çekçe" + +#: conf/global_settings.py:42 +msgid "Welsh" +msgstr "Galce" + +#: conf/global_settings.py:43 +msgid "Danish" +msgstr "Danca" + +#: conf/global_settings.py:44 +msgid "German" +msgstr "Almanca" + +#: conf/global_settings.py:45 +msgid "Greek" +msgstr "Yunanca" + +#: conf/global_settings.py:46 +msgid "English" +msgstr "İngilizce" + +#: conf/global_settings.py:47 +msgid "Spanish" +msgstr "İspanyolca" + +#: conf/global_settings.py:48 +msgid "Argentinean Spanish" +msgstr "Arjantin İspanyolcası" + +#: conf/global_settings.py:49 +msgid "Finnish" +msgstr "Fince" + +#: conf/global_settings.py:50 +msgid "French" +msgstr "Fransızca" + +#: conf/global_settings.py:51 +msgid "Galician" +msgstr "Galler Dili" + +#: conf/global_settings.py:52 +msgid "Hungarian" +msgstr "Macarca" + +#: conf/global_settings.py:53 +msgid "Hebrew" +msgstr "İbranice" + +#: conf/global_settings.py:54 +msgid "Icelandic" +msgstr "İzlanda dili" + +#: conf/global_settings.py:55 +msgid "Italian" +msgstr "İtalyanca" + +#: conf/global_settings.py:56 +msgid "Japanese" +msgstr "Japonca" + +#: conf/global_settings.py:57 +msgid "Dutch" +msgstr "Flamanca" + +#: conf/global_settings.py:58 +msgid "Norwegian" +msgstr "Norveç Dili" + +#: conf/global_settings.py:59 +msgid "Brazilian" +msgstr "Brezilya Dili" + +#: conf/global_settings.py:60 +msgid "Romanian" +msgstr "Romence" + +#: conf/global_settings.py:61 +msgid "Russian" +msgstr "Rusça" + +#: conf/global_settings.py:62 +msgid "Slovak" +msgstr "Slovakça" + +#: conf/global_settings.py:63 +msgid "Slovenian" +msgstr "Slovence" + +#: conf/global_settings.py:64 +msgid "Serbian" +msgstr "Sırpça" + +#: conf/global_settings.py:65 +msgid "Swedish" +msgstr "İsveççe" + +#: conf/global_settings.py:66 +msgid "Tamil" +msgstr "Tamilce" + +#: conf/global_settings.py:67 +msgid "Turkish" +msgstr "Türkçe" + +#: conf/global_settings.py:68 +msgid "Ukrainian" +msgstr "Ukraynaca" + +#: conf/global_settings.py:69 +msgid "Simplified Chinese" +msgstr "Basiteştirilmiş Çince" + +#: conf/global_settings.py:70 +msgid "Traditional Chinese" +msgstr "Gelenelsek Çince" + +#: forms/__init__.py:382 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "Metnin %s karakterden az olmasına dikkat edin." +msgstr[1] "Metnin %s karakterden az olmasına dikkat edin." + +#: forms/__init__.py:387 +msgid "Line breaks are not allowed here." +msgstr "Burada birden fazla satır olamaz." + +#: forms/__init__.py:488 forms/__init__.py:561 forms/__init__.py:600 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Geçerli bir seçimde bulunun; %(choices)s değerleri içinde '%(data)s' yok." + +#: forms/__init__.py:662 core/validators.py:172 core/validators.py:401 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Dosya gönderilmedi. Formdaki kodlama türünü kontrol edin." + +#: forms/__init__.py:664 +msgid "The submitted file is empty." +msgstr "Gönderilen dosya boş." + +#: forms/__init__.py:720 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "-32,768 ve 32,767 arası bir sayı girin." + +#: forms/__init__.py:730 +msgid "Enter a positive number." +msgstr "Pozitif tamsayı girin." + +#: forms/__init__.py:740 +msgid "Enter a whole number between 0 and 32,767." +msgstr "0 ve 32,767 arası bir sayı girin." + +#: core/validators.py:63 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Bu değer sadece karakter, rakam ve altçizgiden oluşabilir." + +#: core/validators.py:67 +msgid "" +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "Bu değer sadece harf, rakam, altçizgi, bölü ve ters bölüden oluşabilir." + +#: core/validators.py:71 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "Bu değer sadece harf, rakam, altçizgi veya çizgiden oluşabilir." + +#: core/validators.py:75 +msgid "Uppercase letters are not allowed here." +msgstr "Burada büyük harf kullanılamaz." + +#: core/validators.py:79 +msgid "Lowercase letters are not allowed here." +msgstr "Burada küçük harf kullanılamaz." + +#: core/validators.py:86 +msgid "Enter only digits separated by commas." +msgstr "Sadece virgülle ayrılmış sayılar girin." + +#: core/validators.py:98 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Virgülle ayrılmış geçerli e-posta adresleri girin." + +#: core/validators.py:102 +msgid "Please enter a valid IP address." +msgstr "Lütfen geçerli bir IP adresi girin." + +#: core/validators.py:106 +msgid "Empty values are not allowed here." +msgstr "Burada boş değer kullanılamaz." + +#: core/validators.py:110 +msgid "Non-numeric characters aren't allowed here." +msgstr "Burada numerik olmayan karakterler kullanılamaz." + +#: core/validators.py:114 +msgid "This value can't be comprised solely of digits." +msgstr "Bu alanda sadece rakam kullanılamaz." + +#: core/validators.py:119 +msgid "Enter a whole number." +msgstr "Sayı girin." + +#: core/validators.py:123 +msgid "Only alphabetical characters are allowed here." +msgstr "Burada sadece alfabetik karakterler kullanılabilir." + +#: core/validators.py:138 +msgid "Year must be 1900 or later." +msgstr "Yıl 1900 ya da sonrası olabilir." + +#: core/validators.py:142 +#, python-format +msgid "Invalid date: %s." +msgstr "Geçersiz tarih: %s" + +#: core/validators.py:151 +msgid "Enter a valid time in HH:MM format." +msgstr "SS:DD formatında geçerli bir saat girin." + +#: core/validators.py:160 +msgid "Enter a valid e-mail address." +msgstr "Geçerli bir e-posta adresi girin." + +#: core/validators.py:176 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Geçerli bir resim girin. Gönderdiğiniz dosya resim değil, ya da bozuk bir " +"dosya." + +#: core/validators.py:183 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "%s adresi geçerli bir resme işaret etmiyor." + +#: core/validators.py:187 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "Telefon numarası XXX-XXX-XXXX formatında olmalı. \"%s\" geçersiz." + +#: core/validators.py:195 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "%s adresi geçerli bir QuickTime dosyasına işaret etmiyor." + +#: core/validators.py:199 +msgid "A valid URL is required." +msgstr "Geçerli bir URL gerekli." + +#: core/validators.py:213 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "" +"Metnin geçerli bir HTML kodu olması gerekir. Hatalar:\n" +"%s" + +#: core/validators.py:220 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Geçersiz XML kodu: %s" + +#: core/validators.py:230 +#, python-format +msgid "Invalid URL: %s" +msgstr "Geçersiz adres: %s" + +#: core/validators.py:234 core/validators.py:236 +#, python-format +msgid "The URL %s is a broken link." +msgstr "%s kırık bir link." + +#: core/validators.py:242 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Geçerli bir şehir kodu girin." + +#: core/validators.py:256 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Söylediğinize dikkat edin! %s kelimesi burada kullanılamaz." +msgstr[1] "Söylediğinize dikkat edin! %s kelimeleri burada kullanılamaz." + +#: core/validators.py:263 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Bu alan '%s' ile alanı ile uyuşmalı." + +#: core/validators.py:282 +msgid "Please enter something for at least one field." +msgstr "Lütfen en az bir alana giriş yapın." + +#: core/validators.py:291 core/validators.py:302 +msgid "Please enter both fields or leave them both empty." +msgstr "Lütfen tüm alanları doldurun ya da hepsini boş bırakın." + +#: core/validators.py:309 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Bu alan %(field)s alanı %(value)s değerine sahipse doldurulmalı." + +#: core/validators.py:321 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Bu alan %(field)s alanı %(value)s değerine sahip değilse doldurulmalı." + +#: core/validators.py:340 +msgid "Duplicate values are not allowed." +msgstr "Tekrarlanan değerler kabul edilmez." + +#: core/validators.py:363 +#, python-format +msgid "This value must be a power of %s." +msgstr "Bu değer %s ya da kuvvetleri olabilir." + +#: core/validators.py:374 +msgid "Please enter a valid decimal number." +msgstr "Lütfen geçerli bir ondalık sayı girin." + +#: core/validators.py:378 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "Please enter a valid decimal number with at most %s total digits." +msgstr[0] "Lütfen en fazla %s basamaklı bir ondalık sayı girin." +msgstr[1] "Lütfen en fazla %s basamaklı bir ondalık sayı girin." + +#: core/validators.py:381 +#, python-format +msgid "Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "Lütfen tamsayı kısmı en fazla %s basamaklı bir ondalık sayı girin." +msgstr[1] "Lütfen tamsayı kısmı en fazla %s basamaklı bir ondalık sayı girin." + +#: core/validators.py:384 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "Lütfen ondalıklı kısmı en fazla %s basamaklı bir ondalık sayı girin." +msgstr[1] "Lütfen ondalıklı kısmı en fazla %s basamaklı bir ondalık sayı girin." + +#: core/validators.py:394 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "Gönderdiğiniz dosyanın en az %s byte uzunlukta olduğundan emin olun." + +#: core/validators.py:395 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "Gönderdiğiniz dosyanın en fazl %s byte uzunlukta olduğundan emin olun." + +#: core/validators.py:412 +msgid "The format for this field is wrong." +msgstr "Bu alandaki veri formatı hatalı." + +#: core/validators.py:427 +msgid "This field is invalid." +msgstr "Alan geçersiz." + +#: core/validators.py:463 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "%s içinden hiçbirşey aktarılamıyor." + +#: core/validators.py:466 +#, python-format +msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "%(url)s adresi geçersiz içerik türü (%(contenttype)s) gönderdi." + +#: core/validators.py:499 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" +"Lütfen %(line)s. satırdaki kapatılmayan %(tag)s etiketini kapatın. (Satır, " +"\"%(start)s\" ile başlıyor.)" + +#: core/validators.py:503 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"%(line)s. satırda başlayan bazı kelimeler içerik olarak kabul edilmiyor. " +"(Satır, \"%(start)s\" ile başlıyor.)" + +#: core/validators.py:508 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"%(line)s. satırdaki \"%(attr)s\" özelliği geçersiz. (Satır, \"%(start)s\" " +"ile başlıyor.)" + +#: core/validators.py:513 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" +"%(line)s. satırdaki \"<%(tag)s>\" etiketi geçersiz. (Satır, \"%(start)s\" " +"ile başlıyor.)" + +#: core/validators.py:517 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"%(line)s. satırdaki bir etiket eksik ya da eklenmesi gereken özellikleri " +"var. (Satır, \"%(start)s\" ile başlıyor.)" + +#: core/validators.py:522 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" +"%(line)s. satırdaki \"%(attr)s\" özelliği geçersiz bir değere sahip. (Satır, " +"\"%(start)s\" ile başlıyor.)" + +#: views/generic/create_update.py:43 +#, python-format +msgid "The %(verbose_name)s was created successfully." +msgstr "%(verbose_name)s başarıyla yaratıldı." + +#: views/generic/create_update.py:117 +#, python-format +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s başarıyla güncellendi." + +#: views/generic/create_update.py:184 +#, python-format +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s silindi." + +#: utils/dates.py:6 +msgid "Monday" +msgstr "Pazartesi" + +#: utils/dates.py:6 +msgid "Tuesday" +msgstr "Salı" + +#: utils/dates.py:6 +msgid "Wednesday" +msgstr "Çarşamba" + +#: utils/dates.py:6 +msgid "Thursday" +msgstr "Perşembe" + +#: utils/dates.py:6 +msgid "Friday" +msgstr "Cuma" + +#: utils/dates.py:7 +msgid "Saturday" +msgstr "Cumartesi" + +#: utils/dates.py:7 +msgid "Sunday" +msgstr "Pazar" + +#: utils/dates.py:14 +msgid "January" +msgstr "Ocak" + +#: utils/dates.py:14 +msgid "February" +msgstr "Şubat" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "March" +msgstr "Mart" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "April" +msgstr "Nisan" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "May" +msgstr "Mayıs" + +#: utils/dates.py:14 utils/dates.py:27 +msgid "June" +msgstr "Haziran" + +#: utils/dates.py:15 utils/dates.py:27 +msgid "July" +msgstr "Temmuz" + +#: utils/dates.py:15 +msgid "August" +msgstr "Ağustos" + +#: utils/dates.py:15 +msgid "September" +msgstr "Eylül" + +#: utils/dates.py:15 +msgid "October" +msgstr "Ekim" + +#: utils/dates.py:15 +msgid "November" +msgstr "Kasım" + +#: utils/dates.py:16 +msgid "December" +msgstr "Aralık" + +#: utils/dates.py:19 +msgid "jan" +msgstr "oca" + +#: utils/dates.py:19 +msgid "feb" +msgstr "şub" + +#: utils/dates.py:19 +msgid "mar" +msgstr "mar" + +#: utils/dates.py:19 +msgid "apr" +msgstr "nis" + +#: utils/dates.py:19 +msgid "may" +msgstr "may" + +#: utils/dates.py:19 +msgid "jun" +msgstr "haz" + +#: utils/dates.py:20 +msgid "jul" +msgstr "tem" + +#: utils/dates.py:20 +msgid "aug" +msgstr "ağu" + +#: utils/dates.py:20 +msgid "sep" +msgstr "eyl" + +#: utils/dates.py:20 +msgid "oct" +msgstr "eki" + +#: utils/dates.py:20 +msgid "nov" +msgstr "kas" + +#: utils/dates.py:20 +msgid "dec" +msgstr "ara" + +#: utils/dates.py:27 +msgid "Jan." +msgstr "Oca." + +#: utils/dates.py:27 +msgid "Feb." +msgstr "Şub." + +#: utils/dates.py:28 +msgid "Aug." +msgstr "Ağu." + +#: utils/dates.py:28 +msgid "Sept." +msgstr "Eyl." + +#: utils/dates.py:28 +msgid "Oct." +msgstr "Eki." + +#: utils/dates.py:28 +msgid "Nov." +msgstr "Kas." + +#: utils/dates.py:28 +msgid "Dec." +msgstr "Ara." + +#: utils/timesince.py:12 +msgid "year" +msgid_plural "years" +msgstr[0] "yıl" +msgstr[1] "yıl" + +#: utils/timesince.py:13 +msgid "month" +msgid_plural "months" +msgstr[0] "ay" +msgstr[1] "ay" + +#: utils/timesince.py:14 +msgid "week" +msgid_plural "weeks" +msgstr[0] "hafta" +msgstr[1] "hafta" + +#: utils/timesince.py:15 +msgid "day" +msgid_plural "days" +msgstr[0] "gün" +msgstr[1] "gün" + +#: utils/timesince.py:16 +msgid "hour" +msgid_plural "hours" +msgstr[0] "saat" +msgstr[1] "saat" + +#: utils/timesince.py:17 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "dakika" +msgstr[1] "dakika" + +#: utils/translation/trans_real.py:362 +msgid "DATE_FORMAT" +msgstr "DATE_FORMAT" + +#: utils/translation/trans_real.py:363 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: utils/translation/trans_real.py:364 +msgid "TIME_FORMAT" +msgstr "TIME_FORMAT" + +#: utils/translation/trans_real.py:380 +msgid "YEAR_MONTH_FORMAT" +msgstr "YEAR_MONTH_FORMAT" + +#: utils/translation/trans_real.py:381 +msgid "MONTH_DAY_FORMAT" +msgstr "MONTH_DAY_FORMAT" + +#: contrib/contenttypes/models.py:20 +msgid "python model class name" +msgstr "python model sınıfı" + +#: contrib/contenttypes/models.py:23 +msgid "content type" +msgstr "içerik türü" + +#: contrib/contenttypes/models.py:24 +msgid "content types" +msgstr "içerik türleri" + +#: contrib/auth/views.py:39 +msgid "Logged out" +msgstr "Çıkış yapıldı" + +#: contrib/auth/models.py:38 contrib/auth/models.py:57 +msgid "name" +msgstr "isim" + +#: contrib/auth/models.py:40 +msgid "codename" +msgstr "takma ad" + +#: contrib/auth/models.py:42 +msgid "permission" +msgstr "izin" + +#: contrib/auth/models.py:43 contrib/auth/models.py:58 +msgid "permissions" +msgstr "izinler" + +#: contrib/auth/models.py:60 +msgid "group" +msgstr "grup" + +#: contrib/auth/models.py:61 contrib/auth/models.py:100 +msgid "groups" +msgstr "gruplar" + +#: contrib/auth/models.py:90 +msgid "username" +msgstr "kullanıcı adı" + +#: contrib/auth/models.py:90 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Gerekli. 30 karakter ya da da az olmalı. Alfanumerik (harf, rakam ve alt " +"çizgi) karakterler kullanılabilir." + +#: contrib/auth/models.py:91 +msgid "first name" +msgstr "isim" + +#: contrib/auth/models.py:92 +msgid "last name" +msgstr "soyisim" + +#: contrib/auth/models.py:93 +msgid "e-mail address" +msgstr "e-posta adresi" + +#: contrib/auth/models.py:94 +msgid "password" +msgstr "parola" + +#: contrib/auth/models.py:94 +msgid "Use '[algo]$[salt]$[hexdigest]'" +msgstr "'[algo]$[salt]$[hexdigest]' formatında" + +#: contrib/auth/models.py:95 +msgid "staff status" +msgstr "yönetici modu" + +#: contrib/auth/models.py:95 +msgid "Designates whether the user can log into this admin site." +msgstr "Kullanıcının yönetici sayfasına girip giremeyeceğini belirler." + +#: contrib/auth/models.py:96 +msgid "active" +msgstr "aktif" + +#: contrib/auth/models.py:96 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Kullanıcının Django yönetim sayfasına girip giremeyeceğini belirler. " +"Kullanıcı hesabı silmek yerine işareti kaldırın." + +#: contrib/auth/models.py:97 +msgid "superuser status" +msgstr "süper kullanıcı modu" + +#: contrib/auth/models.py:97 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Kullanıcının tek tek hak atamasına gerek kalmadan tüm haklara sahip olup " +"olamayacağını belirler." + +#: contrib/auth/models.py:98 +msgid "last login" +msgstr "son ziyaret" + +#: contrib/auth/models.py:99 +msgid "date joined" +msgstr "kayıt tarihi" + +#: contrib/auth/models.py:101 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Özel olarak atanmış hakların yanı sıra, kullanıcının üyesi olduğu grupların " +"hakları alır." + +#: contrib/auth/models.py:102 +msgid "user permissions" +msgstr "kullanıcı izinleri" + +#: contrib/auth/models.py:105 +msgid "user" +msgstr "kullanıcı" + +#: contrib/auth/models.py:106 +msgid "users" +msgstr "kullanıcılar" + +#: contrib/auth/models.py:111 +msgid "Personal info" +msgstr "Kişisel bilgiler" + +#: contrib/auth/models.py:112 +msgid "Permissions" +msgstr "İzinler" + +#: contrib/auth/models.py:113 +msgid "Important dates" +msgstr "Önemli tarihler" + +#: contrib/auth/models.py:114 +msgid "Groups" +msgstr "Gruplar" + +#: contrib/auth/models.py:258 +msgid "message" +msgstr "mesaj" + +#: contrib/auth/forms.py:16 +msgid "The two password fields didn't match." +msgstr "İki parola alanı uyuşmuyor." + +#: contrib/auth/forms.py:24 +msgid "A user with that username already exists." +msgstr "Bu isimde bir kullanıcı zaten var." + +#: contrib/auth/forms.py:52 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Web tarayıcınızın çerezleri desteklemediği görülüyor. Çerezler giriş için " +"gerekli." + +#: contrib/auth/forms.py:59 contrib/admin/views/decorators.py:10 +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Lütfen geçerli bir kullanıcı adı ve parola girin. Tüm alanlar büyük/küçük " +"harf duyarlıdır." + +#: contrib/auth/forms.py:61 +msgid "This account is inactive." +msgstr "Bu hesap aktif değil." + +#: contrib/auth/forms.py:84 +msgid "" +"That e-mail address doesn't have an associated user acount. Are you sure " +"you've registered?" +msgstr "Bu e-posta hesabıyla ilişkili kullanıcı bulunmuyor. Kayıtlı olduğunuzdan emin misiniz?" + +#: contrib/auth/forms.py:116 +msgid "The two 'new password' fields didn't match." +msgstr "İki parola alanı uyuşmuyor." + +#: contrib/auth/forms.py:123 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Eski parolanız hatalı. Lütfen tekrar girin." + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "eski adres" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Buraya tam dosya yolu, alan adı kullanılmadan yazılmalı. Örnek: '/events/" +"search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "yeni adres" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Buraya tam dosya yolu (yukarıdaki gibi), ya da 'http://' ile başlayan tam " +"adres yazılmalı." + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "yönlendirme" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "yönlendirmeler" #: contrib/comments/models.py:67 contrib/comments/models.py:166 msgid "object ID" -msgstr "nesne kodu" +msgstr "nesne no" #: contrib/comments/models.py:68 msgid "headline" @@ -31,61 +986,63 @@ msgstr "yorum" #: contrib/comments/models.py:70 msgid "rating #1" -msgstr "rating #1" +msgstr "reyting 1" #: contrib/comments/models.py:71 msgid "rating #2" -msgstr "rating #2" +msgstr "reyting 2" #: contrib/comments/models.py:72 msgid "rating #3" -msgstr "rating #3" +msgstr "reyting 3" #: contrib/comments/models.py:73 msgid "rating #4" -msgstr "rating #4" +msgstr "reyting 4" #: contrib/comments/models.py:74 msgid "rating #5" -msgstr "rating #5" +msgstr "reyting 5" #: contrib/comments/models.py:75 msgid "rating #6" -msgstr "rating #6" +msgstr "reyting 6" #: contrib/comments/models.py:76 msgid "rating #7" -msgstr "rating #7" +msgstr "reyting 7" #: contrib/comments/models.py:77 msgid "rating #8" -msgstr "rating #8" +msgstr "reyting 8" #: contrib/comments/models.py:82 msgid "is valid rating" -msgstr "geçerli bir rating'dir" +msgstr "geçerli reyting" #: contrib/comments/models.py:83 contrib/comments/models.py:169 msgid "date/time submitted" -msgstr "girildiği tarih/saat" +msgstr "gönderim tarihi/saati" #: contrib/comments/models.py:84 contrib/comments/models.py:170 msgid "is public" -msgstr "geneldir" +msgstr "görünürlük" -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289 +#: contrib/comments/models.py:85 contrib/admin/views/doc.py:304 msgid "IP address" msgstr "IP adresi" #: contrib/comments/models.py:86 msgid "is removed" -msgstr "silinmiştir" +msgstr "silinmiş" #: contrib/comments/models.py:86 msgid "" "Check this box if the comment is inappropriate. A \"This comment has been " "removed\" message will be displayed instead." -msgstr "Yorum uygun değilse bu alanı işaretleyin. Yerine \"Bu yorum silinmiştir\" yazısı gözükür." +msgstr "" +"Yorum uygunsuz ise bu işareti kaldırın. \"Yorum silindi\" uyarısı " +"görüntülenecek." #: contrib/comments/models.py:91 msgid "comments" @@ -104,7 +1061,7 @@ msgid "" "\n" "http://%(domain)s%(url)s" msgstr "" -"%(user)s, %(date)s\n" +"%(date)s tarihinde %(user)s göndermiş:\n" "\n" "%(comment)s\n" "\n" @@ -112,15 +1069,15 @@ msgstr "" #: contrib/comments/models.py:168 msgid "person's name" -msgstr "kişinin adı" +msgstr "isim" #: contrib/comments/models.py:171 msgid "ip address" -msgstr "IP adresi" +msgstr "ip adresi" #: contrib/comments/models.py:173 msgid "approved by staff" -msgstr "personel tarafından onaylanmış" +msgstr "yönetici onayı" #: contrib/comments/models.py:176 msgid "free comment" @@ -128,7 +1085,7 @@ msgstr "serbest yorum" #: contrib/comments/models.py:177 msgid "free comments" -msgstr "serbest yorum" +msgstr "serbest yorumlar" #: contrib/comments/models.py:233 msgid "score" @@ -149,7 +1106,7 @@ msgstr "karma puanları" #: contrib/comments/models.py:242 #, python-format msgid "%(score)d rating by %(user)s" -msgstr "%(score)d rating by %(user)s" +msgstr "%(user)s tarafından %(score)d puan" #: contrib/comments/models.py:258 #, python-format @@ -158,7 +1115,7 @@ msgid "" "\n" "%(text)s" msgstr "" -"Bu yorum, %(user)s tarafından işaretlenmiştir:\n" +"Bu yorum %(user)s tarafından işaretlenmiş:\n" "\n" "%(text)s" @@ -177,7 +1134,7 @@ msgstr "kullanıcı işaretleri" #: contrib/comments/models.py:273 #, python-format msgid "Flag by %r" -msgstr "Flag by %r" +msgstr "%r tarafından işaret" #: contrib/comments/models.py:278 msgid "deletion date" @@ -185,35 +1142,34 @@ msgstr "silme tarihi" #: contrib/comments/models.py:280 msgid "moderator deletion" -msgstr "moderator deletion" +msgstr "yönetici tarafından silinme" #: contrib/comments/models.py:281 msgid "moderator deletions" -msgstr "moderator deletions" +msgstr "yönetici tarafından silinme" #: contrib/comments/models.py:285 #, python-format msgid "Moderator deletion by %r" -msgstr "Moderator deletion by %r" +msgstr "%s tarafından silme işlemi" #: contrib/comments/views/karma.py:19 msgid "Anonymous users cannot vote" -msgstr "Kayıtlı olmayan kullanıcılar oy veremez" +msgstr "Kayıtsız kullanıcılar oy veremez" #: contrib/comments/views/karma.py:23 msgid "Invalid comment ID" -msgstr "Geçersiz yorum kodu" +msgstr "Geçersiz yorum numarası" #: contrib/comments/views/karma.py:25 msgid "No voting for yourself" msgstr "Kendinize oy veremezsiniz" -#: contrib/comments/views/comments.py:28 -msgid "" -"This rating is required because you've entered at least one other rating." -msgstr "Bu rating zorunludur, çünkü en az bir başka rating girdiniz." +#: contrib/comments/views/comments.py:27 +msgid "This rating is required because you've entered at least one other rating." +msgstr "Reyting gerekli, çünkü en az bir reyting tanımladınız." -#: contrib/comments/views/comments.py:112 +#: contrib/comments/views/comments.py:111 #, python-format msgid "" "This comment was posted by a user who has posted fewer than %(count)s " @@ -226,119 +1182,207 @@ msgid_plural "" "\n" "%(text)s" msgstr[0] "" -"Bu yorum, %(count)s'den az yorum yazmış bir kullanıcı tarafından yazılmıştır:\n" +"Bu yorum, %(count)s yorumdan daha az gönderide bulunmuş bir kullanıcıya " +"ait:\n" "\n" "%(text)s" msgstr[1] "" -"Bu yorum, %(count)s'den az yorum yazmış bir kullanıcı tarafından yazılmıştır:\n" +"Bu yorum, %(count)s yorumdan daha az gönderide bulunmuş bir kullanıcıya " +"ait:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:117 +#: contrib/comments/views/comments.py:116 #, python-format msgid "" "This comment was posted by a sketchy user:\n" "\n" "%(text)s" msgstr "" -"Bu yorum, yüzeysel bir kullanıcı tarafından yazılmıştır:\n" +"Bu yorum kusurlu bir kullanıcı tarafından gönderildi:\n" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 +#: contrib/comments/views/comments.py:188 #: contrib/comments/views/comments.py:280 msgid "Only POSTs are allowed" -msgstr "Yalnızca POST kabul edilir" +msgstr "Sadece POST yapılabilir" -#: contrib/comments/views/comments.py:193 +#: contrib/comments/views/comments.py:192 #: contrib/comments/views/comments.py:284 msgid "One or more of the required fields wasn't submitted" -msgstr "En az bir zorunlu alan doldurulmamıştır" +msgstr "Bir ya da daha fazla gerekli alan doldurulmadı" -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:196 #: contrib/comments/views/comments.py:286 msgid "Somebody tampered with the comment form (security violation)" -msgstr "Yorum formu ile oynanmış (güvenlik problemi)" +msgstr "Birisi yorum gönderme formunu kötüye kullanmaya çalıştı (güvenlik ihlali)" -#: contrib/comments/views/comments.py:207 +#: contrib/comments/views/comments.py:206 #: contrib/comments/views/comments.py:292 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " "invalid" -msgstr "Yorum formunun 'target' parametresi geçersiz, nesne kodu geçersiz" +msgstr "Bu yorumun geçersiz bir 'hedef' parametresi var -- nesne narası geçersiz" #: contrib/comments/views/comments.py:257 #: contrib/comments/views/comments.py:321 msgid "The comment form didn't provide either 'preview' or 'post'" -msgstr "Yorum formunda ne 'preview', ne de 'post' var" +msgstr "Yorum görüntülememe mi yoksa gönderme amaçlı mı belirsiz" #: contrib/comments/templates/comments/form.html:6 #: contrib/comments/templates/comments/form.html:8 #: contrib/admin/templates/admin/login.html:17 msgid "Username:" -msgstr "Kullanıcı adı:" +msgstr "Kullanıcı:" #: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "Şifre:" - -#: contrib/comments/templates/comments/form.html:6 -msgid "Forgotten your password?" -msgstr "Şifremi unuttum" - -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 #: contrib/admin/templates/admin_doc/missing_docutils.html:4 #: contrib/admin/templates/admin_doc/view_index.html:5 #: contrib/admin/templates/admin_doc/model_detail.html:3 #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 msgid "Log out" -msgstr "Çıkış" +msgstr "Çık" + +#: contrib/comments/templates/comments/form.html:8 +#: contrib/admin/templates/admin/login.html:20 +msgid "Password:" +msgstr "Parola:" + +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Parolanızı mı unuttunuz?" #: contrib/comments/templates/comments/form.html:12 msgid "Ratings" -msgstr "Rating'ler" +msgstr "Reytingler" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Required" -msgstr "Zorunlu" +msgstr "Gerekli" #: contrib/comments/templates/comments/form.html:12 #: contrib/comments/templates/comments/form.html:23 msgid "Optional" -msgstr "İsteğe bağlı" +msgstr "Opsiyonel" #: contrib/comments/templates/comments/form.html:23 msgid "Post a photo" -msgstr "Resim ekle" +msgstr "Resim gönder" -#: contrib/comments/templates/comments/form.html:27 +#: contrib/comments/templates/comments/form.html:28 #: contrib/comments/templates/comments/freeform.html:5 msgid "Comment:" msgstr "Yorum:" -#: contrib/comments/templates/comments/form.html:32 -#: contrib/comments/templates/comments/freeform.html:9 +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 msgid "Preview comment" -msgstr "Yorum önizleme" +msgstr "Yorumu görüntüle" #: contrib/comments/templates/comments/freeform.html:4 msgid "Your name:" -msgstr "Adınız:" +msgstr "İsminiz:" + +#: contrib/flatpages/models.py:7 contrib/admin/views/doc.py:315 +msgid "URL" +msgstr "URL" + +#: contrib/flatpages/models.py:8 +msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." +msgstr "" +"Örnek: '/about/contact/'. Başında ve sonunda bölü işareti olduğundan emin " +"olun." + +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "başlık" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "içerik" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "yorumlara izin ver" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "şablon adı" + +#: contrib/flatpages/models.py:13 +msgid "" +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Örnek: 'flatpages/contact_page.html'. Eğer birşey yazılmazsa, sistem " +"otomatik olarak 'flatpages/default.html' kullanacak." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "kayıt gerekli" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "Bu seçili ise, sadece kayıtlı kullanıcılar sayfayı görüntüleyebilir." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "düz sayfa" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "düz sayfalar" + +#: contrib/sessions/models.py:51 +msgid "session key" +msgstr "oturum anahtarı" + +#: contrib/sessions/models.py:52 +msgid "session data" +msgstr "oturum bilgisi" + +#: contrib/sessions/models.py:53 +msgid "expire date" +msgstr "bitiş tarihi" + +#: contrib/sessions/models.py:57 +msgid "session" +msgstr "oturum" + +#: contrib/sessions/models.py:58 +msgid "sessions" +msgstr "oturumlar" + +#: contrib/sites/models.py:10 +msgid "domain name" +msgstr "alan adı" + +#: contrib/sites/models.py:11 +msgid "display name" +msgstr "görülen isim" + +#: contrib/sites/models.py:15 +msgid "site" +msgstr "site" + +#: contrib/sites/models.py:16 +msgid "sites" +msgstr "siteler" #: contrib/admin/filterspecs.py:40 #, python-format @@ -346,13 +1390,13 @@ msgid "" "<h3>By %s:</h3>\n" "<ul>\n" msgstr "" -"<h3>%s:</h3>\n" +"<h3>%s nesnesine göre:</h3>\n" "<ul>\n" #: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88 -#: contrib/admin/filterspecs.py:143 +#: contrib/admin/filterspecs.py:143 contrib/admin/filterspecs.py:169 msgid "All" -msgstr "Hepsi" +msgstr "Tümü" #: contrib/admin/filterspecs.py:109 msgid "Any date" @@ -364,7 +1408,7 @@ msgstr "Bugün" #: contrib/admin/filterspecs.py:113 msgid "Past 7 days" -msgstr "Son 7 gün" +msgstr "7 gün içinde" #: contrib/admin/filterspecs.py:115 msgid "This month" @@ -388,274 +1432,353 @@ msgstr "Bilinmiyor" #: contrib/admin/models.py:16 msgid "action time" -msgstr "hareket saati" +msgstr "işlem zamanı" #: contrib/admin/models.py:19 msgid "object id" -msgstr "nesne kodu" +msgstr "nesne no" #: contrib/admin/models.py:20 msgid "object repr" -msgstr "nesne repr gösterimi" +msgstr "nesne kodu" #: contrib/admin/models.py:21 msgid "action flag" -msgstr "hareket işareti" +msgstr "işlem adı" #: contrib/admin/models.py:22 msgid "change message" -msgstr "değişiklik mesajı" +msgstr "mesajı değiştir" #: contrib/admin/models.py:25 msgid "log entry" -msgstr "günlük kaydı" +msgstr "girişi kaydet" #: contrib/admin/models.py:26 msgid "log entries" -msgstr "günlük kayıtları" +msgstr "girişleri kaydet" -#: contrib/admin/templatetags/admin_list.py:228 +#: contrib/admin/templatetags/admin_list.py:230 msgid "All dates" msgstr "Tüm tarihler" -#: contrib/admin/views/decorators.py:9 contrib/auth/forms.py:36 -#: contrib/auth/forms.py:41 -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "Geçerli bir kullanıcı adı ve şifre giriniz. Her ikisinde de büyük ve küçük harfler farklıdır." - -#: contrib/admin/views/decorators.py:23 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "Giriş" - -#: contrib/admin/views/decorators.py:61 -msgid "" -"Please log in again, because your session has expired. Don't worry: Your " -"submission has been saved." -msgstr "Oturumunuzun süresi dolmuştur, yeniden giriniz. Merak etmeyin, verileriniz kaydedilmiştir." - -#: contrib/admin/views/decorators.py:68 -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "Tarayıcınızın cookie desteği kapalıdır. Cookie desteğini açın, bu sayfayı yeniden yükleyin ve tekrar deneyin." +#: contrib/admin/views/auth.py:17 contrib/admin/views/main.py:257 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "\"%(obj)s\" isimli %(name)s eklendi." -#: contrib/admin/views/decorators.py:82 -msgid "Usernames cannot contain the '@' character." -msgstr "Kullanıcı adında '@' karakterini kullanamazsınız." +#: contrib/admin/views/auth.py:22 contrib/admin/views/main.py:261 +#: contrib/admin/views/main.py:347 +msgid "You may edit it again below." +msgstr "Tekrar düzenleyebilirsiniz." -#: contrib/admin/views/decorators.py:84 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "E-posta adresiniz, kullanıcı adınız değildir. Yerine '%s' deneyin." +#: contrib/admin/views/auth.py:28 +msgid "Add user" +msgstr "Kullanıcı ekle" -#: contrib/admin/views/main.py:226 +#: contrib/admin/views/main.py:223 msgid "Site administration" msgstr "Site yönetimi" -#: contrib/admin/views/main.py:260 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "%(name)s \\\"%(obj)s\\\" başarı ile eklenmiştir." - -#: contrib/admin/views/main.py:264 contrib/admin/views/main.py:348 -msgid "You may edit it again below." -msgstr "Aşağıda değiştirebilirsiniz." - -#: contrib/admin/views/main.py:272 contrib/admin/views/main.py:357 +#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356 #, python-format msgid "You may add another %s below." -msgstr "Aşağıda bir %s daha ekleyebilirsiniz." +msgstr "Yeni bir %s ekleyebilirsiniz." -#: contrib/admin/views/main.py:290 +#: contrib/admin/views/main.py:289 #, python-format msgid "Add %s" msgstr "%s ekle" -#: contrib/admin/views/main.py:336 +#: contrib/admin/views/main.py:335 #, python-format msgid "Added %s." -msgstr "%s eklenmiştir." +msgstr "%s eklendi." -#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338 -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337 +#: contrib/admin/views/main.py:339 msgid "and" msgstr "ve" -#: contrib/admin/views/main.py:338 +#: contrib/admin/views/main.py:337 #, python-format msgid "Changed %s." -msgstr "%s değiştirilmiştir." +msgstr "%s değiştirildi." -#: contrib/admin/views/main.py:340 +#: contrib/admin/views/main.py:339 #, python-format msgid "Deleted %s." -msgstr "%s silinmiştir." +msgstr "%s silindi." -#: contrib/admin/views/main.py:343 +#: contrib/admin/views/main.py:342 msgid "No fields changed." -msgstr "Herhangi bir alan değiştirilmemiştir." +msgstr "Hiçbir alan değiştirilmedi." -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:345 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "%(name)s \"%(obj)s\" başarı ile değiştirilmiştir." +msgstr "\"%(obj)s\" isimli %(name)s değiştirildi." -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/main.py:353 #, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "%(name)s \\\"%(obj)s\\\" başarı ile eklenmiştir. Aşağida değiştirebilirsiniz." +msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "\"%(obj)s\" isimli %(name)s eklendi. Aşağıda tekrar düzenleyebilirsiniz." -#: contrib/admin/views/main.py:392 +#: contrib/admin/views/main.py:391 #, python-format msgid "Change %s" msgstr "%s değiştir" -#: contrib/admin/views/main.py:470 +#: contrib/admin/views/main.py:473 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "%(name)s'daki bir ya da birden fazla %(fieldname)s: %(obj)s" +msgstr "%(name)s içinde bir ya da daha fazla %(fieldname)s: %(obj)s" -#: contrib/admin/views/main.py:475 +#: contrib/admin/views/main.py:478 #, python-format msgid "One or more %(fieldname)s in %(name)s:" -msgstr "%(name)s'daki bir ya da birden fazla %(fieldname)s:" +msgstr "%(name)s içinde bir ya da daha fazla %(fieldname)s:" -#: contrib/admin/views/main.py:508 +#: contrib/admin/views/main.py:511 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" başarı ile silinmiştir." +msgstr "\"%(obj)s\" isimli %(name)s silindi." -#: contrib/admin/views/main.py:511 +#: contrib/admin/views/main.py:514 msgid "Are you sure?" msgstr "Emin misiniz?" -#: contrib/admin/views/main.py:533 +#: contrib/admin/views/main.py:536 #, python-format msgid "Change history: %s" -msgstr "Değişiklik tarihçesi: %s" +msgstr "%s için değişiklik geçmişi:" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s" msgstr "%s seç" -#: contrib/admin/views/main.py:565 +#: contrib/admin/views/main.py:570 #, python-format msgid "Select %s to change" -msgstr "Değiştirmek için %s seçiniz" +msgstr "Değiştirilecek %s nesnesini seçin" + +#: contrib/admin/views/main.py:758 +msgid "Database error" +msgstr "Veritabanı hatası" + +#: contrib/admin/views/decorators.py:24 +#: contrib/admin/templates/admin/login.html:25 +msgid "Log in" +msgstr "Giriş yap" + +#: contrib/admin/views/decorators.py:62 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"Oturumunuzun süresi geçti. Lütfen tekrar giriş yapın. Endişe etmeyin, " +"gönderiniz kayıt edildi." + +#: contrib/admin/views/decorators.py:69 +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Görünüşe göre tarayıcınız çerezleri kabul etmiyor. Çerez kullanımını aktif " +"hale getirin ve sayfayı yeniden yükleyin." -#: contrib/admin/views/doc.py:277 contrib/admin/views/doc.py:286 -#: contrib/admin/views/doc.py:288 contrib/admin/views/doc.py:294 -#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:297 +#: contrib/admin/views/decorators.py:83 +msgid "Usernames cannot contain the '@' character." +msgstr "Kullanıcı isminde '@' karakteri bulunamaz." + +#: contrib/admin/views/decorators.py:85 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "E-posta adresiniz kullanıcı adınız değil. '%s' kullanın." + +#: contrib/admin/views/doc.py:46 contrib/admin/views/doc.py:48 +#: contrib/admin/views/doc.py:50 +msgid "tag:" +msgstr "etiket:" + +#: contrib/admin/views/doc.py:77 contrib/admin/views/doc.py:79 +#: contrib/admin/views/doc.py:81 +msgid "filter:" +msgstr "filtre:" + +#: contrib/admin/views/doc.py:135 contrib/admin/views/doc.py:137 +#: contrib/admin/views/doc.py:139 +msgid "view:" +msgstr "view:" + +#: contrib/admin/views/doc.py:164 +#, python-format +msgid "App %r not found" +msgstr "%r uygulaması bulunamadı" + +#: contrib/admin/views/doc.py:171 +#, python-format +msgid "Model %r not found in app %r" +msgstr "%r modeli %r uygulamasında bulunamadı" + +#: contrib/admin/views/doc.py:183 +#, python-format +msgid "the related `%s.%s` object" +msgstr "ilgili `%s.%s` nesnesi" + +#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205 +#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224 +msgid "model:" +msgstr "model:" + +#: contrib/admin/views/doc.py:214 +#, python-format +msgid "related `%s.%s` objects" +msgstr "ilgili `%s.%s` nesneleri" + +#: contrib/admin/views/doc.py:219 +#, python-format +msgid "all %s" +msgstr "tüm %s" + +#: contrib/admin/views/doc.py:224 +#, python-format +msgid "number of %s" +msgstr "%s sayısı" + +#: contrib/admin/views/doc.py:229 +#, python-format +msgid "Fields on %s objects" +msgstr "%s nesnesindeki alanlar" + +#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 contrib/admin/views/doc.py:312 msgid "Integer" msgstr "Tamsayı" -#: contrib/admin/views/doc.py:278 +#: contrib/admin/views/doc.py:292 msgid "Boolean (Either True or False)" -msgstr "Boolean (True ya da False)" +msgstr "Mantıksal (True ya da False)" -#: contrib/admin/views/doc.py:279 contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:311 #, python-format msgid "String (up to %(maxlength)s)" -msgstr "String (en fazla %(maxlength)s karakter)" +msgstr "Karakter disizi (en fazla %(maxlength)s)" -#: contrib/admin/views/doc.py:280 +#: contrib/admin/views/doc.py:294 msgid "Comma-separated integers" -msgstr "Virgül ile ayrılmış tamsayılar" +msgstr "Virgülle ayrılmış tamsayılar" -#: contrib/admin/views/doc.py:281 +#: contrib/admin/views/doc.py:295 msgid "Date (without time)" msgstr "Tarih (saat yok)" -#: contrib/admin/views/doc.py:282 +#: contrib/admin/views/doc.py:296 msgid "Date (with time)" -msgstr "Tarih (saat ile)" +msgstr "Tarih (saat var)" -#: contrib/admin/views/doc.py:283 +#: contrib/admin/views/doc.py:297 msgid "E-mail address" msgstr "E-posta adresi" -#: contrib/admin/views/doc.py:284 contrib/admin/views/doc.py:287 +#: contrib/admin/views/doc.py:298 contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:302 msgid "File path" msgstr "Dosya yolu" -#: contrib/admin/views/doc.py:285 +#: contrib/admin/views/doc.py:300 msgid "Decimal number" -msgstr "Ondalık sayı" +msgstr "Ondalık sayı:" -#: contrib/admin/views/doc.py:291 +#: contrib/admin/views/doc.py:306 msgid "Boolean (Either True, False or None)" -msgstr "Boolean (True, False, ya da None)" +msgstr "Mantıksal (True, False, ya da None)" -#: contrib/admin/views/doc.py:292 +#: contrib/admin/views/doc.py:307 msgid "Relation to parent model" -msgstr "Ana model ile ilişki" +msgstr "Ana modelle ilişki" -#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:308 msgid "Phone number" msgstr "Telefon numarası" -#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:313 msgid "Text" msgstr "Metin" -#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:314 msgid "Time" msgstr "Saat" -#: contrib/admin/views/doc.py:300 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "URL" - -#: contrib/admin/views/doc.py:301 +#: contrib/admin/views/doc.py:316 msgid "U.S. state (two uppercase letters)" -msgstr "ABD eyaleti (iki büyük harf)" +msgstr "Şehir Kodu (iki karakter)" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:317 msgid "XML text" msgstr "XML metni" -#: contrib/admin/templates/admin/object_history.html:3 +#: contrib/admin/views/doc.py:343 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "%s geçerli vir adres kalıbı değil" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Şimdiki:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Değiştir:" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Tarih:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Saat:" + #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Documentation" -msgstr "Dokümantasyon" +msgstr "Dökümantasyon" -#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_list.html:5 -#: contrib/admin/templates/admin/base.html:23 -#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/object_history.html:3 #: contrib/admin/templates/admin/change_form.html:10 +#: contrib/admin/templates/admin/delete_confirmation.html:3 +#: contrib/admin/templates/admin/base.html:25 #: contrib/admin/templates/registration/password_change_done.html:3 #: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/template_tag_index.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 #: contrib/admin/templates/admin_doc/template_detail.html:4 -#: contrib/admin/templates/admin_doc/template_filter_index.html:5 +#: contrib/admin/templates/admin_doc/template_tag_index.html:5 #: contrib/admin/templates/admin_doc/missing_docutils.html:4 #: contrib/admin/templates/admin_doc/view_index.html:5 #: contrib/admin/templates/admin_doc/model_detail.html:3 #: contrib/admin/templates/admin_doc/index.html:4 #: contrib/admin/templates/admin_doc/model_index.html:5 +#: contrib/admin/templates/admin_doc/template_filter_index.html:5 msgid "Change password" -msgstr "Şifre değiştirme" +msgstr "Parola değiştir" +#: contrib/admin/templates/admin/change_list.html:6 #: contrib/admin/templates/admin/object_history.html:5 #: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/base.html:28 -#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/invalid_setup.html:4 #: contrib/admin/templates/admin/change_form.html:13 +#: contrib/admin/templates/admin/delete_confirmation.html:6 +#: contrib/admin/templates/admin/base.html:30 #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/logged_out.html:4 @@ -663,12 +1786,22 @@ msgstr "Şifre değiştirme" #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Home" -msgstr "Ana sayfa" +msgstr "Anasayfa" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "%(name)s Ekle" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr " %(filter_title)s nesnesine göre " #: contrib/admin/templates/admin/object_history.html:5 #: contrib/admin/templates/admin/change_form.html:20 msgid "History" -msgstr "Tarihçe" +msgstr "Geçmiş" #: contrib/admin/templates/admin/object_history.html:18 msgid "Date/time" @@ -680,17 +1813,39 @@ msgstr "Kullanıcı" #: contrib/admin/templates/admin/object_history.html:20 msgid "Action" -msgstr "Hareket" +msgstr "İşlem" #: contrib/admin/templates/admin/object_history.html:26 msgid "DATE_WITH_TIME_FULL" -msgstr "j N Y, H:i" +msgstr "DATE_WITH_TIME_FULL" #: contrib/admin/templates/admin/object_history.html:36 msgid "" "This object doesn't have a change history. It probably wasn't added via this " "admin site." -msgstr "Bu nesne ile ilgili bir tarihçe yoktur. Muhtemelen bu yönetim arayüzü aracılığıyla eklenmemiştir." +msgstr "" +"Bu nesnenin işlem geçmişi yok. Muhtemelen yönetici sayfası dışında bir " +"yerden eklendi." + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Git" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 sonuç" +msgstr[1] "%(counter)s sonuç" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "toplam %(full_result_count)s" + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Tümünü göster" #: contrib/admin/templates/admin/base_site.html:4 msgid "Django site admin" @@ -710,28 +1865,36 @@ msgstr "Sunucu hatası (500)" #: contrib/admin/templates/admin/500.html:9 msgid "Server Error <em>(500)</em>" -msgstr "Sunucu hatası <em>(500)</em>" +msgstr "Sunucu Hatası <em>(500)</em>" #: contrib/admin/templates/admin/500.html:10 msgid "" "There's been an error. It's been reported to the site administrators via e-" "mail and should be fixed shortly. Thanks for your patience." -msgstr "Bir hata oluştu. Site yöneticilerine e-posta ile gönderildi ve en kısa zamanda düzeltilir. Sabrınız için teşekkür ederiz." - -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "Sayfa bulunamamıştır" +msgstr "" +"Bir hata oluştu. Hata, e-psota ile site yöneticisine bildirildi ve kısa süre " +"içinde çözülecktir. Sabrınız için teşekkürler." -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "Özür dileriz, sayfa bulunamamıştır." +#: contrib/admin/templates/admin/invalid_setup.html:8 +msgid "" +"Something's wrong with your database installation. Make sure the appropriate " +"database tables have been created, and make sure the database is readable by " +"the appropriate user." +msgstr "" +"Veritabanı kurulumu ile ilgili bir problem var. İlgili veritabanı " +"tablolarının kurulu olduğundan ve veritabanının ilgili kullanıcı tarafından " +"okunabilir olduğundan emin olun." #: contrib/admin/templates/admin/index.html:17 #, python-format msgid "Models available in the %(name)s application." msgstr "%(name)s uygulamasındaki modeller." +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + #: contrib/admin/templates/admin/index.html:28 #: contrib/admin/templates/admin/change_form.html:15 msgid "Add" @@ -743,32 +1906,54 @@ msgstr "Değiştir" #: contrib/admin/templates/admin/index.html:44 msgid "You don't have permission to edit anything." -msgstr "Değiştirme yetkiniz yoktur." +msgstr "İşlem yapmaya yetkiniz yok." #: contrib/admin/templates/admin/index.html:52 msgid "Recent Actions" -msgstr "Son yapılanlar" +msgstr "Geçmiş İşlemler" #: contrib/admin/templates/admin/index.html:53 msgid "My Actions" -msgstr "Hareketlerim" +msgstr "İşlemlerim" #: contrib/admin/templates/admin/index.html:57 msgid "None available" -msgstr "Yok" +msgstr "Hiç yok" -#: contrib/admin/templates/admin/change_list.html:11 -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s ekle" +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Sayfa bulunamadı" + +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Üzgünüm, aradığınız sayfa bulunamadı." + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filtrele" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "Sitede görüntüle" + +#: contrib/admin/templates/admin/change_form.html:30 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Lütfen aşağıdaki hatayı düzeltin." +msgstr[1] "Lütfen aşağıdaki hataları düzeltin." + +#: contrib/admin/templates/admin/change_form.html:48 +msgid "Ordering" +msgstr "Sıralama:" + +#: contrib/admin/templates/admin/change_form.html:51 +msgid "Order:" +msgstr "Sıra:" #: contrib/admin/templates/admin/login.html:22 msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?" -msgstr "<a href=\"/password_reset/\">Şifremi unuttum</a>" - -#: contrib/admin/templates/admin/base.html:23 -msgid "Welcome," -msgstr "Hoş geldiniz," +msgstr "<a href=\"/password_reset/\">Şifrenizi mi unuttunuz?</a>" #: contrib/admin/templates/admin/delete_confirmation.html:9 #: contrib/admin/templates/admin/submit_line.html:3 @@ -778,48 +1963,30 @@ msgstr "Sil" #: contrib/admin/templates/admin/delete_confirmation.html:14 #, python-format msgid "" -"Deleting the %(object_name)s '%(object)s' would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "%(object_name)s '%(object)s' silinmesi, ilgili nesnelerin silinmesini gerektirir, ancak şu nesneleri silmeye yetkiniz yoktur:" +"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " +"related objects, but your account doesn't have permission to delete the " +"following types of objects:" +msgstr "" +"'%(escaped_object)s' isimli %(object_name)s nesnesini silmek, bağlantılı " +"nesnelerin silinmesini gerektiriyor, ancak aşağıdaki nesneleri silme " +"yetkiniz yok." #: contrib/admin/templates/admin/delete_confirmation.html:21 #, python-format msgid "" -"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of " -"the following related items will be deleted:" -msgstr "%(object_name)s \"%(object)s\" silmek istediğinizden emin misiniz? Şunların tamamı silinecektir:" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" +msgstr "" +"\"%(escaped_object)s\" isimli %(object_name)s nesnesini silmek " +"istediğinizdenemin misiniz? Aşağıdaki bağlantılı öğeler silinecek:" #: contrib/admin/templates/admin/delete_confirmation.html:26 msgid "Yes, I'm sure" msgstr "Evet, eminim" -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(title)s " -msgstr " By %(title)s " - -#: contrib/admin/templates/admin/search_form.html:8 -msgid "Go" -msgstr "Yap" - -#: contrib/admin/templates/admin/change_form.html:21 -msgid "View on site" -msgstr "Görüntüle" - -#: contrib/admin/templates/admin/change_form.html:30 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "Aşağıdaki hatayı düzeltin." -msgstr[1] "Aşağıdaki hataları düzeltin." - -#: contrib/admin/templates/admin/change_form.html:48 -msgid "Ordering" -msgstr "Sıralama" - -#: contrib/admin/templates/admin/change_form.html:51 -msgid "Order:" -msgstr "Sırala:" +#: contrib/admin/templates/admin/base.html:25 +msgid "Welcome," +msgstr "Hoşgeldin," #: contrib/admin/templates/admin/submit_line.html:4 msgid "Save as new" @@ -827,7 +1994,7 @@ msgstr "Yeni olarak kaydet" #: contrib/admin/templates/admin/submit_line.html:5 msgid "Save and add another" -msgstr "Kaydet ve bir tane daha ekle" +msgstr "Kaydet ve yeni bir tane ekle" #: contrib/admin/templates/admin/submit_line.html:6 msgid "Save and continue editing" @@ -837,122 +2004,152 @@ msgstr "Kaydet ve düzenlemeye devam et" msgid "Save" msgstr "Kaydet" +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "Önce bir kullanıcı adı ve parola girin. Daha sonra daha fazla bilgi girebilirsiniz." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Kullanıcı" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +msgid "Password" +msgstr "Parola" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +msgid "Password (again)" +msgstr "Parola (tekrar)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +msgid "Enter the same password as above, for verification." +msgstr "Onaylamak için, yukarıdaki parolanın aynısını girin." + #: contrib/admin/templates/registration/password_change_done.html:4 #: contrib/admin/templates/registration/password_change_form.html:4 #: contrib/admin/templates/registration/password_change_form.html:6 #: contrib/admin/templates/registration/password_change_form.html:10 msgid "Password change" -msgstr "Şifre değişikliği" +msgstr "Parola değişimi" #: contrib/admin/templates/registration/password_change_done.html:6 #: contrib/admin/templates/registration/password_change_done.html:10 msgid "Password change successful" -msgstr "Şifre değiştirilmiştir" +msgstr "Parola değişimi başarılı" #: contrib/admin/templates/registration/password_change_done.html:12 msgid "Your password was changed." -msgstr "Şifreniz değiştirilmiştir" +msgstr "Parolanız değiştirildi." #: contrib/admin/templates/registration/password_reset_form.html:4 #: contrib/admin/templates/registration/password_reset_form.html:6 #: contrib/admin/templates/registration/password_reset_form.html:10 #: contrib/admin/templates/registration/password_reset_done.html:4 msgid "Password reset" -msgstr "Şifreyi resetle" +msgstr "Parolayı sıfırla" #: contrib/admin/templates/registration/password_reset_form.html:12 msgid "" "Forgotten your password? Enter your e-mail address below, and we'll reset " "your password and e-mail the new one to you." -msgstr "Şifrenizi unuttuysanız, aşağıdaki alana e-posta adresinizi giriniz. Yeni bir şifre otomatik olarak üretilir ve e-posta ile gönderilir." +msgstr "" +"Parolanızı mı unuttunuz? E-posta adresinizi aşağıya girin, parolanızı " +"sıfırlayalım ve e-posta adresinize gönderelim." #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "E-mail address:" -msgstr "E-posta:" +msgstr "E-posta adresi:" #: contrib/admin/templates/registration/password_reset_form.html:16 msgid "Reset my password" -msgstr "Şifremi resetle" +msgstr "Parolamı sıfırla" #: contrib/admin/templates/registration/logged_out.html:8 msgid "Thanks for spending some quality time with the Web site today." -msgstr "Sitemizde zaman geçirdiğiniz için teşekkür ederiz." +msgstr "Web sitesinde zaman geçirdiğiniz için teşekkür ederiz." #: contrib/admin/templates/registration/logged_out.html:10 msgid "Log in again" -msgstr "Yeniden giriniz" +msgstr "Tekrar giriş yap" #: contrib/admin/templates/registration/password_reset_done.html:6 #: contrib/admin/templates/registration/password_reset_done.html:10 msgid "Password reset successful" -msgstr "Şifre resetlendi" +msgstr "Parola sıfırlandı." #: contrib/admin/templates/registration/password_reset_done.html:12 msgid "" "We've e-mailed a new password to the e-mail address you submitted. You " "should be receiving it shortly." -msgstr "Yeni şifre, verdiğiniz e-posta adresine gönderilmiştir." +msgstr "" +"Yeni şifreniz, e-posta adresinize gönderildi, kısa süre içinde size " +"ulaşacaktır." #: contrib/admin/templates/registration/password_change_form.html:12 msgid "" "Please enter your old password, for security's sake, and then enter your new " "password twice so we can verify you typed it in correctly." -msgstr "Güvenliğiniz için eski şifrenizi giriniz, daha sonra yeni şifrenizi iki kez giriniz." +msgstr "" +"Güvenliğiniz için, lütfen eski parolanızı girin, sonra da yeni şifrenizi iki " +"kere girin ve böylece doğru yazdığınızdan emin olun." #: contrib/admin/templates/registration/password_change_form.html:17 msgid "Old password:" -msgstr "Eski şifre:" +msgstr "Eski parola:" #: contrib/admin/templates/registration/password_change_form.html:19 msgid "New password:" -msgstr "Yeni şifre:" +msgstr "Yeni parola:" #: contrib/admin/templates/registration/password_change_form.html:21 msgid "Confirm password:" -msgstr "Yeni şifre (tekrar):" +msgstr "Parolayı onayla:" #: contrib/admin/templates/registration/password_change_form.html:23 msgid "Change my password" -msgstr "Şifremi değiştir" +msgstr "Parolamı değiştir" #: contrib/admin/templates/registration/password_reset_email.html:2 msgid "You're receiving this e-mail because you requested a password reset" -msgstr "Bu mektubu, %(site_name)s'daki kullanıcı hesabınız için yeni şifrenin" +msgstr "Bu e-postayı aldınız çünkü " #: contrib/admin/templates/registration/password_reset_email.html:3 #, python-format msgid "for your user account at %(site_name)s" -msgstr "üretilmesini istediğiniz için aldınız" +msgstr "" +"%(site_name)s adresindeki kullanıcı hesabınız için parola sıfırlama " +"talebinde bulundunuz." #: contrib/admin/templates/registration/password_reset_email.html:5 #, python-format msgid "Your new password is: %(new_password)s" -msgstr "Yeni şifreniz: %(new_password)s" +msgstr "Yeni parolanız: %(new_password)s" #: contrib/admin/templates/registration/password_reset_email.html:7 msgid "Feel free to change this password by going to this page:" -msgstr "Şifrenizi şu sayfadan değiştirebilirsiniz:" +msgstr "Parolanızı değiştirmek için bu adrese gidebilirsiniz:" #: contrib/admin/templates/registration/password_reset_email.html:11 msgid "Your username, in case you've forgotten:" -msgstr "" +msgstr "Unutma ihtimaline karşı, kullanıcı adınız:" #: contrib/admin/templates/registration/password_reset_email.html:13 msgid "Thanks for using our site!" -msgstr "" +msgstr "Teşekkürler!" #: contrib/admin/templates/registration/password_reset_email.html:15 #, python-format msgid "The %(site_name)s team" -msgstr "" +msgstr "%(site_name)s Ekibi" #: contrib/admin/templates/admin_doc/bookmarklets.html:3 msgid "Bookmarklets" -msgstr "" +msgstr "Kısayollar" #: contrib/admin/templates/admin_doc/bookmarklets.html:5 msgid "Documentation bookmarklets" -msgstr "" +msgstr "Döküman kısayolları" #: contrib/admin/templates/admin_doc/bookmarklets.html:9 msgid "" @@ -964,935 +2161,49 @@ msgid "" "as \"internal\" (talk to your system administrator if you aren't sure if\n" "your computer is \"internal\").</p>\n" msgstr "" +"\n" +"<p class=\"help\">Kısayolları kullanabilmek için, bağlantıyı tarayıcınızdaki " +"araç çubuğuna sürükleyin, ya da sağ tıklayıp sık kullanılan adresler " +"listenize ekleyin. Bazı kısayollar, uygulamayı çalıştıran sunucu ile aynı " +"adreste bulunan istemciler tarafından kullanılabilir.</p>\n" #: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "Documentation for this page" -msgstr "" +msgstr "Bu sayfa için dökümantasyon" #: contrib/admin/templates/admin_doc/bookmarklets.html:20 msgid "" "Jumps you from any page to the documentation for the view that generates " "that page." -msgstr "" +msgstr "Sizi, bu sayfayı üreten betiğin dökümantasyonuna yönlendirir." #: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "Show object ID" -msgstr "" +msgstr "Nesne numarasını göster" #: contrib/admin/templates/admin_doc/bookmarklets.html:23 msgid "" "Shows the content-type and unique ID for pages that represent a single " "object." -msgstr "" +msgstr "Tek bir nesneyi temsil eden sayfaların içerik türünü ve numarasını gösterir." #: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Edit this object (current window)" -msgstr "" +msgstr "Nesneyi düzenle (aynı pencerede)" #: contrib/admin/templates/admin_doc/bookmarklets.html:26 msgid "Jumps to the admin page for pages that represent a single object." -msgstr "" +msgstr "Tek bir nesneyi temsil eden sayfaların yönetim sayfasını gösterir." #: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "Edit this object (new window)" -msgstr "" +msgstr "Nesneyi düzenle (yeni pencerede)" #: contrib/admin/templates/admin_doc/bookmarklets.html:29 msgid "As above, but opens the admin page in a new window." -msgstr "" - -#: contrib/admin/templates/widget/date_time.html:3 -msgid "Date:" -msgstr "" - -#: contrib/admin/templates/widget/date_time.html:4 -msgid "Time:" -msgstr "" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -msgstr "" - -#: contrib/redirects/models.py:7 -msgid "redirect from" -msgstr "" - -#: contrib/redirects/models.py:8 -msgid "" -"This should be an absolute path, excluding the domain name. Example: '/" -"events/search/'." -msgstr "" - -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "" - -#: contrib/redirects/models.py:10 -msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." -msgstr "" - -#: contrib/redirects/models.py:12 -msgid "redirect" -msgstr "" - -#: contrib/redirects/models.py:13 -msgid "redirects" -msgstr "" - -#: contrib/flatpages/models.py:8 -msgid "" -"Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "" - -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "" - -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "" - -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "" - -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "" - -#: contrib/flatpages/models.py:13 -msgid "" -"Example: 'flatpages/contact_page'. If this isn't provided, the system will " -"use 'flatpages/default'." -msgstr "" - -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "" - -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "" - -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "" - -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "" - -#: contrib/auth/models.py:13 contrib/auth/models.py:26 -msgid "name" -msgstr "" - -#: contrib/auth/models.py:15 -msgid "codename" -msgstr "" - -#: contrib/auth/models.py:17 -msgid "permission" -msgstr "" - -#: contrib/auth/models.py:18 contrib/auth/models.py:27 -msgid "permissions" -msgstr "" - -#: contrib/auth/models.py:29 -msgid "group" -msgstr "" - -#: contrib/auth/models.py:30 contrib/auth/models.py:65 -msgid "groups" -msgstr "" - -#: contrib/auth/models.py:55 -msgid "username" -msgstr "" - -#: contrib/auth/models.py:56 -msgid "first name" -msgstr "" - -#: contrib/auth/models.py:57 -msgid "last name" -msgstr "" - -#: contrib/auth/models.py:58 -msgid "e-mail address" -msgstr "" - -#: contrib/auth/models.py:59 -msgid "password" -msgstr "" - -#: contrib/auth/models.py:59 -msgid "Use '[algo]$[salt]$[hexdigest]'" -msgstr "" - -#: contrib/auth/models.py:60 -msgid "staff status" -msgstr "" - -#: contrib/auth/models.py:60 -msgid "Designates whether the user can log into this admin site." -msgstr "" - -#: contrib/auth/models.py:61 -msgid "active" -msgstr "" - -#: contrib/auth/models.py:62 -msgid "superuser status" -msgstr "" - -#: contrib/auth/models.py:63 -msgid "last login" -msgstr "" - -#: contrib/auth/models.py:64 -msgid "date joined" -msgstr "" - -#: contrib/auth/models.py:66 -msgid "" -"In addition to the permissions manually assigned, this user will also get " -"all permissions granted to each group he/she is in." -msgstr "" - -#: contrib/auth/models.py:67 -msgid "user permissions" -msgstr "" - -#: contrib/auth/models.py:70 -msgid "user" -msgstr "" - -#: contrib/auth/models.py:71 -msgid "users" -msgstr "" - -#: contrib/auth/models.py:76 -msgid "Personal info" -msgstr "" - -#: contrib/auth/models.py:77 -msgid "Permissions" -msgstr "" - -#: contrib/auth/models.py:78 -msgid "Important dates" -msgstr "" - -#: contrib/auth/models.py:79 -msgid "Groups" -msgstr "" - -#: contrib/auth/models.py:219 -msgid "message" -msgstr "" - -#: contrib/auth/forms.py:30 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" - -#: contrib/contenttypes/models.py:25 -msgid "python model class name" -msgstr "" - -#: contrib/contenttypes/models.py:28 -msgid "content type" -msgstr "" - -#: contrib/contenttypes/models.py:29 -msgid "content types" -msgstr "" - -#: contrib/sessions/models.py:35 -msgid "session key" -msgstr "" - -#: contrib/sessions/models.py:36 -msgid "session data" -msgstr "" - -#: contrib/sessions/models.py:37 -msgid "expire date" -msgstr "" - -#: contrib/sessions/models.py:41 -msgid "session" -msgstr "" - -#: contrib/sessions/models.py:42 -msgid "sessions" -msgstr "" - -#: contrib/sites/models.py:10 -msgid "domain name" -msgstr "" - -#: contrib/sites/models.py:11 -msgid "display name" -msgstr "" - -#: contrib/sites/models.py:15 -msgid "site" -msgstr "" - -#: contrib/sites/models.py:16 -msgid "sites" -msgstr "" - -#: utils/translation.py:360 -msgid "DATE_FORMAT" -msgstr "j N Y" - -#: utils/translation.py:361 -msgid "DATETIME_FORMAT" -msgstr "j N Y, H:i" - -#: utils/translation.py:362 -msgid "TIME_FORMAT" -msgstr "H:i" - -#: utils/dates.py:6 -msgid "Monday" -msgstr "" - -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "" - -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "" - -#: utils/dates.py:6 -msgid "Thursday" -msgstr "" - -#: utils/dates.py:6 -msgid "Friday" -msgstr "" - -#: utils/dates.py:7 -msgid "Saturday" -msgstr "" - -#: utils/dates.py:7 -msgid "Sunday" -msgstr "" - -#: utils/dates.py:14 -msgid "January" -msgstr "" - -#: utils/dates.py:14 -msgid "February" -msgstr "" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "March" -msgstr "" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "April" -msgstr "" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "May" -msgstr "" - -#: utils/dates.py:14 utils/dates.py:27 -msgid "June" -msgstr "" +msgstr "Yukarıdaki gibi, ancak yönetim sayfasını yeni bir pencerede açar." -#: utils/dates.py:15 utils/dates.py:27 -msgid "July" -msgstr "" - -#: utils/dates.py:15 -msgid "August" -msgstr "" - -#: utils/dates.py:15 -msgid "September" -msgstr "" - -#: utils/dates.py:15 -msgid "October" -msgstr "" - -#: utils/dates.py:15 -msgid "November" -msgstr "" - -#: utils/dates.py:16 -msgid "December" -msgstr "" - -#: utils/dates.py:19 -msgid "jan" -msgstr "" - -#: utils/dates.py:19 -msgid "feb" -msgstr "" - -#: utils/dates.py:19 -msgid "mar" -msgstr "" - -#: utils/dates.py:19 -msgid "apr" -msgstr "" - -#: utils/dates.py:19 -msgid "may" -msgstr "" - -#: utils/dates.py:19 -msgid "jun" -msgstr "" - -#: utils/dates.py:20 -msgid "jul" -msgstr "" - -#: utils/dates.py:20 -msgid "aug" -msgstr "" - -#: utils/dates.py:20 -msgid "sep" -msgstr "" - -#: utils/dates.py:20 -msgid "oct" -msgstr "" - -#: utils/dates.py:20 -msgid "nov" -msgstr "" - -#: utils/dates.py:20 -msgid "dec" -msgstr "" - -#: utils/dates.py:27 -msgid "Jan." -msgstr "" - -#: utils/dates.py:27 -msgid "Feb." -msgstr "" - -#: utils/dates.py:28 -msgid "Aug." -msgstr "" - -#: utils/dates.py:28 -msgid "Sept." -msgstr "" - -#: utils/dates.py:28 -msgid "Oct." -msgstr "" - -#: utils/dates.py:28 -msgid "Nov." -msgstr "" - -#: utils/dates.py:28 -msgid "Dec." -msgstr "" - -#: utils/timesince.py:12 -msgid "year" -msgid_plural "years" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:13 -msgid "month" -msgid_plural "months" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:14 -msgid "week" -msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:15 -msgid "day" -msgid_plural "days" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:16 -msgid "hour" -msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:17 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" - -#: conf/global_settings.py:37 -msgid "Bengali" -msgstr "" - -#: conf/global_settings.py:38 -msgid "Czech" -msgstr "" - -#: conf/global_settings.py:39 -msgid "Welsh" -msgstr "" - -#: conf/global_settings.py:40 -msgid "Danish" -msgstr "" - -#: conf/global_settings.py:41 -msgid "German" -msgstr "" - -#: conf/global_settings.py:42 -msgid "Greek" -msgstr "" - -#: conf/global_settings.py:43 -msgid "English" -msgstr "" - -#: conf/global_settings.py:44 -msgid "Spanish" -msgstr "" - -#: conf/global_settings.py:45 -msgid "French" -msgstr "" - -#: conf/global_settings.py:46 -msgid "Galician" -msgstr "" - -#: conf/global_settings.py:47 -msgid "Hungarian" -msgstr "" - -#: conf/global_settings.py:48 -msgid "Hebrew" -msgstr "" - -#: conf/global_settings.py:49 -msgid "Icelandic" -msgstr "" - -#: conf/global_settings.py:50 -msgid "Italian" -msgstr "" - -#: conf/global_settings.py:51 -msgid "Japanese" -msgstr "" - -#: conf/global_settings.py:52 -msgid "Dutch" -msgstr "" - -#: conf/global_settings.py:53 -msgid "Norwegian" -msgstr "" - -#: conf/global_settings.py:54 -msgid "Brazilian" -msgstr "" - -#: conf/global_settings.py:55 -msgid "Romanian" -msgstr "" - -#: conf/global_settings.py:56 -msgid "Russian" -msgstr "" - -#: conf/global_settings.py:57 -msgid "Slovak" -msgstr "" - -#: conf/global_settings.py:58 -msgid "Slovenian" -msgstr "" - -#: conf/global_settings.py:59 -msgid "Serbian" -msgstr "" - -#: conf/global_settings.py:60 -msgid "Swedish" -msgstr "" - -#: conf/global_settings.py:61 -msgid "Ukrainian" -msgstr "" - -#: conf/global_settings.py:62 -msgid "Simplified Chinese" -msgstr "" - -#: conf/global_settings.py:63 -msgid "Traditional Chinese" -msgstr "" - -#: core/validators.py:60 -msgid "This value must contain only letters, numbers and underscores." -msgstr "" - -#: core/validators.py:64 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" - -#: core/validators.py:72 -msgid "Uppercase letters are not allowed here." -msgstr "" - -#: core/validators.py:76 -msgid "Lowercase letters are not allowed here." -msgstr "" - -#: core/validators.py:83 -msgid "Enter only digits separated by commas." -msgstr "" - -#: core/validators.py:95 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "" - -#: core/validators.py:99 -msgid "Please enter a valid IP address." -msgstr "" - -#: core/validators.py:103 -msgid "Empty values are not allowed here." -msgstr "" - -#: core/validators.py:107 -msgid "Non-numeric characters aren't allowed here." -msgstr "" - -#: core/validators.py:111 -msgid "This value can't be comprised solely of digits." -msgstr "" - -#: core/validators.py:116 -msgid "Enter a whole number." -msgstr "" - -#: core/validators.py:120 -msgid "Only alphabetical characters are allowed here." -msgstr "" - -#: core/validators.py:124 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "" - -#: core/validators.py:128 -msgid "Enter a valid time in HH:MM format." -msgstr "" - -#: core/validators.py:132 db/models/fields/__init__.py:468 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "" - -#: core/validators.py:136 -msgid "Enter a valid e-mail address." -msgstr "" - -#: core/validators.py:148 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#: core/validators.py:155 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "" - -#: core/validators.py:159 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "" - -#: core/validators.py:167 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "" - -#: core/validators.py:171 -msgid "A valid URL is required." -msgstr "" - -#: core/validators.py:185 -#, python-format -msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "" - -#: core/validators.py:192 -#, python-format -msgid "Badly formed XML: %s" -msgstr "" - -#: core/validators.py:202 -#, python-format -msgid "Invalid URL: %s" -msgstr "" - -#: core/validators.py:206 core/validators.py:208 -#, python-format -msgid "The URL %s is a broken link." -msgstr "" - -#: core/validators.py:214 -msgid "Enter a valid U.S. state abbreviation." -msgstr "" - -#: core/validators.py:229 -#, python-format -msgid "Watch your mouth! The word %s is not allowed here." -msgid_plural "Watch your mouth! The words %s are not allowed here." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:236 -#, python-format -msgid "This field must match the '%s' field." -msgstr "" - -#: core/validators.py:255 -msgid "Please enter something for at least one field." -msgstr "" - -#: core/validators.py:264 core/validators.py:275 -msgid "Please enter both fields or leave them both empty." -msgstr "" - -#: core/validators.py:282 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" -msgstr "" - -#: core/validators.py:294 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "" - -#: core/validators.py:313 -msgid "Duplicate values are not allowed." -msgstr "" - -#: core/validators.py:336 -#, python-format -msgid "This value must be a power of %s." -msgstr "" - -#: core/validators.py:347 -msgid "Please enter a valid decimal number." -msgstr "" - -#: core/validators.py:349 -#, python-format -msgid "Please enter a valid decimal number with at most %s total digit." -msgid_plural "" -"Please enter a valid decimal number with at most %s total digits." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:352 -#, python-format -msgid "Please enter a valid decimal number with at most %s decimal place." -msgid_plural "" -"Please enter a valid decimal number with at most %s decimal places." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:362 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." -msgstr "" - -#: core/validators.py:363 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." -msgstr "" - -#: core/validators.py:376 -msgid "The format for this field is wrong." -msgstr "" - -#: core/validators.py:391 -msgid "This field is invalid." -msgstr "" - -#: core/validators.py:426 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "" - -#: core/validators.py:429 -#, python-format -msgid "" -"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" - -#: core/validators.py:462 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" - -#: core/validators.py:466 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" - -#: core/validators.py:471 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:476 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:480 -#, python-format -msgid "" -"A tag on line %(line)s is missing one or more required attributes. (Line " -"starts with \"%(start)s\".)" -msgstr "" - -#: core/validators.py:485 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" - -#: db/models/manipulators.py:302 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "" - -#: db/models/fields/__init__.py:40 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "" - -#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265 -#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553 -#: forms/__init__.py:346 -msgid "This field is required." -msgstr "" - -#: db/models/fields/__init__.py:337 -msgid "This value must be an integer." -msgstr "" - -#: db/models/fields/__init__.py:369 -msgid "This value must be either True or False." -msgstr "" - -#: db/models/fields/__init__.py:385 -msgid "This field cannot be null." -msgstr "" - -#: db/models/fields/__init__.py:562 -msgid "Enter a valid filename." -msgstr "" - -#: db/models/fields/related.py:43 -#, python-format -msgid "Please enter a valid %s." -msgstr "" - -#: db/models/fields/related.py:579 -msgid "Separate multiple IDs with commas." -msgstr "" - -#: db/models/fields/related.py:581 -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#: db/models/fields/related.py:625 -#, python-format -msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." -msgid_plural "" -"Please enter valid %(self)s IDs. The values %(value)r are invalid." -msgstr[0] "" -msgstr[1] "" - -#: forms/__init__.py:380 -#, python-format -msgid "Ensure your text is less than %s character." -msgid_plural "Ensure your text is less than %s characters." -msgstr[0] "" -msgstr[1] "" - -#: forms/__init__.py:385 -msgid "Line breaks are not allowed here." -msgstr "" - -#: forms/__init__.py:480 forms/__init__.py:551 forms/__init__.py:589 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "" - -#: forms/__init__.py:645 -msgid "The submitted file is empty." -msgstr "" - -#: forms/__init__.py:699 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "" - -#: forms/__init__.py:708 -msgid "Enter a positive number." -msgstr "" - -#: forms/__init__.py:717 -msgid "Enter a whole number between 0 and 32,767." -msgstr "" - -#: template/defaultfilters.py:379 +#: template/defaultfilters.py:401 msgid "yes,no,maybe" -msgstr "" +msgstr "evet,hayır,olabilir" + diff --git a/django/conf/locale/tr/LC_MESSAGES/djangojs.mo b/django/conf/locale/tr/LC_MESSAGES/djangojs.mo Binary files differnew file mode 100644 index 0000000000..1119203925 --- /dev/null +++ b/django/conf/locale/tr/LC_MESSAGES/djangojs.mo diff --git a/django/conf/locale/tr/LC_MESSAGES/djangojs.po b/django/conf/locale/tr/LC_MESSAGES/djangojs.po new file mode 100644 index 0000000000..35928b9c03 --- /dev/null +++ b/django/conf/locale/tr/LC_MESSAGES/djangojs.po @@ -0,0 +1,109 @@ +# Django 0.95 +# Copyright (C) 2006 Django +# This file is distributed under the same license as the Django package. +# Bahadır Kandemir <bahadir@pardus.org.tr>, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: Django 0.95\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2006-09-30 01:31+0300\n" +"PO-Revision-Date: 2006-09-30 01:31+0300\n" +"Last-Translator: Bahadır Kandemir <bahadir@pardus.org.tr>\n" +"Language-Team: Bahadır Kandemir <bahadir@pardus.org.tr>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: contrib/admin/media/js/SelectFilter2.js:33 +#, perl-format +msgid "Available %s" +msgstr "Mevcut %s" + +#: contrib/admin/media/js/SelectFilter2.js:41 +msgid "Choose all" +msgstr "Hepsini seç" + +#: contrib/admin/media/js/SelectFilter2.js:46 +msgid "Add" +msgstr "Ekle" + +#: contrib/admin/media/js/SelectFilter2.js:48 +msgid "Remove" +msgstr "Kaldır" + +#: contrib/admin/media/js/SelectFilter2.js:53 +#, perl-format +msgid "Chosen %s" +msgstr "Seçilen %s" + +#: contrib/admin/media/js/SelectFilter2.js:54 +msgid "Select your choice(s) and click " +msgstr "Seçiminizi yapın ve tıklayın " + +#: contrib/admin/media/js/SelectFilter2.js:59 +msgid "Clear all" +msgstr "Hepsini temizle" + +#: contrib/admin/media/js/dateparse.js:26 +#: contrib/admin/media/js/calendar.js:24 +msgid "" +"January February March April May June July August September October November " +"December" +msgstr "Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım " +"Aralık" + +#: contrib/admin/media/js/dateparse.js:27 +msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" +msgstr "Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi" + +#: contrib/admin/media/js/calendar.js:25 +msgid "S M T W T F S" +msgstr "P P S Ç P C C" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80 +msgid "Now" +msgstr "Şimdi" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48 +msgid "Clock" +msgstr "Saat" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77 +msgid "Choose a time" +msgstr "Saat seçin" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 +msgid "Midnight" +msgstr "Geceyarısı" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 +msgid "6 a.m." +msgstr "Sabah 6" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 +msgid "Noon" +msgstr "Öğle" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168 +msgid "Cancel" +msgstr "İptal" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111 +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162 +msgid "Today" +msgstr "Bugün" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114 +msgid "Calendar" +msgstr "Takvim" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160 +msgid "Yesterday" +msgstr "Dün" + +#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164 +msgid "Tomorrow" +msgstr "Yarın" diff --git a/django/contrib/admin/templates/admin_doc/view_detail.html b/django/contrib/admin/templates/admin_doc/view_detail.html index ed90657361..ba90399358 100644 --- a/django/contrib/admin/templates/admin_doc/view_detail.html +++ b/django/contrib/admin/templates/admin_doc/view_detail.html @@ -8,7 +8,7 @@ <h1>{{ name }}</h1> -<h2 class="subhead">{{ summary|escape }}</h2> +<h2 class="subhead">{{ summary }}</h2> <p>{{ body }}</p> diff --git a/django/contrib/admin/views/decorators.py b/django/contrib/admin/views/decorators.py index fce50909f0..9dfe651fe6 100644 --- a/django/contrib/admin/views/decorators.py +++ b/django/contrib/admin/views/decorators.py @@ -87,7 +87,7 @@ def staff_member_required(view_func): # The user data is correct; log in the user in and continue. else: - if user.is_staff: + if user.is_active and user.is_staff: login(request, user) # TODO: set last_login with an event. user.last_login = datetime.datetime.now() diff --git a/django/contrib/auth/create_superuser.py b/django/contrib/auth/create_superuser.py index f42d30539e..2e93c35b93 100644 --- a/django/contrib/auth/create_superuser.py +++ b/django/contrib/auth/create_superuser.py @@ -46,6 +46,7 @@ def createsuperuser(username=None, email=None, password=None): if not username.isalnum(): sys.stderr.write("Error: That username is invalid. Use only letters, digits and underscores.\n") username = None + continue try: User.objects.get(username=username) except User.DoesNotExist: diff --git a/django/contrib/auth/decorators.py b/django/contrib/auth/decorators.py index 8164d8314e..37e948f8fe 100644 --- a/django/contrib/auth/decorators.py +++ b/django/contrib/auth/decorators.py @@ -29,8 +29,8 @@ login_required.__doc__ = ( def permission_required(perm, login_url=LOGIN_URL): """ - Decorator for views that checks if a user has a particular permission - enabled, redirectiing to the log-in page if necessary. + Decorator for views that checks whether a user has a particular permission + enabled, redirecting to the log-in page if necessary. """ return user_passes_test(lambda u: u.has_perm(perm), login_url=login_url) diff --git a/django/contrib/auth/forms.py b/django/contrib/auth/forms.py index 206cd06e06..24c69cb73e 100644 --- a/django/contrib/auth/forms.py +++ b/django/contrib/auth/forms.py @@ -13,7 +13,7 @@ class UserCreationForm(forms.Manipulator): validator_list=[validators.isAlphaNumeric, self.isValidUsername]), forms.PasswordField(field_name='password1', length=30, maxlength=60, is_required=True), forms.PasswordField(field_name='password2', length=30, maxlength=60, is_required=True, - validator_list=[validators.AlwaysMatchesOtherField('password1', "The two password fields didn't match.")]), + validator_list=[validators.AlwaysMatchesOtherField('password1', _("The two password fields didn't match."))]), ) def isValidUsername(self, field_data, all_data): @@ -21,7 +21,7 @@ class UserCreationForm(forms.Manipulator): User.objects.get(username=field_data) except User.DoesNotExist: return - raise validators.ValidationError, 'A user with that username already exists.' + raise validators.ValidationError, _('A user with that username already exists.') def save(self, new_data): "Creates the user." @@ -81,7 +81,7 @@ class PasswordResetForm(forms.Manipulator): try: self.user_cache = User.objects.get(email__iexact=new_data) except User.DoesNotExist: - raise validators.ValidationError, _("That e-mail address doesn't have an associated user acount. Are you sure you've registered?") + raise validators.ValidationError, _("That e-mail address doesn't have an associated user account. Are you sure you've registered?") def save(self, domain_override=None, email_template_name='registration/password_reset_email.html'): "Calculates a new password randomly and sends it to the user" diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py index eb5713ba57..73bcfe92aa 100644 --- a/django/contrib/auth/models.py +++ b/django/contrib/auth/models.py @@ -216,6 +216,8 @@ class User(models.Model): def has_module_perms(self, app_label): "Returns True if the user has any permissions in the given app label." + if not self.is_active: + return False if self.is_superuser: return True return bool(len([p for p in self.get_all_permissions() if p[:p.index('.')] == app_label])) diff --git a/django/contrib/sitemaps/templates/sitemap.xml b/django/contrib/sitemaps/templates/sitemap.xml index 3ee4f914f7..ad24c045d4 100644 --- a/django/contrib/sitemaps/templates/sitemap.xml +++ b/django/contrib/sitemaps/templates/sitemap.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.84"> +{% spaceless %} {% for url in urlset %} <url> <loc>{{ url.location|escape }}</loc> @@ -8,4 +9,5 @@ {% if url.priority %}<priority>{{ url.priority }}</priority>{% endif %} </url> {% endfor %} +{% endspaceless %} </urlset> diff --git a/django/contrib/sitemaps/templates/sitemap_index.xml b/django/contrib/sitemaps/templates/sitemap_index.xml index e9d722ac7f..c89b192ecc 100644 --- a/django/contrib/sitemaps/templates/sitemap_index.xml +++ b/django/contrib/sitemaps/templates/sitemap_index.xml @@ -1,8 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84"> -{% for location in sitemaps %} - <sitemap> - <loc>{{ location|escape }}</loc> - </sitemap> -{% endfor %} +{% for location in sitemaps %}<sitemap><loc>{{ location|escape }}</loc></sitemap>{% endfor %} </sitemapindex> diff --git a/django/core/handlers/base.py b/django/core/handlers/base.py index 62217acdce..213c528952 100644 --- a/django/core/handlers/base.py +++ b/django/core/handlers/base.py @@ -48,7 +48,7 @@ class BaseHandler(object): if hasattr(mw_instance, 'process_exception'): self._exception_middleware.insert(0, mw_instance.process_exception) - def get_response(self, path, request): + def get_response(self, request): "Returns an HttpResponse object for the given HttpRequest" from django.core import exceptions, urlresolvers from django.core.mail import mail_admins @@ -62,7 +62,7 @@ class BaseHandler(object): resolver = urlresolvers.RegexURLResolver(r'^/', settings.ROOT_URLCONF) try: - callback, callback_args, callback_kwargs = resolver.resolve(path) + callback, callback_args, callback_kwargs = resolver.resolve(request.path) # Apply view middleware for middleware_method in self._view_middleware: @@ -89,7 +89,8 @@ class BaseHandler(object): return response except http.Http404, e: if settings.DEBUG: - return self.get_technical_error_response(request, is404=True, exception=e) + from django.views import debug + return debug.technical_404_response(request, e) else: callback, param_dict = resolver.resolve404() return callback(request, **param_dict) @@ -99,39 +100,23 @@ class BaseHandler(object): pass # See http://code.djangoproject.com/ticket/1023 except: # Handle everything else, including SuspiciousOperation, etc. if settings.DEBUG: - return self.get_technical_error_response(request) + from django.views import debug + return debug.technical_500_response(request, *sys.exc_info()) else: # Get the exception info now, in case another exception is thrown later. exc_info = sys.exc_info() receivers = dispatcher.send(signal=signals.got_request_exception) # When DEBUG is False, send an error message to the admins. - subject = 'Error (%s IP): %s' % ((request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS and 'internal' or 'EXTERNAL'), getattr(request, 'path', '')) + subject = 'Error (%s IP): %s' % ((request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS and 'internal' or 'EXTERNAL'), request.path) try: request_repr = repr(request) except: request_repr = "Request repr() unavailable" message = "%s\n\n%s" % (self._get_traceback(exc_info), request_repr) mail_admins(subject, message, fail_silently=True) - return self.get_friendly_error_response(request, resolver) - - def get_friendly_error_response(self, request, resolver): - """ - Returns an HttpResponse that displays a PUBLIC error message for a - fundamental error. - """ - callback, param_dict = resolver.resolve500() - return callback(request, **param_dict) - - def get_technical_error_response(self, request, is404=False, exception=None): - """ - Returns an HttpResponse that displays a TECHNICAL error message for a - fundamental error. - """ - from django.views import debug - if is404: - return debug.technical_404_response(request, exception) - else: - return debug.technical_500_response(request, *sys.exc_info()) + # Return an HttpResponse that displays a friendly error message. + callback, param_dict = resolver.resolve500() + return callback(request, **param_dict) def _get_traceback(self, exc_info=None): "Helper function to return the traceback as a string" diff --git a/django/core/handlers/modpython.py b/django/core/handlers/modpython.py index 41d9a578c5..bf759db068 100644 --- a/django/core/handlers/modpython.py +++ b/django/core/handlers/modpython.py @@ -102,7 +102,7 @@ class ModPythonRequest(http.HttpRequest): 'REQUEST_METHOD': self._req.method, 'SCRIPT_NAME': None, # Not supported 'SERVER_NAME': self._req.server.server_hostname, - 'SERVER_PORT': self._req.server.port, + 'SERVER_PORT': str(self._req.connection.local_addr[1]), 'SERVER_PROTOCOL': self._req.protocol, 'SERVER_SOFTWARE': 'mod_python' } @@ -139,10 +139,6 @@ class ModPythonHandler(BaseHandler): # that use settings now can work from django.conf import settings - if settings.ENABLE_PSYCO: - import psyco - psyco.profile() - # if we need to set up middleware, now that settings works we can do it now. if self._request_middleware is None: self.load_middleware() @@ -150,7 +146,7 @@ class ModPythonHandler(BaseHandler): dispatcher.send(signal=signals.request_started) try: request = ModPythonRequest(req) - response = self.get_response(req.uri, request) + response = self.get_response(request) # Apply response middleware for middleware_method in self._response_middleware: @@ -160,23 +156,20 @@ class ModPythonHandler(BaseHandler): dispatcher.send(signal=signals.request_finished) # Convert our custom HttpResponse object back into the mod_python req. - populate_apache_request(response, req) - return 0 # mod_python.apache.OK + req.content_type = response['Content-Type'] + for key, value in response.headers.items(): + if key != 'Content-Type': + req.headers_out[key] = value + for c in response.cookies.values(): + req.headers_out.add('Set-Cookie', c.output(header='')) + req.status = response.status_code + try: + for chunk in response: + req.write(chunk) + finally: + response.close() -def populate_apache_request(http_response, mod_python_req): - "Populates the mod_python request object with an HttpResponse" - mod_python_req.content_type = http_response['Content-Type'] - for key, value in http_response.headers.items(): - if key != 'Content-Type': - mod_python_req.headers_out[key] = value - for c in http_response.cookies.values(): - mod_python_req.headers_out.add('Set-Cookie', c.output(header='')) - mod_python_req.status = http_response.status_code - try: - for chunk in http_response: - mod_python_req.write(chunk) - finally: - http_response.close() + return 0 # mod_python.apache.OK def handler(req): # mod_python hooks into this function. diff --git a/django/core/handlers/wsgi.py b/django/core/handlers/wsgi.py index 85e234c8d2..2998bd31f6 100644 --- a/django/core/handlers/wsgi.py +++ b/django/core/handlers/wsgi.py @@ -74,7 +74,7 @@ class WSGIRequest(http.HttpRequest): def __init__(self, environ): self.environ = environ self.path = environ['PATH_INFO'] - self.META = environ + self.META = environ self.method = environ['REQUEST_METHOD'].upper() def __repr__(self): @@ -174,10 +174,6 @@ class WSGIHandler(BaseHandler): def __call__(self, environ, start_response): from django.conf import settings - if settings.ENABLE_PSYCO: - import psyco - psyco.profile() - # Set up middleware if needed. We couldn't do this earlier, because # settings weren't available. if self._request_middleware is None: @@ -186,7 +182,7 @@ class WSGIHandler(BaseHandler): dispatcher.send(signal=signals.request_started) try: request = WSGIRequest(environ) - response = self.get_response(request.path, request) + response = self.get_response(request) # Apply response middleware for middleware_method in self._response_middleware: diff --git a/django/core/management.py b/django/core/management.py index 87e5053791..5e709db6ac 100644 --- a/django/core/management.py +++ b/django/core/management.py @@ -103,7 +103,6 @@ def get_sql_create(app): known_models = set([model for model in _get_installed_models(_get_table_list()) if model not in app_models]) pending_references = {} - for model in app_models: output, references = _get_sql_model_create(model, known_models) final_output.extend(output) @@ -147,7 +146,7 @@ def _get_sql_model_create(model, known_models=set()): table_output = [] pending_references = {} for f in opts.fields: - if isinstance(f, models.ForeignKey): + if isinstance(f, (models.ForeignKey, models.OneToOneField)): rel_field = f.rel.get_related_field() data_type = get_rel_data_type(rel_field) else: @@ -398,32 +397,39 @@ get_sql_sequence_reset.help_doc = "Prints the SQL statements for resetting Postg get_sql_sequence_reset.args = APP_ARGS def get_sql_indexes(app): - "Returns a list of the CREATE INDEX SQL statements for the given app." - from django.db import backend, models + "Returns a list of the CREATE INDEX SQL statements for all models in the given app." + from django.db import models output = [] - for model in models.get_models(app): - for f in model._meta.fields: - if f.db_index: - unique = f.unique and 'UNIQUE ' or '' - output.append( - style.SQL_KEYWORD('CREATE %sINDEX' % unique) + ' ' + \ - style.SQL_TABLE('%s_%s' % (model._meta.db_table, f.column)) + ' ' + \ - style.SQL_KEYWORD('ON') + ' ' + \ - style.SQL_TABLE(backend.quote_name(model._meta.db_table)) + ' ' + \ - "(%s);" % style.SQL_FIELD(backend.quote_name(f.column)) - ) + output.extend(get_sql_indexes_for_model(model)) return output get_sql_indexes.help_doc = "Prints the CREATE INDEX SQL statements for the given model module name(s)." get_sql_indexes.args = APP_ARGS +def get_sql_indexes_for_model(model): + "Returns the CREATE INDEX SQL statements for a single model" + from django.db import backend + output = [] + + for f in model._meta.fields: + if f.db_index: + unique = f.unique and 'UNIQUE ' or '' + output.append( + style.SQL_KEYWORD('CREATE %sINDEX' % unique) + ' ' + \ + style.SQL_TABLE('%s_%s' % (model._meta.db_table, f.column)) + ' ' + \ + style.SQL_KEYWORD('ON') + ' ' + \ + style.SQL_TABLE(backend.quote_name(model._meta.db_table)) + ' ' + \ + "(%s);" % style.SQL_FIELD(backend.quote_name(f.column)) + ) + return output + def get_sql_all(app): "Returns a list of CREATE TABLE SQL, initial-data inserts, and CREATE INDEX SQL for the given module." return get_sql_create(app) + get_sql_initial_data(app) + get_sql_indexes(app) get_sql_all.help_doc = "Prints the CREATE TABLE, initial-data and CREATE INDEX SQL statements for the given model module name(s)." get_sql_all.args = APP_ARGS -def syncdb(verbosity=2, interactive=True): +def syncdb(verbosity=1, interactive=True): "Creates the database tables for all apps in INSTALLED_APPS whose tables haven't already been created." from django.db import connection, transaction, models, get_creation_module from django.db.models import signals @@ -457,21 +463,21 @@ def syncdb(verbosity=2, interactive=True): pending_references = {} for app in models.get_apps(): + app_name = app.__name__.split('.')[-2] model_list = models.get_models(app) for model in model_list: # Create the model's database table, if it doesn't already exist. + if verbosity >= 2: + print "Processing %s.%s model" % (app_name, model._meta.object_name) if model._meta.db_table in table_list: continue sql, references = _get_sql_model_create(model, seen_models) seen_models.add(model) created_models.add(model) for refto, refs in references.items(): - try: - pending_references[refto].extend(refs) - except KeyError: - pending_references[refto] = refs + pending_references.setdefault(refto, []).extend(refs) sql.extend(_get_sql_for_pending_references(model, pending_references)) - if verbosity >= 2: + if verbosity >= 1: print "Creating table %s" % model._meta.db_table for statement in sql: cursor.execute(statement) @@ -482,7 +488,7 @@ def syncdb(verbosity=2, interactive=True): sql = _get_many_to_many_sql_for_model(model) if sql: if verbosity >= 2: - print "Creating many-to-many tables for %s model" % model.__name__ + print "Creating many-to-many tables for %s.%s model" % (app_name, model._meta.object_name) for statement in sql: cursor.execute(statement) @@ -491,6 +497,9 @@ def syncdb(verbosity=2, interactive=True): # Send the post_syncdb signal, so individual apps can do whatever they need # to do at this point. for app in models.get_apps(): + app_name = app.__name__.split('.')[-2] + if verbosity >= 2: + print "Running post-sync handlers for application", app_name dispatcher.send(signal=signals.post_syncdb, sender=app, app=app, created_models=created_models, verbosity=verbosity, interactive=interactive) @@ -501,18 +510,37 @@ def syncdb(verbosity=2, interactive=True): if model in created_models: initial_sql = get_sql_initial_data_for_model(model) if initial_sql: - if verbosity >= 2: - print "Installing initial data for %s model" % model._meta.object_name + if verbosity >= 1: + print "Installing initial data for %s.%s model" % (app_name, model._meta.object_name) try: for sql in initial_sql: cursor.execute(sql) except Exception, e: - sys.stderr.write("Failed to install initial SQL data for %s model: %s" % \ - (model._meta.object_name, e)) + sys.stderr.write("Failed to install initial SQL data for %s.%s model: %s" % \ + (app_name, model._meta.object_name, e)) transaction.rollback_unless_managed() else: transaction.commit_unless_managed() + # Install SQL indicies for all newly created models + for app in models.get_apps(): + app_name = app.__name__.split('.')[-2] + for model in models.get_models(app): + if model in created_models: + index_sql = get_sql_indexes_for_model(model) + if index_sql: + if verbosity >= 1: + print "Installing index for %s.%s model" % (app_name, model._meta.object_name) + try: + for sql in index_sql: + cursor.execute(sql) + except Exception, e: + sys.stderr.write("Failed to install index for %s.%s model: %s" % \ + (app_name, model._meta.object_name, e)) + transaction.rollback_unless_managed() + else: + transaction.commit_unless_managed() + syncdb.args = '' def get_admin_index(app): @@ -596,7 +624,7 @@ The full error: """ % (app_name, app_name)) + style.ERROR_OUTPUT(str(e)) + '\n') install.help_doc = "Executes ``sqlall`` for the given app(s) in the current database." install.args = APP_ARGS -def reset(app): +def reset(app, interactive=True): "Executes the equivalent of 'get_sql_reset' in the current database." from django.db import connection, transaction app_name = app.__name__.split('.')[-2] @@ -607,21 +635,25 @@ def reset(app): _check_for_validation_errors(app) sql_list = get_sql_reset(app) - confirm = raw_input(""" + if interactive: + confirm = raw_input(""" You have requested a database reset. This will IRREVERSIBLY DESTROY any data in your database. Are you sure you want to do this? Type 'yes' to continue, or 'no' to cancel: """) + else: + confirm = 'yes' + if confirm == 'yes': try: cursor = connection.cursor() for sql in sql_list: cursor.execute(sql) except Exception, e: - sys.stderr.write(style.ERROR("""Error: %s couldn't be installed. Possible reasons: + sys.stderr.write(style.ERROR("""Error: %s couldn't be reset. Possible reasons: * The database isn't running or isn't configured correctly. - * At least one of the database tables already exists. + * At least one of the database tables doesn't exist. * The SQL was invalid. Hint: Look at the output of 'django-admin.py sqlreset %s'. That's the SQL this command wasn't able to run. The full error: """ % (app_name, app_name)) + style.ERROR_OUTPUT(str(e)) + '\n') @@ -820,7 +852,8 @@ def get_validation_errors(outfile, app=None): validates all models of all installed apps. Writes errors, if any, to outfile. Returns number of errors. """ - from django.db import models + from django.conf import settings + from django.db import models, connection from django.db.models.loading import get_app_errors from django.db.models.fields.related import RelatedObject @@ -862,6 +895,12 @@ def get_validation_errors(outfile, app=None): if f.db_index not in (None, True, False): e.add(opts, '"%s": "db_index" should be either None, True or False.' % f.name) + # Check that maxlength <= 255 if using older MySQL versions. + if settings.DATABASE_ENGINE == 'mysql': + db_version = connection.get_server_version() + if db_version < (5, 0, 3) and isinstance(f, (models.CharField, models.CommaSeparatedIntegerField, models.SlugField)) and f.maxlength > 255: + e.add(opts, '"%s": %s cannot have a "maxlength" greater than 255 when you are using a version of MySQL prior to 5.0.3 (you are using %s).' % (f.name, f.__class__.__name__, '.'.join([str(n) for n in db_version[:3]]))) + # Check to see if the related field will clash with any # existing fields, m2m fields, m2m related objects or related objects if f.rel: @@ -1169,7 +1208,7 @@ def runfcgi(args): runfastcgi(args) runfcgi.args = '[various KEY=val options, use `runfcgi help` for help]' -def test(verbosity, app_labels): +def test(app_labels, verbosity=1): "Runs the test suite for the specified applications" from django.conf import settings from django.db.models import get_app, get_apps @@ -1271,10 +1310,10 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): help='Tells Django to NOT prompt the user for input of any kind.') parser.add_option('--noreload', action='store_false', dest='use_reloader', default=True, help='Tells Django to NOT use the auto-reloader when running the development server.') - parser.add_option('--verbosity', action='store', dest='verbosity', default='2', + parser.add_option('--verbosity', action='store', dest='verbosity', default='1', type='choice', choices=['0', '1', '2'], help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'), - parser.add_option('--adminmedia', dest='admin_media_path', default='', help='Lets you manually specify the directory to serve admin media from when running the development server.'), + parser.add_option('--adminmedia', dest='admin_media_path', default='', help='Specifies the directory from which to serve admin media for runserver.'), options, args = parser.parse_args(argv[1:]) @@ -1320,7 +1359,7 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): parser.print_usage_and_exit() elif action == 'test': try: - action_mapping[action](int(options.verbosity), args[1:]) + action_mapping[action](args[1:], int(options.verbosity)) except IndexError: parser.print_usage_and_exit() elif action in ('startapp', 'startproject'): @@ -1354,7 +1393,10 @@ def execute_from_command_line(action_mapping=DEFAULT_ACTION_MAPPING, argv=None): if action not in NO_SQL_TRANSACTION: print style.SQL_KEYWORD("BEGIN;") for mod in mod_list: - output = action_mapping[action](mod) + if action == 'reset': + output = action_mapping[action](mod, options.interactive) + else: + output = action_mapping[action](mod) if output: print '\n'.join(output) if action not in NO_SQL_TRANSACTION: diff --git a/django/core/servers/basehttp.py b/django/core/servers/basehttp.py index fe534d5da0..a16b8b675a 100644 --- a/django/core/servers/basehttp.py +++ b/django/core/servers/basehttp.py @@ -594,7 +594,7 @@ class AdminMediaHandler(object): Use this ONLY LOCALLY, for development! This hasn't been tested for security and is not super efficient. """ - def __init__(self, application, media_dir = None): + def __init__(self, application, media_dir=None): from django.conf import settings self.application = application if not media_dir: diff --git a/django/core/urlresolvers.py b/django/core/urlresolvers.py index 2f557b90a6..45705cb223 100644 --- a/django/core/urlresolvers.py +++ b/django/core/urlresolvers.py @@ -15,7 +15,8 @@ class Resolver404(Http404): pass class NoReverseMatch(Exception): - pass + # Don't make this raise an error when used in a template. + silent_variable_failure = True def get_mod_func(callback): # Converts 'django.views.news.stories.story_detail' to diff --git a/django/core/validators.py b/django/core/validators.py index f2f3f44914..4c3f59143e 100644 --- a/django/core/validators.py +++ b/django/core/validators.py @@ -249,7 +249,7 @@ def hasNoProfanities(field_data, all_data): Watch your mouth! The words "f--k" and "s--t" are not allowed here. """ field_data = field_data.lower() # normalize - words_seen = [w for w in settings.PROFANITIES_LIST if field_data.find(w) > -1] + words_seen = [w for w in settings.PROFANITIES_LIST if w in field_data] if words_seen: from django.utils.text import get_text_list plural = len(words_seen) > 1 @@ -377,7 +377,7 @@ class IsValidFloat(object): if len(data) > max_allowed_length: raise ValidationError, ngettext("Please enter a valid decimal number with at most %s total digit.", "Please enter a valid decimal number with at most %s total digits.", self.max_digits) % self.max_digits - if (not '.' in data and len(data) > (max_allowed_length - self.decimal_places)) or ('.' in data and len(data) > (self.max_digits - (self.decimal_places - len(data.split('.')[1])) + 1)): + if (not '.' in data and len(data) > (max_allowed_length - self.decimal_places - 1)) or ('.' in data and len(data) > (max_allowed_length - (self.decimal_places - len(data.split('.')[1])))): raise ValidationError, ngettext( "Please enter a valid decimal number with a whole part of at most %s digit.", "Please enter a valid decimal number with a whole part of at most %s digits.", str(self.max_digits-self.decimal_places)) % str(self.max_digits-self.decimal_places) if '.' in data and len(data.split('.')[1]) > self.decimal_places: diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index 23ea76316f..04e5814988 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -13,6 +13,7 @@ except ImportError, e: from MySQLdb.converters import conversions from MySQLdb.constants import FIELD_TYPE import types +import re DatabaseError = Database.DatabaseError @@ -24,6 +25,12 @@ django_conversions.update({ FIELD_TYPE.TIME: util.typecast_time, }) +# This should match the numerical portion of the version numbers (we can treat +# versions like 5.0.24 and 5.0.24a as the same). Based on the list of version +# at http://dev.mysql.com/doc/refman/4.1/en/news.html and +# http://dev.mysql.com/doc/refman/5.0/en/news.html . +server_version_re = re.compile(r'(\d{1,2})\.(\d{1,2})\.(\d{1,2})') + # This is an extra debug layer over MySQL queries, to display warnings. # It's only used when DEBUG=True. class MysqlDebugWrapper: @@ -61,6 +68,7 @@ class DatabaseWrapper(local): def __init__(self): self.connection = None self.queries = [] + self.server_version = None def _valid_connection(self): if self.connection is not None: @@ -110,6 +118,16 @@ class DatabaseWrapper(local): self.connection.close() self.connection = None + def get_server_version(self): + if not self.server_version: + if not self._valid_connection(): + self.cursor() + m = server_version_re.match(self.connection.get_server_info()) + if not m: + raise Exception('Unable to determine MySQL version from version string %r' % self.connection.get_server_info()) + self.server_version = tuple([int(x) for x in m.groups()]) + return self.server_version + supports_constraints = True def quote_name(name): diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 49eb594838..d82f38527d 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -5,6 +5,7 @@ from django.core import validators from django import forms from django.core.exceptions import ObjectDoesNotExist from django.utils.functional import curry +from django.utils.itercompat import tee from django.utils.text import capfirst from django.utils.translation import gettext, gettext_lazy import datetime, os, time @@ -80,7 +81,7 @@ class Field(object): self.prepopulate_from = prepopulate_from self.unique_for_date, self.unique_for_month = unique_for_date, unique_for_month self.unique_for_year = unique_for_year - self.choices = choices or [] + self._choices = choices or [] self.radio_admin = radio_admin self.help_text = help_text self.db_column = db_column @@ -324,6 +325,14 @@ class Field(object): def bind(self, fieldmapping, original, bound_field_class): return bound_field_class(self, fieldmapping, original) + def _get_choices(self): + if hasattr(self._choices, 'next'): + choices, self._choices = tee(self._choices) + return choices + else: + return self._choices + choices = property(_get_choices) + class AutoField(Field): empty_strings_allowed = False def __init__(self, *args, **kwargs): @@ -367,8 +376,8 @@ class BooleanField(Field): def to_python(self, value): if value in (True, False): return value - if value in ('t', 'True'): return True - if value in ('f', 'False'): return False + if value in ('t', 'True', '1'): return True + if value in ('f', 'False', '0'): return False raise validators.ValidationError, gettext("This value must be either True or False.") def get_manipulator_field_objs(self): diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index aa232c07f3..dfe9a8b81f 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -618,7 +618,7 @@ class ManyToManyField(RelatedField, Field): msg = gettext_lazy('Separate multiple IDs with commas.') else: msg = gettext_lazy('Hold down "Control", or "Command" on a Mac, to select more than one.') - self.help_text = string_concat(self.help_text, msg) + self.help_text = string_concat(self.help_text, ' ', msg) def get_manipulator_field_objs(self): if self.rel.raw_id_admin: diff --git a/django/db/models/manipulators.py b/django/db/models/manipulators.py index faf453b86b..83ddda844e 100644 --- a/django/db/models/manipulators.py +++ b/django/db/models/manipulators.py @@ -177,7 +177,7 @@ class AutomaticManipulator(forms.Manipulator): # case, because they'll be dealt with later. if f == related.field: - param = getattr(new_object, related.field.rel.field_name) + param = getattr(new_object, related.field.rel.get_related_field().attname) elif (not self.change) and isinstance(f, AutoField): param = None elif self.change and (isinstance(f, FileField) or not child_follow.get(f.name, None)): @@ -215,7 +215,10 @@ class AutomaticManipulator(forms.Manipulator): # Save many-to-many objects. for f in related.opts.many_to_many: if child_follow.get(f.name, None) and not f.rel.edit_inline: - setattr(new_rel_obj, f.name, f.rel.to.objects.filter(pk__in=rel_new_data[f.attname])) + new_value = rel_new_data[f.attname] + if f.rel.raw_id_admin: + new_value = new_value[0] + setattr(new_rel_obj, f.name, f.rel.to.objects.filter(pk__in=new_value)) if self.change: self.fields_changed.append('%s for %s "%s"' % (f.verbose_name, related.opts.verbose_name, new_rel_obj)) @@ -300,7 +303,7 @@ def manipulator_validator_unique_together(field_name_list, opts, self, field_dat pass else: raise validators.ValidationError, _("%(object)s with this %(type)s already exists for the given %(field)s.") % \ - {'object': capfirst(opts.verbose_name), 'type': field_list[0].verbose_name, 'field': get_text_list(field_name_list[1:], 'and')} + {'object': capfirst(opts.verbose_name), 'type': field_list[0].verbose_name, 'field': get_text_list([f.verbose_name for f in field_list[1:]], 'and')} def manipulator_validator_unique_for_date(from_field, date_field, opts, lookup_type, self, field_data, all_data): from django.db.models.fields.related import ManyToOneRel diff --git a/django/db/models/query.py b/django/db/models/query.py index eb4b3b63ae..53ed63ae5b 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -707,30 +707,35 @@ def parse_lookup(kwarg_items, opts): joins, where, params = SortedDict(), [], [] for kwarg, value in kwarg_items: - if value is not None: - path = kwarg.split(LOOKUP_SEPARATOR) - # Extract the last elements of the kwarg. - # The very-last is the lookup_type (equals, like, etc). - # The second-last is the table column on which the lookup_type is - # to be performed. If this name is 'pk', it will be substituted with - # the name of the primary key. - # If there is only one part, or the last part is not a query - # term, assume that the query is an __exact - lookup_type = path.pop() - if lookup_type == 'pk': - lookup_type = 'exact' - path.append(None) - elif len(path) == 0 or lookup_type not in QUERY_TERMS: - path.append(lookup_type) - lookup_type = 'exact' + path = kwarg.split(LOOKUP_SEPARATOR) + # Extract the last elements of the kwarg. + # The very-last is the lookup_type (equals, like, etc). + # The second-last is the table column on which the lookup_type is + # to be performed. If this name is 'pk', it will be substituted with + # the name of the primary key. + # If there is only one part, or the last part is not a query + # term, assume that the query is an __exact + lookup_type = path.pop() + if lookup_type == 'pk': + lookup_type = 'exact' + path.append(None) + elif len(path) == 0 or lookup_type not in QUERY_TERMS: + path.append(lookup_type) + lookup_type = 'exact' - if len(path) < 1: - raise TypeError, "Cannot parse keyword query %r" % kwarg + if len(path) < 1: + raise TypeError, "Cannot parse keyword query %r" % kwarg + + if value is None: + # Interpret '__exact=None' as the sql '= NULL'; otherwise, reject + # all uses of None as a query value. + if lookup_type != 'exact': + raise ValueError, "Cannot use None as a query value" - joins2, where2, params2 = lookup_inner(path, lookup_type, value, opts, opts.db_table, None) - joins.update(joins2) - where.extend(where2) - params.extend(params2) + joins2, where2, params2 = lookup_inner(path, lookup_type, value, opts, opts.db_table, None) + joins.update(joins2) + where.extend(where2) + params.extend(params2) return joins, where, params class FieldFound(Exception): diff --git a/django/forms/__init__.py b/django/forms/__init__.py index 759a32ba81..5f47059f03 100644 --- a/django/forms/__init__.py +++ b/django/forms/__init__.py @@ -54,6 +54,7 @@ class Manipulator(object): def get_validation_errors(self, new_data): "Returns dictionary mapping field_names to error-message lists" errors = {} + self.prepare(new_data) for field in self.fields: errors.update(field.get_validation_errors(new_data)) val_name = 'validate_%s' % field.field_name @@ -638,7 +639,7 @@ class CheckboxSelectMultipleField(SelectMultipleField): if str(value) in str_data_list: checked_html = ' checked="checked"' field_name = '%s%s' % (self.field_name, value) - output.append('<li><input type="checkbox" id="%s" class="v%s" name="%s"%s /> <label for="%s">%s</label></li>' % \ + output.append('<li><input type="checkbox" id="%s" class="v%s" name="%s"%s value="on" /> <label for="%s">%s</label></li>' % \ (self.get_id() + escape(value), self.__class__.__name__, field_name, checked_html, self.get_id() + escape(value), choice)) output.append('</ul>') diff --git a/django/middleware/common.py b/django/middleware/common.py index 4f060b8590..6283214fad 100644 --- a/django/middleware/common.py +++ b/django/middleware/common.py @@ -2,6 +2,7 @@ from django.conf import settings from django import http from django.core.mail import mail_managers import md5 +import re class CommonMiddleware(object): """ @@ -61,12 +62,12 @@ class CommonMiddleware(object): # send a note to the managers. domain = http.get_host(request) referer = request.META.get('HTTP_REFERER', None) - is_internal = referer and (domain in referer) + is_internal = _is_internal_request(domain, referer) path = request.get_full_path() if referer and not _is_ignorable_404(path) and (is_internal or '?' not in referer): - ua = request.META.get('HTTP_USER_AGENT','<none>') + ua = request.META.get('HTTP_USER_AGENT', '<none>') mail_managers("Broken %slink on %s" % ((is_internal and 'INTERNAL ' or ''), domain), - "Referrer: %s\nRequested URL: %s\nUser Agent: %s\n" % (referer, request.get_full_path(), ua)) + "Referrer: %s\nRequested URL: %s\nUser agent: %s\n" % (referer, request.get_full_path(), ua)) return response # Use ETags, if requested. @@ -88,3 +89,8 @@ def _is_ignorable_404(uri): if uri.endswith(end): return True return False + +def _is_internal_request(domain, referer): + "Return true if the referring URL is the same domain as the current request" + # Different subdomains are treated as different domains. + return referer is not None and re.match("^https?://%s/" % re.escape(domain), referer) diff --git a/django/template/__init__.py b/django/template/__init__.py index fa75f6c2f5..af8f37a474 100644 --- a/django/template/__init__.py +++ b/django/template/__init__.py @@ -532,7 +532,7 @@ class FilterExpression(object): constant_arg, i18n_arg, var_arg = match.group("constant_arg", "i18n_arg", "var_arg") if i18n_arg: args.append((False, _(i18n_arg.replace(r'\"', '"')))) - elif constant_arg: + elif constant_arg is not None: args.append((False, constant_arg.replace(r'\"', '"'))) elif var_arg: args.append((True, var_arg)) diff --git a/django/test/client.py b/django/test/client.py index 3dfe764a38..6e0b443f83 100644 --- a/django/test/client.py +++ b/django/test/client.py @@ -8,7 +8,7 @@ from django.utils.functional import curry class ClientHandler(BaseHandler): """ - A HTTP Handler that can be used for testing purposes. + A HTTP Handler that can be used for testing purposes. Uses the WSGI interface to compose requests, but returns the raw HttpResponse object """ @@ -24,7 +24,7 @@ class ClientHandler(BaseHandler): dispatcher.send(signal=signals.request_started) try: request = WSGIRequest(environ) - response = self.get_response(request.path, request) + response = self.get_response(request) # Apply response middleware for middleware_method in self._response_middleware: @@ -32,7 +32,7 @@ class ClientHandler(BaseHandler): finally: dispatcher.send(signal=signals.request_finished) - + return response def store_rendered_templates(store, signal, sender, template, context): @@ -44,7 +44,7 @@ def encode_multipart(boundary, data): """ A simple method for encoding multipart POST data from a dictionary of form values. - + The key will be used as the form data name; the value will be transmitted as content. If the value is a file, the contents of the file will be sent as an application/octet-stream; otherwise, str(value) will be sent. @@ -69,7 +69,7 @@ def encode_multipart(boundary, data): '', str(value) ]) - + lines.extend([ '--' + boundary + '--', '', @@ -78,8 +78,8 @@ def encode_multipart(boundary, data): class Client: """ - A class that can act as a client for testing purposes. - + A class that can act as a client for testing purposes. + It allows the user to compose GET and POST requests, and obtain the response that the server gave to those requests. The server Response objects are annotated with the details @@ -88,7 +88,7 @@ class Client: Client objects are stateful - they will retain cookie (and thus session) details for the lifetime of the Client instance. - + This is not intended as a replacement for Twill/Selenium or the like - it is here to allow testing against the contexts and templates produced by a view, rather than the @@ -98,10 +98,10 @@ class Client: self.handler = ClientHandler() self.defaults = defaults self.cookie = SimpleCookie() - + def request(self, **request): """ - The master request method. Composes the environment dictionary + The master request method. Composes the environment dictionary and passes to the handler, returning the result of the handler. Assumes defaults for the query environment, which can be overridden using the arguments to the request. @@ -112,24 +112,24 @@ class Client: 'PATH_INFO': '/', 'QUERY_STRING': '', 'REQUEST_METHOD': 'GET', - 'SCRIPT_NAME': None, + 'SCRIPT_NAME': None, 'SERVER_NAME': 'testserver', 'SERVER_PORT': 80, 'SERVER_PROTOCOL': 'HTTP/1.1', - } + } environ.update(self.defaults) - environ.update(request) + environ.update(request) # Curry a data dictionary into an instance of # the template renderer callback function data = {} on_template_render = curry(store_rendered_templates, data) dispatcher.connect(on_template_render, signal=signals.template_rendered) - + response = self.handler(environ) - + # Add any rendered template detail to the response - # If there was only one template rendered (the most likely case), + # If there was only one template rendered (the most likely case), # flatten the list to a single element for detail in ('template', 'context'): if data.get(detail): @@ -139,12 +139,12 @@ class Client: setattr(response, detail, data[detail]) else: setattr(response, detail, None) - + if response.cookies: self.cookie.update(response.cookies) return response - + def get(self, path, data={}, **extra): "Request a response from the server using GET." r = { @@ -155,12 +155,12 @@ class Client: 'REQUEST_METHOD': 'GET', } r.update(extra) - + return self.request(**r) - + def post(self, path, data={}, **extra): "Request a response from the server using POST." - + BOUNDARY = 'BoUnDaRyStRiNg' encoded = encode_multipart(BOUNDARY, data) @@ -173,25 +173,25 @@ class Client: 'wsgi.input': stream, } r.update(extra) - + return self.request(**r) def login(self, path, username, password, **extra): """ A specialized sequence of GET and POST to log into a view that is protected by a @login_required access decorator. - + path should be the URL of the page that is login protected. - - Returns the response from GETting the requested URL after + + Returns the response from GETting the requested URL after login is complete. Returns False if login process failed. """ - # First, GET the page that is login protected. + # First, GET the page that is login protected. # This page will redirect to the login page. response = self.get(path) if response.status_code != 302: return False - + login_path, data = response['Location'].split('?') next = data.split('=')[1] @@ -199,7 +199,7 @@ class Client: response = self.get(login_path, **extra) if response.status_code != 200: return False - + # Last, POST the login data. form_data = { 'username': username, diff --git a/django/utils/itercompat.py b/django/utils/itercompat.py new file mode 100644 index 0000000000..370988bedb --- /dev/null +++ b/django/utils/itercompat.py @@ -0,0 +1,31 @@ +""" +Providing iterator functions that are not in all version of Python we support. +Where possible, we try to use the system-native version and only fall back to +these implementations if necessary. +""" + +import itertools + +def compat_tee(iterable): + """Return two independent iterators from a single iterable. + + Based on http://www.python.org/doc/2.3.5/lib/itertools-example.html + """ + # Note: Using a dictionary and a list as the default arguments here is + # deliberate and safe in this instance. + def gen(next, data={}, cnt=[0]): + dpop = data.pop + for i in itertools.count(): + if i == cnt[0]: + item = data[i] = next() + cnt[0] += 1 + else: + item = dpop(i) + yield item + next = iter(iterable).next + return gen(next), gen(next) + +if hasattr(itertools, 'tee'): + tee = itertools.tee +else: + tee = compat_tee diff --git a/django/views/generic/create_update.py b/django/views/generic/create_update.py index 034253a549..3a03fa59e4 100644 --- a/django/views/generic/create_update.py +++ b/django/views/generic/create_update.py @@ -102,7 +102,7 @@ def update_object(request, model, object_id=None, slug=None, except ObjectDoesNotExist: raise Http404, "No %s found for %s" % (model._meta.verbose_name, lookup_kwargs) - manipulator = model.ChangeManipulator(getattr(object, object._meta.pk.name), follow=follow) + manipulator = model.ChangeManipulator(getattr(object, object._meta.pk.attname), follow=follow) if request.POST: new_data = request.POST.copy() @@ -142,7 +142,7 @@ def update_object(request, model, object_id=None, slug=None, else: c[key] = value response = HttpResponse(t.render(c)) - populate_xheaders(request, response, model, getattr(object, object._meta.pk.name)) + populate_xheaders(request, response, model, getattr(object, object._meta.pk.attname)) return response def delete_object(request, model, post_delete_redirect, @@ -196,5 +196,5 @@ def delete_object(request, model, post_delete_redirect, else: c[key] = value response = HttpResponse(t.render(c)) - populate_xheaders(request, response, model, getattr(object, object._meta.pk.name)) + populate_xheaders(request, response, model, getattr(object, object._meta.pk.attname)) return response |
