Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Merged i18n branch into the trunk! Fixes #65, and perhaps some others…

…. NB: this means that the i18n branch is now obsolete and will be made read-only.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1068 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 5cf8f684237ab5addaf3549b2347c3adf107c0a7 1 parent cb45fd0
Jacob Kaplan-Moss authored November 04, 2005

Showing 60 changed files with 12,449 additions and 186 deletions. Show diff stats Hide diff stats

  1. 24  django/bin/compile-messages.py
  2. 9  django/bin/django-admin.py
  3. 89  django/bin/make-messages.py
  4. 19  django/conf/global_settings.py
  5. BIN  django/conf/locale/cs/LC_MESSAGES/django.mo
  6. 978  django/conf/locale/cs/LC_MESSAGES/django.po
  7. BIN  django/conf/locale/de/LC_MESSAGES/django.mo
  8. 984  django/conf/locale/de/LC_MESSAGES/django.po
  9. BIN  django/conf/locale/en/LC_MESSAGES/django.mo
  10. 927  django/conf/locale/en/LC_MESSAGES/django.po
  11. BIN  django/conf/locale/es/LC_MESSAGES/django.mo
  12. 959  django/conf/locale/es/LC_MESSAGES/django.po
  13. BIN  django/conf/locale/fr/LC_MESSAGES/django.mo
  14. 995  django/conf/locale/fr/LC_MESSAGES/django.po
  15. BIN  django/conf/locale/gl/LC_MESSAGES/django.mo
  16. 955  django/conf/locale/gl/LC_MESSAGES/django.po
  17. BIN  django/conf/locale/it/LC_MESSAGES/django.mo
  18. 981  django/conf/locale/it/LC_MESSAGES/django.po
  19. BIN  django/conf/locale/pt_BR/LC_MESSAGES/django.mo
  20. 981  django/conf/locale/pt_BR/LC_MESSAGES/django.po
  21. BIN  django/conf/locale/ru/LC_MESSAGES/django.mo
  22. 956  django/conf/locale/ru/LC_MESSAGES/django.po
  23. BIN  django/conf/locale/sr/LC_MESSAGES/django.mo
  24. 981  django/conf/locale/sr/LC_MESSAGES/django.po
  25. BIN  django/conf/locale/zh_CN/LC_MESSAGES/django.mo
  26. 951  django/conf/locale/zh_CN/LC_MESSAGES/django.po
  27. 7  django/conf/settings.py
  28. 5  django/conf/urls/i18n.py
  29. 14  django/contrib/admin/models/admin.py
  30. 7  django/contrib/admin/templates/admin/404.html
  31. 9  django/contrib/admin/templates/admin/500.html
  32. 7  django/contrib/admin/templates/admin/base.html
  33. 5  django/contrib/admin/templates/admin/base_site.html
  34. 7  django/contrib/admin/templates/admin/delete_confirmation.html
  35. 13  django/contrib/admin/templates/admin/index.html
  36. 9  django/contrib/admin/templates/admin/login.html
  37. 13  django/contrib/admin/templates/admin/object_history.html
  38. 7  django/contrib/admin/templates/registration/logged_out.html
  39. 9  django/contrib/admin/templates/registration/password_change_done.html
  40. 17  django/contrib/admin/templates/registration/password_change_form.html
  41. 9  django/contrib/admin/templates/registration/password_reset_done.html
  42. 15  django/contrib/admin/templates/registration/password_reset_email.html
  43. 11  django/contrib/admin/templates/registration/password_reset_form.html
  44. 6  django/core/extensions.py
  45. 19  django/core/meta/fields.py
  46. 150  django/core/template/__init__.py
  47. 3  django/core/template/defaulttags.py
  48. 125  django/core/validators.py
  49. 24  django/middleware/locale.py
  50. 45  django/models/auth.py
  51. 56  django/models/core.py
  52. 217  django/templatetags/i18n.py
  53. 16  django/utils/dates.py
  54. 61  django/utils/functional.py
  55. 2  django/utils/text.py
  56. 447  django/utils/translation.py
  57. 22  django/views/i18n.py
  58. 7  docs/settings.txt
  59. 438  docs/translation.txt
  60. 44  tests/othertests/templates.py
24  django/bin/compile-messages.py
... ...
@@ -0,0 +1,24 @@
  1
+#!/usr/bin/python
  2
+
  3
+import os
  4
+import sys
  5
+import getopt
  6
+
  7
+basedir = None
  8
+
  9
+if os.path.isdir(os.path.join('conf', 'locale')):
  10
+    basedir = os.path.abspath(os.path.join('conf', 'locale'))
  11
+elif os.path.isdir('locale'):
  12
+    basedir = os.path.abspath('locale')
  13
+else:
  14
+    print "this script should be run from the django svn tree or your project or app tree"
  15
+    sys.exit(1)
  16
+
  17
+for (dirpath, dirnames, filenames) in os.walk(basedir):
  18
+    for file in filenames:
  19
+        if file.endswith('.po'):
  20
+            sys.stderr.write('processing file %s in %s\n' % (file, dirpath))
  21
+            pf = os.path.splitext(os.path.join(dirpath, file))[0]
  22
+            cmd = 'msgfmt -o %s.mo %s.po' % (pf, pf)
  23
+            os.system(cmd)
  24
+
9  django/bin/django-admin.py
@@ -3,6 +3,14 @@
3 3
 from optparse import OptionParser
4 4
 import os, sys
5 5
 
  6
+# switch to english, because django-admin creates database content
  7
+# like permissions, and those shouldn't contain any translations
  8
+try:
  9
+    from django.utils import translation
  10
+    translation.activate('en-us')
  11
+except:
  12
+    pass
  13
+
6 14
 ACTION_MAPPING = {
7 15
     'adminindex': management.get_admin_index,
8 16
     'createsuperuser': management.createsuperuser,
@@ -129,3 +137,4 @@ def main():
129 137
 
130 138
 if __name__ == "__main__":
131 139
     main()
  140
+
89  django/bin/make-messages.py
... ...
@@ -0,0 +1,89 @@
  1
+#!/usr/bin/python
  2
+
  3
+import re
  4
+import os
  5
+import sys
  6
+import getopt
  7
+
  8
+from django.utils.translation import templateize
  9
+
  10
+localedir = None
  11
+
  12
+if os.path.isdir(os.path.join('conf', 'locale')):
  13
+    localedir = os.path.abspath(os.path.join('conf', 'locale'))
  14
+elif os.path.isdir('locale'):
  15
+    localedir = os.path.abspath('locale')
  16
+else:
  17
+    print "this script should be run from the django svn tree or your project or app tree"
  18
+    sys.exit(1)
  19
+
  20
+(opts, args) = getopt.getopt(sys.argv[1:], 'l:d:va')
  21
+
  22
+lang = None
  23
+domain = 'django'
  24
+verbose = False
  25
+all = False
  26
+
  27
+for o, v in opts:
  28
+    if o == '-l':
  29
+        lang = v
  30
+    elif o == '-d':
  31
+        domain = v
  32
+    elif o == '-v':
  33
+        verbose = True
  34
+    elif o == '-a':
  35
+        all = True
  36
+
  37
+if (lang is None and not all) or domain is None:
  38
+    print "usage: make-messages.py -l <language>"
  39
+    print "   or: make-messages.py -a"
  40
+    sys.exit(1)
  41
+
  42
+languages = []
  43
+
  44
+if lang is not None:
  45
+    languages.append(lang)
  46
+elif all:
  47
+    languages = [el for el in os.listdir(localedir) if not el.startswith('.')]
  48
+
  49
+for lang in languages:
  50
+
  51
+    print "processing language", lang
  52
+    basedir = os.path.join(localedir, lang, 'LC_MESSAGES')
  53
+    if not os.path.isdir(basedir):
  54
+        os.makedirs(basedir)
  55
+
  56
+    pofile = os.path.join(basedir, '%s.po' % domain)
  57
+    potfile = os.path.join(basedir, '%s.pot' % domain)
  58
+
  59
+    if os.path.exists(potfile):
  60
+        os.unlink(potfile)
  61
+
  62
+    for (dirpath, dirnames, filenames) in os.walk("."):
  63
+        for file in filenames:
  64
+            if file.endswith('.py') or file.endswith('.html'):
  65
+                thefile = file
  66
+                if file.endswith('.html'):
  67
+                    src = open(os.path.join(dirpath, file), "rb").read()
  68
+                    open(os.path.join(dirpath, '%s.py' % file), "wb").write(templateize(src))
  69
+                    thefile = '%s.py' % file
  70
+                if verbose: sys.stdout.write('processing file %s in %s\n' % (file, dirpath))
  71
+                cmd = 'xgettext %s -d %s -L Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy -o - "%s"' % (
  72
+                    os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile))
  73
+                msgs = os.popen(cmd, 'r').read()
  74
+                if thefile != file:
  75
+                    old = '#: '+os.path.join(dirpath, thefile)[2:]
  76
+                    new = '#: '+os.path.join(dirpath, file)[2:]
  77
+                    msgs = msgs.replace(old, new)
  78
+                if msgs:
  79
+                    open(potfile, 'ab').write(msgs)
  80
+                if thefile != file:
  81
+                    os.unlink(os.path.join(dirpath, thefile))
  82
+
  83
+    msgs = os.popen('msguniq %s' % potfile, 'r').read()
  84
+    open(potfile, 'w').write(msgs)
  85
+    if os.path.exists(pofile):
  86
+        msgs = os.popen('msgmerge %s %s' % (pofile, potfile), 'r').read()
  87
+    open(pofile, 'wb').write(msgs)
  88
+    os.unlink(potfile)
  89
+
19  django/conf/global_settings.py
... ...
@@ -1,6 +1,8 @@
1 1
 # Default Django settings. Override these with settings in the module
2 2
 # pointed-to by the DJANGO_SETTINGS_MODULE environment variable.
3 3
 
  4
+from django.utils.translation import gettext_lazy as _
  5
+
4 6
 ####################
5 7
 # CORE             #
6 8
 ####################
@@ -28,6 +30,23 @@
28 30
 # http://blogs.law.harvard.edu/tech/stories/storyReader$15
29 31
 LANGUAGE_CODE = 'en-us'
30 32
 
  33
+# Languages we provide translations for out of the base. The
  34
+# language name should be the utf-8 encoded local name for the
  35
+# language.
  36
+LANGUAGES = (
  37
+    ('cs', _('Czech')),
  38
+    ('de', _('German')),
  39
+    ('en', _('English')),
  40
+    ('es', _('Spanish')),
  41
+    ('fr', _('French')),
  42
+    ('gl', _('Galician')),
  43
+    ('it', _('Italian')),
  44
+    ('pt-br', _('Brazilian')),
  45
+    ('ru', _('Russian')),
  46
+    ('sr', _('Serbian')),
  47
+    ('zh-cn', _('Traditional Chinese')),
  48
+)
  49
+
31 50
 # Not-necessarily-technical managers of the site. They get broken link
32 51
 # notifications and other various e-mails.
33 52
 MANAGERS = ADMINS
BIN  django/conf/locale/cs/LC_MESSAGES/django.mo
Binary file not shown
978  django/conf/locale/cs/LC_MESSAGES/django.po
... ...
@@ -0,0 +1,978 @@
  1
+# Translation of django.po to Czech
  2
+# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER
  3
+# This file is distributed under the same license as the DJANGO package.
  4
+# Radek Svarz <translate@svarz.cz>, 2005.
  5
+#
  6
+msgid ""
  7
+msgstr ""
  8
+"Project-Id-Version: django\n"
  9
+"Report-Msgid-Bugs-To: \n"
  10
+"POT-Creation-Date: 2005-11-03 12:26+0100\n"
  11
+"PO-Revision-Date: 2005-10-31 19:42+0100\n"
  12
+"Last-Translator: Radek Svarz <translate@svarz.cz>\n"
  13
+"Language-Team: Czech\n"
  14
+"MIME-Version: 1.0\n"
  15
+"Content-Type: text/plain; charset=utf-8\n"
  16
+"Content-Transfer-Encoding: 8bit\n"
  17
+
  18
+#: contrib/admin/templates/admin/object_history.html:5
  19
+#: contrib/admin/templates/admin/500.html:4
  20
+#: contrib/admin/templates/admin/base.html:29
  21
+#: contrib/admin/templates/registration/password_change_done.html:4
  22
+#: contrib/admin/templates/registration/password_reset_form.html:4
  23
+#: contrib/admin/templates/registration/logged_out.html:4
  24
+#: contrib/admin/templates/registration/password_reset_done.html:4
  25
+#: contrib/admin/templates/registration/password_change_form.html:4
  26
+msgid "Home"
  27
+msgstr "Domů"
  28
+
  29
+#: contrib/admin/templates/admin/object_history.html:5
  30
+msgid "History"
  31
+msgstr "Historie"
  32
+
  33
+#: contrib/admin/templates/admin/object_history.html:18
  34
+msgid "Date/time"
  35
+msgstr "Datum/čas"
  36
+
  37
+#: contrib/admin/templates/admin/object_history.html:19 models/auth.py:47
  38
+msgid "User"
  39
+msgstr "Uživatel"
  40
+
  41
+#: contrib/admin/templates/admin/object_history.html:20
  42
+msgid "Action"
  43
+msgstr "Akce"
  44
+
  45
+#: contrib/admin/templates/admin/object_history.html:26
  46
+msgid "DATE_WITH_TIME_FULL"
  47
+msgstr "Plné datum s časem"
  48
+
  49
+#: contrib/admin/templates/admin/object_history.html:36
  50
+msgid ""
  51
+"This object doesn't have a change history. It probably wasn't added via this "
  52
+"admin site."
  53
+msgstr ""
  54
+"Tento objekt nemá historii změn. Pravděpodobně nebyl přidán přes "
  55
+"administrátorské rozhraní."
  56
+
  57
+#: contrib/admin/templates/admin/base_site.html:4
  58
+msgid "Django site admin"
  59
+msgstr "Django správa webu"
  60
+
  61
+#: contrib/admin/templates/admin/base_site.html:7
  62
+msgid "Django administration"
  63
+msgstr "Django správa"
  64
+
  65
+#: contrib/admin/templates/admin/500.html:4
  66
+#, fuzzy
  67
+msgid "Server error"
  68
+msgstr "Chyba serveru (500)"
  69
+
  70
+#: contrib/admin/templates/admin/500.html:6
  71
+msgid "Server error (500)"
  72
+msgstr "Chyba serveru (500)"
  73
+
  74
+#: contrib/admin/templates/admin/500.html:9
  75
+msgid "Server Error <em>(500)</em>"
  76
+msgstr "Chyba serveru <em>(500)</em>"
  77
+
  78
+#: contrib/admin/templates/admin/500.html:10
  79
+msgid ""
  80
+"There's been an error. It's been reported to the site administrators via e-"
  81
+"mail and should be fixed shortly. Thanks for your patience."
  82
+msgstr ""
  83
+"Nastala chyba. Ta byla oznámena administrátorovi serveru pomocí e-mailu a "
  84
+"měla by být brzy odstraněna. Děkujeme za trpělivost."
  85
+
  86
+#: contrib/admin/templates/admin/404.html:4
  87
+#: contrib/admin/templates/admin/404.html:8
  88
+msgid "Page not found"
  89
+msgstr "Stránka nenalezena"
  90
+
  91
+#: contrib/admin/templates/admin/404.html:10
  92
+msgid "We're sorry, but the requested page could not be found."
  93
+msgstr "Je nám líto, ale vyžádaná stránka nebyla nalezena."
  94
+
  95
+#: contrib/admin/templates/admin/index.html:27
  96
+msgid "Add"
  97
+msgstr "Přidat"
  98
+
  99
+#: contrib/admin/templates/admin/index.html:33
  100
+msgid "Change"
  101
+msgstr "Změnit"
  102
+
  103
+#: contrib/admin/templates/admin/index.html:43
  104
+msgid "You don't have permission to edit anything."
  105
+msgstr "Nemáte oprávnění nic měnit."
  106
+
  107
+#: contrib/admin/templates/admin/index.html:51
  108
+msgid "Recent Actions"
  109
+msgstr "Poslední akce"
  110
+
  111
+#: contrib/admin/templates/admin/index.html:52
  112
+msgid "My Actions"
  113
+msgstr "Mé akce"
  114
+
  115
+#: contrib/admin/templates/admin/index.html:56
  116
+msgid "None available"
  117
+msgstr "Nic"
  118
+
  119
+#: contrib/admin/templates/admin/login.html:15
  120
+msgid "Username:"
  121
+msgstr "Uživatelské jméno:"
  122
+
  123
+#: contrib/admin/templates/admin/login.html:18
  124
+msgid "Password:"
  125
+msgstr "Heslo:"
  126
+
  127
+#: contrib/admin/templates/admin/login.html:20
  128
+msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?"
  129
+msgstr "<a href=\"/password_reset/\">Zapomněl(a) jste své heslo?</a>"
  130
+
  131
+#: contrib/admin/templates/admin/login.html:24
  132
+msgid "Log in"
  133
+msgstr "Přihlášení"
  134
+
  135
+#: contrib/admin/templates/admin/base.html:23
  136
+msgid "Welcome,"
  137
+msgstr "Vítejte,"
  138
+
  139
+#: contrib/admin/templates/admin/base.html:23
  140
+msgid "Change password"
  141
+msgstr "Změnit heslo"
  142
+
  143
+#: contrib/admin/templates/admin/base.html:23
  144
+msgid "Log out"
  145
+msgstr "Odhlásit se"
  146
+
  147
+#: contrib/admin/templates/admin/delete_confirmation.html:7
  148
+#, fuzzy, python-format
  149
+msgid ""
  150
+"Deleting the %(object_name)s '%(object)s' would result in deleting related "
  151
+"objects, but your account doesn't have permission to delete the following "
  152
+"types of objects:"
  153
+msgstr ""
  154
+"Mazání %(object_name)s  '%(object)s' by vyústilo v mazání souvisejících "
  155
+"objektů, ale Váš účet nemá oprávnění pro mazání následujících typů objektů:"
  156
+
  157
+#: contrib/admin/templates/admin/delete_confirmation.html:14
  158
+#, python-format
  159
+msgid ""
  160
+"Are you sure you want to delete the %(object_name)s \"%(object)s\"? All of "
  161
+"the following related items will be deleted:"
  162
+msgstr ""
  163
+"Jste si jist(á), že chcete smazat %(object_name)s \"%(object)s\"? Všechny "
  164
+"následující související položky budou smazány:"
  165
+
  166
+#: contrib/admin/templates/admin/delete_confirmation.html:18
  167
+msgid "Yes, I'm sure"
  168
+msgstr "Ano, jsem si jist"
  169
+
  170
+#: contrib/admin/templates/registration/password_change_done.html:4
  171
+#: contrib/admin/templates/registration/password_change_form.html:4
  172
+#: contrib/admin/templates/registration/password_change_form.html:6
  173
+#: contrib/admin/templates/registration/password_change_form.html:10
  174
+msgid "Password change"
  175
+msgstr "Změna hesla"
  176
+
  177
+#: contrib/admin/templates/registration/password_change_done.html:6
  178
+#: contrib/admin/templates/registration/password_change_done.html:10
  179
+msgid "Password change successful"
  180
+msgstr "Změna hesla byla úspěšná"
  181
+
  182
+#: contrib/admin/templates/registration/password_change_done.html:12
  183
+msgid "Your password was changed."
  184
+msgstr "Vaše heslo bylo změněno."
  185
+
  186
+#: contrib/admin/templates/registration/password_reset_form.html:4
  187
+#: contrib/admin/templates/registration/password_reset_form.html:6
  188
+#: contrib/admin/templates/registration/password_reset_done.html:4
  189
+msgid "Password reset"
  190
+msgstr "Obnovení hesla"
  191
+
  192
+#: contrib/admin/templates/registration/password_reset_form.html:12
  193
+msgid ""
  194
+"Forgotten your password? Enter your e-mail address below, and we'll reset "
  195
+"your password and e-mail the new one to you."
  196
+msgstr ""
  197
+"Zapomněl(a) jste heslo? Vložte níže Vaši e-mailovou adresu a my Vaše heslo "
  198
+"obnovíme a zašleme Vám e-mailem nové."
  199
+
  200
+#: contrib/admin/templates/registration/password_reset_form.html:16
  201
+msgid "E-mail address:"
  202
+msgstr "E-mailová adresa:"
  203
+
  204
+#: contrib/admin/templates/registration/password_reset_form.html:16
  205
+msgid "Reset my password"
  206
+msgstr "Obnovit mé heslo"
  207
+
  208
+#: contrib/admin/templates/registration/logged_out.html:8
  209
+msgid "Thanks for spending some quality time with the Web site today."
  210
+msgstr "Děkujeme Vám za Váš strávený čas na našich webových stránkách."
  211
+
  212
+#: contrib/admin/templates/registration/logged_out.html:10
  213
+msgid "Log in again"
  214
+msgstr "Přihlašte se znova"
  215
+
  216
+#: contrib/admin/templates/registration/password_reset_done.html:6
  217
+#: contrib/admin/templates/registration/password_reset_done.html:10
  218
+msgid "Password reset successful"
  219
+msgstr "Obnovení hesla bylo úspěšné"
  220
+
  221
+#: contrib/admin/templates/registration/password_reset_done.html:12
  222
+msgid ""
  223
+"We've e-mailed a new password to the e-mail address you submitted. You "
  224
+"should be receiving it shortly."
  225
+msgstr ""
  226
+"Poslali jsme Vám e-mailem nové heslo na adresu, kterou jste zadal(a). Měl(a) "
  227
+"byste ji dostat během okamžiku."
  228
+
  229
+#: contrib/admin/templates/registration/password_change_form.html:12
  230
+msgid ""
  231
+"Please enter your old password, for security's sake, and then enter your new "
  232
+"password twice so we can verify you typed it in correctly."
  233
+msgstr ""
  234
+"Prosíme, pro zabezpečení vložte svoje staré heslo a poté vložte dvakrát nové "
  235
+"heslo, takže můžeme ověřit, že jste ho napsal(a) správně."
  236
+
  237
+#: contrib/admin/templates/registration/password_change_form.html:17
  238
+msgid "Old password:"
  239
+msgstr "Staré heslo:"
  240
+
  241
+#: contrib/admin/templates/registration/password_change_form.html:19
  242
+msgid "New password:"
  243
+msgstr "Nové heslo:"
  244
+
  245
+#: contrib/admin/templates/registration/password_change_form.html:21
  246
+msgid "Confirm password:"
  247
+msgstr "Potvrdit heslo:"
  248
+
  249
+#: contrib/admin/templates/registration/password_change_form.html:23
  250
+msgid "Change my password"
  251
+msgstr "Změnit mé heslo:"
  252
+
  253
+#: contrib/admin/templates/registration/password_reset_email.html:2
  254
+msgid "You're receiving this e-mail because you requested a password reset"
  255
+msgstr "Dostal(a) jste tento e-mail, protože jste požádal(a) o obnovení hesla"
  256
+
  257
+#: contrib/admin/templates/registration/password_reset_email.html:3
  258
+#, python-format
  259
+msgid "for your user account at %(site_name)s"
  260
+msgstr "pro Váš uživatelský účet na %(site_name)s"
  261
+
  262
+#: contrib/admin/templates/registration/password_reset_email.html:5
  263
+#, python-format
  264
+msgid "Your new password is: %(new_password)s"
  265
+msgstr "Vaše nové heslo je: %(new_password)s"
  266
+
  267
+#: contrib/admin/templates/registration/password_reset_email.html:7
  268
+msgid "Feel free to change this password by going to this page:"
  269
+msgstr "Můžete změnit toto heslo na následující stránce: "
  270
+
  271
+#: contrib/admin/templates/registration/password_reset_email.html:11
  272
+msgid "Your username, in case you've forgotten:"
  273
+msgstr "Vaše uživatelské jméno, pro případ, že jste zapomněl(a):"
  274
+
  275
+#: contrib/admin/templates/registration/password_reset_email.html:13
  276
+msgid "Thanks for using our site!"
  277
+msgstr "Děkujeme za používání našeho webu!"
  278
+
  279
+#: contrib/admin/templates/registration/password_reset_email.html:15
  280
+#, python-format
  281
+msgid "The %(site_name)s team"
  282
+msgstr "Tým %(site_name)s"
  283
+
  284
+#: contrib/admin/models/admin.py:6
  285
+msgid "action time"
  286
+msgstr "čas akce"
  287
+
  288
+#: contrib/admin/models/admin.py:9
  289
+msgid "object id"
  290
+msgstr "object id"
  291
+
  292
+#: contrib/admin/models/admin.py:10
  293
+msgid "object repr"
  294
+msgstr "object repr"
  295
+
  296
+#: contrib/admin/models/admin.py:11
  297
+msgid "action flag"
  298
+msgstr "příznak akce"
  299
+
  300
+#: contrib/admin/models/admin.py:12
  301
+msgid "change message"
  302
+msgstr "zpráva změny"
  303
+
  304
+#: contrib/admin/models/admin.py:15
  305
+msgid "log entry"
  306
+msgstr "log záznam"
  307
+
  308
+#: contrib/admin/models/admin.py:16
  309
+msgid "log entries"
  310
+msgstr "log záznamy"
  311
+
  312
+#: utils/dates.py:6
  313
+msgid "Monday"
  314
+msgstr "Pondělí"
  315
+
  316
+#: utils/dates.py:6
  317
+msgid "Tuesday"
  318
+msgstr "Úterý"
  319
+
  320
+#: utils/dates.py:6
  321
+msgid "Wednesday"
  322
+msgstr "Středa"
  323
+
  324
+#: utils/dates.py:6
  325
+msgid "Thursday"
  326
+msgstr "Čtvrtek"
  327
+
  328
+#: utils/dates.py:6
  329
+msgid "Friday"
  330
+msgstr "Pátek"
  331
+
  332
+#: utils/dates.py:7
  333
+msgid "Saturday"
  334
+msgstr "Sobota"
  335
+
  336
+#: utils/dates.py:7
  337
+msgid "Sunday"
  338
+msgstr "Neděle"
  339
+
  340
+#: utils/dates.py:14
  341
+msgid "January"
  342
+msgstr "Leden"
  343
+
  344
+#: utils/dates.py:14
  345
+msgid "February"
  346
+msgstr "Únor"
  347
+
  348
+#: utils/dates.py:14 utils/dates.py:27
  349
+msgid "March"
  350
+msgstr "Březen"
  351
+
  352
+#: utils/dates.py:14 utils/dates.py:27
  353
+msgid "April"
  354
+msgstr "Duben"
  355
+
  356
+#: utils/dates.py:14 utils/dates.py:27
  357
+msgid "May"
  358
+msgstr "Květen"
  359
+
  360
+#: utils/dates.py:14 utils/dates.py:27
  361
+msgid "June"
  362
+msgstr "Červen"
  363
+
  364
+#: utils/dates.py:15 utils/dates.py:27
  365
+msgid "July"
  366
+msgstr "Červenec"
  367
+
  368
+#: utils/dates.py:15
  369
+msgid "August"
  370
+msgstr "Srpen"
  371
+
  372
+#: utils/dates.py:15
  373
+msgid "September"
  374
+msgstr "Září"
  375
+
  376
+#: utils/dates.py:15
  377
+msgid "October"
  378
+msgstr "Říjen"
  379
+
  380
+#: utils/dates.py:15
  381
+msgid "November"
  382
+msgstr "Listopad"
  383
+
  384
+#: utils/dates.py:16
  385
+msgid "December"
  386
+msgstr "Prosinec"
  387
+
  388
+#: utils/dates.py:27
  389
+msgid "Jan."
  390
+msgstr "Led."
  391
+
  392
+#: utils/dates.py:27
  393
+msgid "Feb."
  394
+msgstr "Ún."
  395
+
  396
+#: utils/dates.py:28
  397
+msgid "Aug."
  398
+msgstr "Srp."
  399
+
  400
+#: utils/dates.py:28
  401
+msgid "Sept."
  402
+msgstr "Zář."
  403
+
  404
+#: utils/dates.py:28
  405
+msgid "Oct."
  406
+msgstr "Říj."
  407
+
  408
+#: utils/dates.py:28
  409
+msgid "Nov."
  410
+msgstr "List."
  411
+
  412
+#: utils/dates.py:28
  413
+msgid "Dec."
  414
+msgstr "Pros."
  415
+
  416
+#: models/core.py:5
  417
+msgid "domain name"
  418
+msgstr "jméno domény"
  419
+
  420
+#: models/core.py:6
  421
+msgid "display name"
  422
+msgstr "zobrazené jméno"
  423
+
  424
+#: models/core.py:8
  425
+msgid "site"
  426
+msgstr "web"
  427
+
  428
+#: models/core.py:9
  429
+msgid "sites"
  430
+msgstr "weby"
  431
+
  432
+#: models/core.py:22
  433
+msgid "label"
  434
+msgstr "nadpis"
  435
+
  436
+#: models/core.py:23 models/core.py:34 models/auth.py:6 models/auth.py:19
  437
+msgid "name"
  438
+msgstr "jméno"
  439
+
  440
+#: models/core.py:25
  441
+msgid "package"
  442
+msgstr "balík"
  443
+
  444
+#: models/core.py:26
  445
+msgid "packages"
  446
+msgstr "balíky"
  447
+
  448
+#: models/core.py:36
  449
+msgid "python module name"
  450
+msgstr "jméno modulu Pythonu"
  451
+
  452
+#: models/core.py:38
  453
+msgid "content type"
  454
+msgstr "typ obsahu"
  455
+
  456
+#: models/core.py:39
  457
+msgid "content types"
  458
+msgstr "typy obsahu"
  459
+
  460
+#: models/core.py:62
  461
+msgid "redirect from"
  462
+msgstr "přesměrovat z"
  463
+
  464
+#: models/core.py:63
  465
+msgid ""
  466
+"This should be an absolute path, excluding the domain name. Example: '/"
  467
+"events/search/'."
  468
+msgstr ""
  469
+"Toto by měla být absolutní cesta, bez domény. Např.  '/udalosti/hledat/'."
  470
+
  471
+#: models/core.py:64
  472
+msgid "redirect to"
  473
+msgstr "přesměrovat na"
  474
+
  475
+#: models/core.py:65
  476
+msgid ""
  477
+"This can be either an absolute path (as above) or a full URL starting with "
  478
+"'http://'."
  479
+msgstr ""
  480
+"Toto může být buď absolutní cesta (jako nahoře) nebo plné URL začínající na "
  481
+"'http://'."
  482
+
  483
+#: models/core.py:67
  484
+msgid "redirect"
  485
+msgstr "přesměrovat"
  486
+
  487
+#: models/core.py:68
  488
+msgid "redirects"
  489
+msgstr "přesměrování"
  490
+
  491
+#: models/core.py:81
  492
+msgid "URL"
  493
+msgstr "URL"
  494
+
  495
+#: models/core.py:82
  496
+msgid ""
  497
+"Example: '/about/contact/'. Make sure to have leading and trailing slashes."
  498
+msgstr ""
  499
+"Příklad: '/o/kontakt/'. Ujistěte se, že máte počáteční a konečná lomítka."
  500
+
  501
+#: models/core.py:83
  502
+msgid "title"
  503
+msgstr "titulek"
  504
+
  505
+#: models/core.py:84
  506
+msgid "content"
  507
+msgstr "obsah"
  508
+
  509
+#: models/core.py:85
  510
+msgid "enable comments"
  511
+msgstr "povolit komentáře"
  512
+
  513
+#: models/core.py:86
  514
+msgid "template name"
  515
+msgstr "jméno šablony"
  516
+
  517
+#: models/core.py:87
  518
+msgid ""
  519
+"Example: 'flatfiles/contact_page'. If this isn't provided, the system will "
  520
+"use 'flatfiles/default'."
  521
+msgstr ""
  522
+"Například: 'flatfiles/kontaktni_stranka'. Pokud toto není zadáno, systém "
  523
+"použije 'flatfiles/default'."
  524
+
  525
+#: models/core.py:88
  526
+msgid "registration required"
  527
+msgstr "nutná registrace"
  528
+
  529
+#: models/core.py:88
  530
+msgid "If this is checked, only logged-in users will be able to view the page."
  531
+msgstr ""
  532
+"Pokud je zaškrtnuto, pouze přihlášení uživatelé budou moci prohlížet tuto "
  533
+"stránku."
  534
+
  535
+#: models/core.py:92
  536
+#, fuzzy
  537
+msgid "flat page"
  538
+msgstr "plochá strana"
  539
+
  540
+#: models/core.py:93
  541
+#, fuzzy
  542
+msgid "flat pages"
  543
+msgstr "ploché stránky"
  544
+
  545
+#: models/core.py:114
  546
+msgid "session key"
  547
+msgstr "klíč sezení"
  548
+
  549
+#: models/core.py:115
  550
+msgid "session data"
  551
+msgstr "data sezení"
  552
+
  553
+#: models/core.py:116
  554
+msgid "expire date"
  555
+msgstr "datum expirace"
  556
+
  557
+#: models/core.py:118
  558
+msgid "session"
  559
+msgstr "sezení"
  560
+
  561
+#: models/core.py:119
  562
+msgid "sessions"
  563
+msgstr "sezení"
  564
+
  565
+#: models/auth.py:8
  566
+msgid "codename"
  567
+msgstr "codename"
  568
+
  569
+#: models/auth.py:10
  570
+msgid "Permission"
  571
+msgstr "Oprávnění"
  572
+
  573
+#: models/auth.py:11 models/auth.py:58
  574
+msgid "Permissions"
  575
+msgstr "Oprávnění"
  576
+
  577
+#: models/auth.py:22
  578
+msgid "Group"
  579
+msgstr "Skupina"
  580
+
  581
+#: models/auth.py:23 models/auth.py:60
  582
+msgid "Groups"
  583
+msgstr "Skupiny"
  584
+
  585
+#: models/auth.py:33
  586
+msgid "username"
  587
+msgstr "uživatelské jméno"
  588
+
  589
+#: models/auth.py:34
  590
+msgid "first name"
  591
+msgstr "křestní jméno"
  592
+
  593
+#: models/auth.py:35
  594
+msgid "last name"
  595
+msgstr "příjmení"
  596
+
  597
+#: models/auth.py:36
  598
+msgid "e-mail address"
  599
+msgstr "e-mailová adresa"
  600
+
  601
+#: models/auth.py:37
  602
+msgid "password"
  603
+msgstr "heslo"
  604
+
  605
+#: models/auth.py:37
  606
+msgid "Use an MD5 hash -- not the raw password."
  607
+msgstr "Použije se MD5 hash -- ne čisté heslo."
  608
+
  609
+#: models/auth.py:38
  610
+#, fuzzy
  611
+msgid "staff status"
  612
+msgstr "stav pracovníků"
  613
+
  614
+#: models/auth.py:38
  615
+msgid "Designates whether the user can log into this admin site."
  616
+msgstr "Rozhodne, zda se může uživatel přihlásit do správy webu."
  617
+
  618
+#: models/auth.py:39
  619
+msgid "active"
  620
+msgstr "aktivní"
  621
+
  622
+#: models/auth.py:40
  623
+msgid "superuser status"
  624
+msgstr "stav superuživatel"
  625
+
  626
+#: models/auth.py:41
  627
+msgid "last login"
  628
+msgstr "poslední přihlášení"
  629
+
  630
+#: models/auth.py:42
  631
+msgid "date joined"
  632
+msgstr "datum zaregistrování"
  633
+
  634
+#: models/auth.py:44
  635
+msgid ""
  636
+"In addition to the permissions manually assigned, this user will also get "
  637
+"all permissions granted to each group he/she is in."
  638
+msgstr ""
  639
+"Kromě manuálně přidělených oprávnění uživatel dostane všechna oprávnění pro "
  640
+"každou skupinu, ve které je."
  641
+
  642
+#: models/auth.py:48
  643
+msgid "Users"
  644
+msgstr "Uživatelé"
  645
+
  646
+#: models/auth.py:57
  647
+msgid "Personal info"
  648
+msgstr "Osobní informace"
  649
+
  650
+#: models/auth.py:59
  651
+msgid "Important dates"
  652
+msgstr "Důležitá data"
  653
+
  654
+#: models/auth.py:182
  655
+msgid "Message"
  656
+msgstr "Zpráva"
  657
+
  658
+#: conf/global_settings.py:37
  659
+msgid "Czech"
  660
+msgstr "Česky"
  661
+
  662
+#: conf/global_settings.py:38
  663
+msgid "German"
  664
+msgstr "Německy"
  665
+
  666
+#: conf/global_settings.py:39
  667
+msgid "English"
  668
+msgstr "Anglicky"
  669
+
  670
+#: conf/global_settings.py:40
  671
+msgid "Spanish"
  672
+msgstr "Španělsky"
  673
+
  674
+#: conf/global_settings.py:41
  675
+msgid "French"
  676
+msgstr "Francouzsky"
  677
+
  678
+#: conf/global_settings.py:42
  679
+#, fuzzy
  680
+msgid "Galician"
  681
+msgstr "Galicijský"
  682
+
  683
+#: conf/global_settings.py:43
  684
+msgid "Italian"
  685
+msgstr "Italsky"
  686
+
  687
+#: conf/global_settings.py:44
  688
+msgid "Brazilian"
  689
+msgstr "Brazilsky"
  690
+
  691
+#: conf/global_settings.py:45
  692
+msgid "Russian"
  693
+msgstr "Rusky"
  694
+
  695
+#: conf/global_settings.py:46
  696
+#, fuzzy
  697
+msgid "Serbian"
  698
+msgstr "Srbsky"
  699
+
  700
+#: conf/global_settings.py:47
  701
+msgid "Traditional Chinese"
  702
+msgstr ""
  703
+
  704
+#: core/validators.py:58
  705
+msgid "This value must contain only letters, numbers and underscores."
  706
+msgstr "Tato hodnota musí obsahovat pouze znaky, čísla nebo podtržítka."
  707
+
  708
+#: core/validators.py:62
  709
+msgid "This value must contain only letters, numbers, underscores and slashes."
  710
+msgstr ""
  711
+"Tato hodnota musí obsahovat pouze znaky, čísla, podtržítka nebo lomítka."
  712
+
  713
+#: core/validators.py:70
  714
+msgid "Uppercase letters are not allowed here."
  715
+msgstr "Velká písmena zde nejsou povolená."
  716
+
  717
+#: core/validators.py:74
  718
+msgid "Lowercase letters are not allowed here."
  719
+msgstr "Malá písmena zde nejsou povolená."
  720
+
  721
+#: core/validators.py:81
  722
+msgid "Enter only digits separated by commas."
  723
+msgstr "Vložte pouze cifry oddělené čárkami."
  724
+
  725
+#: core/validators.py:93
  726
+msgid "Enter valid e-mail addresses separated by commas."
  727
+msgstr "Vložte platné e-mailové adresy oddělené čárkami."
  728
+
  729
+#: core/validators.py:100
  730
+msgid "Please enter a valid IP address."
  731
+msgstr "Prosíme, zadejte platnou IP adresu."
  732
+
  733
+#: core/validators.py:104
  734
+msgid "Empty values are not allowed here."
  735
+msgstr "Zde nejsou povolené prázdné hodnoty."
  736
+
  737
+#: core/validators.py:108
  738
+msgid "Non-numeric characters aren't allowed here."
  739
+msgstr "Znaky, které nejsou čísla, nejsou zde povoleny."
  740
+
  741
+#: core/validators.py:112
  742
+msgid "This value can't be comprised solely of digits."
  743
+msgstr "Tato hodnota nemůže být složená pouze z cifer."
  744
+
  745
+#: core/validators.py:117
  746
+msgid "Enter a whole number."
  747
+msgstr "Vložte celé číslo."
  748
+
  749
+#: core/validators.py:121
  750
+msgid "Only alphabetical characters are allowed here."
  751
+msgstr "Zde jsou povoleny pouze alfanumerické znaky."
  752
+
  753
+#: core/validators.py:125
  754
+msgid "Enter a valid date in YYYY-MM-DD format."
  755
+msgstr "Vložte platné datum ve formátu RRRR-MM-DD."
  756
+
  757
+#: core/validators.py:129
  758
+msgid "Enter a valid time in HH:MM format."
  759
+msgstr "Vložte platný čas ve formátu HH:MM."
  760
+
  761
+#: core/validators.py:133
  762
+msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
  763
+msgstr "Vložte platné datum a čas ve formátu RRRR-MM-DD HH:MM."
  764
+
  765
+#: core/validators.py:137
  766
+msgid "Enter a valid e-mail address."
  767
+msgstr "Vložte platnou e-mailovou adresu."
  768
+
  769
+#: core/validators.py:149
  770
+msgid ""
  771
+"Upload a valid image. The file you uploaded was either not an image or a "
  772
+"corrupted image."
  773
+msgstr ""
  774
+"Nahrajte na server platný obrázek. Soubor, který jste nahrál(a) nebyl "
  775
+"obrázek, nebo byl porušen."
  776
+
  777
+#: core/validators.py:156
  778
+#, python-format
  779
+msgid "The URL %s does not point to a valid image."
  780
+msgstr "URL %s neukazuje na platný obrázek."
  781
+
  782
+#: core/validators.py:160
  783
+#, python-format
  784
+msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
  785
+msgstr "Telefonní čísla musí být ve formátu XXX-XXX-XXXX. \"%s\" není platné."
  786
+
  787
+#: core/validators.py:168
  788
+#, python-format
  789
+msgid "The URL %s does not point to a valid QuickTime video."
  790
+msgstr "URL %s neodkazuje na platné video ve formátu QuickTime."
  791
+
  792
+#: core/validators.py:172
  793
+msgid "A valid URL is required."
  794
+msgstr "Je vyžadováno platné URL."
  795
+
  796
+#: core/validators.py:186
  797
+#, python-format
  798
+msgid ""
  799
+"Valid HTML is required. Specific errors are:\n"
  800
+"%s"
  801
+msgstr ""
  802
+"Je vyžadováno platné HTML. Konkrétní chyby jsou:\n"
  803
+"%s"
  804
+
  805
+#: core/validators.py:193
  806
+#, python-format
  807
+msgid "Badly formed XML: %s"
  808
+msgstr "Špatně formované XML: %s"
  809
+
  810
+#: core/validators.py:203
  811
+#, python-format
  812
+msgid "Invalid URL: %s"
  813
+msgstr "Neplatné URL: %s"
  814
+
  815
+#: core/validators.py:205
  816
+#, python-format
  817
+msgid "The URL %s is a broken link."
  818
+msgstr "Odkaz na URL %s je rozbitý."
  819
+
  820
+#: core/validators.py:211
  821
+msgid "Enter a valid U.S. state abbreviation."
  822
+msgstr "Vložte platnou zkraku U.S. státu."
  823
+
  824
+#: core/validators.py:226
  825
+#, python-format
  826
+msgid "Watch your mouth! The word %s is not allowed here."
  827
+msgid_plural "Watch your mouth! The words %s are not allowed here."
  828
+msgstr[0] "Mluvte slušně! Slovo %s zde není přípustné."
  829
+msgstr[1] "Mluvte slušně! Slova %s zde nejsou přípustná."
  830
+
  831
+#: core/validators.py:233
  832
+#, python-format
  833
+msgid "This field must match the '%s' field."
  834
+msgstr "Toto pole se musí shodovat s polem '%s'."
  835
+
  836
+#: core/validators.py:252
  837
+msgid "Please enter something for at least one field."
  838
+msgstr "Prosíme, vložte něco alespoň pro jedno pole."
  839
+
  840
+#: core/validators.py:261 core/validators.py:272
  841
+msgid "Please enter both fields or leave them both empty."
  842
+msgstr "Prosíme, vložte obě pole, nebo je nechte obě prázdná."
  843
+
  844
+#: core/validators.py:279
  845
+#, python-format
  846
+msgid "This field must be given if %(field)s is %(value)s"
  847
+msgstr "Toto pole musí být vyplněno, když %(field)s má %(value)s"
  848
+
  849
+#: core/validators.py:291
  850
+#, python-format
  851
+msgid "This field must be given if %(field)s is not %(value)s"
  852
+msgstr "Toto pole musí být vyplněno, když %(field)s nemá %(value)s"
  853
+
  854
+#: core/validators.py:310
  855
+msgid "Duplicate values are not allowed."
  856
+msgstr "Duplikátní hodnoty nejsou povolené."
  857
+
  858
+#: core/validators.py:333
  859
+#, python-format
  860
+msgid "This value must be a power of %s."
  861
+msgstr "Tato hodnota musí být mocninou %s."
  862
+
  863
+#: core/validators.py:344
  864
+msgid "Please enter a valid decimal number."
  865
+msgstr "Prosíme, vložte platné číslo."
  866
+
  867
+#: core/validators.py:346
  868
+#, python-format
  869
+msgid "Please enter a valid decimal number with at most %s total digit."
  870
+msgid_plural ""