@@ -4,15 +4,14 @@ | |||
<div id=""> | |||
Your tags: | |||
<ul> | |||
{% for tag in tags %} | |||
{% for tag in users %} | |||
<li> | |||
<a href="{% url 'post_list_by_tag' tag.slug %}">{{ tag }}</a> | |||
</li> | |||
{% endfor %} | |||
</ul> | |||
</div> | |||
<div> | |||
{{ tags }} {{ u }} | |||
{{ u }} {{ arr }} | |||
</div> | |||
<div> | |||
from List: {% for tag in tags %} |
@@ -1,7 +1,11 @@ | |||
from django.conf import settings | |||
from django.conf.urls import url | |||
from django.conf.urls import include | |||
from django.urls import path | |||
from taggit_templatetags2 import urls as taggit_templatetags2_urls | |||
from . import views | |||
import debug_toolbar | |||
urlpatterns = [ | |||
url(r'^$', views.post_list, name='post_list'), | |||
@@ -19,3 +23,8 @@ urlpatterns = [ | |||
url(r'^tags/', include('taggit_templatetags2.urls')), | |||
] | |||
if settings.DEBUG: | |||
import debug_toolbar | |||
urlpatterns += [ | |||
url(r'^__debug__/', include(debug_toolbar.urls)), | |||
] |
@@ -144,17 +144,18 @@ def student_page(request): | |||
def tag_list(request): | |||
log = logging.getLogger('mysite') | |||
u = CustomUser.objects.get(user=request.user) | |||
tags= Tag.objects.filter(customuser=u) | |||
arr=[] | |||
arr.append(tags) | |||
log.info("test".format(arr)) | |||
tags= Tag.objects.filter(name=u) | |||
log.info(tags) | |||
arr = [] | |||
for tag in tags: | |||
arr.append(str(tag)) | |||
""" | |||
arr.append(tags) | |||
for tag in tags: | |||
arr.append(str(tag)) | |||
listing = list(arr) | |||
""" | |||
listing = list(arr) | |||
return render(request, 'tag_list.html', locals()) | |||
return render(request, 'tag_list.html', {'arr':arr}) | |||
class TagSearch(TagCanvasListView): | |||
template_name = 'blog_search_list_view.html' |
@@ -1,3 +1,40 @@ | |||
[16/Oct/2018 19:58:49] INFO [mysite:150] test | |||
[16/Oct/2018 20:00:13] INFO [mysite:150] test | |||
[16/Oct/2018 20:00:44] INFO [mysite:150] test | |||
[18/Oct/2018 16:49:10] INFO [mysite:150] test | |||
[18/Oct/2018 16:50:20] INFO [mysite:149] test | |||
[18/Oct/2018 16:53:59] INFO [mysite:149] test | |||
[18/Oct/2018 17:02:15] INFO [mysite:149] Here ist the log | |||
[18/Oct/2018 17:03:03] INFO [mysite:149] Here ist the log | |||
[18/Oct/2018 17:04:21] INFO [mysite:150] Here ist the log | |||
[18/Oct/2018 17:08:44] INFO [mysite:150] Here ist the log | |||
[18/Oct/2018 17:22:00] INFO [mysite:150] Here ist the log | |||
[18/Oct/2018 17:29:57] INFO [mysite:150] Here ist the log | |||
[18/Oct/2018 17:33:51] INFO [mysite:150] Here ist the log | |||
[18/Oct/2018 17:37:15] INFO [mysite:147] hei | |||
[18/Oct/2018 17:38:10] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 17:40:53] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 17:41:34] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 17:41:45] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 17:42:04] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 17:47:59] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 17:49:27] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 17:49:43] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 17:50:18] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:04:38] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:07:12] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:08:17] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:09:29] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:10:27] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:10:59] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:13:11] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:14:22] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:14:45] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:17:07] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:23:37] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:42:53] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:43:28] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 18:46:58] INFO [mysite:147] CustomUser object (25) | |||
[18/Oct/2018 19:12:55] INFO [mysite:147] CustomUser object (25) | |||
[19/Oct/2018 09:18:42] INFO [mysite:147] CustomUser object (25) | |||
[19/Oct/2018 09:19:10] INFO [mysite:148] <QuerySet []> |
@@ -216,6 +216,37 @@ LOGGING = { | |||
'mysite': { | |||
'handlers': ['console', 'logfile'], | |||
'level': 'DEBUG', | |||
'formatter': 'standard' | |||
}, | |||
} | |||
} | |||
if DEBUG: | |||
INTERNAL_IPS = ('127.0.0.1', 'localhost',) | |||
MIDDLEWARE += ( | |||
'debug_toolbar.middleware.DebugToolbarMiddleware', | |||
) | |||
INSTALLED_APPS += ( | |||
'debug_toolbar', | |||
) | |||
DEBUG_TOOLBAR_PANELS = [ | |||
'debug_toolbar.panels.versions.VersionsPanel', | |||
'debug_toolbar.panels.timer.TimerPanel', | |||
'debug_toolbar.panels.settings.SettingsPanel', | |||
'debug_toolbar.panels.headers.HeadersPanel', | |||
'debug_toolbar.panels.request.RequestPanel', | |||
'debug_toolbar.panels.sql.SQLPanel', | |||
'debug_toolbar.panels.staticfiles.StaticFilesPanel', | |||
'debug_toolbar.panels.templates.TemplatesPanel', | |||
'debug_toolbar.panels.cache.CachePanel', | |||
'debug_toolbar.panels.signals.SignalsPanel', | |||
'debug_toolbar.panels.logging.LoggingPanel', | |||
'debug_toolbar.panels.redirects.RedirectsPanel', | |||
] | |||
DEBUG_TOOLBAR_CONFIG = { | |||
'INTERCEPT_REDIRECTS': False, | |||
} |
@@ -0,0 +1,11 @@ | |||
#!/Users/Esthi/thesis_ek/thesisenv/bin/python3 | |||
# -*- coding: utf-8 -*- | |||
import re | |||
import sys | |||
from sqlparse.__main__ import main | |||
if __name__ == '__main__': | |||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) | |||
sys.exit(main()) |
@@ -0,0 +1,17 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
__all__ = ['VERSION'] | |||
try: | |||
import pkg_resources | |||
VERSION = pkg_resources.get_distribution('django-debug-toolbar').version | |||
except Exception: | |||
VERSION = 'unknown' | |||
# Code that discovers files or modules in INSTALLED_APPS imports this module. | |||
urls = 'debug_toolbar.toolbar', 'djdt' | |||
default_app_config = 'debug_toolbar.apps.DebugToolbarConfig' |
@@ -0,0 +1,81 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import inspect | |||
from django.apps import AppConfig | |||
from django.conf import settings | |||
from django.core.checks import Error, register | |||
from django.middleware.gzip import GZipMiddleware | |||
from django.utils.module_loading import import_string | |||
from django.utils.translation import ugettext_lazy as _ | |||
class DebugToolbarConfig(AppConfig): | |||
name = 'debug_toolbar' | |||
verbose_name = _("Debug Toolbar") | |||
@register | |||
def check_middleware(app_configs, **kwargs): | |||
from debug_toolbar.middleware import DebugToolbarMiddleware | |||
errors = [] | |||
gzip_index = None | |||
debug_toolbar_indexes = [] | |||
setting = getattr(settings, 'MIDDLEWARE', None) | |||
setting_name = 'MIDDLEWARE' | |||
if setting is None: | |||
setting = settings.MIDDLEWARE_CLASSES | |||
setting_name = 'MIDDLEWARE_CLASSES' | |||
# Determine the indexes which gzip and/or the toolbar are installed at | |||
for i, middleware in enumerate(setting): | |||
if is_middleware_class(GZipMiddleware, middleware): | |||
gzip_index = i | |||
elif is_middleware_class(DebugToolbarMiddleware, middleware): | |||
debug_toolbar_indexes.append(i) | |||
if not debug_toolbar_indexes: | |||
# If the toolbar does not appear, report an error. | |||
errors.append( | |||
Error( | |||
"debug_toolbar.middleware.DebugToolbarMiddleware is missing " | |||
"from %s." % setting_name, | |||
hint="Add debug_toolbar.middleware.DebugToolbarMiddleware to " | |||
"%s." % setting_name, | |||
) | |||
) | |||
elif len(debug_toolbar_indexes) != 1: | |||
# If the toolbar appears multiple times, report an error. | |||
errors.append( | |||
Error( | |||
"debug_toolbar.middleware.DebugToolbarMiddleware occurs " | |||
"multiple times in %s." % setting_name, | |||
hint="Load debug_toolbar.middleware.DebugToolbarMiddleware only " | |||
"once in %s." % setting_name, | |||
) | |||
) | |||
elif gzip_index is not None and debug_toolbar_indexes[0] < gzip_index: | |||
# If the toolbar appears before the gzip index, report an error. | |||
errors.append( | |||
Error( | |||
"debug_toolbar.middleware.DebugToolbarMiddleware occurs before " | |||
"django.middleware.gzip.GZipMiddleware in %s." % setting_name, | |||
hint="Move debug_toolbar.middleware.DebugToolbarMiddleware to " | |||
"after django.middleware.gzip.GZipMiddleware in %s." % setting_name, | |||
) | |||
) | |||
return errors | |||
def is_middleware_class(middleware_class, middleware_path): | |||
try: | |||
middleware_cls = import_string(middleware_path) | |||
except ImportError: | |||
return | |||
return ( | |||
inspect.isclass(middleware_cls) and | |||
issubclass(middleware_cls, middleware_class) | |||
) |
@@ -0,0 +1,11 @@ | |||
""" | |||
This file exists to contain all Django and Python compatibility issues. | |||
In order to avoid circular references, nothing should be imported from | |||
debug_toolbar. | |||
""" | |||
try: | |||
from django.template.base import linebreak_iter # NOQA | |||
except ImportError: # Django < 1.9 | |||
from django.views.debug import linebreak_iter # NOQA |
@@ -0,0 +1,16 @@ | |||
import functools | |||
from django.http import Http404 | |||
def require_show_toolbar(view): | |||
@functools.wraps(view) | |||
def inner(request, *args, **kwargs): | |||
from debug_toolbar.middleware import get_show_toolbar | |||
show_toolbar = get_show_toolbar() | |||
if not show_toolbar(request): | |||
raise Http404 | |||
return view(request, *args, **kwargs) | |||
return inner |
@@ -0,0 +1,656 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Libre El Chaval <el.libre@gmail.com>, 2013 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Catalan (http://www.transifex.com/projects/p/django-debug-toolbar/language/ca/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: ca\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Caxè" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "Encapçalaments" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Entrant" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "Registre de missatges" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Demanar" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Configuració" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Senyals" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Total: %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Hora" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Temps emprat" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versions" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Seriable" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Actiu" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "En transacció" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "Desconegut" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Plantilles" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Amagar barra d'eina" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Amagar" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Mostrar barra d'eines" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Tancar" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Ubicació:" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Resum" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "Total crides" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "Total temps" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Comandes" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Crides" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Temps (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Tipus" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Administració" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Clau" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Valor" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Nivell" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Canal" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Missatge" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Ubicació" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Cridar" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "Per" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "TempsTotal" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Recomptar" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Veure informació" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Variable" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Sense dades GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Sense dades POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Configuració" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Senyal" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Destinataris" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Petició" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Línia temporal" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Acció" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Connexió:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(desconegut)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Tornar" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "SQL Executat" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Base de dades" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Error" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Cap" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "" | |||
msgstr[1] "Plantilles" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Font" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Nom" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Versió" |
@@ -0,0 +1,670 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Vlada Macek <macek@sandbox.cz>, 2013 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Czech (http://www.transifex.com/projects/p/django-debug-toolbar/language/cs/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: cs\n" | |||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "Data pro tento panel již nejsou k dispozici. Obnovte stránku a zkuste to znova." | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Mezipaměť" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d volání během %(time).2fms" | |||
msgstr[1] "%(cache_calls)d volání během %(time).2fms" | |||
msgstr[2] "%(cache_calls)d volání během %(time).2fms" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "Volání mezipaměti z %(count)d backendu" | |||
msgstr[1] "Volání mezipaměti z %(count)d backendů" | |||
msgstr[2] "Volání mezipaměti z %(count)d backendů" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "Záhlaví" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Protokol" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s zpráva" | |||
msgstr[1] "%(count)s zprávy" | |||
msgstr[2] "%(count)s zpráv" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "Zprávy protokolu" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Profilování" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "Zachycení přesměrování" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Požadavek" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<žádný pohled>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<není k dispozici>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Settings" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Nastavení z modulu <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d příjemce 1 signálu" | |||
msgstr[1] "%(num_receivers)d příjemci 1 signálu" | |||
msgstr[2] "%(num_receivers)d příjemců 1 signálu" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d příjemce %(num_signals)d signálů" | |||
msgstr[1] "%(num_receivers)d příjemci %(num_signals)d signálů" | |||
msgstr[2] "%(num_receivers)d příjemců %(num_signals)d signálů" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Signály" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "Statické soubory (nalezeno: %(num_found)s, použito: %(num_used)s)" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Statické soubory" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "%(num_used)s soubor použit" | |||
msgstr[1] "%(num_used)s soubory použity" | |||
msgstr[2] "%(num_used)s souborů použito" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Celkem: %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Čas" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "Uživatelský čas CPU" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f msec" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "Systémový čas CPU" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f msec" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "Celkový čas CPU" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f msec" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Uplynulý čas" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f msec" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "Přepnutí kontextu" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d dobrovolně, %(ivcsw)d nedobrovolně" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Verze" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "Autocommit" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "Read uncommitted" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "Read committed" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "Repeatable read" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Serializable" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "V klidu (idle)" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Aktivní" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "Uvnitř transakce" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "V chybovém stavu" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "Neznámé" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Šablony" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Šablony (renderovaných: %(num_templates)s)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Skrýt lištu" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Skrýt" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "Vypnout pro následné požadavky" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "Zapnout pro následné požadavky" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Zobrazit lištu" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Zavřít" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Adresa:" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "Aplikace Django Debug Toolbar zachytila přesměrování na výše uvedenou adresu URL za účelem ladicího zobrazení. Chcete-li přesměrování dokončit, klepněte na odkaz výše." | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Souhrn" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "Celkem volání" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "Celkový čas" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "Nalezení v mezipaměti" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "Nebylo v mezipaměti" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Příkazy" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Volání" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Čas (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Typ" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "Argumenty" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "Klíčované argumenty" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Backend" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "Záhlaví požadavku" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Klíč" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Hodnota" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "Záhlaví odezvy" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "Prostředí WSGI" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "Níže je zobrazena pouze podstatná část proměnných prostředí, protože WSGI je dědí od serveru." | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Úroveň" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Kanál" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Zpráva" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Adresa" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Nebyly protokolovány žádné zprávy." | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Volání" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "KumulČas" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "Celk. za volání" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "CelkČas" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Počet" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Informace o pohledových funkcích" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "Pohledová funkce" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "Název URL" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "Soubory cookie" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Proměnná" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "Žádné soubory cookie" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "Data sezení" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "Žádná data sezení" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "Data typu GET" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Žádná data typu GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "Data typu POST" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Žádná data typu POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Nastavení" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Signál" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "Poskytuje" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Příjemci" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s dotaz" | |||
msgstr[1] "%(num)s dotazy" | |||
msgstr[2] "%(num)s dotazů" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Dotaz" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Časová osa" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Akce" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Spojení:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Úroveň izolace:" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Stav transakce:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(neznámé)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "Pro tento požadavek nebyl zaznamenán žádný dotaz SQL." | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Zpět" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "Vysvětlené SQL" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "Spuštěné SQL" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Databáze" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "Profilované SQL" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Chyba" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "Vybrané SQL" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Prázdná sada" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "Cesta ke statickým souborům" | |||
msgstr[1] "Cesty ke statickým souborům" | |||
msgstr[2] "Cesty ke statickým souborům" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "(prefix %(prefix)s)" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Žádné" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "Aplikace se statickými soubory" | |||
msgstr[1] "Aplikace se statickými soubory" | |||
msgstr[2] "Aplikace se statickými soubory" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "Statický soubor" | |||
msgstr[1] "Statické soubory" | |||
msgstr[2] "Statické soubory" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "%(payload_count)s soubor" | |||
msgstr[1] "%(payload_count)s soubory" | |||
msgstr[2] "%(payload_count)s souborů" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "Cesta" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "Zdroj šablony:" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Cesta k šabloně" | |||
msgstr[1] "Cesty k šablonám" | |||
msgstr[2] "Cesty k šablonám" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Šablona" | |||
msgstr[1] "Šablony" | |||
msgstr[2] "Šablony" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "Zap./vyp. kontext" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "Procesor kontextu" | |||
msgstr[1] "Procesory kontextu" | |||
msgstr[2] "Procesory kontextu" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "Využití zdrojů" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Prostředek" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "Časování prohlížeče" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "Atribut" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "Milisekund od začátku navigace (+délka)" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Název" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Verze" |
@@ -0,0 +1,656 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Jannis Leidel <jannis@leidel.info>, 2012-2013 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: German (http://www.transifex.com/projects/p/django-debug-toolbar/language/de/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: de\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "Die Daten für dieses Panel sind nicht mehr verfügbar. Bitte laden Sie die Seite neu." | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Cache" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d Abfrage in %(time).2fms" | |||
msgstr[1] "%(cache_calls)d Abfragen in %(time).2fms" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "Cache-Aufrufe von %(count)d Backend" | |||
msgstr[1] "Cache-Aufrufe von %(count)d Backends" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "Header" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Logging" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s Eintrag" | |||
msgstr[1] "%(count)s Einträge" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "Logeinträge" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Profiling" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "Umleitungen abfangen" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Anfrage" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<kein View>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<nicht verfügbar>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Einstellungen" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Einstellungen von <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d Empfänger von einem Signal" | |||
msgstr[1] "%(num_receivers)d Empfänger von einem Signal" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d Empfänger von %(num_signals)d Signalen" | |||
msgstr[1] "%(num_receivers)d Empfänger von %(num_signals)d Signalen" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Signale" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "Statische Dateien (%(num_found)s gefunden, %(num_used)s benutzt)" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Statische Dateien" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "%(num_used)s Datei benutzt" | |||
msgstr[1] "%(num_used)s Dateien benutzt" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Gesamt: %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Zeit" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "CPU-Zeit Benutzer" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f ms" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "CPU-Zeit System" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f ms" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "CPU-Zeit gesamt" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f ms" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Verstrichene Zeit" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f ms" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "Kontextwechsel" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d freiwillig, %(ivcsw)d unfreiwillig" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versionen" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "Autocommit" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "Lesend, nicht ausgeführt" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "Lesend, ausgeführt" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "Wiederholtes Lesen" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Variable" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "Wartet" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Aktiv" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "In einer Transaktion" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "Fehler" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "Unbekannt" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Templates" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Templates (%(num_templates)s gerendert)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Toolbar ausblenden" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Ausblenden" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "Für nächste und die darauffolgenden Anfragen deaktivieren" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "Für nächste und die darauffolgenden Anfragen aktivieren" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Toolbar einblenden" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Schließen" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Ziel:" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "Die Django Debug Toolbar hat eine Weiterleitung an die obenstehende URL zur weiteren Überprüfung abgefangen. Klicken Sie den Link, um wie gewohnt weitergeleitet zu werden." | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Zusammenfassung" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "Aufrufe gesamt" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "Zeit gesamt" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "Cache erfolgreich" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "Cache verfehlt" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Befehle" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Aufrufe" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Zeit (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Typ" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "Argumente" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "Schlüsselwort-Argumente" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Backend" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "Anfrage-Header" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Name" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Wert" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "Antwort-Header" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "WSGI-Umgebung" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "Da sich die WSGI-Umgebung von der Umgebung des Servers ableitet, wird nur eine notwendige Teilmenge dargestellt." | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Level" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Kanal" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Eintrag" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Ort" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Keine Logbucheinträge vorhanden" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Aufruf" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "Gesamt" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "Per" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "Total" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Anzahl" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "View-Informationen" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "View-Funktion" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "URL-Name" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "Cookies" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Variable" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "Keine Cookies" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "Sitzungsdaten" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "Keine Sitzungsdaten" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "GET-Daten" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Keine GET-Daten" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "POST-Daten" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Keine POST-Daten" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Einstellung" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Signal" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "Stellt bereit" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Empfänger" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s Abfrage" | |||
msgstr[1] "%(num)s Abfragen" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Abfrage" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Verlauf" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Aktion" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Verbindung:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Isolationsebene:" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Transaktionsstatus:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(unbekannt)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "Es wurde keine SQL-Abfrage während dieses Vorgangs aufgezeichnet." | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Zurück" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "SQL erklärt" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "Ausgeführtes SQL" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Datenbank" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "SQL durchleuchtet" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Fehler" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "SQL ausgewählt" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Leeres Set" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "Pfad mit statischen Dateien" | |||
msgstr[1] "Pfade mit statischen Dateien" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "-" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "App mit statischen Dateien" | |||
msgstr[1] "Apps mit statischen Dateien" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "Statische Datei" | |||
msgstr[1] "Statische Dateien" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "%(payload_count)s Datei" | |||
msgstr[1] "%(payload_count)s Dateien" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "Pfad" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "Template-Quelle:" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Template-Pfad" | |||
msgstr[1] "Template-Pfade" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Template" | |||
msgstr[1] "Templates" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "Context zeigen" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "Context-Prozessor" | |||
msgstr[1] "Context-Prozessoren" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "Ressourcenverwendung" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Ressource" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "Browserzeit" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "Timing-Attribut" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "Millisekunden seit Seitenaufruf (plus Dauer)" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Name" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Version" |
@@ -0,0 +1,675 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2018-09-06 09:19+0200\n" | |||
"PO-Revision-Date: 2012-03-31 20:10+0000\n" | |||
"Last-Translator: \n" | |||
"Language-Team: \n" | |||
"Language: en\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1)\n" | |||
#: apps.py:15 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: panels/cache.py:188 | |||
msgid "Cache" | |||
msgstr "" | |||
#: panels/cache.py:193 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/cache.py:201 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/headers.py:34 | |||
msgid "Headers" | |||
msgstr "" | |||
#: panels/logging.py:66 | |||
msgid "Logging" | |||
msgstr "" | |||
#: panels/logging.py:72 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/logging.py:75 | |||
msgid "Log messages" | |||
msgstr "" | |||
#: panels/profiling.py:148 | |||
msgid "Profiling" | |||
msgstr "" | |||
#: panels/redirects.py:16 | |||
msgid "Intercept redirects" | |||
msgstr "" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "" | |||
#: panels/settings.py:18 | |||
msgid "Settings" | |||
msgstr "" | |||
#: panels/settings.py:21 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "" | |||
#: panels/signals.py:44 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:47 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:52 | |||
msgid "Signals" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Autocommit" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:27 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:28 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:29 | |||
msgid "Serializable" | |||
msgstr "" | |||
#: panels/sql/panel.py:40 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:41 | |||
msgid "Active" | |||
msgstr "" | |||
#: panels/sql/panel.py:42 | |||
msgid "In transaction" | |||
msgstr "" | |||
#: panels/sql/panel.py:43 | |||
msgid "In error" | |||
msgstr "" | |||
#: panels/sql/panel.py:44 | |||
msgid "Unknown" | |||
msgstr "" | |||
#: panels/sql/panel.py:108 | |||
msgid "SQL" | |||
msgstr "" | |||
#: panels/staticfiles.py:88 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:106 | |||
msgid "Static files" | |||
msgstr "" | |||
#: panels/staticfiles.py:111 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/templates/panel.py:161 | |||
msgid "Templates" | |||
msgstr "" | |||
#: panels/templates/panel.py:166 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "" | |||
#: panels/templates/panel.py:198 | |||
msgid "No origin" | |||
msgstr "" | |||
#: panels/timer.py:26 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "" | |||
#: panels/timer.py:31 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "" | |||
#: panels/timer.py:37 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
msgid "User CPU time" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
msgid "System CPU time" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:47 | |||
msgid "Total CPU time" | |||
msgstr "" | |||
#: panels/timer.py:47 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:48 | |||
msgid "Elapsed time" | |||
msgstr "" | |||
#: panels/timer.py:48 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:49 | |||
msgid "Context switches" | |||
msgstr "" | |||
#: panels/timer.py:49 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "" | |||
#: panels/versions.py:20 | |||
msgid "Versions" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:14 | |||
msgid "Hide toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:14 | |||
msgid "Hide" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:20 | |||
msgid "Disable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:20 | |||
msgid "Enable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:42 | |||
msgid "Show toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:30 | |||
msgid "Time (ms)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Location" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/sql.html:9 | |||
#, python-format | |||
msgid "" | |||
"including <abbr title=\"Similar queries are queries with the same SQL, but " | |||
"potentially different parameters.\">%(count)s similar</abbr>" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:13 | |||
#, python-format | |||
msgid "" | |||
"and <abbr title=\"Duplicate queries are identical to each other: they " | |||
"execute exactly the same SQL and parameters.\">%(dupes)s duplicates</abbr>" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:28 | |||
msgid "Query" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:29 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:31 | |||
msgid "Action" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:48 | |||
#, python-format | |||
msgid "%(count)s similar queries." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:54 | |||
#, python-format | |||
msgid "Duplicated %(dupes)s times." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:86 | |||
msgid "Connection:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:88 | |||
msgid "Isolation level:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:91 | |||
msgid "Transaction status:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:105 | |||
msgid "(unknown)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:114 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:3 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:7 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:11 | |||
#: templates/debug_toolbar/panels/staticfiles.html:22 | |||
#: templates/debug_toolbar/panels/staticfiles.html:34 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:30 | |||
#: templates/debug_toolbar/panels/templates.html:47 | |||
msgid "None" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:14 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:25 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:39 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:43 | |||
msgid "Path" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/templates.html:22 | |||
#: templates/debug_toolbar/panels/templates.html:40 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:33 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:10 | |||
msgid "Package" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:11 | |||
msgid "Name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:12 | |||
msgid "Version" | |||
msgstr "" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: views.py:16 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" |
@@ -0,0 +1,658 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# jcatalan <catalanojuan@gmail.com>, 2014 | |||
# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2013-2014 | |||
# marcelor <marcelor@gmail.com>, 2013 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Spanish (http://www.transifex.com/projects/p/django-debug-toolbar/language/es/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: es\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "La información de este panel ya no se encuentra disponible. Por favor recargue la página y pruebe nuevamente." | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Cache" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d llamada en %(time).2fms" | |||
msgstr[1] "%(cache_calls)d llamadas en %(time).2fms" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "%(count)d llamadas al Cache desde el backend" | |||
msgstr[1] "%(count)d llamadas al Caché desde backends" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "Encabezados" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Registros" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s mensaje" | |||
msgstr[1] "%(count)s mensajes" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "Mensajes del registro" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Análisis de rendimiento" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "Interceptar re-direcionamiento" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Petición" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<sin vista>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<no disponible>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Configuraciones" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Configuraciones en <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d receptor de 1 señal" | |||
msgstr[1] "%(num_receivers)d receptores de 1 señal" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d receptor de %(num_signals)d señales" | |||
msgstr[1] "%(num_receivers)d receptores de %(num_signals)d señales" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Señales" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "Archivos estáticos (%(num_found)s encontrados, %(num_used)s en uso)" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Archivos estáticos" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "%(num_used)s archivo usado" | |||
msgstr[1] "%(num_used)s archivos usados" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Total: %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Tiempo" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "Tiempo en CPU de usuario" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f mseg" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "Tiempo en CPU del sistema" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f mseg" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "Tiempo total de CPU" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f mseg" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Tiempo transcurrido" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f mseg" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "Cambios de contexto" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d voluntario, %(ivcsw)d involuntario" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versiones" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "Autocommit" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "Leer cambios tentativos" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "Leer cambios permanentes" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "Lectura repetible" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Serializable" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "Inactivo" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Activo" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "En transacción" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "En error" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "Desconocido" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Plantillas" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Plantillas (%(num_templates)s renderizadas)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Ocutar barra de herramientas" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Ocultar" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "Deshabilitar para el próximo y sucesivos peticiones" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "Habilitar para el próximo y sucesivos peticiones" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Mostrar barra de herramientas" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Cerrar" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Ubicación:" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "El Django Debug Toolbar ha interceptado un re-direccionamiento a la dirección de Internet mostrada arriba, con el propósito de inspeccionarla. Usted puede hacer clic en el vínculo de arriba para continuar con el re-direccionamiento normalmente." | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Resúmen" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "Llamadas totales" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "Tiempo total" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "Aciertos de caché" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "Errores de caché" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Comandos" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Llamadas" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Tiempo (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Tipo" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "Argumentos" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "Argumentos por palabra clave" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Backend" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "Encabezados de peticiones" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Clave" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Valor" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "Encabezados de respuesta" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "Entorno WSGI" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "Ya que el entorno WSGI hereda el entorno del servidor, solo un subconjunto significativo es mostrado más abajo." | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Nivel" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Canal" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Mensaje" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Ubicación" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "No hay mensajes registrados" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Llamar" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "TiempoAcum" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "Por" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "TiempoTot" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Contar" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Información de Vista" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "Función vista" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "Nombre de dirección URL" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "Cookies" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Variable" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "Sin cookies" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "Datos de sesión" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "Sin datos de sesión" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "Datos del GET" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Sin datos GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "Datos del POST" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Sin datos POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Configuración" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Señal" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "Proporcionando" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Receptores" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s consulta" | |||
msgstr[1] "%(num)s consultas" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Query" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Línea de tiempo" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Acción" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Conexión:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Nivel de aislamiento:" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Estado de la transacción:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(desconocido)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "No se registraron consultas SQL durante ésta petición." | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Regresar" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "SQL explicado" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "SQL Ejecutado" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Base de datos" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "SQL analizado" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Error" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "SQL seleccionado" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Establecer Vacío" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "Ruta a archivos estático" | |||
msgstr[1] "Rutas a archivos estáticos" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "(prefijo %(prefix)s)" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Ninguno" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "Aplicación a archivos estáticos" | |||
msgstr[1] "Aplicaciones de archivos estáticos" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "Archivo estático" | |||
msgstr[1] "Archivos estáticos" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "%(payload_count)s archivo" | |||
msgstr[1] "%(payload_count)s archivos" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "Ruta" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "Fuente de plantilla:" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Ruta de plantilla" | |||
msgstr[1] "Rutas de plantillas" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Plantilla" | |||
msgstr[1] "Plantillas" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "Mostrar/Ocultar contexto" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "Procesador de contexto" | |||
msgstr[1] "Procesadores de contexto" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "Uso de recursos" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Recurso" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "Distribución de tiempos de navegador" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "Milisegundos desde inicio de la navegación (+longitud)" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Nombre" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Versión" |
@@ -0,0 +1,656 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# nanook <klaus.dahlen@gmail.com>, 2012 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Finnish (http://www.transifex.com/projects/p/django-debug-toolbar/language/fi/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: fi\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Välimuisti" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d kutsu %(time).2fms" | |||
msgstr[1] "%(cache_calls)d kutsua %(time).2fms" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Loki" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s viesti" | |||
msgstr[1] "%(count)s viestiä" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Profilointi" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Asetukset" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Asetukset tiedostosta <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d vastaanotin 1 signaalille" | |||
msgstr[1] "%(num_receivers)d vastaanotinta 1 signaalille" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d vastaanotin %(num_signals)d signaalille" | |||
msgstr[1] "%(num_receivers)d vastaanotinta %(num_signals)d signaalille" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Signaalit" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Staattiset tiedostot" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Aika" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "Käyttäjän CPU-aika" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f msek" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "Järjestelmän CPU-aika" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f msek" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "CPU-aika yhteensä" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f msek" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Kulunut aika" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f msek" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "Kontekstin vivut" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versiot" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "Autocommit" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Muuttuja" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Tapahtuma" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "Tapahtuman tila:" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "Virhe" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "(tuntematon)" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Asettelupohjat" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Asetttelupohjat (%(num_templates)s renderöity)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Piilota" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Sulje" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Aika (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Tyyppi" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Avain" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Arvo" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Taso" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Kanava" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Viesti" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Sijainti" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Ei viestejä lokissa" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Kutsu" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "CumTime" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "/" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "TotTime" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Määrä" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Näkymän tiedot" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Muuttuja" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Ei GET-dataa" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Ei POST-dataa" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Asetus" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Signaali" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Vastaanottimet" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s kysely" | |||
msgstr[1] "%(num)s kyselyä" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Kysely" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Aikajana" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Tapahtuma" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Yhteys:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Eristystaso:" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Tapahtuman status:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(tuntematon)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "Tämän pyynnön aikana ei tehty yhtään SQL-kyselyä." | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Takaisin" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "Suoritettu SQL" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Tietokanta" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Virhe" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Tyhjä joukko" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "None" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "Staattiset tiedostot" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "Polku" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Sivupohjan polku" | |||
msgstr[1] "Sivupohjan polku" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Sivupohja" | |||
msgstr[1] "Sivupohja" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "Kontekstiprosessori" | |||
msgstr[1] "Kontekstiprosessori" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Resurssi" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Nimi" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Versio" |
@@ -0,0 +1,659 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Pingax <pingax@frugalware.org>, 2013 | |||
# claudep <claude@2xlibre.net>, 2013 | |||
# David Paccoud, 2009 | |||
# drivard <dominick.rivard@gmail.com>, 2013 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: French (http://www.transifex.com/projects/p/django-debug-toolbar/language/fr/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: fr\n" | |||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "Les données de ce panneau ne sont plus disponibles. Rechargez la page et essayez à nouveau." | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Cache" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d appel en %(time).2fms" | |||
msgstr[1] "%(cache_calls)d appels en %(time).2fms" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "Appels au cache depuis %(count)d moteur" | |||
msgstr[1] "Appels au cache depuis %(count)d moteurs" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "En-têtes" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Journaux" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s message" | |||
msgstr[1] "%(count)s messages" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "Messages du journal" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Profilage" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "Interception des redirections" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Requête" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<pas de vue>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<indisponible>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Paramètres" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Paramètres de <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d receveur d'un signal" | |||
msgstr[1] "%(num_receivers)d receveurs d'un signal" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d receveur de %(num_signals)d signaux" | |||
msgstr[1] "%(num_receivers)d receveurs de %(num_signals)d signaux" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Signaux" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "Fichiers statiques (%(num_found)s trouvé(s), %(num_used)s utilisé(s))" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Fichiers statiques" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "%(num_used)s fichier utilisé" | |||
msgstr[1] "%(num_used)s fichiers utilisés" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Total : %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Temps" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "Temps CPU de l'utilisateur" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f ms" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "Temps CPU du système" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f ms" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "Temps total du CPU" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f ms" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Temps écoulé" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f ms" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "Basculements de contexte" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d volontaire, %(ivcsw)d involontaire" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versions" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "Auto validation" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "Lecture non validée" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "Lecture validée" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "Lecture répétable" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Sérialisable" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "Inactif" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Actif" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "Transaction en cours" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "Erreur" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "Indéterminé" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Gabarits" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Gabarits (%(num_templates)s affichés)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Masquer la barre d'outils" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Masquer" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "Désactiver pour les requêtes suivantes" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "Activer pour les requêtes suivantes" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Afficher la barre d'outils" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Fermer" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Emplacement :" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "La barre de débogage Django a intercepté une redirection vers l'URL ci-dessus afin de permettre la consultation des messages de débogage. Vous pouvez cliquer sur le lien ci-dessus pour continuer normalement avec la redirection." | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Résumé" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "Nombre total d'appels" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "Temps total" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "Succès de cache" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "Défauts de cache" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Commandes" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Appels" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Temps (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Type" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "Paramètres" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "Paramètres nommés" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Moteur" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "En-têtes de requête" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Clé" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Valeur" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "En-têtes de réponse" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "Environnement WSGI" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "Comme l'environnement WSGI hérite de celui du serveur, seul un sous-ensemble pertinent est affiché ci-dessous." | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Niveau" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Canal" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Message" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Emplacement" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Aucun message dans le journal" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Appel" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "Temps cumulé" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "Par" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "Temps total" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Compte" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Afficher l'information" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "Fonction de vue" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "Nom d'URL" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "Cookies" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Variable" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "Pas de cookies" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "Données de session" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "Pas de données de session" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "Données GET" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Aucune donnée GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "Données POST" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Aucune donnée POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Paramètre" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Signal" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "Fournissant" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Receveurs" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s requête" | |||
msgstr[1] "%(num)s requêtes" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Requête" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Chronologie" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Action" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Connexion :" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Niveau d'isolation :" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "État de la transaction :" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(indéterminé)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "Aucune requête SQL n'a été enregistrée durant cette requête." | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Retour" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "SQL expliqué" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "SQL Exécuté" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Base de données" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "SQL profilé" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Erreur" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "SQL sélectionné" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Ensemble vide" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "Chemin de fichier statique" | |||
msgstr[1] "Chemins de fichiers statiques" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Aucun" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "Application de fichiers statiques" | |||
msgstr[1] "Applications de fichiers statiques" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "Fichiers statiques" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "%(payload_count)s fichier" | |||
msgstr[1] "%(payload_count)s fichiers" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "Chemin" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "Source du gabarit :" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "" | |||
msgstr[1] "Chemin du gabarit" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "" | |||
msgstr[1] "Gabarit" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "Afficher/masquer le contexte" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "Processeur de contexte" | |||
msgstr[1] "Processeurs de contexte" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "Utilisation des ressources" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Ressource" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "Chronologie du navigateur" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "Attribut mesuré" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "Millisecondes depuis le début de la navigation (+longueur)" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Nom" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Version" |
@@ -0,0 +1,656 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# shaib <shai@platonix.com>, 2012 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Hebrew (http://www.transifex.com/projects/p/django-debug-toolbar/language/he/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: he\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "רישום יומן" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "סיגנלים" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "זמן" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "גירסאות" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "משתנה" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "פעילות" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "שגיאה" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "תבניות" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "הסתר" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "סגור" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "סוג" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "מפתח" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "ערך" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "רמה" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "הודעה" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "מקום" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "אין הודעות" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "משתנה" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "אין נתוני GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "אין נתוני POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "סיגנל" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "פעילות" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "חזרה" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "SQL שבוצע" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "שגיאה" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "קבוצה ריקה" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "" | |||
msgstr[1] "תבנית" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "" |
@@ -0,0 +1,642 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Muhammad Panji <sumodirjo@gmail.com>, 2012 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Indonesian (http://www.transifex.com/projects/p/django-debug-toolbar/language/id/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: id\n" | |||
"Plural-Forms: nplurals=1; plural=0;\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s pesan" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Pengaturan" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Pengaturan dari <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Sinyal" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Berkas statik" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Waktu" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "CPU time pengguna" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "CPU time sistem" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "CPU time total" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Waktu terlampaui" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versi" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Variabel" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Aksi" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "Status transaksi:" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "(tidak diketahui)" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Template" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Menyembunyikan" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Menutup" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Waktu (milidetik)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Jenis" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Kunci" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Nilai" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Tingkat" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Kanal" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Pesan" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Lokasi" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Tidak ada pesan yang dicatat" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Panggil" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "CumTime" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "Per" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "TotTime" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Hitung" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Lihat informasi" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Variabel" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Tidak ada data GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Tidak ada data POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Pengaturan" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Sinyal" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Penerima" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Aksi" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Koneksi:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Tingkat isolasi:" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Status transaksi:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(tidak diketahui)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Kembali" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "SQL Tereksekusi" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Basis data" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Himpunan kosong" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Tidak ada" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "Berkas statik" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Template path" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Sumber daya" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Versi" |
@@ -0,0 +1,658 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Dario Agliottone <dario.agliottone@gmail.com>, 2012 | |||
# Flavio Curella <flavio.curella@gmail.com>, 2013 | |||
# yakky <i.spalletti@nephila.it>, 2013-2014 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Italian (http://www.transifex.com/projects/p/django-debug-toolbar/language/it/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: it\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "Non sono più disponibili dati per questo pannello. Ricarica la pagina e riprova." | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Cache" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d chiamata in %(time).2fms" | |||
msgstr[1] "%(cache_calls)d chiamate in %(time).2fms" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "Chiamate alla cache da %(count)d backend" | |||
msgstr[1] "Chiamate alla cache da %(count)d backend" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "Intestazioni" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Logging" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s messaggio" | |||
msgstr[1] "%(count)s messaggi" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "Messaggi di log" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Profilazione" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "Intercetta ridirezioni" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Request" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<nessuna view>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<non disponibile>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Impostazioni" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Impostazioni da <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d ricevitore di 1 segnale" | |||
msgstr[1] "%(num_receivers)d ricevitori di 1 segnale" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d ricevitore di %(num_signals)d segnali" | |||
msgstr[1] "%(num_receivers)d ricevitori di %(num_signals)d segnali" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Segnali" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "File statici (%(num_found)s trovati, %(num_used)s usati)" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Files statici" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "%(num_used)s file usato" | |||
msgstr[1] "%(num_used)s file usati" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Totale: %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Tempo" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "Tempo CPU utente" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f msec" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "Tempo CPU sistema" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f msec" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "Tempo Totale CPU" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f msec" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Tempo Trascorso" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f msec" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "Cambi di contesto" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d volontario, %(ivcsw)d involontario" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versioni" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "Autocommit" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "Read uncommitted" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "Read committed" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "Repeatable read" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Serializable" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "Idle" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Azione" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "Stato transazione:" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "Errore" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "(sconosciuto)" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Template" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Templates (%(num_templates)s rendered)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Nascondi Toolbar" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Nascondi" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "Disattiva per la prossima requests e le successive" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "Abilita per la prossima requests e le successive" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Mostra Toolbar" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Chiudi" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Location:" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "Django Debug Toolbar ha intercettato un redirect verso la URL indicata per visualizzare il debug, Puoi cliccare sul link sopra per continuare normalmente con la redirezione." | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Sommario" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "Chiamate totali" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "Tempo Totale" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "Trovati in cache" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "Non trovati in cache" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Comandi" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Chiamate" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Durata (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Tipo" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "Argomenti" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "Parole chiave" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Backend" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "Header della request" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Nome" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Valore" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "Header della response" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "Ambiente WSGI" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "Visto che l'ambiente WSGI è ereditato dal server, sotto è mostrata solo la parte significativa." | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Livello" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Canale" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Messaggio" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Location" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Nessun messaggio registrato" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Chiamata" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "CumTime" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "Per" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "TotTime" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Numero" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Vedi Informazioni" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "Funzione View" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "Nome URL" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "Cookies" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Variabile" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "Nessun cookie" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "Dati di sessione" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "Nessun dato in sessione" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "Dati GET" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Nessun dato in GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "Dati POST" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Nessuno dato in POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Impostazione" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Segnale" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "Forniti" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Ricevitori" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s query" | |||
msgstr[1] "%(num)s query" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Query" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Timeline" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Azione" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Connessione:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Isolation level:" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Stato transazione:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(sconosciuto)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "Nessuna Query SQL è stata registrata durante questa richiesta" | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Indietro" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "SQL spigato" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "SQL eseguita" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Database" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "SQL profilato" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Errore" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "SQL selezionato" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Insieme vuoto" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "Percorso file statici" | |||
msgstr[1] "Percorsi file statici" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "(prefisso %(prefix)s)" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Nessuno" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "App file statici" | |||
msgstr[1] "App file statici" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "Files statici" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "%(payload_count)s file" | |||
msgstr[1] "%(payload_count)s file" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "Percorso" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "Sorgente del template" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Percorso dei template" | |||
msgstr[1] "Percorsi dei template" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "" | |||
msgstr[1] "Template" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "Cambia contesto" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "Context processor" | |||
msgstr[1] "Context processors" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "Uso risorsa" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Risorsa" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "Tempo browser" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "Attributo" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "Millisecondi dall'inizio della navigazione (+lunghezza)" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Nome" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Versione" |
@@ -0,0 +1,656 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Ingo Berben <ingoberben@gmail.com>, 2012-2013 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Dutch (http://www.transifex.com/projects/p/django-debug-toolbar/language/nl/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: nl\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Cache" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s bericht" | |||
msgstr[1] "%(count)s berichten" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Profilering" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<niet bekeken>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<niet beschikbaar>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Instellingen" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Instellingen van <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d ontvanger van 1 signaal" | |||
msgstr[1] "%(num_receivers)d ontvangers van 1 signaal" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d ontvanger van %(num_signals)d signalen" | |||
msgstr[1] "%(num_receivers)d ontvangers van %(num_signals)d signalen" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Signalen" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Totaal: %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Tijd" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "Gebruikers CPU tijd" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f msec" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "Systeem CPU tijd" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f msec" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "Totaal CPU tijd" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f msec" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Verlopen tijd" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f msec" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d vrijwillig, %(ivcsw)d niet vrijwillig" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versies" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Serializeerbaar" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Actief" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "Foutief" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "Niet gekend" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Templates" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Templates (%(num_templates)s gerenderd)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Verberg toolbar" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Verbergen" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Bekijk toolbar" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Sluiten" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Samenvatting" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Tijd (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Type" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Sleutel" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Waarde" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Niveau" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Kanaal" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Bericht" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Locatie" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Geen berichten gelogd" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Oproepen" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "TotTijd" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Aantal" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Bekijk informatie" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Parameter" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "GET data" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Geen GET data" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "POST data" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Geen POST data" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Instelling" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Signaal" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Ontvangers" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Query" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Tijdslijn" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Actie" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Verbinding:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Transactiestatus:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(niet gekend)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Terug" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "SQL uitgelegd" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "Uitgevoerde SQL" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Database" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Fout" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Lege set" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "None" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Templatepad" | |||
msgstr[1] "Templatepaden" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Template" | |||
msgstr[1] "Templates" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Bron" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Naam" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Versie" |
@@ -0,0 +1,670 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Konrad Mosoń <mosonkonrad@gmail.com>, 2013 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Polish (http://www.transifex.com/projects/p/django-debug-toolbar/language/pl/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: pl\n" | |||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Cache" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d wywołanie w %(time).2fms" | |||
msgstr[1] "%(cache_calls)d wywołania w %(time).2fms" | |||
msgstr[2] "%(cache_calls)d wywołań w %(time).2fms" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "Wywołań z cache z %(count)d backendu" | |||
msgstr[1] "Wywołań z cache z %(count)d backendów" | |||
msgstr[2] "Wywołań z cache z %(count)d backendów" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Logi" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s wiadomość" | |||
msgstr[1] "%(count)s wiadomości" | |||
msgstr[2] "%(count)s wiadomości" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Profilowanie" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<brak widoku>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<niedostępny>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Ustawienia" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Ustawienia z <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d orbiorca 1 sygnału" | |||
msgstr[1] "%(num_receivers)d odbiorców 1 sygnału" | |||
msgstr[2] "%(num_receivers)d odbiorców 1 sygnału" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d odbiora %(num_signals)d sygnału" | |||
msgstr[1] "%(num_receivers)d odbiorców %(num_signals)d sygnałów" | |||
msgstr[2] "%(num_receivers)d odbiorców %(num_signals)d sygnałów" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Sygnały" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Czas" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f msec" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f msec" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f msec" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f msec" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Wersje" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "Autocommit" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Aktywne" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "W transakcji" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "W błędzie" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "Nieznane" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Templatki" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Templatki (%(num_templates)s wyrenderowano)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Ukryj" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Zamknij" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Podsumowanie" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Polecenia" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Wywołania" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Czas (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Typ" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Backend" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Klucz" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Wartość" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Poziom" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Kanał" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Wiadomość" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Lokalizacja" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Nie zalogowano żadnych wiadomości" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Wywołanie" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Ilość" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Pokaż informacje" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Zmienna" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Brak danych GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Brak danych POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Ustawienie" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Sygnał" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Odbiorcy" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s zapytanie" | |||
msgstr[1] "%(num)s zapytania" | |||
msgstr[2] "%(num)s zapytań" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Zapytanie" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Oś czasu" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Akcja" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Połączenie:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Poziom izolacji:" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Status transakcji:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(nieznany)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "Żadne zapytania SQL nie zostały odnotowane podczas tego zapytania." | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Wstecz" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "Wykonane zapytanie SQL" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Baza danych" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Błąd" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Pusty zbiór" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Brak" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Ścieżka templatki" | |||
msgstr[1] "Ścieżki templatek" | |||
msgstr[2] "Ścieżki templatek" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Templatki" | |||
msgstr[1] "Templatki" | |||
msgstr[2] "Templatki" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Zasób" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Nazwa" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Wersja" |
@@ -0,0 +1,656 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# joseduraes <jdmduraes@gmail.com>, 2014 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Portuguese (http://www.transifex.com/projects/p/django-debug-toolbar/language/pt/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: pt\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Registo" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "Intercetar redirecionamentos" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Pedido" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<indisponível>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Configurações" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Sinais" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Ficheiros estáticos" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Total: %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Tempo" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versões" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Variável" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Acção" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "Erro" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "Desconhecido" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Templates" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Templates (%(num_templates)s renderizados)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Ocultar barra" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Ocultar" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "Desactivar para o seguinte e sucessivos pedidos" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "Activar para o próximo e sucessivos pedidos" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Mostrar barra" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Fechar" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Localização" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Resumo" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Comandos" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Tipo" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Chave" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Valor" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Nível" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Mensagem" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Localização" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Nenhuma mensagem registada" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Variável" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Sem dados GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "dados POST" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Sem variáveis POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Configurações" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Sinal" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Receptores" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Acção" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Estado da transacção:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(desconhecido)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "Nenhuma query SQL foi registada durante este pedido." | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Voltar" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "SQL Executado" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Erro" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Set vazio" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "(prefixo %(prefix)s)" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Nenhum" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "Ficheiro estático" | |||
msgstr[1] "Ficheiros estáticos" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "" | |||
msgstr[1] "Caminho da Template" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
msgstr[1] "Processador de Contexto" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Recurso" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Nome" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Versão" |
@@ -0,0 +1,657 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Fábio <bnafta@gmail.com>, 2013-2014 | |||
# Percy Pérez-Pinedo, 2009 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/django-debug-toolbar/language/pt_BR/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: pt_BR\n" | |||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "Os dados para este painel não está mais disponível. Por favor, recarregue a página e tente novamente." | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Cache" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d chamada em %(time).2fms" | |||
msgstr[1] "%(cache_calls)d chamadas em %(time).2fms" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "Chamadas ao cache de %(count)d backend" | |||
msgstr[1] "Chamadas ao cache de %(count)d backends" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "Cabeçalhos" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Logs" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s mensagem" | |||
msgstr[1] "%(count)s mensagens" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "Mensagens de log" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Profiling" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "Interceptar redirecionamentos" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Requisição" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<nenhuma vista>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<indisponível>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Configurações" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Configurações em: <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d receptor de 1 sinal" | |||
msgstr[1] "%(num_receivers)d receptores de 1 sinal" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d receptor de %(num_signals)d sinais" | |||
msgstr[1] "%(num_receivers)d receptores de %(num_signals)d sinais" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Sinais" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "Arquivos estáticos (%(num_found)s encontrados, %(num_used)s sendo utilizados)" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Arquivos estáticos" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "%(num_used)s arquivo utilizado" | |||
msgstr[1] "%(num_used)s arquivos utilizados" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Total: %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Tempo" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "Tempo de CPU do usuário" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f ms" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "Tempo de CPU do sistema" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f ms" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "Tempo total de CPU" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f ms" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Tempo decorrido" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f ms" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "Mudanças de contexto" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d voluntário, %(ivcsw)d involuntário" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versões" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "Autocommit" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "Read uncommitted" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "Read committed" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "Leitura repetida" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Variável" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "Ocioso" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Ação" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "Na transação" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "Erro" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "Desconhecido" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Templates" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Templates (%(num_templates)s renderizados)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Ocultar barra de ferramentas" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Esconder" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "Desativar para próximas requisições" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "Habilitar para próximas requisições" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Mostrar barra de ferramentas" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Fechar" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Localização:" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "O Django Debug Toolbar interceptou um redirecionamento para a URL acima para fins de visualização de depuração. Você pode clicar no link acima para continuar com o redirecionamento normalmente." | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Resumo" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "Total de chamadas" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "Tempo total" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "Acessos ao cache" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "Falhas de cache" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Comandos" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Chamadas" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Tempo (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Tipo" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "Argumentos" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "Argumentos" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Backend" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "Cabeçalhos de Requisição" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Chave" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Valor" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "Cabeçalhos de Resposta" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "Ambiente WSGI" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "Uma vez que o ambiente WSGI herda o ambiente do servidor, apenas um subconjunto significativo é mostrado abaixo." | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Nível" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Canal" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Mensagem" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Localização" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Nenhuma mensagem logada" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Chamar" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "CumTime" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "Per" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "TotTime" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Contagem" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Ver informação" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "Função View" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "Nome da URL" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "Cookies" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Variável" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "Sem Cookies" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "Dados de Sessão" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "Sem dados de Sessão" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "Dados de GET" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Não há dados de GET" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "Dados de POST" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Não há dados de POST" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Configuração" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Sinais" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "Fornecendo" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Recebedores" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s consulta" | |||
msgstr[1] "%(num)s consultas" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Query" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Linha do tempo" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Ação" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Conexão:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Nível de isolamento:" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Status da transação:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(unknown)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "Nenhuma consulta SQL foi registrada durante esta requisição." | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Voltar" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "SQL explicada" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "SQL Executada" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Banco de dados" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "SQL perfilado" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Erro" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "SQL selecionada" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Conjunto vazio" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "Caminho do arquivo estático" | |||
msgstr[1] "Caminho dos arquivos estáticos" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "(prefixo %(prefix)s)" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Nenhum" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "Arquivo estático de app" | |||
msgstr[1] "Arquivos estáticos de apps" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "Arquivo estático" | |||
msgstr[1] "Arquivos estáticos" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "%(payload_count)s arquivo" | |||
msgstr[1] "%(payload_count)s arquivos" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "Caminho" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "Origem do Template:" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Caminho do Template" | |||
msgstr[1] "Caminho do Templates" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Template" | |||
msgstr[1] "Templates" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "Alternar contexto" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
msgstr[1] "Processador do Contexto" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "Uso de recursos" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Recurso" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "Cronometragem do Navegador" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "Atributo de Cronometragem" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "Milissegundos desde início de navegação (+length)" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Nome" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Versão" |
@@ -0,0 +1,695 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Ilya Baryshev <baryshev@gmail.com>, 2013 | |||
# Mikhail Korobov, 2009 | |||
# Алексей Борискин <sun.void@gmail.com>, 2013 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2016-07-21 16:45+0600\n" | |||
"PO-Revision-Date: 2016-07-21 17:22+0600\n" | |||
"Last-Translator: Igor 'idle sign' Starikov <idlesign@yandex.ru>\n" | |||
"Language-Team: Russian (http://www.transifex.com/projects/p/django-debug-" | |||
"toolbar/language/ru/)\n" | |||
"Language: ru\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" | |||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" | |||
"X-Generator: Poedit 1.8.7.1\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "Отладочная панель" | |||
#: panels/cache.py:204 | |||
msgid "Cache" | |||
msgstr "Кеш" | |||
#: panels/cache.py:209 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d обращение за %(time).2f мс" | |||
msgstr[1] "%(cache_calls)d обращения за %(time).2f мс" | |||
msgstr[2] "%(cache_calls)d обращений за %(time).2f мс" | |||
#: panels/cache.py:217 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "Обращения к кешу от %(count)d бэкенда" | |||
msgstr[1] "Обращения к кешу от %(count)d бэкендов" | |||
msgstr[2] "Обращения к кешу от %(count)d бэкендов" | |||
#: panels/headers.py:34 | |||
msgid "Headers" | |||
msgstr "Заголовки" | |||
#: panels/logging.py:66 | |||
msgid "Logging" | |||
msgstr "Логи" | |||
#: panels/logging.py:72 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s сообщение" | |||
msgstr[1] "%(count)s сообщений" | |||
msgstr[2] "%(count)s сообщений" | |||
#: panels/logging.py:75 | |||
msgid "Log messages" | |||
msgstr "Сообщения в логе" | |||
#: panels/profiling.py:144 | |||
msgid "Profiling" | |||
msgstr "Профилирование" | |||
#: panels/redirects.py:16 | |||
msgid "Intercept redirects" | |||
msgstr "Перехватывать перенаправления" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Запрос" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<нет представления>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<недоступно>" | |||
#: panels/settings.py:18 | |||
msgid "Settings" | |||
msgstr "Настройки" | |||
#: panels/settings.py:21 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Настройки из <code>%s</code>" | |||
#: panels/signals.py:44 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d получатель 1 сигнала" | |||
msgstr[1] "%(num_receivers)d получателя 1 сигнала" | |||
msgstr[2] "%(num_receivers)d получателей 1 сигнала" | |||
#: panels/signals.py:47 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d получатель %(num_signals)d сигнала(ов)" | |||
msgstr[1] "%(num_receivers)d получателя %(num_signals)d сигнала(ов)" | |||
msgstr[2] "%(num_receivers)d получателей %(num_signals)d сигнала(ов)" | |||
#: panels/signals.py:52 | |||
msgid "Signals" | |||
msgstr "Сигналы" | |||
#: panels/sql/panel.py:25 | |||
msgid "Autocommit" | |||
msgstr "Autocommit" | |||
#: panels/sql/panel.py:26 | |||
msgid "Read uncommitted" | |||
msgstr "Read uncommitted" | |||
#: panels/sql/panel.py:27 | |||
msgid "Read committed" | |||
msgstr "Read committed" | |||
#: panels/sql/panel.py:28 | |||
msgid "Repeatable read" | |||
msgstr "Repeatable read" | |||
#: panels/sql/panel.py:29 | |||
msgid "Serializable" | |||
msgstr "Сериализуемый" | |||
#: panels/sql/panel.py:40 | |||
msgid "Idle" | |||
msgstr "Ожидание" | |||
#: panels/sql/panel.py:41 | |||
msgid "Active" | |||
msgstr "Действие" | |||
#: panels/sql/panel.py:42 | |||
msgid "In transaction" | |||
msgstr "В транзакции" | |||
#: panels/sql/panel.py:43 | |||
msgid "In error" | |||
msgstr "Ошибка" | |||
#: panels/sql/panel.py:44 | |||
msgid "Unknown" | |||
msgstr "Неизвестно" | |||
#: panels/sql/panel.py:108 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/staticfiles.py:87 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "Файлов статики (вего: %(num_found)s, использовано: %(num_used)s)" | |||
#: panels/staticfiles.py:105 | |||
msgid "Static files" | |||
msgstr "Статика" | |||
#: panels/staticfiles.py:110 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "%(num_used)s файл используется" | |||
msgstr[1] "%(num_used)s файла используются" | |||
msgstr[2] "%(num_used)s файлов используются" | |||
#: panels/templates/panel.py:128 | |||
msgid "Templates" | |||
msgstr "Шаблоны" | |||
#: panels/templates/panel.py:133 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Шаблоны (обработано %(num_templates)s)" | |||
#: panels/templates/panel.py:164 | |||
msgid "No origin" | |||
msgstr "Нет источника" | |||
#: panels/timer.py:26 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2f мс (%(total)0.2f мс)" | |||
#: panels/timer.py:31 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Итого: %0.2f мс" | |||
#: panels/timer.py:37 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Время" | |||
#: panels/timer.py:45 | |||
msgid "User CPU time" | |||
msgstr "Пользовательское время ядра" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f мс" | |||
#: panels/timer.py:46 | |||
msgid "System CPU time" | |||
msgstr "Системное время ядра" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f мс" | |||
#: panels/timer.py:47 | |||
msgid "Total CPU time" | |||
msgstr "Общее время ядра" | |||
#: panels/timer.py:47 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f мс" | |||
#: panels/timer.py:48 | |||
msgid "Elapsed time" | |||
msgstr "Затраченное время" | |||
#: panels/timer.py:48 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f мс" | |||
#: panels/timer.py:49 | |||
msgid "Context switches" | |||
msgstr "Переключения контекста" | |||
#: panels/timer.py:49 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d намеренных, %(ivcsw)d вынужденных" | |||
#: panels/versions.py:20 | |||
msgid "Versions" | |||
msgstr "Версии" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Скрыть панель" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Скрыть" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "Отключить для последующих запросов" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "Включить для последующих запросов" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Показать панель" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Сводка" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "Всего вызовов" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "Общее время" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "Попадания" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "Промахи" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Команды" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Вызовы" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:23 | |||
msgid "Time (ms)" | |||
msgstr "Время (мс)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Тип" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "Аргументы" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "Именованные аргументы" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Бэкенд" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "Заголовки запроса" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Заголовок" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Значение" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "Заголовки ответа" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "WSGI-окружение" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
"Так как WSGI-окружение наследует окружение сервера, ниже отображены лишь те " | |||
"из переменных, которые важны для нужд отладки." | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Уровень" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Канал" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Сообщение" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Location" | |||
msgstr "Место" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Сообщений нет" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Вызов" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "КумулВрем" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "ЗаВызов" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "ИтогВремя" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Кол-во" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Информация о представлении" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "Функция представления" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "Имя URL" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "Куки" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Переменная" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "Нет куков" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "Сессия" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "Нет данных в сессии" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "GET" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Нет GET данных" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "POST" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Нет POST данных" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Параметр" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Сигнал" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "Аргументы" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Получатели сигнала" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s запрос" | |||
msgstr[1] "%(num)s запроса" | |||
msgstr[2] "%(num)s запросов" | |||
#: templates/debug_toolbar/panels/sql.html:9 | |||
#, python-format | |||
msgid "including %(dupes)s duplicates" | |||
msgstr "включая дублей: %(dupes)s" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Query" | |||
msgstr "Запрос" | |||
#: templates/debug_toolbar/panels/sql.html:22 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Временная диаграмма" | |||
#: templates/debug_toolbar/panels/sql.html:24 | |||
msgid "Action" | |||
msgstr "Действие" | |||
#: templates/debug_toolbar/panels/sql.html:41 | |||
#, python-format | |||
msgid "Duplicated %(dupes)s times." | |||
msgstr "Дублей: %(dupes)s." | |||
#: templates/debug_toolbar/panels/sql.html:73 | |||
msgid "Connection:" | |||
msgstr "Соединение:" | |||
#: templates/debug_toolbar/panels/sql.html:75 | |||
msgid "Isolation level:" | |||
msgstr "Уровень изоляции:" | |||
#: templates/debug_toolbar/panels/sql.html:78 | |||
msgid "Transaction status:" | |||
msgstr "Статус транзакции:" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "(unknown)" | |||
msgstr "(неизвестно)" | |||
#: templates/debug_toolbar/panels/sql.html:101 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "" | |||
"Во время обработки этого HTTP-запроса не было записано ни одного SQL-запроса." | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "SQL Explain" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "Запрос" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "База данных" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "Профилирование SQL" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Ошибка" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "Выбранные SQL-запросы" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Ничего, ноль строк" | |||
#: templates/debug_toolbar/panels/staticfiles.html:3 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "Путь к статике" | |||
msgstr[1] "Пути к статике" | |||
msgstr[2] "Пути к статике" | |||
#: templates/debug_toolbar/panels/staticfiles.html:7 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "(префикс %(prefix)s)" | |||
#: templates/debug_toolbar/panels/staticfiles.html:11 | |||
#: templates/debug_toolbar/panels/staticfiles.html:22 | |||
#: templates/debug_toolbar/panels/staticfiles.html:34 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Нет" | |||
#: templates/debug_toolbar/panels/staticfiles.html:14 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "Приложение со статикой" | |||
msgstr[1] "Приложения со статикой" | |||
msgstr[2] "Приложения со статикой" | |||
#: templates/debug_toolbar/panels/staticfiles.html:25 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "Файл статики" | |||
msgstr[1] "Файлы статики" | |||
msgstr[2] "Файлы статики" | |||
#: templates/debug_toolbar/panels/staticfiles.html:39 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "%(payload_count)s файл" | |||
msgstr[1] "%(payload_count)s файла" | |||
msgstr[2] "%(payload_count)s файлов" | |||
#: templates/debug_toolbar/panels/staticfiles.html:43 | |||
msgid "Path" | |||
msgstr "Путь" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "Источник шаблона:" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Путь к шаблонам" | |||
msgstr[1] "Пути к шаблонам" | |||
msgstr[2] "Пути к шаблонам" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Шаблон" | |||
msgstr[1] "Шаблоны" | |||
msgstr[2] "Шаблоны" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "Контекст" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "Контекст процессор" | |||
msgstr[1] "Контекст процессоры" | |||
msgstr[2] "Контекст процессоры" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "Потребление ресурсов" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Ресурс" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "Браузерное время" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "Событие" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "С начала навигации в мс (+продолжительность)" | |||
#: templates/debug_toolbar/panels/versions.html:7 | |||
msgid "Package" | |||
msgstr "Пакет" | |||
#: templates/debug_toolbar/panels/versions.html:8 | |||
msgid "Name" | |||
msgstr "Название" | |||
#: templates/debug_toolbar/panels/versions.html:9 | |||
msgid "Version" | |||
msgstr "Версия" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Место:" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
"Django Debug Toolbar перехватил перенаправление на адрес, указанный выше. Вы " | |||
"можете нажать на ссылку, чтобы выполнить переход самостоятельно." | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
"Данные этой панели больше недоступны. Пожалуйста, перезагрузите страницу и " | |||
"попробуйте ещё раз." | |||
#~ msgid "Close" | |||
#~ msgstr "Закрыть" | |||
#~ msgid "Back" | |||
#~ msgstr "Назад" |
@@ -0,0 +1,672 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Juraj Bubniak <translations@jbub.eu>, 2012 | |||
# Juraj Bubniak <translations@jbub.eu>, 2013 | |||
# Rastislav Kober <kybiky@gmail.com>, 2012 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Slovak (http://www.transifex.com/projects/p/django-debug-toolbar/language/sk/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: sk\n" | |||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "Dáta pre tento panel už nie sú k dispozícii. Načítajte si prosím stránku a skúste to znova." | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Cache" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(cache_calls)d volanie za %(time).2fms" | |||
msgstr[1] "%(cache_calls)d volaní za %(time).2fms" | |||
msgstr[2] "%(cache_calls)d volaní za %(time).2fms" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "Cache volania z %(count)d backendu" | |||
msgstr[1] "Cache volania z %(count)d backendov" | |||
msgstr[2] "Cache volania z %(count)d backendov" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "Hlavičky" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Zápis" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s správa" | |||
msgstr[1] "%(count)s správ" | |||
msgstr[2] "%(count)s správ" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "Správy zápisu" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Analýza" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "Zachytiť presmerovania" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "Požiadavka" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<ziadne zobrazenie>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<nedostupny>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Nastavenia" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "Nastavenia z <code>%s</code>" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "%(num_receivers)d príjemca 1 signálu" | |||
msgstr[1] "%(num_receivers)d príjemcov 1 signálu" | |||
msgstr[2] "%(num_receivers)d príjemcov 1 signálu" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_receivers)d príjemca %(num_signals)d signálov" | |||
msgstr[1] "%(num_receivers)d príjemcov %(num_signals)d signálov" | |||
msgstr[2] "%(num_receivers)d príjemcov %(num_signals)d signálov" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Signály" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "Statické súbory (%(num_found)s nájdených, %(num_used)s použitých)" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Statické súbory" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "%(num_used)s použitý súbor" | |||
msgstr[1] "%(num_used)s použitých súborov" | |||
msgstr[2] "%(num_used)s použitých súborov" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "Celkovo: %0.2fms" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Čas" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "Užívateľský čas CPU" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f msek" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "Systémový čas CPU" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f msek" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "Celkový čas CPU" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f msek" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "Uplynutý čas" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f msek" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "Prepnutí kontextu" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d dobrovoľných, %(ivcsw)d nedobrovoľných" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Verzie" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "Autocommit" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "Read uncommitted" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "Read committed" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "Opakovateľné čítanie" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Premenná" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "Nečinný" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Akcia" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "Stav transakcie:" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "Chyba" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "(neznámy)" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Šablóny" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Šablóny (%(num_templates)s spracovaných)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "Skryť panel nástrojov" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Skryť" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "Zakázať pre ďalšie a nasledujúce požiadavky" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "Povoliť pre ďalšie a nasledujúce požiadavky" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "Zobraziť panel nástrojov" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Zatvoriť" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "Poloha:" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "Django Debug Toolbar zachytil presmerovanie na vyššie uvedenú URL pre účely ladenia. Pre normálne presmerovanie môžete kliknúť na vyššie uvedený odkaz." | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Zhrnutie" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "Celkovo volaní" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "Celkový čas" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "Volaní cache" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "Vynechania cache" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "Príkazy" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "Volania" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Čas (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Typ" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "Argumenty" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "Kľúčové argumenty" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "Backend" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "Hlavičky požiadavky" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Kľúč" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Hodnota" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "Hlavičky odpovede" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "WSGI prostredie" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "Keďže WSGI prostredie dedí z prostredia servera, je nižšie zobrazená iba významná podmnožina." | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Úroveň" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "Kanál" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Správa" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Poloha" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Žiadne správy neboli zaznamenané" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "Volanie" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "CumTime" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "Za" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "TotTime" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Počet" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Zobraziť informácie" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "View funkcia" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "URL meno" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "Cookies" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Premenná" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "Žiadne cookies" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "Dáta relácie" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "Žiadne dáta relácie" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "GET dáta" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Žiadne GET dáta" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "POST dáta" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Žiadne POST dáta" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Nastavenie" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Signál" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "Poskytuje" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Príjemcovia" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s dopyt" | |||
msgstr[1] "%(num)s dopytov" | |||
msgstr[2] "%(num)s dopytov" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Dopyt" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "Časová os" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Akcia" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Pripojenie:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "Úroveň izolácie:" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "Stav transakcie:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(neznámy)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "V priebehu tejto požiadavky neboli zaznamenané žiadne SQL dopyty." | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Späť" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "SQL vysvetlené" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "Vykonané SQL" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Databáza" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "SQL profilované" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Chyba" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "SQL označené" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Prázdny rad" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "Cesta k statickému súboru" | |||
msgstr[1] "Cesty k statickým súborom" | |||
msgstr[2] "Cesty k statickým súborom" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "(prefix %(prefix)s)" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Žiadny" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "Aplikácia pre statické súbory" | |||
msgstr[1] "Aplikácie pre statické súbory" | |||
msgstr[2] "Aplikácie pre statické súbory" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "Statické súbory" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "%(payload_count)s súbor" | |||
msgstr[1] "%(payload_count)s súborov" | |||
msgstr[2] "%(payload_count)s súborov" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "Cesta" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "Zdrojový kód šablóny:" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "Cesta k šablóne" | |||
msgstr[1] "Cesta k šablóne" | |||
msgstr[2] "Cesta k šablóne" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Šablóna" | |||
msgstr[1] "Šablóna" | |||
msgstr[2] "Šablóna" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "Prepnúť kontext" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "Spracovateľ kontextu" | |||
msgstr[1] "Spracovateľ kontextu" | |||
msgstr[2] "Spracovateľ kontextu" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "Využitie prostriedkov" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Prostriedok" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "Čas prehliadača" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "Časový atribút" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "Milisekúnd od spustenia navigácie (+dĺžka)" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Meno" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Verzia" |
@@ -0,0 +1,657 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Alex Nordlund <deep.alexander@gmail.com>, 2012-2013 | |||
# Alex Nordlund <deep.alexander@gmail.com>, 2012 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/django-debug-toolbar/language/sv_SE/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: sv_SE\n" | |||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Cache" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s meddelande" | |||
msgstr[1] "%(count)s meddelanden" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "Profilering" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Inställningar" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Signaler" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "Statiska filer" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Tid" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Versioner" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "Variabel" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "Åtgärd" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "Felmeddelande" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "(okänd)" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Mallar" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Dölj" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Stäng" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "Sammanfattning" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Tid (ms)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Nyckel" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Värde" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Nivå" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Meddelande" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Plats" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "Räkna" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "Visa informationen" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Variabel" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Ingen GET data" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Ingen POST data" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "Inställning" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Signal" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Mottagare" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Fråga" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Åtgärd" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "Anslutning:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(okänd)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Bakåt" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "Utförd SQL" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "Databas" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Felmeddelande" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "Tomt set" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "Inget" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "Statiska filer" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "Sökväg" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Mall" | |||
msgstr[1] "Mallar" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "Resurs" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "Namn" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Version" |
@@ -0,0 +1,670 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# Sergey Lysach <sergikoff88@gmail.com>, 2013 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/django-debug-toolbar/language/uk/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: uk\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" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "Кеш" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "Логи" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "Налаштування" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "Сигнали" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "Час" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "Версії" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "Шаблони" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "Шаблони (оброблено %(num_templates)s)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "Сховати" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "Закрити" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "Час (мс)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "Тип" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "Ключ" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "Значення" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "Рівень" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "Повідомлення" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "Місце" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "Повідомлень немає" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "Змінна" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "Немає GET даних" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "Немає POST даних" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "Сигнал" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "Отримувачі сигнала" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "Запит" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "Подія" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "Назад" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "База даних" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "Помилка" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "Шаблон" | |||
msgstr[1] "Шаблони" | |||
msgstr[2] "Шаблонів" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "" | |||
msgstr[1] "" | |||
msgstr[2] "" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "Версія" |
@@ -0,0 +1,642 @@ | |||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |||
# This file is distributed under the same license as the PACKAGE package. | |||
# | |||
# | |||
# Translators: | |||
# mozillazg <opensource.mozillazg@gmail.com>, 2013-2014 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: Django Debug Toolbar\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2014-04-25 21:52+0200\n" | |||
"PO-Revision-Date: 2014-04-25 19:53+0000\n" | |||
"Last-Translator: Aymeric Augustin <aymeric.augustin@m4x.org>\n" | |||
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/django-debug-toolbar/language/zh_CN/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: zh_CN\n" | |||
"Plural-Forms: nplurals=1; plural=0;\n" | |||
#: apps.py:11 | |||
msgid "Debug Toolbar" | |||
msgstr "" | |||
#: views.py:14 | |||
msgid "" | |||
"Data for this panel isn't available anymore. Please reload the page and " | |||
"retry." | |||
msgstr "当前面板的数据暂不可用。请刷新页面并重试。" | |||
#: panels/cache.py:191 | |||
msgid "Cache" | |||
msgstr "缓存" | |||
#: panels/cache.py:196 | |||
#, python-format | |||
msgid "%(cache_calls)d call in %(time).2fms" | |||
msgid_plural "%(cache_calls)d calls in %(time).2fms" | |||
msgstr[0] "%(time).2f 毫秒内 %(cache_calls)d 次调用" | |||
#: panels/cache.py:204 | |||
#, python-format | |||
msgid "Cache calls from %(count)d backend" | |||
msgid_plural "Cache calls from %(count)d backends" | |||
msgstr[0] "来自 %(count)d 个后端的缓存调用" | |||
#: panels/headers.py:35 | |||
msgid "Headers" | |||
msgstr "HTTP 头" | |||
#: panels/logging.py:64 | |||
msgid "Logging" | |||
msgstr "日志" | |||
#: panels/logging.py:70 | |||
#, python-format | |||
msgid "%(count)s message" | |||
msgid_plural "%(count)s messages" | |||
msgstr[0] "%(count)s 条消息" | |||
#: panels/logging.py:73 | |||
msgid "Log messages" | |||
msgstr "日志信息" | |||
#: panels/profiling.py:127 | |||
msgid "Profiling" | |||
msgstr "性能分析" | |||
#: panels/redirects.py:17 | |||
msgid "Intercept redirects" | |||
msgstr "拦截重定向" | |||
#: panels/request.py:18 | |||
msgid "Request" | |||
msgstr "请求" | |||
#: panels/request.py:35 | |||
msgid "<no view>" | |||
msgstr "<没有 view>" | |||
#: panels/request.py:47 | |||
msgid "<unavailable>" | |||
msgstr "<不可用>" | |||
#: panels/settings.py:20 | |||
msgid "Settings" | |||
msgstr "设置" | |||
#: panels/settings.py:23 | |||
#, python-format | |||
msgid "Settings from <code>%s</code>" | |||
msgstr "来自 <code>%s</code> 的设置" | |||
#: panels/signals.py:45 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of 1 signal" | |||
msgid_plural "%(num_receivers)d receivers of 1 signal" | |||
msgstr[0] "1个信号 %(num_receivers)d 个接收者" | |||
#: panels/signals.py:48 | |||
#, python-format | |||
msgid "%(num_receivers)d receiver of %(num_signals)d signals" | |||
msgid_plural "%(num_receivers)d receivers of %(num_signals)d signals" | |||
msgstr[0] "%(num_signals)d 个信号 %(num_receivers)d 个接收者" | |||
#: panels/signals.py:53 | |||
msgid "Signals" | |||
msgstr "信号" | |||
#: panels/staticfiles.py:89 | |||
#, python-format | |||
msgid "Static files (%(num_found)s found, %(num_used)s used)" | |||
msgstr "静态文件 (%(num_found)s 个找到,%(num_used)s 个被使用)" | |||
#: panels/staticfiles.py:107 | |||
msgid "Static files" | |||
msgstr "静态文件" | |||
#: panels/staticfiles.py:112 | |||
#, python-format | |||
msgid "%(num_used)s file used" | |||
msgid_plural "%(num_used)s files used" | |||
msgstr[0] "%(num_used)s 个文件被使用" | |||
#: panels/timer.py:23 | |||
#, python-format | |||
msgid "CPU: %(cum)0.2fms (%(total)0.2fms)" | |||
msgstr "CPU: %(cum)0.2f 毫秒 (总耗时: %(total)0.2f 毫秒)" | |||
#: panels/timer.py:28 | |||
#, python-format | |||
msgid "Total: %0.2fms" | |||
msgstr "总共:%0.2f 毫秒" | |||
#: panels/timer.py:34 templates/debug_toolbar/panels/logging.html:7 | |||
#: templates/debug_toolbar/panels/sql_explain.html:11 | |||
#: templates/debug_toolbar/panels/sql_profile.html:12 | |||
#: templates/debug_toolbar/panels/sql_select.html:11 | |||
msgid "Time" | |||
msgstr "时间" | |||
#: panels/timer.py:42 | |||
msgid "User CPU time" | |||
msgstr "用户 CPU 时间" | |||
#: panels/timer.py:42 | |||
#, python-format | |||
msgid "%(utime)0.3f msec" | |||
msgstr "%(utime)0.3f 毫秒" | |||
#: panels/timer.py:43 | |||
msgid "System CPU time" | |||
msgstr "系统 CPU 时间" | |||
#: panels/timer.py:43 | |||
#, python-format | |||
msgid "%(stime)0.3f msec" | |||
msgstr "%(stime)0.3f 毫秒" | |||
#: panels/timer.py:44 | |||
msgid "Total CPU time" | |||
msgstr "总的 CPU 时间" | |||
#: panels/timer.py:44 | |||
#, python-format | |||
msgid "%(total)0.3f msec" | |||
msgstr "%(total)0.3f 毫秒" | |||
#: panels/timer.py:45 | |||
msgid "Elapsed time" | |||
msgstr "耗时" | |||
#: panels/timer.py:45 | |||
#, python-format | |||
msgid "%(total_time)0.3f msec" | |||
msgstr "%(total_time)0.3f 毫秒" | |||
#: panels/timer.py:46 | |||
msgid "Context switches" | |||
msgstr "上下文切换" | |||
#: panels/timer.py:46 | |||
#, python-format | |||
msgid "%(vcsw)d voluntary, %(ivcsw)d involuntary" | |||
msgstr "%(vcsw)d 主动, %(ivcsw)d 被动" | |||
#: panels/versions.py:25 | |||
msgid "Versions" | |||
msgstr "版本" | |||
#: panels/sql/panel.py:22 | |||
msgid "Autocommit" | |||
msgstr "自动提交" | |||
#: panels/sql/panel.py:23 | |||
msgid "Read uncommitted" | |||
msgstr "读取未提交的" | |||
#: panels/sql/panel.py:24 | |||
msgid "Read committed" | |||
msgstr "读取已提交的" | |||
#: panels/sql/panel.py:25 | |||
msgid "Repeatable read" | |||
msgstr "可重复读取" | |||
#: panels/sql/panel.py:26 | |||
msgid "Serializable" | |||
msgstr "可序列化" | |||
#: panels/sql/panel.py:37 | |||
msgid "Idle" | |||
msgstr "空闲" | |||
#: panels/sql/panel.py:38 | |||
msgid "Active" | |||
msgstr "活跃" | |||
#: panels/sql/panel.py:39 | |||
msgid "In transaction" | |||
msgstr "事务" | |||
#: panels/sql/panel.py:40 | |||
msgid "In error" | |||
msgstr "错误" | |||
#: panels/sql/panel.py:41 | |||
msgid "Unknown" | |||
msgstr "未知" | |||
#: panels/sql/panel.py:105 | |||
msgid "SQL" | |||
msgstr "SQL" | |||
#: panels/templates/panel.py:141 | |||
msgid "Templates" | |||
msgstr "模板" | |||
#: panels/templates/panel.py:146 | |||
#, python-format | |||
msgid "Templates (%(num_templates)s rendered)" | |||
msgstr "模板 (%(num_templates)s 个被渲染)" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide toolbar" | |||
msgstr "隐藏工具栏" | |||
#: templates/debug_toolbar/base.html:19 | |||
msgid "Hide" | |||
msgstr "隐藏" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Disable for next and successive requests" | |||
msgstr "针对下一个连续的请求禁用该功能" | |||
#: templates/debug_toolbar/base.html:25 | |||
msgid "Enable for next and successive requests" | |||
msgstr "针对下一个连续的请求启用该功能" | |||
#: templates/debug_toolbar/base.html:47 | |||
msgid "Show toolbar" | |||
msgstr "显示工具栏" | |||
#: templates/debug_toolbar/base.html:53 | |||
msgid "Close" | |||
msgstr "关闭" | |||
#: templates/debug_toolbar/redirect.html:8 | |||
msgid "Location:" | |||
msgstr "位置:" | |||
#: templates/debug_toolbar/redirect.html:10 | |||
msgid "" | |||
"The Django Debug Toolbar has intercepted a redirect to the above URL for " | |||
"debug viewing purposes. You can click the above link to continue with the " | |||
"redirect as normal." | |||
msgstr "Django Debug Toolbar 为了调试目的拦截了一个重定向到上面 URL 的请求。 您可以点击上面的链接继续执行重定向操作。" | |||
#: templates/debug_toolbar/panels/cache.html:2 | |||
msgid "Summary" | |||
msgstr "摘要" | |||
#: templates/debug_toolbar/panels/cache.html:6 | |||
msgid "Total calls" | |||
msgstr "总调用次数" | |||
#: templates/debug_toolbar/panels/cache.html:7 | |||
msgid "Total time" | |||
msgstr "总耗时" | |||
#: templates/debug_toolbar/panels/cache.html:8 | |||
msgid "Cache hits" | |||
msgstr "缓存命中" | |||
#: templates/debug_toolbar/panels/cache.html:9 | |||
msgid "Cache misses" | |||
msgstr "缓存未命中" | |||
#: templates/debug_toolbar/panels/cache.html:21 | |||
msgid "Commands" | |||
msgstr "命令" | |||
#: templates/debug_toolbar/panels/cache.html:39 | |||
msgid "Calls" | |||
msgstr "调用" | |||
#: templates/debug_toolbar/panels/cache.html:43 | |||
#: templates/debug_toolbar/panels/sql.html:20 | |||
msgid "Time (ms)" | |||
msgstr "时间(毫秒)" | |||
#: templates/debug_toolbar/panels/cache.html:44 | |||
msgid "Type" | |||
msgstr "类型" | |||
#: templates/debug_toolbar/panels/cache.html:45 | |||
#: templates/debug_toolbar/panels/request.html:8 | |||
msgid "Arguments" | |||
msgstr "参数" | |||
#: templates/debug_toolbar/panels/cache.html:46 | |||
#: templates/debug_toolbar/panels/request.html:9 | |||
msgid "Keyword arguments" | |||
msgstr "关键字参数" | |||
#: templates/debug_toolbar/panels/cache.html:47 | |||
msgid "Backend" | |||
msgstr "后端" | |||
#: templates/debug_toolbar/panels/headers.html:3 | |||
msgid "Request headers" | |||
msgstr "请求头" | |||
#: templates/debug_toolbar/panels/headers.html:8 | |||
#: templates/debug_toolbar/panels/headers.html:27 | |||
#: templates/debug_toolbar/panels/headers.html:48 | |||
msgid "Key" | |||
msgstr "键" | |||
#: templates/debug_toolbar/panels/headers.html:9 | |||
#: templates/debug_toolbar/panels/headers.html:28 | |||
#: templates/debug_toolbar/panels/headers.html:49 | |||
#: templates/debug_toolbar/panels/request.html:33 | |||
#: templates/debug_toolbar/panels/request.html:59 | |||
#: templates/debug_toolbar/panels/request.html:85 | |||
#: templates/debug_toolbar/panels/request.html:110 | |||
#: templates/debug_toolbar/panels/settings.html:6 | |||
#: templates/debug_toolbar/panels/timer.html:11 | |||
msgid "Value" | |||
msgstr "值" | |||
#: templates/debug_toolbar/panels/headers.html:22 | |||
msgid "Response headers" | |||
msgstr "响应头" | |||
#: templates/debug_toolbar/panels/headers.html:41 | |||
msgid "WSGI environ" | |||
msgstr "WSGI 环境变量" | |||
#: templates/debug_toolbar/panels/headers.html:43 | |||
msgid "" | |||
"Since the WSGI environ inherits the environment of the server, only a " | |||
"significant subset is shown below." | |||
msgstr "由于 WSGI 的环境变量继承自 server,所以下面只显示了一些重要的子集。" | |||
#: templates/debug_toolbar/panels/logging.html:6 | |||
msgid "Level" | |||
msgstr "级别" | |||
#: templates/debug_toolbar/panels/logging.html:8 | |||
msgid "Channel" | |||
msgstr "频道" | |||
#: templates/debug_toolbar/panels/logging.html:9 | |||
msgid "Message" | |||
msgstr "消息" | |||
#: templates/debug_toolbar/panels/logging.html:10 | |||
#: templates/debug_toolbar/panels/staticfiles.html:45 | |||
msgid "Location" | |||
msgstr "位置" | |||
#: templates/debug_toolbar/panels/logging.html:26 | |||
msgid "No messages logged" | |||
msgstr "没有消息被记录" | |||
#: templates/debug_toolbar/panels/profiling.html:5 | |||
msgid "Call" | |||
msgstr "调用" | |||
#: templates/debug_toolbar/panels/profiling.html:6 | |||
msgid "CumTime" | |||
msgstr "调用该函数及其内部调用其他函数花费的总时间" | |||
#: templates/debug_toolbar/panels/profiling.html:7 | |||
#: templates/debug_toolbar/panels/profiling.html:9 | |||
msgid "Per" | |||
msgstr "平均每次调用花费的时间" | |||
#: templates/debug_toolbar/panels/profiling.html:8 | |||
msgid "TotTime" | |||
msgstr "调用该函数花费的总时间" | |||
#: templates/debug_toolbar/panels/profiling.html:10 | |||
msgid "Count" | |||
msgstr "总的调用次数" | |||
#: templates/debug_toolbar/panels/request.html:3 | |||
msgid "View information" | |||
msgstr "View 信息" | |||
#: templates/debug_toolbar/panels/request.html:7 | |||
msgid "View function" | |||
msgstr "View 函数" | |||
#: templates/debug_toolbar/panels/request.html:10 | |||
msgid "URL name" | |||
msgstr "URL 名称" | |||
#: templates/debug_toolbar/panels/request.html:24 | |||
msgid "Cookies" | |||
msgstr "Cookies" | |||
#: templates/debug_toolbar/panels/request.html:32 | |||
#: templates/debug_toolbar/panels/request.html:58 | |||
#: templates/debug_toolbar/panels/request.html:84 | |||
#: templates/debug_toolbar/panels/request.html:109 | |||
msgid "Variable" | |||
msgstr "变量" | |||
#: templates/debug_toolbar/panels/request.html:46 | |||
msgid "No cookies" | |||
msgstr "没有 cookies" | |||
#: templates/debug_toolbar/panels/request.html:50 | |||
msgid "Session data" | |||
msgstr "Session 数据" | |||
#: templates/debug_toolbar/panels/request.html:72 | |||
msgid "No session data" | |||
msgstr "没有 session 数据" | |||
#: templates/debug_toolbar/panels/request.html:76 | |||
msgid "GET data" | |||
msgstr "GET 请求数据" | |||
#: templates/debug_toolbar/panels/request.html:98 | |||
msgid "No GET data" | |||
msgstr "没有 GET 请求数据" | |||
#: templates/debug_toolbar/panels/request.html:102 | |||
msgid "POST data" | |||
msgstr "POST 请求数据" | |||
#: templates/debug_toolbar/panels/request.html:123 | |||
msgid "No POST data" | |||
msgstr "没有 POST 请求数据" | |||
#: templates/debug_toolbar/panels/settings.html:5 | |||
msgid "Setting" | |||
msgstr "设置项" | |||
#: templates/debug_toolbar/panels/signals.html:5 | |||
msgid "Signal" | |||
msgstr "信号" | |||
#: templates/debug_toolbar/panels/signals.html:6 | |||
msgid "Providing" | |||
msgstr "提供" | |||
#: templates/debug_toolbar/panels/signals.html:7 | |||
msgid "Receivers" | |||
msgstr "接收者" | |||
#: templates/debug_toolbar/panels/sql.html:7 | |||
#, python-format | |||
msgid "%(num)s query" | |||
msgid_plural "%(num)s queries" | |||
msgstr[0] "%(num)s 个查询" | |||
#: templates/debug_toolbar/panels/sql.html:18 | |||
msgid "Query" | |||
msgstr "查询" | |||
#: templates/debug_toolbar/panels/sql.html:19 | |||
#: templates/debug_toolbar/panels/timer.html:36 | |||
msgid "Timeline" | |||
msgstr "时间线" | |||
#: templates/debug_toolbar/panels/sql.html:21 | |||
msgid "Action" | |||
msgstr "功能" | |||
#: templates/debug_toolbar/panels/sql.html:64 | |||
msgid "Connection:" | |||
msgstr "连接:" | |||
#: templates/debug_toolbar/panels/sql.html:66 | |||
msgid "Isolation level:" | |||
msgstr "隔离级别" | |||
#: templates/debug_toolbar/panels/sql.html:69 | |||
msgid "Transaction status:" | |||
msgstr "事务状态:" | |||
#: templates/debug_toolbar/panels/sql.html:83 | |||
msgid "(unknown)" | |||
msgstr "(未知)" | |||
#: templates/debug_toolbar/panels/sql.html:92 | |||
msgid "No SQL queries were recorded during this request." | |||
msgstr "在处理这个请求期间没有记录到 SQL 查询。" | |||
#: templates/debug_toolbar/panels/sql_explain.html:3 | |||
#: templates/debug_toolbar/panels/sql_profile.html:3 | |||
#: templates/debug_toolbar/panels/sql_select.html:3 | |||
#: templates/debug_toolbar/panels/template_source.html:3 | |||
msgid "Back" | |||
msgstr "返回" | |||
#: templates/debug_toolbar/panels/sql_explain.html:4 | |||
msgid "SQL explained" | |||
msgstr "SQL explain 分析" | |||
#: templates/debug_toolbar/panels/sql_explain.html:9 | |||
#: templates/debug_toolbar/panels/sql_profile.html:10 | |||
#: templates/debug_toolbar/panels/sql_select.html:9 | |||
msgid "Executed SQL" | |||
msgstr "执行的 SQL 语句" | |||
#: templates/debug_toolbar/panels/sql_explain.html:13 | |||
#: templates/debug_toolbar/panels/sql_profile.html:14 | |||
#: templates/debug_toolbar/panels/sql_select.html:13 | |||
msgid "Database" | |||
msgstr "数据库" | |||
#: templates/debug_toolbar/panels/sql_profile.html:4 | |||
msgid "SQL profiled" | |||
msgstr "SQL 性能分析" | |||
#: templates/debug_toolbar/panels/sql_profile.html:37 | |||
msgid "Error" | |||
msgstr "错误" | |||
#: templates/debug_toolbar/panels/sql_select.html:4 | |||
msgid "SQL selected" | |||
msgstr "选中的 SQL 语句" | |||
#: templates/debug_toolbar/panels/sql_select.html:36 | |||
msgid "Empty set" | |||
msgstr "空集合" | |||
#: templates/debug_toolbar/panels/staticfiles.html:4 | |||
msgid "Static file path" | |||
msgid_plural "Static file paths" | |||
msgstr[0] "静态文件路径" | |||
#: templates/debug_toolbar/panels/staticfiles.html:8 | |||
#, python-format | |||
msgid "(prefix %(prefix)s)" | |||
msgstr "(前缀 %(prefix)s)" | |||
#: templates/debug_toolbar/panels/staticfiles.html:12 | |||
#: templates/debug_toolbar/panels/staticfiles.html:23 | |||
#: templates/debug_toolbar/panels/staticfiles.html:35 | |||
#: templates/debug_toolbar/panels/templates.html:10 | |||
#: templates/debug_toolbar/panels/templates.html:28 | |||
#: templates/debug_toolbar/panels/templates.html:43 | |||
msgid "None" | |||
msgstr "空" | |||
#: templates/debug_toolbar/panels/staticfiles.html:15 | |||
msgid "Static file app" | |||
msgid_plural "Static file apps" | |||
msgstr[0] "包含静态文件的应用" | |||
#: templates/debug_toolbar/panels/staticfiles.html:26 | |||
msgid "Static file" | |||
msgid_plural "Static files" | |||
msgstr[0] "静态文件" | |||
#: templates/debug_toolbar/panels/staticfiles.html:40 | |||
#, python-format | |||
msgid "%(payload_count)s file" | |||
msgid_plural "%(payload_count)s files" | |||
msgstr[0] "%(payload_count)s 个文件" | |||
#: templates/debug_toolbar/panels/staticfiles.html:44 | |||
msgid "Path" | |||
msgstr "路径" | |||
#: templates/debug_toolbar/panels/template_source.html:4 | |||
msgid "Template source:" | |||
msgstr "模板源:" | |||
#: templates/debug_toolbar/panels/templates.html:2 | |||
msgid "Template path" | |||
msgid_plural "Template paths" | |||
msgstr[0] "模板路径" | |||
#: templates/debug_toolbar/panels/templates.html:13 | |||
msgid "Template" | |||
msgid_plural "Templates" | |||
msgstr[0] "模板" | |||
#: templates/debug_toolbar/panels/templates.html:21 | |||
#: templates/debug_toolbar/panels/templates.html:37 | |||
msgid "Toggle context" | |||
msgstr "切换上下文" | |||
#: templates/debug_toolbar/panels/templates.html:31 | |||
msgid "Context processor" | |||
msgid_plural "Context processors" | |||
msgstr[0] "Context processors" | |||
#: templates/debug_toolbar/panels/timer.html:2 | |||
msgid "Resource usage" | |||
msgstr "资源使用" | |||
#: templates/debug_toolbar/panels/timer.html:10 | |||
msgid "Resource" | |||
msgstr "资源" | |||
#: templates/debug_toolbar/panels/timer.html:26 | |||
msgid "Browser timing" | |||
msgstr "浏览器计时" | |||
#: templates/debug_toolbar/panels/timer.html:35 | |||
msgid "Timing attribute" | |||
msgstr "计时属性" | |||
#: templates/debug_toolbar/panels/timer.html:37 | |||
msgid "Milliseconds since navigation start (+length)" | |||
msgstr "导航开始后的毫秒 (+长度)" | |||
#: templates/debug_toolbar/panels/versions.html:5 | |||
msgid "Name" | |||
msgstr "名称" | |||
#: templates/debug_toolbar/panels/versions.html:6 | |||
msgid "Version" | |||
msgstr "版本" |
@@ -0,0 +1,24 @@ | |||
from __future__ import absolute_import, print_function, unicode_literals | |||
from time import time | |||
import sqlparse | |||
# 'debugsqlshell' is the same as the 'shell'. | |||
from django.core.management.commands.shell import Command # noqa | |||
from django.db.backends import utils as db_backends_utils | |||
class PrintQueryWrapper(db_backends_utils.CursorDebugWrapper): | |||
def execute(self, sql, params=()): | |||
start_time = time() | |||
try: | |||
return self.cursor.execute(sql, params) | |||
finally: | |||
raw_sql = self.db.ops.last_executed_query(self.cursor, sql, params) | |||
end_time = time() | |||
duration = (end_time - start_time) * 1000 | |||
formatted_sql = sqlparse.format(raw_sql, reindent=True) | |||
print('%s [%.2fms]' % (formatted_sql, duration)) | |||
db_backends_utils.CursorDebugWrapper = PrintQueryWrapper |
@@ -0,0 +1,155 @@ | |||
""" | |||
Debug Toolbar middleware | |||
""" | |||
from __future__ import absolute_import, unicode_literals | |||
import re | |||
import threading | |||
from django.conf import settings | |||
from django.utils import six | |||
from django.utils.deprecation import MiddlewareMixin | |||
from django.utils.encoding import force_text | |||
from django.utils.lru_cache import lru_cache | |||
from django.utils.module_loading import import_string | |||
from debug_toolbar import settings as dt_settings | |||
from debug_toolbar.toolbar import DebugToolbar | |||
_HTML_TYPES = ('text/html', 'application/xhtml+xml') | |||
def show_toolbar(request): | |||
""" | |||
Default function to determine whether to show the toolbar on a given page. | |||
""" | |||
if request.META.get('REMOTE_ADDR', None) not in settings.INTERNAL_IPS: | |||
return False | |||
return bool(settings.DEBUG) | |||
@lru_cache() | |||
def get_show_toolbar(): | |||
# If SHOW_TOOLBAR_CALLBACK is a string, which is the recommended | |||
# setup, resolve it to the corresponding callable. | |||
func_or_path = dt_settings.get_config()['SHOW_TOOLBAR_CALLBACK'] | |||
if isinstance(func_or_path, six.string_types): | |||
return import_string(func_or_path) | |||
else: | |||
return func_or_path | |||
class DebugToolbarMiddleware(MiddlewareMixin): | |||
""" | |||
Middleware to set up Debug Toolbar on incoming request and render toolbar | |||
on outgoing response. | |||
""" | |||
debug_toolbars = {} | |||
def process_request(self, request): | |||
# Decide whether the toolbar is active for this request. | |||
show_toolbar = get_show_toolbar() | |||
if not show_toolbar(request): | |||
return | |||
# Don't render the toolbar during AJAX requests. | |||
if request.is_ajax(): | |||
return | |||
toolbar = DebugToolbar(request) | |||
self.__class__.debug_toolbars[threading.current_thread().ident] = toolbar | |||
# Activate instrumentation ie. monkey-patch. | |||
for panel in toolbar.enabled_panels: | |||
panel.enable_instrumentation() | |||
# Run process_request methods of panels like Django middleware. | |||
response = None | |||
for panel in toolbar.enabled_panels: | |||
response = panel.process_request(request) | |||
if response: | |||
break | |||
return response | |||
def process_view(self, request, view_func, view_args, view_kwargs): | |||
toolbar = self.__class__.debug_toolbars.get(threading.current_thread().ident) | |||
if not toolbar: | |||
return | |||
# Run process_view methods of panels like Django middleware. | |||
response = None | |||
for panel in toolbar.enabled_panels: | |||
response = panel.process_view(request, view_func, view_args, view_kwargs) | |||
if response: | |||
break | |||
return response | |||
def process_response(self, request, response): | |||
toolbar = self.__class__.debug_toolbars.pop(threading.current_thread().ident, None) | |||
if not toolbar: | |||
return response | |||
# Run process_response methods of panels like Django middleware. | |||
for panel in reversed(toolbar.enabled_panels): | |||
new_response = panel.process_response(request, response) | |||
if new_response: | |||
response = new_response | |||
# Deactivate instrumentation ie. monkey-unpatch. This must run | |||
# regardless of the response. Keep 'return' clauses below. | |||
# (NB: Django's model for middleware doesn't guarantee anything.) | |||
for panel in reversed(toolbar.enabled_panels): | |||
panel.disable_instrumentation() | |||
# Check for responses where the toolbar can't be inserted. | |||
content_encoding = response.get('Content-Encoding', '') | |||
content_type = response.get('Content-Type', '').split(';')[0] | |||
if any((getattr(response, 'streaming', False), | |||
'gzip' in content_encoding, | |||
content_type not in _HTML_TYPES)): | |||
return response | |||
# Collapse the toolbar by default if SHOW_COLLAPSED is set. | |||
if toolbar.config['SHOW_COLLAPSED'] and 'djdt' not in request.COOKIES: | |||
response.set_cookie('djdt', 'hide', 864000) | |||
# Insert the toolbar in the response. | |||
content = force_text(response.content, encoding=response.charset) | |||
insert_before = dt_settings.get_config()['INSERT_BEFORE'] | |||
pattern = re.escape(insert_before) | |||
bits = re.split(pattern, content, flags=re.IGNORECASE) | |||
if len(bits) > 1: | |||
# When the toolbar will be inserted for sure, generate the stats. | |||
for panel in reversed(toolbar.enabled_panels): | |||
panel.generate_stats(request, response) | |||
panel.generate_server_timing(request, response) | |||
response = self.generate_server_timing_header(response, toolbar.enabled_panels) | |||
bits[-2] += toolbar.render_toolbar() | |||
response.content = insert_before.join(bits) | |||
if response.get('Content-Length', None): | |||
response['Content-Length'] = len(response.content) | |||
return response | |||
@staticmethod | |||
def generate_server_timing_header(response, panels): | |||
data = [] | |||
for panel in panels: | |||
stats = panel.get_server_timing_stats() | |||
if not stats: | |||
continue | |||
for key, record in stats.items(): | |||
# example: `SQLPanel_sql_time=0; "SQL 0 queries"` | |||
data.append('{}_{}={}; "{}"'.format(panel.panel_id, | |||
key, | |||
record.get('value'), | |||
record.get('title'))) | |||
if data: | |||
response['Server-Timing'] = ', '.join(data) | |||
return response |
@@ -0,0 +1,226 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import warnings | |||
from django.template.loader import render_to_string | |||
from debug_toolbar import settings as dt_settings | |||
from debug_toolbar.utils import get_name_from_obj | |||
class Panel(object): | |||
""" | |||
Base class for panels. | |||
""" | |||
def __init__(self, toolbar): | |||
self.toolbar = toolbar | |||
# Private panel properties | |||
@property | |||
def panel_id(self): | |||
return self.__class__.__name__ | |||
@property | |||
def enabled(self): | |||
# Check to see if settings has a default value for it | |||
disabled_panels = dt_settings.get_config()['DISABLE_PANELS'] | |||
panel_path = get_name_from_obj(self) | |||
# Some panels such as the SQLPanel and TemplatesPanel exist in a | |||
# panel module, but can be disabled without panel in the path. | |||
# For that reason, replace .panel. in the path and check for that | |||
# value in the disabled panels as well. | |||
disable_panel = ( | |||
panel_path in disabled_panels or | |||
panel_path.replace('.panel.', '.') in disabled_panels) | |||
if disable_panel: | |||
default = 'off' | |||
else: | |||
default = 'on' | |||
# The user's cookies should override the default value | |||
return self.toolbar.request.COOKIES.get('djdt' + self.panel_id, default) == 'on' | |||
# Titles and content | |||
@property | |||
def nav_title(self): | |||
""" | |||
Title shown in the side bar. Defaults to :attr:`title`. | |||
""" | |||
return self.title | |||
@property | |||
def nav_subtitle(self): | |||
""" | |||
Subtitle shown in the side bar. Defaults to the empty string. | |||
""" | |||
return '' | |||
@property | |||
def has_content(self): | |||
""" | |||
``True`` if the panel can be displayed in full screen, ``False`` if | |||
it's only shown in the side bar. Defaults to ``True``. | |||
""" | |||
return True | |||
@property | |||
def title(self): | |||
""" | |||
Title shown in the panel when it's displayed in full screen. | |||
Mandatory, unless the panel sets :attr:`has_content` to ``False``. | |||
""" | |||
raise NotImplementedError | |||
@property | |||
def template(self): | |||
""" | |||
Template used to render :attr:`content`. | |||
Mandatory, unless the panel sets :attr:`has_content` to ``False`` or | |||
overrides `attr`:content`. | |||
""" | |||
raise NotImplementedError | |||
@property | |||
def content(self): | |||
""" | |||
Content of the panel when it's displayed in full screen. | |||
By default this renders the template defined by :attr:`template`. | |||
Statistics stored with :meth:`record_stats` are available in the | |||
template's context. | |||
""" | |||
if self.has_content: | |||
return render_to_string(self.template, self.get_stats()) | |||
# URLs for panel-specific views | |||
@classmethod | |||
def get_urls(cls): | |||
""" | |||
Return URLpatterns, if the panel has its own views. | |||
""" | |||
return [] | |||
# Enable and disable (expensive) instrumentation, must be idempotent | |||
def enable_instrumentation(self): | |||
""" | |||
Enable instrumentation to gather data for this panel. | |||
This usually means monkey-patching (!) or registering signal | |||
receivers. Any instrumentation with a non-negligible effect on | |||
performance should be installed by this method rather than at import | |||
time. | |||
Unless the toolbar or this panel is disabled, this method will be | |||
called early in :class:`DebugToolbarMiddleware.process_request`. It | |||
should be idempotent. | |||
""" | |||
def disable_instrumentation(self): | |||
""" | |||
Disable instrumentation to gather data for this panel. | |||
This is the opposite of :meth:`enable_instrumentation`. | |||
Unless the toolbar or this panel is disabled, this method will be | |||
called late in :class:`DebugToolbarMiddleware.process_response`. It | |||
should be idempotent. | |||
""" | |||
# Store and retrieve stats (shared between panels for no good reason) | |||
def record_stats(self, stats): | |||
""" | |||
Store data gathered by the panel. ``stats`` is a :class:`dict`. | |||
Each call to ``record_stats`` updates the statistics dictionary. | |||
""" | |||
self.toolbar.stats.setdefault(self.panel_id, {}).update(stats) | |||
def get_stats(self): | |||
""" | |||
Access data stored by the panel. Returns a :class:`dict`. | |||
""" | |||
return self.toolbar.stats.get(self.panel_id, {}) | |||
def record_server_timing(self, key, title, value): | |||
""" | |||
Store data gathered by the panel. ``stats`` is a :class:`dict`. | |||
Each call to ``record_stats`` updates the statistics dictionary. | |||
""" | |||
data = {key: dict(title=title, value=value)} | |||
self.toolbar.server_timing_stats.setdefault(self.panel_id, {}).update(data) | |||
def get_server_timing_stats(self): | |||
""" | |||
Access data stored by the panel. Returns a :class:`dict`. | |||
""" | |||
return self.toolbar.server_timing_stats.get(self.panel_id, {}) | |||
# Standard middleware methods | |||
def process_request(self, request): | |||
""" | |||
Like process_request in Django's middleware. | |||
Write panel logic related to the request there. Save data with | |||
:meth:`record_stats`. | |||
""" | |||
def process_view(self, request, view_func, view_args, view_kwargs): | |||
""" | |||
Like process_view in Django's middleware. | |||
Write panel logic related to the view there. Save data with | |||
:meth:`record_stats`. | |||
""" | |||
def process_response(self, request, response): | |||
""" | |||
Like process_response in Django's middleware. This is similar to | |||
:meth:`generate_stats <debug_toolbar.panels.Panel.generate_stats>`, | |||
but will be executed on every request. It should be used when either | |||
the logic needs to be executed on every request or it needs to change | |||
the response entirely, such as :class:`RedirectsPanel`. | |||
Write panel logic related to the response there. Post-process data | |||
gathered while the view executed. Save data with :meth:`record_stats`. | |||
Return a response to overwrite the existing response. | |||
""" | |||
def generate_stats(self, request, response): | |||
""" | |||
Similar to :meth:`process_response | |||
<debug_toolbar.panels.Panel.process_response>`, | |||
but may not be executed on every request. This will only be called if | |||
the toolbar will be inserted into the request. | |||
Write panel logic related to the response there. Post-process data | |||
gathered while the view executed. Save data with :meth:`record_stats`. | |||
Does not return a value. | |||
""" | |||
def generate_server_timing(self, request, response): | |||
""" | |||
Similar to :meth:`generate_stats | |||
<debug_toolbar.panels.Panel.generate_stats>`, | |||
Generate stats for Server Timing https://w3c.github.io/server-timing/ | |||
Does not return a value. | |||
""" | |||
# Backward-compatibility for 1.0, remove in 2.0. | |||
class DebugPanel(Panel): | |||
def __init__(self, *args, **kwargs): | |||
warnings.warn("DebugPanel was renamed to Panel.", DeprecationWarning) | |||
super(DebugPanel, self).__init__(*args, **kwargs) |
@@ -0,0 +1,232 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import inspect | |||
import sys | |||
import time | |||
from collections import OrderedDict | |||
from django.conf import settings | |||
from django.core import cache | |||
from django.core.cache import CacheHandler, caches as original_caches | |||
from django.core.cache.backends.base import BaseCache | |||
from django.dispatch import Signal | |||
from django.middleware import cache as middleware_cache | |||
from django.utils.translation import ugettext_lazy as _, ungettext | |||
from debug_toolbar import settings as dt_settings | |||
from debug_toolbar.panels import Panel | |||
from debug_toolbar.utils import ( | |||
get_stack, get_template_info, render_stacktrace, tidy_stacktrace, | |||
) | |||
cache_called = Signal(providing_args=[ | |||
"time_taken", "name", "return_value", "args", "kwargs", "trace"]) | |||
def send_signal(method): | |||
def wrapped(self, *args, **kwargs): | |||
t = time.time() | |||
value = method(self, *args, **kwargs) | |||
t = time.time() - t | |||
if dt_settings.get_config()['ENABLE_STACKTRACES']: | |||
stacktrace = tidy_stacktrace(reversed(get_stack())) | |||
else: | |||
stacktrace = [] | |||
template_info = get_template_info() | |||
cache_called.send(sender=self.__class__, time_taken=t, | |||
name=method.__name__, return_value=value, | |||
args=args, kwargs=kwargs, trace=stacktrace, | |||
template_info=template_info, backend=self.cache) | |||
return value | |||
return wrapped | |||
class CacheStatTracker(BaseCache): | |||
"""A small class used to track cache calls.""" | |||
def __init__(self, cache): | |||
self.cache = cache | |||
def __repr__(self): | |||
return str("<CacheStatTracker for %s>") % repr(self.cache) | |||
def _get_func_info(self): | |||
frame = sys._getframe(3) | |||
info = inspect.getframeinfo(frame) | |||
return (info[0], info[1], info[2], info[3]) | |||
def __contains__(self, key): | |||
return self.cache.__contains__(key) | |||
def __getattr__(self, name): | |||
return getattr(self.cache, name) | |||
@send_signal | |||
def add(self, *args, **kwargs): | |||
return self.cache.add(*args, **kwargs) | |||
@send_signal | |||
def get(self, *args, **kwargs): | |||
return self.cache.get(*args, **kwargs) | |||
@send_signal | |||
def set(self, *args, **kwargs): | |||
return self.cache.set(*args, **kwargs) | |||
@send_signal | |||
def delete(self, *args, **kwargs): | |||
return self.cache.delete(*args, **kwargs) | |||
@send_signal | |||
def clear(self, *args, **kwargs): | |||
return self.cache.clear(*args, **kwargs) | |||
@send_signal | |||
def has_key(self, *args, **kwargs): | |||
# Ignore flake8 rules for has_key since we need to support caches | |||
# that may be using has_key. | |||
return self.cache.has_key(*args, **kwargs) # noqa | |||
@send_signal | |||
def incr(self, *args, **kwargs): | |||
return self.cache.incr(*args, **kwargs) | |||
@send_signal | |||
def decr(self, *args, **kwargs): | |||
return self.cache.decr(*args, **kwargs) | |||
@send_signal | |||
def get_many(self, *args, **kwargs): | |||
return self.cache.get_many(*args, **kwargs) | |||
@send_signal | |||
def set_many(self, *args, **kwargs): | |||
self.cache.set_many(*args, **kwargs) | |||
@send_signal | |||
def delete_many(self, *args, **kwargs): | |||
self.cache.delete_many(*args, **kwargs) | |||
@send_signal | |||
def incr_version(self, *args, **kwargs): | |||
return self.cache.incr_version(*args, **kwargs) | |||
@send_signal | |||
def decr_version(self, *args, **kwargs): | |||
return self.cache.decr_version(*args, **kwargs) | |||
class CacheHandlerPatch(CacheHandler): | |||
def __getitem__(self, alias): | |||
actual_cache = super(CacheHandlerPatch, self).__getitem__(alias) | |||
return CacheStatTracker(actual_cache) | |||
middleware_cache.caches = CacheHandlerPatch() | |||
class CachePanel(Panel): | |||
""" | |||
Panel that displays the cache statistics. | |||
""" | |||
template = 'debug_toolbar/panels/cache.html' | |||
def __init__(self, *args, **kwargs): | |||
super(CachePanel, self).__init__(*args, **kwargs) | |||
self.total_time = 0 | |||
self.hits = 0 | |||
self.misses = 0 | |||
self.calls = [] | |||
self.counts = OrderedDict(( | |||
('add', 0), | |||
('get', 0), | |||
('set', 0), | |||
('delete', 0), | |||
('clear', 0), | |||
('get_many', 0), | |||
('set_many', 0), | |||
('delete_many', 0), | |||
('has_key', 0), | |||
('incr', 0), | |||
('decr', 0), | |||
('incr_version', 0), | |||
('decr_version', 0), | |||
)) | |||
cache_called.connect(self._store_call_info) | |||
def _store_call_info(self, sender, name=None, time_taken=0, | |||
return_value=None, args=None, kwargs=None, | |||
trace=None, template_info=None, backend=None, **kw): | |||
if name == 'get': | |||
if return_value is None: | |||
self.misses += 1 | |||
else: | |||
self.hits += 1 | |||
elif name == 'get_many': | |||
for key, value in return_value.items(): | |||
if value is None: | |||
self.misses += 1 | |||
else: | |||
self.hits += 1 | |||
time_taken *= 1000 | |||
self.total_time += time_taken | |||
self.counts[name] += 1 | |||
self.calls.append({ | |||
'time': time_taken, | |||
'name': name, | |||
'args': args, | |||
'kwargs': kwargs, | |||
'trace': render_stacktrace(trace), | |||
'template_info': template_info, | |||
'backend': backend | |||
}) | |||
# Implement the Panel API | |||
nav_title = _("Cache") | |||
@property | |||
def nav_subtitle(self): | |||
cache_calls = len(self.calls) | |||
return ungettext("%(cache_calls)d call in %(time).2fms", | |||
"%(cache_calls)d calls in %(time).2fms", | |||
cache_calls) % {'cache_calls': cache_calls, | |||
'time': self.total_time} | |||
@property | |||
def title(self): | |||
count = len(getattr(settings, 'CACHES', ['default'])) | |||
return ungettext("Cache calls from %(count)d backend", | |||
"Cache calls from %(count)d backends", | |||
count) % dict(count=count) | |||
def enable_instrumentation(self): | |||
if isinstance(middleware_cache.caches, CacheHandlerPatch): | |||
cache.caches = middleware_cache.caches | |||
else: | |||
cache.caches = CacheHandlerPatch() | |||
def disable_instrumentation(self): | |||
cache.caches = original_caches | |||
# While it can be restored to the original, any views that were | |||
# wrapped with the cache_page decorator will continue to use a | |||
# monkey patched cache. | |||
middleware_cache.caches = original_caches | |||
def generate_stats(self, request, response): | |||
self.record_stats({ | |||
'total_calls': len(self.calls), | |||
'calls': self.calls, | |||
'total_time': self.total_time, | |||
'hits': self.hits, | |||
'misses': self.misses, | |||
'counts': self.counts, | |||
}) | |||
def generate_server_timing(self, request, response): | |||
stats = self.get_stats() | |||
value = stats.get('total_time', 0) | |||
title = 'Cache {} Calls'.format(stats.get('total_calls', 0)) | |||
self.record_server_timing('total_time', title, value) |
@@ -0,0 +1,65 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
from collections import OrderedDict | |||
from django.utils.translation import ugettext_lazy as _ | |||
from debug_toolbar.panels import Panel | |||
class HeadersPanel(Panel): | |||
""" | |||
A panel to display HTTP headers. | |||
""" | |||
# List of environment variables we want to display | |||
ENVIRON_FILTER = set(( | |||
'CONTENT_LENGTH', | |||
'CONTENT_TYPE', | |||
'DJANGO_SETTINGS_MODULE', | |||
'GATEWAY_INTERFACE', | |||
'QUERY_STRING', | |||
'PATH_INFO', | |||
'PYTHONPATH', | |||
'REMOTE_ADDR', | |||
'REMOTE_HOST', | |||
'REQUEST_METHOD', | |||
'SCRIPT_NAME', | |||
'SERVER_NAME', | |||
'SERVER_PORT', | |||
'SERVER_PROTOCOL', | |||
'SERVER_SOFTWARE', | |||
'TZ', | |||
)) | |||
title = _("Headers") | |||
template = 'debug_toolbar/panels/headers.html' | |||
def process_request(self, request): | |||
wsgi_env = list(sorted(request.META.items())) | |||
self.request_headers = OrderedDict( | |||
(unmangle(k), v) for (k, v) in wsgi_env if is_http_header(k)) | |||
if 'Cookie' in self.request_headers: | |||
self.request_headers['Cookie'] = '=> see Request panel' | |||
self.environ = OrderedDict( | |||
(k, v) for (k, v) in wsgi_env if k in self.ENVIRON_FILTER) | |||
self.record_stats({ | |||
'request_headers': self.request_headers, | |||
'environ': self.environ, | |||
}) | |||
def generate_stats(self, request, response): | |||
self.response_headers = OrderedDict(sorted(response.items())) | |||
self.record_stats({ | |||
'response_headers': self.response_headers, | |||
}) | |||
def is_http_header(wsgi_key): | |||
# The WSGI spec says that keys should be str objects in the environ dict, | |||
# but this isn't true in practice. See issues #449 and #482. | |||
return isinstance(wsgi_key, str) and wsgi_key.startswith('HTTP_') | |||
def unmangle(wsgi_key): | |||
return wsgi_key[5:].replace('_', '-').title() |
@@ -0,0 +1,84 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import datetime | |||
import logging | |||
from django.utils.translation import ugettext_lazy as _, ungettext | |||
from debug_toolbar.panels import Panel | |||
from debug_toolbar.utils import ThreadCollector | |||
try: | |||
import threading | |||
except ImportError: | |||
threading = None | |||
MESSAGE_IF_STRING_REPRESENTATION_INVALID = '[Could not get log message]' | |||
class LogCollector(ThreadCollector): | |||
def collect(self, item, thread=None): | |||
# Avoid logging SQL queries since they are already in the SQL panel | |||
# TODO: Make this check whether SQL panel is enabled | |||
if item.get('channel', '') == 'django.db.backends': | |||
return | |||
super(LogCollector, self).collect(item, thread) | |||
class ThreadTrackingHandler(logging.Handler): | |||
def __init__(self, collector): | |||
logging.Handler.__init__(self) | |||
self.collector = collector | |||
def emit(self, record): | |||
try: | |||
message = record.getMessage() | |||
except Exception: | |||
message = MESSAGE_IF_STRING_REPRESENTATION_INVALID | |||
record = { | |||
'message': message, | |||
'time': datetime.datetime.fromtimestamp(record.created), | |||
'level': record.levelname, | |||
'file': record.pathname, | |||
'line': record.lineno, | |||
'channel': record.name, | |||
} | |||
self.collector.collect(record) | |||
# We don't use enable/disable_instrumentation because logging is global. | |||
# We can't add thread-local logging handlers. Hopefully logging is cheap. | |||
collector = LogCollector() | |||
logging_handler = ThreadTrackingHandler(collector) | |||
logging.root.addHandler(logging_handler) | |||
class LoggingPanel(Panel): | |||
template = 'debug_toolbar/panels/logging.html' | |||
def __init__(self, *args, **kwargs): | |||
super(LoggingPanel, self).__init__(*args, **kwargs) | |||
self._records = {} | |||
nav_title = _("Logging") | |||
@property | |||
def nav_subtitle(self): | |||
records = self._records[threading.currentThread()] | |||
record_count = len(records) | |||
return ungettext("%(count)s message", "%(count)s messages", | |||
record_count) % {'count': record_count} | |||
title = _("Log messages") | |||
def process_request(self, request): | |||
collector.clear_collection() | |||
def generate_stats(self, request, response): | |||
records = collector.get_collection() | |||
self._records[threading.currentThread()] = records | |||
collector.clear_collection() | |||
self.record_stats({'records': records}) |
@@ -0,0 +1,183 @@ | |||
from __future__ import absolute_import, division, unicode_literals | |||
import cProfile | |||
import os | |||
from colorsys import hsv_to_rgb | |||
from pstats import Stats | |||
from django.utils import six | |||
from django.utils.html import format_html | |||
from django.utils.translation import ugettext_lazy as _ | |||
from debug_toolbar import settings as dt_settings | |||
from debug_toolbar.panels import Panel | |||
# Occasionally the disable method on the profiler is listed before | |||
# the actual view functions. This function call should be ignored as | |||
# it leads to an error within the tests. | |||
INVALID_PROFILER_FUNC = '_lsprof.Profiler' | |||
def contains_profiler(func_tuple): | |||
"""Helper function that checks to see if the tuple contains | |||
the INVALID_PROFILE_FUNC in any string value of the tuple.""" | |||
has_profiler = False | |||
for value in func_tuple: | |||
if isinstance(value, six.string_types): | |||
has_profiler |= INVALID_PROFILER_FUNC in value | |||
return has_profiler | |||
class DjangoDebugToolbarStats(Stats): | |||
__root = None | |||
def get_root_func(self): | |||
if self.__root is None: | |||
for func, (cc, nc, tt, ct, callers) in self.stats.items(): | |||
if len(callers) == 0 and not contains_profiler(func): | |||
self.__root = func | |||
break | |||
return self.__root | |||
class FunctionCall(object): | |||
def __init__(self, statobj, func, depth=0, stats=None, | |||
id=0, parent_ids=[], hsv=(0, 0.5, 1)): | |||
self.statobj = statobj | |||
self.func = func | |||
if stats: | |||
self.stats = stats | |||
else: | |||
self.stats = statobj.stats[func][:4] | |||
self.depth = depth | |||
self.id = id | |||
self.parent_ids = parent_ids | |||
self.hsv = hsv | |||
def parent_classes(self): | |||
return self.parent_classes | |||
def background(self): | |||
r, g, b = hsv_to_rgb(*self.hsv) | |||
return 'rgb(%f%%,%f%%,%f%%)' % (r * 100, g * 100, b * 100) | |||
def func_std_string(self): # match what old profile produced | |||
func_name = self.func | |||
if func_name[:2] == ('~', 0): | |||
# special case for built-in functions | |||
name = func_name[2] | |||
if name.startswith('<') and name.endswith('>'): | |||
return '{%s}' % name[1:-1] | |||
else: | |||
return name | |||
else: | |||
file_name, line_num, method = self.func | |||
idx = file_name.find('/site-packages/') | |||
if idx > -1: | |||
file_name = file_name[(idx + 14):] | |||
split_path = file_name.rsplit(os.sep, 1) | |||
if len(split_path) > 1: | |||
file_path, file_name = file_name.rsplit(os.sep, 1) | |||
else: | |||
file_path = '<module>' | |||
return format_html( | |||
'<span class="djdt-path">{0}/</span>' | |||
'<span class="djdt-file">{1}</span>' | |||
' in <span class="djdt-func">{3}</span>' | |||
'(<span class="djdt-lineno">{2}</span>)', | |||
file_path, | |||
file_name, | |||
line_num, | |||
method) | |||
def subfuncs(self): | |||
i = 0 | |||
h, s, v = self.hsv | |||
count = len(self.statobj.all_callees[self.func]) | |||
for func, stats in self.statobj.all_callees[self.func].items(): | |||
i += 1 | |||
h1 = h + (i / count) / (self.depth + 1) | |||
if stats[3] == 0: | |||
s1 = 0 | |||
else: | |||
s1 = s * (stats[3] / self.stats[3]) | |||
yield FunctionCall(self.statobj, | |||
func, | |||
self.depth + 1, | |||
stats=stats, | |||
id=str(self.id) + '_' + str(i), | |||
parent_ids=self.parent_ids + [self.id], | |||
hsv=(h1, s1, 1)) | |||
def count(self): | |||
return self.stats[1] | |||
def tottime(self): | |||
return self.stats[2] | |||
def cumtime(self): | |||
cc, nc, tt, ct = self.stats | |||
return self.stats[3] | |||
def tottime_per_call(self): | |||
cc, nc, tt, ct = self.stats | |||
if nc == 0: | |||
return 0 | |||
return tt / nc | |||
def cumtime_per_call(self): | |||
cc, nc, tt, ct = self.stats | |||
if cc == 0: | |||
return 0 | |||
return ct / cc | |||
def indent(self): | |||
return 16 * self.depth | |||
class ProfilingPanel(Panel): | |||
""" | |||
Panel that displays profiling information. | |||
""" | |||
title = _("Profiling") | |||
template = 'debug_toolbar/panels/profiling.html' | |||
def process_view(self, request, view_func, view_args, view_kwargs): | |||
self.profiler = cProfile.Profile() | |||
args = (request,) + view_args | |||
return self.profiler.runcall(view_func, *args, **view_kwargs) | |||
def add_node(self, func_list, func, max_depth, cum_time=0.1): | |||
func_list.append(func) | |||
func.has_subfuncs = False | |||
if func.depth < max_depth: | |||
for subfunc in func.subfuncs(): | |||
if subfunc.stats[3] >= cum_time: | |||
func.has_subfuncs = True | |||
self.add_node(func_list, subfunc, max_depth, cum_time=cum_time) | |||
def generate_stats(self, request, response): | |||
if not hasattr(self, 'profiler'): | |||
return None | |||
# Could be delayed until the panel content is requested (perf. optim.) | |||
self.profiler.create_stats() | |||
self.stats = DjangoDebugToolbarStats(self.profiler) | |||
self.stats.calc_callees() | |||
root_func = self.stats.get_root_func() | |||
# Ensure root function exists before continuing with function call analysis | |||
if root_func: | |||
root = FunctionCall(self.stats, root_func, depth=0) | |||
func_list = [] | |||
self.add_node(func_list, | |||
root, | |||
dt_settings.get_config()['PROFILER_MAX_DEPTH'], | |||
root.stats[3] / 8) | |||
self.record_stats({'func_list': func_list}) |
@@ -0,0 +1,29 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
from django.template.response import SimpleTemplateResponse | |||
from django.utils.translation import ugettext_lazy as _ | |||
from debug_toolbar.panels import Panel | |||
class RedirectsPanel(Panel): | |||
""" | |||
Panel that intercepts redirects and displays a page with debug info. | |||
""" | |||
has_content = False | |||
nav_title = _("Intercept redirects") | |||
def process_response(self, request, response): | |||
if 300 <= int(response.status_code) < 400: | |||
redirect_to = response.get('Location', None) | |||
if redirect_to: | |||
status_line = '%s %s' % (response.status_code, response.reason_phrase) | |||
cookies = response.cookies | |||
context = {'redirect_to': redirect_to, 'status_line': status_line} | |||
# Using SimpleTemplateResponse avoids running global context processors. | |||
response = SimpleTemplateResponse('debug_toolbar/redirect.html', context) | |||
response.cookies = cookies | |||
response.render() | |||
return response |
@@ -0,0 +1,56 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
from django.http import Http404 | |||
from django.urls import resolve | |||
from django.utils.encoding import force_text | |||
from django.utils.translation import ugettext_lazy as _ | |||
from debug_toolbar.panels import Panel | |||
from debug_toolbar.utils import get_name_from_obj | |||
class RequestPanel(Panel): | |||
""" | |||
A panel to display request variables (POST/GET, session, cookies). | |||
""" | |||
template = 'debug_toolbar/panels/request.html' | |||
title = _("Request") | |||
@property | |||
def nav_subtitle(self): | |||
""" | |||
Show abbreviated name of view function as subtitle | |||
""" | |||
view_func = self.get_stats().get('view_func', '') | |||
return view_func.rsplit('.', 1)[-1] | |||
def generate_stats(self, request, response): | |||
self.record_stats({ | |||
'get': [(k, request.GET.getlist(k)) for k in sorted(request.GET)], | |||
'post': [(k, request.POST.getlist(k)) for k in sorted(request.POST)], | |||
'cookies': [(k, request.COOKIES.get(k)) for k in sorted(request.COOKIES)], | |||
}) | |||
view_info = { | |||
'view_func': _("<no view>"), | |||
'view_args': 'None', | |||
'view_kwargs': 'None', | |||
'view_urlname': 'None', | |||
} | |||
try: | |||
match = resolve(request.path) | |||
func, args, kwargs = match | |||
view_info['view_func'] = get_name_from_obj(func) | |||
view_info['view_args'] = args | |||
view_info['view_kwargs'] = kwargs | |||
view_info['view_urlname'] = getattr(match, 'url_name', | |||
_("<unavailable>")) | |||
except Http404: | |||
pass | |||
self.record_stats(view_info) | |||
if hasattr(request, 'session'): | |||
self.record_stats({ | |||
'session': [(k, request.session.get(k)) | |||
for k in sorted(request.session.keys(), key=force_text)] | |||
}) |
@@ -0,0 +1,27 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
from collections import OrderedDict | |||
from django.conf import settings | |||
from django.utils.translation import ugettext_lazy as _ | |||
from django.views.debug import get_safe_settings | |||
from debug_toolbar.panels import Panel | |||
class SettingsPanel(Panel): | |||
""" | |||
A panel to display all variables in django.conf.settings | |||
""" | |||
template = 'debug_toolbar/panels/settings.html' | |||
nav_title = _("Settings") | |||
def title(self): | |||
return _("Settings from <code>%s</code>") % settings.SETTINGS_MODULE | |||
def generate_stats(self, request, response): | |||
self.record_stats({ | |||
'settings': OrderedDict(sorted(get_safe_settings().items(), | |||
key=lambda s: s[0])), | |||
}) |
@@ -0,0 +1,86 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import weakref | |||
from django.core.signals import ( | |||
got_request_exception, request_finished, request_started, | |||
) | |||
from django.db.backends.signals import connection_created | |||
from django.db.models.signals import ( | |||
class_prepared, post_delete, post_init, post_migrate, post_save, | |||
pre_delete, pre_init, pre_save, | |||
) | |||
from django.utils.module_loading import import_string | |||
from django.utils.translation import ugettext_lazy as _, ungettext | |||
from debug_toolbar.panels import Panel | |||
class SignalsPanel(Panel): | |||
template = 'debug_toolbar/panels/signals.html' | |||
SIGNALS = { | |||
'request_started': request_started, | |||
'request_finished': request_finished, | |||
'got_request_exception': got_request_exception, | |||
'connection_created': connection_created, | |||
'class_prepared': class_prepared, | |||
'pre_init': pre_init, | |||
'post_init': post_init, | |||
'pre_save': pre_save, | |||
'post_save': post_save, | |||
'pre_delete': pre_delete, | |||
'post_delete': post_delete, | |||
'post_migrate': post_migrate, | |||
} | |||
def nav_subtitle(self): | |||
signals = self.get_stats()['signals'] | |||
num_receivers = sum(len(s[2]) for s in signals) | |||
num_signals = len(signals) | |||
# here we have to handle a double count translation, hence the | |||
# hard coding of one signal | |||
if num_signals == 1: | |||
return ungettext("%(num_receivers)d receiver of 1 signal", | |||
"%(num_receivers)d receivers of 1 signal", | |||
num_receivers) % {'num_receivers': num_receivers} | |||
return ungettext("%(num_receivers)d receiver of %(num_signals)d signals", | |||
"%(num_receivers)d receivers of %(num_signals)d signals", | |||
num_receivers) % {'num_receivers': num_receivers, | |||
'num_signals': num_signals} | |||
title = _("Signals") | |||
@property | |||
def signals(self): | |||
signals = self.SIGNALS.copy() | |||
for signal in self.toolbar.config['EXTRA_SIGNALS']: | |||
signal_name = signal.rsplit('.', 1)[-1] | |||
signals[signal_name] = import_string(signal) | |||
return signals | |||
def generate_stats(self, request, response): | |||
signals = [] | |||
for name, signal in sorted(self.signals.items(), key=lambda x: x[0]): | |||
receivers = [] | |||
for receiver in signal.receivers: | |||
receiver = receiver[1] | |||
if isinstance(receiver, weakref.ReferenceType): | |||
receiver = receiver() | |||
if receiver is None: | |||
continue | |||
receiver = getattr(receiver, '__wraps__', receiver) | |||
receiver_name = getattr(receiver, '__name__', str(receiver)) | |||
if getattr(receiver, '__self__', None) is not None: | |||
receiver_class_name = getattr(receiver.__self__, '__class__', type).__name__ | |||
text = "%s.%s" % (receiver_class_name, receiver_name) | |||
elif getattr(receiver, 'im_class', None) is not None: # Python 2 only | |||
receiver_class_name = receiver.im_class.__name__ | |||
text = "%s.%s" % (receiver_class_name, receiver_name) | |||
else: | |||
text = "%s" % receiver_name | |||
receivers.append(text) | |||
signals.append((name, signal, receivers)) | |||
self.record_stats({'signals': signals}) |
@@ -0,0 +1 @@ | |||
from debug_toolbar.panels.sql.panel import SQLPanel # noqa |
@@ -0,0 +1,93 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import hashlib | |||
import hmac | |||
import json | |||
from django import forms | |||
from django.conf import settings | |||
from django.core.exceptions import ValidationError | |||
from django.db import connections | |||
from django.utils.crypto import constant_time_compare | |||
from django.utils.encoding import force_bytes | |||
from django.utils.functional import cached_property | |||
from debug_toolbar.panels.sql.utils import reformat_sql | |||
class SQLSelectForm(forms.Form): | |||
""" | |||
Validate params | |||
sql: The sql statement with interpolated params | |||
raw_sql: The sql statement with placeholders | |||
params: JSON encoded parameter values | |||
duration: time for SQL to execute passed in from toolbar just for redisplay | |||
hash: the hash of (secret + sql + params) for tamper checking | |||
""" | |||
sql = forms.CharField() | |||
raw_sql = forms.CharField() | |||
params = forms.CharField() | |||
alias = forms.CharField(required=False, initial='default') | |||
duration = forms.FloatField() | |||
hash = forms.CharField() | |||
def __init__(self, *args, **kwargs): | |||
initial = kwargs.get('initial', None) | |||
if initial is not None: | |||
initial['hash'] = self.make_hash(initial) | |||
super(SQLSelectForm, self).__init__(*args, **kwargs) | |||
for name in self.fields: | |||
self.fields[name].widget = forms.HiddenInput() | |||
def clean_raw_sql(self): | |||
value = self.cleaned_data['raw_sql'] | |||
if not value.lower().strip().startswith('select'): | |||
raise ValidationError("Only 'select' queries are allowed.") | |||
return value | |||
def clean_params(self): | |||
value = self.cleaned_data['params'] | |||
try: | |||
return json.loads(value) | |||
except ValueError: | |||
raise ValidationError('Is not valid JSON') | |||
def clean_alias(self): | |||
value = self.cleaned_data['alias'] | |||
if value not in connections: | |||
raise ValidationError("Database alias '%s' not found" % value) | |||
return value | |||
def clean_hash(self): | |||
hash = self.cleaned_data['hash'] | |||
if not constant_time_compare(hash, self.make_hash(self.data)): | |||
raise ValidationError('Tamper alert') | |||
return hash | |||
def reformat_sql(self): | |||
return reformat_sql(self.cleaned_data['sql']) | |||
def make_hash(self, data): | |||
m = hmac.new(key=force_bytes(settings.SECRET_KEY), digestmod=hashlib.sha1) | |||
for item in [data['sql'], data['params']]: | |||
m.update(force_bytes(item)) | |||
return m.hexdigest() | |||
@property | |||
def connection(self): | |||
return connections[self.cleaned_data['alias']] | |||
@cached_property | |||
def cursor(self): | |||
return self.connection.cursor() |
@@ -0,0 +1,279 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import uuid | |||
from collections import defaultdict | |||
from copy import copy | |||
from pprint import saferepr | |||
from django.conf.urls import url | |||
from django.db import connections | |||
from django.utils.translation import ugettext_lazy as _, ungettext_lazy as __ | |||
from debug_toolbar.panels import Panel | |||
from debug_toolbar.panels.sql import views | |||
from debug_toolbar.panels.sql.forms import SQLSelectForm | |||
from debug_toolbar.panels.sql.tracking import unwrap_cursor, wrap_cursor | |||
from debug_toolbar.panels.sql.utils import ( | |||
contrasting_color_generator, reformat_sql, | |||
) | |||
from debug_toolbar.utils import render_stacktrace | |||
def get_isolation_level_display(vendor, level): | |||
if vendor == 'postgresql': | |||
import psycopg2.extensions | |||
choices = { | |||
psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT: _("Autocommit"), | |||
psycopg2.extensions.ISOLATION_LEVEL_READ_UNCOMMITTED: _("Read uncommitted"), | |||
psycopg2.extensions.ISOLATION_LEVEL_READ_COMMITTED: _("Read committed"), | |||
psycopg2.extensions.ISOLATION_LEVEL_REPEATABLE_READ: _("Repeatable read"), | |||
psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE: _("Serializable"), | |||
} | |||
else: | |||
raise ValueError(vendor) | |||
return choices.get(level) | |||
def get_transaction_status_display(vendor, level): | |||
if vendor == 'postgresql': | |||
import psycopg2.extensions | |||
choices = { | |||
psycopg2.extensions.TRANSACTION_STATUS_IDLE: _("Idle"), | |||
psycopg2.extensions.TRANSACTION_STATUS_ACTIVE: _("Active"), | |||
psycopg2.extensions.TRANSACTION_STATUS_INTRANS: _("In transaction"), | |||
psycopg2.extensions.TRANSACTION_STATUS_INERROR: _("In error"), | |||
psycopg2.extensions.TRANSACTION_STATUS_UNKNOWN: _("Unknown"), | |||
} | |||
else: | |||
raise ValueError(vendor) | |||
return choices.get(level) | |||
class SQLPanel(Panel): | |||
""" | |||
Panel that displays information about the SQL queries run while processing | |||
the request. | |||
""" | |||
def __init__(self, *args, **kwargs): | |||
super(SQLPanel, self).__init__(*args, **kwargs) | |||
self._offset = {k: len(connections[k].queries) for k in connections} | |||
self._sql_time = 0 | |||
self._num_queries = 0 | |||
self._queries = [] | |||
self._databases = {} | |||
self._transaction_status = {} | |||
self._transaction_ids = {} | |||
def get_transaction_id(self, alias): | |||
if alias not in connections: | |||
return | |||
conn = connections[alias].connection | |||
if not conn: | |||
return | |||
if conn.vendor == 'postgresql': | |||
cur_status = conn.get_transaction_status() | |||
else: | |||
raise ValueError(conn.vendor) | |||
last_status = self._transaction_status.get(alias) | |||
self._transaction_status[alias] = cur_status | |||
if not cur_status: | |||
# No available state | |||
return None | |||
if cur_status != last_status: | |||
if cur_status: | |||
self._transaction_ids[alias] = uuid.uuid4().hex | |||
else: | |||
self._transaction_ids[alias] = None | |||
return self._transaction_ids[alias] | |||
def record(self, alias, **kwargs): | |||
self._queries.append((alias, kwargs)) | |||
if alias not in self._databases: | |||
self._databases[alias] = { | |||
'time_spent': kwargs['duration'], | |||
'num_queries': 1, | |||
} | |||
else: | |||
self._databases[alias]['time_spent'] += kwargs['duration'] | |||
self._databases[alias]['num_queries'] += 1 | |||
self._sql_time += kwargs['duration'] | |||
self._num_queries += 1 | |||
# Implement the Panel API | |||
nav_title = _("SQL") | |||
@property | |||
def nav_subtitle(self): | |||
return __("%d query in %.2fms", "%d queries in %.2fms", | |||
self._num_queries) % (self._num_queries, self._sql_time) | |||
@property | |||
def title(self): | |||
count = len(self._databases) | |||
return __('SQL queries from %(count)d connection', | |||
'SQL queries from %(count)d connections', | |||
count) % {'count': count} | |||
template = 'debug_toolbar/panels/sql.html' | |||
@classmethod | |||
def get_urls(cls): | |||
return [ | |||
url(r'^sql_select/$', views.sql_select, name='sql_select'), | |||
url(r'^sql_explain/$', views.sql_explain, name='sql_explain'), | |||
url(r'^sql_profile/$', views.sql_profile, name='sql_profile'), | |||
] | |||
def enable_instrumentation(self): | |||
# This is thread-safe because database connections are thread-local. | |||
for connection in connections.all(): | |||
wrap_cursor(connection, self) | |||
def disable_instrumentation(self): | |||
for connection in connections.all(): | |||
unwrap_cursor(connection) | |||
def generate_stats(self, request, response): | |||
colors = contrasting_color_generator() | |||
trace_colors = defaultdict(lambda: next(colors)) | |||
query_similar = defaultdict(lambda: defaultdict(int)) | |||
query_duplicates = defaultdict(lambda: defaultdict(int)) | |||
# The keys used to determine similar and duplicate queries. | |||
def similar_key(query): | |||
return query['raw_sql'] | |||
def duplicate_key(query): | |||
raw_params = () if query['raw_params'] is None else tuple(query['raw_params']) | |||
# saferepr() avoids problems because of unhashable types | |||
# (e.g. lists) when used as dictionary keys. | |||
# https://github.com/jazzband/django-debug-toolbar/issues/1091 | |||
return (query['raw_sql'], saferepr(raw_params)) | |||
if self._queries: | |||
width_ratio_tally = 0 | |||
factor = int(256.0 / (len(self._databases) * 2.5)) | |||
for n, db in enumerate(self._databases.values()): | |||
rgb = [0, 0, 0] | |||
color = n % 3 | |||
rgb[color] = 256 - n // 3 * factor | |||
nn = color | |||
# XXX: pretty sure this is horrible after so many aliases | |||
while rgb[color] < factor: | |||
nc = min(256 - rgb[color], 256) | |||
rgb[color] += nc | |||
nn += 1 | |||
if nn > 2: | |||
nn = 0 | |||
rgb[nn] = nc | |||
db['rgb_color'] = rgb | |||
trans_ids = {} | |||
trans_id = None | |||
i = 0 | |||
for alias, query in self._queries: | |||
query_similar[alias][similar_key(query)] += 1 | |||
query_duplicates[alias][duplicate_key(query)] += 1 | |||
trans_id = query.get('trans_id') | |||
last_trans_id = trans_ids.get(alias) | |||
if trans_id != last_trans_id: | |||
if last_trans_id: | |||
self._queries[(i - 1)][1]['ends_trans'] = True | |||
trans_ids[alias] = trans_id | |||
if trans_id: | |||
query['starts_trans'] = True | |||
if trans_id: | |||
query['in_trans'] = True | |||
query['alias'] = alias | |||
if 'iso_level' in query: | |||
query['iso_level'] = get_isolation_level_display(query['vendor'], | |||
query['iso_level']) | |||
if 'trans_status' in query: | |||
query['trans_status'] = get_transaction_status_display(query['vendor'], | |||
query['trans_status']) | |||
query['form'] = SQLSelectForm(auto_id=None, initial=copy(query)) | |||
if query['sql']: | |||
query['sql'] = reformat_sql(query['sql']) | |||
query['rgb_color'] = self._databases[alias]['rgb_color'] | |||
try: | |||
query['width_ratio'] = (query['duration'] / self._sql_time) * 100 | |||
query['width_ratio_relative'] = ( | |||
100.0 * query['width_ratio'] / (100.0 - width_ratio_tally)) | |||
except ZeroDivisionError: | |||
query['width_ratio'] = 0 | |||
query['width_ratio_relative'] = 0 | |||
query['start_offset'] = width_ratio_tally | |||
query['end_offset'] = query['width_ratio'] + query['start_offset'] | |||
width_ratio_tally += query['width_ratio'] | |||
query['stacktrace'] = render_stacktrace(query['stacktrace']) | |||
i += 1 | |||
query['trace_color'] = trace_colors[query['stacktrace']] | |||
if trans_id: | |||
self._queries[(i - 1)][1]['ends_trans'] = True | |||
# Queries are similar / duplicates only if there's as least 2 of them. | |||
# Also, to hide queries, we need to give all the duplicate groups an id | |||
query_colors = contrasting_color_generator() | |||
query_similar_colors = { | |||
alias: { | |||
query: (similar_count, next(query_colors)) | |||
for query, similar_count in queries.items() | |||
if similar_count >= 2 | |||
} | |||
for alias, queries in query_similar.items() | |||
} | |||
query_duplicates_colors = { | |||
alias: { | |||
query: (duplicate_count, next(query_colors)) | |||
for query, duplicate_count in queries.items() | |||
if duplicate_count >= 2 | |||
} | |||
for alias, queries in query_duplicates.items() | |||
} | |||
for alias, query in self._queries: | |||
try: | |||
(query["similar_count"], query["similar_color"]) = ( | |||
query_similar_colors[alias][similar_key(query)] | |||
) | |||
(query["duplicate_count"], query["duplicate_color"]) = ( | |||
query_duplicates_colors[alias][duplicate_key(query)] | |||
) | |||
except KeyError: | |||
pass | |||
for alias, alias_info in self._databases.items(): | |||
try: | |||
alias_info["similar_count"] = sum( | |||
e[0] for e in query_similar_colors[alias].values() | |||
) | |||
alias_info["duplicate_count"] = sum( | |||
e[0] for e in query_duplicates_colors[alias].values() | |||
) | |||
except KeyError: | |||
pass | |||
self.record_stats({ | |||
'databases': sorted(self._databases.items(), key=lambda x: -x[1]['time_spent']), | |||
'queries': [q for a, q in self._queries], | |||
'sql_time': self._sql_time, | |||
}) | |||
def generate_server_timing(self, request, response): | |||
stats = self.get_stats() | |||
title = 'SQL {} queries'.format(len(stats.get('queries', []))) | |||
value = stats.get('sql_time', 0) | |||
self.record_server_timing('sql_time', title, value) |
@@ -0,0 +1,191 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import datetime | |||
import json | |||
from threading import local | |||
from time import time | |||
from django.utils import six | |||
from django.utils.encoding import force_text | |||
from debug_toolbar import settings as dt_settings | |||
from debug_toolbar.utils import get_stack, get_template_info, tidy_stacktrace | |||
class SQLQueryTriggered(Exception): | |||
"""Thrown when template panel triggers a query""" | |||
pass | |||
class ThreadLocalState(local): | |||
def __init__(self): | |||
self.enabled = True | |||
@property | |||
def Wrapper(self): | |||
if self.enabled: | |||
return NormalCursorWrapper | |||
return ExceptionCursorWrapper | |||
def recording(self, v): | |||
self.enabled = v | |||
state = ThreadLocalState() | |||
recording = state.recording # export function | |||
def wrap_cursor(connection, panel): | |||
if not hasattr(connection, '_djdt_cursor'): | |||
connection._djdt_cursor = connection.cursor | |||
def cursor(*args, **kwargs): | |||
# Per the DB API cursor() does not accept any arguments. There's | |||
# some code in the wild which does not follow that convention, | |||
# so we pass on the arguments even though it's not clean. | |||
# See: | |||
# https://github.com/jazzband/django-debug-toolbar/pull/615 | |||
# https://github.com/jazzband/django-debug-toolbar/pull/896 | |||
return state.Wrapper(connection._djdt_cursor(*args, **kwargs), connection, panel) | |||
connection.cursor = cursor | |||
return cursor | |||
def unwrap_cursor(connection): | |||
if hasattr(connection, '_djdt_cursor'): | |||
del connection._djdt_cursor | |||
del connection.cursor | |||
class ExceptionCursorWrapper(object): | |||
""" | |||
Wraps a cursor and raises an exception on any operation. | |||
Used in Templates panel. | |||
""" | |||
def __init__(self, cursor, db, logger): | |||
pass | |||
def __getattr__(self, attr): | |||
raise SQLQueryTriggered() | |||
class NormalCursorWrapper(object): | |||
""" | |||
Wraps a cursor and logs queries. | |||
""" | |||
def __init__(self, cursor, db, logger): | |||
self.cursor = cursor | |||
# Instance of a BaseDatabaseWrapper subclass | |||
self.db = db | |||
# logger must implement a ``record`` method | |||
self.logger = logger | |||
def _quote_expr(self, element): | |||
if isinstance(element, six.string_types): | |||
return "'%s'" % force_text(element).replace("'", "''") | |||
else: | |||
return repr(element) | |||
def _quote_params(self, params): | |||
if not params: | |||
return params | |||
if isinstance(params, dict): | |||
return {key: self._quote_expr(value) for key, value in params.items()} | |||
return [self._quote_expr(p) for p in params] | |||
def _decode(self, param): | |||
# If a sequence type, decode each element separately | |||
if isinstance(param, list) or isinstance(param, tuple): | |||
return [self._decode(element) for element in param] | |||
# If a dictionary type, decode each value separately | |||
if isinstance(param, dict): | |||
return {key: self._decode(value) for key, value in param.items()} | |||
# make sure datetime, date and time are converted to string by force_text | |||
CONVERT_TYPES = (datetime.datetime, datetime.date, datetime.time) | |||
try: | |||
return force_text(param, strings_only=not isinstance(param, CONVERT_TYPES)) | |||
except UnicodeDecodeError: | |||
return '(encoded string)' | |||
def _record(self, method, sql, params): | |||
start_time = time() | |||
try: | |||
return method(sql, params) | |||
finally: | |||
stop_time = time() | |||
duration = (stop_time - start_time) * 1000 | |||
if dt_settings.get_config()['ENABLE_STACKTRACES']: | |||
stacktrace = tidy_stacktrace(reversed(get_stack())) | |||
else: | |||
stacktrace = [] | |||
_params = '' | |||
try: | |||
_params = json.dumps([self._decode(p) for p in params]) | |||
except TypeError: | |||
pass # object not JSON serializable | |||
template_info = get_template_info() | |||
alias = getattr(self.db, 'alias', 'default') | |||
conn = self.db.connection | |||
vendor = getattr(conn, 'vendor', 'unknown') | |||
params = { | |||
'vendor': vendor, | |||
'alias': alias, | |||
'sql': self.db.ops.last_executed_query( | |||
self.cursor, sql, self._quote_params(params)), | |||
'duration': duration, | |||
'raw_sql': sql, | |||
'params': _params, | |||
'raw_params': params, | |||
'stacktrace': stacktrace, | |||
'start_time': start_time, | |||
'stop_time': stop_time, | |||
'is_slow': duration > dt_settings.get_config()['SQL_WARNING_THRESHOLD'], | |||
'is_select': sql.lower().strip().startswith('select'), | |||
'template_info': template_info, | |||
} | |||
if vendor == 'postgresql': | |||
# If an erroneous query was ran on the connection, it might | |||
# be in a state where checking isolation_level raises an | |||
# exception. | |||
try: | |||
iso_level = conn.isolation_level | |||
except conn.InternalError: | |||
iso_level = 'unknown' | |||
params.update({ | |||
'trans_id': self.logger.get_transaction_id(alias), | |||
'trans_status': conn.get_transaction_status(), | |||
'iso_level': iso_level, | |||
'encoding': conn.encoding, | |||
}) | |||
# We keep `sql` to maintain backwards compatibility | |||
self.logger.record(**params) | |||
def callproc(self, procname, params=None): | |||
return self._record(self.cursor.callproc, procname, params) | |||
def execute(self, sql, params=None): | |||
return self._record(self.cursor.execute, sql, params) | |||
def executemany(self, sql, param_list): | |||
return self._record(self.cursor.executemany, sql, param_list) | |||
def __getattr__(self, attr): | |||
return getattr(self.cursor, attr) | |||
def __iter__(self): | |||
return iter(self.cursor) | |||
def __enter__(self): | |||
return self | |||
def __exit__(self, type, value, traceback): | |||
self.close() |
@@ -0,0 +1,60 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import re | |||
import sqlparse | |||
from django.utils.html import escape | |||
from sqlparse import tokens as T | |||
class BoldKeywordFilter: | |||
"""sqlparse filter to bold SQL keywords""" | |||
def process(self, stream): | |||
"""Process the token stream""" | |||
for token_type, value in stream: | |||
is_keyword = token_type in T.Keyword | |||
if is_keyword: | |||
yield T.Text, '<strong>' | |||
yield token_type, escape(value) | |||
if is_keyword: | |||
yield T.Text, '</strong>' | |||
def reformat_sql(sql): | |||
stack = sqlparse.engine.FilterStack() | |||
stack.preprocess.append(BoldKeywordFilter()) # add our custom filter | |||
stack.postprocess.append(sqlparse.filters.SerializerUnicode()) # tokens -> strings | |||
return swap_fields(''.join(stack.run(sql))) | |||
def swap_fields(sql): | |||
expr = r'SELECT</strong> (...........*?) <strong>FROM' | |||
subs = (r'SELECT</strong> ' | |||
r'<span class="djDebugUncollapsed" href="#">•••</span> ' | |||
r'<span class="djDebugCollapsed" href="#">\1</span> ' | |||
r'<strong>FROM') | |||
return re.sub(expr, subs, sql) | |||
def contrasting_color_generator(): | |||
""" | |||
Generate constrasting colors by varying most significant bit of RGB first, | |||
and then vary subsequent bits systematically. | |||
""" | |||
def rgb_to_hex(rgb): | |||
return '#%02x%02x%02x' % tuple(rgb) | |||
triples = [(1, 0, 0), (0, 1, 0), (0, 0, 1), | |||
(1, 1, 0), (0, 1, 1), (1, 0, 1), (1, 1, 1)] | |||
n = 1 << 7 | |||
so_far = [[0, 0, 0]] | |||
while True: | |||
if n == 0: # This happens after 2**24 colours; presumably, never | |||
yield "#000000" # black | |||
copy_so_far = list(so_far) | |||
for triple in triples: | |||
for previous in copy_so_far: | |||
rgb = [n * triple[i] + previous[i] for i in range(3)] | |||
so_far.append(rgb) | |||
yield rgb_to_hex(rgb) | |||
n >>= 1 |
@@ -0,0 +1,118 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
from django.http import HttpResponseBadRequest | |||
from django.template.response import SimpleTemplateResponse | |||
from django.views.decorators.csrf import csrf_exempt | |||
from debug_toolbar.decorators import require_show_toolbar | |||
from debug_toolbar.panels.sql.forms import SQLSelectForm | |||
@csrf_exempt | |||
@require_show_toolbar | |||
def sql_select(request): | |||
"""Returns the output of the SQL SELECT statement""" | |||
form = SQLSelectForm(request.POST or None) | |||
if form.is_valid(): | |||
sql = form.cleaned_data['raw_sql'] | |||
params = form.cleaned_data['params'] | |||
cursor = form.cursor | |||
cursor.execute(sql, params) | |||
headers = [d[0] for d in cursor.description] | |||
result = cursor.fetchall() | |||
cursor.close() | |||
context = { | |||
'result': result, | |||
'sql': form.reformat_sql(), | |||
'duration': form.cleaned_data['duration'], | |||
'headers': headers, | |||
'alias': form.cleaned_data['alias'], | |||
} | |||
# Using SimpleTemplateResponse avoids running global context processors. | |||
return SimpleTemplateResponse('debug_toolbar/panels/sql_select.html', context) | |||
return HttpResponseBadRequest('Form errors') | |||
@csrf_exempt | |||
@require_show_toolbar | |||
def sql_explain(request): | |||
"""Returns the output of the SQL EXPLAIN on the given query""" | |||
form = SQLSelectForm(request.POST or None) | |||
if form.is_valid(): | |||
sql = form.cleaned_data['raw_sql'] | |||
params = form.cleaned_data['params'] | |||
vendor = form.connection.vendor | |||
cursor = form.cursor | |||
if vendor == 'sqlite': | |||
# SQLite's EXPLAIN dumps the low-level opcodes generated for a query; | |||
# EXPLAIN QUERY PLAN dumps a more human-readable summary | |||
# See https://www.sqlite.org/lang_explain.html for details | |||
cursor.execute("EXPLAIN QUERY PLAN %s" % (sql,), params) | |||
elif vendor == 'postgresql': | |||
cursor.execute("EXPLAIN ANALYZE %s" % (sql,), params) | |||
else: | |||
cursor.execute("EXPLAIN %s" % (sql,), params) | |||
headers = [d[0] for d in cursor.description] | |||
result = cursor.fetchall() | |||
cursor.close() | |||
context = { | |||
'result': result, | |||
'sql': form.reformat_sql(), | |||
'duration': form.cleaned_data['duration'], | |||
'headers': headers, | |||
'alias': form.cleaned_data['alias'], | |||
} | |||
# Using SimpleTemplateResponse avoids running global context processors. | |||
return SimpleTemplateResponse('debug_toolbar/panels/sql_explain.html', context) | |||
return HttpResponseBadRequest('Form errors') | |||
@csrf_exempt | |||
@require_show_toolbar | |||
def sql_profile(request): | |||
"""Returns the output of running the SQL and getting the profiling statistics""" | |||
form = SQLSelectForm(request.POST or None) | |||
if form.is_valid(): | |||
sql = form.cleaned_data['raw_sql'] | |||
params = form.cleaned_data['params'] | |||
cursor = form.cursor | |||
result = None | |||
headers = None | |||
result_error = None | |||
try: | |||
cursor.execute("SET PROFILING=1") # Enable profiling | |||
cursor.execute(sql, params) # Execute SELECT | |||
cursor.execute("SET PROFILING=0") # Disable profiling | |||
# The Query ID should always be 1 here but I'll subselect to get | |||
# the last one just in case... | |||
cursor.execute(""" | |||
SELECT * | |||
FROM information_schema.profiling | |||
WHERE query_id = ( | |||
SELECT query_id | |||
FROM information_schema.profiling | |||
ORDER BY query_id DESC | |||
LIMIT 1 | |||
) | |||
""") | |||
headers = [d[0] for d in cursor.description] | |||
result = cursor.fetchall() | |||
except Exception: | |||
result_error = "Profiling is either not available or not supported by your database." | |||
cursor.close() | |||
context = { | |||
'result': result, | |||
'result_error': result_error, | |||
'sql': form.reformat_sql(), | |||
'duration': form.cleaned_data['duration'], | |||
'headers': headers, | |||
'alias': form.cleaned_data['alias'], | |||
} | |||
# Using SimpleTemplateResponse avoids running global context processors. | |||
return SimpleTemplateResponse('debug_toolbar/panels/sql_profile.html', context) | |||
return HttpResponseBadRequest('Form errors') |
@@ -0,0 +1,173 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
from collections import OrderedDict | |||
from os.path import join, normpath | |||
from django.conf import settings | |||
from django.contrib.staticfiles import finders, storage | |||
from django.contrib.staticfiles.templatetags import staticfiles | |||
from django.core.files.storage import get_storage_class | |||
from django.utils.encoding import python_2_unicode_compatible | |||
from django.utils.functional import LazyObject | |||
from django.utils.translation import ugettext_lazy as _, ungettext | |||
from debug_toolbar import panels | |||
from debug_toolbar.utils import ThreadCollector | |||
try: | |||
import threading | |||
except ImportError: | |||
threading = None | |||
@python_2_unicode_compatible | |||
class StaticFile(object): | |||
""" | |||
Representing the different properties of a static file. | |||
""" | |||
def __init__(self, path): | |||
self.path = path | |||
def __str__(self): | |||
return self.path | |||
def real_path(self): | |||
return finders.find(self.path) | |||
def url(self): | |||
return storage.staticfiles_storage.url(self.path) | |||
class FileCollector(ThreadCollector): | |||
def collect(self, path, thread=None): | |||
# handle the case of {% static "admin/" %} | |||
if path.endswith('/'): | |||
return | |||
super(FileCollector, self).collect(StaticFile(path), thread) | |||
collector = FileCollector() | |||
class DebugConfiguredStorage(LazyObject): | |||
""" | |||
A staticfiles storage class to be used for collecting which paths | |||
are resolved by using the {% static %} template tag (which uses the | |||
`url` method). | |||
""" | |||
def _setup(self): | |||
configured_storage_cls = get_storage_class(settings.STATICFILES_STORAGE) | |||
class DebugStaticFilesStorage(configured_storage_cls): | |||
def __init__(self, collector, *args, **kwargs): | |||
super(DebugStaticFilesStorage, self).__init__(*args, **kwargs) | |||
self.collector = collector | |||
def url(self, path): | |||
self.collector.collect(path) | |||
return super(DebugStaticFilesStorage, self).url(path) | |||
self._wrapped = DebugStaticFilesStorage(collector) | |||
_original_storage = storage.staticfiles_storage | |||
class StaticFilesPanel(panels.Panel): | |||
""" | |||
A panel to display the found staticfiles. | |||
""" | |||
name = 'Static files' | |||
template = 'debug_toolbar/panels/staticfiles.html' | |||
@property | |||
def title(self): | |||
return (_("Static files (%(num_found)s found, %(num_used)s used)") % | |||
{'num_found': self.num_found, 'num_used': self.num_used}) | |||
def __init__(self, *args, **kwargs): | |||
super(StaticFilesPanel, self).__init__(*args, **kwargs) | |||
self.num_found = 0 | |||
self._paths = {} | |||
def enable_instrumentation(self): | |||
storage.staticfiles_storage = staticfiles.staticfiles_storage = DebugConfiguredStorage() | |||
def disable_instrumentation(self): | |||
storage.staticfiles_storage = staticfiles.staticfiles_storage = _original_storage | |||
@property | |||
def num_used(self): | |||
return len(self._paths[threading.currentThread()]) | |||
nav_title = _('Static files') | |||
@property | |||
def nav_subtitle(self): | |||
num_used = self.num_used | |||
return ungettext("%(num_used)s file used", | |||
"%(num_used)s files used", | |||
num_used) % {'num_used': num_used} | |||
def process_request(self, request): | |||
collector.clear_collection() | |||
def generate_stats(self, request, response): | |||
used_paths = collector.get_collection() | |||
self._paths[threading.currentThread()] = used_paths | |||
self.record_stats({ | |||
'num_found': self.num_found, | |||
'num_used': self.num_used, | |||
'staticfiles': used_paths, | |||
'staticfiles_apps': self.get_staticfiles_apps(), | |||
'staticfiles_dirs': self.get_staticfiles_dirs(), | |||
'staticfiles_finders': self.get_staticfiles_finders(), | |||
}) | |||
def get_staticfiles_finders(self): | |||
""" | |||
Returns a sorted mapping between the finder path and the list | |||
of relative and file system paths which that finder was able | |||
to find. | |||
""" | |||
finders_mapping = OrderedDict() | |||
for finder in finders.get_finders(): | |||
for path, finder_storage in finder.list([]): | |||
if getattr(finder_storage, 'prefix', None): | |||
prefixed_path = join(finder_storage.prefix, path) | |||
else: | |||
prefixed_path = path | |||
finder_cls = finder.__class__ | |||
finder_path = '.'.join([finder_cls.__module__, | |||
finder_cls.__name__]) | |||
real_path = finder_storage.path(path) | |||
payload = (prefixed_path, real_path) | |||
finders_mapping.setdefault(finder_path, []).append(payload) | |||
self.num_found += 1 | |||
return finders_mapping | |||
def get_staticfiles_dirs(self): | |||
""" | |||
Returns a list of paths to inspect for additional static files | |||
""" | |||
dirs = [] | |||
for finder in finders.get_finders(): | |||
if isinstance(finder, finders.FileSystemFinder): | |||
dirs.extend(finder.locations) | |||
return [(prefix, normpath(dir)) for prefix, dir in dirs] | |||
def get_staticfiles_apps(self): | |||
""" | |||
Returns a list of app paths that have a static directory | |||
""" | |||
apps = [] | |||
for finder in finders.get_finders(): | |||
if isinstance(finder, finders.AppDirectoriesFinder): | |||
for app in finder.apps: | |||
if app not in apps: | |||
apps.append(app) | |||
return apps |
@@ -0,0 +1 @@ | |||
from debug_toolbar.panels.templates.panel import TemplatesPanel # noqa |
@@ -0,0 +1,222 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
from collections import OrderedDict | |||
from contextlib import contextmanager | |||
from os.path import normpath | |||
from pprint import pformat, saferepr | |||
from django import http | |||
from django.conf.urls import url | |||
from django.core import signing | |||
from django.db.models.query import QuerySet, RawQuerySet | |||
from django.template import RequestContext, Template | |||
from django.test.signals import template_rendered | |||
from django.test.utils import instrumented_test_render | |||
from django.utils import six | |||
from django.utils.encoding import force_text | |||
from django.utils.translation import ugettext_lazy as _ | |||
from debug_toolbar.panels import Panel | |||
from debug_toolbar.panels.sql.tracking import SQLQueryTriggered, recording | |||
from debug_toolbar.panels.templates import views | |||
# Monkey-patch to enable the template_rendered signal. The receiver returns | |||
# immediately when the panel is disabled to keep the overhead small. | |||
# Code taken and adapted from Simon Willison and Django Snippets: | |||
# https://www.djangosnippets.org/snippets/766/ | |||
if Template._render != instrumented_test_render: | |||
Template.original_render = Template._render | |||
Template._render = instrumented_test_render | |||
# Monkey-patch to store items added by template context processors. The | |||
# overhead is sufficiently small to justify enabling it unconditionally. | |||
@contextmanager | |||
def _request_context_bind_template(self, template): | |||
if self.template is not None: | |||
raise RuntimeError("Context is already bound to a template") | |||
self.template = template | |||
# Set context processors according to the template engine's settings. | |||
processors = (template.engine.template_context_processors + | |||
self._processors) | |||
self.context_processors = OrderedDict() | |||
updates = {} | |||
for processor in processors: | |||
name = '%s.%s' % (processor.__module__, processor.__name__) | |||
context = processor(self.request) | |||
self.context_processors[name] = context | |||
updates.update(context) | |||
self.dicts[self._processors_index] = updates | |||
try: | |||
yield | |||
finally: | |||
self.template = None | |||
# Unset context processors. | |||
self.dicts[self._processors_index] = {} | |||
RequestContext.bind_template = _request_context_bind_template | |||
class TemplatesPanel(Panel): | |||
""" | |||
A panel that lists all templates used during processing of a response. | |||
""" | |||
def __init__(self, *args, **kwargs): | |||
super(TemplatesPanel, self).__init__(*args, **kwargs) | |||
self.templates = [] | |||
# Refs GitHub issue #910 | |||
# Hold a series of seen dictionaries within Contexts. A dictionary is | |||
# considered seen if it is `in` this list, requiring that the __eq__ | |||
# for the dictionary matches. If *anything* in the dictionary is | |||
# different it is counted as a new layer. | |||
self.seen_layers = [] | |||
# Holds all dictionaries which have been prettified for output. | |||
# This should align with the seen_layers such that an index here is | |||
# the same as the index there. | |||
self.pformat_layers = [] | |||
def _store_template_info(self, sender, **kwargs): | |||
template, context = kwargs['template'], kwargs['context'] | |||
# Skip templates that we are generating through the debug toolbar. | |||
if (isinstance(template.name, six.string_types) and ( | |||
template.name.startswith('debug_toolbar/') or | |||
template.name.startswith( | |||
tuple(self.toolbar.config['SKIP_TEMPLATE_PREFIXES'])))): | |||
return | |||
context_list = [] | |||
for context_layer in context.dicts: | |||
if hasattr(context_layer, 'items') and context_layer: | |||
# Refs GitHub issue #910 | |||
# If we can find this layer in our pseudo-cache then find the | |||
# matching prettified version in the associated list. | |||
key_values = sorted(context_layer.items()) | |||
if key_values in self.seen_layers: | |||
index = self.seen_layers.index(key_values) | |||
pformatted = self.pformat_layers[index] | |||
context_list.append(pformatted) | |||
else: | |||
temp_layer = {} | |||
for key, value in context_layer.items(): | |||
# Replace any request elements - they have a large | |||
# unicode representation and the request data is | |||
# already made available from the Request panel. | |||
if isinstance(value, http.HttpRequest): | |||
temp_layer[key] = '<<request>>' | |||
# Replace the debugging sql_queries element. The SQL | |||
# data is already made available from the SQL panel. | |||
elif key == 'sql_queries' and isinstance(value, list): | |||
temp_layer[key] = '<<sql_queries>>' | |||
# Replace LANGUAGES, which is available in i18n context processor | |||
elif key == 'LANGUAGES' and isinstance(value, tuple): | |||
temp_layer[key] = '<<languages>>' | |||
# QuerySet would trigger the database: user can run the query from SQL Panel | |||
elif isinstance(value, (QuerySet, RawQuerySet)): | |||
model_name = "%s.%s" % ( | |||
value.model._meta.app_label, value.model.__name__) | |||
temp_layer[key] = '<<%s of %s>>' % ( | |||
value.__class__.__name__.lower(), model_name) | |||
else: | |||
try: | |||
recording(False) | |||
saferepr(value) # this MAY trigger a db query | |||
except SQLQueryTriggered: | |||
temp_layer[key] = '<<triggers database query>>' | |||
except UnicodeEncodeError: | |||
temp_layer[key] = '<<unicode encode error>>' | |||
except Exception: | |||
temp_layer[key] = '<<unhandled exception>>' | |||
else: | |||
temp_layer[key] = value | |||
finally: | |||
recording(True) | |||
# Refs GitHub issue #910 | |||
# If we've not seen the layer before then we will add it | |||
# so that if we see it again we can skip formatting it. | |||
self.seen_layers.append(key_values) | |||
# Note: this *ought* to be len(...) - 1 but let's be safe. | |||
index = self.seen_layers.index(key_values) | |||
try: | |||
pformatted = force_text(pformat(temp_layer)) | |||
except UnicodeEncodeError: | |||
pass | |||
else: | |||
# Note: this *ought* to be len(...) - 1 but let's be safe. | |||
self.pformat_layers.insert(index, pformatted) | |||
context_list.append(pformatted) | |||
kwargs['context'] = context_list | |||
kwargs['context_processors'] = getattr(context, 'context_processors', None) | |||
self.templates.append(kwargs) | |||
# Implement the Panel API | |||
nav_title = _("Templates") | |||
@property | |||
def title(self): | |||
num_templates = len(self.templates) | |||
return _("Templates (%(num_templates)s rendered)") % {'num_templates': num_templates} | |||
@property | |||
def nav_subtitle(self): | |||
if self.templates: | |||
return self.templates[0]['template'].name | |||
return '' | |||
template = 'debug_toolbar/panels/templates.html' | |||
@classmethod | |||
def get_urls(cls): | |||
return [ | |||
url(r'^template_source/$', views.template_source, name='template_source'), | |||
] | |||
def enable_instrumentation(self): | |||
template_rendered.connect(self._store_template_info) | |||
def disable_instrumentation(self): | |||
template_rendered.disconnect(self._store_template_info) | |||
def generate_stats(self, request, response): | |||
template_context = [] | |||
for template_data in self.templates: | |||
info = {} | |||
# Clean up some info about templates | |||
template = template_data.get('template', None) | |||
if hasattr(template, 'origin') and template.origin and template.origin.name: | |||
template.origin_name = template.origin.name | |||
template.origin_hash = signing.dumps(template.origin.name) | |||
else: | |||
template.origin_name = _('No origin') | |||
template.origin_hash = '' | |||
info['template'] = template | |||
# Clean up context for better readability | |||
if self.toolbar.config['SHOW_TEMPLATE_CONTEXT']: | |||
context_list = template_data.get('context', []) | |||
info['context'] = '\n'.join(context_list) | |||
template_context.append(info) | |||
# Fetch context_processors/template_dirs from any template | |||
if self.templates: | |||
context_processors = self.templates[0]['context_processors'] | |||
template = self.templates[0]['template'] | |||
# django templates have the 'engine' attribute, while jinja templates use 'backend' | |||
engine_backend = getattr(template, 'engine', None) or getattr(template, 'backend') | |||
template_dirs = engine_backend.dirs | |||
else: | |||
context_processors = None | |||
template_dirs = [] | |||
self.record_stats({ | |||
'templates': template_context, | |||
'template_dirs': [normpath(x) for x in template_dirs], | |||
'context_processors': context_processors, | |||
}) |
@@ -0,0 +1,66 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
from django.core import signing | |||
from django.http import HttpResponseBadRequest | |||
from django.template import Origin, TemplateDoesNotExist | |||
from django.template.engine import Engine | |||
from django.template.response import SimpleTemplateResponse | |||
from django.utils.safestring import mark_safe | |||
from debug_toolbar.decorators import require_show_toolbar | |||
@require_show_toolbar | |||
def template_source(request): | |||
""" | |||
Return the source of a template, syntax-highlighted by Pygments if | |||
it's available. | |||
""" | |||
template_origin_name = request.GET.get('template_origin', None) | |||
if template_origin_name is None: | |||
return HttpResponseBadRequest('"template_origin" key is required') | |||
try: | |||
template_origin_name = signing.loads(template_origin_name) | |||
except Exception: | |||
return HttpResponseBadRequest('"template_origin" is invalid') | |||
template_name = request.GET.get('template', template_origin_name) | |||
final_loaders = [] | |||
loaders = Engine.get_default().template_loaders | |||
for loader in loaders: | |||
if loader is not None: | |||
# When the loader has loaders associated with it, | |||
# append those loaders to the list. This occurs with | |||
# django.template.loaders.cached.Loader | |||
if hasattr(loader, 'loaders'): | |||
final_loaders += loader.loaders | |||
else: | |||
final_loaders.append(loader) | |||
for loader in final_loaders: | |||
origin = Origin(template_origin_name) | |||
try: | |||
source = loader.get_contents(origin) | |||
break | |||
except TemplateDoesNotExist: | |||
pass | |||
else: | |||
source = "Template Does Not Exist: %s" % (template_origin_name,) | |||
try: | |||
from pygments import highlight | |||
from pygments.lexers import HtmlDjangoLexer | |||
from pygments.formatters import HtmlFormatter | |||
source = highlight(source, HtmlDjangoLexer(), HtmlFormatter()) | |||
source = mark_safe(source) | |||
source.pygmentized = True | |||
except ImportError: | |||
pass | |||
# Using SimpleTemplateResponse avoids running global context processors. | |||
return SimpleTemplateResponse('debug_toolbar/panels/template_source.html', { | |||
'source': source, | |||
'template_name': template_name | |||
}) |
@@ -0,0 +1,94 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import time | |||
from django.template.loader import render_to_string | |||
from django.utils.translation import ugettext_lazy as _ | |||
from debug_toolbar.panels import Panel | |||
try: | |||
import resource # Not available on Win32 systems | |||
except ImportError: | |||
resource = None | |||
class TimerPanel(Panel): | |||
""" | |||
Panel that displays the time a response took in milliseconds. | |||
""" | |||
def nav_subtitle(self): | |||
stats = self.get_stats() | |||
if hasattr(self, '_start_rusage'): | |||
utime = self._end_rusage.ru_utime - self._start_rusage.ru_utime | |||
stime = self._end_rusage.ru_stime - self._start_rusage.ru_stime | |||
return _("CPU: %(cum)0.2fms (%(total)0.2fms)") % { | |||
'cum': (utime + stime) * 1000.0, | |||
'total': stats['total_time'] | |||
} | |||
elif 'total_time' in stats: | |||
return _("Total: %0.2fms") % stats['total_time'] | |||
else: | |||
return '' | |||
has_content = resource is not None | |||
title = _("Time") | |||
template = 'debug_toolbar/panels/timer.html' | |||
@property | |||
def content(self): | |||
stats = self.get_stats() | |||
rows = ( | |||
(_("User CPU time"), _("%(utime)0.3f msec") % stats), | |||
(_("System CPU time"), _("%(stime)0.3f msec") % stats), | |||
(_("Total CPU time"), _("%(total)0.3f msec") % stats), | |||
(_("Elapsed time"), _("%(total_time)0.3f msec") % stats), | |||
(_("Context switches"), _("%(vcsw)d voluntary, %(ivcsw)d involuntary") % stats), | |||
) | |||
return render_to_string(self.template, {'rows': rows}) | |||
def process_request(self, request): | |||
self._start_time = time.time() | |||
if self.has_content: | |||
self._start_rusage = resource.getrusage(resource.RUSAGE_SELF) | |||
def generate_stats(self, request, response): | |||
stats = {} | |||
if hasattr(self, '_start_time'): | |||
stats['total_time'] = (time.time() - self._start_time) * 1000 | |||
if hasattr(self, '_start_rusage'): | |||
self._end_rusage = resource.getrusage(resource.RUSAGE_SELF) | |||
stats['utime'] = 1000 * self._elapsed_ru('ru_utime') | |||
stats['stime'] = 1000 * self._elapsed_ru('ru_stime') | |||
stats['total'] = stats['utime'] + stats['stime'] | |||
stats['vcsw'] = self._elapsed_ru('ru_nvcsw') | |||
stats['ivcsw'] = self._elapsed_ru('ru_nivcsw') | |||
stats['minflt'] = self._elapsed_ru('ru_minflt') | |||
stats['majflt'] = self._elapsed_ru('ru_majflt') | |||
# these are documented as not meaningful under Linux. If you're running BSD | |||
# feel free to enable them, and add any others that I hadn't gotten to before | |||
# I noticed that I was getting nothing but zeroes and that the docs agreed. :-( | |||
# | |||
# stats['blkin'] = self._elapsed_ru('ru_inblock') | |||
# stats['blkout'] = self._elapsed_ru('ru_oublock') | |||
# stats['swap'] = self._elapsed_ru('ru_nswap') | |||
# stats['rss'] = self._end_rusage.ru_maxrss | |||
# stats['srss'] = self._end_rusage.ru_ixrss | |||
# stats['urss'] = self._end_rusage.ru_idrss | |||
# stats['usrss'] = self._end_rusage.ru_isrss | |||
self.record_stats(stats) | |||
def generate_server_timing(self, request, response): | |||
stats = self.get_stats() | |||
self.record_server_timing('utime', 'User CPU time', stats.get('utime', 0)) | |||
self.record_server_timing('stime', 'System CPU time', stats.get('stime', 0)) | |||
self.record_server_timing('total', 'Total CPU time', stats.get('total', 0)) | |||
self.record_server_timing('total_time', 'Elapsed time', stats.get('total_time', 0)) | |||
def _elapsed_ru(self, name): | |||
return getattr(self._end_rusage, name) - getattr(self._start_rusage, name) |
@@ -0,0 +1,65 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import sys | |||
import django | |||
from django.apps import apps | |||
from django.utils.translation import ugettext_lazy as _ | |||
from debug_toolbar.panels import Panel | |||
class VersionsPanel(Panel): | |||
""" | |||
Shows versions of Python, Django, and installed apps if possible. | |||
""" | |||
@property | |||
def nav_subtitle(self): | |||
return 'Django %s' % django.get_version() | |||
title = _("Versions") | |||
template = 'debug_toolbar/panels/versions.html' | |||
def generate_stats(self, request, response): | |||
versions = [ | |||
('Python', '', '%d.%d.%d' % sys.version_info[:3]), | |||
('Django', '', self.get_app_version(django)), | |||
] | |||
versions += list(self.gen_app_versions()) | |||
self.record_stats({ | |||
'versions': sorted(versions, key=lambda v: v[0]), | |||
'paths': sys.path, | |||
}) | |||
def gen_app_versions(self): | |||
for app_config in apps.get_app_configs(): | |||
name = app_config.verbose_name | |||
app = app_config.module | |||
version = self.get_app_version(app) | |||
if version: | |||
yield app.__name__, name, version | |||
def get_app_version(self, app): | |||
version = self.get_version_from_app(app) | |||
if isinstance(version, (list, tuple)): | |||
# We strip dots from the right because we do not want to show | |||
# trailing dots if there are empty elements in the list/tuple | |||
version = '.'.join(str(o) for o in version).rstrip('.') | |||
return version | |||
def get_version_from_app(self, app): | |||
if hasattr(app, 'get_version'): | |||
get_version = app.get_version | |||
if callable(get_version): | |||
try: | |||
return get_version() | |||
except TypeError: | |||
pass | |||
else: | |||
return get_version | |||
if hasattr(app, 'VERSION'): | |||
return app.VERSION | |||
if hasattr(app, '__version__'): | |||
return app.__version__ | |||
return |
@@ -0,0 +1,165 @@ | |||
from __future__ import absolute_import, unicode_literals | |||
import warnings | |||
from django.conf import settings | |||
from django.utils import six | |||
from django.utils.lru_cache import lru_cache | |||
# Always import this module as follows: | |||
# from debug_toolbar import settings [as dt_settings] | |||
# Don't import directly CONFIG or PANELs, or you will miss changes performed | |||
# with override_settings in tests. | |||
CONFIG_DEFAULTS = { | |||
# Toolbar options | |||
'DISABLE_PANELS': {'debug_toolbar.panels.redirects.RedirectsPanel'}, | |||
'INSERT_BEFORE': '</body>', | |||
'RENDER_PANELS': None, | |||
'RESULTS_CACHE_SIZE': 10, | |||
'ROOT_TAG_EXTRA_ATTRS': '', | |||
'SHOW_COLLAPSED': False, | |||
'SHOW_TOOLBAR_CALLBACK': 'debug_toolbar.middleware.show_toolbar', | |||
# Panel options | |||
'EXTRA_SIGNALS': [], | |||
'ENABLE_STACKTRACES': True, | |||
'HIDE_IN_STACKTRACES': ( | |||
'socketserver' if six.PY3 else 'SocketServer', | |||
'threading', | |||
'wsgiref', | |||
'debug_toolbar', | |||
'django.db', | |||
'django.core.handlers', | |||
'django.core.servers', | |||
'django.utils.decorators', | |||
'django.utils.deprecation', | |||
'django.utils.functional', | |||
), | |||
'PROFILER_MAX_DEPTH': 10, | |||
'SHOW_TEMPLATE_CONTEXT': True, | |||
'SKIP_TEMPLATE_PREFIXES': ( | |||
'django/forms/widgets/', | |||
'admin/widgets/', | |||
), | |||
'SQL_WARNING_THRESHOLD': 500, # milliseconds | |||
} | |||
@lru_cache() | |||
def get_config(): | |||
USER_CONFIG = getattr(settings, 'DEBUG_TOOLBAR_CONFIG', {}) | |||
# Backward-compatibility for 1.0, remove in 2.0. | |||
_RENAMED_CONFIG = { | |||
'RESULTS_STORE_SIZE': 'RESULTS_CACHE_SIZE', | |||
'ROOT_TAG_ATTRS': 'ROOT_TAG_EXTRA_ATTRS', | |||
'HIDDEN_STACKTRACE_MODULES': 'HIDE_IN_STACKTRACES' | |||
} | |||
for old_name, new_name in _RENAMED_CONFIG.items(): | |||
if old_name in USER_CONFIG: | |||
warnings.warn( | |||
"%r was renamed to %r. Update your DEBUG_TOOLBAR_CONFIG " | |||
"setting." % (old_name, new_name), DeprecationWarning) | |||
USER_CONFIG[new_name] = USER_CONFIG.pop(old_name) | |||
if 'HIDE_DJANGO_SQL' in USER_CONFIG: | |||
warnings.warn( | |||
"HIDE_DJANGO_SQL was removed. Update your " | |||
"DEBUG_TOOLBAR_CONFIG setting.", DeprecationWarning) | |||
USER_CONFIG.pop('HIDE_DJANGO_SQL') | |||
if 'TAG' in USER_CONFIG: | |||
warnings.warn( | |||
"TAG was replaced by INSERT_BEFORE. Update your " | |||
"DEBUG_TOOLBAR_CONFIG setting.", DeprecationWarning) | |||
USER_CONFIG['INSERT_BEFORE'] = '</%s>' % USER_CONFIG.pop('TAG') | |||
CONFIG = CONFIG_DEFAULTS.copy() | |||
CONFIG.update(USER_CONFIG) | |||
if 'INTERCEPT_REDIRECTS' in USER_CONFIG: | |||
warnings.warn( | |||
"INTERCEPT_REDIRECTS is deprecated. Please use the " | |||
"DISABLE_PANELS config in the " | |||
"DEBUG_TOOLBAR_CONFIG setting.", DeprecationWarning) | |||
if USER_CONFIG['INTERCEPT_REDIRECTS']: | |||
if 'debug_toolbar.panels.redirects.RedirectsPanel' \ | |||
in CONFIG['DISABLE_PANELS']: | |||
# RedirectsPanel should be enabled | |||
try: | |||
CONFIG['DISABLE_PANELS'].remove( | |||
'debug_toolbar.panels.redirects.RedirectsPanel' | |||
) | |||
except KeyError: | |||
# We wanted to remove it, but it didn't exist. This is fine | |||
pass | |||
elif 'debug_toolbar.panels.redirects.RedirectsPanel' \ | |||
not in CONFIG['DISABLE_PANELS']: | |||
# RedirectsPanel should be disabled | |||
CONFIG['DISABLE_PANELS'].add( | |||
'debug_toolbar.panels.redirects.RedirectsPanel' | |||
) | |||
return CONFIG | |||
PANELS_DEFAULTS = [ | |||
'debug_toolbar.panels.versions.VersionsPanel', | |||
'debug_toolbar.panels.timer.TimerPanel', | |||
'debug_toolbar.panels.settings.SettingsPanel', | |||
'debug_toolbar.panels.headers.HeadersPanel', | |||
'debug_toolbar.panels.request.RequestPanel', | |||
'debug_toolbar.panels.sql.SQLPanel', | |||
'debug_toolbar.panels.staticfiles.StaticFilesPanel', | |||
'debug_toolbar.panels.templates.TemplatesPanel', | |||
'debug_toolbar.panels.cache.CachePanel', | |||
'debug_toolbar.panels.signals.SignalsPanel', | |||
'debug_toolbar.panels.logging.LoggingPanel', | |||
'debug_toolbar.panels.redirects.RedirectsPanel', | |||
] | |||
@lru_cache() | |||
def get_panels(): | |||
try: | |||
PANELS = list(settings.DEBUG_TOOLBAR_PANELS) | |||
except AttributeError: | |||
PANELS = PANELS_DEFAULTS | |||
else: | |||
# Backward-compatibility for 1.0, remove in 2.0. | |||
_RENAMED_PANELS = { | |||
'debug_toolbar.panels.version.VersionDebugPanel': | |||
'debug_toolbar.panels.versions.VersionsPanel', | |||
'debug_toolbar.panels.timer.TimerDebugPanel': | |||
'debug_toolbar.panels.timer.TimerPanel', | |||
'debug_toolbar.panels.settings_vars.SettingsDebugPanel': | |||
'debug_toolbar.panels.settings.SettingsPanel', | |||
'debug_toolbar.panels.headers.HeaderDebugPanel': | |||
'debug_toolbar.panels.headers.HeadersPanel', | |||
'debug_toolbar.panels.request_vars.RequestVarsDebugPanel': | |||
'debug_toolbar.panels.request.RequestPanel', | |||
'debug_toolbar.panels.sql.SQLDebugPanel': | |||
'debug_toolbar.panels.sql.SQLPanel', | |||
'debug_toolbar.panels.template.TemplateDebugPanel': | |||
'debug_toolbar.panels.templates.TemplatesPanel', | |||
'debug_toolbar.panels.cache.CacheDebugPanel': | |||
'debug_toolbar.panels.cache.CachePanel', | |||
'debug_toolbar.panels.signals.SignalDebugPanel': | |||
'debug_toolbar.panels.signals.SignalsPanel', | |||
'debug_toolbar.panels.logger.LoggingDebugPanel': | |||
'debug_toolbar.panels.logging.LoggingPanel', | |||
'debug_toolbar.panels.redirects.InterceptRedirectsDebugPanel': | |||
'debug_toolbar.panels.redirects.RedirectsPanel', | |||
'debug_toolbar.panels.profiling.ProfilingDebugPanel': | |||
'debug_toolbar.panels.profiling.ProfilingPanel', | |||
} | |||
for index, old_panel in enumerate(PANELS): | |||
new_panel = _RENAMED_PANELS.get(old_panel) | |||
if new_panel is not None: | |||
warnings.warn( | |||
"%r was renamed to %r. Update your DEBUG_TOOLBAR_PANELS " | |||
"setting." % (old_panel, new_panel), DeprecationWarning) | |||
PANELS[index] = new_panel | |||
return PANELS |
@@ -0,0 +1,3 @@ | |||
#djDebug { | |||
display: none !important; | |||
} |
@@ -0,0 +1,641 @@ | |||
/* http://www.positioniseverything.net/easyclearing.html */ | |||
#djDebug .djdt-clearfix:after { | |||
content: "."; | |||
display: block; | |||
height: 0; | |||
clear: both; | |||
visibility: hidden; | |||
} | |||
#djDebug .djdt-clearfix {display: inline-block;} | |||
/* Hides from IE-mac \*/ | |||
#djDebug .djdt-clearfix {display: block;} | |||
* html #djDebug .djdt-clearfix {height: 1%;} | |||
/* end hide from IE-mac */ | |||
/* Debug Toolbar CSS Reset, adapted from Eric Meyer's CSS Reset */ | |||
#djDebug {color:#000;background:#FFF;} | |||
#djDebug, #djDebug div, #djDebug span, #djDebug applet, #djDebug object, #djDebug iframe, | |||
#djDebug h1, #djDebug h2, #djDebug h3, #djDebug h4, #djDebug h5, #djDebug h6, #djDebug p, #djDebug blockquote, #djDebug pre, | |||
#djDebug a, #djDebug abbr, #djDebug acronym, #djDebug address, #djDebug big, #djDebug cite, #djDebug code, | |||
#djDebug del, #djDebug dfn, #djDebug em, #djDebug font, #djDebug img, #djDebug ins, #djDebug kbd, #djDebug q, #djDebug s, #djDebug samp, | |||
#djDebug small, #djDebug strike, #djDebug strong, #djDebug sub, #djDebug sup, #djDebug tt, #djDebug var, | |||
#djDebug b, #djDebug u, #djDebug i, #djDebug center, | |||
#djDebug dl, #djDebug dt, #djDebug dd, #djDebug ol, #djDebug ul, #djDebug li, | |||
#djDebug fieldset, #djDebug form, #djDebug label, #djDebug legend, | |||
#djDebug table, #djDebug caption, #djDebug tbody, #djDebug tfoot, #djDebug thead, #djDebug tr, #djDebug th, #djDebug td, | |||
#djDebug button { | |||
margin:0; | |||
padding:0; | |||
min-width:0; | |||
width:auto; | |||
border:0; | |||
outline:0; | |||
font-size:12px; | |||
line-height:1.5em; | |||
color:#000; | |||
vertical-align:baseline; | |||
background-color:transparent; | |||
font-family:sans-serif; | |||
text-align:left; | |||
text-shadow: none; | |||
white-space: normal; | |||
-webkit-transition: none; | |||
-moz-transition: none; | |||
-o-transition: none; | |||
transition: none; | |||
} | |||
#djDebug button, #djDebug a.button { | |||
background-color: #eee; | |||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eee), color-stop(100%, #cccccc)); | |||
background-image: -webkit-linear-gradient(top, #eee, #cccccc); | |||
background-image: -moz-linear-gradient(top, #eee, #cccccc); | |||
background-image: -ms-linear-gradient(top, #eee, #cccccc); | |||
background-image: -o-linear-gradient(top, #eee, #cccccc); | |||
background-image: linear-gradient(top, #eee, #cccccc); | |||
border: 1px solid #ccc; | |||
border-bottom: 1px solid #bbb; | |||
-webkit-border-radius: 3px; | |||
-moz-border-radius: 3px; | |||
border-radius: 3px; | |||
color: #333; | |||
line-height: 1; | |||
padding: 0 8px; | |||
text-align: center; | |||
text-shadow: 0 1px 0 #eee; | |||
} | |||
#djDebug button:hover, #djDebug a.button:hover { | |||
background-color: #ddd; | |||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ddd), color-stop(100%, #bbb)); | |||
background-image: -webkit-linear-gradient(top, #ddd, #bbb); | |||
background-image: -moz-linear-gradient(top, #ddd, #bbb); | |||
background-image: -ms-linear-gradient(top, #ddd, #bbb); | |||
background-image: -o-linear-gradient(top, #ddd, #bbb); | |||
background-image: linear-gradient(top, #ddd, #bbb); | |||
border-color: #bbb; | |||
border-bottom-color: #999; | |||
cursor: pointer; | |||
text-shadow: 0 1px 0 #ddd; | |||
} | |||
#djDebug button:active, #djDebug a.button:active { | |||
border: 1px solid #aaa; | |||
border-bottom: 1px solid #888; | |||
-webkit-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; | |||
-moz-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; | |||
box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee; | |||
} | |||
#djDebug #djDebugToolbar { | |||
background-color:#111; | |||
width:200px; | |||
z-index:100000000; | |||
position:fixed; | |||
top:0; | |||
bottom:0; | |||
right:0; | |||
opacity:0.9; | |||
overflow-y: auto; | |||
} | |||
#djDebug #djDebugToolbar small { | |||
color:#999; | |||
} | |||
#djDebug #djDebugToolbar ul { | |||
margin:0; | |||
padding:0; | |||
list-style:none; | |||
} | |||
#djDebug #djDebugToolbar li { | |||
border-bottom:1px solid #222; | |||
color:#fff; | |||
display:block; | |||
font-weight:bold; | |||
float:none; | |||
margin:0; | |||
padding:0; | |||
position:relative; | |||
width:auto; | |||
} | |||
#djDebug #djDebugToolbar input[type=checkbox] { | |||
float: right; | |||
margin: 10px; | |||
} | |||
#djDebug #djDebugToolbar li>a, | |||
#djDebug #djDebugToolbar li>div.djdt-contentless { | |||
font-weight:normal; | |||
font-style:normal; | |||
text-decoration:none; | |||
display:block; | |||
font-size:16px; | |||
padding:10px 10px 5px 25px; | |||
color:#fff; | |||
} | |||
#djDebug #djDebugToolbar li>div.djdt-disabled { | |||
font-style: italic; | |||
color: #999; | |||
} | |||
#djDebug #djDebugToolbar li a:hover { | |||
color:#111; | |||
background-color:#ffc; | |||
} | |||
#djDebug #djDebugToolbar li.djdt-active { | |||
background: #333 no-repeat left center; | |||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAQAAAAngNWGAAABe0lEQVR4AW2SO0tDQRCFz+bGJxEUrKzsBBsb/4DYiIWdECvB/6CCYGtp6QNRjJ1FihSCVpZGMIhYSBAfIGKRx70xyY3JbrKOk7DJLp7DXm7Il9nMmREYQgQeAI1W1/zZUhR9ZI9gjSZb0iHMRSPbE1QzhhF2jN4H6YdRCHaPvOTjdDb1jWECBhiJoC1tg6Kotbw9WkxBoIUGaqiiQs8fSCj+t9qAIL1nlg9fKgSGKKNEJ2RUMqh7QCDIr58k31AlrIiA0CqhDTQJtUFAqsTFxjV85FGAz1XrkDZodPewkih8IkdwCRWu2U6VerQ0O3OzuTSJ/k62JiIXJI2NL0wBjDiTseQHW8fnGY6myf3+Dz49x88+vjr9SoPaoG6lLteuCApMiu1otAWG/s7BXtYEzv3yZOyrc5nV3XTZjPAv7Jqp2AVf9+dOyx4EFCTqCAnimZB1z9X38fk05RblfVQE1LkR5a6vwCivruANV2ynjU5FHpIE+AsCnCuNfgGtjt1gZaIn2wAAAABJRU5ErkJggg=="), url(../img/indicator.png); | |||
padding-left:10px; | |||
} | |||
#djDebug #djDebugToolbar li.djdt-active a:hover { | |||
color:#b36a60; | |||
background-color:transparent; | |||
} | |||
#djDebug #djDebugToolbar li small { | |||
font-size:12px; | |||
color:#999; | |||
font-style:normal; | |||
text-decoration:none; | |||
font-variant:small-caps; | |||
} | |||
#djDebug #djDebugToolbarHandle { | |||
position:fixed; | |||
background-color:#fff; | |||
border:1px solid #111; | |||
top:30px; | |||
right:0; | |||
z-index:100000000; | |||
opacity:0.75; | |||
} | |||
#djDebug #djShowToolBarButton { | |||
display:block; | |||
height:75px; | |||
width:30px; | |||
border-right:none; | |||
border-bottom:4px solid #fff; | |||
border-top:4px solid #fff; | |||
border-left:4px solid #fff; | |||
color:#fff; | |||
font-size:10px; | |||
font-weight:bold; | |||
text-decoration:none; | |||
text-align:center; | |||
text-indent:-999999px; | |||
background: #000 no-repeat left center; | |||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABLCAIAAACN/FLOAAADOUlEQVR4Ae2WUWhSXxzHp5v+y4mGGkkEETIfIhyEUThaD0XlGg7qZTJdpGOzQSiVC9uWlCxsMmvW0k2WBDVJMzJWBAaG6ORfGZMexAd9EXzxwWFI9qB24K7DZUNRdlSC++H35P1yPpff/Z1zbCMgICAg2AECgUClUmk0msHBQRqN1jyxxWIp/6Wrq6s5UkKsVCrP1wCfz0csrpGlpaXWiFdXV1sjdrvdiMW5XG6jBoxG47801YTYbDZj1mKxyOPx2loLmUzmcDhcLpdKpTbDJxQKbTZbLBYrlUqw/+l02uVySSSShijpdDrYneWqhEIh0AOUVtDPcDhcroFkMslgMJCJTSZTuWasVisaK4vFyufzZRw+n89gMMjlcqlUqtfrvV4v/pMXCgU2m41ArFAo8EemWCzenhGJRGDE8LcnArHD4YArqtXqSjGZTAZjdrsdgRjMKlyRyWRWilEoFHDCYLFAIIBADHYt3K/Vk6lUCktGo1EE4kQigS2XzWbHqpLJZLBkPB5HIAavX66TSCSCQBwMBusV+/1+BGKPx1Ov2Ol0IhDrdLr1OtFqtTv3EjBYnWwuY0ux9jHI7eTGiu2Bm9/Ki9tr7deTl9+nhq6fIZFITRXDmns73hoxqJP9ggaKw78XPm88wirw04IXz6yMNFB8Z3kY//v+Q5x3yRns0fP/dc0TA/SOy9ijVz/06MXg+43q+0emL3T38LY8mn9/DRPPelSN+0NP2sOhgx1MoXbAHw/w9koUPYrJvqOn+Ih9h4UHb9uGXsfufi3Z4Ch9TM8aXaO9km6UJgiN/t8D9xjQVKlnoQnQA5RW0E9H+BYUVCkw2J2MXcjEatOlWqxY6axDyG6FYP4xfumnPs1Vw0Cf/MQ56TEw4WbvOP6TrxUWmOxOBGIwqHDRQG5eJD6yPSMQ8cCIwdiAsgeBGB4LoKTq05VifbLjMDZllyMQg1mFK9KZuyvFOijtX4qbDQenGwIx2LVwv1ZPfkgZsaQzOo1A7E1sHv3+7MOLY71V6lNmDku+id9DIAavD1tdY72ITCIQLwcn6hUv+m8gEIOrpl7xfecIAvEVnXhlfbquGtaebSMgICAgaBR/AF2yboPNdvDUAAAAAElFTkSuQmCC"), url(../img/djdt_vertical.png); | |||
opacity:0.5; | |||
} | |||
#djDebug #djShowToolBarButton:hover { | |||
background-color:#111; | |||
border-top-color:#FFE761; | |||
border-left-color:#FFE761; | |||
border-bottom-color:#FFE761; | |||
cursor:move; | |||
opacity:1.0; | |||
} | |||
#djDebug code { | |||
display:block; | |||
font-family:Consolas, Monaco, "Bitstream Vera Sans Mono", "Lucida Console", monospace; | |||
font-size: 12px; | |||
white-space:pre; | |||
overflow:auto; | |||
} | |||
#djDebug .djDebugOdd { | |||
background-color:#f5f5f5; | |||
} | |||
#djDebug .djdt-panelContent { | |||
display:none; | |||
position:fixed; | |||
margin:0; | |||
top:0; | |||
right:200px; | |||
bottom:0; | |||
left:0px; | |||
background-color:#eee; | |||
color:#666; | |||
z-index:100000000; | |||
} | |||
#djDebug .djdt-panelContent > div { | |||
border-bottom:1px solid #ddd; | |||
} | |||
#djDebug .djDebugPanelTitle { | |||
position:absolute; | |||
background-color:#ffc; | |||
color:#666; | |||
padding-left:20px; | |||
top:0; | |||
right:0; | |||
left:0; | |||
height:50px; | |||
} | |||
#djDebug .djDebugPanelTitle code { | |||
display:inline; | |||
font-size:inherit; | |||
} | |||
#djDebug .djDebugPanelContent { | |||
position:absolute; | |||
top:50px; | |||
right:0; | |||
bottom:0; | |||
left:0; | |||
height:auto; | |||
padding:5px 0 0 20px; | |||
} | |||
#djDebug .djDebugPanelContent .djdt-loader { | |||
display:block; | |||
margin:80px auto; | |||
} | |||
#djDebug .djDebugPanelContent .djdt-scroll { | |||
height:100%; | |||
overflow:auto; | |||
display:block; | |||
padding:0 10px 0 0; | |||
} | |||
#djDebug h3 { | |||
font-size:24px; | |||
font-weight:normal; | |||
line-height:50px; | |||
} | |||
#djDebug h4 { | |||
font-size:20px; | |||
font-weight:bold; | |||
margin-top:0.8em; | |||
} | |||
#djDebug .djdt-panelContent table { | |||
border:1px solid #ccc; | |||
border-collapse:collapse; | |||
width:100%; | |||
background-color:#fff; | |||
display:table; | |||
margin-top:0.8em; | |||
overflow: auto; | |||
} | |||
#djDebug .djdt-panelContent tbody td, | |||
#djDebug .djdt-panelContent tbody th { | |||
vertical-align:top; | |||
padding:2px 3px; | |||
} | |||
#djDebug .djdt-panelContent tbody td.djdt-time { | |||
text-align: center; | |||
} | |||
#djDebug .djdt-panelContent thead th { | |||
padding:1px 6px 1px 3px; | |||
text-align:left; | |||
font-weight:bold; | |||
font-size:14px; | |||
white-space: nowrap; | |||
} | |||
#djDebug .djdt-panelContent tbody th { | |||
width:12em; | |||
text-align:right; | |||
color:#666; | |||
padding-right:.5em; | |||
} | |||
#djDebug .djTemplateContext { | |||
background-color:#fff; | |||
} | |||
/* | |||
#djDebug .djdt-panelContent p a:hover, #djDebug .djdt-panelContent dd a:hover { | |||
color:#111; | |||
background-color:#ffc; | |||
} | |||
#djDebug .djdt-panelContent p { | |||
padding:0 5px; | |||
} | |||
#djDebug .djdt-panelContent p, #djDebug .djdt-panelContent table, #djDebug .djdt-panelContent ol, #djDebug .djdt-panelContent ul, #djDebug .djdt-panelContent dl { | |||
margin:5px 0 15px; | |||
background-color:#fff; | |||
} | |||
#djDebug .djdt-panelContent table { | |||
clear:both; | |||
border:0; | |||
padding:0; | |||
margin:0; | |||
border-collapse:collapse; | |||
border-spacing:0; | |||
} | |||
#djDebug .djdt-panelContent table a { | |||
color:#000; | |||
padding:2px 4px; | |||
} | |||
#djDebug .djdt-panelContent table a:hover { | |||
background-color:#ffc; | |||
} | |||
#djDebug .djdt-panelContent table th { | |||
background-color:#333; | |||
font-weight:bold; | |||
color:#fff; | |||
padding:3px 7px 3px; | |||
text-align:left; | |||
cursor:pointer; | |||
} | |||
#djDebug .djdt-panelContent table td { | |||
padding:5px 10px; | |||
font-size:14px; | |||
background-color:#fff; | |||
color:#000; | |||
vertical-align:top; | |||
border:0; | |||
} | |||
#djDebug .djdt-panelContent table tr.djDebugOdd td { | |||
background-color:#eee; | |||
} | |||
*/ | |||
#djDebug .djdt-panelContent .djDebugClose { | |||
display:block; | |||
position:absolute; | |||
top:4px; | |||
right:15px; | |||
height:40px; | |||
width:40px; | |||
background: no-repeat center center; | |||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAQAAACQTsNJAAABuUlEQVR4Ab2WXeoaMRTFZxHz6pObcA0DeXUHhXktFl8LXYAPXYBLKhQGBOFqW3XS8YOW6vjHmnp6wWZyHU1maqHnQDAf/Ehu7twYhUQxdUixO/wr8ts3oeg9TQjCEx5R7SGvKCd4nPNsIyShD4QGf6QkBBkQWnrgg4zqS2fm01kbze3M3GFGjyBvCdLFqYRUySM1zLAOUXJ6dZAACcoPBOHkFpK5qY1BQBt5sExC0gAijEkriMuLfI9m8SqXNxbSd+QSbVSCnPtXyNjdCCoZ7PANF7C4/Y4tznASNzW+QqaP9lFcj4cLW4PY+vFepsSQ2Hbnp5vw2ShB231Cau72EkfUs53lC4R+YQkSXsBAiFdXc72IkupmDODDfKkhwKtdygUgHAuXw7gEIN7jCIQNsfc43sDuqlgsbC57A+u94q82nFVscv8Vy2Rbi72csGKQ+RPignvytGuZbPW0P6KNjvdpz97aIf3jLz/ArfuKXz9dCt7IojR9qihNAuUx33vL454grOqF+t2/F2rPk/H5pzaa2+Ynw3lIaOlh6BlVlDUCMlLND3pKhRdQUPof/1o4x9Qlxe6G/+T8BlqvQqkd4EyZAAAAAElFTkSuQmCC"), url(../img/close.png); | |||
} | |||
#djDebug .djdt-panelContent .djDebugClose:hover { | |||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAACiUlEQVR4Ad2Yz2oTURSH+xCz7cqX6DMUZtudCxExigq2WhcKYtGFVLrwAboSKoVGxT+tJWpTa2lLTDsm6SSTjtZoIq0prf+2Hu8PcmHInJvJPYwuPPDBMDPn8DE5c+fcDEgjDENHMahwOwx2zg1IsE1wFXcVvoIM+J173L8hckrRUpAlLeSmITKsKNoKMHioJRUZU1DKjNmKTCUWDWpUL21RJbcAcIxz/chM9StyvVeh8rOHtH7nJi2dOc6Ba7gnSWY8ScQ1JVdfv6C1yQlegAH3+su5XjLDvUTKXNK77H0Ul4Bck0jZJJLhEry5GV1ULvNg1iSTiYlw64SfX0ShNEAtfp3pEhnhjJmekIJapqcyEhWZZt4OtuDqlXPUWHxKYXaGli+c1Ocpf/4E1Wfv0afcPK1dG+VyTW/TdFQk6Pdp7BfWSMdhtQIZSFDbe0s6DiqezVMJtIjTfXGnuv3b9Iib+RxF47C2Te3SJkUDsqZ81GZkHIgMdV+ora8YC62MnqbvH0Iyxa/WZ3pz+awxH7UZkSH9YaMolZfPdaJZZvd9XOJLU0sYQW1ucROJoCcOyh51x1G9ip4Ri1j9NLoxDaEbWPDTWDbrx/lHsZ740dilSKChBc1q+fp+3SyQjp/NBnoi1sB4KpLXl13QSo/n2GKFW1fpaKdG+8UNSEQbmPY2VulbWKfi5A0uFzUTFzR+ib/NFJSBWolLvKYd++i9WkhNxF9i35Y29/W9KB8DxDPJJU4EBP9wMPJFoyLmCetRUc8gPK5JRDOhIBOlJ9nE4Rn3yIdnwXYi2Crq7QSOU99OaGBNKTMu3XK63GQvADXcNDbhGcWeQAA5mf/ybwkOR3FM4XbAsSOt9wcLTn8FNtAKkQAAAABJRU5ErkJggg=="), url(../img/close_hover.png); | |||
} | |||
#djDebug .djdt-panelContent .djDebugClose.djDebugBack { | |||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAACBUlEQVR4Ad2Y0WriQBSGfYjc7tW+hM8g5HbfYMHbxcXbhT6AF30AH6cXvRCEttK0JgZi0qhQaRNtNWV2fuiADicZcxirdOCn45mccz4mMyczbXDbeDx2pH5IuRD6n7YGR3UdkPBSaiQlSoQxPOMeA+S3VIxENRXD1wZIS2rAANA1RCwuSAdBLKtTF6RnCur7fjGZTLZJkhQQ+rAdANM7FORfVaA0Td/zPBdlDWN4xgDTNYG4Zc7T6TQjASqA4jjOKmBaVSA3lNN8Pi8Es8GXBkEuGqTNh2DDtCkQvU5gal+FpYZYZJ3RQH5RxPqaWG82qmuw02uGyoHcuyB9anfowZ6el+I2jITellkOu9gWH5UwJbupvwvimWZDgVzdeWLohyqpAlF2zE7dWfEUiKMPBkGwNxt6QmjwEKik+Ltnz9ZvpTCITcA4AGnqA1EUreFkgrm+fwSEsuO3spfCIDYB0gRIi9gtlVsWSVRSAOzaMSOw4zVSDbGp4nZGIPxXg6TWXo39xarsjMV6LtuXLmiz2cx6QUNMuqAZSvxqtbJW4hHLVOKVFvpDSZK8HPmjt6C+vn9OcAz4S4FA3hcejEasoyKmlnFUVK+DklsFAl2c9vDMuE6EYbhR1wn0bV8nlEAtLKvLvXK62smeK8RwbVzC21IpAyCF77f8twQlR+onEkLow8aN9x+oYk85YNJqYQAAAABJRU5ErkJggg=="), url(../img/back.png); | |||
} | |||
#djDebug .djdt-panelContent .djDebugClose.djDebugBack:hover { | |||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAACLElEQVR4Ad2YT8sSURTG/RCzbdWX8DMIs23XMrBlTLiTSIKKIqgP4C6KQAuKsLCycqGLRHNsXqck2giStIiiRdDtPtABuz0zNw+XkAYe3vHce57zY/7cOfetaI/VahVZHbOKIZz/ilU02jcBBW9YZVaGC2OYg7nhQU5ZrVlhj9bIDQFSs5ooAFzN4KUFSWASWMm+INe8pvnSvJ1PzaLfg3COmB8G3n8Jcq7MKH14z4yvXjCD0yepMIY5HpiGDyQuSj56+cSMrrQ4ABHmZi/6ZTC1MpCUJb3u3oa5SsjlIKjFQeosYda5JaZ6mLt3OAxquiBsncieP4ZRCMGLrjMuyAlG7D4To2Yi5/44eWZYDdTeBWmzt8M1W95sm09Z+kd8dv0S4maY1EthCt6m9i5ITq8GAcHx+cN7KSogEqdXx3NVcgGJ3MF3R29+MCMpiOPbx40Uxd/f4q8uNgth4E1gIoBU3YHleOgYcJjvX78AQuL4LfFCGHgTkCpAau7A4umj0nuNIlIUALtxXBEcuI0kF950cTsoEO2tQdGAtyb8w4rfiof1cF5fvqDN73dCL2jwpAuaf4m/fD7UEg8v7xIv2rqTsme9cB+9AX1btuzre0bdBuh7krMMBMr/YWOUaVpF9BP7t4rSg3DFvua5xRJF8wddb/OMOfrmWbGdyKcT2U7gPPh2QgRqE1gN7ZYzZp29Qim8QmzC61YbBcAGuf/hvyW4IqvjKAjhHDGt309H4mp9BS17eAAAAABJRU5ErkJggg=="), url(../img/back_hover.png); | |||
} | |||
#djDebug .djdt-panelContent dt, #djDebug .djdt-panelContent dd { | |||
display:block; | |||
} | |||
#djDebug .djdt-panelContent dt { | |||
margin-top:0.75em; | |||
} | |||
#djDebug .djdt-panelContent dd { | |||
margin-left:10px; | |||
} | |||
#djDebug a.toggleTemplate { | |||
padding:4px; | |||
background-color:#bbb; | |||
-webkit-border-radius:3px; | |||
-moz-border-radius:3px; | |||
border-radius:3px; | |||
} | |||
#djDebug a.toggleTemplate:hover { | |||
padding:4px; | |||
background-color:#444; | |||
color:#ffe761; | |||
-webkit-border-radius:3px; | |||
-moz-border-radius:3px; | |||
border-radius:3px; | |||
} | |||
#djDebug .djDebugSqlWrap { | |||
position:relative; | |||
} | |||
#djDebug .djDebugCollapsed { | |||
display: none; | |||
text-decoration: none; | |||
color: #333; | |||
} | |||
#djDebug .djDebugUncollapsed { | |||
color: #333; | |||
text-decoration: none; | |||
} | |||
#djDebug .djUnselected { | |||
display: none; | |||
} | |||
#djDebug tr.djHiddenByDefault { | |||
display: none; | |||
} | |||
#djDebug tr.djSelected { | |||
display: table-row; | |||
} | |||
#djDebug .djDebugSql { | |||
word-break:break-word; | |||
z-index:100000002; | |||
} | |||
#djDebug .djSQLDetailsDiv tbody th { | |||
text-align: left; | |||
} | |||
#djDebug .djSqlExplain td { | |||
white-space: pre; | |||
} | |||
#djDebug span.djDebugLineChart { | |||
background-color:#777; | |||
height:3px; | |||
position:absolute; | |||
bottom:0; | |||
top:0; | |||
left:0; | |||
display:block; | |||
z-index:1000000001; | |||
} | |||
#djDebug span.djDebugLineChartWarning { | |||
background-color:#900; | |||
} | |||
#djDebug .highlight { color:#000; } | |||
#djDebug .highlight .err { color:#000; } /* Error */ | |||
#djDebug .highlight .g { color:#000; } /* Generic */ | |||
#djDebug .highlight .k { color:#000; font-weight:bold } /* Keyword */ | |||
#djDebug .highlight .o { color:#000; } /* Operator */ | |||
#djDebug .highlight .n { color:#000; } /* Name */ | |||
#djDebug .highlight .mi { color:#000; font-weight:bold } /* Literal.Number.Integer */ | |||
#djDebug .highlight .l { color:#000; } /* Literal */ | |||
#djDebug .highlight .x { color:#000; } /* Other */ | |||
#djDebug .highlight .p { color:#000; } /* Punctuation */ | |||
#djDebug .highlight .m { color:#000; font-weight:bold } /* Literal.Number */ | |||
#djDebug .highlight .s { color:#333 } /* Literal.String */ | |||
#djDebug .highlight .w { color:#888888 } /* Text.Whitespace */ | |||
#djDebug .highlight .il { color:#000; font-weight:bold } /* Literal.Number.Integer.Long */ | |||
#djDebug .highlight .na { color:#333 } /* Name.Attribute */ | |||
#djDebug .highlight .nt { color:#000; font-weight:bold } /* Name.Tag */ | |||
#djDebug .highlight .nv { color:#333 } /* Name.Variable */ | |||
#djDebug .highlight .s2 { color:#333 } /* Literal.String.Double */ | |||
#djDebug .highlight .cp { color:#333 } /* Comment.Preproc */ | |||
#djDebug .djdt-timeline { | |||
width: 30%; | |||
} | |||
#djDebug .djDebugTimeline { | |||
position: relative; | |||
height: 100%; | |||
min-height: 100%; | |||
} | |||
#djDebug div.djDebugLineChart { | |||
position: absolute; | |||
left: 0; | |||
right: 0; | |||
top: 0; | |||
bottom: 0; | |||
vertical-align: middle; | |||
} | |||
#djDebug div.djDebugLineChart strong { | |||
text-indent: -10000em; | |||
display: block; | |||
font-weight: normal; | |||
vertical-align: middle; | |||
background-color:#ccc; | |||
} | |||
#djDebug div.djDebugLineChartWarning strong { | |||
background-color:#900; | |||
} | |||
#djDebug .djDebugInTransaction div.djDebugLineChart strong { | |||
background-color: #d3ff82; | |||
} | |||
#djDebug .djDebugStartTransaction div.djDebugLineChart strong { | |||
border-left: 1px solid #94b24d; | |||
} | |||
#djDebug .djDebugEndTransaction div.djDebugLineChart strong { | |||
border-right: 1px solid #94b24d; | |||
} | |||
#djDebug .djdt-panelContent ul.djdt-stats { | |||
position: relative; | |||
list-style-type: none; | |||
} | |||
#djDebug .djdt-panelContent ul.djdt-stats li { | |||
width: 30%; | |||
float: left; | |||
} | |||
#djDebug .djdt-panelContent ul.djdt-stats li strong.djdt-label { | |||
display: block; | |||
} | |||
#djDebug .djdt-panelContent ul.djdt-stats li span.djdt-color { | |||
height: 12px; | |||
width: 3px; | |||
display: inline-block; | |||
} | |||
#djDebug .djdt-panelContent ul.djdt-stats li span.djdt-info { | |||
display: block; | |||
padding-left: 5px; | |||
} | |||
#djDebug .djdt-panelContent thead th { | |||
white-space: nowrap; | |||
} | |||
#djDebug .djDebugRowWarning .djdt-time { | |||
color: red; | |||
} | |||
#djdebug .djdt-panelContent table .djdt-toggle { | |||
width: 14px; | |||
padding-top: 3px; | |||
} | |||
#djDebug .djdt-panelContent table .djdt-actions { | |||
min-width: 70px; | |||
white-space: nowrap; | |||
} | |||
#djdebug .djdt-panelContent table .djdt-color { | |||
width: 3px; | |||
} | |||
#djdebug .djdt-panelContent table .djdt-color span { | |||
width: 3px; | |||
height: 12px; | |||
overflow: hidden; | |||
padding: 0; | |||
} | |||
#djDebug .djToggleSwitch { | |||
text-decoration: none; | |||
border: 1px solid #999; | |||
height: 12px; | |||
width: 12px; | |||
line-height: 12px; | |||
text-align: center; | |||
color: #777; | |||
display: inline-block; | |||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF', endColorstr='#DCDCDC'); /* for IE */ | |||
background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#DCDCDC)); /* for webkit browsers */ | |||
background:-moz-linear-gradient(center top , #FFFFFF 0pt, #DCDCDC 100%) repeat scroll 0 0 transparent; | |||
} | |||
#djDebug .djNoToggleSwitch { | |||
height: 14px; | |||
width: 14px; | |||
display: inline-block; | |||
} | |||
#djDebug .djSQLDetailsDiv { | |||
margin-top:0.8em; | |||
} | |||
#djDebug pre { | |||
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ | |||
white-space: -pre-wrap; /* Opera 4-6 */ | |||
white-space: -o-pre-wrap; /* Opera 7 */ | |||
white-space: pre-wrap; /* CSS-3 */ | |||
word-wrap: break-word; /* Internet Explorer 5.5+ */ | |||
color: #555; | |||
border:1px solid #ccc; | |||
border-collapse:collapse; | |||
background-color:#fff; | |||
display:block; | |||
overflow: auto; | |||
padding:2px 3px; | |||
margin-bottom: 3px; | |||
font-family:Consolas, Monaco, "Bitstream Vera Sans Mono", "Lucida Console", monospace; | |||
} | |||
#djDebug .djdt-stack span { | |||
color: #000; | |||
font-weight: bold; | |||
} | |||
#djDebug .djdt-stack span.djdt-path { | |||
color: #777; | |||
font-weight: normal; | |||
} | |||
#djDebug .djdt-stack span.djdt-code { | |||
font-weight: normal; | |||
} | |||
#djDebug .djdt-width-20 { | |||
width: 20%; | |||
} | |||
#djDebug .djdt-width-60 { | |||
width: 60%; | |||
} | |||
#djDebug .djdt-highlighted { | |||
background-color: lightgrey; | |||
} | |||
.djdt-hidden { | |||
display: none; | |||
} |
@@ -0,0 +1 @@ | |||
var djdt = {jQuery: jQuery}; |
@@ -0,0 +1,4 @@ | |||
var djdt = {jQuery: jQuery.noConflict(true)}; | |||
if (window.define) { | |||
window.define.amd = _djdt_define_amd_backup; | |||
} |
@@ -0,0 +1,5 @@ | |||
var _djdt_define_amd_backup; | |||
if (window.define) { | |||
_djdt_define_amd_backup = window.define.amd; | |||
window.define.amd = undefined; | |||
} |
@@ -0,0 +1,330 @@ | |||
(function () { | |||
var $$ = { | |||
on: function(root, eventName, selector, fn) { | |||
root.addEventListener(eventName, function(event) { | |||
var target = event.target.closest(selector); | |||
if (root.contains(target)) { | |||
fn.call(target, event); | |||
} | |||
}); | |||
}, | |||
show: function(element) { | |||
element.style.display = 'block'; | |||
}, | |||
hide: function(element) { | |||
element.style.display = 'none'; | |||
}, | |||
toggle: function(element, value) { | |||
if (value) { | |||
$$.show(element); | |||
} else { | |||
$$.hide(element); | |||
} | |||
}, | |||
visible: function(element) { | |||
style = getComputedStyle(element); | |||
return style.display !== 'none'; | |||
}, | |||
executeScripts: function(root) { | |||
root.querySelectorAll('script').forEach(function(e) { | |||
var clone = document.createElement('script'); | |||
clone.src = e.src; | |||
root.appendChild(clone); | |||
}); | |||
}, | |||
}; | |||
var onKeyDown = function(event) { | |||
if (event.keyCode == 27) { | |||
djdt.hide_one_level(); | |||
} | |||
}; | |||
var ajax = function(url, init) { | |||
init = Object.assign({credentials: 'same-origin'}, init); | |||
return fetch(url, init).then(function(response) { | |||
if (response.ok) { | |||
return response.text(); | |||
} else { | |||
var win = document.querySelector('#djDebugWindow'); | |||
win.innerHTML = '<div class="djDebugPanelTitle"><a class="djDebugClose djDebugBack" href=""></a><h3>'+response.status+': '+response.statusText+'</h3></div>'; | |||
$$.show(win); | |||
return Promise.reject(); | |||
} | |||
}); | |||
}; | |||
var djdt = { | |||
handleDragged: false, | |||
events: { | |||
ready: [] | |||
}, | |||
isReady: false, | |||
init: function() { | |||
var djDebug = document.querySelector('#djDebug'); | |||
$$.show(djDebug); | |||
$$.on(djDebug.querySelector('#djDebugPanelList'), 'click', 'li a', function(event) { | |||
event.preventDefault(); | |||
if (!this.className) { | |||
return; | |||
} | |||
var current = djDebug.querySelector('#' + this.className); | |||
if ($$.visible(current)) { | |||
djdt.hide_panels(); | |||
} else { | |||
djdt.hide_panels(); | |||
$$.show(current); | |||
this.parentElement.classList.add('djdt-active'); | |||
var inner = current.querySelector('.djDebugPanelContent .djdt-scroll'), | |||
store_id = djDebug.getAttribute('data-store-id'); | |||
if (store_id && inner.children.length === 0) { | |||
var url = djDebug.getAttribute('data-render-panel-url'); | |||
var url_params = new URLSearchParams(); | |||
url_params.append('store_id', store_id); | |||
url_params.append('panel_id', this.className); | |||
url += '?' + url_params.toString(); | |||
ajax(url).then(function(body) { | |||
inner.previousElementSibling.remove(); // Remove AJAX loader | |||
inner.innerHTML = body; | |||
$$.executeScripts(inner); | |||
}); | |||
} | |||
} | |||
}); | |||
$$.on(djDebug, 'click', 'a.djDebugClose', function(event) { | |||
event.preventDefault(); | |||
djdt.hide_one_level(); | |||
}); | |||
$$.on(djDebug, 'click', '.djDebugPanelButton input[type=checkbox]', function() { | |||
djdt.cookie.set(this.getAttribute('data-cookie'), this.checked ? 'on' : 'off', { | |||
path: '/', | |||
expires: 10 | |||
}); | |||
}); | |||
// Used by the SQL and template panels | |||
$$.on(djDebug, 'click', '.remoteCall', function(event) { | |||
event.preventDefault(); | |||
var name = this.tagName.toLowerCase(); | |||
var ajax_data = {}; | |||
if (name == 'button') { | |||
var form = this.closest('form'); | |||
ajax_data.url = this.getAttribute('formaction'); | |||
if (form) { | |||
ajax_data.body = new FormData(form); | |||
ajax_data.method = form.getAttribute('method') || 'POST'; | |||
} | |||
} | |||
if (name == 'a') { | |||
ajax_data.url = this.getAttribute('href'); | |||
} | |||
ajax(ajax_data.url, ajax_data).then(function(body) { | |||
var win = djDebug.querySelector('#djDebugWindow'); | |||
win.innerHTML = body; | |||
$$.executeScripts(win); | |||
$$.show(win); | |||
}); | |||
}); | |||
// Used by the cache, profiling and SQL panels | |||
$$.on(djDebug, 'click', 'a.djToggleSwitch', function(event) { | |||
event.preventDefault(); | |||
var self = this; | |||
var id = this.getAttribute('data-toggle-id'); | |||
var open_me = this.textContent == this.getAttribute('data-toggle-open'); | |||
if (id === '' || !id) { | |||
return; | |||
} | |||
var name = this.getAttribute('data-toggle-name'); | |||
var container = this.closest('.djDebugPanelContent').querySelector('#' + name + '_' + id); | |||
container.querySelectorAll('.djDebugCollapsed').forEach(function(e) { | |||
$$.toggle(e, open_me); | |||
}); | |||
container.querySelectorAll('.djDebugUncollapsed').forEach(function(e) { | |||
$$.toggle(e, !open_me); | |||
}); | |||
this.closest('.djDebugPanelContent').querySelectorAll('.djToggleDetails_' + id).forEach(function(e) { | |||
if (open_me) { | |||
e.classList.add('djSelected'); | |||
e.classList.remove('djUnselected'); | |||
self.textContent = self.getAttribute('data-toggle-close'); | |||
} else { | |||
e.classList.remove('djSelected'); | |||
e.classList.add('djUnselected'); | |||
self.textContent = self.getAttribute('data-toggle-open'); | |||
} | |||
var switch_ = e.querySelector('.djToggleSwitch') | |||
if (switch_) switch_.textContent = self.textContent; | |||
}); | |||
}); | |||
djDebug.querySelector('#djHideToolBarButton').addEventListener('click', function(event) { | |||
event.preventDefault(); | |||
djdt.hide_toolbar(true); | |||
}); | |||
djDebug.querySelector('#djShowToolBarButton').addEventListener('click', function(event) { | |||
event.preventDefault(); | |||
if (!djdt.handleDragged) { | |||
djdt.show_toolbar(); | |||
} | |||
}); | |||
var startPageY, baseY; | |||
var handle = document.querySelector('#djDebugToolbarHandle'); | |||
var onHandleMove = function(event) { | |||
// Chrome can send spurious mousemove events, so don't do anything unless the | |||
// cursor really moved. Otherwise, it will be impossible to expand the toolbar | |||
// due to djdt.handleDragged being set to true. | |||
if (djdt.handleDragged || event.pageY != startPageY) { | |||
var top = baseY + event.pageY; | |||
if (top < 0) { | |||
top = 0; | |||
} else if (top + handle.offsetHeight > window.innerHeight) { | |||
top = window.innerHeight - handle.offsetHeight; | |||
} | |||
handle.style.top = top + 'px'; | |||
djdt.handleDragged = true; | |||
} | |||
}; | |||
djDebug.querySelector('#djShowToolBarButton').addEventListener('mousedown', function(event) { | |||
event.preventDefault(); | |||
startPageY = event.pageY; | |||
baseY = handle.offsetTop - startPageY; | |||
document.addEventListener('mousemove', onHandleMove); | |||
}); | |||
document.addEventListener('mouseup', function (event) { | |||
document.removeEventListener('mousemove', onHandleMove); | |||
if (djdt.handleDragged) { | |||
event.preventDefault(); | |||
djdt.cookie.set('djdttop', handle.offsetTop, { | |||
path: '/', | |||
expires: 10 | |||
}); | |||
setTimeout(function () { | |||
djdt.handleDragged = false; | |||
}, 10); | |||
} | |||
}); | |||
if (djdt.cookie.get('djdt') == 'hide') { | |||
djdt.hide_toolbar(false); | |||
} else { | |||
djdt.show_toolbar(); | |||
} | |||
djdt.isReady = true; | |||
djdt.events.ready.forEach(function(callback) { | |||
callback(djdt); | |||
}); | |||
}, | |||
hide_panels: function() { | |||
$$.hide(djDebug.querySelector('#djDebugWindow')); | |||
djDebug.querySelectorAll('.djdt-panelContent').forEach(function(e) { | |||
$$.hide(e); | |||
}); | |||
djDebug.querySelectorAll('#djDebugToolbar li').forEach(function(e) { | |||
e.classList.remove('djdt-active'); | |||
}); | |||
}, | |||
hide_toolbar: function(setCookie) { | |||
djdt.hide_panels(); | |||
$$.hide(djDebug.querySelector('#djDebugToolbar')); | |||
var handle = document.querySelector('#djDebugToolbarHandle'); | |||
$$.show(handle); | |||
// set handle position | |||
var handleTop = djdt.cookie.get('djdttop'); | |||
if (handleTop) { | |||
handleTop = Math.min(handleTop, window.innerHeight - handle.offsetHeight); | |||
handle.style.top = handleTop + 'px'; | |||
} | |||
document.removeEventListener('keydown', onKeyDown); | |||
if (setCookie) { | |||
djdt.cookie.set('djdt', 'hide', { | |||
path: '/', | |||
expires: 10 | |||
}); | |||
} | |||
}, | |||
hide_one_level: function(skipDebugWindow) { | |||
if ($$.visible(djDebug.querySelector('#djDebugWindow'))) { | |||
$$.hide(djDebug.querySelector('#djDebugWindow')); | |||
} else if (djDebug.querySelector('#djDebugToolbar li.djdt-active')) { | |||
djdt.hide_panels(); | |||
} else { | |||
djdt.hide_toolbar(true); | |||
} | |||
}, | |||
show_toolbar: function() { | |||
document.addEventListener('keydown', onKeyDown); | |||
$$.hide(djDebug.querySelector('#djDebugToolbarHandle')); | |||
$$.show(djDebug.querySelector('#djDebugToolbar')); | |||
djdt.cookie.set('djdt', 'show', { | |||
path: '/', | |||
expires: 10 | |||
}); | |||
}, | |||
ready: function(callback){ | |||
if (djdt.isReady) { | |||
callback(djdt); | |||
} else { | |||
djdt.events.ready.push(callback); | |||
} | |||
}, | |||
cookie: { | |||
get: function(key){ | |||
if (document.cookie.indexOf(key) === -1) return null; | |||
var cookieArray = document.cookie.split('; '), | |||
cookies = {}; | |||
cookieArray.forEach(function(e){ | |||
var parts = e.split('='); | |||
cookies[ parts[0] ] = parts[1]; | |||
}); | |||
return cookies[ key ]; | |||
}, | |||
set: function(key, value, options){ | |||
options = options || {}; | |||
if (typeof options.expires === 'number') { | |||
var days = options.expires, t = options.expires = new Date(); | |||
t.setDate(t.getDate() + days); | |||
} | |||
document.cookie = [ | |||
encodeURIComponent(key) + '=' + String(value), | |||
options.expires ? '; expires=' + options.expires.toUTCString() : '', | |||
options.path ? '; path=' + options.path : '', | |||
options.domain ? '; domain=' + options.domain : '', | |||
options.secure ? '; secure' : '' | |||
].join(''); | |||
return value; | |||
} | |||
}, | |||
applyStyle: function(name) { | |||
var selector = '#djDebug [data-' + name + ']'; | |||
document.querySelectorAll(selector).forEach(function(element) { | |||
element.style[name] = element.getAttribute('data-' + name); | |||
}); | |||
} | |||
}; | |||
window.djdt = { | |||
show_toolbar: djdt.show_toolbar, | |||
hide_toolbar: djdt.hide_toolbar, | |||
close: djdt.hide_one_level, | |||
cookie: djdt.cookie, | |||
applyStyle: djdt.applyStyle | |||
}; | |||
document.addEventListener('DOMContentLoaded', djdt.init); | |||
})(); |
@@ -0,0 +1,3 @@ | |||
(function () { | |||
djdt.applyStyle('padding-left'); | |||
})(); |
@@ -0,0 +1,5 @@ | |||
(function () { | |||
djdt.applyStyle('background-color'); | |||
djdt.applyStyle('left'); | |||
djdt.applyStyle('width'); | |||
})(); |
@@ -0,0 +1,11 @@ | |||
(function ($) { | |||
var uarr = String.fromCharCode(0x25b6), | |||
darr = String.fromCharCode(0x25bc); | |||
$('a.djTemplateShowContext').on('click', function() { | |||
var arrow = $(this).children('.toggleArrow'); | |||
arrow.html(arrow.html() == uarr ? darr : uarr); | |||
$(this).parent().next().toggle(); | |||
return false; | |||
}); | |||
})(djdt.jQuery); |
@@ -0,0 +1,52 @@ | |||
(function () { | |||
// Browser timing remains hidden unless we can successfully access the performance object | |||
var perf = window.performance || window.msPerformance || | |||
window.webkitPerformance || window.mozPerformance; | |||
if (!perf) | |||
return; | |||
var rowCount = 0, | |||
timingOffset = perf.timing.navigationStart, | |||
timingEnd = perf.timing.loadEventEnd, | |||
totalTime = timingEnd - timingOffset; | |||
function getLeft(stat) { | |||
return ((perf.timing[stat] - timingOffset) / (totalTime)) * 100.0; | |||
} | |||
function getCSSWidth(stat, endStat) { | |||
var width = ((perf.timing[endStat] - perf.timing[stat]) / (totalTime)) * 100.0; | |||
// Calculate relative percent (same as sql panel logic) | |||
width = 100.0 * width / (100.0 - getLeft(stat)); | |||
return (width < 1) ? "2px" : width + "%"; | |||
} | |||
function addRow(stat, endStat) { | |||
rowCount++; | |||
var row = document.createElement('tr'); | |||
row.className = (rowCount % 2) ? 'djDebugOdd' : 'djDebugEven'; | |||
if (endStat) { | |||
// Render a start through end bar | |||
row.innerHTML = '<td>' + stat.replace('Start', '') + '</td>' + | |||
'<td class="djdt-timeline"><div class="djDebugTimeline"><div class="djDebugLineChart"><strong> </strong></div></div></td>' + | |||
'<td>' + (perf.timing[stat] - timingOffset) + ' (+' + (perf.timing[endStat] - perf.timing[stat]) + ')</td>'; | |||
row.querySelector('strong').style.width = getCSSWidth(stat, endStat); | |||
} else { | |||
// Render a point in time | |||
row.innerHTML = '<td>' + stat + '</td>' + | |||
'<td class="djdt-timeline"><div class="djDebugTimeline"><div class="djDebugLineChart"><strong> </strong></div></div></td>' + | |||
'<td>' + (perf.timing[stat] - timingOffset) + '</td>'; | |||
row.querySelector('strong').style.width = '2px'; | |||
} | |||
row.querySelector('.djDebugLineChart').style.left = getLeft(stat) + '%'; | |||
document.querySelector('#djDebugBrowserTimingTableBody').appendChild(row); | |||
} | |||
// This is a reasonably complete and ordered set of timing periods (2 params) and events (1 param) | |||
addRow('domainLookupStart', 'domainLookupEnd'); | |||
addRow('connectStart', 'connectEnd'); | |||
addRow('requestStart', 'responseEnd'); // There is no requestEnd | |||
addRow('responseStart', 'responseEnd'); | |||
addRow('domLoading', 'domComplete'); // Spans the events below | |||
addRow('domInteractive'); | |||
addRow('domContentLoadedEventStart', 'domContentLoadedEventEnd'); | |||
addRow('loadEventStart', 'loadEventEnd'); | |||
document.querySelector('#djDebugBrowserTiming').classList.remove('djdt-hidden'); | |||
})(); |
@@ -0,0 +1,63 @@ | |||
{% load i18n %}{% load static %} | |||
<link rel="stylesheet" href="{% static 'debug_toolbar/css/print.css' %}" type="text/css" media="print"> | |||
<link rel="stylesheet" href="{% static 'debug_toolbar/css/toolbar.css' %}" type="text/css"> | |||
<script src="{% static 'debug_toolbar/js/toolbar.js' %}"></script> | |||
<div id="djDebug" class="djdt-hidden" dir="ltr" | |||
{% if toolbar.store_id %} | |||
data-store-id="{{ toolbar.store_id }}" | |||
data-render-panel-url="{% url 'djdt:render_panel' %}" | |||
{% endif %} | |||
{{ toolbar.config.ROOT_TAG_EXTRA_ATTRS|safe }}> | |||
<div class="djdt-hidden" id="djDebugToolbar"> | |||
<ul id="djDebugPanelList"> | |||
{% if toolbar.panels %} | |||
<li><a id="djHideToolBarButton" href="#" title="{% trans "Hide toolbar" %}">{% trans "Hide" %} »</a></li> | |||
{% else %} | |||
<li id="djDebugButton">DEBUG</li> | |||
{% endif %} | |||
{% for panel in toolbar.panels %} | |||
<li class="djDebugPanelButton"> | |||
<input type="checkbox" data-cookie="djdt{{ panel.panel_id }}" {% if panel.enabled %}checked title="{% trans "Disable for next and successive requests" %}"{% else %}title="{% trans "Enable for next and successive requests" %}"{% endif %}> | |||
{% if panel.has_content and panel.enabled %} | |||
<a href="#" title="{{ panel.title }}" class="{{ panel.panel_id }}"> | |||
{% else %} | |||
<div class="djdt-contentless{% if not panel.enabled %} djdt-disabled{% endif %}"> | |||
{% endif %} | |||
{{ panel.nav_title }} | |||
{% if panel.enabled %} | |||
{% with panel.nav_subtitle as subtitle %} | |||
{% if subtitle %}<br><small>{{ subtitle }}</small>{% endif %} | |||
{% endwith %} | |||
{% endif %} | |||
{% if panel.has_content and panel.enabled %} | |||
</a> | |||
{% else %} | |||
</div> | |||
{% endif %} | |||
</li> | |||
{% endfor %} | |||
</ul> | |||
</div> | |||
<div class="djdt-hidden" id="djDebugToolbarHandle"> | |||
<span title="{% trans "Show toolbar" %}" id="djShowToolBarButton">«</span> | |||
</div> | |||
{% for panel in toolbar.panels %} | |||
{% if panel.has_content and panel.enabled %} | |||
<div id="{{ panel.panel_id }}" class="djdt-panelContent"> | |||
<div class="djDebugPanelTitle"> | |||
<a href="" class="djDebugClose"></a> | |||
<h3>{{ panel.title|safe }}</h3> | |||
</div> | |||
<div class="djDebugPanelContent"> | |||
{% if toolbar.store_id %} | |||
<img src="{% static 'debug_toolbar/img/ajax-loader.gif' %}" alt="loading" class="djdt-loader"> | |||
<div class="djdt-scroll"></div> | |||
{% else %} | |||
<div class="djdt-scroll">{{ panel.content }}</div> | |||
{% endif %} | |||
</div> | |||
</div> | |||
{% endif %} | |||
{% endfor %} | |||
<div id="djDebugWindow" class="djdt-panelContent"></div> | |||
</div> |
@@ -0,0 +1,69 @@ | |||
{% load i18n %} | |||
<h4>{% trans "Summary" %}</h4> | |||
<table> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Total calls" %}</th> | |||
<th>{% trans "Total time" %}</th> | |||
<th>{% trans "Cache hits" %}</th> | |||
<th>{% trans "Cache misses" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
<tr> | |||
<td>{{ total_calls }}</td> | |||
<td>{{ total_time }} ms</td> | |||
<td>{{ hits }}</td> | |||
<td>{{ misses }}</td> | |||
</tr> | |||
</tbody> | |||
</table> | |||
<h4>{% trans "Commands" %}</h4> | |||
<table> | |||
<thead> | |||
<tr> | |||
{% for name in counts.keys %} | |||
<th>{{ name }}</th> | |||
{% endfor %} | |||
</tr> | |||
</thead> | |||
<tbody> | |||
<tr> | |||
{% for value in counts.values %} | |||
<td>{{ value }}</td> | |||
{% endfor %} | |||
</tr> | |||
</tbody> | |||
</table> | |||
{% if calls %} | |||
<h4>{% trans "Calls" %}</h4> | |||
<table> | |||
<thead> | |||
<tr> | |||
<th colspan="2">{% trans "Time (ms)" %}</th> | |||
<th>{% trans "Type" %}</th> | |||
<th>{% trans "Arguments" %}</th> | |||
<th>{% trans "Keyword arguments" %}</th> | |||
<th>{% trans "Backend" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for call in calls %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}" id="cacheMain_{{ forloop.counter }}"> | |||
<td class="djdt-toggle"> | |||
<a class="djToggleSwitch" data-toggle-name="cacheMain" data-toggle-id="{{ forloop.counter }}" data-toggle-open="+" data-toggle-close="-" href>+</a> | |||
</td> | |||
<td>{{ call.time|floatformat:"4" }}</td> | |||
<td>{{ call.name|escape }}</td> | |||
<td>{{ call.args|escape }}</td> | |||
<td>{{ call.kwargs|escape }}</td> | |||
<td>{{ call.backend }}</td> | |||
</tr> | |||
<tr class="djUnselected {% cycle 'djDebugOdd' 'djDebugEven' %} djToggleDetails_{{ forloop.counter }}" id="cacheDetails_{{ forloop.counter }}"> | |||
<td colspan="1"></td> | |||
<td colspan="5"><pre class="djdt-stack">{{ call.trace }}</pre></td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> | |||
{% endif %} |
@@ -0,0 +1,60 @@ | |||
{% load i18n %} | |||
<h4>{% trans "Request headers" %}</h4> | |||
<table> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Key" %}</th> | |||
<th>{% trans "Value" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for key, value in request_headers.items %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}"> | |||
<td>{{ key|escape }}</td> | |||
<td>{{ value|escape }}</td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> | |||
<h4>{% trans "Response headers" %}</h4> | |||
<table> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Key" %}</th> | |||
<th>{% trans "Value" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for key, value in response_headers.items %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}"> | |||
<td>{{ key|escape }}</td> | |||
<td>{{ value|escape }}</td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> | |||
<h4>{% trans "WSGI environ" %}</h4> | |||
<p>{% trans "Since the WSGI environ inherits the environment of the server, only a significant subset is shown below." %}</p> | |||
<table> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Key" %}</th> | |||
<th>{% trans "Value" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for key, value in environ.items %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}"> | |||
<td>{{ key|escape }}</td> | |||
<td>{{ value|escape }}</td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> |
@@ -0,0 +1,28 @@ | |||
{% load i18n %} | |||
{% if records %} | |||
<table> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Level" %}</th> | |||
<th>{% trans "Time" %}</th> | |||
<th>{% trans "Channel" %}</th> | |||
<th>{% trans "Message" %}</th> | |||
<th>{% trans "Location" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for record in records %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}"> | |||
<td>{{ record.level }}</td> | |||
<td>{{ record.time|date:"h:i:s m/d/Y" }}</td> | |||
<td>{{ record.channel|default:"-" }}</td> | |||
<td>{{ record.message|linebreaksbr }}</td> | |||
<td>{{ record.file }}:{{ record.line }}</td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> | |||
{% else %} | |||
<p>{% trans "No messages logged" %}.</p> | |||
{% endif %} | |||
@@ -0,0 +1,36 @@ | |||
{% load i18n %}{% load static %} | |||
<table width="100%"> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Call" %}</th> | |||
<th>{% trans "CumTime" %}</th> | |||
<th>{% trans "Per" %}</th> | |||
<th>{% trans "TotTime" %}</th> | |||
<th>{% trans "Per" %}</th> | |||
<th>{% trans "Count" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for call in func_list %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %} djDebugProfileRow{% for parent_id in call.parent_ids %} djToggleDetails_{{ parent_id }}{% endfor %}" depth="{{ call.depth }}"> | |||
<td> | |||
<div data-padding-left="{{ call.indent }}px"> | |||
{% if call.has_subfuncs %} | |||
<a class="djProfileToggleDetails djToggleSwitch" data-toggle-id="{{ call.id }}" data-toggle-open="+" data-toggle-close="-" href>-</a> | |||
{% else %} | |||
<span class="djNoToggleSwitch"></span> | |||
{% endif %} | |||
<span class="djdt-stack">{{ call.func_std_string }}</span> | |||
</div> | |||
</td> | |||
<td>{{ call.cumtime|floatformat:3 }}</td> | |||
<td>{{ call.cumtime_per_call|floatformat:3 }}</td> | |||
<td>{{ call.tottime|floatformat:3 }}</td> | |||
<td>{{ call.tottime_per_call|floatformat:3 }}</td> | |||
<td>{{ call.count }}</td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> | |||
<script src="{% static 'debug_toolbar/js/toolbar.profiling.js' %}"></script> |
@@ -0,0 +1,124 @@ | |||
{% load i18n %} | |||
<h4>{% trans "View information" %}</h4> | |||
<table> | |||
<thead> | |||
<tr> | |||
<th>{% trans "View function" %}</th> | |||
<th>{% trans "Arguments" %}</th> | |||
<th>{% trans "Keyword arguments" %}</th> | |||
<th>{% trans "URL name" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
<tr class="djDebugOdd"> | |||
<td><code>{{ view_func }}</code></td> | |||
<td><code>{{ view_args|pprint }}</code></td> | |||
<td><code>{{ view_kwargs|pprint }}</code></td> | |||
<td><code>{{ view_urlname }}</code></td> | |||
</tr> | |||
</tbody> | |||
</table> | |||
{% if cookies %} | |||
<h4>{% trans "Cookies" %}</h4> | |||
<table> | |||
<colgroup> | |||
<col class="djdt-width-20"> | |||
<col> | |||
</colgroup> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Variable" %}</th> | |||
<th>{% trans "Value" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for key, value in cookies %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}"> | |||
<td><code>{{ key|pprint }}</code></td> | |||
<td><code>{{ value|pprint }}</code></td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> | |||
{% else %} | |||
<h4>{% trans "No cookies" %}</h4> | |||
{% endif %} | |||
{% if session %} | |||
<h4>{% trans "Session data" %}</h4> | |||
<table> | |||
<colgroup> | |||
<col class="djdt-width-20"> | |||
<col> | |||
</colgroup> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Variable" %}</th> | |||
<th>{% trans "Value" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for key, value in session %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}"> | |||
<td><code>{{ key|pprint }}</code></td> | |||
<td><code>{{ value|pprint }}</code></td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> | |||
{% else %} | |||
<h4>{% trans "No session data" %}</h4> | |||
{% endif %} | |||
{% if get %} | |||
<h4>{% trans "GET data" %}</h4> | |||
<table> | |||
<colgroup> | |||
<col class="djdt-width-20"> | |||
<col> | |||
</colgroup> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Variable" %}</th> | |||
<th>{% trans "Value" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for key, value in get %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}"> | |||
<td><code>{{ key|pprint }}</code></td> | |||
<td><code>{{ value|pprint }}</code></td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> | |||
{% else %} | |||
<h4>{% trans "No GET data" %}</h4> | |||
{% endif %} | |||
{% if post %} | |||
<h4>{% trans "POST data" %}</h4> | |||
<table> | |||
<colgroup> | |||
<col class="djdt-width-20"> | |||
<col> | |||
</colgroup> | |||
<tr> | |||
<th>{% trans "Variable" %}</th> | |||
<th>{% trans "Value" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for key, value in post %} | |||
<tr class="{% cycle 'row1' 'row2' %}"> | |||
<td><code>{{ key|pprint }}</code></td> | |||
<td><code>{{ value|pprint }}</code></td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> | |||
{% else %} | |||
<h4>{% trans "No POST data" %}</h4> | |||
{% endif %} |
@@ -0,0 +1,17 @@ | |||
{% load i18n %} | |||
<table> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Setting" %}</th> | |||
<th>{% trans "Value" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for name, value in settings.items %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}"> | |||
<td>{{ name }}</td> | |||
<td><code>{{ value|pprint }}</code></td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> |
@@ -0,0 +1,19 @@ | |||
{% load i18n %} | |||
<table> | |||
<thead> | |||
<tr> | |||
<th>{% trans "Signal" %}</th> | |||
<th>{% trans "Providing" %}</th> | |||
<th>{% trans "Receivers" %}</th> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
{% for name, signal, receivers in signals %} | |||
<tr class="{% cycle 'djDebugOdd' 'djDebugEven' %}"> | |||
<td>{{ name|escape }}</td> | |||
<td>{{ signal.providing_args|join:", " }}</td> | |||
<td>{{ receivers|join:", " }}</td> | |||
</tr> | |||
{% endfor %} | |||
</tbody> | |||
</table> |