diff --git a/AUTHORS b/AUTHORS index 10a03b920c..6807e0e571 100644 --- a/AUTHORS +++ b/AUTHORS @@ -70,6 +70,7 @@ answer newbie questions, and generally made Django that much better: Andrew Brehaut brut.alll@gmail.com Jonathan Buchanan + Can Burak Çilingir Trevor Caira Ricardo Javier Cárdenes Medina Graham Carlyle @@ -175,6 +176,7 @@ answer newbie questions, and generally made Django that much better: jpellerin@gmail.com junzhang.jn@gmail.com Antti Kaihola + Bahadır Kandemir Nagy Károly Erik Karulf Ben Dean Kawamura diff --git a/django/conf/locale/ca/LC_MESSAGES/django.mo b/django/conf/locale/ca/LC_MESSAGES/django.mo index a39a4551bb..427ea96806 100644 Binary files a/django/conf/locale/ca/LC_MESSAGES/django.mo and b/django/conf/locale/ca/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/ca/LC_MESSAGES/django.po b/django/conf/locale/ca/LC_MESSAGES/django.po index 2929ea114e..64f796bc12 100644 --- a/django/conf/locale/ca/LC_MESSAGES/django.po +++ b/django/conf/locale/ca/LC_MESSAGES/django.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-12-02 22:26+0100\n" -"PO-Revision-Date: 2007-12-02 22:32+0100\n" +"POT-Creation-Date: 2007-12-29 21:28+0100\n" +"PO-Revision-Date: 2007-12-30 11:38+0100\n" "Last-Translator: Marc Fargas \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -1691,41 +1691,42 @@ msgstr "demà" msgid "yesterday" msgstr "ahir" -#: contrib/localflavor/ar/forms.py:30 contrib/localflavor/ar/forms.py:38 +#: contrib/localflavor/ar/forms.py:28 msgid "Enter a postal code in the format NNNN or ANNNNAAA." -msgstr "Introdueixi un codi postal en el format NNNN or ANNNNAAA." +msgstr "Introdueixi un codi postal en el format NNNN o ANNNNAAA." -#: contrib/localflavor/ar/forms.py:61 contrib/localflavor/br/forms.py:103 -#: contrib/localflavor/pe/forms.py:34 contrib/localflavor/pe/forms.py:57 +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:96 +#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 +#: contrib/localflavor/pe/forms.py:51 msgid "This field requires only numbers." msgstr "Aquest camps requereix només números." -#: contrib/localflavor/ar/forms.py:64 +#: contrib/localflavor/ar/forms.py:51 msgid "This field requires 7 or 8 digits." msgstr "Aquest camp requereix 7 o 8 dígits." -#: contrib/localflavor/ar/forms.py:75 +#: contrib/localflavor/ar/forms.py:80 msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." msgstr "" "Introdueixi un número CUIT vàlid en el format XX-XXXXXXXX-X o XXXXXXXXXXXX." -#: contrib/localflavor/ar/forms.py:88 +#: contrib/localflavor/ar/forms.py:81 msgid "Invalid CUIT." msgstr "Invàlid CUIT." -#: contrib/localflavor/au/forms.py:18 +#: contrib/localflavor/au/forms.py:16 msgid "Enter a 4 digit post code." msgstr "Introdueixi un codi postal de 4 dígits." -#: contrib/localflavor/br/forms.py:23 +#: contrib/localflavor/br/forms.py:21 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "Introdueixi un codi zip en el format XXXXX-XXX." -#: contrib/localflavor/br/forms.py:35 +#: contrib/localflavor/br/forms.py:30 msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "El número de telèfon ha de ser en el format XX-XXXX-XXXX." -#: contrib/localflavor/br/forms.py:68 +#: contrib/localflavor/br/forms.py:58 msgid "" "Select a valid brazilian state. That state is not one of the available " "states." @@ -1733,30 +1734,30 @@ msgstr "" "Seleccioni un estat brasiler vàlid. Aquest estat no és un dels estats " "disponibles." -#: contrib/localflavor/br/forms.py:105 -msgid "This field requires at most 11 digits or 14 characters." -msgstr "Aquest camp requereix com a màxim 11 dígits o 14 caracters." - -#: contrib/localflavor/br/forms.py:115 +#: contrib/localflavor/br/forms.py:94 msgid "Invalid CPF number." msgstr "Número CPF invàlid." -#: contrib/localflavor/br/forms.py:137 -msgid "This field requires at least 14 digits" -msgstr "Aquest camp requereix almenys 14 dígits." +#: contrib/localflavor/br/forms.py:95 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Aquest camp requereix com a màxim 11 dígits o 14 caracters." -#: contrib/localflavor/br/forms.py:147 +#: contrib/localflavor/br/forms.py:134 msgid "Invalid CNPJ number." msgstr "Número CNPJ invàlid." -#: contrib/localflavor/ca/forms.py:19 +#: contrib/localflavor/br/forms.py:136 +msgid "This field requires at least 14 digits" +msgstr "Aquest camp requereix almenys 14 dígits." + +#: contrib/localflavor/ca/forms.py:17 msgid "Enter a postal code in the format XXX XXX." msgstr "Introdueixi un codi postal en el format XXX XXX." -#: contrib/localflavor/ca/forms.py:81 +#: contrib/localflavor/ca/forms.py:88 msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format." msgstr "" -"Introdueixi un número vàlid de la Seguretat Social de Canada en el format " +"Introdueixi un número vàlid de la Seguretat Social de Canadà en el format " "XXX-XXX-XXXX." #: contrib/localflavor/ch/ch_states.py:5 @@ -1863,11 +1864,11 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:18 contrib/localflavor/no/forms.py:14 +#: contrib/localflavor/ch/forms.py:16 contrib/localflavor/no/forms.py:12 msgid "Enter a zip code in the format XXXX." msgstr "Introdueixi un codi zip en el format XXXX." -#: contrib/localflavor/ch/forms.py:90 +#: contrib/localflavor/ch/forms.py:64 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -1875,13 +1876,17 @@ msgstr "" "Introdueixi un número de identificació o de passaport Suïssos en els formats " "1234567890 o X1234567<0." -#: contrib/localflavor/cl/forms.py:32 -msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." +#: contrib/localflavor/cl/forms.py:29 +msgid "Enter a valid Chilean RUT." +msgstr "Introdueixi un RUT Xilè vàlid." + +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." msgstr "Introdueixi un RUT Xilè vàlid. El format és XX.XXX.XXX-X" -#: contrib/localflavor/cl/forms.py:37 -msgid "Enter valid a Chilean RUT" -msgstr "Introdueixi un RUT Xilè vàlid." +#: contrib/localflavor/cl/forms.py:31 +msgid "The Chilean RUT is not valid." +msgstr "El RUT Xilè no és vàlid." #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" @@ -1947,12 +1952,12 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:16 contrib/localflavor/fi/forms.py:14 -#: contrib/localflavor/fr/forms.py:17 +#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/fr/forms.py:15 msgid "Enter a zip code in the format XXXXX." msgstr "Introdueixi un codi zip en el format XXXXX." -#: contrib/localflavor/de/forms.py:60 +#: contrib/localflavor/de/forms.py:41 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." @@ -2227,7 +2232,7 @@ msgstr "Comunitat Foral de Navarra" msgid "Valencian Community" msgstr "Comunitat Valenciana" -#: contrib/localflavor/es/forms.py:22 +#: contrib/localflavor/es/forms.py:19 msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." msgstr "Introdueixi un codi postal en rang i format 01XXX - 52XXX." @@ -2239,40 +2244,42 @@ msgstr "" "Introdueixi un número de telèfon vàlid en un dels formats 6XXXXXXXX, " "8XXXXXXXX o 9XXXXXXXX." -#: contrib/localflavor/es/forms.py:73 contrib/localflavor/es/forms.py:108 -#: db/models/fields/related.py:55 -#, python-format -msgid "Please enter a valid %s." -msgstr "Si us plau, introdueixi un %s vàlid." +#: contrib/localflavor/es/forms.py:66 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Si us plau, introdueixi un NIF, NIE o CIF vàlid." -#: contrib/localflavor/es/forms.py:91 +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF or NIE." +msgstr "Si us plau, introdueixi un NIF o NIE vàlid." + +#: contrib/localflavor/es/forms.py:68 msgid "Invalid checksum for NIF." msgstr "Validació invàlida del NIF." -#: contrib/localflavor/es/forms.py:97 +#: contrib/localflavor/es/forms.py:69 msgid "Invalid checksum for NIE." msgstr "Validació invàlida del NIE." -#: contrib/localflavor/es/forms.py:106 +#: contrib/localflavor/es/forms.py:70 msgid "Invalid checksum for CIF." msgstr "Validació invàlida del CIF." -#: contrib/localflavor/es/forms.py:136 +#: contrib/localflavor/es/forms.py:142 msgid "" "Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." msgstr "" "Introdueixi un número de compte bancari vàlid en el format XXXX-XXXX-XX-" "XXXXXXXXXX." -#: contrib/localflavor/es/forms.py:150 +#: contrib/localflavor/es/forms.py:143 msgid "Invalid checksum for bank account number." msgstr "Validació invàlida del número de compte bancari." -#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +#: contrib/localflavor/fi/forms.py:28 msgid "Enter a valid Finnish social security number." msgstr "Introdueixi un número vàlid de la seguretat social finlandesa." -#: contrib/localflavor/in_/forms.py:16 +#: contrib/localflavor/in_/forms.py:14 msgid "Enter a zip code in the format XXXXXXX." msgstr "Introdueixi un codi zip en el format XXXXXXX." @@ -2282,15 +2289,15 @@ msgid "" msgstr "" "Introdueixi un número de identificació d'Islàndia. El format és XXXXXX-XXXX." -#: contrib/localflavor/is_/forms.py:31 +#: contrib/localflavor/is_/forms.py:18 msgid "The Icelandic identification number is not valid." msgstr "El número de identificació d'Islàndia no és vàlid." -#: contrib/localflavor/it/forms.py:16 +#: contrib/localflavor/it/forms.py:14 msgid "Enter a valid zip code." msgstr "Introdueixi un codi zip vàlid." -#: contrib/localflavor/it/forms.py:41 +#: contrib/localflavor/it/forms.py:43 msgid "Enter a valid Social Security number." msgstr "Introdueixi un número valid de la Seguretat Social." @@ -2298,7 +2305,7 @@ msgstr "Introdueixi un número valid de la Seguretat Social." msgid "Enter a valid VAT number." msgstr "Introdueixi un número de IVA (VAT) vàlid." -#: contrib/localflavor/jp/forms.py:21 +#: contrib/localflavor/jp/forms.py:19 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." msgstr "Introdueixi un codi postal en el format XXXXXXX o XX-XXXX." @@ -2490,15 +2497,143 @@ msgstr "Kagoshima" msgid "Okinawa" msgstr "Okinawa" -#: contrib/localflavor/nl/forms.py:25 +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "" + +#: contrib/localflavor/nl/forms.py:21 msgid "Enter a valid postal code" msgstr "Introdueixi un codi postal vàlid." -#: contrib/localflavor/nl/forms.py:53 +#: contrib/localflavor/nl/forms.py:52 msgid "Enter a valid phone number" msgstr "Introdueixi un número de telèfon vàlid." -#: contrib/localflavor/nl/forms.py:76 +#: contrib/localflavor/nl/forms.py:78 msgid "Enter a valid SoFi number" msgstr "Introdueixi un número SoFi vàlid." @@ -2550,23 +2685,23 @@ msgstr "Zeeland" msgid "Zuid-Holland" msgstr "Zuid-Holland" -#: contrib/localflavor/no/forms.py:35 +#: contrib/localflavor/no/forms.py:33 msgid "Enter a valid Norwegian social security number." msgstr "Introdueixi un número de la seguretat social Noruega vàlid." -#: contrib/localflavor/pe/forms.py:36 +#: contrib/localflavor/pe/forms.py:24 msgid "This field requires 8 digits." msgstr "Aquest camp requereix 8 dígits." -#: contrib/localflavor/pe/forms.py:59 +#: contrib/localflavor/pe/forms.py:52 msgid "This field requires 11 digits." msgstr "Aquest camp requereix 11 dígits." -#: contrib/localflavor/pl/forms.py:41 +#: contrib/localflavor/pl/forms.py:39 msgid "National Identification Number consists of 11 digits." msgstr "El número d'identidicació nacional està compost de 11 digits." -#: contrib/localflavor/pl/forms.py:47 +#: contrib/localflavor/pl/forms.py:40 msgid "Wrong checksum for the National Identification Number." msgstr "Validació invàlida del número d'identificació nacional." @@ -2575,11 +2710,11 @@ msgid "" "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." msgstr "Introdueixi un número NIP en el format XXX-XXX-XX-XX o XX-XX-XXX-XXX." -#: contrib/localflavor/pl/forms.py:78 +#: contrib/localflavor/pl/forms.py:73 msgid "Wrong checksum for the Tax Number (NIP)." msgstr "Validació invàlida del número tributari (NIP)." -#: contrib/localflavor/pl/forms.py:107 +#: contrib/localflavor/pl/forms.py:112 msgid "National Business Register Number (REGON) consists of 7 or 9 digits." msgstr "" "El número nacional de registre de negocis (REGON) consisteix en 7 o 9 dígits." @@ -2588,7 +2723,7 @@ msgstr "" msgid "Wrong checksum for the National Business Register Number (REGON)." msgstr "Validació invàlida del número nacional de registre de negocis." -#: contrib/localflavor/pl/forms.py:148 +#: contrib/localflavor/pl/forms.py:156 msgid "Enter a postal code in the format XX-XXX." msgstr "Introdueixi un codi postal en el format XX-XXX." @@ -2656,7 +2791,7 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" -#: contrib/localflavor/sk/forms.py:32 +#: contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "Introdueixi un codi postal en el format XXXXX or XXX XX." @@ -3008,27 +3143,302 @@ msgstr "Regió de Trnava" msgid "Zilina region" msgstr "Regió de Zilina" -#: contrib/localflavor/uk/forms.py:18 -msgid "Enter a postcode. A space is required between the two postcode parts." -msgstr "" -"Introdueixi un codi postal. És necessari un espai entre les dues parts del " -"codi postal." +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "Introdueixi un codi postal vàlid." -#: contrib/localflavor/us/forms.py:18 +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/us/forms.py:16 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "Introdueixi un codi zip en el format XXXXX o XXXXX-XXXX." -#: contrib/localflavor/us/forms.py:51 +#: contrib/localflavor/us/forms.py:54 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "" "Introdueixi un número vàlid de la Seguretat Social dels E.U.A. en el format " "XXX-XX-XXXX." -#: contrib/localflavor/za/forms.py:22 +#: contrib/localflavor/za/forms.py:20 msgid "Enter a valid South African ID number" msgstr "Introdueixi un número d'Identitat Sud Africà valid" -#: contrib/localflavor/za/forms.py:57 +#: contrib/localflavor/za/forms.py:54 msgid "Enter a valid South African postal code" msgstr "Introdueixi un codi postal Sud Africà vàlid." @@ -3503,6 +3913,11 @@ msgstr "Introdueixi un nom de fitxer vàlid." msgid "This value must be either None, True or False." msgstr "Aquest valor ha de ser None (Cap), True (Veritat) o False (Fals)" +#: db/models/fields/related.py:55 +#, python-format +msgid "Please enter a valid %s." +msgstr "Si us plau, introdueixi un %s vàlid." + #: db/models/fields/related.py:658 msgid "Separate multiple IDs with commas." msgstr "Separi múltiples IDs amb comes." @@ -3599,7 +4014,7 @@ msgstr "Introdueixi una URL vàlida." msgid "This URL appears to be a broken link." msgstr "Aquesta URL sembla ser un enllaç trencat." -#: newforms/fields.py:555 newforms/models.py:155 +#: newforms/fields.py:555 newforms/models.py:317 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "" "Esculli una opció vàlida; Aquesta opció no és una de les opcions disponibles." @@ -3609,7 +4024,7 @@ msgstr "" msgid "Select a valid choice. %(value)s is not one of the available choices." msgstr "Esculli una opció vàlida. %(value)s no és una de les opcions vàlides." -#: newforms/fields.py:595 newforms/fields.py:657 newforms/models.py:215 +#: newforms/fields.py:595 newforms/fields.py:657 newforms/models.py:377 msgid "Enter a list of values." msgstr "Introdueixi una llista de valors." @@ -3617,7 +4032,7 @@ msgstr "Introdueixi una llista de valors." msgid "Enter a valid IPv4 address." msgstr "Introdueixi una adreça IPv4 vàlida." -#: newforms/models.py:216 +#: newforms/models.py:378 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "Esculli una opció vàlida; %s' no és una de les opcions vàlides." @@ -3650,28 +4065,28 @@ msgstr "Introdueixi un número positiu." msgid "Enter a whole number between 0 and 32,767." msgstr "Introdueixi un número entre 0 i 32,767." -#: template/defaultfilters.py:658 +#: template/defaultfilters.py:683 msgid "yes,no,maybe" msgstr "si,no,potser" -#: template/defaultfilters.py:689 +#: template/defaultfilters.py:714 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:691 +#: template/defaultfilters.py:716 #, python-format msgid "%.1f KB" msgstr "%.1f KB" -#: template/defaultfilters.py:693 +#: template/defaultfilters.py:718 #, python-format msgid "%.1f MB" msgstr "%.1f MB" -#: template/defaultfilters.py:694 +#: template/defaultfilters.py:719 #, python-format msgid "%.1f GB" msgstr "%.1f GB" @@ -3968,3 +4383,9 @@ msgstr "El/La %(verbose_name)s s'ha actualtzat amb èxit." #, python-format msgid "The %(verbose_name)s was deleted." msgstr "El %(verbose_name)s s'ha eliminat." + +#~ msgid "" +#~ "Enter a postcode. A space is required between the two postcode parts." +#~ msgstr "" +#~ "Introdueixi un codi postal. És necessari un espai entre les dues parts " +#~ "del codi postal." diff --git a/django/conf/locale/hr/LC_MESSAGES/django.mo b/django/conf/locale/hr/LC_MESSAGES/django.mo index 5e1c7a9c45..1a32d1636e 100644 Binary files a/django/conf/locale/hr/LC_MESSAGES/django.mo and b/django/conf/locale/hr/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/hr/LC_MESSAGES/django.po b/django/conf/locale/hr/LC_MESSAGES/django.po index 6b299acf70..a42a689c1f 100644 --- a/django/conf/locale/hr/LC_MESSAGES/django.po +++ b/django/conf/locale/hr/LC_MESSAGES/django.po @@ -1,870 +1,1329 @@ # translation of django.po to Hrvatski jezik -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. +# This file is distributed under the same license as the Django package. # msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-06 23:19+0200\n" -"PO-Revision-Date: 2007-10-12 21:22+0200\n" +"POT-Creation-Date: 2008-01-06 16:24+0100\n" +"PO-Revision-Date: 2008-01-05 00:42+0100\n" "Last-Translator: Aljosa Mohorovic \n" "Language-Team: Hrvatski jezik\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" +"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-Generator: KBabel 1.11.4\n" -#: oldforms/__init__.py:373 db/models/fields/__init__.py:156 -#: db/models/fields/__init__.py:313 db/models/fields/__init__.py:721 -#: db/models/fields/__init__.py:732 newforms/models.py:193 -#: newforms/fields.py:92 newforms/fields.py:490 newforms/fields.py:566 -#: newforms/fields.py:577 -msgid "This field is required." -msgstr "Unos za ovo polje je obavezan." - -#: oldforms/__init__.py:408 -#, 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] "Uneseni tekst mora sadržavati manje od %s znakova." - -#: oldforms/__init__.py:413 -msgid "Line breaks are not allowed here." -msgstr "Unos u novi red ovdje nije dozvoljen." - -#: oldforms/__init__.py:511 oldforms/__init__.py:585 oldforms/__init__.py:624 -#, python-format -msgid "Select a valid choice; '%(data)s' is not in %(choices)s." -msgstr "Odaberite iz ponuđenog; '%(data)s' nije u %(choices)s." - -#: oldforms/__init__.py:591 newforms/widgets.py:188 -#: contrib/admin/filterspecs.py:152 -msgid "Unknown" -msgstr "Nepoznat pojam." - -#: oldforms/__init__.py:591 newforms/widgets.py:188 -#: contrib/admin/filterspecs.py:145 -msgid "Yes" -msgstr "Da" - -#: oldforms/__init__.py:591 newforms/widgets.py:188 -#: contrib/admin/filterspecs.py:145 -msgid "No" -msgstr "Ne" - -#: oldforms/__init__.py:686 core/validators.py:181 core/validators.py:461 -#: newforms/fields.py:376 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Datoteka nije poslana. Provjerite 'encoding type' forme." - -#: oldforms/__init__.py:688 newforms/fields.py:380 -msgid "The submitted file is empty." -msgstr "Poslana datoteka je prazna." - -#: oldforms/__init__.py:744 -msgid "Enter a whole number between -32,768 and 32,767." -msgstr "Unesite cijeli broj između -32,768 i 32,767." - -#: oldforms/__init__.py:754 -msgid "Enter a positive number." -msgstr "Unesite pozitivan broj." - -#: oldforms/__init__.py:764 -msgid "Enter a whole number between 0 and 32,767." -msgstr "Unesite cijeli broj između 0 i 32,767." - -#: db/models/manipulators.py:309 -#, python-format -msgid "%(object)s with this %(type)s already exists for the given %(field)s." -msgstr "%(object)s sa %(type)s već postoji za navedeno %(field)s." - -#: db/models/manipulators.py:310 contrib/admin/views/main.py:342 -#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346 -msgid "and" -msgstr "i" - -#: db/models/fields/__init__.py:49 -#, python-format -msgid "%(optname)s with this %(fieldname)s already exists." -msgstr "%(optname)s sa navedenim %(fieldname)s već postoji." - -#: db/models/fields/__init__.py:411 -msgid "This value must be an integer." -msgstr "Vrijednost mora biti interger." - -#: db/models/fields/__init__.py:446 -msgid "This value must be either True or False." -msgstr "Vrijednost mora biti True ili False." - -#: db/models/fields/__init__.py:467 -msgid "This field cannot be null." -msgstr "Ovo polje ne može biti null." - -#: db/models/fields/__init__.py:501 core/validators.py:155 -msgid "Enter a valid date in YYYY-MM-DD format." -msgstr "Unesite validan datum u formatu YYYY-MM-DD." - -#: db/models/fields/__init__.py:570 core/validators.py:164 -msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." -msgstr "Unesite validan datum/vrijeme u formatu YYYY-MM-DD HH:MM." - -#: db/models/fields/__init__.py:631 -msgid "This value must be a decimal number." -msgstr "Vrijednost mora biti decimalan broj." - -#: db/models/fields/__init__.py:741 -msgid "Enter a valid filename." -msgstr "Unesite ime datoteke koja postoji." - -#: db/models/fields/__init__.py:883 -msgid "This value must be either None, True or False." -msgstr "Vrijednost mora biti None, True ili False." - -#: db/models/fields/related.py:55 -#, python-format -msgid "Please enter a valid %s." -msgstr "Molim unesite validan %s." - -#: db/models/fields/related.py:661 -msgid "Separate multiple IDs with commas." -msgstr "Odvojite više ID-a zarezom." - -#: db/models/fields/related.py:663 -msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "Držite \"Control\", ili \"Command\" na Mac-u, da bi odabravili više od jednog objekta." - -#: db/models/fields/related.py:710 -#, 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] "Molim unesite ispravan %(self)s ID. Vrijednost %(value)r je neispravna." -msgstr[1] "" - -#: conf/global_settings.py:38 +#: conf/global_settings.py:39 msgid "Arabic" msgstr "" -#: conf/global_settings.py:39 +#: conf/global_settings.py:40 msgid "Bengali" msgstr "" -#: conf/global_settings.py:40 -msgid "Bulgarian" -msgstr "" - #: conf/global_settings.py:41 +msgid "Bulgarian" +msgstr "Bugarski" + +#: conf/global_settings.py:42 msgid "Catalan" msgstr "" -#: conf/global_settings.py:42 -msgid "Czech" -msgstr "" - #: conf/global_settings.py:43 +msgid "Czech" +msgstr "Češki" + +#: conf/global_settings.py:44 msgid "Welsh" msgstr "" -#: conf/global_settings.py:44 -msgid "Danish" -msgstr "" - #: conf/global_settings.py:45 -msgid "German" -msgstr "" +msgid "Danish" +msgstr "Danski" #: conf/global_settings.py:46 -msgid "Greek" -msgstr "" +msgid "German" +msgstr "Njemački" #: conf/global_settings.py:47 -msgid "English" -msgstr "" +msgid "Greek" +msgstr "Grčki" #: conf/global_settings.py:48 -msgid "Spanish" -msgstr "" +msgid "English" +msgstr "Engleski" #: conf/global_settings.py:49 +msgid "Spanish" +msgstr "Španjolski" + +#: conf/global_settings.py:50 msgid "Argentinean Spanish" msgstr "" -#: conf/global_settings.py:50 -msgid "Persian" -msgstr "" - #: conf/global_settings.py:51 -msgid "Finnish" -msgstr "" +msgid "Persian" +msgstr "Perzijski" #: conf/global_settings.py:52 -msgid "French" -msgstr "" +msgid "Finnish" +msgstr "Finski" #: conf/global_settings.py:53 -msgid "Galician" -msgstr "" +msgid "French" +msgstr "Francuski" #: conf/global_settings.py:54 -msgid "Hungarian" +msgid "Gaeilge" msgstr "" #: conf/global_settings.py:55 -msgid "Hebrew" +msgid "Galician" msgstr "" #: conf/global_settings.py:56 -msgid "Icelandic" -msgstr "" +msgid "Hungarian" +msgstr "Mađarski" #: conf/global_settings.py:57 -msgid "Italian" +msgid "Hebrew" msgstr "" #: conf/global_settings.py:58 -msgid "Japanese" -msgstr "" +msgid "Croatian" +msgstr "Hrvatski" #: conf/global_settings.py:59 -msgid "Korean" +msgid "Icelandic" msgstr "" #: conf/global_settings.py:60 -msgid "Kannada" -msgstr "" +msgid "Italian" +msgstr "Talijanski" #: conf/global_settings.py:61 -msgid "Latvian" -msgstr "" +msgid "Japanese" +msgstr "Japanski" #: conf/global_settings.py:62 -msgid "Macedonian" -msgstr "" +msgid "Korean" +msgstr "Koreanski" #: conf/global_settings.py:63 -msgid "Dutch" +msgid "Khmer" msgstr "" #: conf/global_settings.py:64 -msgid "Norwegian" +msgid "Kannada" msgstr "" #: conf/global_settings.py:65 -msgid "Polish" +msgid "Latvian" msgstr "" #: conf/global_settings.py:66 -msgid "Portugese" -msgstr "" +msgid "Macedonian" +msgstr "Makedonski" #: conf/global_settings.py:67 -msgid "Brazilian" -msgstr "" +msgid "Dutch" +msgstr "Nizozemski" #: conf/global_settings.py:68 -msgid "Romanian" -msgstr "" +msgid "Norwegian" +msgstr "Norveški" #: conf/global_settings.py:69 -msgid "Russian" -msgstr "" +msgid "Polish" +msgstr "Poljski" #: conf/global_settings.py:70 -msgid "Slovak" -msgstr "" +msgid "Portugese" +msgstr "Portugalski" #: conf/global_settings.py:71 -msgid "Slovenian" -msgstr "" +msgid "Brazilian" +msgstr "Brazilski" #: conf/global_settings.py:72 -msgid "Serbian" -msgstr "" +msgid "Romanian" +msgstr "Rumunjski" #: conf/global_settings.py:73 -msgid "Swedish" -msgstr "" +msgid "Russian" +msgstr "Ruski" #: conf/global_settings.py:74 +msgid "Slovak" +msgstr "Slovački" + +#: conf/global_settings.py:75 +msgid "Slovenian" +msgstr "Slovenski" + +#: conf/global_settings.py:76 +msgid "Serbian" +msgstr "Srpski" + +#: conf/global_settings.py:77 +msgid "Swedish" +msgstr "Švedski" + +#: conf/global_settings.py:78 msgid "Tamil" msgstr "" -#: conf/global_settings.py:75 +#: conf/global_settings.py:79 msgid "Telugu" msgstr "" -#: conf/global_settings.py:76 +#: conf/global_settings.py:80 msgid "Turkish" -msgstr "" +msgstr "Turski" -#: conf/global_settings.py:77 +#: conf/global_settings.py:81 msgid "Ukrainian" msgstr "" -#: conf/global_settings.py:78 +#: conf/global_settings.py:82 msgid "Simplified Chinese" msgstr "" -#: conf/global_settings.py:79 +#: conf/global_settings.py:83 msgid "Traditional Chinese" -msgstr "" +msgstr "Tradicionalni kineski" -#: core/validators.py:71 -msgid "This value must contain only letters, numbers and underscores." -msgstr "Ova vrijednost može sadržavati samo slova, brojeve i povlaku." - -#: core/validators.py:75 -msgid "" -"This value must contain only letters, numbers, underscores, dashes or " -"slashes." -msgstr "" -"Ova vrijednost može sadržavati samo slova, brojeve, povlaku, crtice ili " -"slashes (/)." - -#: core/validators.py:79 -msgid "This value must contain only letters, numbers, underscores or hyphens." -msgstr "Ova vrijednost može sadržavati samo slova, brojeve, povlake ili hyphens." - -#: core/validators.py:83 -msgid "Uppercase letters are not allowed here." -msgstr "Velika slova ovdje nisu dopuštena." - -#: core/validators.py:87 -msgid "Lowercase letters are not allowed here." -msgstr "Mala slova ovdje nisu dopuštena" - -#: core/validators.py:94 -msgid "Enter only digits separated by commas." -msgstr "Unesite samo brojeve razdvojene zarezom." - -#: core/validators.py:106 -msgid "Enter valid e-mail addresses separated by commas." -msgstr "Unesite ispravne e-mail adrese odvojene zarezom." - -#: core/validators.py:110 -msgid "Please enter a valid IP address." -msgstr "Unesite ispravnu IP adresu." - -#: core/validators.py:114 -msgid "Empty values are not allowed here." -msgstr "Prazne vrijednosti nisu ispravne ovdje." - -#: core/validators.py:118 -msgid "Non-numeric characters aren't allowed here." -msgstr "Dozvoljeni su samo numerički znakovi." - -#: core/validators.py:122 -msgid "This value can't be comprised solely of digits." -msgstr "Ova vrijednost ne može sadržavati samo brojeve." - -#: core/validators.py:127 newforms/fields.py:142 -msgid "Enter a whole number." -msgstr "Unesite cijeli broj." - -#: core/validators.py:131 -msgid "Only alphabetical characters are allowed here." -msgstr "Dozvoljena su samo slova abecede." - -#: core/validators.py:146 -msgid "Year must be 1900 or later." -msgstr "Godina mora biti poslije 1900." - -#: core/validators.py:150 -#, python-format -msgid "Invalid date: %s" -msgstr "Neispravan datum: %s" - -#: core/validators.py:160 -msgid "Enter a valid time in HH:MM format." -msgstr "Unesite ispravno vrijeme u HH:MM formatu." - -#: core/validators.py:169 newforms/fields.py:336 -msgid "Enter a valid e-mail address." -msgstr "Unesite ispravnu e-mail adresu." - -#: core/validators.py:185 newforms/fields.py:397 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "Upload-ajte ispravnu sliku. Datoteka koju ste upload-ali ili nije slika ili je oštečena." - -#: core/validators.py:192 -#, python-format -msgid "The URL %s does not point to a valid image." -msgstr "URL %s ne prikazuje ispravnu sliku." - -#: core/validators.py:196 -#, python-format -msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." -msgstr "Telefonski brojevi moraju biti u formatu XXX-XXX-XXXX. \"%s\" nije ispravan format." - -#: core/validators.py:204 -#, python-format -msgid "The URL %s does not point to a valid QuickTime video." -msgstr "URL %s ne vodi na ispravan QuickTime video." - -#: core/validators.py:208 -msgid "A valid URL is required." -msgstr "Ispravan URL je obavezan." - -#: core/validators.py:222 +#: contrib/admin/filterspecs.py:44 #, python-format msgid "" -"Valid HTML is required. Specific errors are:\n" -"%s" -msgstr "Ispravan HTML je obavezan. Pogreške:
%s" - -#: core/validators.py:229 -#, python-format -msgid "Badly formed XML: %s" -msgstr "Loše formatiran XML: %s" - -#: core/validators.py:246 -#, python-format -msgid "Invalid URL: %s" -msgstr "Neispravan URL: %s" - -#: core/validators.py:251 core/validators.py:253 -#, python-format -msgid "The URL %s is a broken link." -msgstr "URL %s je neispravan (broken) link." - -#: core/validators.py:259 -msgid "Enter a valid U.S. state abbreviation." -msgstr "Enter a valid U.S. state abbreviation." - -#: core/validators.py:273 -#, 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] "Pazite na izražavanje! Riječ %s nije dopuštena." -msgstr[1] "Pazite na izražavanje! Riječi %s nisu dopuštene." - -#: core/validators.py:280 -#, python-format -msgid "This field must match the '%s' field." -msgstr "Ovo polje mora biti jednako %s polju." - -#: core/validators.py:299 -msgid "Please enter something for at least one field." -msgstr "Molim unesite nešto bar za jedno polje." - -#: core/validators.py:308 core/validators.py:319 -msgid "Please enter both fields or leave them both empty." -msgstr "Molim unesite vrijednosti za oba polja ili ostavite oba polja prazna." - -#: core/validators.py:327 -#, python-format -msgid "This field must be given if %(field)s is %(value)s" +"

By %s:

\n" +"
    \n" msgstr "" -#: core/validators.py:340 -#, python-format -msgid "This field must be given if %(field)s is not %(value)s" -msgstr "Ovo polje je obavezno ako je %(field)s različito od %(value)s" +#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 +msgid "All" +msgstr "Svi" -#: core/validators.py:359 -msgid "Duplicate values are not allowed." +#: contrib/admin/filterspecs.py:113 +msgid "Any date" +msgstr "Bilo koji datum" + +#: contrib/admin/filterspecs.py:114 +msgid "Today" +msgstr "Danas" + +#: contrib/admin/filterspecs.py:117 +msgid "Past 7 days" +msgstr "Prošlih 7 dana" + +#: contrib/admin/filterspecs.py:119 +msgid "This month" +msgstr "Ovaj mjesec" + +#: contrib/admin/filterspecs.py:121 +msgid "This year" +msgstr "Ova godina" + +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "Yes" +msgstr "Da" + +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "No" +msgstr "Ne" + +#: contrib/admin/filterspecs.py:154 newforms/widgets.py:231 +#: oldforms/__init__.py:592 +msgid "Unknown" +msgstr "Nepoznat pojam." + +#: contrib/admin/models.py:18 +msgid "action time" +msgstr "vrijeme akcije" + +#: contrib/admin/models.py:21 +msgid "object id" +msgstr "id objekta" + +#: contrib/admin/models.py:22 +msgid "object repr" msgstr "" -#: core/validators.py:374 -#, python-format -msgid "This value must be between %(lower)s and %(upper)s." -msgstr "Vrijednost mora biti između %(lower)s i %(upper)s." - -#: core/validators.py:376 -#, python-format -msgid "This value must be at least %s." -msgstr "Vrijednost mora biti bar %s." - -#: core/validators.py:378 -#, python-format -msgid "This value must be no more than %s." -msgstr "Vrijednost ne može biti veća od %s." - -#: core/validators.py:414 -#, python-format -msgid "This value must be a power of %s." -msgstr "Ova vrijednost na kvadrat mora biti %s." - -#: core/validators.py:424 -msgid "Please enter a valid decimal number." -msgstr "Molim unesite ispravan decimalni broj." - -#: core/validators.py:431 -#, 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:434 -#, 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] "" -msgstr[1] "" - -#: core/validators.py:437 -#, 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:445 -msgid "Please enter a valid floating point number." +#: contrib/admin/models.py:23 +msgid "action flag" msgstr "" -#: core/validators.py:454 -#, python-format -msgid "Make sure your uploaded file is at least %s bytes big." +#: contrib/admin/models.py:24 +msgid "change message" +msgstr "promijeni poruku" + +#: contrib/admin/models.py:27 +msgid "log entry" msgstr "" -#: core/validators.py:455 -#, python-format -msgid "Make sure your uploaded file is at most %s bytes big." +#: contrib/admin/models.py:28 +msgid "log entries" msgstr "" -#: core/validators.py:472 -msgid "The format for this field is wrong." -msgstr "" +#: contrib/admin/templates/admin/404.html:4 +#: contrib/admin/templates/admin/404.html:8 +msgid "Page not found" +msgstr "Stranica nije pronađena" -#: core/validators.py:487 -msgid "This field is invalid." -msgstr "" +#: contrib/admin/templates/admin/404.html:10 +msgid "We're sorry, but the requested page could not be found." +msgstr "Ispričavamo se, ali tražena stranica nije pronađena." -#: core/validators.py:523 -#, python-format -msgid "Could not retrieve anything from %s." -msgstr "" +#: contrib/admin/templates/admin/500.html:4 +#: contrib/admin/templates/admin/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 +#: contrib/admin/templates/admin/invalid_setup.html:4 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +#: contrib/admin/templates/registration/logged_out.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: contrib/admin/templates/registration/password_reset_form.html:4 +msgid "Home" +msgstr "Doma" -#: core/validators.py:526 -#, python-format -msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." -msgstr "" +#: contrib/admin/templates/admin/500.html:4 +msgid "Server error" +msgstr "Serverska pogreška" -#: core/validators.py:559 -#, python-format -msgid "" -"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " -"\"%(start)s\".)" -msgstr "" +#: contrib/admin/templates/admin/500.html:6 +msgid "Server error (500)" +msgstr "Serverska pogreška (500)" -#: core/validators.py:563 -#, python-format -msgid "" -"Some text starting on line %(line)s is not allowed in that context. (Line " -"starts with \"%(start)s\".)" -msgstr "" +#: contrib/admin/templates/admin/500.html:9 +msgid "Server Error (500)" +msgstr "Serverska pogreška (500)" -#: core/validators.py:568 -#, python-format -msgid "" -"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:573 -#, python-format -msgid "" -"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" -"(start)s\".)" -msgstr "" - -#: core/validators.py:577 -#, 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:582 -#, python-format -msgid "" -"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " -"starts with \"%(start)s\".)" -msgstr "" - -#: views/generic/create_update.py:43 -#, python-format -msgid "The %(verbose_name)s was created successfully." -msgstr "" - -#: views/generic/create_update.py:117 -#, python-format -msgid "The %(verbose_name)s was updated successfully." -msgstr "" - -#: views/generic/create_update.py:184 -#, python-format -msgid "The %(verbose_name)s was deleted." -msgstr "" - -#: newforms/models.py:180 newforms/fields.py:478 -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#: newforms/models.py:197 newforms/fields.py:494 newforms/fields.py:570 -msgid "Enter a list of values." -msgstr "" - -#: newforms/models.py:203 newforms/fields.py:500 -#, python-format -msgid "Select a valid choice. %s is not one of the available choices." -msgstr "" - -#: newforms/fields.py:116 -#, python-format -msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." -msgstr "" - -#: newforms/fields.py:118 -#, python-format -msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." -msgstr "" - -#: newforms/fields.py:144 newforms/fields.py:167 newforms/fields.py:197 -#, python-format -msgid "Ensure this value is less than or equal to %s." -msgstr "" - -#: newforms/fields.py:146 newforms/fields.py:169 newforms/fields.py:199 -#, python-format -msgid "Ensure this value is greater than or equal to %s." -msgstr "" - -#: newforms/fields.py:165 newforms/fields.py:192 -msgid "Enter a number." -msgstr "" - -#: newforms/fields.py:201 -#, python-format -msgid "Ensure that there are no more than %s digits in total." -msgstr "" - -#: newforms/fields.py:203 -#, python-format -msgid "Ensure that there are no more than %s decimal places." -msgstr "" - -#: newforms/fields.py:205 -#, python-format -msgid "Ensure that there are no more than %s digits before the decimal point." -msgstr "" - -#: newforms/fields.py:238 newforms/fields.py:610 -msgid "Enter a valid date." -msgstr "" - -#: newforms/fields.py:265 newforms/fields.py:612 -msgid "Enter a valid time." -msgstr "" - -#: newforms/fields.py:301 -msgid "Enter a valid date/time." -msgstr "" - -#: newforms/fields.py:314 -msgid "Enter a valid value." -msgstr "" - -#: newforms/fields.py:378 +#: contrib/admin/templates/admin/500.html:10 #, fuzzy -msgid "No file was submitted." -msgstr "Ne." - -#: newforms/fields.py:403 newforms/fields.py:425 -msgid "Enter a valid URL." -msgstr "" - -#: newforms/fields.py:427 -msgid "This URL appears to be a broken link." -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "th" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "st" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "nd" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:17 -msgid "rd" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:47 -#, python-format -msgid "%(value).1f million" -msgid_plural "%(value).1f million" -msgstr[0] "" -msgstr[1] "" - -#: contrib/humanize/templatetags/humanize.py:50 -#, python-format -msgid "%(value).1f billion" -msgid_plural "%(value).1f billion" -msgstr[0] "" -msgstr[1] "" - -#: contrib/humanize/templatetags/humanize.py:53 -#, python-format -msgid "%(value).1f trillion" -msgid_plural "%(value).1f trillion" -msgstr[0] "" -msgstr[1] "" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "one" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "two" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "three" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "four" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "five" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "six" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "seven" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "eight" -msgstr "" - -#: contrib/humanize/templatetags/humanize.py:68 -msgid "nine" -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 "" +"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 "i." -#: contrib/redirects/models.py:9 -msgid "redirect to" -msgstr "" +#: contrib/admin/templates/admin/base.html:26 +msgid "Welcome," +msgstr "Dobrodošli," -#: contrib/redirects/models.py:10 +#: contrib/admin/templates/admin/base.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Documentation" +msgstr "Dokumentacija" + +#: contrib/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 +msgid "Change password" +msgstr "Promijeni lozinku" + +#: contrib/admin/templates/admin/base.html:30 +#: contrib/comments/templates/comments/form.html:6 +msgid "Log out" +msgstr "Odjava" + +#: contrib/admin/templates/admin/base_site.html:4 +msgid "Django site admin" +msgstr "Django administracija stranica" + +#: contrib/admin/templates/admin/base_site.html:7 +msgid "Django administration" +msgstr "Django administracija" + +#: contrib/admin/templates/admin/change_form.html:14 +#: contrib/admin/templates/admin/index.html:28 +msgid "Add" +msgstr "Dodaj" + +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 +msgid "History" +msgstr "Povijest" + +#: contrib/admin/templates/admin/change_form.html:21 +msgid "View on site" +msgstr "Pogledaj na stranicama" + +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 +msgid "Please correct the error below." +msgid_plural "Please correct the errors below." +msgstr[0] "Molim ispravite navedenu grešku." +msgstr[1] "Molim ispravite navedene greške." + +#: contrib/admin/templates/admin/change_form.html:49 +msgid "Ordering" +msgstr "Redoslijed" + +#: contrib/admin/templates/admin/change_form.html:52 +msgid "Order:" +msgstr "Redoslijed" + +#: contrib/admin/templates/admin/change_list.html:11 +#, python-format +msgid "Add %(name)s" +msgstr "Add %(name)s" + +#: contrib/admin/templates/admin/delete_confirmation.html:8 +#: contrib/admin/templates/admin/submit_line.html:3 +msgid "Delete" +msgstr "Izbriši" + +#: contrib/admin/templates/admin/delete_confirmation.html:13 +#, python-format msgid "" -"This can be either an absolute path (as above) or a full URL starting with " -"'http://'." +"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 "" +"Brisanje %(object_name)s '%(escaped_object)s' rezultiralo bi brisanjem " +"povezanih objekta, ali vi nemate privilegije za brisanje navedenih objekta: " + +#: contrib/admin/templates/admin/delete_confirmation.html:20 +#, python-format +msgid "" +"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " +"All of the following related items will be deleted:" msgstr "" -#: contrib/redirects/models.py:13 -msgid "redirect" +#: contrib/admin/templates/admin/delete_confirmation.html:25 +#, fuzzy +msgid "Yes, I'm sure" +msgstr "Da, siguran sam" + +#: contrib/admin/templates/admin/filter.html:2 +#, python-format +msgid " By %(filter_title)s " +msgstr "Po %(filter_title)s " + +#: contrib/admin/templates/admin/filters.html:4 +msgid "Filter" +msgstr "Filter" + +#: contrib/admin/templates/admin/index.html:17 +#, python-format +msgid "Models available in the %(name)s application." +msgstr "Modeli dostupni u %(name)s aplikaciji." + +#: contrib/admin/templates/admin/index.html:18 +#, python-format +msgid "%(name)s" +msgstr "%(name)s" + +#: contrib/admin/templates/admin/index.html:34 +msgid "Change" +msgstr "Promijeni" + +#: contrib/admin/templates/admin/index.html:44 +msgid "You don't have permission to edit anything." +msgstr "Nemate privilegije za promjenu podataka." + +#: contrib/admin/templates/admin/index.html:52 +msgid "Recent Actions" +msgstr "Nedavne promjene" + +#: contrib/admin/templates/admin/index.html:53 +msgid "My Actions" +msgstr "Moje promjene" + +#: contrib/admin/templates/admin/index.html:57 +msgid "None available" +msgstr "Nije dostupno" + +#: contrib/admin/templates/admin/invalid_setup.html:8 +#, fuzzy +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 "" +"Nešto je pogrešno sa instalacijom/postavkama baze. Provjerite jesu li " +"potrebne tablice u bazi kreirane i provjerite je li baza dostupna korisniku." + +#: contrib/admin/templates/admin/login.html:17 +#: contrib/comments/templates/comments/form.html:6 +#: contrib/comments/templates/comments/form.html:8 +msgid "Username:" +msgstr "Korisničko ime:" + +#: contrib/admin/templates/admin/login.html:20 +#: contrib/comments/templates/comments/form.html:8 +msgid "Password:" +msgstr "Lozinka:" + +#: contrib/admin/templates/admin/login.html:25 +#: contrib/admin/views/decorators.py:25 +msgid "Log in" +msgstr "Prijavi se" + +#: contrib/admin/templates/admin/object_history.html:17 +msgid "Date/time" +msgstr "Datum/vrijeme" + +#: contrib/admin/templates/admin/object_history.html:18 +msgid "User" +msgstr "Korisnik" + +#: contrib/admin/templates/admin/object_history.html:19 +msgid "Action" +msgstr "Akcija" + +#: contrib/admin/templates/admin/object_history.html:25 +msgid "DATE_WITH_TIME_FULL" msgstr "" -#: contrib/redirects/models.py:14 -msgid "redirects" +#: contrib/admin/templates/admin/object_history.html:35 +msgid "" +"This object doesn't have a change history. It probably wasn't added via this " +"admin site." +msgstr "" +"Ovaj objekt nema povijest promjena. Moguće je da nije dodan korištenjem ove " +"administracije." + +#: contrib/admin/templates/admin/pagination.html:10 +msgid "Show all" +msgstr "Prikaži sve" + +#: contrib/admin/templates/admin/search_form.html:8 +msgid "Go" +msgstr "Idi" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "1 result" +msgid_plural "%(counter)s results" +msgstr[0] "1 rezultat" +msgstr[1] "%(counter)s rezultata" + +#: contrib/admin/templates/admin/search_form.html:10 +#, python-format +msgid "%(full_result_count)s total" +msgstr "%(full_result_count)s ukupno" + +#: contrib/admin/templates/admin/submit_line.html:4 +msgid "Save as new" +msgstr "Spremi kao novi unos" + +#: contrib/admin/templates/admin/submit_line.html:5 +#, fuzzy +msgid "Save and add another" +msgstr "Spremi i dodaj novi unos" + +#: contrib/admin/templates/admin/submit_line.html:6 +#, fuzzy +msgid "Save and continue editing" +msgstr "Spremi i nastavi uređivati" + +#: contrib/admin/templates/admin/submit_line.html:7 +msgid "Save" +msgstr "Spremi" + +#: contrib/admin/templates/admin/auth/user/add_form.html:6 +#, fuzzy +msgid "" +"First, enter a username and password. Then, you'll be able to edit more user " +"options." +msgstr "" +"Prvo, unesi korisničko ime i lozinku. Onda možete promijeniti više postavki " +"korisnika." + +#: contrib/admin/templates/admin/auth/user/add_form.html:12 +msgid "Username" +msgstr "Korisničko ime" + +#: contrib/admin/templates/admin/auth/user/add_form.html:18 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 +msgid "Password" +msgstr "Lozinka" + +#: contrib/admin/templates/admin/auth/user/add_form.html:23 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 +msgid "Password (again)" +msgstr "Lozinka (unesi ponovo)" + +#: contrib/admin/templates/admin/auth/user/add_form.html:24 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 +msgid "Enter the same password as above, for verification." +msgstr "Unesi istu lozinku, za potvrdu." + +#: contrib/admin/templates/admin/auth/user/change_password.html:27 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "Unesi novu lozinku za korisnika %(username)s." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:3 +msgid "Bookmarklets" msgstr "" -#: contrib/comments/models.py:67 contrib/comments/models.py:166 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 +msgid "Documentation bookmarklets" +msgstr "" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 +msgid "" +"\n" +"

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

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

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

    \n" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 +msgid "Documentation for this page" +msgstr "Dokumentacija za ovu stranicu" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +msgid "" +"Jumps you from any page to the documentation for the view that generates " +"that page." +msgstr "" +"Preusmjeri te sa bilo koje stranice na dokumentaciju za taj prikaz (view) " +"koji generira stranicu." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 +msgid "Show object ID" +msgstr "Prikaži ID objekta" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +msgid "" +"Shows the content-type and unique ID for pages that represent a single " +"object." +msgstr "" +"Prikazuje tip sadržaja i jedinstveni ID za stranice koje predstavljaju " +"pojedinačan objekt." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 +msgid "Edit this object (current window)" +msgstr "Uredi objekt (u trenutno prozoru)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +msgid "Jumps to the admin page for pages that represent a single object." +msgstr "" +"Preusmjeri na admin stranicu za stranice koje predstavljaju pojedinačan " +"objekt." + +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 +msgid "Edit this object (new window)" +msgstr "Uredi objekt (novi prozor)" + +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +msgid "As above, but opens the admin page in a new window." +msgstr "Isto kao prethodno, ali otvara admin stranicu u novom prozoru." + +#: contrib/admin/templates/registration/logged_out.html:8 +msgid "Thanks for spending some quality time with the Web site today." +msgstr "Hvala što ste proveli malo kvalitetnog vremena na stranicama danas." + +#: contrib/admin/templates/registration/logged_out.html:10 +msgid "Log in again" +msgstr "Prijavite se ponovo" + +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 +msgid "Password change" +msgstr "Promjena lozinke" + +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 +msgid "Password change successful" +msgstr "Promjena lozinke uspješna" + +#: contrib/admin/templates/registration/password_change_done.html:11 +msgid "Your password was changed." +msgstr "Vaša lozinka je promijenjena." + +#: contrib/admin/templates/registration/password_change_form.html:11 +#, fuzzy +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 "" +"Molim unesite staru lozinku, zbog sigurnosti, i onda unesite novu lozinku " +"dvaput da bi mogli provjeriti jeste li ispravno unesli." + +#: contrib/admin/templates/registration/password_change_form.html:16 +msgid "Old password:" +msgstr "Stara lozinka:" + +#: contrib/admin/templates/registration/password_change_form.html:18 +msgid "New password:" +msgstr "Nova lozinka:" + +#: contrib/admin/templates/registration/password_change_form.html:20 +msgid "Confirm password:" +msgstr "Potvrdi lozinku:" + +#: contrib/admin/templates/registration/password_change_form.html:22 +msgid "Change my password" +msgstr "Promijeni lozinku" + +#: contrib/admin/templates/registration/password_reset_done.html:4 +#: 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 +msgid "Password reset" +msgstr "Resetiranje lozinke" + +#: contrib/admin/templates/registration/password_reset_done.html:6 +#: contrib/admin/templates/registration/password_reset_done.html:10 +msgid "Password reset successful" +msgstr "Resetiranje lozinke uspješno" + +#: 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 "" +"Poslali smo novu lozinku na e-mail adresu koju ste unijeli. Trebali bi je " +"uskoro primiti." + +#: contrib/admin/templates/registration/password_reset_email.html:2 +msgid "You're receiving this e-mail because you requested a password reset" +msgstr "Dobili ste ovaj e-mail jer ste zatražili resetiranje lozinke" + +#: contrib/admin/templates/registration/password_reset_email.html:3 +#, python-format +msgid "for your user account at %(site_name)s" +msgstr "za vaš korisnički račun na %(site_name)s" + +#: contrib/admin/templates/registration/password_reset_email.html:5 +#, python-format +msgid "Your new password is: %(new_password)s" +msgstr "Vaša nova lozinka je: %(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 "Slobodno promijenite lozinku odlaskom na ovu stranicu:" + +#: contrib/admin/templates/registration/password_reset_email.html:11 +msgid "Your username, in case you've forgotten:" +msgstr "Vaše korisničko ime, u slučaju da ste zaboravili:" + +#: contrib/admin/templates/registration/password_reset_email.html:13 +msgid "Thanks for using our site!" +msgstr "Hvala šta koristite naše stranice!" + +#: contrib/admin/templates/registration/password_reset_email.html:15 +#, python-format +msgid "The %(site_name)s team" +msgstr "%(site_name)s tim" + +#: contrib/admin/templates/registration/password_reset_form.html:12 +#, fuzzy +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 "" +"Zaboravili ste lozinku? Unesite vašu e-mail adresu ispod i onda ćemo " +"resetirati vašu lozinku i poslati novu na vaš e-mail." + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "E-mail address:" +msgstr "E-mail adresa:" + +#: contrib/admin/templates/registration/password_reset_form.html:16 +msgid "Reset my password" +msgstr "Resetiraj lozinku" + +#: contrib/admin/templates/widget/date_time.html:3 +msgid "Date:" +msgstr "Datum:" + +#: contrib/admin/templates/widget/date_time.html:4 +msgid "Time:" +msgstr "Vrijeme:" + +#: contrib/admin/templates/widget/file.html:2 +msgid "Currently:" +msgstr "Trenutno:" + +#: contrib/admin/templates/widget/file.html:3 +msgid "Change:" +msgstr "Promijeni:" + +#: contrib/admin/templatetags/admin_list.py:257 +msgid "All dates" +msgstr "Svi datumi" + +#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:267 +#, python-format +msgid "The %(name)s \"%(obj)s\" was added successfully." +msgstr "%(name)s \"%(obj)s\" uspješno je dodano." + +#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 +msgid "You may edit it again below." +msgstr "Možete ponovo urediti unos dolje." + +#: contrib/admin/views/auth.py:31 +msgid "Add user" +msgstr "Dodaj korisnika" + +#: contrib/admin/views/auth.py:58 +msgid "Password changed successfully." +msgstr "Lozinka uspješno promijenjena." + +#: contrib/admin/views/auth.py:65 +#, python-format +msgid "Change password: %s" +msgstr "Promijeni lozinku: %s" + +#: contrib/admin/views/decorators.py:11 contrib/auth/forms.py:60 +#, fuzzy +msgid "" +"Please enter a correct username and password. Note that both fields are case-" +"sensitive." +msgstr "" +"Molim unesite ispravno korisničko ime i lozinku. Uzmite u obzir da oba polja " +"razlikuju velika/mala slova." + +#: contrib/admin/views/decorators.py:63 +msgid "" +"Please log in again, because your session has expired. Don't worry: Your " +"submission has been saved." +msgstr "" +"Molim prijavite se ponovo jer je vaš session istekao. Nemojte brinuti, vaš " +"unos je sačuvan." + +#: contrib/admin/views/decorators.py:70 +#, fuzzy +msgid "" +"Looks like your browser isn't configured to accept cookies. Please enable " +"cookies, reload this page, and try again." +msgstr "" +"Izgleda da vaš browser nije podešen da prihvaća kolačiće (cookies). Molim " +"promijenite postavke, ponovno učitajte stranicu i pokušajte ponovo." + +#: contrib/admin/views/decorators.py:84 +msgid "Usernames cannot contain the '@' character." +msgstr "Korisnička imena ne mogu sadržavati '@' znak." + +#: contrib/admin/views/decorators.py:86 +#, python-format +msgid "Your e-mail address is not your username. Try '%s' instead." +msgstr "Vaša e-mail adresa nije vaše korisničko ime. Pokušajte sa '%s'" + +#: contrib/admin/views/doc.py:48 contrib/admin/views/doc.py:50 +#: contrib/admin/views/doc.py:52 +msgid "tag:" +msgstr "tag:" + +#: contrib/admin/views/doc.py:79 contrib/admin/views/doc.py:81 +#: contrib/admin/views/doc.py:83 +msgid "filter:" +msgstr "filter:" + +#: contrib/admin/views/doc.py:137 contrib/admin/views/doc.py:139 +#: contrib/admin/views/doc.py:141 +msgid "view:" +msgstr "prikaz:" + +#: contrib/admin/views/doc.py:166 +#, python-format +msgid "App %r not found" +msgstr "Aplikacija %r nije pronađena" + +#: contrib/admin/views/doc.py:173 +#, python-format +msgid "Model %(name)r not found in app %(label)r" +msgstr "Model %(name)r nije pronađen u aplikaciji %(label)r" + +#: contrib/admin/views/doc.py:185 +#, python-format +msgid "the related `%(label)s.%(type)s` object" +msgstr "povezan `%(label)s.%(type)s` objekt" + +#: contrib/admin/views/doc.py:185 contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:221 contrib/admin/views/doc.py:226 +msgid "model:" +msgstr "model:" + +#: contrib/admin/views/doc.py:216 +#, python-format +msgid "related `%(label)s.%(name)s` objects" +msgstr "povezani `%(label)s.%(name)s` objekti" + +#: contrib/admin/views/doc.py:221 +#, python-format +msgid "all %s" +msgstr "svi %s" + +#: contrib/admin/views/doc.py:226 +#, python-format +msgid "number of %s" +msgstr "broj %s" + +#: contrib/admin/views/doc.py:231 +#, python-format +msgid "Fields on %s objects" +msgstr "Polja na %s objektima" + +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:306 contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:313 contrib/admin/views/doc.py:315 +msgid "Integer" +msgstr "Cijeli broj" + +#: contrib/admin/views/doc.py:294 +msgid "Boolean (Either True or False)" +msgstr "Boolean (True or False)" + +#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:314 +#, python-format +msgid "String (up to %(max_length)s)" +msgstr "Slova (do %(max_length)s)" + +#: contrib/admin/views/doc.py:296 +msgid "Comma-separated integers" +msgstr "Cijeli brojevi odvojeni zarezom" + +#: contrib/admin/views/doc.py:297 +msgid "Date (without time)" +msgstr "Datum (bez vremena/sati)" + +#: contrib/admin/views/doc.py:298 +msgid "Date (with time)" +msgstr "Datum (sa vremenom/satima)" + +#: contrib/admin/views/doc.py:299 +msgid "Decimal number" +msgstr "Decimalni broj" + +#: contrib/admin/views/doc.py:300 +msgid "E-mail address" +msgstr "E-mail adresa" + +#: contrib/admin/views/doc.py:301 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 +msgid "File path" +msgstr "Put do datoteke" + +#: contrib/admin/views/doc.py:303 +msgid "Floating point number" +msgstr "Floating point number" + +#: contrib/admin/views/doc.py:307 contrib/comments/models.py:85 +msgid "IP address" +msgstr "IP adresa" + +#: contrib/admin/views/doc.py:309 +msgid "Boolean (Either True, False or None)" +msgstr "Boolean (Either True, False or None)" + +#: contrib/admin/views/doc.py:310 +msgid "Relation to parent model" +msgstr "Relation to parent model" + +#: contrib/admin/views/doc.py:311 +msgid "Phone number" +msgstr "Telefonski broj" + +#: contrib/admin/views/doc.py:316 +msgid "Text" +msgstr "Tekst" + +#: contrib/admin/views/doc.py:317 +msgid "Time" +msgstr "Vrijeme" + +#: contrib/admin/views/doc.py:318 contrib/flatpages/models.py:7 +msgid "URL" +msgstr "URL" + +#: contrib/admin/views/doc.py:319 +msgid "U.S. state (two uppercase letters)" +msgstr "U.S. state (two uppercase letters)" + +#: contrib/admin/views/doc.py:320 +msgid "XML text" +msgstr "XML tekst" + +#: contrib/admin/views/doc.py:346 +#, python-format +msgid "%s does not appear to be a urlpattern object" +msgstr "izgleda da %s nije urlpattern objekt" + +#: contrib/admin/views/main.py:233 +msgid "Site administration" +msgstr "Administracija stranica" + +#: contrib/admin/views/main.py:280 contrib/admin/views/main.py:365 +#, python-format +msgid "You may add another %s below." +msgstr "Možete dodati još jedan %s ispod." + +#: contrib/admin/views/main.py:298 +#, python-format +msgid "Add %s" +msgstr "Dodaj %s" + +#: contrib/admin/views/main.py:344 +#, python-format +msgid "Added %s." +msgstr "Dodano %s" + +#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 core/validators.py:283 +#: db/models/manipulators.py:309 +msgid "and" +msgstr "i" + +#: contrib/admin/views/main.py:346 +#, python-format +msgid "Changed %s." +msgstr "Promijenjeno %s." + +#: contrib/admin/views/main.py:348 +#, python-format +msgid "Deleted %s." +msgstr "" + +#: contrib/admin/views/main.py:351 +#, fuzzy +msgid "No fields changed." +msgstr "Nije bilo promjena polja." + +#: contrib/admin/views/main.py:354 +#, python-format +msgid "The %(name)s \"%(obj)s\" was changed successfully." +msgstr "%(name)s \"%(obj)s\" uspješno promijenjeno." + +#: contrib/admin/views/main.py:362 +#, python-format +msgid "" +"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." +msgstr "%(name)s \"%(obj)s\" uspješno dodan. Možete ponovo urediti dolje." + +#: contrib/admin/views/main.py:400 +#, python-format +msgid "Change %s" +msgstr "Promijeni %s" + +#: contrib/admin/views/main.py:487 +#, python-format +msgid "One or more %(fieldname)s in %(name)s: %(obj)s" +msgstr "Jedan ili više %(fieldname)s in %(name)s: %(obj)s" + +#: contrib/admin/views/main.py:492 +#, python-format +msgid "One or more %(fieldname)s in %(name)s:" +msgstr "Jedan ili više %(fieldname)s in %(name)s" + +#: contrib/admin/views/main.py:524 +#, python-format +msgid "The %(name)s \"%(obj)s\" was deleted successfully." +msgstr "%(name)s \"%(obj)s\" uspješno izbrisan." + +#: contrib/admin/views/main.py:527 +msgid "Are you sure?" +msgstr "Jeste li sigurni?" + +#: contrib/admin/views/main.py:549 +#, python-format +msgid "Change history: %s" +msgstr "Promijeni povijest: %s" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s" +msgstr "Odaberi %s" + +#: contrib/admin/views/main.py:583 +#, python-format +msgid "Select %s to change" +msgstr "Odaberi %s za promjenu" + +#: contrib/admin/views/main.py:784 +msgid "Database error" +msgstr "Pogreška u bazi" + +#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 +msgid "The two password fields didn't match." +msgstr "Dva polja za lozinku nisu jednaka." + +#: contrib/auth/forms.py:25 +msgid "A user with that username already exists." +msgstr "Korisnik sa navedenim imenom već postoji." + +#: contrib/auth/forms.py:53 +msgid "" +"Your Web browser doesn't appear to have cookies enabled. Cookies are " +"required for logging in." +msgstr "" +"Izgleda da Vaš browser ne podržava kolačiće (cookies). Kolačići su potrebni " +"da bi se prijavili." + +#: contrib/auth/forms.py:62 +msgid "This account is inactive." +msgstr "Ovaj korisnički račun nije aktivan." + +#: contrib/auth/forms.py:84 +msgid "" +"That e-mail address doesn't have an associated user account. Are you sure " +"you've registered?" +msgstr "" +"Za navedenu e-mail adresu ne postoji korisnički račun. Jeste li sigurni da " +"ste registrirani?" + +#: contrib/auth/forms.py:107 +#, python-format +msgid "Password reset on %s" +msgstr "Lozinka resetirana na %s" + +#: contrib/auth/forms.py:117 +msgid "The two 'new password' fields didn't match." +msgstr "Dva polja 'nova lozinka' nisu jednaka." + +#: contrib/auth/forms.py:124 +msgid "Your old password was entered incorrectly. Please enter it again." +msgstr "Vaša stara lozinka je pogrešno unesena. Molim unesite ponovo." + +#: contrib/auth/models.py:73 contrib/auth/models.py:93 +msgid "name" +msgstr "ime" + +#: contrib/auth/models.py:75 +msgid "codename" +msgstr "kodno ime" + +#: contrib/auth/models.py:78 +msgid "permission" +msgstr "privilegija" + +#: contrib/auth/models.py:79 contrib/auth/models.py:94 +msgid "permissions" +msgstr "privilegije" + +#: contrib/auth/models.py:97 +msgid "group" +msgstr "grupa" + +#: contrib/auth/models.py:98 contrib/auth/models.py:141 +msgid "groups" +msgstr "grupe" + +#: contrib/auth/models.py:131 +msgid "username" +msgstr "korisničko ime" + +#: contrib/auth/models.py:131 +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"Obavezno 30 alfanumeričkih znakova ili manje (slova, brojevi i povlaka)." + +#: contrib/auth/models.py:132 +msgid "first name" +msgstr "ime" + +#: contrib/auth/models.py:133 +msgid "last name" +msgstr "prezime" + +#: contrib/auth/models.py:134 +msgid "e-mail address" +msgstr "e-mail adresa" + +#: contrib/auth/models.py:135 +msgid "password" +msgstr "lozinka" + +#: contrib/auth/models.py:135 +msgid "" +"Use '[algo]$[salt]$[hexdigest]' or use the change " +"password form." +msgstr "" +"Koristite '[algo]$[salt]$[hexdigest]' ili formu za " +"promjenu lozinke." + +#: contrib/auth/models.py:136 +msgid "staff status" +msgstr "status osoblja" + +#: contrib/auth/models.py:136 +msgid "Designates whether the user can log into this admin site." +msgstr "Određuje može li se korisnik prijaviti na ove stranice administracije." + +#: contrib/auth/models.py:137 +msgid "active" +msgstr "aktivan" + +#: contrib/auth/models.py:137 +msgid "" +"Designates whether this user can log into the Django admin. Unselect this " +"instead of deleting accounts." +msgstr "" +"Određuje može li se korisnik prijaviti na stranice Django administracije. " +"Koristite ovu opciju umjesto brisanja korisničkih računa." + +#: contrib/auth/models.py:138 +msgid "superuser status" +msgstr "superuser status" + +#: contrib/auth/models.py:138 +msgid "" +"Designates that this user has all permissions without explicitly assigning " +"them." +msgstr "" +"Određuje da ovaj korisnik ima sve privilegije te uklanja potrebu da se " +"privilegije dodaju eksplicitno/ručno." + +#: contrib/auth/models.py:139 +msgid "last login" +msgstr "posljednja prijava" + +#: contrib/auth/models.py:140 +msgid "date joined" +msgstr "datum učlanjenja" + +#: contrib/auth/models.py:142 +msgid "" +"In addition to the permissions manually assigned, this user will also get " +"all permissions granted to each group he/she is in." +msgstr "" +"Uz ručno dodane privilegije korisnik će također dobiti sve privilegije " +"odobrene grupama kojima korisnik pripada." + +#: contrib/auth/models.py:143 +msgid "user permissions" +msgstr "privilegije korisnika" + +#: contrib/auth/models.py:147 +msgid "user" +msgstr "korisnik" + +#: contrib/auth/models.py:148 +msgid "users" +msgstr "korisnici" + +#: contrib/auth/models.py:154 +msgid "Personal info" +msgstr "Osobni podaci" + +#: contrib/auth/models.py:155 +msgid "Permissions" +msgstr "Privilegije" + +#: contrib/auth/models.py:156 +msgid "Important dates" +msgstr "Važni datumi" + +#: contrib/auth/models.py:157 +msgid "Groups" +msgstr "Grupe" + +#: contrib/auth/models.py:316 +msgid "message" +msgstr "poruka" + +#: contrib/auth/views.py:47 +msgid "Logged out" +msgstr "Niste logirani" + +#: contrib/comments/models.py:67 contrib/comments/models.py:169 msgid "object ID" -msgstr "" +msgstr "ID objekta" #: contrib/comments/models.py:68 msgid "headline" -msgstr "" +msgstr "headline / naslov?" #: contrib/comments/models.py:69 contrib/comments/models.py:90 -#: contrib/comments/models.py:167 +#: contrib/comments/models.py:170 msgid "comment" -msgstr "" +msgstr "komentar" #: contrib/comments/models.py:70 msgid "rating #1" -msgstr "" +msgstr "rating #1" #: contrib/comments/models.py:71 msgid "rating #2" -msgstr "" +msgstr "rating #2" #: contrib/comments/models.py:72 msgid "rating #3" -msgstr "" +msgstr "rating #3" #: contrib/comments/models.py:73 msgid "rating #4" -msgstr "" +msgstr "rating #4" #: contrib/comments/models.py:74 msgid "rating #5" -msgstr "" +msgstr "rating #5" #: contrib/comments/models.py:75 msgid "rating #6" -msgstr "" +msgstr "rating #6" #: contrib/comments/models.py:76 msgid "rating #7" -msgstr "" +msgstr "rating #7" #: contrib/comments/models.py:77 msgid "rating #8" -msgstr "" +msgstr "rating #8" #: contrib/comments/models.py:82 msgid "is valid rating" -msgstr "" +msgstr "rating je ispravan" -#: contrib/comments/models.py:83 contrib/comments/models.py:169 +#: contrib/comments/models.py:83 contrib/comments/models.py:172 msgid "date/time submitted" -msgstr "" +msgstr "datum/vrijeme submitted" -#: contrib/comments/models.py:84 contrib/comments/models.py:170 +#: contrib/comments/models.py:84 contrib/comments/models.py:173 msgid "is public" -msgstr "" - -#: contrib/comments/models.py:85 contrib/admin/views/doc.py:306 -msgid "IP address" -msgstr "" +msgstr "javno dostupno" #: contrib/comments/models.py:86 msgid "is removed" -msgstr "" +msgstr "uklonjeno" #: 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 "" +"Uključite ako je komentar neprikladan. Umjesto komentara biti će prikazana " +"poruka \"Komentar je uklonjen.\"." #: contrib/comments/models.py:91 msgid "comments" -msgstr "" +msgstr "komentari" -#: contrib/comments/models.py:131 contrib/comments/models.py:207 +#: contrib/comments/models.py:134 contrib/comments/models.py:213 msgid "Content object" -msgstr "" +msgstr "Objekt sadržaja" -#: contrib/comments/models.py:159 +#: contrib/comments/models.py:162 #, python-format msgid "" "Posted by %(user)s at %(date)s\n" @@ -874,48 +1333,48 @@ msgid "" "http://%(domain)s%(url)s" msgstr "" -#: contrib/comments/models.py:168 -msgid "person's name" -msgstr "" - #: contrib/comments/models.py:171 -msgid "ip address" -msgstr "" +msgid "person's name" +msgstr "ime osobe" -#: contrib/comments/models.py:173 -msgid "approved by staff" -msgstr "" +#: contrib/comments/models.py:174 +msgid "ip address" +msgstr "ip adresa" #: contrib/comments/models.py:176 +msgid "approved by staff" +msgstr "odobreno od strane osoblja" + +#: contrib/comments/models.py:179 msgid "free comment" -msgstr "" +msgstr "slobodan komentar" -#: contrib/comments/models.py:177 +#: contrib/comments/models.py:180 msgid "free comments" -msgstr "" +msgstr "slobodni komentari" -#: contrib/comments/models.py:233 +#: contrib/comments/models.py:239 msgid "score" -msgstr "" +msgstr "rezultat" -#: contrib/comments/models.py:234 +#: contrib/comments/models.py:240 msgid "score date" -msgstr "" +msgstr "datum rezultata" -#: contrib/comments/models.py:237 +#: contrib/comments/models.py:243 msgid "karma score" -msgstr "" +msgstr "karma rezultat" -#: contrib/comments/models.py:238 +#: contrib/comments/models.py:244 msgid "karma scores" -msgstr "" +msgstr "karma rezultati" -#: contrib/comments/models.py:242 +#: contrib/comments/models.py:248 #, python-format msgid "%(score)d rating by %(user)s" -msgstr "" +msgstr "%(score)d rating po %(user)s" -#: contrib/comments/models.py:258 +#: contrib/comments/models.py:264 #, python-format msgid "" "This comment was flagged by %(user)s:\n" @@ -923,55 +1382,79 @@ msgid "" "%(text)s" msgstr "" -#: contrib/comments/models.py:265 +#: contrib/comments/models.py:271 msgid "flag date" -msgstr "" +msgstr "datum flag-a" -#: contrib/comments/models.py:268 +#: contrib/comments/models.py:274 msgid "user flag" -msgstr "" +msgstr "korisnički flag" -#: contrib/comments/models.py:269 +#: contrib/comments/models.py:275 msgid "user flags" -msgstr "" +msgstr "korisnički flag-ovi" -#: contrib/comments/models.py:273 +#: contrib/comments/models.py:279 #, python-format msgid "Flag by %r" -msgstr "" +msgstr "Flag po %r" -#: contrib/comments/models.py:278 +#: contrib/comments/models.py:284 msgid "deletion date" -msgstr "" +msgstr "datum brisanja" -#: contrib/comments/models.py:280 +#: contrib/comments/models.py:286 msgid "moderator deletion" -msgstr "" +msgstr "brisanje moderatora" -#: contrib/comments/models.py:281 +#: contrib/comments/models.py:287 msgid "moderator deletions" -msgstr "" +msgstr "brisanja moderatora" -#: contrib/comments/models.py:285 +#: contrib/comments/models.py:291 #, python-format msgid "Moderator deletion by %r" -msgstr "" +msgstr "Brisanje moderatora po %r" -#: contrib/comments/views/karma.py:20 -msgid "Anonymous users cannot vote" -msgstr "" +#: contrib/comments/templates/comments/form.html:8 +msgid "Forgotten your password?" +msgstr "Zaboravili ste lozinku?" -#: contrib/comments/views/karma.py:24 -msgid "Invalid comment ID" -msgstr "" +#: contrib/comments/templates/comments/form.html:12 +msgid "Ratings" +msgstr "Ratings" -#: contrib/comments/views/karma.py:26 -#, fuzzy -msgid "No voting for yourself" -msgstr "Ne" +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Required" +msgstr "Obavezno" + +#: contrib/comments/templates/comments/form.html:12 +#: contrib/comments/templates/comments/form.html:23 +msgid "Optional" +msgstr "Izborno, nije obavezno" + +#: contrib/comments/templates/comments/form.html:23 +msgid "Post a photo" +msgstr "Pošalji sliku" + +#: contrib/comments/templates/comments/form.html:28 +#: contrib/comments/templates/comments/freeform.html:5 +msgid "Comment:" +msgstr "Komentar:" + +#: contrib/comments/templates/comments/form.html:35 +#: contrib/comments/templates/comments/freeform.html:10 +msgid "Preview comment" +msgstr "Preview komentara" + +#: contrib/comments/templates/comments/freeform.html:4 +msgid "Your name:" +msgstr "Vaše ime:" #: contrib/comments/views/comments.py:28 -msgid "This rating is required because you've entered at least one other rating." +msgid "" +"This rating is required because you've entered at least one other rating." msgstr "" #: contrib/comments/views/comments.py:112 @@ -997,939 +1480,45 @@ msgid "" "%(text)s" msgstr "" -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:281 +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 msgid "Only POSTs are allowed" -msgstr "" +msgstr "Samo POST dopušten." -#: contrib/comments/views/comments.py:193 -#: contrib/comments/views/comments.py:285 -msgid "One or more of the required fields wasn't submitted" -msgstr "" - -#: contrib/comments/views/comments.py:197 +#: contrib/comments/views/comments.py:194 #: contrib/comments/views/comments.py:287 +msgid "One or more of the required fields wasn't submitted" +msgstr "Jedno ili više obaveznih polja nisu poslana" + +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 msgid "Somebody tampered with the comment form (security violation)" msgstr "" -#: contrib/comments/views/comments.py:207 -#: contrib/comments/views/comments.py:293 +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " "invalid" msgstr "" -#: contrib/comments/views/comments.py:258 -#: contrib/comments/views/comments.py:322 +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 msgid "The comment form didn't provide either 'preview' or 'post'" msgstr "" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:17 -msgid "Username:" +#: contrib/comments/views/karma.py:21 +msgid "Anonymous users cannot vote" msgstr "" -#: contrib/comments/templates/comments/form.html:6 -#: contrib/admin/templates/admin/change_list.html:5 -#: 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/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: 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" +#: contrib/comments/views/karma.py:25 +msgid "Invalid comment ID" msgstr "" -#: contrib/comments/templates/comments/form.html:8 -#: contrib/admin/templates/admin/login.html:20 -msgid "Password:" -msgstr "" - -#: contrib/comments/templates/comments/form.html:8 -msgid "Forgotten your password?" -msgstr "" - -#: contrib/comments/templates/comments/form.html:12 -msgid "Ratings" -msgstr "" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Required" -msgstr "" - -#: contrib/comments/templates/comments/form.html:12 -#: contrib/comments/templates/comments/form.html:23 -msgid "Optional" -msgstr "" - -#: contrib/comments/templates/comments/form.html:23 -msgid "Post a photo" -msgstr "" - -#: contrib/comments/templates/comments/form.html:28 -#: contrib/comments/templates/comments/freeform.html:5 -msgid "Comment:" -msgstr "" - -#: contrib/comments/templates/comments/form.html:35 -#: contrib/comments/templates/comments/freeform.html:10 -msgid "Preview comment" -msgstr "" - -#: contrib/comments/templates/comments/freeform.html:4 -msgid "Your name:" -msgstr "" - -#: contrib/sites/models.py:15 -msgid "domain name" -msgstr "" - -#: contrib/sites/models.py:16 -msgid "display name" -msgstr "" - -#: contrib/sites/models.py:20 -msgid "site" -msgstr "" - -#: contrib/sites/models.py:21 -msgid "sites" -msgstr "" - -#: contrib/admin/filterspecs.py:42 -#, python-format -msgid "" -"

    By %s:

    \n" -"
      \n" -msgstr "" - -#: contrib/admin/filterspecs.py:72 contrib/admin/filterspecs.py:90 -#: contrib/admin/filterspecs.py:145 contrib/admin/filterspecs.py:171 -msgid "All" -msgstr "" - -#: contrib/admin/filterspecs.py:111 -msgid "Any date" -msgstr "" - -#: contrib/admin/filterspecs.py:112 -msgid "Today" -msgstr "" - -#: contrib/admin/filterspecs.py:115 -msgid "Past 7 days" -msgstr "" - -#: contrib/admin/filterspecs.py:117 -msgid "This month" -msgstr "" - -#: contrib/admin/filterspecs.py:119 -msgid "This year" -msgstr "" - -#: contrib/admin/models.py:17 -msgid "action time" -msgstr "" - -#: contrib/admin/models.py:20 -msgid "object id" -msgstr "" - -#: contrib/admin/models.py:21 -msgid "object repr" -msgstr "" - -#: contrib/admin/models.py:22 -msgid "action flag" -msgstr "" - -#: contrib/admin/models.py:23 -msgid "change message" -msgstr "" - -#: contrib/admin/models.py:26 -msgid "log entry" -msgstr "" - -#: contrib/admin/models.py:27 -msgid "log entries" -msgstr "" - -#: contrib/admin/templatetags/admin_list.py:254 -msgid "All dates" -msgstr "" - -#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:264 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "" - -#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:268 -#: contrib/admin/views/main.py:354 -msgid "You may edit it again below." -msgstr "" - -#: contrib/admin/views/auth.py:31 -msgid "Add user" -msgstr "" - -#: contrib/admin/views/auth.py:58 -msgid "Password changed successfully." -msgstr "" - -#: contrib/admin/views/auth.py:65 -#, python-format -msgid "Change password: %s" -msgstr "" - -#: contrib/admin/views/main.py:230 -msgid "Site administration" -msgstr "" - -#: contrib/admin/views/main.py:278 contrib/admin/views/main.py:363 -#, python-format -msgid "You may add another %s below." -msgstr "" - -#: contrib/admin/views/main.py:296 -#, python-format -msgid "Add %s" -msgstr "" - -#: contrib/admin/views/main.py:342 -#, python-format -msgid "Added %s." -msgstr "" - -#: contrib/admin/views/main.py:344 -#, python-format -msgid "Changed %s." -msgstr "" - -#: contrib/admin/views/main.py:346 -#, python-format -msgid "Deleted %s." -msgstr "" - -#: contrib/admin/views/main.py:349 +#: contrib/comments/views/karma.py:27 #, fuzzy -msgid "No fields changed." -msgstr "Ne." - -#: contrib/admin/views/main.py:352 -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "" - -#: contrib/admin/views/main.py:360 -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" - -#: contrib/admin/views/main.py:398 -#, python-format -msgid "Change %s" -msgstr "" - -#: contrib/admin/views/main.py:483 -#, python-format -msgid "One or more %(fieldname)s in %(name)s: %(obj)s" -msgstr "" - -#: contrib/admin/views/main.py:488 -#, python-format -msgid "One or more %(fieldname)s in %(name)s:" -msgstr "" - -#: contrib/admin/views/main.py:520 -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#: contrib/admin/views/main.py:523 -msgid "Are you sure?" -msgstr "" - -#: contrib/admin/views/main.py:545 -#, python-format -msgid "Change history: %s" -msgstr "" - -#: contrib/admin/views/main.py:579 -#, python-format -msgid "Select %s" -msgstr "" - -#: contrib/admin/views/main.py:579 -#, python-format -msgid "Select %s to change" -msgstr "" - -#: contrib/admin/views/main.py:780 -msgid "Database error" -msgstr "" - -#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:60 -#, fuzzy -msgid "" -"Please enter a correct username and password. Note that both fields are case-" -"sensitive." -msgstr "i." - -#: contrib/admin/views/decorators.py:24 -#: contrib/admin/templates/admin/login.html:25 -msgid "Log in" -msgstr "" - -#: 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 "" - -#: contrib/admin/views/decorators.py:69 -#, fuzzy -msgid "" -"Looks like your browser isn't configured to accept cookies. Please enable " -"cookies, reload this page, and try again." -msgstr "i." - -#: contrib/admin/views/decorators.py:83 -msgid "Usernames cannot contain the '@' character." -msgstr "" - -#: contrib/admin/views/decorators.py:85 -#, python-format -msgid "Your e-mail address is not your username. Try '%s' instead." -msgstr "" - -#: contrib/admin/views/doc.py:47 contrib/admin/views/doc.py:49 -#: contrib/admin/views/doc.py:51 -msgid "tag:" -msgstr "" - -#: contrib/admin/views/doc.py:78 contrib/admin/views/doc.py:80 -#: contrib/admin/views/doc.py:82 -msgid "filter:" -msgstr "" - -#: contrib/admin/views/doc.py:136 contrib/admin/views/doc.py:138 -#: contrib/admin/views/doc.py:140 -msgid "view:" -msgstr "" - -#: contrib/admin/views/doc.py:165 -#, python-format -msgid "App %r not found" -msgstr "" - -#: contrib/admin/views/doc.py:172 -#, python-format -msgid "Model %(name)r not found in app %(label)r" -msgstr "" - -#: contrib/admin/views/doc.py:184 -#, python-format -msgid "the related `%(label)s.%(type)s` object" -msgstr "" - -#: contrib/admin/views/doc.py:184 contrib/admin/views/doc.py:206 -#: contrib/admin/views/doc.py:220 contrib/admin/views/doc.py:225 -msgid "model:" -msgstr "" - -#: contrib/admin/views/doc.py:215 -#, python-format -msgid "related `%(label)s.%(name)s` objects" -msgstr "" - -#: contrib/admin/views/doc.py:220 -#, python-format -msgid "all %s" -msgstr "" - -#: contrib/admin/views/doc.py:225 -#, python-format -msgid "number of %s" -msgstr "" - -#: contrib/admin/views/doc.py:230 -#, python-format -msgid "Fields on %s objects" -msgstr "" - -#: contrib/admin/views/doc.py:292 contrib/admin/views/doc.py:303 -#: contrib/admin/views/doc.py:305 contrib/admin/views/doc.py:311 -#: contrib/admin/views/doc.py:312 contrib/admin/views/doc.py:314 -msgid "Integer" -msgstr "" - -#: contrib/admin/views/doc.py:293 -msgid "Boolean (Either True or False)" -msgstr "" - -#: contrib/admin/views/doc.py:294 contrib/admin/views/doc.py:313 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -#: contrib/admin/views/doc.py:295 -msgid "Comma-separated integers" -msgstr "" - -#: contrib/admin/views/doc.py:296 -msgid "Date (without time)" -msgstr "" - -#: contrib/admin/views/doc.py:297 -msgid "Date (with time)" -msgstr "" - -#: contrib/admin/views/doc.py:298 -msgid "Decimal number" -msgstr "" - -#: contrib/admin/views/doc.py:299 -msgid "E-mail address" -msgstr "" - -#: contrib/admin/views/doc.py:300 contrib/admin/views/doc.py:301 -#: contrib/admin/views/doc.py:304 -msgid "File path" -msgstr "" - -#: contrib/admin/views/doc.py:302 -msgid "Floating point number" -msgstr "" - -#: contrib/admin/views/doc.py:308 -msgid "Boolean (Either True, False or None)" -msgstr "" - -#: contrib/admin/views/doc.py:309 -msgid "Relation to parent model" -msgstr "" - -#: contrib/admin/views/doc.py:310 -msgid "Phone number" -msgstr "" - -#: contrib/admin/views/doc.py:315 -msgid "Text" -msgstr "" - -#: contrib/admin/views/doc.py:316 -msgid "Time" -msgstr "" - -#: contrib/admin/views/doc.py:317 contrib/flatpages/models.py:7 -msgid "URL" -msgstr "" - -#: contrib/admin/views/doc.py:318 -msgid "U.S. state (two uppercase letters)" -msgstr "" - -#: contrib/admin/views/doc.py:319 -msgid "XML text" -msgstr "" - -#: contrib/admin/views/doc.py:345 -#, python-format -msgid "%s does not appear to be a urlpattern object" -msgstr "" - -#: contrib/admin/templates/widget/file.html:2 -msgid "Currently:" -msgstr "" - -#: contrib/admin/templates/widget/file.html:3 -msgid "Change:" -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/admin/change_list.html:5 -#: 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/admin/auth/user/change_password.html:9 -#: 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 "" - -#: contrib/admin/templates/admin/change_list.html:5 -#: 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/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin/auth/user/change_password.html:15 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 -#: contrib/admin/templates/admin_doc/view_detail.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/template_detail.html:4 -#: 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 "" - -#: contrib/admin/templates/admin/change_list.html:6 -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/500.html:4 -#: contrib/admin/templates/admin/invalid_setup.html:4 -#: contrib/admin/templates/admin/change_form.html:13 -#: contrib/admin/templates/admin/delete_confirmation.html:6 -#: contrib/admin/templates/admin/base.html:30 -#: contrib/admin/templates/admin/auth/user/change_password.html:12 -#: 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 -#: contrib/admin/templates/registration/password_reset_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Home" -msgstr "" - -#: contrib/admin/templates/admin/change_list.html:12 -#, python-format -msgid "Add %(name)s" -msgstr "" - -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/change_form.html:21 -msgid "History" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:18 -msgid "Date/time" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:19 -msgid "User" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:20 -msgid "Action" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:26 -msgid "DATE_WITH_TIME_FULL" -msgstr "" - -#: 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 "" - -#: 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] "" -msgstr[1] "" - -#: contrib/admin/templates/admin/search_form.html:10 -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -#: contrib/admin/templates/admin/pagination.html:10 -msgid "Show all" -msgstr "" - -#: contrib/admin/templates/admin/base_site.html:4 -msgid "Django site admin" -msgstr "" - -#: contrib/admin/templates/admin/base_site.html:7 -msgid "Django administration" -msgstr "" - -#: contrib/admin/templates/admin/500.html:4 -msgid "Server error" -msgstr "" - -#: contrib/admin/templates/admin/500.html:6 -msgid "Server error (500)" -msgstr "" - -#: contrib/admin/templates/admin/500.html:9 -msgid "Server Error (500)" -msgstr "" - -#: contrib/admin/templates/admin/500.html:10 -#, fuzzy -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 "i." - -#: contrib/admin/templates/admin/invalid_setup.html:8 -#, fuzzy -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 "i." - -#: contrib/admin/templates/admin/index.html:17 -#, python-format -msgid "Models available in the %(name)s application." -msgstr "" - -#: contrib/admin/templates/admin/index.html:18 -#, python-format -msgid "%(name)s" -msgstr "" - -#: contrib/admin/templates/admin/index.html:28 -#: contrib/admin/templates/admin/change_form.html:15 -msgid "Add" -msgstr "" - -#: contrib/admin/templates/admin/index.html:34 -msgid "Change" -msgstr "" - -#: contrib/admin/templates/admin/index.html:44 -msgid "You don't have permission to edit anything." -msgstr "" - -#: contrib/admin/templates/admin/index.html:52 -msgid "Recent Actions" -msgstr "" - -#: contrib/admin/templates/admin/index.html:53 -msgid "My Actions" -msgstr "" - -#: contrib/admin/templates/admin/index.html:57 -msgid "None available" -msgstr "" - -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -#: contrib/admin/templates/admin/filters.html:4 -msgid "Filter" -msgstr "" - -#: contrib/admin/templates/admin/change_form.html:22 -msgid "View on site" -msgstr "" - -#: contrib/admin/templates/admin/change_form.html:32 -#: contrib/admin/templates/admin/auth/user/change_password.html:24 -msgid "Please correct the error below." -msgid_plural "Please correct the errors below." -msgstr[0] "" -msgstr[1] "" - -#: contrib/admin/templates/admin/change_form.html:50 -msgid "Ordering" -msgstr "" - -#: contrib/admin/templates/admin/change_form.html:53 -msgid "Order:" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:9 -#: contrib/admin/templates/admin/submit_line.html:3 -msgid "Delete" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:14 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:21 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:26 -#, fuzzy -msgid "Yes, I'm sure" -msgstr "Da" - -#: contrib/admin/templates/admin/base.html:25 -msgid "Welcome," -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save as new" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:5 -#, fuzzy -msgid "Save and add another" -msgstr "i" - -#: contrib/admin/templates/admin/submit_line.html:6 -#, fuzzy -msgid "Save and continue editing" -msgstr "i" - -#: contrib/admin/templates/admin/submit_line.html:7 -msgid "Save" -msgstr "" - -#: contrib/admin/templates/admin/auth/user/change_password.html:28 -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -#: contrib/admin/templates/admin/auth/user/change_password.html:34 -#: contrib/admin/templates/admin/auth/user/add_form.html:18 -msgid "Password" -msgstr "" - -#: contrib/admin/templates/admin/auth/user/change_password.html:39 -#: contrib/admin/templates/admin/auth/user/add_form.html:23 -msgid "Password (again)" -msgstr "" - -#: contrib/admin/templates/admin/auth/user/change_password.html:40 -#: contrib/admin/templates/admin/auth/user/add_form.html:24 -msgid "Enter the same password as above, for verification." -msgstr "" - -#: contrib/admin/templates/admin/auth/user/add_form.html:6 -#, fuzzy -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "i." - -#: contrib/admin/templates/admin/auth/user/add_form.html:12 -msgid "Username" -msgstr "" - -#: 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 "" - -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 -msgid "Password change successful" -msgstr "" - -#: contrib/admin/templates/registration/password_change_done.html:12 -msgid "Your password was changed." -msgstr "" - -#: 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 "" - -#: contrib/admin/templates/registration/password_reset_form.html:12 -#, fuzzy -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 "i i." - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "E-mail address:" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "Reset my password" -msgstr "" - -#: contrib/admin/templates/registration/logged_out.html:8 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Log in again" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_done.html:10 -msgid "Password reset successful" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_done.html:12 -msgid "" -"We've e-mailed a new password to the e-mail address you submitted. You " -"should be receiving it shortly." -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:12 -#, fuzzy -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 "i." - -#: contrib/admin/templates/registration/password_change_form.html:17 -msgid "Old password:" -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:19 -msgid "New password:" -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Confirm password:" -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:23 -msgid "Change my password" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:2 -msgid "You're receiving this e-mail because you requested a password reset" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:3 -#, python-format -msgid "for your user account at %(site_name)s" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:5 -#, python-format -msgid "Your new password is: %(new_password)s" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:7 -msgid "Feel free to change this password by going to this page:" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:11 -msgid "Your username, in case you've forgotten:" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:13 -msgid "Thanks for using our site!" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:15 -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:3 -msgid "Bookmarklets" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 -msgid "Documentation bookmarklets" -msgstr "" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 -msgid "" -"\n" -"

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

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

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

      \n" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 -msgid "Documentation for this page" -msgstr "Dokumentacija za ovu stranicu" - -#: 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 "Preusmjeri te sa bilo koje stranice na dokumentaciju za taj prikaz (view) koji generira stranicu." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 -msgid "Show object ID" -msgstr "Prikaži ID objekta" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 -msgid "" -"Shows the content-type and unique ID for pages that represent a single " -"object." -msgstr "Prikazuje tip sadržaja i jedinstveni ID za stranice koje predstavljaju pojedinačan objekt." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 -msgid "Edit this object (current window)" -msgstr "Uredi objekt (u trenutno prozoru)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 -msgid "Jumps to the admin page for pages that represent a single object." -msgstr "Preusmjeri na admin stranicu za stranice koje predstavljaju pojedinačan objekt." - -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 -msgid "Edit this object (new window)" -msgstr "Uredi objekt (novi prozor)" - -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 -msgid "As above, but opens the admin page in a new window." -msgstr "Isto kao prethodno, ali otvara admin stranicu u novom prozoru." +msgid "No voting for yourself" +msgstr "Ne" #: contrib/contenttypes/models.py:37 msgid "python model class name" @@ -1943,219 +1532,335 @@ msgstr "tip sadržaja" msgid "content types" msgstr "tipovi sadržaja" -#: contrib/auth/views.py:41 -msgid "Logged out" -msgstr "Niste logirani" - -#: contrib/auth/models.py:53 contrib/auth/models.py:73 -msgid "name" -msgstr "ime" - -#: contrib/auth/models.py:55 -msgid "codename" -msgstr "kodno ime" - -#: contrib/auth/models.py:58 -msgid "permission" -msgstr "privilegija" - -#: contrib/auth/models.py:59 contrib/auth/models.py:74 -msgid "permissions" -msgstr "privilegije" - -#: contrib/auth/models.py:77 -msgid "group" -msgstr "grupa" - -#: contrib/auth/models.py:78 contrib/auth/models.py:121 -msgid "groups" -msgstr "grupe" - -#: contrib/auth/models.py:111 -msgid "username" -msgstr "korisničko ime" - -#: contrib/auth/models.py:111 +#: contrib/flatpages/models.py:8 msgid "" -"Required. 30 characters or fewer. Alphanumeric characters only (letters, " -"digits and underscores)." -msgstr "Obavezno 30 alfanumeričkih znakova ili manje (slova, brojevi i povlaka)." - -#: contrib/auth/models.py:112 -msgid "first name" -msgstr "ime" - -#: contrib/auth/models.py:113 -msgid "last name" -msgstr "prezime" - -#: contrib/auth/models.py:114 -msgid "e-mail address" -msgstr "e-mail adresa" - -#: contrib/auth/models.py:115 -msgid "password" +"Example: '/about/contact/'. Make sure to have leading and trailing slashes." msgstr "" +"Primjer: '/about/contact/'. Provjerite ako imate prvi i preostale slash-eve " +"(/)." -#: contrib/auth/models.py:115 +#: contrib/flatpages/models.py:9 +msgid "title" +msgstr "naslov" + +#: contrib/flatpages/models.py:10 +msgid "content" +msgstr "sadržaj" + +#: contrib/flatpages/models.py:11 +msgid "enable comments" +msgstr "uključi komentare" + +#: contrib/flatpages/models.py:12 +msgid "template name" +msgstr "ime template-a" + +#: contrib/flatpages/models.py:13 msgid "" -"Use '[algo]$[salt]$[hexdigest]' or use the change " -"password form." +"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " +"will use 'flatpages/default.html'." +msgstr "" +"Primjer: 'flatpages/contact_page.html'. Ako navedeno nije definirano sistem " +"će koristiti 'flatpages/default.html'." + +#: contrib/flatpages/models.py:14 +msgid "registration required" +msgstr "registracija obavezna" + +#: contrib/flatpages/models.py:14 +msgid "If this is checked, only logged-in users will be able to view the page." +msgstr "" +"Ako je ovo selektirano samo logirani korisnici moći će vidjeti ovu stranicu." + +#: contrib/flatpages/models.py:18 +msgid "flat page" +msgstr "statična stranica" + +#: contrib/flatpages/models.py:19 +msgid "flat pages" +msgstr "statične stranice" + +#: contrib/humanize/templatetags/humanize.py:20 +msgid "th" msgstr "" -#: contrib/auth/models.py:116 -msgid "staff status" +#: contrib/humanize/templatetags/humanize.py:20 +msgid "st" msgstr "" -#: contrib/auth/models.py:116 -msgid "Designates whether the user can log into this admin site." +#: contrib/humanize/templatetags/humanize.py:20 +msgid "nd" msgstr "" -#: contrib/auth/models.py:117 -msgid "active" +#: contrib/humanize/templatetags/humanize.py:20 +msgid "rd" msgstr "" -#: contrib/auth/models.py:117 -msgid "" -"Designates whether this user can log into the Django admin. Unselect this " -"instead of deleting accounts." -msgstr "" +#: contrib/humanize/templatetags/humanize.py:52 +#, python-format +msgid "%(value).1f million" +msgid_plural "%(value).1f million" +msgstr[0] "" +msgstr[1] "" -#: contrib/auth/models.py:118 -msgid "superuser status" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:55 +#, python-format +msgid "%(value).1f billion" +msgid_plural "%(value).1f billion" +msgstr[0] "" +msgstr[1] "" -#: contrib/auth/models.py:118 -msgid "" -"Designates that this user has all permissions without explicitly assigning " -"them." -msgstr "" +#: contrib/humanize/templatetags/humanize.py:58 +#, python-format +msgid "%(value).1f trillion" +msgid_plural "%(value).1f trillion" +msgstr[0] "" +msgstr[1] "" -#: contrib/auth/models.py:119 -msgid "last login" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:74 +msgid "one" +msgstr "jedan" -#: contrib/auth/models.py:120 -msgid "date joined" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:74 +msgid "two" +msgstr "dva" -#: contrib/auth/models.py:122 -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/humanize/templatetags/humanize.py:74 +msgid "three" +msgstr "tri" -#: contrib/auth/models.py:123 -msgid "user permissions" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:74 +msgid "four" +msgstr "četiri" -#: contrib/auth/models.py:127 -msgid "user" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:74 +msgid "five" +msgstr "pet" -#: contrib/auth/models.py:128 -msgid "users" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:74 +msgid "six" +msgstr "šest" -#: contrib/auth/models.py:134 -msgid "Personal info" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:74 +msgid "seven" +msgstr "sedam" -#: contrib/auth/models.py:135 -msgid "Permissions" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:74 +msgid "eight" +msgstr "osam" -#: contrib/auth/models.py:136 -msgid "Important dates" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:74 +msgid "nine" +msgstr "devet" -#: contrib/auth/models.py:137 -msgid "Groups" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:94 +#, fuzzy +msgid "today" +msgstr "danas" -#: contrib/auth/models.py:287 -msgid "message" -msgstr "" +#: contrib/humanize/templatetags/humanize.py:96 +msgid "tomorrow" +msgstr "sutra" -#: contrib/auth/forms.py:17 contrib/auth/forms.py:138 -msgid "The two password fields didn't match." -msgstr "" +#: contrib/humanize/templatetags/humanize.py:98 +#, fuzzy +msgid "yesterday" +msgstr "jučer" -#: contrib/auth/forms.py:25 -msgid "A user with that username already exists." -msgstr "" +#: contrib/localflavor/ar/forms.py:28 +#, fuzzy +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "Unesi ispravan poštanski broj formata NNNN ili ANNNNAAA." -#: contrib/auth/forms.py:53 -msgid "" -"Your Web browser doesn't appear to have cookies enabled. Cookies are " -"required for logging in." -msgstr "" +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:96 +#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 +#: contrib/localflavor/pe/forms.py:51 +msgid "This field requires only numbers." +msgstr "Ovo polje zahtjeva samo brojeve." -#: contrib/auth/forms.py:62 -msgid "This account is inactive." -msgstr "" +#: contrib/localflavor/ar/forms.py:51 +#, fuzzy +msgid "This field requires 7 or 8 digits." +msgstr "Ovo polje zahtjeva 7 ili 8 numeričkih znakova." -#: contrib/auth/forms.py:84 -msgid "" -"That e-mail address doesn't have an associated user account. Are you sure " -"you've registered?" -msgstr "" +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "Unesite ispravan CUIT formata XX-XXXXXXXX-X ili XXXXXXXXXXXX." -#: contrib/auth/forms.py:117 -msgid "The two 'new password' fields didn't match." -msgstr "" +#: contrib/localflavor/ar/forms.py:81 +#, fuzzy +msgid "Invalid CUIT." +msgstr "Neispravan CUIT." -#: contrib/auth/forms.py:124 -msgid "Your old password was entered incorrectly. Please enter it again." -msgstr "" +#: contrib/localflavor/au/forms.py:16 +msgid "Enter a 4 digit post code." +msgstr "Unesite poštanski kod sa 4 numerička znaka." -#: contrib/localflavor/uk/forms.py:18 -msgid "Enter a postcode. A space is required between the two postcode parts." -msgstr "" - -#: contrib/localflavor/br/forms.py:18 +#: contrib/localflavor/br/forms.py:21 msgid "Enter a zip code in the format XXXXX-XXX." -msgstr "" +msgstr "Unesite zip kod formata XXXXX-XXX." #: contrib/localflavor/br/forms.py:30 msgid "Phone numbers must be in XX-XXXX-XXXX format." +msgstr "Telefonski brojevi moraju biti formata XX-XXXX-XXXX." + +#: contrib/localflavor/br/forms.py:58 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." msgstr "" -#: contrib/localflavor/br/forms.py:72 -msgid "This field requires only numbers." -msgstr "" - -#: contrib/localflavor/br/forms.py:74 -msgid "This field requires at most 11 digits or 14 characters." -msgstr "" - -#: contrib/localflavor/br/forms.py:84 +#: contrib/localflavor/br/forms.py:94 msgid "Invalid CPF number." -msgstr "" +msgstr "Neispravan CPF broj." -#: contrib/localflavor/br/forms.py:106 -msgid "This field requires at least 14 digits" -msgstr "" +#: contrib/localflavor/br/forms.py:95 +msgid "This field requires at most 11 digits or 14 characters." +msgstr "Ovo polje zahtjeva najviše 11 ili 14 numeričkih znakova." -#: contrib/localflavor/br/forms.py:116 +#: contrib/localflavor/br/forms.py:134 msgid "Invalid CNPJ number." +msgstr "Neispravan CNPJ broj." + +#: contrib/localflavor/br/forms.py:136 +msgid "This field requires at least 14 digits" +msgstr "Ovo polje zahtjeva najviše 14 numeričkih znakova" + +#: contrib/localflavor/ca/forms.py:17 +#, fuzzy +msgid "Enter a postal code in the format XXX XXX." +msgstr "Unesi poštanski broj formata XXX XXX." + +#: contrib/localflavor/ca/forms.py:88 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format." msgstr "" -#: contrib/localflavor/au/forms.py:18 -msgid "Enter a 4 digit post code." +#: contrib/localflavor/ch/ch_states.py:5 +msgid "Aargau" msgstr "" -#: contrib/localflavor/fr/forms.py:17 contrib/localflavor/de/forms.py:16 -#: contrib/localflavor/fi/forms.py:14 -msgid "Enter a zip code in the format XXXXX." +#: contrib/localflavor/ch/ch_states.py:6 +msgid "Appenzell Innerrhoden" msgstr "" -#: contrib/localflavor/us/forms.py:18 -msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +#: contrib/localflavor/ch/ch_states.py:7 +msgid "Appenzell Ausserrhoden" msgstr "" -#: contrib/localflavor/us/forms.py:51 -msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +#: contrib/localflavor/ch/ch_states.py:8 +msgid "Basel-Stadt" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:9 +msgid "Basel-Land" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:10 +msgid "Berne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:11 +msgid "Fribourg" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:12 +msgid "Geneva" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:13 +msgid "Glarus" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:14 +msgid "Graubuenden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:15 +msgid "Jura" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:16 +msgid "Lucerne" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:17 +msgid "Neuchatel" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:18 +msgid "Nidwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:19 +msgid "Obwalden" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:20 +msgid "Schaffhausen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:21 +msgid "Schwyz" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:22 +msgid "Solothurn" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:23 +msgid "St. Gallen" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:24 +msgid "Thurgau" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:25 +msgid "Ticino" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:26 +msgid "Uri" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:27 +msgid "Valais" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:28 +msgid "Vaud" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:29 +msgid "Zug" +msgstr "" + +#: contrib/localflavor/ch/ch_states.py:30 +msgid "Zurich" +msgstr "" + +#: contrib/localflavor/ch/forms.py:16 contrib/localflavor/no/forms.py:12 +msgid "Enter a zip code in the format XXXX." +msgstr "" + +#: contrib/localflavor/ch/forms.py:64 +msgid "" +"Enter a valid Swiss identity or passport card number in X1234567<0 or " +"1234567890 format." +msgstr "" + +#: contrib/localflavor/cl/forms.py:29 +#, fuzzy +msgid "Enter a valid Chilean RUT." +msgstr "Unesi ispravan čileanski RUT" + +#: contrib/localflavor/cl/forms.py:30 +#, fuzzy +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "Unesi ispravan čileanski RUT formata XX.XXX.XXX-X." + +#: contrib/localflavor/cl/forms.py:31 +msgid "The Chilean RUT is not valid." msgstr "" #: contrib/localflavor/de/de_states.py:5 @@ -2222,12 +1927,366 @@ msgstr "" msgid "Thuringia" msgstr "" -#: contrib/localflavor/de/forms.py:60 +#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/fr/forms.py:15 +msgid "Enter a zip code in the format XXXXX." +msgstr "" + +#: contrib/localflavor/de/forms.py:41 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." msgstr "" +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:9 +#, fuzzy +msgid "Avila" +msgstr "Travanj" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:22 +#, fuzzy +msgid "Granada" +msgstr "i" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:26 +#, fuzzy +msgid "Huesca" +msgstr "Utorak" + +#: contrib/localflavor/es/es_provinces.py:27 +#, fuzzy +msgid "Jaen" +msgstr "Sij." + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:48 +#, fuzzy +msgid "Teruel" +msgstr "Uto" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "" + +#: contrib/localflavor/es/forms.py:19 +#, fuzzy +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX." + +#: contrib/localflavor/es/forms.py:39 +#, fuzzy +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX." + +#: contrib/localflavor/es/forms.py:66 +#, fuzzy +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "Unesite ispravnu IP adresu." + +#: contrib/localflavor/es/forms.py:67 +#, fuzzy +msgid "Please enter a valid NIF or NIE." +msgstr "Molim unesite validan %s." + +#: contrib/localflavor/es/forms.py:68 +msgid "Invalid checksum for NIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIE." +msgstr "" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for CIF." +msgstr "" + +#: contrib/localflavor/es/forms.py:142 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" + +#: contrib/localflavor/es/forms.py:143 +msgid "Invalid checksum for bank account number." +msgstr "" + +#: contrib/localflavor/fi/forms.py:28 +msgid "Enter a valid Finnish social security number." +msgstr "Unesi ispravan finski broj socijalnog osiguranja." + +#: contrib/localflavor/in_/forms.py:14 +#, fuzzy +msgid "Enter a zip code in the format XXXXXXX." +msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX." + +#: contrib/localflavor/is_/forms.py:17 +msgid "" +"Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/is_/forms.py:18 +msgid "The Icelandic identification number is not valid." +msgstr "" + +#: contrib/localflavor/it/forms.py:14 +msgid "Enter a valid zip code." +msgstr "" + +#: contrib/localflavor/it/forms.py:43 +msgid "Enter a valid Social Security number." +msgstr "" + +#: contrib/localflavor/it/forms.py:68 +msgid "Enter a valid VAT number." +msgstr "" + +#: contrib/localflavor/jp/forms.py:19 +msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +msgstr "" + #: contrib/localflavor/jp/jp_prefectures.py:4 msgid "Hokkaido" msgstr "" @@ -2416,180 +2475,312 @@ msgstr "" msgid "Okinawa" msgstr "" -#: contrib/localflavor/jp/forms.py:21 -msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" msgstr "" -#: contrib/localflavor/ch/ch_states.py:5 -msgid "Aargau" +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" msgstr "" -#: contrib/localflavor/ch/ch_states.py:6 -msgid "Appenzell Innerrhoden" +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" msgstr "" -#: contrib/localflavor/ch/ch_states.py:7 -msgid "Appenzell Ausserrhoden" +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" msgstr "" -#: contrib/localflavor/ch/ch_states.py:8 -msgid "Basel-Stadt" +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" msgstr "" -#: contrib/localflavor/ch/ch_states.py:9 -msgid "Basel-Land" +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" msgstr "" -#: contrib/localflavor/ch/ch_states.py:10 -msgid "Berne" +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" msgstr "" -#: contrib/localflavor/ch/ch_states.py:11 -msgid "Fribourg" +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" msgstr "" -#: contrib/localflavor/ch/ch_states.py:12 -msgid "Geneva" +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" msgstr "" -#: contrib/localflavor/ch/ch_states.py:13 -msgid "Glarus" +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" msgstr "" -#: contrib/localflavor/ch/ch_states.py:14 -msgid "Graubuenden" +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" msgstr "" -#: contrib/localflavor/ch/ch_states.py:15 -msgid "Jura" +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" msgstr "" -#: contrib/localflavor/ch/ch_states.py:16 -msgid "Lucerne" +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" msgstr "" -#: contrib/localflavor/ch/ch_states.py:17 -msgid "Neuchatel" +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" msgstr "" -#: contrib/localflavor/ch/ch_states.py:18 -msgid "Nidwalden" +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" msgstr "" -#: contrib/localflavor/ch/ch_states.py:19 -msgid "Obwalden" +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" msgstr "" -#: contrib/localflavor/ch/ch_states.py:20 -msgid "Schaffhausen" +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" msgstr "" -#: contrib/localflavor/ch/ch_states.py:21 -msgid "Schwyz" +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" msgstr "" -#: contrib/localflavor/ch/ch_states.py:22 -msgid "Solothurn" +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" msgstr "" -#: contrib/localflavor/ch/ch_states.py:23 -msgid "St. Gallen" +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" msgstr "" -#: contrib/localflavor/ch/ch_states.py:24 -msgid "Thurgau" +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" msgstr "" -#: contrib/localflavor/ch/ch_states.py:25 -msgid "Ticino" +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" msgstr "" -#: contrib/localflavor/ch/ch_states.py:26 -msgid "Uri" +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" msgstr "" -#: contrib/localflavor/ch/ch_states.py:27 -msgid "Valais" +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" msgstr "" -#: contrib/localflavor/ch/ch_states.py:28 -msgid "Vaud" +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" msgstr "" -#: contrib/localflavor/ch/ch_states.py:29 -msgid "Zug" +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" msgstr "" -#: contrib/localflavor/ch/ch_states.py:30 -msgid "Zurich" +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" msgstr "" -#: contrib/localflavor/ch/forms.py:18 contrib/localflavor/no/forms.py:14 -msgid "Enter a zip code in the format XXXX." +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" msgstr "" -#: contrib/localflavor/ch/forms.py:90 -msgid "" -"Enter a valid Swiss identity or passport card number in X1234567<0 or " -"1234567890 format." +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" msgstr "" -#: contrib/localflavor/is_/forms.py:17 -msgid "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" msgstr "" -#: contrib/localflavor/is_/forms.py:31 -msgid "The Icelandic identification number is not valid." +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" msgstr "" -#: contrib/localflavor/it/forms.py:16 -msgid "Enter a valid zip code." +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" msgstr "" -#: contrib/localflavor/it/forms.py:41 -msgid "Enter a valid Social Security number." +#: contrib/localflavor/nl/forms.py:21 +#, fuzzy +msgid "Enter a valid postal code" +msgstr "Unesite ispravan datum." + +#: contrib/localflavor/nl/forms.py:52 +#, fuzzy +msgid "Enter a valid phone number" +msgstr "Unesite cijeli broj." + +#: contrib/localflavor/nl/forms.py:78 +#, fuzzy +msgid "Enter a valid SoFi number" +msgstr "Unesite ime datoteke koja postoji." + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drente" msgstr "" -#: contrib/localflavor/it/forms.py:68 -msgid "Enter a valid VAT number." +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" msgstr "" -#: contrib/localflavor/no/forms.py:35 +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "" + +#: contrib/localflavor/nl/nl_provinces.py:14 +#, fuzzy +msgid "Zeeland" +msgstr "i" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "" + +#: contrib/localflavor/no/forms.py:33 msgid "Enter a valid Norwegian social security number." msgstr "" -#: contrib/localflavor/sk/sk_regions.py:8 -msgid "Banska Bystrica region" +#: contrib/localflavor/pe/forms.py:24 +#, fuzzy +msgid "This field requires 8 digits." +msgstr "Unos za ovo polje je obavezno." + +#: contrib/localflavor/pe/forms.py:52 +#, fuzzy +msgid "This field requires 11 digits." +msgstr "Unos za ovo polje je obavezno." + +#: contrib/localflavor/pl/forms.py:39 +msgid "National Identification Number consists of 11 digits." msgstr "" -#: contrib/localflavor/sk/sk_regions.py:9 -msgid "Bratislava region" +#: contrib/localflavor/pl/forms.py:40 +msgid "Wrong checksum for the National Identification Number." msgstr "" -#: contrib/localflavor/sk/sk_regions.py:10 -msgid "Kosice region" +#: contrib/localflavor/pl/forms.py:72 +#, fuzzy +msgid "" +"Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." +msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX." + +#: contrib/localflavor/pl/forms.py:73 +msgid "Wrong checksum for the Tax Number (NIP)." msgstr "" -#: contrib/localflavor/sk/sk_regions.py:11 -msgid "Nitra region" +#: contrib/localflavor/pl/forms.py:112 +msgid "National Business Register Number (REGON) consists of 7 or 9 digits." msgstr "" -#: contrib/localflavor/sk/sk_regions.py:12 -msgid "Presov region" +#: contrib/localflavor/pl/forms.py:113 +msgid "Wrong checksum for the National Business Register Number (REGON)." msgstr "" -#: contrib/localflavor/sk/sk_regions.py:13 -msgid "Trencin region" +#: contrib/localflavor/pl/forms.py:156 +#, fuzzy +msgid "Enter a postal code in the format XX-XXX." +msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX." + +#: contrib/localflavor/pl/pl_voivodeships.py:8 +msgid "Lower Silesia" msgstr "" -#: contrib/localflavor/sk/sk_regions.py:14 -msgid "Trnava region" +#: contrib/localflavor/pl/pl_voivodeships.py:9 +msgid "Kuyavia-Pomerania" msgstr "" -#: contrib/localflavor/sk/sk_regions.py:15 -msgid "Zilina region" +#: contrib/localflavor/pl/pl_voivodeships.py:10 +msgid "Lublin" msgstr "" +#: contrib/localflavor/pl/pl_voivodeships.py:11 +msgid "Lubusz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:12 +msgid "Lodz" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:13 +msgid "Lesser Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:14 +msgid "Masovia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:15 +msgid "Opole" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:16 +msgid "Subcarpatia" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:17 +msgid "Podlasie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:18 +msgid "Pomerania" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:19 +#, fuzzy +msgid "Silesia" +msgstr "Zilina" + +#: contrib/localflavor/pl/pl_voivodeships.py:20 +msgid "Swietokrzyskie" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:21 +msgid "Warmia-Masuria" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:22 +msgid "Greater Poland" +msgstr "" + +#: contrib/localflavor/pl/pl_voivodeships.py:23 +msgid "West Pomerania" +msgstr "" + +#: contrib/localflavor/sk/forms.py:30 +msgid "Enter a postal code in the format XXXXX or XXX XX." +msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX." + #: contrib/localflavor/sk/sk_districts.py:8 msgid "Banska Bystrica" msgstr "" @@ -2906,83 +3097,982 @@ msgstr "Ziar nad Hronom" msgid "Zilina" msgstr "Zilina" -#: contrib/localflavor/sk/forms.py:32 -msgid "Enter a postal code in the format XXXXX or XXX XX." -msgstr "Unesi ispravan poštanski broj formata XXXXX or XXX XX." +#: contrib/localflavor/sk/sk_regions.py:8 +msgid "Banska Bystrica region" +msgstr "" -#: contrib/localflavor/cl/forms.py:32 -msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." -msgstr "Unesi ispravan čileanski RUT formata XX.XXX.XXX-X." +#: contrib/localflavor/sk/sk_regions.py:9 +msgid "Bratislava region" +msgstr "" -#: contrib/localflavor/cl/forms.py:37 -msgid "Enter valid a Chilean RUT" -msgstr "Unesi ispravan čileanski RUT" +#: contrib/localflavor/sk/sk_regions.py:10 +msgid "Kosice region" +msgstr "" -#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 -msgid "Enter a valid Finnish social security number." +#: contrib/localflavor/sk/sk_regions.py:11 +msgid "Nitra region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:12 +msgid "Presov region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:13 +msgid "Trencin region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:14 +msgid "Trnava region" +msgstr "" + +#: contrib/localflavor/sk/sk_regions.py:15 +msgid "Zilina region" +msgstr "" + +#: contrib/localflavor/uk/forms.py:21 +#, fuzzy +msgid "Enter a valid postcode." +msgstr "Unesite ispravan datum." + +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:57 +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Down" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:90 +#, fuzzy +msgid "England" +msgstr "i" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "" + +#: contrib/localflavor/us/forms.py:16 +msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." +msgstr "" + +#: contrib/localflavor/us/forms.py:54 +msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." +msgstr "" + +#: contrib/localflavor/za/forms.py:20 +#, fuzzy +msgid "Enter a valid South African ID number" msgstr "Unesi ispravan finski broj socijalnog osiguranja." -#: contrib/sessions/models.py:68 +#: contrib/localflavor/za/forms.py:54 +#, fuzzy +msgid "Enter a valid South African postal code" +msgstr "Unesite ime datoteke koja postoji." + +#: contrib/localflavor/za/za_provinces.py:4 +#, fuzzy +msgid "Eastern Cape" +msgstr "korisničko ime" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:6 +#, fuzzy +msgid "Gauteng" +msgstr "kol." + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "" + +#: contrib/redirects/models.py:7 +msgid "redirect from" +msgstr "forma za preusmjeravanje" + +#: contrib/redirects/models.py:8 +msgid "" +"This should be an absolute path, excluding the domain name. Example: '/" +"events/search/'." +msgstr "" +"Ovo bi trebala biti apsolutna putanja, bez imena domene. Primjer: '/events/" +"search/'." + +#: contrib/redirects/models.py:9 +msgid "redirect to" +msgstr "preusmjeri na" + +#: contrib/redirects/models.py:10 +msgid "" +"This can be either an absolute path (as above) or a full URL starting with " +"'http://'." +msgstr "" +"Ovo može biti ili apsolutna putanja (kao gore) ili potpuni URL koji počinje " +"sa 'http://'" + +#: contrib/redirects/models.py:13 +msgid "redirect" +msgstr "preusmjeri" + +#: contrib/redirects/models.py:14 +msgid "redirects" +msgstr "redirects" + +#: contrib/sessions/models.py:46 msgid "session key" msgstr "session ključ (key)" -#: contrib/sessions/models.py:69 +#: contrib/sessions/models.py:47 msgid "session data" msgstr "session podaci" -#: contrib/sessions/models.py:70 +#: contrib/sessions/models.py:48 msgid "expire date" -msgstr "ističe datuma" +msgstr "ističe na datum" -#: contrib/sessions/models.py:74 +#: contrib/sessions/models.py:53 msgid "session" msgstr "session" -#: contrib/sessions/models.py:75 +#: contrib/sessions/models.py:54 msgid "sessions" msgstr "sessions" -#: contrib/flatpages/models.py:8 -msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes." -msgstr "Primjer: '/about/contact/'. Provjerite ako imate prvi i preostale slash-eve (/)." +#: contrib/sites/models.py:32 +msgid "domain name" +msgstr "ime domene" -#: contrib/flatpages/models.py:9 -msgid "title" -msgstr "naslov" +#: contrib/sites/models.py:33 +msgid "display name" +msgstr "ime za prikaz" -#: contrib/flatpages/models.py:10 -msgid "content" -msgstr "sadržaj" +#: contrib/sites/models.py:37 +msgid "site" +msgstr "stranica" -#: contrib/flatpages/models.py:11 -msgid "enable comments" -msgstr "uključi komentare" +#: contrib/sites/models.py:38 +msgid "sites" +msgstr "stranice" -#: contrib/flatpages/models.py:12 -msgid "template name" -msgstr "ime template-a" +#: core/validators.py:72 +msgid "This value must contain only letters, numbers and underscores." +msgstr "Ova vrijednost može sadržavati samo slova, brojeve i povlaku." -#: contrib/flatpages/models.py:13 +#: core/validators.py:76 msgid "" -"Example: 'flatpages/contact_page.html'. If this isn't provided, the system " -"will use 'flatpages/default.html'." -msgstr "Primjer: 'flatpages/contact_page.html'. Ako navedeno nije definirano sistem će koristiti 'flatpages/default.html'." +"This value must contain only letters, numbers, underscores, dashes or " +"slashes." +msgstr "" +"Ova vrijednost može sadržavati samo slova, brojeve, povlaku, crtice ili " +"slashes (/)." -#: contrib/flatpages/models.py:14 -msgid "registration required" -msgstr "registracija obavezna" +#: core/validators.py:80 +msgid "This value must contain only letters, numbers, underscores or hyphens." +msgstr "" +"Ova vrijednost može sadržavati samo slova, brojeve, povlake ili hyphens." -#: contrib/flatpages/models.py:14 -msgid "If this is checked, only logged-in users will be able to view the page." -msgstr "Ako je ovo selektirano samo logirani korisnici moći će vidjeti ovu stranicu." +#: core/validators.py:84 +msgid "Uppercase letters are not allowed here." +msgstr "Velika slova ovdje nisu dopuštena." -#: contrib/flatpages/models.py:18 -msgid "flat page" -msgstr "statična stranica" +#: core/validators.py:88 +msgid "Lowercase letters are not allowed here." +msgstr "Mala slova ovdje nisu dopuštena" -#: contrib/flatpages/models.py:19 -msgid "flat pages" -msgstr "statične stranice" +#: core/validators.py:95 +msgid "Enter only digits separated by commas." +msgstr "Unesite samo brojeve razdvojene zarezom." + +#: core/validators.py:107 +msgid "Enter valid e-mail addresses separated by commas." +msgstr "Unesite ispravne e-mail adrese odvojene zarezom." + +#: core/validators.py:111 +msgid "Please enter a valid IP address." +msgstr "Unesite ispravnu IP adresu." + +#: core/validators.py:115 +msgid "Empty values are not allowed here." +msgstr "Prazne vrijednosti nisu ispravne ovdje." + +#: core/validators.py:119 +msgid "Non-numeric characters aren't allowed here." +msgstr "Dozvoljeni su samo numerički znakovi." + +#: core/validators.py:123 +msgid "This value can't be comprised solely of digits." +msgstr "Ova vrijednost ne može sadržavati samo brojeve." + +#: core/validators.py:128 newforms/fields.py:151 +msgid "Enter a whole number." +msgstr "Unesite cijeli broj." + +#: core/validators.py:132 +msgid "Only alphabetical characters are allowed here." +msgstr "Dozvoljena su samo slova abecede." + +#: core/validators.py:147 +msgid "Year must be 1900 or later." +msgstr "Godina mora biti poslije 1900." + +#: core/validators.py:151 +#, python-format +msgid "Invalid date: %s" +msgstr "Neispravan datum: %s" + +#: core/validators.py:156 db/models/fields/__init__.py:509 +msgid "Enter a valid date in YYYY-MM-DD format." +msgstr "Unesite validan datum u formatu YYYY-MM-DD." + +#: core/validators.py:161 +msgid "Enter a valid time in HH:MM format." +msgstr "Unesite ispravno vrijeme u HH:MM formatu." + +#: core/validators.py:165 db/models/fields/__init__.py:583 +msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." +msgstr "Unesite validan datum/vrijeme u formatu YYYY-MM-DD HH:MM." + +#: core/validators.py:170 newforms/fields.py:402 +msgid "Enter a valid e-mail address." +msgstr "Unesite ispravnu e-mail adresu." + +#: core/validators.py:182 core/validators.py:474 newforms/fields.py:432 +#: oldforms/__init__.py:687 +msgid "No file was submitted. Check the encoding type on the form." +msgstr "Datoteka nije poslana. Provjerite 'encoding type' forme." + +#: core/validators.py:193 newforms/fields.py:456 +msgid "" +"Upload a valid image. The file you uploaded was either not an image or a " +"corrupted image." +msgstr "" +"Upload-ajte ispravnu sliku. Datoteka koju ste upload-ali ili nije slika ili " +"je oštečena." + +#: core/validators.py:200 +#, python-format +msgid "The URL %s does not point to a valid image." +msgstr "URL %s ne prikazuje ispravnu sliku." + +#: core/validators.py:204 +#, python-format +msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." +msgstr "" +"Telefonski brojevi moraju biti u formatu XXX-XXX-XXXX. \"%s\" nije ispravan " +"format." + +#: core/validators.py:212 +#, python-format +msgid "The URL %s does not point to a valid QuickTime video." +msgstr "URL %s ne vodi na ispravan QuickTime video." + +#: core/validators.py:216 +msgid "A valid URL is required." +msgstr "Ispravan URL je obavezan." + +#: core/validators.py:230 +#, python-format +msgid "" +"Valid HTML is required. Specific errors are:\n" +"%s" +msgstr "Ispravan HTML je obavezan. Pogreške:
      %s" + +#: core/validators.py:237 +#, python-format +msgid "Badly formed XML: %s" +msgstr "Loše formatiran XML: %s" + +#: core/validators.py:254 +#, python-format +msgid "Invalid URL: %s" +msgstr "Neispravan URL: %s" + +#: core/validators.py:259 core/validators.py:261 +#, python-format +msgid "The URL %s is a broken link." +msgstr "URL %s je neispravan (broken) link." + +#: core/validators.py:267 +msgid "Enter a valid U.S. state abbreviation." +msgstr "Enter a valid U.S. state abbreviation." + +#: core/validators.py:281 +#, python-format +msgid "Watch your mouth! The word %s is not allowed here." +msgid_plural "Watch your mouth! The words %s are not allowed here." +msgstr[0] "Pazite na izražavanje! Riječ %s nije dopuštena." +msgstr[1] "Pazite na izražavanje! Riječi %s nisu dopuštene." + +#: core/validators.py:288 +#, python-format +msgid "This field must match the '%s' field." +msgstr "Ovo polje mora biti jednako %s polju." + +#: core/validators.py:307 +msgid "Please enter something for at least one field." +msgstr "Molim unesite nešto bar za jedno polje." + +#: core/validators.py:316 core/validators.py:327 +msgid "Please enter both fields or leave them both empty." +msgstr "Molim unesite vrijednosti za oba polja ili ostavite oba polja prazna." + +#: core/validators.py:335 +#, python-format +msgid "This field must be given if %(field)s is %(value)s" +msgstr "Ovo polja mora biti ispunjeno ako je %(field)s %(value)s" + +#: core/validators.py:348 +#, python-format +msgid "This field must be given if %(field)s is not %(value)s" +msgstr "Ovo polje je obavezno ako je %(field)s različito od %(value)s" + +#: core/validators.py:367 +msgid "Duplicate values are not allowed." +msgstr "Duplicirane vrijednosti nisu dopuštene." + +#: core/validators.py:382 +#, python-format +msgid "This value must be between %(lower)s and %(upper)s." +msgstr "Vrijednost mora biti između %(lower)s i %(upper)s." + +#: core/validators.py:384 +#, python-format +msgid "This value must be at least %s." +msgstr "Vrijednost mora biti bar %s." + +#: core/validators.py:386 +#, python-format +msgid "This value must be no more than %s." +msgstr "Vrijednost ne može biti veća od %s." + +#: core/validators.py:427 +#, python-format +msgid "This value must be a power of %s." +msgstr "Ova vrijednost na kvadrat mora biti %s." + +#: core/validators.py:437 +msgid "Please enter a valid decimal number." +msgstr "Molim unesite ispravan decimalni broj." + +#: core/validators.py:444 +#, python-format +msgid "Please enter a valid decimal number with at most %s total digit." +msgid_plural "" +"Please enter a valid decimal number with at most %s total digits." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:447 +#, python-format +msgid "" +"Please enter a valid decimal number with a whole part of at most %s digit." +msgid_plural "" +"Please enter a valid decimal number with a whole part of at most %s digits." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:450 +#, python-format +msgid "Please enter a valid decimal number with at most %s decimal place." +msgid_plural "" +"Please enter a valid decimal number with at most %s decimal places." +msgstr[0] "" +msgstr[1] "" + +#: core/validators.py:458 +msgid "Please enter a valid floating point number." +msgstr "" + +#: core/validators.py:467 +#, python-format +msgid "Make sure your uploaded file is at least %s bytes big." +msgstr "" + +#: core/validators.py:468 +#, python-format +msgid "Make sure your uploaded file is at most %s bytes big." +msgstr "" + +#: core/validators.py:485 +msgid "The format for this field is wrong." +msgstr "" + +#: core/validators.py:500 +msgid "This field is invalid." +msgstr "" + +#: core/validators.py:536 +#, python-format +msgid "Could not retrieve anything from %s." +msgstr "" + +#: core/validators.py:539 +#, python-format +msgid "" +"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." +msgstr "" + +#: core/validators.py:572 +#, python-format +msgid "" +"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " +"\"%(start)s\".)" +msgstr "" + +#: core/validators.py:576 +#, python-format +msgid "" +"Some text starting on line %(line)s is not allowed in that context. (Line " +"starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:581 +#, python-format +msgid "" +"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" +"(start)s\".)" +msgstr "" + +#: core/validators.py:586 +#, python-format +msgid "" +"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" +"(start)s\".)" +msgstr "" + +#: core/validators.py:590 +#, python-format +msgid "" +"A tag on line %(line)s is missing one or more required attributes. (Line " +"starts with \"%(start)s\".)" +msgstr "" + +#: core/validators.py:595 +#, python-format +msgid "" +"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " +"starts with \"%(start)s\".)" +msgstr "" + +#: db/models/manipulators.py:308 +#, python-format +msgid "%(object)s with this %(type)s already exists for the given %(field)s." +msgstr "%(object)s sa %(type)s već postoji za navedeno %(field)s." + +#: db/models/fields/__init__.py:52 +#, python-format +msgid "%(optname)s with this %(fieldname)s already exists." +msgstr "%(optname)s sa navedenim %(fieldname)s već postoji." + +#: db/models/fields/__init__.py:161 db/models/fields/__init__.py:318 +#: db/models/fields/__init__.py:735 db/models/fields/__init__.py:746 +#: newforms/fields.py:45 oldforms/__init__.py:374 +msgid "This field is required." +msgstr "Unos za ovo polje je obavezno." + +#: db/models/fields/__init__.py:418 +msgid "This value must be an integer." +msgstr "Vrijednost mora biti interger." + +#: db/models/fields/__init__.py:454 +msgid "This value must be either True or False." +msgstr "Vrijednost mora biti True ili False." + +#: db/models/fields/__init__.py:475 +msgid "This field cannot be null." +msgstr "Ovo polje ne može biti null." + +#: db/models/fields/__init__.py:644 +msgid "This value must be a decimal number." +msgstr "Vrijednost mora biti decimalan broj." + +#: db/models/fields/__init__.py:755 +msgid "Enter a valid filename." +msgstr "Unesite ime datoteke koja postoji." + +#: db/models/fields/__init__.py:904 +msgid "This value must be either None, True or False." +msgstr "Vrijednost mora biti None, True ili False." + +#: db/models/fields/related.py:55 +#, python-format +msgid "Please enter a valid %s." +msgstr "Molim unesite validan %s." + +#: db/models/fields/related.py:658 +msgid "Separate multiple IDs with commas." +msgstr "Odvojite više ID-a zarezom." + +#: db/models/fields/related.py:660 +msgid "" +"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." +msgstr "" +"Držite \"Control\", ili \"Command\" na Mac-u, da bi odabravili više od " +"jednog objekta." + +#: db/models/fields/related.py:707 +#, 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] "" +"Molim unesite ispravan %(self)s ID. Vrijednost %(value)r je neispravna." +msgstr[1] "" + +#: newforms/fields.py:46 +msgid "Enter a valid value." +msgstr "" + +#: newforms/fields.py:123 +#, python-format +msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." +msgstr "" + +#: newforms/fields.py:124 +#, python-format +msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." +msgstr "" + +#: newforms/fields.py:152 newforms/fields.py:181 newforms/fields.py:210 +#, python-format +msgid "Ensure this value is less than or equal to %s." +msgstr "" + +#: newforms/fields.py:153 newforms/fields.py:182 newforms/fields.py:211 +#, python-format +msgid "Ensure this value is greater than or equal to %s." +msgstr "" + +#: newforms/fields.py:180 newforms/fields.py:209 +msgid "Enter a number." +msgstr "" + +#: newforms/fields.py:212 +#, python-format +msgid "Ensure that there are no more than %s digits in total." +msgstr "" + +#: newforms/fields.py:213 +#, python-format +msgid "Ensure that there are no more than %s decimal places." +msgstr "" + +#: newforms/fields.py:214 +#, python-format +msgid "Ensure that there are no more than %s digits before the decimal point." +msgstr "" + +#: newforms/fields.py:262 newforms/fields.py:719 +msgid "Enter a valid date." +msgstr "Unesite ispravan datum." + +#: newforms/fields.py:295 newforms/fields.py:720 +msgid "Enter a valid time." +msgstr "" + +#: newforms/fields.py:334 +msgid "Enter a valid date/time." +msgstr "" + +#: newforms/fields.py:433 +#, fuzzy +msgid "No file was submitted." +msgstr "Ne." + +#: newforms/fields.py:434 oldforms/__init__.py:689 +msgid "The submitted file is empty." +msgstr "Poslana datoteka je prazna." + +#: newforms/fields.py:492 +msgid "Enter a valid URL." +msgstr "" + +#: newforms/fields.py:493 +msgid "This URL appears to be a broken link." +msgstr "" + +#: newforms/fields.py:555 newforms/models.py:317 +msgid "Select a valid choice. That choice is not one of the available choices." +msgstr "" + +#: newforms/fields.py:594 +#, fuzzy, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "Odaberite iz ponuđenog; '%(data)s' nije u %(choices)s." + +#: newforms/fields.py:595 newforms/fields.py:657 newforms/models.py:377 +msgid "Enter a list of values." +msgstr "" + +#: newforms/fields.py:748 +#, fuzzy +msgid "Enter a valid IPv4 address." +msgstr "Unesite ispravnu e-mail adresu." + +#: newforms/models.py:378 +#, python-format +msgid "Select a valid choice. %s is not one of the available choices." +msgstr "" + +#: oldforms/__init__.py:409 +#, python-format +msgid "Ensure your text is less than %s character." +msgid_plural "Ensure your text is less than %s characters." +msgstr[0] "" +msgstr[1] "Uneseni tekst mora sadržavati manje od %s znakova." + +#: oldforms/__init__.py:414 +msgid "Line breaks are not allowed here." +msgstr "Unos u novi red ovdje nije dozvoljen." + +#: oldforms/__init__.py:512 oldforms/__init__.py:586 oldforms/__init__.py:625 +#, python-format +msgid "Select a valid choice; '%(data)s' is not in %(choices)s." +msgstr "Odaberite iz ponuđenog; '%(data)s' nije u %(choices)s." + +#: oldforms/__init__.py:745 +msgid "Enter a whole number between -32,768 and 32,767." +msgstr "Unesite cijeli broj između -32,768 i 32,767." + +#: oldforms/__init__.py:755 +msgid "Enter a positive number." +msgstr "Unesite pozitivan broj." + +#: oldforms/__init__.py:765 +msgid "Enter a whole number between 0 and 32,767." +msgstr "Unesite cijeli broj između 0 i 32,767." + +#: template/defaultfilters.py:683 +msgid "yes,no,maybe" +msgstr "da,ne,možda" + +#: template/defaultfilters.py:714 +#, python-format +msgid "%(size)d byte" +msgid_plural "%(size)d bytes" +msgstr[0] "" +msgstr[1] "" + +#: template/defaultfilters.py:716 +#, python-format +msgid "%.1f KB" +msgstr "" + +#: template/defaultfilters.py:718 +#, python-format +msgid "%.1f MB" +msgstr "" + +#: template/defaultfilters.py:719 +#, python-format +msgid "%.1f GB" +msgstr "" + +#: utils/dateformat.py:41 +msgid "p.m." +msgstr "" + +#: utils/dateformat.py:42 +msgid "a.m." +msgstr "" + +#: utils/dateformat.py:47 +msgid "PM" +msgstr "" + +#: utils/dateformat.py:48 +msgid "AM" +msgstr "" + +#: utils/dateformat.py:97 +msgid "midnight" +msgstr "ponoć" + +#: utils/dateformat.py:99 +msgid "noon" +msgstr "" #: utils/dates.py:6 msgid "Monday" @@ -3164,119 +4254,93 @@ msgstr "Stu." msgid "Dec." msgstr "Pro." -#: utils/timesince.py:12 +#: utils/text.py:127 +#, fuzzy +msgid "or" +msgstr "sati" + +#: utils/timesince.py:21 msgid "year" msgid_plural "years" msgstr[0] "godina" msgstr[1] "godina" -#: utils/timesince.py:13 +#: utils/timesince.py:22 msgid "month" msgid_plural "months" msgstr[0] "mjesec" msgstr[1] "mjesec" -#: utils/timesince.py:14 +#: utils/timesince.py:23 msgid "week" msgid_plural "weeks" msgstr[0] "tjedan" msgstr[1] "tjedan" -#: utils/timesince.py:15 +#: utils/timesince.py:24 msgid "day" msgid_plural "days" msgstr[0] "dan" msgstr[1] "dan" -#: utils/timesince.py:16 +#: utils/timesince.py:25 msgid "hour" msgid_plural "hours" msgstr[0] "sati" msgstr[1] "sati" -#: utils/timesince.py:17 +#: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" msgstr[0] "minute" msgstr[1] "minuta" -#: utils/timesince.py:39 +#: utils/timesince.py:46 +#, fuzzy +msgid "minutes" +msgstr "minute" + +#: utils/timesince.py:51 #, python-format msgid "%(number)d %(type)s" msgstr "" -#: utils/timesince.py:45 +#: utils/timesince.py:57 #, python-format msgid ", %(number)d %(type)s" msgstr "" -#: utils/dateformat.py:41 -msgid "p.m." -msgstr "" - -#: utils/dateformat.py:42 -msgid "a.m." -msgstr "" - -#: utils/dateformat.py:47 -msgid "PM" -msgstr "" - -#: utils/dateformat.py:48 -msgid "AM" -msgstr "" - -#: utils/dateformat.py:97 -msgid "midnight" -msgstr "ponoć" - -#: utils/dateformat.py:99 -msgid "noon" -msgstr "" - -#: utils/translation/trans_real.py:391 +#: utils/translation/trans_real.py:399 msgid "DATE_FORMAT" msgstr "" -#: utils/translation/trans_real.py:392 +#: utils/translation/trans_real.py:400 msgid "DATETIME_FORMAT" msgstr "" -#: utils/translation/trans_real.py:393 +#: utils/translation/trans_real.py:401 msgid "TIME_FORMAT" msgstr "" -#: utils/translation/trans_real.py:409 +#: utils/translation/trans_real.py:417 msgid "YEAR_MONTH_FORMAT" msgstr "" -#: utils/translation/trans_real.py:410 +#: utils/translation/trans_real.py:418 msgid "MONTH_DAY_FORMAT" msgstr "" -#: template/defaultfilters.py:485 -msgid "yes,no,maybe" -msgstr "da,ne,možda" - -#: template/defaultfilters.py:514 +#: views/generic/create_update.py:43 #, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#: template/defaultfilters.py:516 -#, python-format -msgid "%.1f KB" +msgid "The %(verbose_name)s was created successfully." msgstr "" -#: template/defaultfilters.py:518 +#: views/generic/create_update.py:117 #, python-format -msgid "%.1f MB" -msgstr "" +msgid "The %(verbose_name)s was updated successfully." +msgstr "%(verbose_name)s je uspješno promijenjeno." -#: template/defaultfilters.py:519 +#: views/generic/create_update.py:184 #, python-format -msgid "%.1f GB" -msgstr "" - +msgid "The %(verbose_name)s was deleted." +msgstr "%(verbose_name)s je izbrisano" diff --git a/django/conf/locale/hr/LC_MESSAGES/djangojs.mo b/django/conf/locale/hr/LC_MESSAGES/djangojs.mo index 823d8dbf10..62fe73b605 100644 Binary files a/django/conf/locale/hr/LC_MESSAGES/djangojs.mo and b/django/conf/locale/hr/LC_MESSAGES/djangojs.mo differ diff --git a/django/conf/locale/hr/LC_MESSAGES/djangojs.po b/django/conf/locale/hr/LC_MESSAGES/djangojs.po index 7fd1654913..eca39ec7a2 100644 --- a/django/conf/locale/hr/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/hr/LC_MESSAGES/djangojs.po @@ -1,118 +1,117 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# translation of djangojs.po to Hrvatski jezik +# This file is distributed under the same license as the Django package. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: djangojs\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-08-13 11:13+1000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2008-01-05 01:45+0100\n" +"Last-Translator: Aljosa Mohorovic \n" +"Language-Team: Hrvatski jezik\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" #: contrib/admin/media/js/SelectFilter2.js:33 #, perl-format msgid "Available %s" -msgstr "" +msgstr "Dostupno %s" #: contrib/admin/media/js/SelectFilter2.js:41 msgid "Choose all" -msgstr "" +msgstr "Odaberi sve" #: contrib/admin/media/js/SelectFilter2.js:46 msgid "Add" -msgstr "" +msgstr "Dodaj" #: contrib/admin/media/js/SelectFilter2.js:48 msgid "Remove" -msgstr "" +msgstr "Ukloni" #: contrib/admin/media/js/SelectFilter2.js:53 #, perl-format msgid "Chosen %s" -msgstr "" +msgstr "Odabrano %s" #: contrib/admin/media/js/SelectFilter2.js:54 msgid "Select your choice(s) and click " -msgstr "" +msgstr "Odaberi iz izbora i klikni " #: contrib/admin/media/js/SelectFilter2.js:59 msgid "Clear all" -msgstr "" +msgstr "Očisti sve" #: contrib/admin/media/js/dateparse.js:32 #: contrib/admin/media/js/calendar.js:24 msgid "" "January February March April May June July August September October November " "December" -msgstr "" +msgstr "Siječanj Veljača Ožujak Travanj Svibanj Lipanj Srpanj Kolovoz Rujan Listopad Studeni Prosinac" #: contrib/admin/media/js/dateparse.js:33 msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" -msgstr "" +msgstr "Nedjelja Ponedjeljak Utorak Srijeda Četvrtak Petak Subota" #: contrib/admin/media/js/calendar.js:25 msgid "S M T W T F S" -msgstr "" +msgstr "N P U S Č P S" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:47 #: contrib/admin/media/js/admin/DateTimeShortcuts.js:81 msgid "Now" -msgstr "" +msgstr "Sada" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:51 msgid "Clock" -msgstr "" +msgstr "Sat" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:78 msgid "Choose a time" -msgstr "" +msgstr "Izaberite vrijeme" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:82 msgid "Midnight" -msgstr "" +msgstr "Ponoć" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:83 msgid "6 a.m." -msgstr "" +msgstr "6 ujutro" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:84 msgid "Noon" -msgstr "" +msgstr "Podne" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:88 #: contrib/admin/media/js/admin/DateTimeShortcuts.js:183 msgid "Cancel" -msgstr "" +msgstr "Odustani" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:128 #: contrib/admin/media/js/admin/DateTimeShortcuts.js:177 msgid "Today" -msgstr "" +msgstr "Danas" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:132 msgid "Calendar" -msgstr "" +msgstr "Kalendar" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:175 msgid "Yesterday" -msgstr "" +msgstr "Jučer" #: contrib/admin/media/js/admin/DateTimeShortcuts.js:179 msgid "Tomorrow" -msgstr "" +msgstr "Sutra" #: contrib/admin/media/js/admin/CollapsedFieldsets.js:34 #: contrib/admin/media/js/admin/CollapsedFieldsets.js:72 msgid "Show" -msgstr "" +msgstr "Prikaži" #: contrib/admin/media/js/admin/CollapsedFieldsets.js:63 msgid "Hide" -msgstr "" +msgstr "Sakri" + diff --git a/django/conf/locale/ja/LC_MESSAGES/django.mo b/django/conf/locale/ja/LC_MESSAGES/django.mo index 647717ea06..47779f17bf 100644 Binary files a/django/conf/locale/ja/LC_MESSAGES/django.mo and b/django/conf/locale/ja/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/ja/LC_MESSAGES/django.po b/django/conf/locale/ja/LC_MESSAGES/django.po index 593f5d8a6d..5e78809bdf 100644 --- a/django/conf/locale/ja/LC_MESSAGES/django.po +++ b/django/conf/locale/ja/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Django 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-27 13:00+0900\n" +"POT-Creation-Date: 2007-12-31 21:26+0900\n" "PO-Revision-Date: 2006-05-18 00:28+0900\n" "Last-Translator: makoto tsuyuki \n" "Language-Team: Japanese \n" @@ -75,118 +75,126 @@ msgid "French" msgstr "フランス語" #: conf/global_settings.py:54 +msgid "Gaeilge" +msgstr "アイルランド語" + +#: conf/global_settings.py:55 msgid "Galician" msgstr "ガリシア語" -#: conf/global_settings.py:55 +#: conf/global_settings.py:56 msgid "Hungarian" msgstr "ハンガリー語" -#: conf/global_settings.py:56 +#: conf/global_settings.py:57 msgid "Hebrew" msgstr "ヘブライ語" -#: conf/global_settings.py:57 +#: conf/global_settings.py:58 msgid "Croatian" msgstr "クロアチア語" -#: conf/global_settings.py:58 +#: conf/global_settings.py:59 msgid "Icelandic" msgstr "アイスランド語" -#: conf/global_settings.py:59 +#: conf/global_settings.py:60 msgid "Italian" msgstr "イタリア語" -#: conf/global_settings.py:60 +#: conf/global_settings.py:61 msgid "Japanese" msgstr "日本語" -#: conf/global_settings.py:61 +#: conf/global_settings.py:62 msgid "Korean" msgstr "韓国語" -#: conf/global_settings.py:62 +#: conf/global_settings.py:63 +msgid "Khmer" +msgstr "クメール語" + +#: conf/global_settings.py:64 msgid "Kannada" msgstr "カンナダ語" -#: conf/global_settings.py:63 +#: conf/global_settings.py:65 msgid "Latvian" msgstr "ラトビア語" -#: conf/global_settings.py:64 +#: conf/global_settings.py:66 msgid "Macedonian" msgstr "マケドニア語" -#: conf/global_settings.py:65 +#: conf/global_settings.py:67 msgid "Dutch" msgstr "オランダ語" -#: conf/global_settings.py:66 +#: conf/global_settings.py:68 msgid "Norwegian" msgstr "ノルウェー語" -#: conf/global_settings.py:67 +#: conf/global_settings.py:69 msgid "Polish" msgstr "ポーランド語" -#: conf/global_settings.py:68 +#: conf/global_settings.py:70 msgid "Portugese" msgstr "ポルトガル語" -#: conf/global_settings.py:69 +#: conf/global_settings.py:71 msgid "Brazilian" msgstr "ブラジル語" -#: conf/global_settings.py:70 +#: conf/global_settings.py:72 msgid "Romanian" msgstr "ルーマニア語" -#: conf/global_settings.py:71 +#: conf/global_settings.py:73 msgid "Russian" msgstr "ロシア語" -#: conf/global_settings.py:72 +#: conf/global_settings.py:74 msgid "Slovak" msgstr "スロバキア語" -#: conf/global_settings.py:73 +#: conf/global_settings.py:75 msgid "Slovenian" msgstr "スロヴェニア語" -#: conf/global_settings.py:74 +#: conf/global_settings.py:76 msgid "Serbian" msgstr "セルビア語" -#: conf/global_settings.py:75 +#: conf/global_settings.py:77 msgid "Swedish" msgstr "スウェーデン語" -#: conf/global_settings.py:76 +#: conf/global_settings.py:78 msgid "Tamil" msgstr "タミル語" -#: conf/global_settings.py:77 +#: conf/global_settings.py:79 msgid "Telugu" msgstr "テルグ語" -#: conf/global_settings.py:78 +#: conf/global_settings.py:80 msgid "Turkish" msgstr "トルコ語" -#: conf/global_settings.py:79 +#: conf/global_settings.py:81 msgid "Ukrainian" msgstr "ウクライナ語" -#: conf/global_settings.py:80 +#: conf/global_settings.py:82 msgid "Simplified Chinese" msgstr "簡体字中国語" -#: conf/global_settings.py:81 +#: conf/global_settings.py:83 msgid "Traditional Chinese" msgstr "繁体字中国語" -#: contrib/admin/filterspecs.py:42 +#: contrib/admin/filterspecs.py:44 #, python-format msgid "" "

      By %s:

      \n" @@ -195,71 +203,71 @@ msgstr "" "

      %s で絞り込む

      \n" "
        \n" -#: contrib/admin/filterspecs.py:72 contrib/admin/filterspecs.py:90 -#: contrib/admin/filterspecs.py:145 contrib/admin/filterspecs.py:171 +#: contrib/admin/filterspecs.py:74 contrib/admin/filterspecs.py:92 +#: contrib/admin/filterspecs.py:147 contrib/admin/filterspecs.py:173 msgid "All" msgstr "全て" -#: contrib/admin/filterspecs.py:111 +#: contrib/admin/filterspecs.py:113 msgid "Any date" msgstr "いつでも" -#: contrib/admin/filterspecs.py:112 +#: contrib/admin/filterspecs.py:114 msgid "Today" msgstr "今日" -#: contrib/admin/filterspecs.py:115 +#: contrib/admin/filterspecs.py:117 msgid "Past 7 days" msgstr "過去 7 日間" -#: contrib/admin/filterspecs.py:117 +#: contrib/admin/filterspecs.py:119 msgid "This month" msgstr "今月" -#: contrib/admin/filterspecs.py:119 +#: contrib/admin/filterspecs.py:121 msgid "This year" msgstr "今年" -#: contrib/admin/filterspecs.py:145 newforms/widgets.py:188 -#: oldforms/__init__.py:591 +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "Yes" msgstr "はい" -#: contrib/admin/filterspecs.py:145 newforms/widgets.py:188 -#: oldforms/__init__.py:591 +#: contrib/admin/filterspecs.py:147 newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "No" msgstr "いいえ" -#: contrib/admin/filterspecs.py:152 newforms/widgets.py:188 -#: oldforms/__init__.py:591 +#: contrib/admin/filterspecs.py:154 newforms/widgets.py:231 +#: oldforms/__init__.py:592 msgid "Unknown" msgstr "不明" -#: contrib/admin/models.py:17 +#: contrib/admin/models.py:18 msgid "action time" msgstr "操作時刻" -#: contrib/admin/models.py:20 +#: contrib/admin/models.py:21 msgid "object id" msgstr "オブジェクト ID" -#: contrib/admin/models.py:21 +#: contrib/admin/models.py:22 msgid "object repr" msgstr "オブジェクトの文字列表現" -#: contrib/admin/models.py:22 +#: contrib/admin/models.py:23 msgid "action flag" msgstr "操作種別" -#: contrib/admin/models.py:23 +#: contrib/admin/models.py:24 msgid "change message" msgstr "変更メッセージ" -#: contrib/admin/models.py:26 +#: contrib/admin/models.py:27 msgid "log entry" msgstr "ログエントリ" -#: contrib/admin/models.py:27 +#: contrib/admin/models.py:28 msgid "log entries" msgstr "ログエントリ" @@ -273,17 +281,17 @@ 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: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/base.html:37 +#: contrib/admin/templates/admin/change_form.html:12 +#: contrib/admin/templates/admin/change_list.html:5 +#: contrib/admin/templates/admin/delete_confirmation.html:5 #: contrib/admin/templates/admin/invalid_setup.html:4 -#: contrib/admin/templates/admin/object_history.html:5 -#: contrib/admin/templates/admin/auth/user/change_password.html:12 +#: contrib/admin/templates/admin/object_history.html:4 +#: contrib/admin/templates/admin/auth/user/change_password.html:11 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 #: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_change_done.html:4 -#: contrib/admin/templates/registration/password_change_form.html:4 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 #: contrib/admin/templates/registration/password_reset_done.html:4 #: contrib/admin/templates/registration/password_reset_form.html:4 msgid "Home" @@ -309,63 +317,22 @@ msgstr "" "エラーが発生しました。エラーをサイトの管理者にメールで報告しましたので、近い" "うちに修正されるはずです。しばらくお待ちください。" -#: contrib/admin/templates/admin/base.html:25 +#: contrib/admin/templates/admin/base.html:26 msgid "Welcome," msgstr "ようこそ" -#: 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 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 +#: contrib/admin/templates/admin/base.html:28 #: contrib/admin/templates/admin_doc/bookmarklets.html:3 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:3 msgid "Documentation" msgstr "ドキュメント" -#: 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 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin/auth/user/change_password.html:15 -#: contrib/admin/templates/admin/auth/user/change_password.html:46 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: 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/view_detail.html:4 -#: 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/admin/templates/admin/base.html:29 +#: contrib/admin/templates/admin/auth/user/change_password.html:14 +#: contrib/admin/templates/admin/auth/user/change_password.html:45 msgid "Change password" msgstr "パスワードの変更" -#: 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 -#: contrib/admin/templates/admin/object_history.html:3 -#: contrib/admin/templates/admin/auth/user/change_password.html:9 -#: contrib/admin/templates/admin_doc/bookmarklets.html:4 -#: contrib/admin/templates/admin_doc/index.html:4 -#: contrib/admin/templates/admin_doc/missing_docutils.html:4 -#: contrib/admin/templates/admin_doc/model_detail.html:3 -#: contrib/admin/templates/admin_doc/model_index.html:5 -#: 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/view_detail.html:4 -#: 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/admin/templates/admin/base.html:30 #: contrib/comments/templates/comments/form.html:6 msgid "Log out" msgstr "ログアウト" @@ -378,46 +345,46 @@ msgstr "Django サイト管理" msgid "Django administration" msgstr "Django 管理サイト" -#: contrib/admin/templates/admin/change_form.html:15 +#: contrib/admin/templates/admin/change_form.html:14 #: contrib/admin/templates/admin/index.html:28 msgid "Add" msgstr "追加" -#: contrib/admin/templates/admin/change_form.html:21 -#: contrib/admin/templates/admin/object_history.html:5 +#: contrib/admin/templates/admin/change_form.html:20 +#: contrib/admin/templates/admin/object_history.html:4 msgid "History" msgstr "履歴" -#: contrib/admin/templates/admin/change_form.html:22 +#: contrib/admin/templates/admin/change_form.html:21 msgid "View on site" msgstr "サイト上で表示" -#: contrib/admin/templates/admin/change_form.html:32 -#: contrib/admin/templates/admin/auth/user/change_password.html:24 +#: contrib/admin/templates/admin/change_form.html:31 +#: contrib/admin/templates/admin/auth/user/change_password.html:23 msgid "Please correct the error below." msgid_plural "Please correct the errors below." msgstr[0] "下記のエラーを修正してください。" msgstr[1] "下記のエラーを修正してください。" -#: contrib/admin/templates/admin/change_form.html:50 +#: contrib/admin/templates/admin/change_form.html:49 msgid "Ordering" msgstr "順序" -#: contrib/admin/templates/admin/change_form.html:53 +#: contrib/admin/templates/admin/change_form.html:52 msgid "Order:" msgstr "並び変え:" -#: contrib/admin/templates/admin/change_list.html:12 +#: contrib/admin/templates/admin/change_list.html:11 #, python-format msgid "Add %(name)s" msgstr "%(name)s を追加" -#: contrib/admin/templates/admin/delete_confirmation.html:9 +#: contrib/admin/templates/admin/delete_confirmation.html:8 #: contrib/admin/templates/admin/submit_line.html:3 msgid "Delete" msgstr "削除" -#: contrib/admin/templates/admin/delete_confirmation.html:14 +#: contrib/admin/templates/admin/delete_confirmation.html:13 #, python-format msgid "" "Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " @@ -428,7 +395,7 @@ msgstr "" "除しようとしましたが、あなたのアカウントには以下のタイプのオブジェクトを削除" "するパーミッションがありません:" -#: contrib/admin/templates/admin/delete_confirmation.html:21 +#: contrib/admin/templates/admin/delete_confirmation.html:20 #, python-format msgid "" "Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " @@ -437,7 +404,7 @@ msgstr "" "%(object_name)s \"%(escaped_object)s\"を削除しますか? 関連づけられている以下" "のオブジェクトも全て削除されます:" -#: contrib/admin/templates/admin/delete_confirmation.html:26 +#: contrib/admin/templates/admin/delete_confirmation.html:25 msgid "Yes, I'm sure" msgstr "はい。" @@ -501,27 +468,27 @@ msgid "Password:" msgstr "パスワード:" #: contrib/admin/templates/admin/login.html:25 -#: contrib/admin/views/decorators.py:24 +#: contrib/admin/views/decorators.py:25 msgid "Log in" msgstr "ログイン" -#: contrib/admin/templates/admin/object_history.html:18 +#: contrib/admin/templates/admin/object_history.html:17 msgid "Date/time" msgstr "日付/時刻" -#: contrib/admin/templates/admin/object_history.html:19 +#: contrib/admin/templates/admin/object_history.html:18 msgid "User" msgstr "ユーザ" -#: contrib/admin/templates/admin/object_history.html:20 +#: contrib/admin/templates/admin/object_history.html:19 msgid "Action" msgstr "操作" -#: contrib/admin/templates/admin/object_history.html:26 +#: contrib/admin/templates/admin/object_history.html:25 msgid "DATE_WITH_TIME_FULL" msgstr "Y/m/d H:i:s" -#: contrib/admin/templates/admin/object_history.html:36 +#: contrib/admin/templates/admin/object_history.html:35 msgid "" "This object doesn't have a change history. It probably wasn't added via this " "admin site." @@ -578,21 +545,21 @@ msgid "Username" msgstr "ユーザ名" #: contrib/admin/templates/admin/auth/user/add_form.html:18 -#: contrib/admin/templates/admin/auth/user/change_password.html:34 +#: contrib/admin/templates/admin/auth/user/change_password.html:33 msgid "Password" msgstr "パスワード" #: contrib/admin/templates/admin/auth/user/add_form.html:23 -#: contrib/admin/templates/admin/auth/user/change_password.html:39 +#: contrib/admin/templates/admin/auth/user/change_password.html:38 msgid "Password (again)" msgstr "パスワード(確認用)" #: contrib/admin/templates/admin/auth/user/add_form.html:24 -#: contrib/admin/templates/admin/auth/user/change_password.html:40 +#: contrib/admin/templates/admin/auth/user/change_password.html:39 msgid "Enter the same password as above, for verification." msgstr "確認のため、再度パスワードを入力してください。" -#: contrib/admin/templates/admin/auth/user/change_password.html:28 +#: contrib/admin/templates/admin/auth/user/change_password.html:27 #, python-format msgid "Enter a new password for the user %(username)s." msgstr "" @@ -602,11 +569,11 @@ msgstr "" msgid "Bookmarklets" msgstr "ブックマークレット" -#: contrib/admin/templates/admin_doc/bookmarklets.html:5 +#: contrib/admin/templates/admin_doc/bookmarklets.html:4 msgid "Documentation bookmarklets" msgstr "ドキュメントへのブックマークレット" -#: contrib/admin/templates/admin_doc/bookmarklets.html:9 +#: contrib/admin/templates/admin_doc/bookmarklets.html:8 msgid "" "\n" "

        To install bookmarklets, drag the link to your bookmarks\n" @@ -626,40 +593,40 @@ msgstr "" "参照していなければならないことがあります。内部ネットワークにあるかどうか不明" "な場合は、システム管理者に確認してください。

        \n" -#: contrib/admin/templates/admin_doc/bookmarklets.html:19 +#: contrib/admin/templates/admin_doc/bookmarklets.html:18 msgid "Documentation for this page" msgstr "このページのドキュメント" -#: contrib/admin/templates/admin_doc/bookmarklets.html:20 +#: contrib/admin/templates/admin_doc/bookmarklets.html:19 msgid "" "Jumps you from any page to the documentation for the view that generates " "that page." msgstr "各ページから、ページを生成したビューのドキュメントにジャンプします。" -#: contrib/admin/templates/admin_doc/bookmarklets.html:22 +#: contrib/admin/templates/admin_doc/bookmarklets.html:21 msgid "Show object ID" msgstr "オブジェクト ID を表示" -#: contrib/admin/templates/admin_doc/bookmarklets.html:23 +#: contrib/admin/templates/admin_doc/bookmarklets.html:22 msgid "" "Shows the content-type and unique ID for pages that represent a single " "object." msgstr "" "単一のオブジェクトを表示するページのコンテンツタイプと一意な IDを表示します。" -#: contrib/admin/templates/admin_doc/bookmarklets.html:25 +#: contrib/admin/templates/admin_doc/bookmarklets.html:24 msgid "Edit this object (current window)" msgstr "オブジェクトを (現在のウィンドウで) 編集" -#: contrib/admin/templates/admin_doc/bookmarklets.html:26 +#: contrib/admin/templates/admin_doc/bookmarklets.html:25 msgid "Jumps to the admin page for pages that represent a single object." msgstr "単一のオブジェクトを表示するページの管理ページへジャンプします。" -#: contrib/admin/templates/admin_doc/bookmarklets.html:28 +#: contrib/admin/templates/admin_doc/bookmarklets.html:27 msgid "Edit this object (new window)" msgstr "オブジェクトを (新しいウィンドウで) 編集" -#: contrib/admin/templates/admin_doc/bookmarklets.html:29 +#: contrib/admin/templates/admin_doc/bookmarklets.html:28 msgid "As above, but opens the admin page in a new window." msgstr "上と同じですが、新しいウィンドウで管理ページを開きます。" @@ -671,23 +638,23 @@ msgstr "ご利用ありがとうございました。" msgid "Log in again" msgstr "もう一度ログイン" -#: 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 +#: contrib/admin/templates/registration/password_change_done.html:3 +#: contrib/admin/templates/registration/password_change_form.html:3 +#: contrib/admin/templates/registration/password_change_form.html:5 +#: contrib/admin/templates/registration/password_change_form.html:9 msgid "Password change" msgstr "パスワードの変更" -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_done.html:10 +#: contrib/admin/templates/registration/password_change_done.html:5 +#: contrib/admin/templates/registration/password_change_done.html:9 msgid "Password change successful" msgstr "パスワードを変更しました" -#: contrib/admin/templates/registration/password_change_done.html:12 +#: contrib/admin/templates/registration/password_change_done.html:11 msgid "Your password was changed." msgstr "あなたのパスワードは変更されました" -#: contrib/admin/templates/registration/password_change_form.html:12 +#: contrib/admin/templates/registration/password_change_form.html:11 msgid "" "Please enter your old password, for security's sake, and then enter your new " "password twice so we can verify you typed it in correctly." @@ -695,19 +662,19 @@ msgstr "" "セキュリティ上の理由から元のパスワードの入力が必要です。新しいパスワードは正" "しく入力したか確認できるように二度入力してください。" -#: contrib/admin/templates/registration/password_change_form.html:17 +#: contrib/admin/templates/registration/password_change_form.html:16 msgid "Old password:" msgstr "元のパスワード:" -#: contrib/admin/templates/registration/password_change_form.html:19 +#: contrib/admin/templates/registration/password_change_form.html:18 msgid "New password:" msgstr "新しいパスワード:" -#: contrib/admin/templates/registration/password_change_form.html:21 +#: contrib/admin/templates/registration/password_change_form.html:20 msgid "Confirm password:" msgstr "新しいパスワード (確認用) :" -#: contrib/admin/templates/registration/password_change_form.html:23 +#: contrib/admin/templates/registration/password_change_form.html:22 msgid "Change my password" msgstr "パスワードの変更" @@ -796,17 +763,17 @@ msgstr "現在:" msgid "Change:" msgstr "変更:" -#: contrib/admin/templatetags/admin_list.py:254 +#: contrib/admin/templatetags/admin_list.py:257 msgid "All dates" msgstr "いつでも" -#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:264 +#: contrib/admin/views/auth.py:20 contrib/admin/views/main.py:267 #, python-format msgid "The %(name)s \"%(obj)s\" was added successfully." msgstr "%(name)s \"%(obj)s\" を追加しました。" -#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:268 -#: contrib/admin/views/main.py:354 +#: contrib/admin/views/auth.py:25 contrib/admin/views/main.py:271 +#: contrib/admin/views/main.py:356 msgid "You may edit it again below." msgstr "続けて編集できます。" @@ -823,14 +790,14 @@ msgstr "パスワードを変更しました" msgid "Change password: %s" msgstr "パスワードの変更: %s" -#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:60 +#: contrib/admin/views/decorators.py:11 contrib/auth/forms.py:60 msgid "" "Please enter a correct username and password. Note that both fields are case-" "sensitive." msgstr "" "正しいユーザ名とパスワードを入力してください (大文字小文字は区別します) 。" -#: contrib/admin/views/decorators.py:62 +#: contrib/admin/views/decorators.py:63 msgid "" "Please log in again, because your session has expired. Don't worry: Your " "submission has been saved." @@ -838,7 +805,7 @@ msgstr "" "再ログインしてください。ログインセッションが有効期間切れしてしまいました。入" "力データは失われておりませんのでご安心ください。" -#: contrib/admin/views/decorators.py:69 +#: contrib/admin/views/decorators.py:70 msgid "" "Looks like your browser isn't configured to accept cookies. Please enable " "cookies, reload this page, and try again." @@ -846,245 +813,245 @@ msgstr "" "ブラウザがクッキーの使用を許可していないようです。クッキーの使用を許可して、" "もう一度このページを表示してください。" -#: contrib/admin/views/decorators.py:83 +#: contrib/admin/views/decorators.py:84 msgid "Usernames cannot contain the '@' character." msgstr "ユーザ名には '@' を含められません。" -#: contrib/admin/views/decorators.py:85 +#: contrib/admin/views/decorators.py:86 #, python-format msgid "Your e-mail address is not your username. Try '%s' instead." msgstr "メールアドレスはユーザ名ではありません。 '%s' を試してみてください。" -#: contrib/admin/views/doc.py:47 contrib/admin/views/doc.py:49 -#: contrib/admin/views/doc.py:51 +#: contrib/admin/views/doc.py:48 contrib/admin/views/doc.py:50 +#: contrib/admin/views/doc.py:52 msgid "tag:" msgstr "タグ" -#: contrib/admin/views/doc.py:78 contrib/admin/views/doc.py:80 -#: contrib/admin/views/doc.py:82 +#: contrib/admin/views/doc.py:79 contrib/admin/views/doc.py:81 +#: contrib/admin/views/doc.py:83 msgid "filter:" msgstr "フィルタ" -#: contrib/admin/views/doc.py:136 contrib/admin/views/doc.py:138 -#: contrib/admin/views/doc.py:140 +#: contrib/admin/views/doc.py:137 contrib/admin/views/doc.py:139 +#: contrib/admin/views/doc.py:141 msgid "view:" msgstr "ビュー" -#: contrib/admin/views/doc.py:165 +#: contrib/admin/views/doc.py:166 #, python-format msgid "App %r not found" msgstr "アプリケーション %r が見つかりません" -#: contrib/admin/views/doc.py:172 +#: contrib/admin/views/doc.py:173 #, python-format msgid "Model %(name)r not found in app %(label)r" msgstr "モデル %(name)r が %(label)r アプリケーションに見つかりません" -#: contrib/admin/views/doc.py:184 +#: contrib/admin/views/doc.py:185 #, python-format msgid "the related `%(label)s.%(type)s` object" msgstr "`%(label)s.%(type)s` (関連オブジェクト)" -#: contrib/admin/views/doc.py:184 contrib/admin/views/doc.py:206 -#: contrib/admin/views/doc.py:220 contrib/admin/views/doc.py:225 +#: contrib/admin/views/doc.py:185 contrib/admin/views/doc.py:207 +#: contrib/admin/views/doc.py:221 contrib/admin/views/doc.py:226 msgid "model:" msgstr "モデル :" -#: contrib/admin/views/doc.py:215 +#: contrib/admin/views/doc.py:216 #, python-format msgid "related `%(label)s.%(name)s` objects" msgstr "`%(label)s.%(name)s` (関連オブジェクト)" -#: contrib/admin/views/doc.py:220 +#: contrib/admin/views/doc.py:221 #, python-format msgid "all %s" msgstr "全ての %s" -#: contrib/admin/views/doc.py:225 +#: contrib/admin/views/doc.py:226 #, python-format msgid "number of %s" msgstr "%s の数" -#: contrib/admin/views/doc.py:230 +#: contrib/admin/views/doc.py:231 #, python-format msgid "Fields on %s objects" msgstr "%s のフィールド" -#: contrib/admin/views/doc.py:292 contrib/admin/views/doc.py:303 -#: contrib/admin/views/doc.py:305 contrib/admin/views/doc.py:311 -#: contrib/admin/views/doc.py:312 contrib/admin/views/doc.py:314 +#: contrib/admin/views/doc.py:293 contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:306 contrib/admin/views/doc.py:312 +#: contrib/admin/views/doc.py:313 contrib/admin/views/doc.py:315 msgid "Integer" msgstr "整数" -#: contrib/admin/views/doc.py:293 +#: contrib/admin/views/doc.py:294 msgid "Boolean (Either True or False)" msgstr "ブール値 (真: True または偽: False)" -#: contrib/admin/views/doc.py:294 contrib/admin/views/doc.py:313 +#: contrib/admin/views/doc.py:295 contrib/admin/views/doc.py:314 #, python-format msgid "String (up to %(max_length)s)" msgstr "文字列 ( %(max_length)s 字まで )" -#: contrib/admin/views/doc.py:295 +#: contrib/admin/views/doc.py:296 msgid "Comma-separated integers" msgstr "カンマ区切りの整数" -#: contrib/admin/views/doc.py:296 +#: contrib/admin/views/doc.py:297 msgid "Date (without time)" msgstr "日付" -#: contrib/admin/views/doc.py:297 +#: contrib/admin/views/doc.py:298 msgid "Date (with time)" msgstr "日時" -#: contrib/admin/views/doc.py:298 +#: contrib/admin/views/doc.py:299 msgid "Decimal number" msgstr "10 進数 (小数可)" -#: contrib/admin/views/doc.py:299 +#: contrib/admin/views/doc.py:300 msgid "E-mail address" msgstr "メールアドレス" -#: contrib/admin/views/doc.py:300 contrib/admin/views/doc.py:301 -#: contrib/admin/views/doc.py:304 +#: contrib/admin/views/doc.py:301 contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:305 msgid "File path" msgstr "ファイルの場所" -#: contrib/admin/views/doc.py:302 +#: contrib/admin/views/doc.py:303 msgid "Floating point number" msgstr "浮動小数点" -#: contrib/admin/views/doc.py:306 contrib/comments/models.py:85 +#: contrib/admin/views/doc.py:307 contrib/comments/models.py:85 msgid "IP address" msgstr "IP アドレス" -#: contrib/admin/views/doc.py:308 +#: contrib/admin/views/doc.py:309 msgid "Boolean (Either True, False or None)" msgstr "ブール値 (真: True 、偽: False または None)" -#: contrib/admin/views/doc.py:309 +#: contrib/admin/views/doc.py:310 msgid "Relation to parent model" msgstr "親モデルへのリレーション" -#: contrib/admin/views/doc.py:310 +#: contrib/admin/views/doc.py:311 msgid "Phone number" msgstr "電話番号" -#: contrib/admin/views/doc.py:315 +#: contrib/admin/views/doc.py:316 msgid "Text" msgstr "テキスト" -#: contrib/admin/views/doc.py:316 +#: contrib/admin/views/doc.py:317 msgid "Time" msgstr "時刻" -#: contrib/admin/views/doc.py:317 contrib/flatpages/models.py:7 +#: contrib/admin/views/doc.py:318 contrib/flatpages/models.py:7 msgid "URL" msgstr "URL" -#: contrib/admin/views/doc.py:318 +#: contrib/admin/views/doc.py:319 msgid "U.S. state (two uppercase letters)" msgstr "アメリカの州 (大文字二文字で)" -#: contrib/admin/views/doc.py:319 +#: contrib/admin/views/doc.py:320 msgid "XML text" msgstr "XMLテキスト" -#: contrib/admin/views/doc.py:345 +#: contrib/admin/views/doc.py:346 #, python-format msgid "%s does not appear to be a urlpattern object" msgstr "%s はurlpatternオブジェクトでは無いようです" -#: contrib/admin/views/main.py:230 +#: contrib/admin/views/main.py:233 msgid "Site administration" msgstr "サイト管理" -#: contrib/admin/views/main.py:278 contrib/admin/views/main.py:363 +#: contrib/admin/views/main.py:280 contrib/admin/views/main.py:365 #, python-format msgid "You may add another %s below." msgstr "続けて別の %s を追加できます。" -#: contrib/admin/views/main.py:296 +#: contrib/admin/views/main.py:298 #, python-format msgid "Add %s" msgstr "%s を追加" -#: contrib/admin/views/main.py:342 +#: contrib/admin/views/main.py:344 #, python-format msgid "Added %s." msgstr "%s を追加しました。" -#: contrib/admin/views/main.py:342 contrib/admin/views/main.py:344 -#: contrib/admin/views/main.py:346 core/validators.py:275 -#: db/models/manipulators.py:310 +#: contrib/admin/views/main.py:344 contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 core/validators.py:283 +#: db/models/manipulators.py:309 msgid "and" msgstr "と" -#: contrib/admin/views/main.py:344 +#: contrib/admin/views/main.py:346 #, python-format msgid "Changed %s." msgstr "%s を変更しました。" -#: contrib/admin/views/main.py:346 +#: contrib/admin/views/main.py:348 #, python-format msgid "Deleted %s." msgstr "%s を削除しました。" -#: contrib/admin/views/main.py:349 +#: contrib/admin/views/main.py:351 msgid "No fields changed." msgstr "変更はありませんでした。" -#: contrib/admin/views/main.py:352 +#: contrib/admin/views/main.py:354 #, python-format msgid "The %(name)s \"%(obj)s\" was changed successfully." msgstr "%(name)s \"%(obj)s\" を変更しました。" -#: contrib/admin/views/main.py:360 +#: contrib/admin/views/main.py:362 #, python-format msgid "" "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." msgstr "%(name)s \"%(obj)s\" を追加しました。続けて編集できます。" -#: contrib/admin/views/main.py:398 +#: contrib/admin/views/main.py:400 #, python-format msgid "Change %s" msgstr "%s を変更" -#: contrib/admin/views/main.py:483 +#: contrib/admin/views/main.py:487 #, python-format msgid "One or more %(fieldname)s in %(name)s: %(obj)s" msgstr "%(name)s に %(fieldname)s が一つ以上あります: %(obj)s" -#: contrib/admin/views/main.py:488 +#: contrib/admin/views/main.py:492 #, python-format msgid "One or more %(fieldname)s in %(name)s:" msgstr "%(name)s に %(fieldname)s が一つ以上あります:" -#: contrib/admin/views/main.py:520 +#: contrib/admin/views/main.py:524 #, python-format msgid "The %(name)s \"%(obj)s\" was deleted successfully." msgstr "%(name)s \"%(obj)s\" を削除しました。" -#: contrib/admin/views/main.py:523 +#: contrib/admin/views/main.py:527 msgid "Are you sure?" msgstr "よろしいですか?" -#: contrib/admin/views/main.py:545 +#: contrib/admin/views/main.py:549 #, python-format msgid "Change history: %s" msgstr "変更履歴: %s" -#: contrib/admin/views/main.py:579 +#: contrib/admin/views/main.py:583 #, python-format msgid "Select %s" msgstr "%s を選択" -#: contrib/admin/views/main.py:579 +#: contrib/admin/views/main.py:583 #, python-format msgid "Select %s to change" msgstr "変更する %s を選択" -#: contrib/admin/views/main.py:780 +#: contrib/admin/views/main.py:784 msgid "Database error" msgstr "データベースエラー" @@ -1114,6 +1081,11 @@ msgid "" "you've registered?" msgstr "メールアドレスの一致するユーザはいません。本当に登録しましたか?" +#: contrib/auth/forms.py:107 +#, python-format +msgid "Password reset on %s" +msgstr "%s にパスワードをリセット" + #: contrib/auth/forms.py:117 msgid "The two 'new password' fields didn't match." msgstr "新しいパスワード(確認用)が一致しません。" @@ -1122,35 +1094,35 @@ msgstr "新しいパスワード(確認用)が一致しません。" msgid "Your old password was entered incorrectly. Please enter it again." msgstr "元のパスワードが間違っています。もう一度入力してください。" -#: contrib/auth/models.py:53 contrib/auth/models.py:73 +#: contrib/auth/models.py:73 contrib/auth/models.py:93 msgid "name" msgstr "名前" -#: contrib/auth/models.py:55 +#: contrib/auth/models.py:75 msgid "codename" msgstr "コード名" -#: contrib/auth/models.py:58 +#: contrib/auth/models.py:78 msgid "permission" msgstr "パーミッション" -#: contrib/auth/models.py:59 contrib/auth/models.py:74 +#: contrib/auth/models.py:79 contrib/auth/models.py:94 msgid "permissions" msgstr "パーミッション" -#: contrib/auth/models.py:77 +#: contrib/auth/models.py:97 msgid "group" msgstr "グループ" -#: contrib/auth/models.py:78 contrib/auth/models.py:121 +#: contrib/auth/models.py:98 contrib/auth/models.py:141 msgid "groups" msgstr "グループ" -#: contrib/auth/models.py:111 +#: contrib/auth/models.py:131 msgid "username" msgstr "ユーザ名" -#: contrib/auth/models.py:111 +#: contrib/auth/models.py:131 msgid "" "Required. 30 characters or fewer. Alphanumeric characters only (letters, " "digits and underscores)." @@ -1158,23 +1130,23 @@ msgstr "" "この項目は必須です。半角アルファベット、半角数字、半角アンダーバーで30文字以" "下にしてください。" -#: contrib/auth/models.py:112 +#: contrib/auth/models.py:132 msgid "first name" msgstr "名" -#: contrib/auth/models.py:113 +#: contrib/auth/models.py:133 msgid "last name" msgstr "姓" -#: contrib/auth/models.py:114 +#: contrib/auth/models.py:134 msgid "e-mail address" msgstr "メールアドレス" -#: contrib/auth/models.py:115 +#: contrib/auth/models.py:135 msgid "password" msgstr "パスワード" -#: contrib/auth/models.py:115 +#: contrib/auth/models.py:135 msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." @@ -1182,43 +1154,43 @@ msgstr "" "'[algo]$[salt]$[hexdigest]'形式か、パスワード変更フォー" "ムを使ってください。" -#: contrib/auth/models.py:116 +#: contrib/auth/models.py:136 msgid "staff status" msgstr "スタッフ権限" -#: contrib/auth/models.py:116 +#: contrib/auth/models.py:136 msgid "Designates whether the user can log into this admin site." msgstr "ユーザが管理サイトにログイン可能かどうかを示します。" -#: contrib/auth/models.py:117 +#: contrib/auth/models.py:137 msgid "active" msgstr "有効" -#: contrib/auth/models.py:117 +#: contrib/auth/models.py:137 msgid "" "Designates whether this user can log into the Django admin. Unselect this " "instead of deleting accounts." msgstr "ユーザが管理サイトにログイン可能かどうかを示します。" -#: contrib/auth/models.py:118 +#: contrib/auth/models.py:138 msgid "superuser status" msgstr "スーパーユーザ権限" -#: contrib/auth/models.py:118 +#: contrib/auth/models.py:138 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "全ての権限を持っているとみなされます。" -#: contrib/auth/models.py:119 +#: contrib/auth/models.py:139 msgid "last login" msgstr "最終ログイン" -#: contrib/auth/models.py:120 +#: contrib/auth/models.py:140 msgid "date joined" msgstr "登録日" -#: contrib/auth/models.py:122 +#: contrib/auth/models.py:142 msgid "" "In addition to the permissions manually assigned, this user will also get " "all permissions granted to each group he/she is in." @@ -1226,35 +1198,35 @@ msgstr "" "手動で付与したパーミッションに加え、所属しているグループに付与された全ての" "パーミッションを獲得します。" -#: contrib/auth/models.py:123 +#: contrib/auth/models.py:143 msgid "user permissions" msgstr "ユーザパーミッション" -#: contrib/auth/models.py:127 +#: contrib/auth/models.py:147 msgid "user" msgstr "ユーザ" -#: contrib/auth/models.py:128 +#: contrib/auth/models.py:148 msgid "users" msgstr "ユーザ" -#: contrib/auth/models.py:134 +#: contrib/auth/models.py:154 msgid "Personal info" msgstr "個人情報" -#: contrib/auth/models.py:135 +#: contrib/auth/models.py:155 msgid "Permissions" msgstr "パーミッション" -#: contrib/auth/models.py:136 +#: contrib/auth/models.py:156 msgid "Important dates" msgstr "重要な日程" -#: contrib/auth/models.py:137 +#: contrib/auth/models.py:157 msgid "Groups" msgstr "グループ" -#: contrib/auth/models.py:288 +#: contrib/auth/models.py:316 msgid "message" msgstr "メッセージ" @@ -1508,23 +1480,23 @@ msgstr "" "\n" "%(text)s" -#: contrib/comments/views/comments.py:189 -#: contrib/comments/views/comments.py:281 +#: contrib/comments/views/comments.py:190 +#: contrib/comments/views/comments.py:283 msgid "Only POSTs are allowed" msgstr "POST メソッドのみ有効です。" -#: contrib/comments/views/comments.py:193 -#: contrib/comments/views/comments.py:285 +#: contrib/comments/views/comments.py:194 +#: contrib/comments/views/comments.py:287 msgid "One or more of the required fields wasn't submitted" msgstr "必須項目がいくつか入力されていません。" -#: contrib/comments/views/comments.py:197 -#: contrib/comments/views/comments.py:287 +#: contrib/comments/views/comments.py:198 +#: contrib/comments/views/comments.py:289 msgid "Somebody tampered with the comment form (security violation)" msgstr "だれかがコメントフォームを改竄しています (セキュリティ侵害です)" -#: contrib/comments/views/comments.py:207 -#: contrib/comments/views/comments.py:293 +#: contrib/comments/views/comments.py:208 +#: contrib/comments/views/comments.py:295 msgid "" "The comment form had an invalid 'target' parameter -- the object ID was " "invalid" @@ -1532,20 +1504,20 @@ msgstr "" "コメントフォームの 'target' パラメータが不正です。 -- オブジェクト IDが不正な" "値でした" -#: contrib/comments/views/comments.py:258 -#: contrib/comments/views/comments.py:322 +#: contrib/comments/views/comments.py:259 +#: contrib/comments/views/comments.py:324 msgid "The comment form didn't provide either 'preview' or 'post'" msgstr "コメントの「プレビュー」「投稿」種別が不明です。" -#: contrib/comments/views/karma.py:20 +#: contrib/comments/views/karma.py:21 msgid "Anonymous users cannot vote" msgstr "非ログインユーザは投票できません。" -#: contrib/comments/views/karma.py:24 +#: contrib/comments/views/karma.py:25 msgid "Invalid comment ID" msgstr "コメント ID が不正です" -#: contrib/comments/views/karma.py:26 +#: contrib/comments/views/karma.py:27 msgid "No voting for yourself" msgstr "自分には投票できません。" @@ -1623,80 +1595,103 @@ msgstr "番目" msgid "rd" msgstr "番目" -#: contrib/humanize/templatetags/humanize.py:50 +#: contrib/humanize/templatetags/humanize.py:52 #, python-format msgid "%(value).1f million" msgid_plural "%(value).1f million" msgstr[0] "%(value).1f 百万" msgstr[1] "%(value).1f 百万" -#: contrib/humanize/templatetags/humanize.py:53 +#: contrib/humanize/templatetags/humanize.py:55 #, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" msgstr[0] "%(value).1f 十億" msgstr[1] "%(value).1f 十億" -#: contrib/humanize/templatetags/humanize.py:56 +#: contrib/humanize/templatetags/humanize.py:58 #, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" msgstr[0] "%(value).1f 兆" msgstr[1] "%(value).1f 兆" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:74 msgid "one" msgstr "1" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:74 msgid "two" msgstr "2" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:74 msgid "three" msgstr "3" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:74 msgid "four" msgstr "4" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:74 msgid "five" msgstr "5" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:74 msgid "six" msgstr "6" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:74 msgid "seven" msgstr "7" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:74 msgid "eight" msgstr "8" -#: contrib/humanize/templatetags/humanize.py:71 +#: contrib/humanize/templatetags/humanize.py:74 msgid "nine" msgstr "9" -#: contrib/humanize/templatetags/humanize.py:90 +#: contrib/humanize/templatetags/humanize.py:94 msgid "today" msgstr "今日" -#: contrib/humanize/templatetags/humanize.py:92 +#: contrib/humanize/templatetags/humanize.py:96 msgid "tomorrow" msgstr "明日" -#: contrib/humanize/templatetags/humanize.py:94 +#: contrib/humanize/templatetags/humanize.py:98 msgid "yesterday" msgstr "昨日" -#: contrib/localflavor/au/forms.py:18 +#: contrib/localflavor/ar/forms.py:28 +msgid "Enter a postal code in the format NNNN or ANNNNAAA." +msgstr "NNNNか、ANNNNAAAの形式で郵便番号を入力してください。" + +#: contrib/localflavor/ar/forms.py:50 contrib/localflavor/br/forms.py:96 +#: contrib/localflavor/br/forms.py:135 contrib/localflavor/pe/forms.py:23 +#: contrib/localflavor/pe/forms.py:51 +msgid "This field requires only numbers." +msgstr "このフィールドは必須です(数値のみ)。" + +#: contrib/localflavor/ar/forms.py:51 +msgid "This field requires 7 or 8 digits." +msgstr "7桁か8桁で入力して下さい。" + +#: contrib/localflavor/ar/forms.py:80 +msgid "Enter a valid CUIT in XX-XXXXXXXX-X or XXXXXXXXXXXX format." +msgstr "" +"XX-XXXXXXXX-X か XXXXXXXXXXXX の形式で納税証明単一番号(CUIT)を入力して下さい。" + +#: contrib/localflavor/ar/forms.py:81 +msgid "Invalid CUIT." +msgstr "無効な納税証明単一番号(CUIT): %s" + +#: contrib/localflavor/au/forms.py:16 msgid "Enter a 4 digit post code." msgstr "4桁でポストコードを入力してください。" -#: contrib/localflavor/br/forms.py:18 +#: contrib/localflavor/br/forms.py:21 msgid "Enter a zip code in the format XXXXX-XXX." msgstr "XXXXX-XXXの形式でZipコードを入力してください。" @@ -1704,25 +1699,35 @@ msgstr "XXXXX-XXXの形式でZipコードを入力してください。" msgid "Phone numbers must be in XX-XXXX-XXXX format." msgstr "電話番号は XX-XXXX-XXXX 形式で入力してください。" -#: contrib/localflavor/br/forms.py:72 -msgid "This field requires only numbers." -msgstr "このフィールドは必須です(数値のみ)。" +#: contrib/localflavor/br/forms.py:58 +msgid "" +"Select a valid brazilian state. That state is not one of the available " +"states." +msgstr "ブラジルの州から選択してください。選択したものは候補にありません。" -#: contrib/localflavor/br/forms.py:74 +#: contrib/localflavor/br/forms.py:94 +msgid "Invalid CPF number." +msgstr "ブラジル納税者番号(CPF)が無効です。" + +#: contrib/localflavor/br/forms.py:95 msgid "This field requires at most 11 digits or 14 characters." msgstr "11桁の数字か14文字で入力してください。" -#: contrib/localflavor/br/forms.py:84 -msgid "Invalid CPF number." -msgstr "ブラジル納税者番号が無効です。" +#: contrib/localflavor/br/forms.py:134 +msgid "Invalid CNPJ number." +msgstr "納税登録番号(CNPJ)が正しくありません。" -#: contrib/localflavor/br/forms.py:106 +#: contrib/localflavor/br/forms.py:136 msgid "This field requires at least 14 digits" msgstr "14桁以上で入力して下さい。" -#: contrib/localflavor/br/forms.py:116 -msgid "Invalid CNPJ number." -msgstr "納税登録番号が正しくありません。" +#: contrib/localflavor/ca/forms.py:17 +msgid "Enter a postal code in the format XXX XXX." +msgstr "XXX XXXの形式で郵便番号を入力してください。" + +#: contrib/localflavor/ca/forms.py:88 +msgid "Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format." +msgstr "XXX-XXX-XXXX の形式で、カナダ社会保障番号を入力して下さい。" #: contrib/localflavor/ch/ch_states.py:5 msgid "Aargau" @@ -1828,11 +1833,11 @@ msgstr "Zug" msgid "Zurich" msgstr "Zurich" -#: contrib/localflavor/ch/forms.py:18 contrib/localflavor/no/forms.py:14 +#: contrib/localflavor/ch/forms.py:16 contrib/localflavor/no/forms.py:12 msgid "Enter a zip code in the format XXXX." msgstr "XXXXの形式でZipコードを入力してください。" -#: contrib/localflavor/ch/forms.py:90 +#: contrib/localflavor/ch/forms.py:64 msgid "" "Enter a valid Swiss identity or passport card number in X1234567<0 or " "1234567890 format." @@ -1840,13 +1845,17 @@ msgstr "" "スイス アイデンティティかパスポート番号を X1234567<0 か 1234567890 の形式で入" "力して下さい。" -#: contrib/localflavor/cl/forms.py:32 -msgid "Enter valid a Chilean RUT. The format is XX.XXX.XXX-X." -msgstr "XX.XXX.XXX-Xの形式でチリ納税者番号を入力してください。" +#: contrib/localflavor/cl/forms.py:29 +msgid "Enter a valid Chilean RUT." +msgstr "正しいチリ納税者番号(RUT)を入力してください。" -#: contrib/localflavor/cl/forms.py:37 -msgid "Enter valid a Chilean RUT" -msgstr "正しいチリ納税者番号を入力してください。" +#: contrib/localflavor/cl/forms.py:30 +msgid "Enter a valid Chilean RUT. The format is XX.XXX.XXX-X." +msgstr "XX.XXX.XXX-Xの形式でチリ納税者番号(RUT)を入力してください。" + +#: contrib/localflavor/cl/forms.py:31 +msgid "The Chilean RUT is not valid." +msgstr "このチリ納税者番号(RUT)は無効です。" #: contrib/localflavor/de/de_states.py:5 msgid "Baden-Wuerttemberg" @@ -1912,23 +1921,330 @@ msgstr "Schleswig-Holstein" msgid "Thuringia" msgstr "Thuringia" -#: contrib/localflavor/de/forms.py:16 contrib/localflavor/fi/forms.py:14 -#: contrib/localflavor/fr/forms.py:17 +#: contrib/localflavor/de/forms.py:14 contrib/localflavor/fi/forms.py:12 +#: contrib/localflavor/fr/forms.py:15 msgid "Enter a zip code in the format XXXXX." msgstr "XXXXXの形式でZipコードを入力してください。" -#: contrib/localflavor/de/forms.py:60 +#: contrib/localflavor/de/forms.py:41 msgid "" "Enter a valid German identity card number in XXXXXXXXXXX-XXXXXXX-XXXXXXX-X " "format." msgstr "" "XXXXXXXXXXX-XXXXXXX-XXXXXXX-X の形式でドイツIDカード番号を入力して下さい。" -#: contrib/localflavor/fi/forms.py:40 contrib/localflavor/fi/forms.py:45 +#: contrib/localflavor/es/es_provinces.py:5 +msgid "Arava" +msgstr "Arava" + +#: contrib/localflavor/es/es_provinces.py:6 +msgid "Albacete" +msgstr "Albacete" + +#: contrib/localflavor/es/es_provinces.py:7 +msgid "Alacant" +msgstr "Alacant" + +#: contrib/localflavor/es/es_provinces.py:8 +msgid "Almeria" +msgstr "Almeria" + +#: contrib/localflavor/es/es_provinces.py:9 +msgid "Avila" +msgstr "Avila" + +#: contrib/localflavor/es/es_provinces.py:10 +msgid "Badajoz" +msgstr "Badajoz" + +#: contrib/localflavor/es/es_provinces.py:11 +msgid "Illes Balears" +msgstr "Illes Balears" + +#: contrib/localflavor/es/es_provinces.py:12 +msgid "Barcelona" +msgstr "Barcelona" + +#: contrib/localflavor/es/es_provinces.py:13 +msgid "Burgos" +msgstr "Burgos" + +#: contrib/localflavor/es/es_provinces.py:14 +msgid "Caceres" +msgstr "Caceres" + +#: contrib/localflavor/es/es_provinces.py:15 +msgid "Cadiz" +msgstr "Cadiz" + +#: contrib/localflavor/es/es_provinces.py:16 +msgid "Castello" +msgstr "Castello" + +#: contrib/localflavor/es/es_provinces.py:17 +msgid "Ciudad Real" +msgstr "Ciudad Real" + +#: contrib/localflavor/es/es_provinces.py:18 +msgid "Cordoba" +msgstr "Cordoba" + +#: contrib/localflavor/es/es_provinces.py:19 +msgid "A Coruna" +msgstr "A Coruna" + +#: contrib/localflavor/es/es_provinces.py:20 +msgid "Cuenca" +msgstr "Cuenca" + +#: contrib/localflavor/es/es_provinces.py:21 +msgid "Girona" +msgstr "Girona" + +#: contrib/localflavor/es/es_provinces.py:22 +msgid "Granada" +msgstr "Granada" + +#: contrib/localflavor/es/es_provinces.py:23 +msgid "Guadalajara" +msgstr "Guadalajara" + +#: contrib/localflavor/es/es_provinces.py:24 +msgid "Guipuzkoa" +msgstr "Guipuzkoa" + +#: contrib/localflavor/es/es_provinces.py:25 +msgid "Huelva" +msgstr "Huelva" + +#: contrib/localflavor/es/es_provinces.py:26 +msgid "Huesca" +msgstr "Huesca" + +#: contrib/localflavor/es/es_provinces.py:27 +msgid "Jaen" +msgstr "Jaen" + +#: contrib/localflavor/es/es_provinces.py:28 +msgid "Leon" +msgstr "Leon" + +#: contrib/localflavor/es/es_provinces.py:29 +msgid "Lleida" +msgstr "Lleida" + +#: contrib/localflavor/es/es_provinces.py:30 +#: contrib/localflavor/es/es_regions.py:17 +msgid "La Rioja" +msgstr "La Rioja" + +#: contrib/localflavor/es/es_provinces.py:31 +msgid "Lugo" +msgstr "Lugo" + +#: contrib/localflavor/es/es_provinces.py:32 +#: contrib/localflavor/es/es_regions.py:18 +msgid "Madrid" +msgstr "Madrid" + +#: contrib/localflavor/es/es_provinces.py:33 +msgid "Malaga" +msgstr "Malaga" + +#: contrib/localflavor/es/es_provinces.py:34 +msgid "Murcia" +msgstr "Murcia" + +#: contrib/localflavor/es/es_provinces.py:35 +msgid "Navarre" +msgstr "Navarre" + +#: contrib/localflavor/es/es_provinces.py:36 +msgid "Ourense" +msgstr "Ourense" + +#: contrib/localflavor/es/es_provinces.py:37 +msgid "Asturias" +msgstr "Asturias" + +#: contrib/localflavor/es/es_provinces.py:38 +msgid "Palencia" +msgstr "Palencia" + +#: contrib/localflavor/es/es_provinces.py:39 +msgid "Las Palmas" +msgstr "Las Palmas" + +#: contrib/localflavor/es/es_provinces.py:40 +msgid "Pontevedra" +msgstr "Pontevedra" + +#: contrib/localflavor/es/es_provinces.py:41 +msgid "Salamanca" +msgstr "Salamanca" + +#: contrib/localflavor/es/es_provinces.py:42 +msgid "Santa Cruz de Tenerife" +msgstr "Santa Cruz de Tenerife" + +#: contrib/localflavor/es/es_provinces.py:43 +#: contrib/localflavor/es/es_regions.py:11 +msgid "Cantabria" +msgstr "Cantabria" + +#: contrib/localflavor/es/es_provinces.py:44 +msgid "Segovia" +msgstr "Segovia" + +#: contrib/localflavor/es/es_provinces.py:45 +msgid "Seville" +msgstr "Seville" + +#: contrib/localflavor/es/es_provinces.py:46 +msgid "Soria" +msgstr "Soria" + +#: contrib/localflavor/es/es_provinces.py:47 +msgid "Tarragona" +msgstr "Tarragona" + +#: contrib/localflavor/es/es_provinces.py:48 +msgid "Teruel" +msgstr "Teruel" + +#: contrib/localflavor/es/es_provinces.py:49 +msgid "Toledo" +msgstr "Toledo" + +#: contrib/localflavor/es/es_provinces.py:50 +msgid "Valencia" +msgstr "Valencia" + +#: contrib/localflavor/es/es_provinces.py:51 +msgid "Valladolid" +msgstr "Valladolid" + +#: contrib/localflavor/es/es_provinces.py:52 +msgid "Bizkaia" +msgstr "Bizkaia" + +#: contrib/localflavor/es/es_provinces.py:53 +msgid "Zamora" +msgstr "Zamora" + +#: contrib/localflavor/es/es_provinces.py:54 +msgid "Zaragoza" +msgstr "Zaragoza" + +#: contrib/localflavor/es/es_provinces.py:55 +msgid "Ceuta" +msgstr "Ceuta" + +#: contrib/localflavor/es/es_provinces.py:56 +msgid "Melilla" +msgstr "Melilla" + +#: contrib/localflavor/es/es_regions.py:5 +msgid "Andalusia" +msgstr "Andalusia" + +#: contrib/localflavor/es/es_regions.py:6 +msgid "Aragon" +msgstr "Aragon" + +#: contrib/localflavor/es/es_regions.py:7 +msgid "Principality of Asturias" +msgstr "Principality of Asturias" + +#: contrib/localflavor/es/es_regions.py:8 +msgid "Balearic Islands" +msgstr "Balearic Islands" + +#: contrib/localflavor/es/es_regions.py:9 +msgid "Basque Country" +msgstr "Basque Country" + +#: contrib/localflavor/es/es_regions.py:10 +msgid "Canary Islands" +msgstr "Canary Islands" + +#: contrib/localflavor/es/es_regions.py:12 +msgid "Castile-La Mancha" +msgstr "Castile-La Mancha" + +#: contrib/localflavor/es/es_regions.py:13 +msgid "Castile and Leon" +msgstr "Castile and Leon" + +#: contrib/localflavor/es/es_regions.py:14 +msgid "Catalonia" +msgstr "Catalonia" + +#: contrib/localflavor/es/es_regions.py:15 +msgid "Extremadura" +msgstr "Extremadura" + +#: contrib/localflavor/es/es_regions.py:16 +msgid "Galicia" +msgstr "Galicia" + +#: contrib/localflavor/es/es_regions.py:19 +msgid "Region of Murcia" +msgstr "Region of Murcia" + +#: contrib/localflavor/es/es_regions.py:20 +msgid "Foral Community of Navarre" +msgstr "Foral Community of Navarre" + +#: contrib/localflavor/es/es_regions.py:21 +msgid "Valencian Community" +msgstr "Valencian Community" + +#: contrib/localflavor/es/forms.py:19 +msgid "Enter a valid postal code in the range and format 01XXX - 52XXX." +msgstr "01XXX から 52XXXの形式で郵便番号を入力してください。" + +#: contrib/localflavor/es/forms.py:39 +msgid "" +"Enter a valid phone number in one of the formats 6XXXXXXXX, 8XXXXXXXX or " +"9XXXXXXXX." +msgstr "6XXXXXXXX か 8XXXXXXXX か 9XXXXXXXX かのいずれかの形式で電話番号を入力してください。" + +#: contrib/localflavor/es/forms.py:66 +msgid "Please enter a valid NIF, NIE, or CIF." +msgstr "スペイン納税者番号(NIF)かスペイン住民番号(N.I.E)かスペイン企業番号(CIF)のいずれかを入力してください。" + +#: contrib/localflavor/es/forms.py:67 +msgid "Please enter a valid NIF or NIE." +msgstr "スペイン納税者番号(NIF)かスペイン住民番号(N.I.E)を入力してください。" + +#: contrib/localflavor/es/forms.py:68 +msgid "Invalid checksum for NIF." +msgstr "スペイン納税者番号(NIF)のチェックサムがあいません。" + +#: contrib/localflavor/es/forms.py:69 +msgid "Invalid checksum for NIE." +msgstr "スペイン住民番号(N.I.E)のチェックサムがあいません。" + +#: contrib/localflavor/es/forms.py:70 +msgid "Invalid checksum for CIF." +msgstr "スペイン企業番号(CIF)のチェックサムがあいません。" + +#: contrib/localflavor/es/forms.py:142 +msgid "" +"Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX." +msgstr "" +"XXXX-XXXX-XX-XXXXXXXXXX の形式で銀行口座番号を入力して下さい。" + +#: contrib/localflavor/es/forms.py:143 +msgid "Invalid checksum for bank account number." +msgstr "銀行口座番号のチェックサムがあいません。" + +#: contrib/localflavor/fi/forms.py:28 msgid "Enter a valid Finnish social security number." msgstr "フィンランド社会保証番号を正しく入力してください。" -#: contrib/localflavor/in_/forms.py:16 +#: contrib/localflavor/in_/forms.py:14 msgid "Enter a zip code in the format XXXXXXX." msgstr "XXXXXXXの形式でZipコードを入力してください。" @@ -1937,15 +2253,15 @@ msgid "" "Enter a valid Icelandic identification number. The format is XXXXXX-XXXX." msgstr "XXXXXか、XXXXX-XXXXの形式でアイスランド納税者番号を入力してください。" -#: contrib/localflavor/is_/forms.py:31 +#: contrib/localflavor/is_/forms.py:18 msgid "The Icelandic identification number is not valid." msgstr "アイスランド納税者番号を正しく入力して下さい。" -#: contrib/localflavor/it/forms.py:16 +#: contrib/localflavor/it/forms.py:14 msgid "Enter a valid zip code." msgstr "Zipコードを正しく入力してください。" -#: contrib/localflavor/it/forms.py:41 +#: contrib/localflavor/it/forms.py:43 msgid "Enter a valid Social Security number." msgstr "社会保障番号番号を正しく入力してください。" @@ -1953,7 +2269,7 @@ msgstr "社会保障番号番号を正しく入力してください。" msgid "Enter a valid VAT number." msgstr "VAT番号を正しく入力してください。" -#: contrib/localflavor/jp/forms.py:21 +#: contrib/localflavor/jp/forms.py:19 msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX." msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。" @@ -2145,24 +2461,232 @@ msgstr "鹿児島県" msgid "Okinawa" msgstr "沖縄県" -#: contrib/localflavor/no/forms.py:35 +#: contrib/localflavor/mx/mx_states.py:12 +msgid "Aguascalientes" +msgstr "Aguascalientes" + +#: contrib/localflavor/mx/mx_states.py:13 +msgid "Baja California" +msgstr "Baja California" + +#: contrib/localflavor/mx/mx_states.py:14 +msgid "Baja California Sur" +msgstr "Baja California Sur" + +#: contrib/localflavor/mx/mx_states.py:15 +msgid "Campeche" +msgstr "Campeche" + +#: contrib/localflavor/mx/mx_states.py:16 +msgid "Chihuahua" +msgstr "Chihuahua" + +#: contrib/localflavor/mx/mx_states.py:17 +msgid "Chiapas" +msgstr "Chiapas" + +#: contrib/localflavor/mx/mx_states.py:18 +msgid "Coahuila" +msgstr "Coahuila" + +#: contrib/localflavor/mx/mx_states.py:19 +msgid "Colima" +msgstr "Colima" + +#: contrib/localflavor/mx/mx_states.py:20 +msgid "Distrito Federal" +msgstr "Distrito Federal" + +#: contrib/localflavor/mx/mx_states.py:21 +msgid "Durango" +msgstr "Durango" + +#: contrib/localflavor/mx/mx_states.py:22 +msgid "Guerrero" +msgstr "Guerrero" + +#: contrib/localflavor/mx/mx_states.py:23 +msgid "Guanajuato" +msgstr "Guanajuato" + +#: contrib/localflavor/mx/mx_states.py:24 +msgid "Hidalgo" +msgstr "Hidalgo" + +#: contrib/localflavor/mx/mx_states.py:25 +msgid "Jalisco" +msgstr "Jalisco" + +#: contrib/localflavor/mx/mx_states.py:26 +msgid "Estado de México" +msgstr "Estado de México" + +#: contrib/localflavor/mx/mx_states.py:27 +msgid "Michoacán" +msgstr "Michoacan" + +#: contrib/localflavor/mx/mx_states.py:28 +msgid "Morelos" +msgstr "Morelos" + +#: contrib/localflavor/mx/mx_states.py:29 +msgid "Nayarit" +msgstr "Nayarit" + +#: contrib/localflavor/mx/mx_states.py:30 +msgid "Nuevo León" +msgstr "Nuevo Leon" + +#: contrib/localflavor/mx/mx_states.py:31 +msgid "Oaxaca" +msgstr "Oaxaca" + +#: contrib/localflavor/mx/mx_states.py:32 +msgid "Puebla" +msgstr "Puebla" + +#: contrib/localflavor/mx/mx_states.py:33 +msgid "Querétaro" +msgstr "Queretaro" + +#: contrib/localflavor/mx/mx_states.py:34 +msgid "Quintana Roo" +msgstr "Quintana Roo" + +#: contrib/localflavor/mx/mx_states.py:35 +msgid "Sinaloa" +msgstr "Sinaloa" + +#: contrib/localflavor/mx/mx_states.py:36 +msgid "San Luis Potosí" +msgstr "San Luis Potosi" + +#: contrib/localflavor/mx/mx_states.py:37 +msgid "Sonora" +msgstr "Sonora" + +#: contrib/localflavor/mx/mx_states.py:38 +msgid "Tabasco" +msgstr "Tabasco" + +#: contrib/localflavor/mx/mx_states.py:39 +msgid "Tamaulipas" +msgstr "Tamaulipas" + +#: contrib/localflavor/mx/mx_states.py:40 +msgid "Tlaxcala" +msgstr "Tlaxcala" + +#: contrib/localflavor/mx/mx_states.py:41 +msgid "Veracruz" +msgstr "Veracruz" + +#: contrib/localflavor/mx/mx_states.py:42 +msgid "Yucatán" +msgstr "Yucatan" + +#: contrib/localflavor/mx/mx_states.py:43 +msgid "Zacatecas" +msgstr "Zacatecas" + +#: contrib/localflavor/nl/forms.py:21 +msgid "Enter a valid postal code" +msgstr "郵便番号を正しく入力してください。" + +#: contrib/localflavor/nl/forms.py:52 +msgid "Enter a valid phone number" +msgstr "電話番号を正しく入力してください。" + +#: contrib/localflavor/nl/forms.py:78 +msgid "Enter a valid SoFi number" +msgstr "社会税務番号(SoFi)を正しく入力してください。" + +#: contrib/localflavor/nl/nl_provinces.py:4 +msgid "Drente" +msgstr "Drente" + +#: contrib/localflavor/nl/nl_provinces.py:5 +msgid "Flevoland" +msgstr "Flevoland" + +#: contrib/localflavor/nl/nl_provinces.py:6 +msgid "Friesland" +msgstr "Friesland" + +#: contrib/localflavor/nl/nl_provinces.py:7 +msgid "Gelderland" +msgstr "Gelderland" + +#: contrib/localflavor/nl/nl_provinces.py:8 +msgid "Groningen" +msgstr "Groningen" + +#: contrib/localflavor/nl/nl_provinces.py:9 +msgid "Limburg" +msgstr "Limburg" + +#: contrib/localflavor/nl/nl_provinces.py:10 +msgid "Noord-Brabant" +msgstr "Noord-Brabant" + +#: contrib/localflavor/nl/nl_provinces.py:11 +msgid "Noord-Holland" +msgstr "Noord-Holland" + +#: contrib/localflavor/nl/nl_provinces.py:12 +msgid "Overijssel" +msgstr "Overijssel" + +#: contrib/localflavor/nl/nl_provinces.py:13 +msgid "Utrecht" +msgstr "Utrecht" + +#: contrib/localflavor/nl/nl_provinces.py:14 +msgid "Zeeland" +msgstr "Zeeland" + +#: contrib/localflavor/nl/nl_provinces.py:15 +msgid "Zuid-Holland" +msgstr "Zuid-Holland" + +#: contrib/localflavor/no/forms.py:33 msgid "Enter a valid Norwegian social security number." msgstr "ノルウェー社会保障番号を正しく入力してください。" -#: contrib/localflavor/pl/forms.py:53 +#: contrib/localflavor/pe/forms.py:24 +msgid "This field requires 8 digits." +msgstr "8桁で入力して下さい。" + +#: contrib/localflavor/pe/forms.py:52 +msgid "This field requires 11 digits." +msgstr "11桁で入力して下さい。" + +#: contrib/localflavor/pl/forms.py:39 msgid "National Identification Number consists of 11 digits." msgstr "国民識別番号は11文字で入力して下さい。" -#: contrib/localflavor/pl/forms.py:59 +#: contrib/localflavor/pl/forms.py:40 msgid "Wrong checksum for the National Identification Number." msgstr "国民識別番号のチェックサムがあいません。" -#: contrib/localflavor/pl/forms.py:71 +#: contrib/localflavor/pl/forms.py:72 msgid "" "Enter a tax number field (NIP) in the format XXX-XXX-XX-XX or XX-XX-XXX-XXX." msgstr "XXXXXか、XXXXX-XXXXの形式で納税者欄(NIP)を入力してください。" -#: contrib/localflavor/pl/forms.py:82 +#: contrib/localflavor/pl/forms.py:73 +msgid "Wrong checksum for the Tax Number (NIP)." +msgstr "税務署登録ID(NIP)のチェックサムがあいません。" + +#: contrib/localflavor/pl/forms.py:112 +msgid "National Business Register Number (REGON) consists of 7 or 9 digits." +msgstr "ポーランド企業番号(REGON)は7文字か9文字で入力して下さい。" + +#: contrib/localflavor/pl/forms.py:113 +msgid "Wrong checksum for the National Business Register Number (REGON)." +msgstr "ポーランド企業番号(REGON)のチェックサムがあいません。" + +#: contrib/localflavor/pl/forms.py:156 msgid "Enter a postal code in the format XX-XXX." msgstr "XX-XXXの形式で郵便番号を入力してください。" @@ -2230,7 +2754,7 @@ msgstr "Greater Poland" msgid "West Pomerania" msgstr "West Pomerania" -#: contrib/localflavor/sk/forms.py:32 +#: contrib/localflavor/sk/forms.py:30 msgid "Enter a postal code in the format XXXXX or XXX XX." msgstr "XXXXXか、XXX XXの形式で郵便番号を入力してください。" @@ -2582,20 +3106,339 @@ msgstr "Trnava region" msgid "Zilina region" msgstr "Zilina region" -#: contrib/localflavor/uk/forms.py:18 -msgid "Enter a postcode. A space is required between the two postcode parts." -msgstr "" -"ポスタルコードを入力してください。コードとコードの間は半角のスペースで区切っ" -"てください。" +#: contrib/localflavor/uk/forms.py:21 +msgid "Enter a valid postcode." +msgstr "郵便番号を正しく入力してください。" -#: contrib/localflavor/us/forms.py:18 +#: contrib/localflavor/uk/uk_regions.py:11 +msgid "Bedfordshire" +msgstr "Bedfordshire" + +#: contrib/localflavor/uk/uk_regions.py:12 +msgid "Buckinghamshire" +msgstr "Buckinghamshire" + +#: contrib/localflavor/uk/uk_regions.py:14 +msgid "Cheshire" +msgstr "Cheshire" + +#: contrib/localflavor/uk/uk_regions.py:15 +msgid "Cornwall and Isles of Scilly" +msgstr "Cornwall and Isles of Scilly" + +#: contrib/localflavor/uk/uk_regions.py:16 +msgid "Cumbria" +msgstr "Cumbria" + +#: contrib/localflavor/uk/uk_regions.py:17 +msgid "Derbyshire" +msgstr "Derbyshire" + +#: contrib/localflavor/uk/uk_regions.py:18 +msgid "Devon" +msgstr "Devon" + +#: contrib/localflavor/uk/uk_regions.py:19 +msgid "Dorset" +msgstr "Dorset" + +#: contrib/localflavor/uk/uk_regions.py:20 +msgid "Durham" +msgstr "Durham" + +#: contrib/localflavor/uk/uk_regions.py:21 +msgid "East Sussex" +msgstr "East Sussex" + +#: contrib/localflavor/uk/uk_regions.py:22 +msgid "Essex" +msgstr "Essex" + +#: contrib/localflavor/uk/uk_regions.py:23 +msgid "Gloucestershire" +msgstr "Gloucestershire" + +#: contrib/localflavor/uk/uk_regions.py:24 +msgid "Greater London" +msgstr "Greater London" + +#: contrib/localflavor/uk/uk_regions.py:25 +msgid "Greater Manchester" +msgstr "Greater Manchester" + +#: contrib/localflavor/uk/uk_regions.py:26 +msgid "Hampshire" +msgstr "Hampshire" + +#: contrib/localflavor/uk/uk_regions.py:27 +msgid "Hertfordshire" +msgstr "Hertfordshire" + +#: contrib/localflavor/uk/uk_regions.py:28 +msgid "Kent" +msgstr "Kent" + +#: contrib/localflavor/uk/uk_regions.py:29 +msgid "Lancashire" +msgstr "Lancashire" + +#: contrib/localflavor/uk/uk_regions.py:30 +msgid "Leicestershire" +msgstr "Leicestershire" + +#: contrib/localflavor/uk/uk_regions.py:31 +msgid "Lincolnshire" +msgstr "Lincolnshire" + +#: contrib/localflavor/uk/uk_regions.py:32 +msgid "Merseyside" +msgstr "Merseyside" + +#: contrib/localflavor/uk/uk_regions.py:33 +msgid "Norfolk" +msgstr "Norfolk" + +#: contrib/localflavor/uk/uk_regions.py:34 +msgid "North Yorkshire" +msgstr "North Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:35 +msgid "Northamptonshire" +msgstr "Northamptonshire" + +#: contrib/localflavor/uk/uk_regions.py:36 +msgid "Northumberland" +msgstr "Northumberland" + +#: contrib/localflavor/uk/uk_regions.py:37 +msgid "Nottinghamshire" +msgstr "Nottinghamshire" + +#: contrib/localflavor/uk/uk_regions.py:38 +msgid "Oxfordshire" +msgstr "Oxfordshire" + +#: contrib/localflavor/uk/uk_regions.py:39 +msgid "Shropshire" +msgstr "Shropshire" + +#: contrib/localflavor/uk/uk_regions.py:40 +msgid "Somerset" +msgstr "Somerset" + +#: contrib/localflavor/uk/uk_regions.py:41 +msgid "South Yorkshire" +msgstr "South Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:42 +msgid "Staffordshire" +msgstr "Staffordshire" + +#: contrib/localflavor/uk/uk_regions.py:43 +msgid "Suffolk" +msgstr "Suffolk" + +#: contrib/localflavor/uk/uk_regions.py:44 +msgid "Surrey" +msgstr "Surrey" + +#: contrib/localflavor/uk/uk_regions.py:45 +msgid "Tyne and Wear" +msgstr "Tyne and Wear" + +#: contrib/localflavor/uk/uk_regions.py:46 +msgid "Warwickshire" +msgstr "Warwickshire" + +#: contrib/localflavor/uk/uk_regions.py:47 +msgid "West Midlands" +msgstr "West Midlands" + +#: contrib/localflavor/uk/uk_regions.py:48 +msgid "West Sussex" +msgstr "West Sussex" + +#: contrib/localflavor/uk/uk_regions.py:49 +msgid "West Yorkshire" +msgstr "West Yorkshire" + +#: contrib/localflavor/uk/uk_regions.py:50 +msgid "Wiltshire" +msgstr "Wiltshire" + +#: contrib/localflavor/uk/uk_regions.py:51 +msgid "Worcestershire" +msgstr "Worcestershire" + +#: contrib/localflavor/uk/uk_regions.py:55 +msgid "County Antrim" +msgstr "County Antrim" + +#: contrib/localflavor/uk/uk_regions.py:56 +msgid "County Armagh" +msgstr "County Armagh" + +#: contrib/localflavor/uk/uk_regions.py:57 +#: contrib/localflavor/uk/uk_regions.py:58 +msgid "County Down" +msgstr "County Down" + +#: contrib/localflavor/uk/uk_regions.py:59 +msgid "County Londonderry" +msgstr "County Londonderry" + +#: contrib/localflavor/uk/uk_regions.py:60 +msgid "County Tyrone" +msgstr "County Tyrone" + +#: contrib/localflavor/uk/uk_regions.py:64 +msgid "Clwyd" +msgstr "Clwyd" + +#: contrib/localflavor/uk/uk_regions.py:65 +msgid "Dyfed" +msgstr "Dyfed" + +#: contrib/localflavor/uk/uk_regions.py:66 +msgid "Gwent" +msgstr "Gwent" + +#: contrib/localflavor/uk/uk_regions.py:67 +msgid "Gwynedd" +msgstr "Gwynedd" + +#: contrib/localflavor/uk/uk_regions.py:68 +msgid "Mid Glamorgan" +msgstr "Mid Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:69 +msgid "Powys" +msgstr "Powys" + +#: contrib/localflavor/uk/uk_regions.py:70 +msgid "South Glamorgan" +msgstr "South Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:71 +msgid "West Glamorgan" +msgstr "West Glamorgan" + +#: contrib/localflavor/uk/uk_regions.py:75 +msgid "Borders" +msgstr "Borders" + +#: contrib/localflavor/uk/uk_regions.py:76 +msgid "Central Scotland" +msgstr "Central Scotland" + +#: contrib/localflavor/uk/uk_regions.py:77 +msgid "Dumfries and Galloway" +msgstr "Dumfries and Galloway" + +#: contrib/localflavor/uk/uk_regions.py:78 +msgid "Fife" +msgstr "Fife" + +#: contrib/localflavor/uk/uk_regions.py:79 +msgid "Grampian" +msgstr "Grampian" + +#: contrib/localflavor/uk/uk_regions.py:80 +msgid "Highland" +msgstr "Highland" + +#: contrib/localflavor/uk/uk_regions.py:81 +msgid "Lothian" +msgstr "Lothian" + +#: contrib/localflavor/uk/uk_regions.py:82 +msgid "Orkney Islands" +msgstr "Orkney Islands" + +#: contrib/localflavor/uk/uk_regions.py:83 +msgid "Shetland Islands" +msgstr "Shetland Islands" + +#: contrib/localflavor/uk/uk_regions.py:84 +msgid "Strathclyde" +msgstr "Strathclyde" + +#: contrib/localflavor/uk/uk_regions.py:85 +msgid "Tayside" +msgstr "Tayside" + +#: contrib/localflavor/uk/uk_regions.py:86 +msgid "Western Isles" +msgstr "Western Isles" + +#: contrib/localflavor/uk/uk_regions.py:90 +msgid "England" +msgstr "England" + +#: contrib/localflavor/uk/uk_regions.py:91 +msgid "Northern Ireland" +msgstr "Northern Ireland" + +#: contrib/localflavor/uk/uk_regions.py:92 +msgid "Scotland" +msgstr "Scotland" + +#: contrib/localflavor/uk/uk_regions.py:93 +msgid "Wales" +msgstr "Wales" + +#: contrib/localflavor/us/forms.py:16 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。" -#: contrib/localflavor/us/forms.py:51 +#: contrib/localflavor/us/forms.py:54 msgid "Enter a valid U.S. Social Security number in XXX-XX-XXXX format." msgstr "XXX-XX-XXXX の形式で、米国社会保障番号を入力して下さい。" +#: contrib/localflavor/za/forms.py:20 +msgid "Enter a valid South African ID number" +msgstr "南アフリカID番号を正しく入力してください。" + +#: contrib/localflavor/za/forms.py:54 +msgid "Enter a valid South African postal code" +msgstr "南アフリカ郵便番号を正しく入力してください。" + +#: contrib/localflavor/za/za_provinces.py:4 +msgid "Eastern Cape" +msgstr "Eastern Cape" + +#: contrib/localflavor/za/za_provinces.py:5 +msgid "Free State" +msgstr "Free State" + +#: contrib/localflavor/za/za_provinces.py:6 +msgid "Gauteng" +msgstr "Gauteng" + +#: contrib/localflavor/za/za_provinces.py:7 +msgid "KwaZulu-Natal" +msgstr "KwaZulu-Natal" + +#: contrib/localflavor/za/za_provinces.py:8 +msgid "Limpopo" +msgstr "Limpopo" + +#: contrib/localflavor/za/za_provinces.py:9 +msgid "Mpumalanga" +msgstr "Mpumalanga" + +#: contrib/localflavor/za/za_provinces.py:10 +msgid "Northern Cape" +msgstr "Northern Cape" + +#: contrib/localflavor/za/za_provinces.py:11 +msgid "North West" +msgstr "North West" + +#: contrib/localflavor/za/za_provinces.py:12 +msgid "Western Cape" +msgstr "Western Cape" + #: contrib/redirects/models.py:7 msgid "redirect from" msgstr "リダイレクト元" @@ -2624,129 +3467,129 @@ msgstr "リダイレクト" msgid "redirects" msgstr "リダイレクト" -#: contrib/sessions/models.py:68 +#: contrib/sessions/models.py:46 msgid "session key" msgstr "セッションキー" -#: contrib/sessions/models.py:69 +#: contrib/sessions/models.py:47 msgid "session data" msgstr "セッションデータ" -#: contrib/sessions/models.py:70 +#: contrib/sessions/models.py:48 msgid "expire date" msgstr "有効期限" -#: contrib/sessions/models.py:74 +#: contrib/sessions/models.py:53 msgid "session" msgstr "セッション" -#: contrib/sessions/models.py:75 +#: contrib/sessions/models.py:54 msgid "sessions" msgstr "セッション" -#: contrib/sites/models.py:15 +#: contrib/sites/models.py:32 msgid "domain name" msgstr "ドメイン名" -#: contrib/sites/models.py:16 +#: contrib/sites/models.py:33 msgid "display name" msgstr "表示名" -#: contrib/sites/models.py:20 +#: contrib/sites/models.py:37 msgid "site" msgstr "サイト" -#: contrib/sites/models.py:21 +#: contrib/sites/models.py:38 msgid "sites" msgstr "サイト" -#: core/validators.py:71 +#: core/validators.py:72 msgid "This value must contain only letters, numbers and underscores." msgstr "半角の英数字およびアンダースコア以外は使用できません。" -#: core/validators.py:75 +#: core/validators.py:76 msgid "" "This value must contain only letters, numbers, underscores, dashes or " "slashes." msgstr "" "半角の英数字、アンダースコア、ダッシュ、スラッシュ以外は使用できません。" -#: core/validators.py:79 +#: core/validators.py:80 msgid "This value must contain only letters, numbers, underscores or hyphens." msgstr "半角の英数字、アンダースコア、ハイフン以外は使用できません。" -#: core/validators.py:83 +#: core/validators.py:84 msgid "Uppercase letters are not allowed here." msgstr "大文字はここでは使用できません。" -#: core/validators.py:87 +#: core/validators.py:88 msgid "Lowercase letters are not allowed here." msgstr "小文字はここでは使用できません。" -#: core/validators.py:94 +#: core/validators.py:95 msgid "Enter only digits separated by commas." msgstr "カンマ区切りの数字だけを入力してください。" -#: core/validators.py:106 +#: core/validators.py:107 msgid "Enter valid e-mail addresses separated by commas." msgstr "カンマ区切りの有効なメールアドレスを入力してください。" -#: core/validators.py:110 +#: core/validators.py:111 msgid "Please enter a valid IP address." msgstr "有効な IP アドレスを入力してください。" -#: core/validators.py:114 +#: core/validators.py:115 msgid "Empty values are not allowed here." msgstr "入力は必須です。" -#: core/validators.py:118 +#: core/validators.py:119 msgid "Non-numeric characters aren't allowed here." msgstr "数値以外は使用できません。" -#: core/validators.py:122 +#: core/validators.py:123 msgid "This value can't be comprised solely of digits." msgstr "数値だけの値にはできません。" -#: core/validators.py:127 newforms/fields.py:142 +#: core/validators.py:128 newforms/fields.py:151 msgid "Enter a whole number." msgstr "整数を入力してください。" -#: core/validators.py:131 +#: core/validators.py:132 msgid "Only alphabetical characters are allowed here." msgstr "半角アルファベット以外使用できません。" -#: core/validators.py:146 +#: core/validators.py:147 msgid "Year must be 1900 or later." msgstr "1900年以降を指定してください。" -#: core/validators.py:150 +#: core/validators.py:151 #, python-format msgid "Invalid date: %s" msgstr "無効な日付: %s" -#: core/validators.py:155 db/models/fields/__init__.py:501 +#: core/validators.py:156 db/models/fields/__init__.py:509 msgid "Enter a valid date in YYYY-MM-DD format." msgstr "YYYY-MM-DD形式で日付を入力してください。" -#: core/validators.py:160 +#: core/validators.py:161 msgid "Enter a valid time in HH:MM format." msgstr "HH:MM形式で時刻を入力してください。" -#: core/validators.py:164 db/models/fields/__init__.py:570 +#: core/validators.py:165 db/models/fields/__init__.py:583 msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format." msgstr "YYYY-MM-DD HH:MM形式で日時を入力してください。" -#: core/validators.py:169 newforms/fields.py:336 +#: core/validators.py:170 newforms/fields.py:402 msgid "Enter a valid e-mail address." msgstr "有効なメールアドレスを入力してください。" -#: core/validators.py:181 core/validators.py:461 newforms/fields.py:376 -#: oldforms/__init__.py:686 +#: core/validators.py:182 core/validators.py:474 newforms/fields.py:432 +#: oldforms/__init__.py:687 msgid "No file was submitted. Check the encoding type on the form." msgstr "" "ファイルが取得できませんでした。formのencoding typeを確認してください。" -#: core/validators.py:185 newforms/fields.py:397 +#: core/validators.py:193 newforms/fields.py:456 msgid "" "Upload a valid image. The file you uploaded was either not an image or a " "corrupted image." @@ -2754,26 +3597,26 @@ msgstr "" "画像をアップロードしてください。アップロードした画像は画像でないか、または壊" "れています。" -#: core/validators.py:192 +#: core/validators.py:200 #, python-format msgid "The URL %s does not point to a valid image." msgstr "URL ( %s ) は画像ではありません。" -#: core/validators.py:196 +#: core/validators.py:204 #, python-format msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid." msgstr "電話番号は XXX-XXX-XXXX 形式で入力してください。\"%s\" は無効です。" -#: core/validators.py:204 +#: core/validators.py:212 #, python-format msgid "The URL %s does not point to a valid QuickTime video." msgstr "URL ( %s ) は QuickTime ビデオではありません。" -#: core/validators.py:208 +#: core/validators.py:216 msgid "A valid URL is required." msgstr "正しい URL を入力してください。" -#: core/validators.py:222 +#: core/validators.py:230 #, python-format msgid "" "Valid HTML is required. Specific errors are:\n" @@ -2782,86 +3625,86 @@ msgstr "" "有効な HTML を入力してください。エラー:\n" "%s" -#: core/validators.py:229 +#: core/validators.py:237 #, python-format msgid "Badly formed XML: %s" msgstr "不正な XML です: %s" -#: core/validators.py:246 +#: core/validators.py:254 #, python-format msgid "Invalid URL: %s" msgstr "無効なURL: %s" -#: core/validators.py:251 core/validators.py:253 +#: core/validators.py:259 core/validators.py:261 #, python-format msgid "The URL %s is a broken link." msgstr "URL ( %s ) はリンクが壊れています。" -#: core/validators.py:259 +#: core/validators.py:267 msgid "Enter a valid U.S. state abbreviation." msgstr "正しい米州略称を入力してください。" -#: core/validators.py:273 +#: core/validators.py:281 #, python-format msgid "Watch your mouth! The word %s is not allowed here." msgid_plural "Watch your mouth! The words %s are not allowed here." msgstr[0] "言葉使いに気を付けて! %s という言葉は使えません。" msgstr[1] "言葉使いに気を付けて! %s という言葉は使えません。" -#: core/validators.py:280 +#: core/validators.py:288 #, python-format msgid "This field must match the '%s' field." msgstr "このフィールドは '%s' フィールドと一致せねばなりません。" -#: core/validators.py:299 +#: core/validators.py:307 msgid "Please enter something for at least one field." msgstr "少なくとも一つのフィールドに何か入力してください。" -#: core/validators.py:308 core/validators.py:319 +#: core/validators.py:316 core/validators.py:327 msgid "Please enter both fields or leave them both empty." msgstr "両方のフィールドに入力するか、両方とも未入力にしてください。" -#: core/validators.py:327 +#: core/validators.py:335 #, python-format msgid "This field must be given if %(field)s is %(value)s" msgstr "" "%(field)s を %(value)s にするのなら、このフィールドに必ず入力してください。" -#: core/validators.py:340 +#: core/validators.py:348 #, python-format msgid "This field must be given if %(field)s is not %(value)s" msgstr "" "%(field)s を %(value)s にしないのなら、このフィールドに必ず入力してください。" -#: core/validators.py:359 +#: core/validators.py:367 msgid "Duplicate values are not allowed." msgstr "重複する値は認められません。" -#: core/validators.py:374 +#: core/validators.py:382 #, python-format msgid "This value must be between %(lower)s and %(upper)s." msgstr "この値は %(lower)s から %(upper)s の間でなければなりません。" -#: core/validators.py:376 +#: core/validators.py:384 #, python-format msgid "This value must be at least %s." msgstr "この値は %s 以上でなければなりません。" -#: core/validators.py:378 +#: core/validators.py:386 #, python-format msgid "This value must be no more than %s." msgstr "この値は %s より小さくなければなりません。" -#: core/validators.py:414 +#: core/validators.py:427 #, python-format msgid "This value must be a power of %s." msgstr "この値は %s の累乗でなければなりません。" -#: core/validators.py:424 +#: core/validators.py:437 msgid "Please enter a valid decimal number." msgstr "有効な 10 進数を入力してください。" -#: core/validators.py:431 +#: core/validators.py:444 #, python-format msgid "Please enter a valid decimal number with at most %s total digit." msgid_plural "" @@ -2869,7 +3712,7 @@ msgid_plural "" msgstr[0] "全体で %s 文字以下の数字を入力してください。" msgstr[1] "全体で %s 文字以下の数字を入力してください。" -#: core/validators.py:434 +#: core/validators.py:447 #, python-format msgid "" "Please enter a valid decimal number with a whole part of at most %s digit." @@ -2878,7 +3721,7 @@ msgid_plural "" msgstr[0] "整数部は %s 文字以下の数字を入力してください。" msgstr[1] "整数部は %s 文字以下の数字を入力してください。" -#: core/validators.py:437 +#: core/validators.py:450 #, python-format msgid "Please enter a valid decimal number with at most %s decimal place." msgid_plural "" @@ -2886,41 +3729,41 @@ msgid_plural "" msgstr[0] "小数部は %s 文字以下の数字を入力してください。" msgstr[1] "小数部は %s 文字以下の数字を入力してください。" -#: core/validators.py:445 +#: core/validators.py:458 msgid "Please enter a valid floating point number." msgstr "有効な 小数 を入力してください。" -#: core/validators.py:454 +#: core/validators.py:467 #, python-format msgid "Make sure your uploaded file is at least %s bytes big." msgstr "アップロードするファイルの大きさは %s バイト以上にしてください。" -#: core/validators.py:455 +#: core/validators.py:468 #, python-format msgid "Make sure your uploaded file is at most %s bytes big." msgstr "アップロードするファイルの大きさは %s 最大バイトまでです。" -#: core/validators.py:472 +#: core/validators.py:485 msgid "The format for this field is wrong." msgstr "フィールドの形式が正しくありません。" -#: core/validators.py:487 +#: core/validators.py:500 msgid "This field is invalid." msgstr "このフィールドは無効です。" -#: core/validators.py:523 +#: core/validators.py:536 #, python-format msgid "Could not retrieve anything from %s." msgstr "%s から何も検索できませんでした。" -#: core/validators.py:526 +#: core/validators.py:539 #, python-format msgid "" "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'." msgstr "" "URL %(url)s は無効なコンテンツタイプヘッダ '%(contenttype)s' を返しました。" -#: core/validators.py:559 +#: core/validators.py:572 #, python-format msgid "" "Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with " @@ -2929,7 +3772,7 @@ msgstr "" "%(line)s 行目から始まる %(tag)s タグを閉じてください (\"%(start)s\" で始まる" "行です)。" -#: core/validators.py:563 +#: core/validators.py:576 #, python-format msgid "" "Some text starting on line %(line)s is not allowed in that context. (Line " @@ -2938,7 +3781,7 @@ msgstr "" "%(line)s 行目から始まるテキストはこのコンテキストでは使えません。 (\"%(start)" "s\" で始まる行です)。" -#: core/validators.py:568 +#: core/validators.py:581 #, python-format msgid "" "\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%" @@ -2947,7 +3790,7 @@ msgstr "" "%(line)s 行目の \"%(attr)s\" は無効なアトリビュートです (\"%(start)s\" で始ま" "る行です)。" -#: core/validators.py:573 +#: core/validators.py:586 #, python-format msgid "" "\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%" @@ -2956,7 +3799,7 @@ msgstr "" "%(line)s 行目の \"<%(tag)s>\" は無効なタグです( \"%(start)s\" で始まる行で" "す)。" -#: core/validators.py:577 +#: core/validators.py:590 #, python-format msgid "" "A tag on line %(line)s is missing one or more required attributes. (Line " @@ -2965,7 +3808,7 @@ msgstr "" "%(line)s 行目のタグは必須アトリビュートが未入力です( \"%(start)s\" で始まる行" "です)。" -#: core/validators.py:582 +#: core/validators.py:595 #, python-format msgid "" "The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line " @@ -2974,45 +3817,44 @@ msgstr "" "%(line)s 行目の \"%(attr)s\" アトリビュートの値が正しくありません (\"%(start)" "s\" で始まる行です) 。" -#: db/models/manipulators.py:309 +#: db/models/manipulators.py:308 #, 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:49 +#: db/models/fields/__init__.py:52 #, python-format msgid "%(optname)s with this %(fieldname)s already exists." msgstr "%(fieldname)s に %(optname)s は既に存在します。" -#: db/models/fields/__init__.py:156 db/models/fields/__init__.py:313 -#: db/models/fields/__init__.py:721 db/models/fields/__init__.py:732 -#: newforms/fields.py:92 newforms/fields.py:490 newforms/fields.py:566 -#: newforms/fields.py:577 newforms/models.py:193 oldforms/__init__.py:373 +#: db/models/fields/__init__.py:161 db/models/fields/__init__.py:318 +#: db/models/fields/__init__.py:735 db/models/fields/__init__.py:746 +#: newforms/fields.py:45 oldforms/__init__.py:374 msgid "This field is required." msgstr "このフィールドは必須です。" -#: db/models/fields/__init__.py:411 +#: db/models/fields/__init__.py:418 msgid "This value must be an integer." msgstr "値は整数でなければなりません。" -#: db/models/fields/__init__.py:446 +#: db/models/fields/__init__.py:454 msgid "This value must be either True or False." msgstr "値は真: True または偽: False でなければなりません。" -#: db/models/fields/__init__.py:467 +#: db/models/fields/__init__.py:475 msgid "This field cannot be null." msgstr "このフィールドには NULL を指定できません。" -#: db/models/fields/__init__.py:631 +#: db/models/fields/__init__.py:644 msgid "This value must be a decimal number." msgstr "値は整数でなければなりません。" -#: db/models/fields/__init__.py:741 +#: db/models/fields/__init__.py:755 msgid "Enter a valid filename." msgstr "正しいファイル名を入力してください。" -#: db/models/fields/__init__.py:883 +#: db/models/fields/__init__.py:904 msgid "This value must be either None, True or False." msgstr "値は、空: None、真: True または偽: False でなければなりません。" @@ -3040,140 +3882,149 @@ msgid_plural "" msgstr[0] "正しい %(self)s IDを入力してください。 %(value)r は無効です。" msgstr[1] "正しい %(self)s IDを入力してください。 %(value)r は無効です。" -#: newforms/fields.py:116 +#: newforms/fields.py:46 +msgid "Enter a valid value." +msgstr "値を正しく入力してください。" + +#: newforms/fields.py:123 #, python-format msgid "Ensure this value has at most %(max)d characters (it has %(length)d)." msgstr "%(max)d 字以下で入力してください( %(length)d 文字入力されました)。" -#: newforms/fields.py:118 +#: newforms/fields.py:124 #, python-format msgid "Ensure this value has at least %(min)d characters (it has %(length)d)." msgstr "%(min)d 字以上で入力してください。( %(length)d 文字入力されました)。" -#: newforms/fields.py:144 newforms/fields.py:167 newforms/fields.py:197 +#: newforms/fields.py:152 newforms/fields.py:181 newforms/fields.py:210 #, python-format msgid "Ensure this value is less than or equal to %s." msgstr "この値は %s 以下でなければなりません。" -#: newforms/fields.py:146 newforms/fields.py:169 newforms/fields.py:199 +#: newforms/fields.py:153 newforms/fields.py:182 newforms/fields.py:211 #, python-format msgid "Ensure this value is greater than or equal to %s." msgstr "この値は %s 以上でなければなりません。" -#: newforms/fields.py:165 newforms/fields.py:192 +#: newforms/fields.py:180 newforms/fields.py:209 msgid "Enter a number." msgstr "整数を入力してください。" -#: newforms/fields.py:201 +#: newforms/fields.py:212 #, python-format msgid "Ensure that there are no more than %s digits in total." msgstr "整数部と少数部を併せて %s 桁までで入力して下さい。" -#: newforms/fields.py:203 +#: newforms/fields.py:213 #, python-format msgid "Ensure that there are no more than %s decimal places." msgstr "少数部は %s 桁までで入力して下さい。" -#: newforms/fields.py:205 +#: newforms/fields.py:214 #, python-format msgid "Ensure that there are no more than %s digits before the decimal point." msgstr "整数部は %s 桁までで入力して下さい。" -#: newforms/fields.py:238 newforms/fields.py:610 +#: newforms/fields.py:262 newforms/fields.py:719 msgid "Enter a valid date." msgstr "日付を正しく入力してください。" -#: newforms/fields.py:265 newforms/fields.py:612 +#: newforms/fields.py:295 newforms/fields.py:720 msgid "Enter a valid time." msgstr "時間を正しく入力してください。" -#: newforms/fields.py:301 +#: newforms/fields.py:334 msgid "Enter a valid date/time." msgstr "日付/時間を正しく入力してください。" -#: newforms/fields.py:314 -msgid "Enter a valid value." -msgstr "値を正しく入力してください。" - -#: newforms/fields.py:378 +#: newforms/fields.py:433 msgid "No file was submitted." msgstr "ファイルが送信されていません。" -#: newforms/fields.py:380 oldforms/__init__.py:688 +#: newforms/fields.py:434 oldforms/__init__.py:689 msgid "The submitted file is empty." msgstr "入力されたファイルは空です。" -#: newforms/fields.py:403 newforms/fields.py:425 +#: newforms/fields.py:492 msgid "Enter a valid URL." msgstr "URLを正しく入力してください。" -#: newforms/fields.py:427 +#: newforms/fields.py:493 msgid "This URL appears to be a broken link." msgstr "このURLはリンクが壊れています。" -#: newforms/fields.py:478 newforms/models.py:180 +#: newforms/fields.py:555 newforms/models.py:317 msgid "Select a valid choice. That choice is not one of the available choices." msgstr "正しく選択してください。選択したものは候補にありません。" -#: newforms/fields.py:494 newforms/fields.py:570 newforms/models.py:197 +#: newforms/fields.py:594 +#, python-format +msgid "Select a valid choice. %(value)s is not one of the available choices." +msgstr "正しく選択してください。 %(value)s は候補にありません。" + +#: newforms/fields.py:595 newforms/fields.py:657 newforms/models.py:377 msgid "Enter a list of values." msgstr "リストを入力してください。" -#: newforms/fields.py:500 newforms/models.py:203 +#: newforms/fields.py:748 +msgid "Enter a valid IPv4 address." +msgstr "有効なIPアドレス (IPv4) を入力してください。" + +#: newforms/models.py:378 #, python-format msgid "Select a valid choice. %s is not one of the available choices." msgstr "正しく選択してください。 %s は候補にありません。" -#: oldforms/__init__.py:408 +#: oldforms/__init__.py:409 #, python-format msgid "Ensure your text is less than %s character." msgid_plural "Ensure your text is less than %s characters." msgstr[0] "%s 字以下で入力してください。" msgstr[1] "%s 字以下で入力してください。" -#: oldforms/__init__.py:413 +#: oldforms/__init__.py:414 msgid "Line breaks are not allowed here." msgstr "改行はできません。" -#: oldforms/__init__.py:511 oldforms/__init__.py:585 oldforms/__init__.py:624 +#: oldforms/__init__.py:512 oldforms/__init__.py:586 oldforms/__init__.py:625 #, python-format msgid "Select a valid choice; '%(data)s' is not in %(choices)s." msgstr "正しく選択してください。; '%(data)s' は %(choices)s にありません。" -#: oldforms/__init__.py:744 +#: oldforms/__init__.py:745 msgid "Enter a whole number between -32,768 and 32,767." msgstr "-32,768 から 32,767 までの整数を入力してください。" -#: oldforms/__init__.py:754 +#: oldforms/__init__.py:755 msgid "Enter a positive number." msgstr "正の数を入力してください。" -#: oldforms/__init__.py:764 +#: oldforms/__init__.py:765 msgid "Enter a whole number between 0 and 32,767." msgstr "0 から 32,767 までの整数を入力してください。" -#: template/defaultfilters.py:532 +#: template/defaultfilters.py:683 msgid "yes,no,maybe" msgstr "はい,いいえ,たぶん" -#: template/defaultfilters.py:561 +#: template/defaultfilters.py:714 #, python-format msgid "%(size)d byte" msgid_plural "%(size)d bytes" msgstr[0] "%(size)d byte" msgstr[1] "%(size)d bytes" -#: template/defaultfilters.py:563 +#: template/defaultfilters.py:716 #, python-format msgid "%.1f KB" msgstr "%.1f KB" -#: template/defaultfilters.py:565 +#: template/defaultfilters.py:718 #, python-format msgid "%.1f MB" msgstr "%.1f MB" -#: template/defaultfilters.py:566 +#: template/defaultfilters.py:719 #, python-format msgid "%.1f GB" msgstr "%.1f GB" @@ -3386,69 +4237,73 @@ msgstr "12月" msgid "or" msgstr "または" -#: utils/timesince.py:12 +#: utils/timesince.py:21 msgid "year" msgid_plural "years" msgstr[0] "年" msgstr[1] "年" -#: utils/timesince.py:13 +#: utils/timesince.py:22 msgid "month" msgid_plural "months" msgstr[0] "月" msgstr[1] "月" -#: utils/timesince.py:14 +#: utils/timesince.py:23 msgid "week" msgid_plural "weeks" msgstr[0] "週" msgstr[1] "週" -#: utils/timesince.py:15 +#: utils/timesince.py:24 msgid "day" msgid_plural "days" msgstr[0] "日" msgstr[1] "日" -#: utils/timesince.py:16 +#: utils/timesince.py:25 msgid "hour" msgid_plural "hours" msgstr[0] "時" msgstr[1] "時" -#: utils/timesince.py:17 +#: utils/timesince.py:26 msgid "minute" msgid_plural "minutes" msgstr[0] "分" msgstr[1] "分" -#: utils/timesince.py:39 +#: utils/timesince.py:46 +msgid "minutes" +msgstr "分" + +#: utils/timesince.py:51 #, python-format msgid "%(number)d %(type)s" msgstr "%(number)d %(type)s" -#: utils/timesince.py:45 +#: utils/timesince.py:57 #, python-format msgid ", %(number)d %(type)s" msgstr ", %(number)d %(type)s" -#: utils/translation/trans_real.py:391 +#: utils/translation/trans_real.py:399 msgid "DATE_FORMAT" msgstr "Y/m/d" -#: utils/translation/trans_real.py:392 +#: utils/translation/trans_real.py:400 msgid "DATETIME_FORMAT" msgstr "Y/m/d H:i" -#: utils/translation/trans_real.py:393 +#: utils/translation/trans_real.py:401 msgid "TIME_FORMAT" msgstr "H:i" -#: utils/translation/trans_real.py:409 +#: utils/translation/trans_real.py:417 msgid "YEAR_MONTH_FORMAT" msgstr "Y/m/d" -#: utils/translation/trans_real.py:410 +#: utils/translation/trans_real.py:418 msgid "MONTH_DAY_FORMAT" msgstr "m/d" diff --git a/django/conf/locale/tr/LC_MESSAGES/django.mo b/django/conf/locale/tr/LC_MESSAGES/django.mo index 87ac4d05b1..b6bff7439e 100644 Binary files a/django/conf/locale/tr/LC_MESSAGES/django.mo and b/django/conf/locale/tr/LC_MESSAGES/django.mo differ diff --git a/django/conf/locale/tr/LC_MESSAGES/django.po b/django/conf/locale/tr/LC_MESSAGES/django.po index a2c080d8f6..cbd21056e5 100644 --- a/django/conf/locale/tr/LC_MESSAGES/django.po +++ b/django/conf/locale/tr/LC_MESSAGES/django.po @@ -1,17 +1,13 @@ # 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. # -# Can Burak Çilingir , 2007. (Slight modifications) -# Bahadır Kandemir , 2006. msgid "" msgstr "" "Project-Id-Version: django\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-03-14 01:38+0200\n" -"PO-Revision-Date: 2007-03-14 02:06+0200\n" -"Last-Translator: Bahadır Kandemir \n" +"PO-Revision-Date: 2007-12-30 12:15+0200\n" +"Last-Translator: Can Burak Çilingir \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -157,7 +153,7 @@ msgstr "Bengali Dili" #: conf/global_settings.py:41 msgid "Catalan" -msgstr "" +msgstr "Katalanca" #: conf/global_settings.py:42 msgid "Czech" @@ -225,15 +221,15 @@ msgstr "Japonca" #: conf/global_settings.py:58 msgid "Kannada" -msgstr "" +msgstr "Kannada Dili" #: conf/global_settings.py:59 msgid "Latvian" -msgstr "" +msgstr "Leton Dili" #: conf/global_settings.py:60 msgid "Macedonian" -msgstr "" +msgstr "Makedonca" #: conf/global_settings.py:61 msgid "Dutch" @@ -245,7 +241,7 @@ msgstr "Norveç Dili" #: conf/global_settings.py:63 msgid "Polish" -msgstr "" +msgstr "Lehçe" #: conf/global_settings.py:64 msgid "Brazilian" @@ -281,7 +277,7 @@ msgstr "Tamilce" #: conf/global_settings.py:72 msgid "Telugu" -msgstr "" +msgstr "Telugu Dili" #: conf/global_settings.py:73 msgid "Turkish" @@ -615,7 +611,7 @@ msgstr "Geçerli bir seçimde bulunun; seçiminiz mevcut değerlerden birisi de #: newforms/models.py:181 newforms/fields.py:378 newforms/fields.py:454 msgid "Enter a list of values." -msgstr "" +msgstr "Değer listesi giriniz." #: newforms/models.py:187 newforms/fields.py:387 #, python-format @@ -648,11 +644,11 @@ msgstr "Geçerli bir tarih girin." #: newforms/fields.py:190 msgid "Enter a valid time." -msgstr "" +msgstr "Geçerli bir zaman giriniz." #: newforms/fields.py:226 msgid "Enter a valid date/time." -msgstr "" +msgstr "Geçerli bir tarih/zaman giriniz." #: newforms/fields.py:240 msgid "Enter a valid value." @@ -668,40 +664,40 @@ msgstr "Bu URL kırık bir link gibi duruyor." #: contrib/humanize/templatetags/humanize.py:17 msgid "th" -msgstr "" +msgstr "." #: contrib/humanize/templatetags/humanize.py:17 msgid "st" -msgstr "" +msgstr "." #: contrib/humanize/templatetags/humanize.py:17 msgid "nd" -msgstr "" +msgstr "." #: contrib/humanize/templatetags/humanize.py:17 msgid "rd" -msgstr "" +msgstr "." #: contrib/humanize/templatetags/humanize.py:47 #, python-format msgid "%(value).1f million" msgid_plural "%(value).1f million" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(value).1f milyon" +msgstr[1] "%(value).1f milyon" #: contrib/humanize/templatetags/humanize.py:50 #, python-format msgid "%(value).1f billion" msgid_plural "%(value).1f billion" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(value).1f milyar" +msgstr[1] "%(value).1f milyar" #: contrib/humanize/templatetags/humanize.py:53 #, python-format msgid "%(value).1f trillion" msgid_plural "%(value).1f trillion" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%(value).1f trilyon" +msgstr[1] "%(value).1f trilyon" #: contrib/humanize/templatetags/humanize.py:68 msgid "one" @@ -2029,6 +2025,8 @@ msgid "" "Use '[algo]$[salt]$[hexdigest]' or use the change " "password form." msgstr "" +"'[algo]$[salt]$[hexdigest]' yazın ya da parola\n" +"değiştir formunu kullanın." #: contrib/auth/models.py:95 msgid "staff status" @@ -2152,7 +2150,7 @@ msgstr "Posta kodu girin. Posta kodunun iki kısmı arasında bir boşluk bırak #: contrib/localflavor/usa/forms.py:17 msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX." -msgstr "" +msgstr "XXXXX ya da XXXXX-XXXX biçiminde bir posta kodu yazın." #: contrib/sessions/models.py:51 msgid "session key" @@ -2411,27 +2409,27 @@ msgstr[1] "dakika" #: utils/dateformat.py:40 msgid "p.m." -msgstr "" +msgstr "ö.s." #: utils/dateformat.py:41 msgid "a.m." -msgstr "" +msgstr "ö.ö." #: utils/dateformat.py:46 msgid "PM" -msgstr "" +msgstr "ÖS" #: utils/dateformat.py:47 msgid "AM" -msgstr "" +msgstr "ÖÖ" #: utils/dateformat.py:95 msgid "midnight" -msgstr "" +msgstr "gece yarısı" #: utils/dateformat.py:97 msgid "noon" -msgstr "" +msgstr "öğlen" #: utils/translation/trans_real.py:362 msgid "DATE_FORMAT" diff --git a/django/conf/locale/tr/LC_MESSAGES/djangojs.po b/django/conf/locale/tr/LC_MESSAGES/djangojs.po index 037fcd337d..2ce42ff1b6 100644 --- a/django/conf/locale/tr/LC_MESSAGES/djangojs.po +++ b/django/conf/locale/tr/LC_MESSAGES/djangojs.po @@ -1,7 +1,4 @@ -# Django 0.95 -# Copyright (C) 2006 Django # This file is distributed under the same license as the Django package. -# Bahadır Kandemir , 2006. # msgid "" msgstr "" diff --git a/django/contrib/admin/media/js/urlify.js b/django/contrib/admin/media/js/urlify.js index 63e626d884..d8f2549e27 100644 --- a/django/contrib/admin/media/js/urlify.js +++ b/django/contrib/admin/media/js/urlify.js @@ -5,7 +5,7 @@ var LATIN_MAP = { 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'ß': 'ss', 'à':'a', 'á':'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', - 'ì': 'i', 'í': 'i', 'î': 'i', 'ï': 'i', 'ð': 'o', 'ñ': 'n', 'ò': 'o', 'ó': + 'ì': 'i', 'í': 'i', 'î': 'i', 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y' } diff --git a/django/contrib/auth/create_superuser.py b/django/contrib/auth/create_superuser.py index 2e93c35b93..7b6cefd268 100644 --- a/django/contrib/auth/create_superuser.py +++ b/django/contrib/auth/create_superuser.py @@ -10,6 +10,9 @@ from django.contrib.auth.models import User import getpass import os import sys +import re + +RE_VALID_USERNAME = re.compile('\w+$') def createsuperuser(username=None, email=None, password=None): """ @@ -43,7 +46,7 @@ def createsuperuser(username=None, email=None, password=None): username = raw_input(input_msg + ': ') if default_username and username == '': username = default_username - if not username.isalnum(): + if not RE_VALID_USERNAME.match(username): sys.stderr.write("Error: That username is invalid. Use only letters, digits and underscores.\n") username = None continue diff --git a/django/contrib/localflavor/ca/forms.py b/django/contrib/localflavor/ca/forms.py index daeff58acf..b40dba8335 100644 --- a/django/contrib/localflavor/ca/forms.py +++ b/django/contrib/localflavor/ca/forms.py @@ -80,12 +80,12 @@ class CASocialInsuranceNumberField(Field): Checks the following rules to determine whether the number is valid: - * Conforms to the XXX-XXX-XXXX format. + * Conforms to the XXX-XXX-XXX format. * Passes the check digit process "Luhn Algorithm" See: http://en.wikipedia.org/wiki/Social_Insurance_Number """ default_error_messages = { - 'invalid': ugettext('Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format.'), + 'invalid': ugettext('Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format.'), } def clean(self, value): diff --git a/django/contrib/localflavor/it/it_province.py b/django/contrib/localflavor/it/it_province.py index db041d719e..8737335efc 100644 --- a/django/contrib/localflavor/it/it_province.py +++ b/django/contrib/localflavor/it/it_province.py @@ -85,7 +85,7 @@ PROVINCE_CHOICES = ( ('RC', 'Reggio Calabria'), ('RE', 'Reggio Emilia'), ('RI', 'Rieti'), - ('RN', 'Rimini') + ('RN', 'Rimini'), ('RM', 'Roma'), ('RO', 'Rovigo'), ('SA', 'Salerno'), diff --git a/django/contrib/sessions/backends/db.py b/django/contrib/sessions/backends/db.py index d1496d63bf..0f79d9ee1a 100644 --- a/django/contrib/sessions/backends/db.py +++ b/django/contrib/sessions/backends/db.py @@ -10,40 +10,42 @@ class SessionStore(SessionBase): """ def __init__(self, session_key=None): super(SessionStore, self).__init__(session_key) - + def load(self): try: s = Session.objects.get( - session_key = self.session_key, + session_key = self.session_key, expire_date__gt=datetime.datetime.now() ) return self.decode(s.session_data) except (Session.DoesNotExist, SuspiciousOperation): - + # Create a new session_key for extra security. self.session_key = self._get_new_session_key() self._session_cache = {} # Save immediately to minimize collision self.save() + # Ensure the user is notified via a new cookie. + self.modified = True return {} - + def exists(self, session_key): try: Session.objects.get(session_key=session_key) except Session.DoesNotExist: return False return True - + def save(self): Session.objects.create( session_key = self.session_key, session_data = self.encode(self._session), expire_date = datetime.datetime.now() + datetime.timedelta(seconds=settings.SESSION_COOKIE_AGE) ) - + def delete(self, session_key): try: Session.objects.get(session_key=session_key).delete() except Session.DoesNotExist: - pass \ No newline at end of file + pass diff --git a/django/contrib/sessions/backends/file.py b/django/contrib/sessions/backends/file.py index a8c3c69b10..cd3e3d9c75 100644 --- a/django/contrib/sessions/backends/file.py +++ b/django/contrib/sessions/backends/file.py @@ -10,31 +10,31 @@ class SessionStore(SessionBase): """ def __init__(self, session_key=None): self.storage_path = getattr(settings, "SESSION_FILE_PATH", tempfile.gettempdir()) - + # Make sure the storage path is valid. if not os.path.isdir(self.storage_path): raise ImproperlyConfigured("The session storage path %r doesn't exist. "\ "Please set your SESSION_FILE_PATH setting "\ "to an existing directory in which Django "\ "can store session data." % self.storage_path) - - self.file_prefix = settings.SESSION_COOKIE_NAME + + self.file_prefix = settings.SESSION_COOKIE_NAME super(SessionStore, self).__init__(session_key) - + def _key_to_file(self, session_key=None): """ Get the file associated with this session key. """ if session_key is None: session_key = self.session_key - + # Make sure we're not vulnerable to directory traversal. Session keys # should always be md5s, so they should never contain directory components. if os.path.sep in session_key: raise SuspiciousOperation("Invalid characters (directory components) in session key") - + return os.path.join(self.storage_path, self.file_prefix + session_key) - + def load(self): session_data = {} try: @@ -46,6 +46,8 @@ class SessionStore(SessionBase): self._session_key = self._get_new_session_key() self._session_cache = {} self.save() + # Ensure the user is notified via a new cookie. + self.modified = True finally: session_file.close() except(IOError): @@ -66,12 +68,12 @@ class SessionStore(SessionBase): if os.path.exists(self._key_to_file(session_key)): return True return False - + def delete(self, session_key): try: os.unlink(self._key_to_file(session_key)) except OSError: pass - + def clean(self): pass diff --git a/django/core/mail.py b/django/core/mail.py index 77ab8007e6..153dcb6e63 100644 --- a/django/core/mail.py +++ b/django/core/mail.py @@ -67,42 +67,32 @@ def make_msgid(idstring=None): class BadHeaderError(ValueError): pass +def forbid_multi_line_headers(name, val): + "Forbids multi-line headers, to prevent header injection." + if '\n' in val or '\r' in val: + raise BadHeaderError("Header values can't contain newlines (got %r for header %r)" % (val, name)) + try: + val = force_unicode(val).encode('ascii') + except UnicodeEncodeError: + if name.lower() in ('to', 'from', 'cc'): + result = [] + for item in val.split(', '): + nm, addr = parseaddr(item) + nm = str(Header(nm, settings.DEFAULT_CHARSET)) + result.append(formataddr((nm, str(addr)))) + val = ', '.join(result) + else: + val = Header(force_unicode(val), settings.DEFAULT_CHARSET) + return name, val + class SafeMIMEText(MIMEText): def __setitem__(self, name, val): - "Forbids multi-line headers, to prevent header injection." - if '\n' in val or '\r' in val: - raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name) - try: - val = force_unicode(val).encode('ascii') - except UnicodeEncodeError: - if name.lower() in ('to', 'from', 'cc'): - result = [] - for item in val.split(', '): - nm, addr = parseaddr(item) - nm = str(Header(nm, settings.DEFAULT_CHARSET)) - result.append(formataddr((nm, str(addr)))) - val = ', '.join(result) - else: - val = Header(force_unicode(val), settings.DEFAULT_CHARSET) + name, val = forbid_multi_line_headers(name, val) MIMEText.__setitem__(self, name, val) class SafeMIMEMultipart(MIMEMultipart): def __setitem__(self, name, val): - "Forbids multi-line headers, to prevent header injection." - if '\n' in val or '\r' in val: - raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name) - try: - val = force_unicode(val).encode('ascii') - except UnicodeEncodeError: - if name.lower() in ('to', 'from', 'cc'): - result = [] - for item in val.split(', '): - nm, addr = parseaddr(item) - nm = str(Header(nm, settings.DEFAULT_CHARSET)) - result.append(formataddr((nm, str(addr)))) - val = ', '.join(result) - else: - val = Header(force_unicode(val), settings.DEFAULT_CHARSET) + name, val = forbid_multi_line_headers(name, val) MIMEMultipart.__setitem__(self, name, val) class SMTPConnection(object): @@ -209,8 +199,14 @@ class EmailMessage(object): bytestrings). The SafeMIMEText class will handle any necessary encoding conversions. """ - self.to = to or [] - self.bcc = bcc or [] + if to: + self.to = list(to) + else: + self.to = [] + if bcc: + self.bcc = list(bcc) + else: + self.bcc = [] self.from_email = from_email or settings.DEFAULT_FROM_EMAIL self.subject = subject self.body = body diff --git a/django/core/management/sql.py b/django/core/management/sql.py index 767a2dbbfb..15bffce26b 100644 --- a/django/core/management/sql.py +++ b/django/core/management/sql.py @@ -293,7 +293,7 @@ def sql_model_create(model, style, known_models=set()): style.SQL_KEYWORD('NULL')) for field_constraints in opts.unique_together: table_output.append(style.SQL_KEYWORD('UNIQUE') + ' (%s)' % \ - ", ".join([qn(style.SQL_FIELD(opts.get_field(f).column)) for f in field_constraints])) + ", ".join([style.SQL_FIELD(qn(opts.get_field(f).column)) for f in field_constraints])) full_statement = [style.SQL_KEYWORD('CREATE TABLE') + ' ' + style.SQL_TABLE(qn(opts.db_table)) + ' ('] for i, line in enumerate(table_output): # Combine and add commas. diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index cd830413fc..70f5688d1a 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -413,6 +413,7 @@ class DatabaseWrapper(BaseDatabaseWrapper): return self.connection is not None def _cursor(self, settings): + cursor = None if not self._valid_connection(): if len(settings.DATABASE_HOST.strip()) == 0: settings.DATABASE_HOST = 'localhost' @@ -422,16 +423,25 @@ class DatabaseWrapper(BaseDatabaseWrapper): else: conn_string = "%s/%s@%s" % (settings.DATABASE_USER, settings.DATABASE_PASSWORD, settings.DATABASE_NAME) self.connection = Database.connect(conn_string, **self.options) + cursor = FormatStylePlaceholderCursor(self.connection) + # Set oracle date to ansi date format. This only needs to execute + # once when we create a new connection. + cursor.execute("ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD' " + "NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF'") try: self.oracle_version = int(self.connection.version.split('.')[0]) except ValueError: pass - cursor = FormatStylePlaceholderCursor(self.connection) + try: + self.connection.stmtcachesize = 20 + except: + # Django docs specify cx_Oracle version 4.3.1 or higher, but + # stmtcachesize is available only in 4.3.2 and up. + pass + if not cursor: + cursor = FormatStylePlaceholderCursor(self.connection) # Default arraysize of 1 is highly sub-optimal. cursor.arraysize = 100 - # Set oracle date to ansi date format. - cursor.execute("ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'") - cursor.execute("ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF'") return cursor class FormatStylePlaceholderCursor(Database.Cursor): @@ -506,7 +516,10 @@ class FormatStylePlaceholderCursor(Database.Cursor): return Database.Cursor.executemany(self, query, new_param_list) def fetchone(self): - return to_unicode(Database.Cursor.fetchone(self)) + row = Database.Cursor.fetchone(self) + if row is None: + return row + return tuple([to_unicode(e) for e in row]) def fetchmany(self, size=None): if size is None: diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 0ea4eae6e7..a41217fef0 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -795,13 +795,17 @@ class FileField(Field): return os.path.normpath(f) def save_form_data(self, instance, data): - if data: + from django.newforms.fields import UploadedFile + if data and isinstance(data, UploadedFile): getattr(instance, "save_%s_file" % self.name)(data.filename, data.content, save=False) def formfield(self, **kwargs): defaults = {'form_class': forms.FileField} # If a file has been provided previously, then the form doesn't require # that a new file is provided this time. + # The code to mark the form field as not required is used by + # form_for_instance, but can probably be removed once form_for_instance + # is gone. ModelForm uses a different method to check for an existing file. if 'initial' in kwargs: defaults['required'] = False defaults.update(kwargs) diff --git a/django/newforms/fields.py b/django/newforms/fields.py index 3b8f4195b0..0761b8f2af 100644 --- a/django/newforms/fields.py +++ b/django/newforms/fields.py @@ -437,10 +437,12 @@ class FileField(Field): def __init__(self, *args, **kwargs): super(FileField, self).__init__(*args, **kwargs) - def clean(self, data): - super(FileField, self).clean(data) + def clean(self, data, initial=None): + super(FileField, self).clean(initial or data) if not self.required and data in EMPTY_VALUES: return None + elif not data and initial: + return initial try: f = UploadedFile(data['filename'], data['content']) except TypeError: @@ -456,12 +458,12 @@ class ImageField(FileField): 'invalid_image': _(u"Upload a valid image. The file you uploaded was either not an image or a corrupted image."), } - def clean(self, data): + def clean(self, data, initial=None): """ Checks that the file-upload field data contains a valid image (GIF, JPG, PNG, possibly others -- whatever the Python Imaging Library supports). """ - f = super(ImageField, self).clean(data) + f = super(ImageField, self).clean(data, initial) if f is None: return None from PIL import Image diff --git a/django/newforms/forms.py b/django/newforms/forms.py index 88d5f8b3df..9e1b576710 100644 --- a/django/newforms/forms.py +++ b/django/newforms/forms.py @@ -9,7 +9,7 @@ from django.utils.html import escape from django.utils.encoding import StrAndUnicode, smart_unicode, force_unicode from django.utils.safestring import mark_safe -from fields import Field +from fields import Field, FileField from widgets import Media, media_property, TextInput, Textarea from util import flatatt, ErrorDict, ErrorList, ValidationError @@ -205,7 +205,11 @@ class BaseForm(StrAndUnicode): # widgets split data over several HTML fields. value = field.widget.value_from_datadict(self.data, self.files, self.add_prefix(name)) try: - value = field.clean(value) + if isinstance(field, FileField): + initial = self.initial.get(name, field.initial) + value = field.clean(value, initial) + else: + value = field.clean(value) self.cleaned_data[name] = value if hasattr(self, 'clean_%s' % name): value = getattr(self, 'clean_%s' % name)() diff --git a/django/template/__init__.py b/django/template/__init__.py index 9b1868cfce..750c48988d 100644 --- a/django/template/__init__.py +++ b/django/template/__init__.py @@ -154,15 +154,12 @@ class StringOrigin(Origin): class Template(object): def __init__(self, template_string, origin=None, name=''): - "Compilation stage" try: template_string = smart_unicode(template_string) except UnicodeDecodeError: raise TemplateEncodingError("Templates can only be constructed from unicode or UTF-8 strings.") - if settings.TEMPLATE_DEBUG and origin == None: + if settings.TEMPLATE_DEBUG and origin is None: origin = StringOrigin(template_string) - # Could do some crazy stack-frame stuff to record where this string - # came from... self.nodelist = compile_string(template_string, origin) self.name = name @@ -177,13 +174,18 @@ class Template(object): def compile_string(template_string, origin): "Compiles template_string into NodeList ready for rendering" - lexer = lexer_factory(template_string, origin) - parser = parser_factory(lexer.tokenize()) + if settings.TEMPLATE_DEBUG: + from debug import DebugLexer, DebugParser + lexer_class, parser_class = DebugLexer, DebugParser + else: + lexer_class, parser_class = Lexer, Parser + lexer = lexer_class(template_string, origin) + parser = parser_class(lexer.tokenize()) return parser.parse() class Token(object): def __init__(self, token_type, contents): - "The token_type must be TOKEN_TEXT, TOKEN_VAR, TOKEN_BLOCK or TOKEN_COMMENT" + # token_type must be TOKEN_TEXT, TOKEN_VAR, TOKEN_BLOCK or TOKEN_COMMENT. self.token_type, self.contents = token_type, contents def __str__(self): @@ -200,7 +202,7 @@ class Lexer(object): self.origin = origin def tokenize(self): - "Return a list of tokens from a given template_string" + "Return a list of tokens from a given template_string." in_tag = False result = [] for bit in tag_re.split(self.template_string): @@ -226,30 +228,6 @@ class Lexer(object): token = Token(TOKEN_TEXT, token_string) return token -class DebugLexer(Lexer): - def __init__(self, template_string, origin): - super(DebugLexer, self).__init__(template_string, origin) - - def tokenize(self): - "Return a list of tokens from a given template_string" - result, upto = [], 0 - for match in tag_re.finditer(self.template_string): - start, end = match.span() - if start > upto: - result.append(self.create_token(self.template_string[upto:start], (upto, start), False)) - upto = start - result.append(self.create_token(self.template_string[start:end], (start, end), True)) - upto = end - last_bit = self.template_string[upto:] - if last_bit: - result.append(self.create_token(last_bit, (upto, upto + len(last_bit)), False)) - return result - - def create_token(self, token_string, source, in_tag): - token = super(DebugLexer, self).create_token(token_string, in_tag) - token.source = self.origin, source - return token - class Parser(object): def __init__(self, tokens): self.tokens = tokens @@ -319,17 +297,17 @@ class Parser(object): def exit_command(self): pass - def error(self, token, msg ): + def error(self, token, msg): return TemplateSyntaxError(msg) def empty_variable(self, token): - raise self.error( token, "Empty variable tag") + raise self.error(token, "Empty variable tag") def empty_block_tag(self, token): - raise self.error( token, "Empty block tag") + raise self.error(token, "Empty block tag") def invalid_block_tag(self, token, command): - raise self.error( token, "Invalid block tag: '%s'" % command) + raise self.error(token, "Invalid block tag: '%s'" % command) def unclosed_block_tag(self, parse_until): raise self.error(None, "Unclosed tags: %s " % ', '.join(parse_until)) @@ -358,57 +336,7 @@ class Parser(object): if filter_name in self.filters: return self.filters[filter_name] else: - raise TemplateSyntaxError, "Invalid filter: '%s'" % filter_name - -class DebugParser(Parser): - def __init__(self, lexer): - super(DebugParser, self).__init__(lexer) - self.command_stack = [] - - def enter_command(self, command, token): - self.command_stack.append( (command, token.source) ) - - def exit_command(self): - self.command_stack.pop() - - def error(self, token, msg): - return self.source_error(token.source, msg) - - def source_error(self, source,msg): - e = TemplateSyntaxError(msg) - e.source = source - return e - - def create_nodelist(self): - return DebugNodeList() - - def create_variable_node(self, contents): - return DebugVariableNode(contents) - - def extend_nodelist(self, nodelist, node, token): - node.source = token.source - super(DebugParser, self).extend_nodelist(nodelist, node, token) - - def unclosed_block_tag(self, parse_until): - command, source = self.command_stack.pop() - msg = "Unclosed tag '%s'. Looking for one of: %s " % (command, ', '.join(parse_until)) - raise self.source_error( source, msg) - - def compile_function_error(self, token, e): - if not hasattr(e, 'source'): - e.source = token.source - -def lexer_factory(*args, **kwargs): - if settings.TEMPLATE_DEBUG: - return DebugLexer(*args, **kwargs) - else: - return Lexer(*args, **kwargs) - -def parser_factory(*args, **kwargs): - if settings.TEMPLATE_DEBUG: - return DebugParser(*args, **kwargs) - else: - return Parser(*args, **kwargs) + raise TemplateSyntaxError("Invalid filter: '%s'" % filter_name) class TokenParser(object): """ @@ -426,7 +354,7 @@ class TokenParser(object): def top(self): "Overload this method to do the actual parsing and return the result." - raise NotImplemented + raise NotImplementedError() def more(self): "Returns True if there is more stuff in the tag." @@ -435,7 +363,7 @@ class TokenParser(object): def back(self): "Undoes the last microparser. Use this for lookahead and backtracking." if not len(self.backout): - raise TemplateSyntaxError, "back called without some previous parsing" + raise TemplateSyntaxError("back called without some previous parsing") self.pointer = self.backout.pop() def tag(self): @@ -443,7 +371,7 @@ class TokenParser(object): subject = self.subject i = self.pointer if i >= len(subject): - raise TemplateSyntaxError, "expected another tag, found end of string: %s" % subject + raise TemplateSyntaxError("expected another tag, found end of string: %s" % subject) p = i while i < len(subject) and subject[i] not in (' ', '\t'): i += 1 @@ -459,14 +387,14 @@ class TokenParser(object): subject = self.subject i = self.pointer if i >= len(subject): - raise TemplateSyntaxError, "Searching for value. Expected another value but found end of string: %s" % subject + raise TemplateSyntaxError("Searching for value. Expected another value but found end of string: %s" % subject) if subject[i] in ('"', "'"): p = i i += 1 while i < len(subject) and subject[i] != subject[p]: i += 1 if i >= len(subject): - raise TemplateSyntaxError, "Searching for value. Unexpected end of string in column %d: %s" % (i, subject) + raise TemplateSyntaxError("Searching for value. Unexpected end of string in column %d: %s" % (i, subject)) i += 1 res = subject[p:i] while i < len(subject) and subject[i] in (' ', '\t'): @@ -483,7 +411,7 @@ class TokenParser(object): while i < len(subject) and subject[i] != c: i += 1 if i >= len(subject): - raise TemplateSyntaxError, "Searching for value. Unexpected end of string in column %d: %s" % (i, subject) + raise TemplateSyntaxError("Searching for value. Unexpected end of string in column %d: %s" % (i, subject)) i += 1 s = subject[p:i] while i < len(subject) and subject[i] in (' ', '\t'): @@ -542,8 +470,8 @@ class FilterExpression(object): for match in matches: start = match.start() if upto != start: - raise TemplateSyntaxError, "Could not parse some characters: %s|%s|%s" % \ - (token[:upto], token[upto:start], token[start:]) + raise TemplateSyntaxError("Could not parse some characters: %s|%s|%s" % \ + (token[:upto], token[upto:start], token[start:])) if var == None: var, constant, i18n_constant = match.group("var", "constant", "i18n_constant") if i18n_constant: @@ -552,9 +480,9 @@ class FilterExpression(object): var = '"%s"' % constant.replace(r'\"', '"') upto = match.end() if var == None: - raise TemplateSyntaxError, "Could not find variable at start of %s" % token + raise TemplateSyntaxError("Could not find variable at start of %s" % token) elif var.find(VARIABLE_ATTRIBUTE_SEPARATOR + '_') > -1 or var[0] == '_': - raise TemplateSyntaxError, "Variables and attributes may not begin with underscores: '%s'" % var + raise TemplateSyntaxError("Variables and attributes may not begin with underscores: '%s'" % var) else: filter_name = match.group("filter_name") args = [] @@ -570,7 +498,7 @@ class FilterExpression(object): filters.append( (filter_func,args)) upto = match.end() if upto != len(token): - raise TemplateSyntaxError, "Could not parse the remainder: '%s' from '%s'" % (token[upto:], token) + raise TemplateSyntaxError("Could not parse the remainder: '%s' from '%s'" % (token[upto:], token)) self.filters = filters self.var = Variable(var) @@ -627,7 +555,7 @@ class FilterExpression(object): provided.pop(0) except IndexError: # Not enough - raise TemplateSyntaxError, "%s requires %d arguments, %d provided" % (name, len(nondefs), plen) + raise TemplateSyntaxError("%s requires %d arguments, %d provided" % (name, len(nondefs), plen)) # Defaults can be overridden. defaults = defaults and list(defaults) or [] @@ -636,7 +564,7 @@ class FilterExpression(object): defaults.pop(0) except IndexError: # Too many. - raise TemplateSyntaxError, "%s requires %d arguments, %d provided" % (name, len(nondefs), plen) + raise TemplateSyntaxError("%s requires %d arguments, %d provided" % (name, len(nondefs), plen)) return True args_check = staticmethod(args_check) @@ -816,22 +744,6 @@ class NodeList(list): def render_node(self, node, context): return node.render(context) -class DebugNodeList(NodeList): - def render_node(self, node, context): - try: - result = node.render(context) - except TemplateSyntaxError, e: - if not hasattr(e, 'source'): - e.source = node.source - raise - except Exception, e: - from sys import exc_info - wrapped = TemplateSyntaxError('Caught an exception while rendering: %s' % e) - wrapped.source = node.source - wrapped.exc_info = exc_info() - raise wrapped - return result - class TextNode(Node): def __init__(self, s): self.s = s @@ -861,21 +773,6 @@ class VariableNode(Node): else: return force_unicode(output) -class DebugVariableNode(VariableNode): - def render(self, context): - try: - output = force_unicode(self.filter_expression.resolve(context)) - except TemplateSyntaxError, e: - if not hasattr(e, 'source'): - e.source = self.source - raise - except UnicodeDecodeError: - return '' - if (context.autoescape and not isinstance(output, SafeData)) or isinstance(output, EscapeData): - return escape(output) - else: - return output - def generic_tag_compiler(params, defaults, name, node_class, parser, token): "Returns a template.Node subclass." bits = token.split_contents()[1:] @@ -887,7 +784,7 @@ def generic_tag_compiler(params, defaults, name, node_class, parser, token): message = "%s takes %s arguments" % (name, bmin) else: message = "%s takes between %s and %s arguments" % (name, bmin, bmax) - raise TemplateSyntaxError, message + raise TemplateSyntaxError(message) return node_class(bits) class Library(object): @@ -913,7 +810,7 @@ class Library(object): self.tags[name] = compile_function return compile_function else: - raise InvalidTemplateLibrary, "Unsupported arguments to Library.tag: (%r, %r)", (name, compile_function) + raise InvalidTemplateLibrary("Unsupported arguments to Library.tag: (%r, %r)", (name, compile_function)) def tag_function(self,func): self.tags[getattr(func, "_decorated_function", func).__name__] = func @@ -937,7 +834,7 @@ class Library(object): self.filters[name] = filter_func return filter_func else: - raise InvalidTemplateLibrary, "Unsupported arguments to Library.filter: (%r, %r)", (name, filter_func) + raise InvalidTemplateLibrary("Unsupported arguments to Library.filter: (%r, %r)", (name, filter_func)) def filter_function(self, func): self.filters[getattr(func, "_decorated_function", func).__name__] = func @@ -966,7 +863,7 @@ class Library(object): if params[0] == 'context': params = params[1:] else: - raise TemplateSyntaxError, "Any tag function decorated with takes_context=True must have a first argument of 'context'" + raise TemplateSyntaxError("Any tag function decorated with takes_context=True must have a first argument of 'context'") class InclusionNode(Node): def __init__(self, vars_to_resolve): @@ -1003,12 +900,12 @@ def get_library(module_name): try: mod = __import__(module_name, {}, {}, ['']) except ImportError, e: - raise InvalidTemplateLibrary, "Could not load template library from %s, %s" % (module_name, e) + raise InvalidTemplateLibrary("Could not load template library from %s, %s" % (module_name, e)) try: lib = mod.register libraries[module_name] = lib except AttributeError: - raise InvalidTemplateLibrary, "Template library %s does not have a variable named 'register'" % module_name + raise InvalidTemplateLibrary("Template library %s does not have a variable named 'register'" % module_name) return lib def add_to_builtins(module_name): diff --git a/django/template/context.py b/django/template/context.py index 0e41a26618..6ba53f340b 100644 --- a/django/template/context.py +++ b/django/template/context.py @@ -9,7 +9,6 @@ class ContextPopException(Exception): class Context(object): "A stack container for variable context" - def __init__(self, dict_=None, autoescape=True): dict_ = dict_ or {} self.dicts = [dict_] @@ -78,11 +77,11 @@ def get_standard_processors(): try: mod = __import__(module, {}, {}, [attr]) except ImportError, e: - raise ImproperlyConfigured, 'Error importing request processor module %s: "%s"' % (module, e) + raise ImproperlyConfigured('Error importing request processor module %s: "%s"' % (module, e)) try: func = getattr(mod, attr) except AttributeError: - raise ImproperlyConfigured, 'Module "%s" does not define a "%s" callable request processor' % (module, attr) + raise ImproperlyConfigured('Module "%s" does not define a "%s" callable request processor' % (module, attr)) processors.append(func) _standard_context_processors = tuple(processors) return _standard_context_processors @@ -102,4 +101,3 @@ class RequestContext(Context): processors = tuple(processors) for processor in get_standard_processors() + processors: self.update(processor(request)) - diff --git a/django/template/debug.py b/django/template/debug.py new file mode 100644 index 0000000000..008059c28f --- /dev/null +++ b/django/template/debug.py @@ -0,0 +1,97 @@ +from django.template import Lexer, Parser, tag_re, NodeList, VariableNode, TemplateSyntaxError +from django.utils.encoding import force_unicode +from django.utils.html import escape +from django.utils.safestring import SafeData, EscapeData + +class DebugLexer(Lexer): + def __init__(self, template_string, origin): + super(DebugLexer, self).__init__(template_string, origin) + + def tokenize(self): + "Return a list of tokens from a given template_string" + result, upto = [], 0 + for match in tag_re.finditer(self.template_string): + start, end = match.span() + if start > upto: + result.append(self.create_token(self.template_string[upto:start], (upto, start), False)) + upto = start + result.append(self.create_token(self.template_string[start:end], (start, end), True)) + upto = end + last_bit = self.template_string[upto:] + if last_bit: + result.append(self.create_token(last_bit, (upto, upto + len(last_bit)), False)) + return result + + def create_token(self, token_string, source, in_tag): + token = super(DebugLexer, self).create_token(token_string, in_tag) + token.source = self.origin, source + return token + +class DebugParser(Parser): + def __init__(self, lexer): + super(DebugParser, self).__init__(lexer) + self.command_stack = [] + + def enter_command(self, command, token): + self.command_stack.append( (command, token.source) ) + + def exit_command(self): + self.command_stack.pop() + + def error(self, token, msg): + return self.source_error(token.source, msg) + + def source_error(self, source,msg): + e = TemplateSyntaxError(msg) + e.source = source + return e + + def create_nodelist(self): + return DebugNodeList() + + def create_variable_node(self, contents): + return DebugVariableNode(contents) + + def extend_nodelist(self, nodelist, node, token): + node.source = token.source + super(DebugParser, self).extend_nodelist(nodelist, node, token) + + def unclosed_block_tag(self, parse_until): + command, source = self.command_stack.pop() + msg = "Unclosed tag '%s'. Looking for one of: %s " % (command, ', '.join(parse_until)) + raise self.source_error(source, msg) + + def compile_function_error(self, token, e): + if not hasattr(e, 'source'): + e.source = token.source + +class DebugNodeList(NodeList): + def render_node(self, node, context): + try: + result = node.render(context) + except TemplateSyntaxError, e: + if not hasattr(e, 'source'): + e.source = node.source + raise + except Exception, e: + from sys import exc_info + wrapped = TemplateSyntaxError('Caught an exception while rendering: %s' % e) + wrapped.source = node.source + wrapped.exc_info = exc_info() + raise wrapped + return result + +class DebugVariableNode(VariableNode): + def render(self, context): + try: + output = force_unicode(self.filter_expression.resolve(context)) + except TemplateSyntaxError, e: + if not hasattr(e, 'source'): + e.source = self.source + raise + except UnicodeDecodeError: + return '' + if (context.autoescape and not isinstance(output, SafeData)) or isinstance(output, EscapeData): + return escape(output) + else: + return output diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py index 5cee0ab244..ddd48146f2 100644 --- a/django/template/defaultfilters.py +++ b/django/template/defaultfilters.py @@ -433,7 +433,7 @@ def first(value): return value[0] except IndexError: return u'' -first.is_safe = True +first.is_safe = False def join(value, arg): """Joins a list with a string, like Python's ``str.join(list)``.""" @@ -449,6 +449,14 @@ def join(value, arg): return data join.is_safe = True +def last(value): + "Returns the last item in a list" + try: + return value[-1] + except IndexError: + return u'' +last.is_safe = True + def length(value): """Returns the length of the value - useful for lists.""" return len(value) @@ -800,6 +808,7 @@ register.filter(force_escape) register.filter(get_digit) register.filter(iriencode) register.filter(join) +register.filter(last) register.filter(length) register.filter(length_is) register.filter(linebreaks) diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py index 813e5dbed6..e5a8e6620b 100644 --- a/django/template/defaulttags.py +++ b/django/template/defaulttags.py @@ -84,19 +84,16 @@ class FirstOfNode(Node): return u'' class ForNode(Node): - def __init__(self, loopvars, sequence, reversed, nodelist_loop): + def __init__(self, loopvars, sequence, is_reversed, nodelist_loop): self.loopvars, self.sequence = loopvars, sequence - self.reversed = reversed + self.is_reversed = is_reversed self.nodelist_loop = nodelist_loop def __repr__(self): - if self.reversed: - reversed = ' reversed' - else: - reversed = '' + reversed_text = self.is_reversed and ' reversed' or '' return "" % \ (', '.join(self.loopvars), self.sequence, len(self.nodelist_loop), - reversed) + reversed_text) def __iter__(self): for node in self.nodelist_loop: @@ -125,22 +122,23 @@ class ForNode(Node): if not hasattr(values, '__len__'): values = list(values) len_values = len(values) - if self.reversed: + if self.is_reversed: values = reversed(values) unpack = len(self.loopvars) > 1 + # Create a forloop value in the context. We'll update counters on each + # iteration just below. + loop_dict = context['forloop'] = {'parentloop': parentloop} for i, item in enumerate(values): - context['forloop'] = { - # Shortcuts for current loop iteration number. - 'counter0': i, - 'counter': i+1, - # Reverse counter iteration numbers. - 'revcounter': len_values - i, - 'revcounter0': len_values - i - 1, - # Boolean values designating first and last times through loop. - 'first': (i == 0), - 'last': (i == len_values - 1), - 'parentloop': parentloop, - } + # Shortcuts for current loop iteration number. + loop_dict['counter0'] = i + loop_dict['counter'] = i+1 + # Reverse counter iteration numbers. + loop_dict['revcounter'] = len_values - i + loop_dict['revcounter0'] = len_values - i - 1 + # Boolean values designating first and last times through loop. + loop_dict['first'] = (i == 0) + loop_dict['last'] = (i == len_values - 1) + if unpack: # If there are multiple loop variables, unpack the item into # them. @@ -619,8 +617,8 @@ def do_for(parser, token): raise TemplateSyntaxError("'for' statements should have at least four" " words: %s" % token.contents) - reversed = bits[-1] == 'reversed' - in_index = reversed and -3 or -2 + is_reversed = bits[-1] == 'reversed' + in_index = is_reversed and -3 or -2 if bits[in_index] != 'in': raise TemplateSyntaxError("'for' statements should use the format" " 'for x in y': %s" % token.contents) @@ -634,7 +632,7 @@ def do_for(parser, token): sequence = parser.compile_filter(bits[in_index+1]) nodelist_loop = parser.parse(('endfor',)) parser.delete_first_token() - return ForNode(loopvars, sequence, reversed, nodelist_loop) + return ForNode(loopvars, sequence, is_reversed, nodelist_loop) do_for = register.tag("for", do_for) def do_ifequal(parser, token, negate): diff --git a/django/views/debug.py b/django/views/debug.py index 18a396d3a6..e3be2a7dcd 100644 --- a/django/views/debug.py +++ b/django/views/debug.py @@ -507,7 +507,7 @@ Exception Type: {{ exception_type|escape }} at {{ request.path|escape }} Exception Value: {{ exception_value|escape }}

        - + diff --git a/docs/design_philosophies.txt b/docs/design_philosophies.txt index 72aa8ade95..aae0fa836e 100644 --- a/docs/design_philosophies.txt +++ b/docs/design_philosophies.txt @@ -57,7 +57,7 @@ worth using only if it creates a huge convenience unattainable in other ways, and it isn't implemented in a way that confuses developers who are trying to learn how to use the feature. -.. _`core Python principle`: http://www.python.org/doc/Humor.html#zen +.. _`core Python principle`: http://www.python.org/dev/peps/pep-0020/ Consistency ----------- diff --git a/docs/distributions.txt b/docs/distributions.txt index d65e047276..48c30c7068 100644 --- a/docs/distributions.txt +++ b/docs/distributions.txt @@ -18,9 +18,9 @@ repository. FreeBSD ======= -The `FreeBSD`_ ports system offers both Django 0.96 (`py-django`_) and a more -recent, but not current, version based on Django's trunk (`py-django-devel`_). -These are installed in the normal FreeBSD way; for Django 0.96, for example, type: +The `FreeBSD`_ ports system offers both Django 0.96 (`py-django`_) and a more +recent, but not current, version based on Django's trunk (`py-django-devel`_). +These are installed in the normal FreeBSD way; for Django 0.96, for example, type: ``cd /usr/ports/www/py-django && sudo make install clean``. .. _FreeBSD: http://www.freebsd.org/ @@ -60,22 +60,22 @@ point to find their preferred version. Gentoo ------ -A Django build is available for `Gentoo Linux`_, and is based on Django 0.96. -The `current Gentoo build`_ can be installed by typing ``emerge django``. +A Django package is available for `Gentoo Linux`_, and is based on Django 0.96.1. +The `current Gentoo package`_ can be installed by typing ``emerge django``. .. _Gentoo Linux: http://www.gentoo.org/ -.. _current Gentoo build: http://packages.gentoo.org/packages/?category=dev-python;name=django +.. _current Gentoo package: http://packages.gentoo.org/package/django Ubuntu ------ The Debian ``python-django`` package is also available for `Ubuntu Linux`_, in -the "universe" repository for Ubuntu 7.04 ("Feisty Fawn"). The `current Ubuntu -package`_ is also based on Django 0.95.1 and can be installed in the same -fashion as for Debian. +the "universe" repository for Ubuntu 7.10 ("Gutsy Gibbon"). The `current Ubuntu +package`_ is based on Django 0.96.1 and can be installed in the same fashion as +for Debian. .. _Ubuntu Linux: http://www.ubuntu.com/ -.. _current Ubuntu package: http://packages.ubuntu.com/feisty/python/python-django +.. _current Ubuntu package: http://packages.ubuntu.com/gutsy/python/python-django Mac OS X diff --git a/docs/django-admin.txt b/docs/django-admin.txt index fe43f9586c..21821ab2e9 100644 --- a/docs/django-admin.txt +++ b/docs/django-admin.txt @@ -716,8 +716,8 @@ in Python package syntax, e.g. ``mysite.settings``. If this isn't provided, ``django-admin.py`` will use the ``DJANGO_SETTINGS_MODULE`` environment variable. -Note that this option is unnecessary in ``manage.py``, because it takes care of -setting ``DJANGO_SETTINGS_MODULE`` for you. +Note that this option is unnecessary in ``manage.py``, because it uses +``settings.py`` from the current project by default. Extra niceties ============== diff --git a/docs/localflavor.txt b/docs/localflavor.txt index 154922ff45..75ec95382e 100644 --- a/docs/localflavor.txt +++ b/docs/localflavor.txt @@ -100,6 +100,8 @@ any code you'd like to contribute. One thing we ask is that you please use Unicode objects (``u'mystring'``) for strings, rather than setting the encoding in the file. See any of the existing flavors for examples. +.. _create a ticket: http://code.djangoproject.com/simpleticket + Argentina (``django.contrib.localflavor.ar``) ============================================= @@ -181,7 +183,7 @@ CASocialInsuranceNumberField ---------------------------- A form field that validates input as a Canadian Social Insurance Number (SIN). -A valid number must have the format XXX-XXX-XXXX and pass a `Luhn mod-10 +A valid number must have the format XXX-XXX-XXX and pass a `Luhn mod-10 checksum`_. .. _Luhn mod-10 checksum: http://en.wikipedia.org/wiki/Luhn_algorithm diff --git a/docs/middleware.txt b/docs/middleware.txt index f2cf18dbdf..a2853e2965 100644 --- a/docs/middleware.txt +++ b/docs/middleware.txt @@ -154,6 +154,17 @@ every incoming ``HttpRequest`` object. See `Authentication in Web requests`_. .. _Authentication in Web requests: ../authentication/#authentication-in-web-requests +django.contrib.csrf.middleware.CsrfMiddleware +--------------------------------------------- + +**New in Django development version** + +Adds protection against Cross Site Request Forgeries by adding hidden form +fields to POST forms and checking requests for the correct value. See the +`Cross Site Request Forgery protection documentation`_. + +.. _`Cross Site Request Forgery protection documentation`: ../csrf/ + django.middleware.transaction.TransactionMiddleware --------------------------------------------------- diff --git a/docs/shortcuts.txt b/docs/shortcuts.txt index f94babfecb..19eac4be6d 100644 --- a/docs/shortcuts.txt +++ b/docs/shortcuts.txt @@ -94,7 +94,7 @@ This example is equivalent to:: def my_view(request): try: - my_object = MyModel.object.get(pk=1) + my_object = MyModel.objects.get(pk=1) except MyModel.DoesNotExist: raise Http404 @@ -136,7 +136,7 @@ This example is equivalent to:: from django.http import Http404 def my_view(request): - my_objects = MyModels.object.filter(published=True) + my_objects = MyModel.objects.filter(published=True) if not my_objects: raise Http404 diff --git a/docs/sites.txt b/docs/sites.txt index 5896afcf41..9516b43995 100644 --- a/docs/sites.txt +++ b/docs/sites.txt @@ -97,7 +97,7 @@ Hooking into the current site from views ---------------------------------------- On a lower level, you can use the sites framework in your Django views to do -particular things based on what site in which the view is being called. +particular things based on the site in which the view is being called. For example:: from django.conf import settings @@ -330,13 +330,13 @@ Here's how Django uses the sites framework: retrieving flatpages to display. * In the `syndication framework`_, the templates for ``title`` and - ``description`` automatically have access to a variable ``{{{ site }}}``, + ``description`` automatically have access to a variable ``{{ site }}``, which is the ``Site`` object representing the current site. Also, the hook for providing item URLs will use the ``domain`` from the current ``Site`` object if you don't specify a fully-qualified domain. * In the `authentication framework`_, the ``django.contrib.auth.views.login`` - view passes the current ``Site`` name to the template as ``{{{ site_name }}}``. + view passes the current ``Site`` name to the template as ``{{ site_name }}``. * The shortcut view (``django.views.defaults.shortcut``) uses the domain of the current ``Site`` object when calculating an object's URL. diff --git a/docs/syndication_feeds.txt b/docs/syndication_feeds.txt index b3edf4c008..ebd6af26f8 100644 --- a/docs/syndication_feeds.txt +++ b/docs/syndication_feeds.txt @@ -201,7 +201,7 @@ the feed. An example makes this clear. Here's the code for these beat-specific feeds:: - from django.contrib.syndication import FeedDoesNotExist + from django.contrib.syndication.feeds import FeedDoesNotExist class BeatFeed(Feed): def get_object(self, bits): diff --git a/docs/templates.txt b/docs/templates.txt index ffda321512..c351c951c9 100644 --- a/docs/templates.txt +++ b/docs/templates.txt @@ -953,7 +953,7 @@ Available format strings: U Not implemented. w Day of the week, digits without ``'0'`` (Sunday) to ``'6'`` (Saturday) leading zeros. - W ISO-8601 week number of year, with ``1``, ``23`` + W ISO-8601 week number of year, with ``1``, ``53`` weeks starting on Monday. y Year, 2 digits. ``'99'`` Y Year, 4 digits. ``'1999'`` @@ -1230,7 +1230,7 @@ addslashes Adds slashes before quotes. Useful for escaping strings in CSV, for example. **New in Django development version**: for escaping data in JavaScript strings, -use the `escapejs` filter instead. +use the `escapejs`_ filter instead. capfirst ~~~~~~~~ @@ -1403,6 +1403,11 @@ join Joins a list with a string, like Python's ``str.join(list)``. +last +~~~~ + +Returns the last item in a list. + length ~~~~~~ diff --git a/docs/templates_python.txt b/docs/templates_python.txt index 014a853a41..f98cfa3249 100644 --- a/docs/templates_python.txt +++ b/docs/templates_python.txt @@ -823,11 +823,11 @@ Template filter code falls into one of two situations: can operate in templates where auto-escaping is either on or off in order to make things easier for your template authors. - In order for you filter to know the current auto-escaping state, set the - ``needs_autoescape`` attribute to ``True`` on your function. (If you + In order for your filter to know the current auto-escaping state, set + the ``needs_autoescape`` attribute to ``True`` on your function. (If you don't specify this attribute, it defaults to ``False``). This attribute tells Django that your filter function wants to be passed an extra - keyword argument, called ``autoescape``, that is ``True`` is + keyword argument, called ``autoescape``, that is ``True`` if auto-escaping is in effect and ``False`` otherwise. For example, let's write a filter that emphasizes the first character of diff --git a/tests/modeltests/m2o_recursive/models.py b/tests/modeltests/m2o_recursive/models.py index c38200a25b..f58f7fe0f5 100644 --- a/tests/modeltests/m2o_recursive/models.py +++ b/tests/modeltests/m2o_recursive/models.py @@ -14,7 +14,7 @@ from django.db import models class Category(models.Model): name = models.CharField(max_length=20) - parent = models.ForeignKey('self', null=True, related_name='child_set') + parent = models.ForeignKey('self', blank=True, null=True, related_name='child_set') def __unicode__(self): return self.name diff --git a/tests/modeltests/model_forms/models.py b/tests/modeltests/model_forms/models.py index 17c3b3551c..ff3f20e197 100644 --- a/tests/modeltests/model_forms/models.py +++ b/tests/modeltests/model_forms/models.py @@ -7,6 +7,9 @@ examples are probably a poor fit for the ModelForm syntax. In other words, most of these tests should be rewritten. """ +import os +import tempfile + from django.db import models ARTICLE_STATUS = ( @@ -55,6 +58,13 @@ class PhoneNumber(models.Model): def __unicode__(self): return self.phone +class TextFile(models.Model): + description = models.CharField(max_length=20) + file = models.FileField(upload_to=tempfile.gettempdir()) + + def __unicode__(self): + return self.description + __test__ = {'API_TESTS': """ >>> from django import newforms as forms >>> from django.newforms.models import ModelForm @@ -701,4 +711,75 @@ ValidationError: [u'Select a valid choice. 4 is not one of the available choices True >>> f.cleaned_data {'phone': u'312-555-1212', 'description': u'Assistance'} + +# FileField ################################################################### + +>>> class TextFileForm(ModelForm): +... class Meta: +... model = TextFile + +Test conditions when files is either not given or empty. + +>>> f = TextFileForm(data={'description': u'Assistance'}) +>>> f.is_valid() +False +>>> f = TextFileForm(data={'description': u'Assistance'}, files={}) +>>> f.is_valid() +False + +Upload a file and ensure it all works as expected. + +>>> f = TextFileForm(data={'description': u'Assistance'}, files={'file': {'filename': 'test1.txt', 'content': 'hello world'}}) +>>> f.is_valid() +True +>>> type(f.cleaned_data['file']) + +>>> instance = f.save() +>>> instance.file +u'.../test1.txt' + +Edit an instance that already has the file defined in the model. This will not +save the file again, but leave it exactly as it is. + +>>> f = TextFileForm(data={'description': u'Assistance'}, instance=instance) +>>> f.is_valid() +True +>>> f.cleaned_data['file'] +u'.../test1.txt' +>>> instance = f.save() +>>> instance.file +u'.../test1.txt' + +Delete the current file since this is not done by Django. + +>>> os.unlink(instance.get_file_filename()) + +Override the file by uploading a new one. + +>>> f = TextFileForm(data={'description': u'Assistance'}, files={'file': {'filename': 'test2.txt', 'content': 'hello world'}}, instance=instance) +>>> f.is_valid() +True +>>> instance = f.save() +>>> instance.file +u'.../test2.txt' + +>>> instance.delete() + +Test the non-required FileField + +>>> f = TextFileForm(data={'description': u'Assistance'}) +>>> f.fields['file'].required = False +>>> f.is_valid() +True +>>> instance = f.save() +>>> instance.file +'' + +>>> f = TextFileForm(data={'description': u'Assistance'}, files={'file': {'filename': 'test3.txt', 'content': 'hello world'}}, instance=instance) +>>> f.is_valid() +True +>>> instance = f.save() +>>> instance.file +u'.../test3.txt' +>>> instance.delete() """} diff --git a/tests/regressiontests/backends/models.py b/tests/regressiontests/backends/models.py index db16d2c198..a041ab6b12 100644 --- a/tests/regressiontests/backends/models.py +++ b/tests/regressiontests/backends/models.py @@ -8,6 +8,13 @@ class Square(models.Model): def __unicode__(self): return "%s ** 2 == %s" % (self.root, self.square) +class Person(models.Model): + first_name = models.CharField(max_length=20) + last_name = models.CharField(max_length=20) + + def __unicode__(self): + return u'%s %s' % (self.first_name, self.last_name) + if connection.features.uses_case_insensitive_names: t_convert = lambda x: x.upper() else: @@ -32,4 +39,25 @@ __test__ = {'API_TESTS': """ >>> Square.objects.count() 11 +#6254: fetchone, fetchmany, fetchall return strings as unicode objects +>>> Person(first_name="John", last_name="Doe").save() +>>> Person(first_name="Jane", last_name="Doe").save() +>>> Person(first_name="Mary", last_name="Agnelline").save() +>>> Person(first_name="Peter", last_name="Parker").save() +>>> Person(first_name="Clark", last_name="Kent").save() +>>> opts2 = Person._meta +>>> f3, f4 = opts2.get_field('first_name'), opts2.get_field('last_name') +>>> query2 = ('SELECT %s, %s FROM %s ORDER BY %s' +... % (qn(f3.column), qn(f4.column), t_convert(opts2.db_table), +... qn(f3.column))) +>>> cursor.execute(query2) and None or None +>>> cursor.fetchone() +(u'Clark', u'Kent') + +>>> list(cursor.fetchmany(2)) +[(u'Jane', u'Doe'), (u'John', u'Doe')] + +>>> list(cursor.fetchall()) +[(u'Mary', u'Agnelline'), (u'Peter', u'Parker')] + """} diff --git a/tests/regressiontests/forms/fields.py b/tests/regressiontests/forms/fields.py index cff5db6fca..9216210e09 100644 --- a/tests/regressiontests/forms/fields.py +++ b/tests/regressiontests/forms/fields.py @@ -749,32 +749,59 @@ Traceback (most recent call last): ... ValidationError: [u'This field is required.'] +>>> f.clean('', '') +Traceback (most recent call last): +... +ValidationError: [u'This field is required.'] + +>>> f.clean('', 'files/test1.pdf') +'files/test1.pdf' + >>> f.clean(None) Traceback (most recent call last): ... ValidationError: [u'This field is required.'] +>>> f.clean(None, '') +Traceback (most recent call last): +... +ValidationError: [u'This field is required.'] + +>>> f.clean(None, 'files/test2.pdf') +'files/test2.pdf' + >>> f.clean({}) Traceback (most recent call last): ... ValidationError: [u'No file was submitted.'] +>>> f.clean({}, '') +Traceback (most recent call last): +... +ValidationError: [u'No file was submitted.'] + +>>> f.clean({}, 'files/test3.pdf') +'files/test3.pdf' + >>> f.clean('some content that is not a file') Traceback (most recent call last): ... ValidationError: [u'No file was submitted. Check the encoding type on the form.'] ->>> f.clean({'filename': 'name', 'content':None}) +>>> f.clean({'filename': 'name', 'content': None}) Traceback (most recent call last): ... ValidationError: [u'The submitted file is empty.'] ->>> f.clean({'filename': 'name', 'content':''}) +>>> f.clean({'filename': 'name', 'content': ''}) Traceback (most recent call last): ... ValidationError: [u'The submitted file is empty.'] ->>> type(f.clean({'filename': 'name', 'content':'Some File Content'})) +>>> type(f.clean({'filename': 'name', 'content': 'Some File Content'})) + + +>>> type(f.clean({'filename': 'name', 'content': 'Some File Content'}, 'files/test4.pdf')) # URLField ################################################################## diff --git a/tests/regressiontests/forms/localflavor/ca.py b/tests/regressiontests/forms/localflavor/ca.py index a13a6de65f..48171b0558 100644 --- a/tests/regressiontests/forms/localflavor/ca.py +++ b/tests/regressiontests/forms/localflavor/ca.py @@ -213,13 +213,13 @@ u'046-454-286' >>> f.clean('046-454-287') Traceback (most recent call last): ... -ValidationError: [u'Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format.'] +ValidationError: [u'Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format.'] >>> f.clean('046 454 286') Traceback (most recent call last): ... -ValidationError: [u'Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format.'] +ValidationError: [u'Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format.'] >>> f.clean('046-44-286') Traceback (most recent call last): ... -ValidationError: [u'Enter a valid Canadian Social Insurance number in XXX-XXX-XXXX format.'] +ValidationError: [u'Enter a valid Canadian Social Insurance number in XXX-XXX-XXX format.'] """ diff --git a/tests/regressiontests/middleware/models.py b/tests/regressiontests/middleware/models.py new file mode 100644 index 0000000000..71abcc5198 --- /dev/null +++ b/tests/regressiontests/middleware/models.py @@ -0,0 +1 @@ +# models.py file for tests to run. diff --git a/tests/regressiontests/middleware/tests.py b/tests/regressiontests/middleware/tests.py index cb5c29abe1..5e7fd320d6 100644 --- a/tests/regressiontests/middleware/tests.py +++ b/tests/regressiontests/middleware/tests.py @@ -1,8 +1,6 @@ # -*- coding: utf-8 -*- -import unittest - -from django.test import TestCase +from django.test import TestCase from django.http import HttpRequest from django.middleware.common import CommonMiddleware from django.conf import settings @@ -19,7 +17,7 @@ class CommonMiddlewareTest(TestCase): def test_append_slash_have_slash(self): """ - tests that urls with slashes go unmolested + Tests that URLs with slashes go unmolested. """ settings.APPEND_SLASH = True request = self._get_request('slash/') @@ -27,7 +25,7 @@ class CommonMiddlewareTest(TestCase): def test_append_slash_slashless_resource(self): """ - tests that matches to explicit slashless urls go unmolested + Tests that matches to explicit slashless URLs go unmolested. """ settings.APPEND_SLASH = True request = self._get_request('noslash') @@ -35,7 +33,7 @@ class CommonMiddlewareTest(TestCase): def test_append_slash_slashless_unknown(self): """ - tests that APPEND_SLASH doesn't redirect to unknown resources + Tests that APPEND_SLASH doesn't redirect to unknown resources. """ settings.APPEND_SLASH = True request = self._get_request('unknown') @@ -43,7 +41,7 @@ class CommonMiddlewareTest(TestCase): def test_append_slash_redirect(self): """ - tests that APPEND_SLASH redirects slashless urls to a valid pattern + Tests that APPEND_SLASH redirects slashless URLs to a valid pattern. """ settings.APPEND_SLASH = True request = self._get_request('slash') @@ -53,9 +51,9 @@ class CommonMiddlewareTest(TestCase): def test_append_slash_no_redirect_on_POST_in_DEBUG(self): """ - tests that while in debug mode, an exception is raised with a warning - when a failed attempt is made to POST to an url which would normally be - redirected to a slashed version + Tests that while in debug mode, an exception is raised with a warning + when a failed attempt is made to POST to an URL which would normally be + redirected to a slashed version. """ settings.APPEND_SLASH = True settings.DEBUG = True @@ -68,11 +66,12 @@ class CommonMiddlewareTest(TestCase): try: CommonMiddleware().process_request(request) except RuntimeError, e: - self.assertTrue('end in a slash' in str(e)) + self.failUnless('end in a slash' in str(e)) + settings.DEBUG = False def test_append_slash_disabled(self): """ - tests disabling append slash functionality + Tests disabling append slash functionality. """ settings.APPEND_SLASH = False request = self._get_request('slash') @@ -80,8 +79,8 @@ class CommonMiddlewareTest(TestCase): def test_append_slash_quoted(self): """ - tests that urls which require quoting are redirected to their slash - version ok + Tests that URLs which require quoting are redirected to their slash + version ok. """ settings.APPEND_SLASH = True request = self._get_request('needsquoting#') @@ -90,4 +89,3 @@ class CommonMiddlewareTest(TestCase): self.assertEquals( r['Location'], 'http://testserver/middleware/needsquoting%23/') - diff --git a/tests/regressiontests/templates/filters.py b/tests/regressiontests/templates/filters.py index f38b2cdef1..fd73dc57ba 100644 --- a/tests/regressiontests/templates/filters.py +++ b/tests/regressiontests/templates/filters.py @@ -179,6 +179,9 @@ def get_filter_tests(): 'filter-first01': ('{{ a|first }} {{ b|first }}', {"a": ["a&b", "x"], "b": [mark_safe("a&b"), "x"]}, "a&b a&b"), 'filter-first02': ('{% autoescape off %}{{ a|first }} {{ b|first }}{% endautoescape %}', {"a": ["a&b", "x"], "b": [mark_safe("a&b"), "x"]}, "a&b a&b"), + 'filter-last01': ('{{ a|last }} {{ b|last }}', {"a": ["x", "a&b"], "b": ["x", mark_safe("a&b")]}, "a&b a&b"), + 'filter-last02': ('{% autoescape off %}{{ a|last }} {{ b|last }}{% endautoescape %}', {"a": ["x", "a&b"], "b": ["x", mark_safe("a&b")]}, "a&b a&b"), + 'filter-random01': ('{{ a|random }} {{ b|random }}', {"a": ["a&b", "a&b"], "b": [mark_safe("a&b"), mark_safe("a&b")]}, "a&b a&b"), 'filter-random02': ('{% autoescape off %}{{ a|random }} {{ b|random }}{% endautoescape %}', {"a": ["a&b", "a&b"], "b": [mark_safe("a&b"), mark_safe("a&b")]}, "a&b a&b"), diff --git a/tests/regressiontests/templates/tests.py b/tests/regressiontests/templates/tests.py index 846023afc9..9e9033f975 100644 --- a/tests/regressiontests/templates/tests.py +++ b/tests/regressiontests/templates/tests.py @@ -441,6 +441,8 @@ class Templates(unittest.TestCase): 'for-tag-vars02': ("{% for val in values %}{{ forloop.counter0 }}{% endfor %}", {"values": [6, 6, 6]}, "012"), 'for-tag-vars03': ("{% for val in values %}{{ forloop.revcounter }}{% endfor %}", {"values": [6, 6, 6]}, "321"), 'for-tag-vars04': ("{% for val in values %}{{ forloop.revcounter0 }}{% endfor %}", {"values": [6, 6, 6]}, "210"), + 'for-tag-vars05': ("{% for val in values %}{% if forloop.first %}f{% else %}x{% endif %}{% endfor %}", {"values": [6, 6, 6]}, "fxx"), + 'for-tag-vars06': ("{% for val in values %}{% if forloop.last %}l{% else %}x{% endif %}{% endfor %}", {"values": [6, 6, 6]}, "xxl"), 'for-tag-unpack01': ("{% for key,value in items %}{{ key }}:{{ value }}/{% endfor %}", {"items": (('one', 1), ('two', 2))}, "one:1/two:2/"), 'for-tag-unpack03': ("{% for key, value in items %}{{ key }}:{{ value }}/{% endfor %}", {"items": (('one', 1), ('two', 2))}, "one:1/two:2/"), 'for-tag-unpack04': ("{% for key , value in items %}{{ key }}:{{ value }}/{% endfor %}", {"items": (('one', 1), ('two', 2))}, "one:1/two:2/"),