@@ -1,10 +1,9 @@ | |||
# Generated by Django 2.0.6 on 2018-08-15 16:15 | |||
# Generated by Django 2.1 on 2018-08-18 15:34 | |||
from django.conf import settings | |||
from django.db import migrations, models | |||
import django.db.models.deletion | |||
import django.utils.timezone | |||
import taggit.managers | |||
class Migration(migrations.Migration): | |||
@@ -13,7 +12,6 @@ class Migration(migrations.Migration): | |||
dependencies = [ | |||
migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |||
('taggit', '0002_auto_20150616_2121'), | |||
] | |||
operations = [ | |||
@@ -21,8 +19,6 @@ class Migration(migrations.Migration): | |||
name='CustomUser', | |||
fields=[ | |||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | |||
('mytags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')), | |||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), | |||
], | |||
), | |||
migrations.CreateModel( | |||
@@ -34,7 +30,6 @@ class Migration(migrations.Migration): | |||
('created_date', models.DateTimeField(default=django.utils.timezone.now)), | |||
('published_date', models.DateTimeField(blank=True, null=True)), | |||
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), | |||
('tags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')), | |||
], | |||
), | |||
] |
@@ -0,0 +1,35 @@ | |||
# Generated by Django 2.1 on 2018-08-18 15:34 | |||
from django.conf import settings | |||
from django.db import migrations, models | |||
import django.db.models.deletion | |||
import taggit.managers | |||
class Migration(migrations.Migration): | |||
initial = True | |||
dependencies = [ | |||
('taggit', '0001_initial'), | |||
('application', '0001_initial'), | |||
migrations.swappable_dependency(settings.AUTH_USER_MODEL), | |||
] | |||
operations = [ | |||
migrations.AddField( | |||
model_name='post', | |||
name='tags', | |||
field=taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'), | |||
), | |||
migrations.AddField( | |||
model_name='customuser', | |||
name='mytags', | |||
field=taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags'), | |||
), | |||
migrations.AddField( | |||
model_name='customuser', | |||
name='user', | |||
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), | |||
), | |||
] |
@@ -8,6 +8,8 @@ | |||
<title> {% block title %}Seitenname{% endblock %}</title> | |||
<link href="{% static 'css/application.css' %}" rel="stylesheet"> | |||
<link href="{% static 'bootstrap/css/bootstrap.css' %}" rel="stylesheet"> | |||
{% include "taggit_templatetags2/tagcanvas_include_js_static.html" %} | |||
{% include_tagcanvas 'tag-cloud' 'width px' 'height px' 'post_list.html' 'application' %} | |||
</head> | |||
<body> | |||
@@ -90,6 +92,7 @@ | |||
</div> | |||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> | |||
<script src="{% static 'bootstrap/js/jquery-1.11.1.js' %} "></script> | |||
<script src="{% static 'bootstrap/jsjquery.tagcanvas.min.js' %} " type="text/javascript"></script> | |||
<script src="{% static 'bootstrap/js/bootstrap.bundle.js' %}"></script> | |||
</body> | |||
@@ -1,4 +1,4 @@ | |||
{% extends 'base.html' %} {% block content %} {% for post in posts %} | |||
{% extends 'base.html' %} {% block content %} {% for post in posts %} {% load taggit_templatetags2_tags %} | |||
<div class="post"> | |||
<div class="date"> | |||
{{ post.published_date }} | |||
@@ -8,7 +8,7 @@ | |||
</h1> | |||
<p>{{ post.text|linebreaks }}</p> | |||
<p> | |||
{% for tag in post.tags.all %} | |||
{% for tag in post.tags.all %} | |||
<a href="">{{ tag.name }}, </a> | |||
{% endfor %} | |||
</p> | |||
@@ -17,4 +17,14 @@ | |||
</p> | |||
</div> | |||
{% endfor %} {% endblock %} | |||
{% endfor %} | |||
{% get_tagcloud as tags for 'application' %} | |||
<div id="tag-cloud"> | |||
<ul> | |||
{% for tag in tags %} | |||
<li>{{tag}} ({{tag.num_times}})</li> | |||
{% endfor %} | |||
</ul> | |||
</div> | |||
</div> | |||
{% endblock %} |
@@ -45,6 +45,7 @@ INSTALLED_APPS = [ | |||
'django.contrib.staticfiles', | |||
'application', | |||
'taggit', | |||
'taggit_templatetags2', | |||
] | |||
MIDDLEWARE = [ |
@@ -1,45 +0,0 @@ | |||
Django is a high-level Python Web framework that encourages rapid development | |||
and clean, pragmatic design. Thanks for checking it out. | |||
All documentation is in the "``docs``" directory and online at | |||
https://docs.djangoproject.com/en/stable/. If you're just getting started, | |||
here's how we recommend you read the docs: | |||
* First, read ``docs/intro/install.txt`` for instructions on installing Django. | |||
* Next, work through the tutorials in order (``docs/intro/tutorial01.txt``, | |||
``docs/intro/tutorial02.txt``, etc.). | |||
* If you want to set up an actual deployment server, read | |||
``docs/howto/deployment/index.txt`` for instructions. | |||
* You'll probably want to read through the topical guides (in ``docs/topics``) | |||
next; from there you can jump to the HOWTOs (in ``docs/howto``) for specific | |||
problems, and check out the reference (``docs/ref``) for gory details. | |||
* See ``docs/README`` for instructions on building an HTML version of the docs. | |||
Docs are updated rigorously. If you find any problems in the docs, or think | |||
they should be clarified in any way, please take 30 seconds to fill out a | |||
ticket here: https://code.djangoproject.com/newticket | |||
To get more help: | |||
* Join the ``#django`` channel on irc.freenode.net. Lots of helpful people hang out | |||
there. Read the archives at https://botbot.me/freenode/django/. | |||
* Join the django-users mailing list, or read the archives, at | |||
https://groups.google.com/group/django-users. | |||
To contribute to Django: | |||
* Check out https://docs.djangoproject.com/en/dev/internals/contributing/ for | |||
information about getting involved. | |||
To run Django's test suite: | |||
* Follow the instructions in the "Unit tests" section of | |||
``docs/internals/contributing/writing-code/unit-tests.txt``, published online at | |||
https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests | |||
@@ -1 +0,0 @@ | |||
{"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules"], "description_content_type": "UNKNOWN", "extensions": {"python.commands": {"wrap_console": {"django-admin": "django.core.management:execute_from_command_line"}}, "python.details": {"contacts": [{"email": "foundation@djangoproject.com", "name": "Django Software Foundation", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "https://www.djangoproject.com/"}}, "python.exports": {"console_scripts": {"django-admin": "django.core.management:execute_from_command_line"}}}, "extras": ["argon2", "bcrypt"], "generator": "bdist_wheel (0.30.0)", "license": "BSD", "metadata_version": "2.0", "name": "Django", "project_url": "Documentation, https://docs.djangoproject.com/", "requires_python": ">=3.4", "run_requires": [{"extra": "argon2", "requires": ["argon2-cffi (>=16.1.0)"]}, {"extra": "bcrypt", "requires": ["bcrypt"]}, {"requires": ["pytz"]}], "summary": "A high-level Python Web framework that encourages rapid development and clean, pragmatic design.", "version": "2.0.6"} |
@@ -1,6 +1,6 @@ | |||
Metadata-Version: 2.0 | |||
Metadata-Version: 2.1 | |||
Name: Django | |||
Version: 2.0.6 | |||
Version: 2.1 | |||
Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design. | |||
Home-page: https://www.djangoproject.com/ | |||
Author: Django Software Foundation | |||
@@ -10,7 +10,6 @@ Project-URL: Documentation, https://docs.djangoproject.com/ | |||
Project-URL: Funding, https://www.djangoproject.com/fundraising/ | |||
Project-URL: Source, https://github.com/django/django | |||
Project-URL: Tracker, https://code.djangoproject.com/ | |||
Description-Content-Type: UNKNOWN | |||
Platform: UNKNOWN | |||
Classifier: Development Status :: 5 - Production/Stable | |||
Classifier: Environment :: Web Environment | |||
@@ -20,16 +19,18 @@ Classifier: License :: OSI Approved :: BSD License | |||
Classifier: Operating System :: OS Independent | |||
Classifier: Programming Language :: Python | |||
Classifier: Programming Language :: Python :: 3 | |||
Classifier: Programming Language :: Python :: 3.4 | |||
Classifier: Programming Language :: Python :: 3.5 | |||
Classifier: Programming Language :: Python :: 3.6 | |||
Classifier: Programming Language :: Python :: 3.7 | |||
Classifier: Programming Language :: Python :: 3 :: Only | |||
Classifier: Topic :: Internet :: WWW/HTTP | |||
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content | |||
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI | |||
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks | |||
Classifier: Topic :: Software Development :: Libraries :: Python Modules | |||
Requires-Python: >=3.4 | |||
Requires-Python: >=3.5 | |||
Provides-Extra: argon2 | |||
Provides-Extra: bcrypt | |||
Requires-Dist: pytz | |||
Provides-Extra: argon2 | |||
Requires-Dist: argon2-cffi (>=16.1.0); extra == 'argon2' | |||
@@ -64,7 +65,8 @@ ticket here: https://code.djangoproject.com/newticket | |||
To get more help: | |||
* Join the ``#django`` channel on irc.freenode.net. Lots of helpful people hang out | |||
there. Read the archives at https://botbot.me/freenode/django/. | |||
there. Read the archives at https://botbot.me/freenode/django/. See | |||
https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're new to IRC. | |||
* Join the django-users mailing list, or read the archives, at | |||
https://groups.google.com/group/django-users. |
@@ -1,5 +1,5 @@ | |||
Wheel-Version: 1.0 | |||
Generator: bdist_wheel (0.30.0) | |||
Generator: bdist_wheel (0.31.1) | |||
Root-Is-Purelib: true | |||
Tag: py3-none-any | |||
@@ -0,0 +1 @@ | |||
__version__ = '0.8.0' |
@@ -0,0 +1,239 @@ | |||
from django import template | |||
from django.core.exceptions import ImproperlyConfigured | |||
from classytags.exceptions import InvalidFlag | |||
from classytags.utils import NULL | |||
from classytags.utils import TemplateConstant | |||
from classytags.utils import mixin | |||
from classytags.values import ChoiceValue | |||
from classytags.values import DictValue | |||
from classytags.values import IntegerValue | |||
from classytags.values import ListValue | |||
from classytags.values import StrictStringValue | |||
from classytags.values import StringValue | |||
class Argument(object): | |||
""" | |||
A basic single value argument. | |||
""" | |||
value_class = StringValue | |||
def __init__(self, name, default=None, required=True, resolve=True): | |||
self.name = name | |||
self.default = default | |||
self.required = required | |||
self.resolve = resolve | |||
def __repr__(self): # pragma: no cover | |||
return '<%s: %s>' % (self.__class__.__name__, self.name) | |||
def get_default(self): | |||
""" | |||
Get the default value | |||
""" | |||
return TemplateConstant(self.default) | |||
def parse_token(self, parser, token): | |||
if self.resolve: | |||
return parser.compile_filter(token) | |||
else: | |||
return TemplateConstant(token) | |||
def parse(self, parser, token, tagname, kwargs): | |||
""" | |||
Parse a token. | |||
""" | |||
if self.name in kwargs: | |||
return False | |||
else: | |||
value = self.parse_token(parser, token) | |||
kwargs[self.name] = self.value_class(value) | |||
return True | |||
class StringArgument(Argument): | |||
value_class = StrictStringValue | |||
class KeywordArgument(Argument): | |||
""" | |||
A single 'key=value' argument | |||
""" | |||
wrapper_class = DictValue | |||
def __init__(self, name, default=None, required=True, resolve=True, | |||
defaultkey=None, splitter='='): | |||
super(KeywordArgument, self).__init__(name, default, required, resolve) | |||
self.defaultkey = defaultkey | |||
self.splitter = splitter | |||
def get_default(self): | |||
if self.defaultkey: | |||
return self.wrapper_class({ | |||
self.defaultkey: TemplateConstant(self.default) | |||
}) | |||
else: | |||
return self.wrapper_class({}) | |||
def parse_token(self, parser, token): | |||
if self.splitter in token: | |||
key, raw_value = token.split(self.splitter, 1) | |||
value = super(KeywordArgument, self).parse_token(parser, raw_value) | |||
else: | |||
key = self.defaultkey | |||
value = super(KeywordArgument, self).parse_token(parser, token) | |||
return key, self.value_class(value) | |||
def parse(self, parser, token, tagname, kwargs): | |||
if self.name in kwargs: # pragma: no cover | |||
return False | |||
else: | |||
key, value = self.parse_token(parser, token) | |||
kwargs[self.name] = self.wrapper_class({ | |||
key: value | |||
}) | |||
return True | |||
class IntegerArgument(Argument): | |||
""" | |||
Same as Argument but converts the value to integers. | |||
""" | |||
value_class = IntegerValue | |||
class ChoiceArgument(Argument): | |||
""" | |||
An Argument which checks if it's value is in a predefined list of choices. | |||
""" | |||
def __init__(self, name, choices, default=None, required=True, | |||
resolve=True): | |||
super(ChoiceArgument, self).__init__(name, default, required, resolve) | |||
if default or not required: | |||
value_on_error = default | |||
else: | |||
value_on_error = choices[0] | |||
self.value_class = mixin( | |||
self.value_class, | |||
ChoiceValue, | |||
attrs={ | |||
'choices': choices, | |||
'value_on_error': value_on_error, | |||
} | |||
) | |||
class MultiValueArgument(Argument): | |||
""" | |||
An argument which allows multiple values. | |||
""" | |||
sequence_class = ListValue | |||
value_class = StringValue | |||
def __init__(self, name, default=NULL, required=True, max_values=None, | |||
resolve=True): | |||
self.max_values = max_values | |||
if default is NULL: | |||
default = [] | |||
else: | |||
required = False | |||
super(MultiValueArgument, self).__init__(name, default, required, | |||
resolve) | |||
def parse(self, parser, token, tagname, kwargs): | |||
""" | |||
Parse a token. | |||
""" | |||
value = self.value_class(self.parse_token(parser, token)) | |||
if self.name in kwargs: | |||
if self.max_values and len(kwargs[self.name]) == self.max_values: | |||
return False | |||
kwargs[self.name].append(value) | |||
else: | |||
kwargs[self.name] = self.sequence_class(value) | |||
return True | |||
class MultiKeywordArgument(KeywordArgument): | |||
def __init__(self, name, default=None, required=True, resolve=True, | |||
max_values=None, splitter='='): | |||
if not default: | |||
default = {} | |||
else: | |||
default = dict(default) | |||
super(MultiKeywordArgument, self).__init__(name, default, required, | |||
resolve, NULL, splitter) | |||
self.max_values = max_values | |||
def get_default(self): | |||
items = self.default.items() | |||
return self.wrapper_class( | |||
dict([(key, TemplateConstant(value)) for key, value in items]) | |||
) | |||
def parse(self, parser, token, tagname, kwargs): | |||
key, value = self.parse_token(parser, token) | |||
if key is NULL: | |||
raise template.TemplateSyntaxError( | |||
"MultiKeywordArgument arguments require key=value pairs" | |||
) | |||
if self.name in kwargs: | |||
if self.max_values and len(kwargs[self.name]) == self.max_values: | |||
return False | |||
kwargs[self.name][key] = value | |||
else: | |||
kwargs[self.name] = self.wrapper_class({ | |||
key: value | |||
}) | |||
return True | |||
class Flag(Argument): | |||
""" | |||
A boolean flag | |||
""" | |||
def __init__(self, name, default=NULL, true_values=None, false_values=None, | |||
case_sensitive=False): | |||
if default is not NULL: | |||
required = False | |||
else: | |||
required = True | |||
super(Flag, self).__init__(name, default, required) | |||
if true_values is None: | |||
true_values = [] | |||
if false_values is None: | |||
false_values = [] | |||
if case_sensitive: | |||
self.mod = lambda x: x | |||
else: | |||
self.mod = lambda x: str(x).lower() | |||
self.true_values = [self.mod(tv) for tv in true_values] | |||
self.false_values = [self.mod(fv) for fv in false_values] | |||
if not any([self.true_values, self.false_values]): | |||
raise ImproperlyConfigured( | |||
"Flag must specify either true_values and/or false_values" | |||
) | |||
def parse(self, parser, token, tagname, kwargs): | |||
""" | |||
Parse a token. | |||
""" | |||
ltoken = self.mod(token) | |||
if self.name in kwargs: | |||
return False | |||
if self.true_values and ltoken in self.true_values: | |||
kwargs[self.name] = TemplateConstant(True) | |||
elif self.false_values and ltoken in self.false_values: | |||
kwargs[self.name] = TemplateConstant(False) | |||
elif self.default is NULL: | |||
allowed_values = [] | |||
if self.true_values: | |||
allowed_values += self.true_values | |||
if self.false_values: | |||
allowed_values += self.false_values | |||
raise InvalidFlag(self.name, token, allowed_values, tagname) | |||
else: | |||
kwargs[self.name] = self.get_default() | |||
return True |
@@ -0,0 +1,45 @@ | |||
# -*- coding: utf-8 -*- | |||
from django.core.exceptions import ImproperlyConfigured | |||
def _collect(name, parser): | |||
collector = getattr(name, 'collect', None) | |||
if callable(collector): | |||
return collector(parser) | |||
return name | |||
class BlockDefinition(object): | |||
""" | |||
Definition of 'parse-until-blocks' used by the parser. | |||
""" | |||
def __init__(self, alias, *names): | |||
self.alias = alias | |||
self.names = names | |||
def validate(self, options): | |||
for name in self.names: | |||
validator = getattr(name, 'validate', None) | |||
if callable(validator): | |||
validator(options) | |||
def collect(self, parser): | |||
return [_collect(name, parser) for name in self.names] | |||
class VariableBlockName(object): | |||
def __init__(self, template, argname): | |||
self.template = template | |||
self.argname = argname | |||
def validate(self, options): | |||
if self.argname not in options.all_argument_names: | |||
raise ImproperlyConfigured( | |||
"Invalid block definition, %r not a valid argument name, " | |||
"available argument names: %r" % (self.argname, | |||
options.all_argument_names) | |||
) | |||
def collect(self, parser): | |||
value = parser.kwargs[self.argname] | |||
return self.template % {'value': value.literal} |
@@ -0,0 +1,13 @@ | |||
# -*- coding: utf-8 -*- | |||
# flake8: noqa | |||
try: # pragma: no cover | |||
compat_basestring = basestring | |||
except NameError: | |||
compat_basestring = str | |||
try: | |||
compat_next = next | |||
except NameError: # pragma: no cover | |||
def compat_next(it): | |||
return it.next() |
@@ -0,0 +1,162 @@ | |||
from operator import attrgetter | |||
from django.template import Node | |||
from classytags.blocks import BlockDefinition | |||
from classytags.compat import compat_basestring | |||
from classytags.parser import Parser | |||
from classytags.utils import StructuredOptions | |||
from classytags.utils import get_default_name | |||
class Options(object): | |||
""" | |||
Option class holding the arguments of a tag. | |||
""" | |||
def __init__(self, *options, **kwargs): | |||
self._options = options | |||
self._kwargs = kwargs | |||
self.options = {} | |||
self.raw_options = options | |||
self.breakpoints = [] | |||
self.combined_breakpoints = {} | |||
current_breakpoint = None | |||
last = None | |||
self.options[current_breakpoint] = [] | |||
self.all_argument_names = [] | |||
for value in options: | |||
if isinstance(value, compat_basestring): | |||
if isinstance(last, compat_basestring): | |||
self.combined_breakpoints[last] = value | |||
self.breakpoints.append(value) | |||
current_breakpoint = value | |||
self.options[current_breakpoint] = [] | |||
else: | |||
self.options[current_breakpoint].append(value) | |||
self.all_argument_names.append(value.name) | |||
last = value | |||
self.blocks = [] | |||
for block in kwargs.get('blocks', []): | |||
if isinstance(block, BlockDefinition): | |||
block_definition = block | |||
elif isinstance(block, compat_basestring): | |||
block_definition = BlockDefinition(block, block) | |||
else: | |||
block_definition = BlockDefinition(block[1], block[0]) | |||
block_definition.validate(self) | |||
self.blocks.append(block_definition) | |||
if 'parser_class' in kwargs: | |||
self.parser_class = kwargs['parser_class'] | |||
else: | |||
self.parser_class = Parser | |||
def __repr__(self): | |||
bits = list(map(repr, self.options[None])) | |||
for breakpoint in self.breakpoints: | |||
bits.append(breakpoint) | |||
for option in self.options[breakpoint]: | |||
bits.append(repr(option)) | |||
options = ','.join(bits) | |||
if self.blocks: | |||
blocks = ';%s' % ','.join(map(attrgetter('alias'), self.blocks)) | |||
else: # pragma: no cover | |||
blocks = '' | |||
return '<Options:%s%s>' % (options, blocks) | |||
def __add__(self, other): | |||
if not isinstance(other, Options): | |||
raise TypeError("Cannot add Options to non-Options object") | |||
if self.blocks and other.blocks: | |||
raise ValueError( | |||
"Cannot add two Options objects if both objects define blocks" | |||
) | |||
if self.parser_class is not other.parser_class: | |||
raise ValueError( | |||
"Cannot add two Options objects with different parser classes" | |||
) | |||
full_options = self._options + other._options | |||
full_kwargs = { | |||
'parser_class': self.parser_class | |||
} | |||
if self._kwargs.get('blocks', False): | |||
full_kwargs['blocks'] = self._kwargs['blocks'] | |||
elif other._kwargs.get('blocks', False): | |||
full_kwargs['blocks'] = other._kwargs['blocks'] | |||
return Options(*full_options, **full_kwargs) | |||
def get_parser_class(self): | |||
return self.parser_class | |||
def bootstrap(self): | |||
""" | |||
Bootstrap this options | |||
""" | |||
return StructuredOptions( | |||
self.options, | |||
self.breakpoints, | |||
self.blocks, | |||
self.combined_breakpoints | |||
) | |||
def parse(self, parser, tokens): | |||
""" | |||
Parse template tokens into a dictionary | |||
""" | |||
argument_parser_class = self.get_parser_class() | |||
argument_parser = argument_parser_class(self) | |||
return argument_parser.parse(parser, tokens) | |||
class TagMeta(type): | |||
""" | |||
Metaclass for the Tag class that set's the name attribute onto the class | |||
and a _decorated_function pseudo-function which is used by Django's | |||
template system to get the tag name. | |||
""" | |||
def __new__(cls, name, bases, attrs): | |||
parents = [base for base in bases if isinstance(base, TagMeta)] | |||
if not parents: | |||
return super(TagMeta, cls).__new__(cls, name, bases, attrs) | |||
tag_name = str(attrs.get('name', get_default_name(name))) | |||
def fake_func(): | |||
pass # pragma: no cover | |||
fake_func.__name__ = tag_name | |||
attrs['_decorated_function'] = fake_func | |||
attrs['name'] = str(tag_name) | |||
return super(TagMeta, cls).__new__(cls, name, bases, attrs) | |||
class Tag(TagMeta('TagMeta', (Node,), {})): | |||
""" | |||
Main Tag class. | |||
""" | |||
options = Options() | |||
name = None | |||
def __init__(self, parser, tokens): | |||
self.kwargs, self.blocks = self.options.parse(parser, tokens) | |||
self.child_nodelists = [] | |||
for key, value in self.blocks.items(): | |||
setattr(self, key, value) | |||
self.child_nodelists.append(key) | |||
def render(self, context): | |||
""" | |||
INTERNAL method to prepare rendering | |||
Usually you should not override this method, but rather use render_tag. | |||
""" | |||
items = self.kwargs.items() | |||
kwargs = dict([(key, value.resolve(context)) for key, value in items]) | |||
kwargs.update(self.blocks) | |||
return self.render_tag(context, **kwargs) | |||
def render_tag(self, context, **kwargs): | |||
""" | |||
The method you should override in your custom tags | |||
""" | |||
raise NotImplementedError | |||
def __repr__(self): | |||
return '<Tag: %s>' % self.name |
@@ -0,0 +1,66 @@ | |||
from django.template import TemplateSyntaxError | |||
__all__ = ['ArgumentRequiredError', 'InvalidFlag', 'BreakpointExpected', | |||
'TooManyArguments'] | |||
class BaseError(TemplateSyntaxError): | |||
template = '' | |||
def __str__(self): # pragma: no cover | |||
return self.template % self.__dict__ | |||
class ArgumentRequiredError(BaseError): | |||
template = "The tag '%(tagname)s' requires the '%(argname)s' argument." | |||
def __init__(self, argument, tagname): | |||
self.argument = argument | |||
self.tagname = tagname | |||
self.argname = self.argument.name | |||
class InvalidFlag(BaseError): | |||
template = ("The flag '%(argname)s' for the tag '%(tagname)s' must be one " | |||
"of %(allowed_values)s, but got '%(actual_value)s'") | |||
def __init__(self, argname, actual_value, allowed_values, tagname): | |||
self.argname = argname | |||
self.tagname = tagname | |||
self.actual_value = actual_value | |||
self.allowed_values = allowed_values | |||
class BreakpointExpected(BaseError): | |||
template = ("Expected one of the following breakpoints: %(breakpoints)s " | |||
"in %(tagname)s, got '%(got)s' instead.") | |||
def __init__(self, tagname, breakpoints, got): | |||
self.breakpoints = ', '.join(["'%s'" % bp for bp in breakpoints]) | |||
self.tagname = tagname | |||
self.got = got | |||
class TrailingBreakpoint(BaseError): | |||
template = ( | |||
"Tag %(tagname)s ends in trailing breakpoint '%(breakpoint)s' without " | |||
"an argument following." | |||
) | |||
def __init__(self, tagname, breakpoint): | |||
self.tagname = tagname | |||
self.breakpoint = breakpoint | |||
class TooManyArguments(BaseError): | |||
template = "The tag '%(tagname)s' got too many arguments: %(extra)s" | |||
def __init__(self, tagname, extra): | |||
self.tagname = tagname | |||
self.extra = ', '.join(["'%s'" % e for e in extra]) | |||
class TemplateSyntaxWarning(Warning): | |||
""" | |||
Used for variable cleaning TemplateSyntaxErrors when in non-debug-mode. | |||
""" |
@@ -0,0 +1,104 @@ | |||
from django.core.exceptions import ImproperlyConfigured | |||
from django.template.loader import render_to_string | |||
from classytags.core import Tag | |||
from classytags.utils import flatten_context | |||
class AsTag(Tag): | |||
""" | |||
Same as tag but allows for an optional 'as varname'. The 'as varname' | |||
options must be added 'manually' to the options class. | |||
""" | |||
def __init__(self, parser, tokens): | |||
super(AsTag, self).__init__(parser, tokens) | |||
if len(self.options.breakpoints) < 1: | |||
raise ImproperlyConfigured( | |||
"AsTag subclasses require at least one breakpoint." | |||
) | |||
last_breakpoint = self.options.options[self.options.breakpoints[-1]] | |||
optscount = len(last_breakpoint) | |||
if optscount != 1: | |||
raise ImproperlyConfigured( | |||
"The last breakpoint of AsTag subclasses require exactly one " | |||
"argument, got %s instead." % optscount | |||
) | |||
self.varname_name = last_breakpoint[-1].name | |||
def render_tag(self, context, **kwargs): | |||
""" | |||
INTERNAL! | |||
Get's the value for the current context and arguments and puts it into | |||
the context if needed or returns it. | |||
""" | |||
varname = kwargs.pop(self.varname_name) | |||
if varname: | |||
value = self.get_value_for_context(context, **kwargs) | |||
context[varname] = value | |||
return '' | |||
else: | |||
value = self.get_value(context, **kwargs) | |||
return value | |||
def get_value_for_context(self, context, **kwargs): | |||
""" | |||
Called when a value for a varname (in the "as varname" case) should is | |||
requested. This can be used to for example suppress exceptions in this | |||
case. | |||
Returns the value to be set. | |||
""" | |||
return self.get_value(context, **kwargs) | |||
def get_value(self, context, **kwargs): | |||
""" | |||
Returns the value for the current context and arguments. | |||
""" | |||
raise NotImplementedError | |||
class InclusionTag(Tag): | |||
""" | |||
A helper Tag class which allows easy inclusion tags. | |||
The template attribute must be set. | |||
Instead of render_tag, override get_context in your subclasses. | |||
Optionally override get_template in your subclasses. | |||
""" | |||
template = None | |||
push_context = False | |||
def render_tag(self, context, **kwargs): | |||
""" | |||
INTERNAL! | |||
Gets the context and data to render. | |||
""" | |||
template = self.get_template(context, **kwargs) | |||
if self.push_context: | |||
safe_context = flatten_context(context) | |||
data = self.get_context(safe_context, **kwargs) | |||
safe_context.update(**data) | |||
output = render_to_string(template, safe_context) | |||
else: | |||
new_context = context.new( | |||
flatten_context(self.get_context(context, **kwargs)) | |||
) | |||
data = flatten_context(new_context) | |||
output = render_to_string(template, data) | |||
return output | |||
def get_template(self, context, **kwargs): | |||
""" | |||
Returns the template to be used for the current context and arguments. | |||
""" | |||
return self.template | |||
def get_context(self, context, **kwargs): | |||
""" | |||
Returns the context to render the template with. | |||
""" | |||
return {} |
@@ -0,0 +1,207 @@ | |||
from copy import deepcopy | |||
from django import template | |||
from classytags.exceptions import ArgumentRequiredError | |||
from classytags.exceptions import BreakpointExpected | |||
from classytags.exceptions import TooManyArguments | |||
from classytags.exceptions import TrailingBreakpoint | |||
class Parser(object): | |||
""" | |||
Argument parsing class. A new instance of this gets created each time a tag | |||
get's parsed. | |||
""" | |||
def __init__(self, options): | |||
self.options = options.bootstrap() | |||
def parse(self, parser, tokens): | |||
""" | |||
Parse a token stream | |||
""" | |||
self.parser = parser | |||
self.bits = tokens.split_contents() | |||
self.tagname = self.bits.pop(0) | |||
self.kwargs = {} | |||
self.blocks = {} | |||
self.forced_next = None | |||
# Get the first chunk of arguments until the next breakpoint | |||
self.arguments = self.options.get_arguments() | |||
self.current_argument = None | |||
# get a copy of the bits (tokens) | |||
self.todo = list(self.bits) | |||
# parse the bits (tokens) | |||
breakpoint = False | |||
for bit in self.bits: | |||
breakpoint = self.handle_bit(bit) | |||
if breakpoint: | |||
raise TrailingBreakpoint(self.tagname, breakpoint) | |||
# finish the bits (tokens) | |||
self.finish() | |||
# parse block tags | |||
self.parse_blocks() | |||
return self.kwargs, self.blocks | |||
def handle_bit(self, bit): | |||
""" | |||
Handle the current bit | |||
""" | |||
breakpoint = False | |||
if self.forced_next is not None: | |||
if bit != self.forced_next: | |||
raise BreakpointExpected(self.tagname, [self.forced_next], bit) | |||
elif bit in self.options.reversed_combined_breakpoints: | |||
expected = self.options.reversed_combined_breakpoints[bit] | |||
raise BreakpointExpected(self.tagname, [expected], bit) | |||
# Check if the current bit is the next breakpoint | |||
if bit == self.options.next_breakpoint: | |||
self.handle_next_breakpoint(bit) | |||
breakpoint = bit | |||
# Check if the current bit is a future breakpoint | |||
elif bit in self.options.breakpoints: | |||
self.handle_breakpoints(bit) | |||
breakpoint = bit | |||
# Otherwise it's a 'normal' argument | |||
else: | |||
self.handle_argument(bit) | |||
if bit in self.options.combined_breakpoints: | |||
self.forced_next = self.options.combined_breakpoints[bit] | |||
else: | |||
self.forced_next = None | |||
# remove from todos | |||
del self.todo[0] | |||
return breakpoint | |||
def handle_next_breakpoint(self, bit): | |||
""" | |||
Handle a bit which is the next breakpoint by checking the current | |||
breakpoint scope is finished or can be finished and then shift to the | |||
next scope. | |||
""" | |||
# Check if any unhandled argument in the current breakpoint is required | |||
self.check_required() | |||
# Shift the breakpoint to the next one | |||
self.options.shift_breakpoint() | |||
# Get the next chunk of arguments | |||
self.arguments = self.options.get_arguments() | |||
if self.arguments: | |||
self.current_argument = self.arguments.pop(0) | |||
else: | |||
self.current_argument = None | |||
def handle_breakpoints(self, bit): | |||
""" | |||
Handle a bit which is a future breakpoint by trying to finish all | |||
intermediate breakpoint codes as well as the current scope and then | |||
shift. | |||
""" | |||
# While we're not at our target breakpoint | |||
while bit != self.options.current_breakpoint: | |||
# Check required arguments | |||
self.check_required() | |||
# Shift to the next breakpoint | |||
self.options.shift_breakpoint() | |||
self.arguments = self.options.get_arguments() | |||
self.current_argument = self.arguments.pop(0) | |||
def handle_argument(self, bit): | |||
""" | |||
Handle the current argument. | |||
""" | |||
# If we don't have an argument yet | |||
if self.current_argument is None: | |||
try: | |||
# try to get the next one | |||
self.current_argument = self.arguments.pop(0) | |||
except IndexError: | |||
# If we don't have any arguments, left, raise a | |||
# TooManyArguments error | |||
raise TooManyArguments(self.tagname, self.todo) | |||
# parse the current argument and check if this bit was handled by this | |||
# argument | |||
handled = self.current_argument.parse(self.parser, bit, self.tagname, | |||
self.kwargs) | |||
# While this bit is not handled by an argument | |||
while not handled: | |||
try: | |||
# Try to get the next argument | |||
self.current_argument = self.arguments.pop(0) | |||
except IndexError: | |||
# If there is no next argument but there are still breakpoints | |||
# Raise an exception that we expected a breakpoint | |||
if self.options.breakpoints: | |||
raise BreakpointExpected(self.tagname, | |||
self.options.breakpoints, bit) | |||
elif self.options.next_breakpoint: | |||
raise BreakpointExpected(self.tagname, | |||
[self.options.next_breakpoint], | |||
bit) | |||
else: | |||
# Otherwise raise a TooManyArguments excption | |||
raise TooManyArguments(self.tagname, self.todo) | |||
# Try next argument | |||
handled = self.current_argument.parse(self.parser, bit, | |||
self.tagname, self.kwargs) | |||
def finish(self): | |||
""" | |||
Finish up parsing by checking all remaining breakpoint scopes | |||
""" | |||
# Check if there are any required arguments left in the current | |||
# breakpoint | |||
self.check_required() | |||
# While there are still breakpoints left | |||
while self.options.next_breakpoint: | |||
# Shift to the next breakpoint | |||
self.options.shift_breakpoint() | |||
self.arguments = self.options.get_arguments() | |||
# And check this breakpoints arguments for required arguments. | |||
self.check_required() | |||
def parse_blocks(self): | |||
""" | |||
Parse template blocks for block tags. | |||
Example: | |||
{% a %} b {% c %} d {% e %} f {% g %} | |||
=> pre_c: b | |||
pre_e: d | |||
pre_g: f | |||
{% a %} b {% f %} | |||
=> pre_c: b | |||
pre_e: None | |||
pre_g: None | |||
""" | |||
# if no blocks are defined, bail out | |||
if not self.options.blocks: | |||
return | |||
# copy the blocks | |||
blocks = deepcopy(self.options.blocks) | |||
identifiers = {} | |||
for block in blocks: | |||
identifiers[block] = block.collect(self) | |||
while blocks: | |||
current_block = blocks.pop(0) | |||
current_identifiers = identifiers[current_block] | |||
block_identifiers = list(current_identifiers) | |||
for block in blocks: | |||
block_identifiers += identifiers[block] | |||
nodelist = self.parser.parse(block_identifiers) | |||
token = self.parser.next_token() | |||
while token.contents not in current_identifiers: | |||
empty_block = blocks.pop(0) | |||
current_identifiers = identifiers[empty_block] | |||
self.blocks[empty_block.alias] = template.NodeList() | |||
self.blocks[current_block.alias] = nodelist | |||
def check_required(self): | |||
""" | |||
Iterate over arguments, checking if they're required, otherwise | |||
populating the kwargs dictionary with their defaults. | |||
""" | |||
for argument in self.arguments: | |||
if argument.required: | |||
raise ArgumentRequiredError(argument, self.tagname) | |||
else: | |||
self.kwargs[argument.name] = argument.get_default() |
@@ -0,0 +1,56 @@ | |||
# -*- coding: utf-8 -*- | |||
from django import template | |||
from django.conf import settings | |||
try: | |||
Engine = None | |||
builtins = template.base.builtins | |||
except AttributeError: | |||
from django.template.engine import Engine | |||
builtins = Engine.get_default().template_builtins | |||
class NULL: | |||
pass | |||
class SettingsOverride(object): # pragma: no cover | |||
""" | |||
Overrides Django settings within a context and resets them to their inital | |||
values on exit. | |||
Example: | |||
with SettingsOverride(DEBUG=True): | |||
# do something | |||
""" | |||
def __init__(self, **overrides): | |||
self.overrides = overrides | |||
def __enter__(self): | |||
self.old = {} | |||
for key, value in self.overrides.items(): | |||
self.old[key] = getattr(settings, key, NULL) | |||
setattr(settings, key, value) | |||
def __exit__(self, type, value, traceback): | |||
for key, value in self.old.items(): | |||
if value is not NULL: | |||
setattr(settings, key, value) | |||
else: | |||
delattr(settings, key) # do not pollute the context! | |||
class TemplateTags(object): # pragma: no cover | |||
def __init__(self, *tags): | |||
self.lib = template.Library() | |||
for tag in tags: | |||
self.lib.tag(tag) | |||
def __enter__(self): | |||
self.old = list(builtins) | |||
builtins.insert(0, self.lib) | |||
def __exit__(self, type, value, traceback): | |||
builtins[:] = self.old |
@@ -0,0 +1,109 @@ | |||
import re | |||
from copy import copy | |||
from distutils.version import LooseVersion | |||
from classytags.compat import compat_basestring | |||
from django import get_version | |||
from django.template import Context, RequestContext | |||
from django.template.context import BaseContext | |||
DJANGO_1_9_OR_HIGHER = ( | |||
LooseVersion(get_version()) >= LooseVersion('1.9') | |||
) | |||
class NULL: | |||
""" | |||
Internal type to differentiate between None and No-Input | |||
""" | |||
class TemplateConstant(object): | |||
""" | |||
A 'constant' internal template variable which basically allows 'resolving' | |||
returning it's initial value | |||
""" | |||
def __init__(self, value): | |||
self.literal = value | |||
if isinstance(value, compat_basestring): | |||
self.value = value.strip('"\'') | |||
else: | |||
self.value = value | |||
def __repr__(self): # pragma: no cover | |||
return '<TemplateConstant: %s>' % repr(self.value) | |||
def resolve(self, context): | |||
return self.value | |||
class StructuredOptions(object): | |||
""" | |||
Bootstrapped options | |||
""" | |||
def __init__(self, options, breakpoints, blocks, combind_breakpoints): | |||
self.options = options | |||
self.breakpoints = copy(breakpoints) | |||
self.blocks = copy(blocks) | |||
self.combined_breakpoints = dict(combind_breakpoints.items()) | |||
self.reversed_combined_breakpoints = dict( | |||
(v, k) for k, v in combind_breakpoints.items() | |||
) | |||
self.current_breakpoint = None | |||
if self.breakpoints: | |||
self.next_breakpoint = self.breakpoints.pop(0) | |||
else: | |||
self.next_breakpoint = None | |||
def shift_breakpoint(self): | |||
""" | |||
Shift to the next breakpoint | |||
""" | |||
self.current_breakpoint = self.next_breakpoint | |||
if self.breakpoints: | |||
self.next_breakpoint = self.breakpoints.pop(0) | |||
else: | |||
self.next_breakpoint = None | |||
def get_arguments(self): | |||
""" | |||
Get the current arguments | |||
""" | |||
return copy(self.options[self.current_breakpoint]) | |||
_re1 = re.compile('(.)([A-Z][a-z]+)') | |||
_re2 = re.compile('([a-z0-9])([A-Z])') | |||
def get_default_name(name): | |||
""" | |||
Turns "CamelCase" into "camel_case" | |||
""" | |||
return _re2.sub(r'\1_\2', _re1.sub(r'\1_\2', name)).lower() | |||
def mixin(parent, child, attrs=None): | |||
attrs = attrs or {} | |||
return type( | |||
'%sx%s' % (parent.__name__, child.__name__), | |||
(child, parent), | |||
attrs | |||
) | |||
def flatten_context(context): | |||
def do_flatten(context): | |||
flat = {} | |||
for d in context.dicts: | |||
if isinstance(d, (Context, RequestContext)): | |||
flat.update(do_flatten(d)) | |||
else: | |||
flat.update(d) | |||
return flat | |||
if callable(getattr(context, 'flatten', None)) and DJANGO_1_9_OR_HIGHER: | |||
return context.flatten() | |||
elif isinstance(context, BaseContext): | |||
return do_flatten(context) | |||
return context |
@@ -0,0 +1,110 @@ | |||
import warnings | |||
from django import template | |||
from django.conf import settings | |||
from classytags.compat import compat_basestring | |||
from classytags.exceptions import TemplateSyntaxWarning | |||
class StringValue(object): | |||
errors = {} | |||
value_on_error = "" | |||
def __init__(self, var): | |||
self.var = var | |||
try: | |||
# django.template.base.Variable | |||
self.literal = self.var.literal | |||
except AttributeError: | |||
# django.template.base.FilterExpression | |||
self.literal = self.var.token | |||
def resolve(self, context): | |||
resolved = self.var.resolve(context) | |||
return self.clean(resolved) | |||
def clean(self, value): | |||
return value | |||
def error(self, value, category): | |||
data = self.get_extra_error_data() | |||
data['value'] = repr(value) | |||
message = self.errors.get(category, "") % data | |||
if settings.DEBUG: | |||
raise template.TemplateSyntaxError(message) | |||
else: | |||
warnings.warn(message, TemplateSyntaxWarning) | |||
return self.value_on_error | |||
def get_extra_error_data(self): | |||
return {} | |||
class StrictStringValue(StringValue): | |||
errors = { | |||
"clean": "%(value)s is not a string", | |||
} | |||
value_on_error = "" | |||
def clean(self, value): | |||
if not isinstance(value, compat_basestring): | |||
return self.error(value, "clean") | |||
return value | |||
class IntegerValue(StringValue): | |||
errors = { | |||
"clean": "%(value)s could not be converted to Integer", | |||
} | |||
value_on_error = 0 | |||
def clean(self, value): | |||
try: | |||
return int(value) | |||
except ValueError: | |||
return self.error(value, "clean") | |||
class ListValue(list, StringValue): | |||
""" | |||
A list of template variables for easy resolving | |||
""" | |||
def __init__(self, value): | |||
list.__init__(self) | |||
self.append(value) | |||
def resolve(self, context): | |||
resolved = [item.resolve(context) for item in self] | |||
return self.clean(resolved) | |||
class DictValue(dict, StringValue): | |||
def __init__(self, value): | |||
dict.__init__(self, value) | |||
def resolve(self, context): | |||
resolved = dict( | |||
[(key, value.resolve(context)) for key, value in self.items()] | |||
) | |||
return self.clean(resolved) | |||
class ChoiceValue(StringValue): | |||
errors = { | |||
"choice": "%(value)s is not a valid choice. Valid choices: " | |||
"%(choices)s.", | |||
} | |||
choices = [] | |||
def clean(self, value): | |||
cleaned = super(ChoiceValue, self).clean(value) | |||
if cleaned in self.choices: | |||
return cleaned | |||
else: | |||
return self.error(cleaned, "choice") | |||
def get_extra_error_data(self): | |||
data = super(ChoiceValue, self).get_extra_error_data() | |||
data['choices'] = self.choices | |||
return data |
@@ -1,6 +1,6 @@ | |||
from django.utils.version import get_version | |||
VERSION = (2, 0, 6, 'final', 0) | |||
VERSION = (2, 1, 0, 'final', 0) | |||
__version__ = get_version(VERSION) | |||
@@ -124,6 +124,11 @@ class Apps: | |||
def check_apps_ready(self): | |||
"""Raise an exception if all apps haven't been imported yet.""" | |||
if not self.apps_ready: | |||
from django.conf import settings | |||
# If "not ready" is due to unconfigured settings, accessing | |||
# INSTALLED_APPS raises a more helpful ImproperlyConfigured | |||
# exception. | |||
settings.INSTALLED_APPS | |||
raise AppRegistryNotReady("Apps aren't loaded yet.") | |||
def check_models_ready(self): |
@@ -10,6 +10,7 @@ import importlib | |||
import os | |||
import time | |||
import warnings | |||
from pathlib import Path | |||
from django.conf import global_settings | |||
from django.core.exceptions import ImproperlyConfigured | |||
@@ -130,9 +131,9 @@ class Settings: | |||
if hasattr(time, 'tzset') and self.TIME_ZONE: | |||
# When we can, attempt to validate the timezone. If we can't find | |||
# this file, no check happens and it's harmless. | |||
zoneinfo_root = '/usr/share/zoneinfo' | |||
if (os.path.exists(zoneinfo_root) and not | |||
os.path.exists(os.path.join(zoneinfo_root, *(self.TIME_ZONE.split('/'))))): | |||
zoneinfo_root = Path('/usr/share/zoneinfo') | |||
zone_info_file = zoneinfo_root.joinpath(*self.TIME_ZONE.split('/')) | |||
if zoneinfo_root.exists() and not zone_info_file.exists(): | |||
raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE) | |||
# Move the time zone info into os.environ. See ticket #2315 for why | |||
# we don't do this unconditionally (breaks Windows). |
@@ -21,11 +21,6 @@ DEBUG = False | |||
# on a live site. | |||
DEBUG_PROPAGATE_EXCEPTIONS = False | |||
# Whether to use the "ETag" header. This saves bandwidth but slows down performance. | |||
# Deprecated (RemovedInDjango21Warning) in favor of ConditionalGetMiddleware | |||
# which sets the ETag regardless of this setting. | |||
USE_ETAGS = False | |||
# People who get code error notifications. | |||
# In the format [('Full Name', 'email@example.com'), ('Full Name', 'anotheremail@example.com')] | |||
ADMINS = [] | |||
@@ -466,6 +461,9 @@ SESSION_COOKIE_SECURE = False | |||
SESSION_COOKIE_PATH = '/' | |||
# Whether to use the non-RFC standard httpOnly flag (IE, FF3+, others) | |||
SESSION_COOKIE_HTTPONLY = True | |||
# Whether to set the flag restricting cookie leaks on cross-site requests. | |||
# This can be 'Lax', 'Strict', or None to disable the flag. | |||
SESSION_COOKIE_SAMESITE = 'Lax' | |||
# Whether to save the session data on every request. | |||
SESSION_SAVE_EVERY_REQUEST = False | |||
# Whether a user's session cookie expires when the Web browser is closed. | |||
@@ -517,7 +515,6 @@ PASSWORD_HASHERS = [ | |||
'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', | |||
'django.contrib.auth.hashers.Argon2PasswordHasher', | |||
'django.contrib.auth.hashers.BCryptSHA256PasswordHasher', | |||
'django.contrib.auth.hashers.BCryptPasswordHasher', | |||
] | |||
AUTH_PASSWORD_VALIDATORS = [] | |||
@@ -543,6 +540,7 @@ CSRF_COOKIE_DOMAIN = None | |||
CSRF_COOKIE_PATH = '/' | |||
CSRF_COOKIE_SECURE = False | |||
CSRF_COOKIE_HTTPONLY = False | |||
CSRF_COOKIE_SAMESITE = 'Lax' | |||
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN' | |||
CSRF_TRUSTED_ORIGINS = [] | |||
CSRF_USE_SESSIONS = False |
@@ -1,14 +1,15 @@ | |||
# This file is distributed under the same license as the Django package. | |||
# | |||
# Translators: | |||
# Emin Mastizada <emin@linux.com>, 2018 | |||
# Emin Mastizada <emin@linux.com>, 2015-2016 | |||
# Metin Amiroff <amiroff@gmail.com>, 2011 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-16 01:13+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 00:21+0000\n" | |||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||
"Language-Team: Azerbaijani (http://www.transifex.com/django/django/language/" | |||
"az/)\n" | |||
@@ -159,6 +160,9 @@ msgstr "Yaponca" | |||
msgid "Georgian" | |||
msgstr "Gürcücə" | |||
msgid "Kabyle" | |||
msgstr "Kabile" | |||
msgid "Kazakh" | |||
msgstr "Qazax" | |||
@@ -295,13 +299,13 @@ msgid "Syndication" | |||
msgstr "Sindikasiya" | |||
msgid "That page number is not an integer" | |||
msgstr "" | |||
msgstr "Səhifə nömrəsi rəqəm deyil" | |||
msgid "That page number is less than 1" | |||
msgstr "" | |||
msgstr "Səhifə nömrəsi 1-dən balacadır" | |||
msgid "That page contains no results" | |||
msgstr "" | |||
msgstr "Səhifədə nəticə yoxdur" | |||
msgid "Enter a valid value." | |||
msgstr "Düzgün qiymət daxil edin." | |||
@@ -383,6 +387,9 @@ msgstr[1] "" | |||
"Bu dəyərin ən çox %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " | |||
"var)" | |||
msgid "Enter a number." | |||
msgstr "Ədəd daxil edin." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -408,9 +415,11 @@ msgid "" | |||
"File extension '%(extension)s' is not allowed. Allowed extensions are: " | |||
"'%(allowed_extensions)s'." | |||
msgstr "" | |||
"'%(extension)s' fayl uzantısına icazə verilmir. İcazə verilən fayl " | |||
"uzantıları: '%(allowed_extensions)s'" | |||
msgid "Null characters are not allowed." | |||
msgstr "" | |||
msgstr "Null simvollara icazə verilmir." | |||
msgid "and" | |||
msgstr "və" | |||
@@ -460,6 +469,10 @@ msgstr "Böyük (8 bayt) tam ədəd" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' dəyəri True və ya False olmalıdır." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "" | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Bul (ya Doğru, ya Yalan)" | |||
@@ -475,15 +488,14 @@ msgid "" | |||
"'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD " | |||
"format." | |||
msgstr "" | |||
"'%(value)s' dəyəri səhv tarix formatındadır. Bu İİİİ-AA-GG formatında " | |||
"olmalıdır." | |||
"'%(value)s' dəyəri səhv tarix formatındadır. Formatı YYYY-MM-DD olmalıdır." | |||
#, python-format | |||
msgid "" | |||
"'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid " | |||
"date." | |||
msgstr "" | |||
"'%(value)s dəyəri düzgün formatdadır (İİİİ-AA-GG) amma bu xətalı tarixdir." | |||
"'%(value)s dəyəri düzgün formatdadır (YYYY-MM-DD) amma bu xətalı tarixdir." | |||
msgid "Date (without time)" | |||
msgstr "Tarix (saatsız)" | |||
@@ -493,19 +505,23 @@ msgid "" | |||
"'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." | |||
"uuuuuu]][TZ] format." | |||
msgstr "" | |||
"'%(value)s' dəyərinin formatı səhvdir. Formatı YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" | |||
"[TZ] olmalıdır." | |||
#, python-format | |||
msgid "" | |||
"'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" | |||
"[TZ]) but it is an invalid date/time." | |||
msgstr "" | |||
"'%(value)s' dəyərinin formatı düzgündür (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " | |||
"ancaq tarix səhvdir." | |||
msgid "Date (with time)" | |||
msgstr "Tarix (vaxt ilə)" | |||
#, python-format | |||
msgid "'%(value)s' value must be a decimal number." | |||
msgstr "" | |||
msgstr "'%(value)s' dəyəri decimal rəqəm olmalıdır." | |||
msgid "Decimal number" | |||
msgstr "Rasional ədəd" | |||
@@ -515,6 +531,8 @@ msgid "" | |||
"'%(value)s' value has an invalid format. It must be in [DD] [HH:[MM:]]ss[." | |||
"uuuuuu] format." | |||
msgstr "" | |||
"'%(value)s' dəyərinin formatı səhvdir. Formatı [DD] [HH:[MM:]]ss[.uuuuuu] " | |||
"olmalıdır." | |||
msgid "Duration" | |||
msgstr "Müddət" | |||
@@ -527,7 +545,7 @@ msgstr "Faylın ünvanı" | |||
#, python-format | |||
msgid "'%(value)s' value must be a float." | |||
msgstr "" | |||
msgstr "'%(value)s' dəyəri float olmalıdır." | |||
msgid "Floating point number" | |||
msgstr "Sürüşən vergüllü ədəd" | |||
@@ -540,7 +558,7 @@ msgstr "IP ünvan" | |||
#, python-format | |||
msgid "'%(value)s' value must be either None, True or False." | |||
msgstr "" | |||
msgstr "'%(value)s' dəyəri None, True və ya False olmalıdır." | |||
msgid "Boolean (Either True, False or None)" | |||
msgstr "Bul (Ya Doğru, ya Yalan, ya da Heç nə)" | |||
@@ -566,12 +584,15 @@ msgid "" | |||
"'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " | |||
"format." | |||
msgstr "" | |||
"'%(value)s' dəyərinin formatı səhvdir. Formatı HH:MM[:ss[.uuuuuu]] olmalıdır." | |||
#, python-format | |||
msgid "" | |||
"'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " | |||
"invalid time." | |||
msgstr "" | |||
"'%(value)s' dəyəri düzgün formatdadır (HH:MM[:ss[.uuuuuu]]), ancaq vaxtı " | |||
"səhvdir." | |||
msgid "Time" | |||
msgstr "Vaxt" | |||
@@ -580,7 +601,7 @@ msgid "URL" | |||
msgstr "URL" | |||
msgid "Raw binary data" | |||
msgstr "" | |||
msgstr "Düz ikili (binary) məlumat" | |||
#, python-format | |||
msgid "'%(value)s' is not a valid UUID." | |||
@@ -594,7 +615,7 @@ msgstr "Şəkil" | |||
#, python-format | |||
msgid "%(model)s instance with %(field)s %(value)r does not exist." | |||
msgstr "" | |||
msgstr "%(field)s dəyəri %(value)r olan %(model)s mövcud deyil." | |||
msgid "Foreign Key (type determined by related field)" | |||
msgstr "Xarici açar (bağlı olduğu sahəyə uyğun tipi alır)" | |||
@@ -604,11 +625,11 @@ msgstr "Birin-birə münasibət" | |||
#, python-format | |||
msgid "%(from)s-%(to)s relationship" | |||
msgstr "" | |||
msgstr "%(from)s-%(to)s əlaqəsi" | |||
#, python-format | |||
msgid "%(from)s-%(to)s relationships" | |||
msgstr "" | |||
msgstr "%(from)s-%(to)s əlaqələri" | |||
msgid "Many-to-many relationship" | |||
msgstr "Çoxun-çoxa münasibət" | |||
@@ -625,9 +646,6 @@ msgstr "Bu sahə vacibdir." | |||
msgid "Enter a whole number." | |||
msgstr "Tam ədəd daxil edin." | |||
msgid "Enter a number." | |||
msgstr "Ədəd daxil edin." | |||
msgid "Enter a valid date." | |||
msgstr "Düzgün tarix daxil edin." | |||
@@ -640,6 +658,10 @@ msgstr "Düzgün tarix/vaxt daxil edin." | |||
msgid "Enter a valid duration." | |||
msgstr "Keçərli müddət daxil edin." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "" | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Fayl göndərilməyib. Vərəqənin (\"form\") şifrələmə tipini yoxlayın." | |||
@@ -654,7 +676,9 @@ msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." | |||
msgid_plural "" | |||
"Ensure this filename has at most %(max)d characters (it has %(length)d)." | |||
msgstr[0] "" | |||
"Bu fayl adının ən çox %(max)d simvol olduğuna əmin olun (%(length)d var)." | |||
msgstr[1] "" | |||
"Bu fayl adının ən çox %(max)d simvol olduğuna əmin olun (%(length)d var)." | |||
msgid "Please either submit a file or check the clear checkbox, not both." | |||
msgstr "" | |||
@@ -689,7 +713,7 @@ msgid "(Hidden field %(name)s) %(error)s" | |||
msgstr "(Gizli %(name)s sahəsi) %(error)s" | |||
msgid "ManagementForm data is missing or has been tampered with" | |||
msgstr "" | |||
msgstr "ManagementForm məlumatları əksikdir və ya korlanıb" | |||
#, python-format | |||
msgid "Please submit %d or fewer forms." | |||
@@ -731,14 +755,14 @@ msgid "Please correct the duplicate values below." | |||
msgstr "Aşağıda təkrarlanan qiymətlərə düzəliş edin." | |||
msgid "The inline value did not match the parent instance." | |||
msgstr "" | |||
msgstr "Sətiriçi dəyər ana nüsxəyə uyğun deyil." | |||
msgid "Select a valid choice. That choice is not one of the available choices." | |||
msgstr "Düzgün seçim edin. Bu seçim mümkün deyil." | |||
#, python-format | |||
msgid "\"%(pk)s\" is not a valid value." | |||
msgstr "" | |||
msgstr "\"%(pk)s\" düzgün dəyər deyil." | |||
#, python-format | |||
msgid "" | |||
@@ -1089,12 +1113,18 @@ msgid "" | |||
"required for security reasons, to ensure that your browser is not being " | |||
"hijacked by third parties." | |||
msgstr "" | |||
"Bu HTTPS sayt səyyahınız tərəfindən 'Referer header' göndərilməsini tələb " | |||
"edir, amma göndərilmir. Bu başlıq səyyahınızın üçüncü biri tərəfindən hack-" | |||
"lənmədiyinə əmin olmaq üçün istifadə edilir." | |||
msgid "" | |||
"If you have configured your browser to disable 'Referer' headers, please re-" | |||
"enable them, at least for this site, or for HTTPS connections, or for 'same-" | |||
"origin' requests." | |||
msgstr "" | |||
"Əgər səyyahınızın 'Referer' başlığını göndərməsini söndürmüsünüzsə, lütfən " | |||
"bu sayt üçün, HTTPS əlaqələr üçün və ya 'same-origin' sorğular üçün aktiv " | |||
"edin." | |||
msgid "" | |||
"If you are using the <meta name=\"referrer\" content=\"no-referrer\"> tag or " | |||
@@ -1103,17 +1133,27 @@ msgid "" | |||
"If you're concerned about privacy, use alternatives like <a rel=\"noreferrer" | |||
"\" ...> for links to third-party sites." | |||
msgstr "" | |||
"Əgər <meta name=\"referrer\" content=\"no-referrer\"> etiketini və ya " | |||
"'Referrer-Policy: no-referrer' başlığını işlədirsinizsə, lütfən silin. CSRF " | |||
"qoruma dəqiq yönləndirən yoxlaması üçün 'Referer' başlığını tələb edir. Əgər " | |||
"məxfilik üçün düşünürsünüzsə, üçüncü tərəf sayt keçidləri üçün <a rel=" | |||
"\"noreferrer\" ...> kimi bir alternativ işlədin." | |||
msgid "" | |||
"You are seeing this message because this site requires a CSRF cookie when " | |||
"submitting forms. This cookie is required for security reasons, to ensure " | |||
"that your browser is not being hijacked by third parties." | |||
msgstr "" | |||
"Bu sayt formaları göndərmək üçün CSRF çərəzini işlədir. Bu çərəz " | |||
"səyyahınızın üçüncü biri tərəfindən hack-lənmədiyinə əmin olmaq üçün " | |||
"istifadə edilir. " | |||
msgid "" | |||
"If you have configured your browser to disable cookies, please re-enable " | |||
"them, at least for this site, or for 'same-origin' requests." | |||
msgstr "" | |||
"Əgər səyyahınızda çərəzlər söndürülübsə, lütfən bu sayt və ya 'same-origin' " | |||
"sorğular üçün aktiv edin." | |||
msgid "More information is available with DEBUG=True." | |||
msgstr "Daha ətraflı məlumat DEBUG=True ilə mövcuddur." | |||
@@ -1122,7 +1162,7 @@ msgid "No year specified" | |||
msgstr "İl göstərilməyib" | |||
msgid "Date out of range" | |||
msgstr "" | |||
msgstr "Tarix aralığın xaricindədir" | |||
msgid "No month specified" | |||
msgstr "Ay göstərilməyib" | |||
@@ -1176,16 +1216,19 @@ msgid "Index of %(directory)s" | |||
msgstr "%(directory)s-nin indeksi" | |||
msgid "Django: the Web framework for perfectionists with deadlines." | |||
msgstr "" | |||
msgstr "Django: tələsən mükəmməlləkçilər üçün Web framework." | |||
#, python-format | |||
msgid "" | |||
"View <a href=\"https://docs.djangoproject.com/en/%(version)s/releases/\" " | |||
"target=\"_blank\" rel=\"noopener\">release notes</a> for Django %(version)s" | |||
msgstr "" | |||
"Django %(version)s üçün <a href=\"https://docs.djangoproject.com/en/" | |||
"%(version)s/releases/\" target=\"_blank\" rel=\"noopener\">buraxılış " | |||
"qeydlərinə</a> baxın" | |||
msgid "The install worked successfully! Congratulations!" | |||
msgstr "" | |||
msgstr "Quruluş uğurla tamamlandı! Təbriklər!" | |||
#, python-format | |||
msgid "" | |||
@@ -1194,21 +1237,24 @@ msgid "" | |||
"\">DEBUG=True</a> is in your settings file and you have not configured any " | |||
"URLs." | |||
msgstr "" | |||
"Tənzimləmə faylınızda <a href=\"https://docs.djangoproject.com/en/" | |||
"%(version)s/ref/settings/#debug\" target=\"_blank\" rel=\"noopener" | |||
"\">DEBUG=True</a> və heç bir URL qurmadığınız üçün bu səhifəni görürsünüz." | |||
msgid "Django Documentation" | |||
msgstr "" | |||
msgstr "Django Sənədləri" | |||
msgid "Topics, references, & how-to's" | |||
msgstr "" | |||
msgstr "Mövzular, istinadlar və nümunələr" | |||
msgid "Tutorial: A Polling App" | |||
msgstr "" | |||
msgstr "Məşğələ: Səsvermə Tətbiqi" | |||
msgid "Get started with Django" | |||
msgstr "" | |||
msgstr "Django-ya başla" | |||
msgid "Django Community" | |||
msgstr "" | |||
msgstr "Django İcması" | |||
msgid "Connect, get help, or contribute" | |||
msgstr "" | |||
msgstr "Qoşul, kömək al və dəstək ol" |
@@ -11,15 +11,16 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-01-06 20:09+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-07-15 18:02+0000\n" | |||
"Last-Translator: Vláďa Macek <macek@sandbox.cz>\n" | |||
"Language-Team: Czech (http://www.transifex.com/django/django/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" | |||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " | |||
"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" | |||
msgid "Afrikaans" | |||
msgstr "afrikánsky" | |||
@@ -28,7 +29,7 @@ msgid "Arabic" | |||
msgstr "arabsky" | |||
msgid "Asturian" | |||
msgstr "Asturian" | |||
msgstr "asturštinou" | |||
msgid "Azerbaijani" | |||
msgstr "ázerbájdžánštinou" | |||
@@ -160,7 +161,7 @@ msgid "Japanese" | |||
msgstr "japonsky" | |||
msgid "Georgian" | |||
msgstr "gruzínsky" | |||
msgstr "gruzínštinou" | |||
msgid "Kabyle" | |||
msgstr "kabylštinou" | |||
@@ -372,6 +373,8 @@ msgstr[1] "" | |||
"Tato hodnota má mít nejméně %(limit_value)d znaky (nyní má %(show_value)d)." | |||
msgstr[2] "" | |||
"Tato hodnota má mít nejméně %(limit_value)d znaků (nyní má %(show_value)d)." | |||
msgstr[3] "" | |||
"Tato hodnota má mít nejméně %(limit_value)d znaků (nyní má %(show_value)d)." | |||
#, python-format | |||
msgid "" | |||
@@ -386,6 +389,11 @@ msgstr[1] "" | |||
"Tato hodnota má mít nejvýše %(limit_value)d znaky (nyní má %(show_value)d)." | |||
msgstr[2] "" | |||
"Tato hodnota má mít nejvýše %(limit_value)d znaků (nyní má %(show_value)d)." | |||
msgstr[3] "" | |||
"Tato hodnota má mít nejvýše %(limit_value)d znaků (nyní má %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Zadejte číslo." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
@@ -393,6 +401,7 @@ msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
msgstr[0] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslici." | |||
msgstr[1] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslice." | |||
msgstr[2] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslic." | |||
msgstr[3] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslic." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s decimal place." | |||
@@ -400,6 +409,7 @@ msgid_plural "Ensure that there are no more than %(max)s decimal places." | |||
msgstr[0] "Ujistěte se, že pole neobsahuje více než %(max)s desetinné místo." | |||
msgstr[1] "Ujistěte se, že pole neobsahuje více než %(max)s desetinná místa." | |||
msgstr[2] "Ujistěte se, že pole neobsahuje více než %(max)s desetinných míst." | |||
msgstr[3] "Ujistěte se, že pole neobsahuje více než %(max)s desetinných míst." | |||
#, python-format | |||
msgid "" | |||
@@ -415,6 +425,9 @@ msgstr[1] "" | |||
msgstr[2] "" | |||
"Ujistěte se, že hodnota neobsahuje více než %(max)s míst před desetinnou " | |||
"čárkou (tečkou)." | |||
msgstr[3] "" | |||
"Ujistěte se, že hodnota neobsahuje více než %(max)s míst před desetinnou " | |||
"čárkou (tečkou)." | |||
#, python-format | |||
msgid "" | |||
@@ -478,6 +491,10 @@ msgstr "Velké číslo (8 bajtů)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Hodnota '%(value)s' musí být buď True nebo False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "Hodnota '%(value)s' musí být buď True, False nebo None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Pravdivost (buď Ano (True), nebo Ne (False))" | |||
@@ -652,9 +669,6 @@ msgstr "Toto pole je třeba vyplnit." | |||
msgid "Enter a whole number." | |||
msgstr "Zadejte celé číslo." | |||
msgid "Enter a number." | |||
msgstr "Zadejte číslo." | |||
msgid "Enter a valid date." | |||
msgstr "Zadejte platné datum." | |||
@@ -667,6 +681,10 @@ msgstr "Zadejte platné datum a čas." | |||
msgid "Enter a valid duration." | |||
msgstr "Zadejte platnou délku trvání." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Počet dní musí být mezi {min_days} a {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "" | |||
"Soubor nebyl odeslán. Zkontrolujte parametr \"encoding type\" formuláře." | |||
@@ -687,6 +705,8 @@ msgstr[1] "" | |||
"Tento název souboru má mít nejvýše %(max)d znaky (nyní má %(length)d)." | |||
msgstr[2] "" | |||
"Tento název souboru má mít nejvýše %(max)d znaků (nyní má %(length)d)." | |||
msgstr[3] "" | |||
"Tento název souboru má mít nejvýše %(max)d znaků (nyní má %(length)d)." | |||
msgid "Please either submit a file or check the clear checkbox, not both." | |||
msgstr "Musíte vybrat cestu k souboru nebo vymazat výběr, ne obojí." | |||
@@ -727,6 +747,7 @@ msgid_plural "Please submit %d or fewer forms." | |||
msgstr[0] "Odešlete %d nebo méně formulářů." | |||
msgstr[1] "Odešlete %d nebo méně formulářů." | |||
msgstr[2] "Odešlete %d nebo méně formulářů." | |||
msgstr[3] "Odešlete %d nebo méně formulářů." | |||
#, python-format | |||
msgid "Please submit %d or more forms." | |||
@@ -734,6 +755,7 @@ msgid_plural "Please submit %d or more forms." | |||
msgstr[0] "Odešlete %d nebo více formulářů." | |||
msgstr[1] "Odešlete %d nebo více formulářů." | |||
msgstr[2] "Odešlete %d nebo více formulářů." | |||
msgstr[3] "Odešlete %d nebo více formulářů." | |||
msgid "Order" | |||
msgstr "Pořadí" | |||
@@ -805,6 +827,7 @@ msgid_plural "%(size)d bytes" | |||
msgstr[0] "%(size)d bajt" | |||
msgstr[1] "%(size)d bajty" | |||
msgstr[2] "%(size)d bajtů" | |||
msgstr[3] "%(size)d bajtů" | |||
#, python-format | |||
msgid "%s KB" | |||
@@ -1075,6 +1098,7 @@ msgid_plural "%d years" | |||
msgstr[0] "%d rok" | |||
msgstr[1] "%d roky" | |||
msgstr[2] "%d let" | |||
msgstr[3] "%d let" | |||
#, python-format | |||
msgid "%d month" | |||
@@ -1082,6 +1106,7 @@ msgid_plural "%d months" | |||
msgstr[0] "%d měsíc" | |||
msgstr[1] "%d měsíce" | |||
msgstr[2] "%d měsíců" | |||
msgstr[3] "%d měsíců" | |||
#, python-format | |||
msgid "%d week" | |||
@@ -1089,6 +1114,7 @@ msgid_plural "%d weeks" | |||
msgstr[0] "%d týden" | |||
msgstr[1] "%d týdny" | |||
msgstr[2] "%d týdnů" | |||
msgstr[3] "%d týdnů" | |||
#, python-format | |||
msgid "%d day" | |||
@@ -1096,6 +1122,7 @@ msgid_plural "%d days" | |||
msgstr[0] "%d den" | |||
msgstr[1] "%d dny" | |||
msgstr[2] "%d dní" | |||
msgstr[3] "%d dní" | |||
#, python-format | |||
msgid "%d hour" | |||
@@ -1103,6 +1130,7 @@ msgid_plural "%d hours" | |||
msgstr[0] "%d hodina" | |||
msgstr[1] "%d hodiny" | |||
msgstr[2] "%d hodin" | |||
msgstr[3] "%d hodin" | |||
#, python-format | |||
msgid "%d minute" | |||
@@ -1110,6 +1138,7 @@ msgid_plural "%d minutes" | |||
msgstr[0] "%d minuta" | |||
msgstr[1] "%d minuty" | |||
msgstr[2] "%d minut" | |||
msgstr[3] "%d minut" | |||
msgid "0 minutes" | |||
msgstr "0 minut" |
@@ -3,7 +3,7 @@ | |||
# Translators: | |||
# Christian Joergensen <christian@gmta.info>, 2012 | |||
# Danni Randeris <danniranderis+djangocore@gmail.com>, 2014 | |||
# Erik Wognsen <r4mses@gmail.com>, 2013-2017 | |||
# Erik Wognsen <r4mses@gmail.com>, 2013-2018 | |||
# Finn Gruwier Larsen, 2011 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# jonaskoelker <jonaskoelker@gnu.org>, 2012 | |||
@@ -13,8 +13,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2017-12-02 11:14+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 20:46+0000\n" | |||
"Last-Translator: Erik Wognsen <r4mses@gmail.com>\n" | |||
"Language-Team: Danish (http://www.transifex.com/django/django/language/da/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -385,6 +385,9 @@ msgstr[0] "" | |||
msgstr[1] "" | |||
"Denne værdi må højst have %(limit_value)d tegn (den har %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Indtast et tal." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -463,6 +466,10 @@ msgstr "Stort heltal (8 byte)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s'-værdien skal være enten True eller False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s' værdien skal være enten True, False eller None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Boolsk (enten True eller False)" | |||
@@ -639,9 +646,6 @@ msgstr "Dette felt er påkrævet." | |||
msgid "Enter a whole number." | |||
msgstr "Indtast et heltal." | |||
msgid "Enter a number." | |||
msgstr "Indtast et tal." | |||
msgid "Enter a valid date." | |||
msgstr "Indtast en gyldig dato." | |||
@@ -654,6 +658,10 @@ msgstr "Indtast gyldig dato/tid." | |||
msgid "Enter a valid duration." | |||
msgstr "Indtast en gyldig varighed." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Antallet af dage skal være mellem {min_days} og {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Ingen fil blev indsendt. Kontroller kodningstypen i formularen." | |||
@@ -4,16 +4,17 @@ | |||
# André Hagenbruch, 2011-2012 | |||
# Florian Apolloner <florian@apolloner.eu>, 2011 | |||
# Daniel Roschka <dunedan@phoenitydawn.de>, 2016 | |||
# Jannis, 2011,2013 | |||
# Jannis Leidel <jannis@leidel.info>, 2013-2017 | |||
# Jannis, 2016 | |||
# Florian Apolloner <florian@apolloner.eu>, 2018 | |||
# Jannis Vajen, 2011,2013 | |||
# Jannis Leidel <jannis@leidel.info>, 2013-2018 | |||
# Jannis Vajen, 2016 | |||
# Markus Holtermann <inyoka@markusholtermann.eu>, 2013,2015 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-27 16:21+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 00:21+0000\n" | |||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||
"Language-Team: German (http://www.transifex.com/django/django/language/de/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -163,6 +164,9 @@ msgstr "Japanisch" | |||
msgid "Georgian" | |||
msgstr "Georgisch" | |||
msgid "Kabyle" | |||
msgstr "Kabylisch" | |||
msgid "Kazakh" | |||
msgstr "Kasachisch" | |||
@@ -349,7 +353,7 @@ msgstr "Bitte nur durch Komma getrennte Ziffern eingeben." | |||
msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." | |||
msgstr "" | |||
"Bitte sicherstellen, dass der Wert %(limit_value)s ist. (Er ist " | |||
"%(show_value)s)" | |||
"%(show_value)s.)" | |||
#, python-format | |||
msgid "Ensure this value is less than or equal to %(limit_value)s." | |||
@@ -368,10 +372,10 @@ msgid_plural "" | |||
"%(show_value)d)." | |||
msgstr[0] "" | |||
"Bitte sicherstellen, dass der Wert aus mindestens %(limit_value)d Zeichen " | |||
"besteht. (Er besteht aus %(show_value)d Zeichen)." | |||
"besteht. (Er besteht aus %(show_value)d Zeichen.)" | |||
msgstr[1] "" | |||
"Bitte sicherstellen, dass der Wert aus mindestens %(limit_value)d Zeichen " | |||
"besteht. (Er besteht aus %(show_value)d Zeichen)." | |||
"besteht. (Er besteht aus %(show_value)d Zeichen.)" | |||
#, python-format | |||
msgid "" | |||
@@ -382,10 +386,13 @@ msgid_plural "" | |||
"%(show_value)d)." | |||
msgstr[0] "" | |||
"Bitte sicherstellen, dass der Wert aus höchstens %(limit_value)d Zeichen " | |||
"besteht. (Er besteht aus %(show_value)d Zeichen)." | |||
"besteht. (Er besteht aus %(show_value)d Zeichen.)" | |||
msgstr[1] "" | |||
"Bitte sicherstellen, dass der Wert aus höchstens %(limit_value)d Zeichen " | |||
"besteht. (Er besteht aus %(show_value)d Zeichen)." | |||
"besteht. (Er besteht aus %(show_value)d Zeichen.)" | |||
msgid "Enter a number." | |||
msgstr "Bitte eine Zahl eingeben." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
@@ -420,7 +427,7 @@ msgid "" | |||
"File extension '%(extension)s' is not allowed. Allowed extensions are: " | |||
"'%(allowed_extensions)s'." | |||
msgstr "" | |||
"Dateiendung „%(extension)s“ ist nicht erlaubt. Erlaubte Dateiendungen: sind: " | |||
"Dateiendung „%(extension)s“ ist nicht erlaubt. Erlaubte Dateiendungen sind: " | |||
"„%(allowed_extensions)s“." | |||
msgid "Null characters are not allowed." | |||
@@ -473,6 +480,10 @@ msgstr "Große Ganzzahl (8 Byte)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "„%(value)s“ Wert muss entweder True oder False sein." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "" | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Boolescher Wert (True oder False)" | |||
@@ -648,9 +659,6 @@ msgstr "Dieses Feld ist zwingend erforderlich." | |||
msgid "Enter a whole number." | |||
msgstr "Bitte eine ganze Zahl eingeben." | |||
msgid "Enter a number." | |||
msgstr "Bitte eine Zahl eingeben." | |||
msgid "Enter a valid date." | |||
msgstr "Bitte ein gültiges Datum eingeben." | |||
@@ -663,6 +671,10 @@ msgstr "Bitte ein gültiges Datum und Uhrzeit eingeben." | |||
msgid "Enter a valid duration." | |||
msgstr "Bitte eine gültige Zeitspanne eingeben." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "" | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "" | |||
"Es wurde keine Datei übertragen. Überprüfen Sie das Encoding des Formulars." | |||
@@ -679,10 +691,10 @@ msgid_plural "" | |||
"Ensure this filename has at most %(max)d characters (it has %(length)d)." | |||
msgstr[0] "" | |||
"Bitte sicherstellen, dass der Dateiname aus höchstens %(max)d Zeichen " | |||
"besteht. (Er besteht aus %(length)d Zeichen)." | |||
"besteht. (Er besteht aus %(length)d Zeichen.)" | |||
msgstr[1] "" | |||
"Bitte sicherstellen, dass der Dateiname aus höchstens %(max)d Zeichen " | |||
"besteht. (Er besteht aus %(length)d Zeichen)." | |||
"besteht. (Er besteht aus %(length)d Zeichen.)" | |||
msgid "Please either submit a file or check the clear checkbox, not both." | |||
msgstr "" |
@@ -1,13 +1,13 @@ | |||
# This file is distributed under the same license as the Django package. | |||
# | |||
# Translators: | |||
# Michael Wolf <milupo@sorbzilla.de>, 2016-2017 | |||
# Michael Wolf <milupo@sorbzilla.de>, 2016-2018 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2017-12-09 18:46+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-26 10:19+0000\n" | |||
"Last-Translator: Michael Wolf <milupo@sorbzilla.de>\n" | |||
"Language-Team: Lower Sorbian (http://www.transifex.com/django/django/" | |||
"language/dsb/)\n" | |||
@@ -398,6 +398,9 @@ msgstr[3] "" | |||
"Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamuškow (ma " | |||
"%(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Zapódajśo licbu." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -482,6 +485,10 @@ msgstr "Big (8 bajtow) integer" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Gódnota '%(value)s musy pak True pak False byś." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "Gódnota '%(value)s' musy pak True, False pak None byś." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Boolean (pak True pak False)" | |||
@@ -657,9 +664,6 @@ msgstr "Toś to pólo jo trěbne." | |||
msgid "Enter a whole number." | |||
msgstr "Zapódajśo cełu licbu." | |||
msgid "Enter a number." | |||
msgstr "Zapódajśo licbu." | |||
msgid "Enter a valid date." | |||
msgstr "Zapódajśo płaśiwy datum." | |||
@@ -672,6 +676,10 @@ msgstr "Zapódajśo płaśiwy datum/cas." | |||
msgid "Enter a valid duration." | |||
msgstr "Zapódaśe płaśiwe traśe." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Licba dnjow musy mjazy {min_days} a {max_days} byś." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "" | |||
"Dataja njejo se wótpósłała. Pśeglědujśo koděrowański typ na formularje. " |
@@ -12,8 +12,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-02-27 21:45+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-07-30 21:46+0000\n" | |||
"Last-Translator: Baptiste Darthenay <baptiste+transifex@darthenay.fr>\n" | |||
"Language-Team: Esperanto (http://www.transifex.com/django/django/language/" | |||
"eo/)\n" | |||
@@ -389,6 +389,9 @@ msgstr[1] "" | |||
"Certigu, ke tio valuto maksimume havas %(limit_value)d karakterojn (ĝi havas " | |||
"%(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Enigu nombron." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -467,6 +470,10 @@ msgstr "Granda (8 bitoka) entjero" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' valoro devas esti Vera aŭ Malvera" | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "“%(value)s” valoro devas esti Vera, Malvera aŭ Neniu." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Bulea (Vera aŭ Malvera)" | |||
@@ -643,9 +650,6 @@ msgstr "Ĉi tiu kampo estas deviga." | |||
msgid "Enter a whole number." | |||
msgstr "Enigu plenan nombron." | |||
msgid "Enter a number." | |||
msgstr "Enigu nombron." | |||
msgid "Enter a valid date." | |||
msgstr "Enigu validan daton." | |||
@@ -658,6 +662,10 @@ msgstr "Enigu validan daton/tempon." | |||
msgid "Enter a valid duration." | |||
msgstr "Enigu validan daŭron." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "La nombro da tagoj devas esti inter {min_days} kaj {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "" | |||
"Neniu dosiero estis alŝutita. Kontrolu la kodoprezentan tipon en la " | |||
@@ -754,7 +762,7 @@ msgid "Please correct the duplicate values below." | |||
msgstr "Bonvolu ĝustigi la duoblan valoron sube." | |||
msgid "The inline value did not match the parent instance." | |||
msgstr "" | |||
msgstr "La enteksta valoro ne egalas la patran aperon." | |||
msgid "Select a valid choice. That choice is not one of the available choices." | |||
msgstr "Elektu validan elekton. Ĉi tiu elekto ne estas el la eblaj elektoj." | |||
@@ -1133,6 +1141,11 @@ msgid "" | |||
"If you're concerned about privacy, use alternatives like <a rel=\"noreferrer" | |||
"\" ...> for links to third-party sites." | |||
msgstr "" | |||
"Se vi uzas la <meta name=\"referrer\" content=\"no-referrer\">markon aŭ " | |||
"inkluzivante la 'Referrer-Policy: no-referrer' titolo, bonvolu forigi ilin. " | |||
"La CSRFa protekto postulas ke la 'Referer' titolo faru striktan " | |||
"referencantan kontroladon. Se vi estas koncernita pri privateco, uzu " | |||
"alternativojn kiel <a rel=\"noreferrer\" ...> por ligoj al aliaj retejoj." | |||
msgid "" | |||
"You are seeing this message because this site requires a CSRF cookie when " | |||
@@ -1157,7 +1170,7 @@ msgid "No year specified" | |||
msgstr "Neniu jaro specifita" | |||
msgid "Date out of range" | |||
msgstr "" | |||
msgstr "Dato ne en la intervalo" | |||
msgid "No month specified" | |||
msgstr "Neniu monato specifita" | |||
@@ -1213,16 +1226,18 @@ msgid "Index of %(directory)s" | |||
msgstr "Indekso de %(directory)s" | |||
msgid "Django: the Web framework for perfectionists with deadlines." | |||
msgstr "" | |||
msgstr "Dĵango: la retframo por perfektemuloj kun limdatoj" | |||
#, python-format | |||
msgid "" | |||
"View <a href=\"https://docs.djangoproject.com/en/%(version)s/releases/\" " | |||
"target=\"_blank\" rel=\"noopener\">release notes</a> for Django %(version)s" | |||
msgstr "" | |||
"Vidu <a href=\"https://docs.djangoproject.com/en/%(version)s/releases/\" " | |||
"target=\"_blank\" rel=\"noopener\">eldonajn notojn</a> por Dĵango %(version)s" | |||
msgid "The install worked successfully! Congratulations!" | |||
msgstr "" | |||
msgstr "La instalado sukcesis! Gratulojn!" | |||
#, python-format | |||
msgid "" | |||
@@ -1231,21 +1246,24 @@ msgid "" | |||
"\">DEBUG=True</a> is in your settings file and you have not configured any " | |||
"URLs." | |||
msgstr "" | |||
"Vi vidas ĉi tiun paĝon ĉar <a href=\"https://docs.djangoproject.com/en/" | |||
"%(version)s/ref/settings/#debug\" target=\"_blank\" rel=\"noopener\">DEBUG = " | |||
"True</a> estas en via agorda dosiero kaj vi ne agordis ajnan URL." | |||
msgid "Django Documentation" | |||
msgstr "Djanga dokumentaro" | |||
msgid "Topics, references, & how-to's" | |||
msgstr "" | |||
msgstr "Temoj, referencoj & manlibroj" | |||
msgid "Tutorial: A Polling App" | |||
msgstr "" | |||
msgstr "Instruilo: apo pri enketoj" | |||
msgid "Get started with Django" | |||
msgstr "" | |||
msgstr "Komencu kun Dĵango" | |||
msgid "Django Community" | |||
msgstr "Djanga komunumo" | |||
msgid "Connect, get help, or contribute" | |||
msgstr "" | |||
msgstr "Konektiĝu, ricevu helpon aŭ kontribuu" |
@@ -9,8 +9,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-01-22 14:52+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-06-18 20:22+0000\n" | |||
"Last-Translator: Ramiro Morales\n" | |||
"Language-Team: Spanish (Argentina) (http://www.transifex.com/django/django/" | |||
"language/es_AR/)\n" | |||
@@ -388,6 +388,9 @@ msgstr[1] "" | |||
"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " | |||
"(tiene %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Introduzca un número." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -469,6 +472,10 @@ msgstr "Entero grande (8 bytes)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "El valor de '%(value)s' debe ser Verdadero o Falso." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "El valor de '%(value)s' debe ser Verdadero, Falso o None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Booleano (Verdadero o Falso)" | |||
@@ -645,9 +652,6 @@ msgstr "Este campo es obligatorio." | |||
msgid "Enter a whole number." | |||
msgstr "Introduzca un número entero." | |||
msgid "Enter a number." | |||
msgstr "Introduzca un número." | |||
msgid "Enter a valid date." | |||
msgstr "Introduzca una fecha válida." | |||
@@ -660,6 +664,10 @@ msgstr "Introduzca un valor de fecha/hora válido." | |||
msgid "Enter a valid duration." | |||
msgstr "Introduzca una duración válida." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "La cantidad de días debe tener valores entre {min_days} y {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "" | |||
"No se envió un archivo. Verifique el tipo de codificación en el formulario." |
@@ -21,5 +21,5 @@ DATETIME_INPUT_FORMATS = [ | |||
'%d/%m/%y %H:%M', | |||
] | |||
DECIMAL_SEPARATOR = '.' # ',' is also official (less common): NOM-008-SCFI-2002 | |||
THOUSAND_SEPARATOR = '\xa0' # non-breaking space | |||
THOUSAND_SEPARATOR = ',' | |||
NUMBER_GROUPING = 3 |
@@ -5,6 +5,7 @@ | |||
# Arash Fazeli <a.fazeli@gmail.com>, 2012 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Mazdak Badakhshan <geraneum@gmail.com>, 2014 | |||
# MJafar Mashhadi <raindigital2007@gmail.com>, 2018 | |||
# Mohammad Hossein Mojtahedi <Mhm5000@gmail.com>, 2013 | |||
# Pouya Abbassi, 2016 | |||
# Reza Mohammadi <reza@teeleh.ir>, 2013-2016 | |||
@@ -14,16 +15,16 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-16 01:13+0000\n" | |||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-06-23 23:00+0000\n" | |||
"Last-Translator: MJafar Mashhadi <raindigital2007@gmail.com>\n" | |||
"Language-Team: Persian (http://www.transifex.com/django/django/language/" | |||
"fa/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: fa\n" | |||
"Plural-Forms: nplurals=1; plural=0;\n" | |||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" | |||
msgid "Afrikaans" | |||
msgstr "آفریکانس" | |||
@@ -166,6 +167,9 @@ msgstr "ژاپنی" | |||
msgid "Georgian" | |||
msgstr "گرجی" | |||
msgid "Kabyle" | |||
msgstr "" | |||
msgid "Kazakh" | |||
msgstr "قزاقستان" | |||
@@ -302,13 +306,13 @@ msgid "Syndication" | |||
msgstr "پیوند" | |||
msgid "That page number is not an integer" | |||
msgstr "" | |||
msgstr "شمارهٔ صفحه باید یک عدد باشد" | |||
msgid "That page number is less than 1" | |||
msgstr "" | |||
msgstr "شمارهٔ صفحه باید بزرگتر از ۱ باشد" | |||
msgid "That page contains no results" | |||
msgstr "" | |||
msgstr "این صفحه خالی از اطلاعات است" | |||
msgid "Enter a valid value." | |||
msgstr "یک مقدار معتبر وارد کنید." | |||
@@ -366,6 +370,9 @@ msgid_plural "" | |||
msgstr[0] "" | |||
"طول این مقدار باید حداقل %(limit_value)d کاراکتر باشد (طولش %(show_value)d " | |||
"است)." | |||
msgstr[1] "" | |||
"طول این مقدار باید حداقل %(limit_value)d کاراکتر باشد (طولش %(show_value)d " | |||
"است)." | |||
#, python-format | |||
msgid "" | |||
@@ -377,16 +384,24 @@ msgid_plural "" | |||
msgstr[0] "" | |||
"طول این مقدار باید حداکثر %(limit_value)d کاراکتر باشد (طولش %(show_value)d " | |||
"است)." | |||
msgstr[1] "" | |||
"طول این مقدار باید حداکثر %(limit_value)d کاراکتر باشد (طولش %(show_value)d " | |||
"است)." | |||
msgid "Enter a number." | |||
msgstr "یک عدد وارد کنید." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
msgstr[0] "نباید در مجموع بیش از %(max)s رقم داشته باشد." | |||
msgstr[1] "نباید در مجموع بیش از %(max)s رقم داشته باشد." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s decimal place." | |||
msgid_plural "Ensure that there are no more than %(max)s decimal places." | |||
msgstr[0] "نباید بیش از %(max)s رقم اعشار داشته باشد." | |||
msgstr[1] "نباید بیش از %(max)s رقم اعشار داشته باشد." | |||
#, python-format | |||
msgid "" | |||
@@ -394,12 +409,15 @@ msgid "" | |||
msgid_plural "" | |||
"Ensure that there are no more than %(max)s digits before the decimal point." | |||
msgstr[0] "نباید بیش از %(max)s رقم قبل ممیز داشته باشد." | |||
msgstr[1] "نباید بیش از %(max)s رقم قبل ممیز داشته باشد." | |||
#, python-format | |||
msgid "" | |||
"File extension '%(extension)s' is not allowed. Allowed extensions are: " | |||
"'%(allowed_extensions)s'." | |||
msgstr "" | |||
"استفاده از پرونده با پسوند '%(extension)s' مجاز نیست. پسوندهای مجاز عبارتند " | |||
"از: '%(allowed_extensions)s'" | |||
msgid "Null characters are not allowed." | |||
msgstr "" | |||
@@ -451,6 +469,10 @@ msgstr "بزرگ (8 بایت) عدد صحیح" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "مقدار «%(value)s» باید یا True باشد و یا False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "مقدار «%(value)s» باید یا None باشد یا True و یا False." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "بولی (درست یا غلط)" | |||
@@ -627,9 +649,6 @@ msgstr "این فیلد لازم است." | |||
msgid "Enter a whole number." | |||
msgstr "به طور کامل یک عدد وارد کنید." | |||
msgid "Enter a number." | |||
msgstr "یک عدد وارد کنید." | |||
msgid "Enter a valid date." | |||
msgstr "یک تاریخ معتبر وارد کنید." | |||
@@ -642,6 +661,10 @@ msgstr "یک تاریخ/زمان معتبر وارد کنید." | |||
msgid "Enter a valid duration." | |||
msgstr "یک بازهٔ زمانی معتبر وارد کنید." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "" | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "پروندهای ارسال نشده است. نوع کدگذاری فرم را بررسی کنید." | |||
@@ -657,6 +680,8 @@ msgid_plural "" | |||
"Ensure this filename has at most %(max)d characters (it has %(length)d)." | |||
msgstr[0] "" | |||
"طول عنوان پرونده باید حداقل %(max)d کاراکتر باشد (طولش %(length)d است)." | |||
msgstr[1] "" | |||
"طول عنوان پرونده باید حداقل %(max)d کاراکتر باشد (طولش %(length)d است)." | |||
msgid "Please either submit a file or check the clear checkbox, not both." | |||
msgstr "لطفا یا فایل ارسال کنید یا دکمه پاک کردن را علامت بزنید، نه هردو." | |||
@@ -696,11 +721,13 @@ msgstr "اطلاعات ManagementForm ناقص است و یا دستکاری ش | |||
msgid "Please submit %d or fewer forms." | |||
msgid_plural "Please submit %d or fewer forms." | |||
msgstr[0] "لطفاً %d یا کمتر فرم بفرستید." | |||
msgstr[1] "لطفاً %d یا کمتر فرم بفرستید." | |||
#, python-format | |||
msgid "Please submit %d or more forms." | |||
msgid_plural "Please submit %d or more forms." | |||
msgstr[0] "لطفاً %d یا بیشتر فرم بفرستید." | |||
msgstr[1] "لطفاً %d یا بیشتر فرم بفرستید." | |||
msgid "Order" | |||
msgstr "ترتیب:" | |||
@@ -770,6 +797,7 @@ msgstr "بله،خیر،شاید" | |||
msgid "%(size)d byte" | |||
msgid_plural "%(size)d bytes" | |||
msgstr[0] "%(size)d بایت" | |||
msgstr[1] "%(size)d بایت" | |||
#, python-format | |||
msgid "%s KB" | |||
@@ -1038,31 +1066,37 @@ msgstr "،" | |||
msgid "%d year" | |||
msgid_plural "%d years" | |||
msgstr[0] "%d سال" | |||
msgstr[1] "%d سال" | |||
#, python-format | |||
msgid "%d month" | |||
msgid_plural "%d months" | |||
msgstr[0] "%d ماه" | |||
msgstr[1] "%d ماه" | |||
#, python-format | |||
msgid "%d week" | |||
msgid_plural "%d weeks" | |||
msgstr[0] "%d هفته" | |||
msgstr[1] "%d هفته" | |||
#, python-format | |||
msgid "%d day" | |||
msgid_plural "%d days" | |||
msgstr[0] "%d روز" | |||
msgstr[1] "%d روز" | |||
#, python-format | |||
msgid "%d hour" | |||
msgid_plural "%d hours" | |||
msgstr[0] "%d ساعت" | |||
msgstr[1] "%d ساعت" | |||
#, python-format | |||
msgid "%d minute" | |||
msgid_plural "%d minutes" | |||
msgstr[0] "%d دقیقه" | |||
msgstr[1] "%d دقیقه" | |||
msgid "0 minutes" | |||
msgstr "0 دقیقه" | |||
@@ -1079,18 +1113,19 @@ msgid "" | |||
"required for security reasons, to ensure that your browser is not being " | |||
"hijacked by third parties." | |||
msgstr "" | |||
"شما این پیغام را میبینید چون این سایتِ HTTPS نیازمند یک «تیتر ارجاع» برای " | |||
"ارسال به بروزر شماست، ولی هیچ چیزی ارسال نشده است. این تیتر به دلایل امنیتی " | |||
"مورد نیاز است، برای اینکه از هایجک نشدن بروزر اطمینان حاصل شود." | |||
"شما این پیام را میبینید چون این سایتِ HTTPS نیازمند یک «تیتر ارجاع (Referer " | |||
"header)» برای ارسال به مرورگر شماست اما هیچ چیزی ارسال نشده است. این تیتر " | |||
"برای امنیت شما با حصول اطمینان از اینکه کنترل مرورگرتان به دست شخص ثالثی " | |||
"نیفتاده باشد ضروری است." | |||
msgid "" | |||
"If you have configured your browser to disable 'Referer' headers, please re-" | |||
"enable them, at least for this site, or for HTTPS connections, or for 'same-" | |||
"origin' requests." | |||
msgstr "" | |||
"اگر بزوزر خود را برای غیر فعال کردن تیترهای «ارجاع» تنظیم کردهاید، لطفا " | |||
"مجددا این ویژگی را فعال کنید، حداقل برای این وبسایت، یا برای اتصالات HTTPS، " | |||
"یا برای درخواستهایی با «مبدا یکسان»." | |||
"اگر تیترهای «ارجاع (Referer)» را در مرورگرتان غیرفعال کردهاید، لطفاً مجدداً " | |||
"این ویژگی را فعال کنید، حداقل برای این وبسایت، یا برای اتصالات HTTPS، یا " | |||
"برای درخواستهایی با «مبدا یکسان (same-origin)»." | |||
msgid "" | |||
"If you are using the <meta name=\"referrer\" content=\"no-referrer\"> tag or " | |||
@@ -1105,9 +1140,9 @@ msgid "" | |||
"submitting forms. This cookie is required for security reasons, to ensure " | |||
"that your browser is not being hijacked by third parties." | |||
msgstr "" | |||
"شما این پیغام را میبینید چون این سایت نیازمند کوکی «جعل درخواست میان وبگاهی» " | |||
"در زمان ارائه ی فورم میباشد. این کوکیها برای مسائل امنیتی ضروری هستند، برای " | |||
"اطمینان از اینکه بروزر شما توسط شخص ثالثی هایجک نشده باشد." | |||
"شما این پیام را میبینید چون این سایت نیازمند کوکی «جعل درخواست میان وبگاهی " | |||
"(CSRF)» است. این کوکی برای امنیت شما ضروری است. با این کوکی میتوانیم از " | |||
"اینکه شخص ثالثی کنترل مرورگرتان را به دست نگرفته است اطمینان پیدا کنیم." | |||
msgid "" | |||
"If you have configured your browser to disable cookies, please re-enable " | |||
@@ -1123,7 +1158,7 @@ msgid "No year specified" | |||
msgstr "هیچ سالی مشخص نشده است" | |||
msgid "Date out of range" | |||
msgstr "" | |||
msgstr "تاریخ غیرمجاز است" | |||
msgid "No month specified" | |||
msgstr "هیچ ماهی مشخص نشده است" | |||
@@ -1197,19 +1232,19 @@ msgid "" | |||
msgstr "" | |||
msgid "Django Documentation" | |||
msgstr "" | |||
msgstr "مستندات جنگو" | |||
msgid "Topics, references, & how-to's" | |||
msgstr "" | |||
msgid "Tutorial: A Polling App" | |||
msgstr "" | |||
msgstr "آموزش گام به گام: برنامکی برای رأیگیری" | |||
msgid "Get started with Django" | |||
msgstr "" | |||
msgstr "شروع به کار با جنگو" | |||
msgid "Django Community" | |||
msgstr "" | |||
msgstr "جامعهٔ جنگو" | |||
msgid "Connect, get help, or contribute" | |||
msgstr "" |
@@ -1,7 +1,7 @@ | |||
# This file is distributed under the same license as the Django package. | |||
# | |||
# Translators: | |||
# Aarni Koskela, 2015,2017 | |||
# Aarni Koskela, 2015,2017-2018 | |||
# Antti Kaihola <antti.15+transifex@kaihola.fi>, 2011 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Lasse Liehu <larso@gmx.com>, 2015 | |||
@@ -10,8 +10,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-16 01:13+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 00:21+0000\n" | |||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||
"Language-Team: Finnish (http://www.transifex.com/django/django/language/" | |||
"fi/)\n" | |||
@@ -162,6 +162,9 @@ msgstr "japani" | |||
msgid "Georgian" | |||
msgstr "georgia" | |||
msgid "Kabyle" | |||
msgstr "Kabyle" | |||
msgid "Kazakh" | |||
msgstr "kazakin kieli" | |||
@@ -384,6 +387,9 @@ msgstr[1] "" | |||
"Varmista, että tämä arvo on enintään %(limit_value)d merkkiä pitkä (tällä " | |||
"hetkellä %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Syötä luku." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -415,7 +421,7 @@ msgstr "" | |||
"\"%(allowed_extensions)s\"." | |||
msgid "Null characters are not allowed." | |||
msgstr "" | |||
msgstr "Tyhjiä merkkejä (null) ei sallita." | |||
msgid "and" | |||
msgstr "ja" | |||
@@ -465,6 +471,10 @@ msgstr "Suuri (8-tavuinen) kokonaisluku" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "%(value)s-arvo pitää olla joko tosi tai epätosi." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "" | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Totuusarvo: joko tosi (True) tai epätosi (False)" | |||
@@ -637,9 +647,6 @@ msgstr "Tämä kenttä vaaditaan." | |||
msgid "Enter a whole number." | |||
msgstr "Syötä kokonaisluku." | |||
msgid "Enter a number." | |||
msgstr "Syötä luku." | |||
msgid "Enter a valid date." | |||
msgstr "Syötä oikea päivämäärä." | |||
@@ -652,6 +659,10 @@ msgstr "Syötä oikea pvm/kellonaika." | |||
msgid "Enter a valid duration." | |||
msgstr "Syötä oikea kesto." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "" | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Tiedostoa ei lähetetty. Tarkista lomakkeen koodaus (encoding)." | |||
@@ -750,7 +761,7 @@ msgstr "Valitse oikea vaihtoehto. Valintasi ei löydy vaihtoehtojen joukosta." | |||
#, python-format | |||
msgid "\"%(pk)s\" is not a valid value." | |||
msgstr "" | |||
msgstr "\"%(pk)s\" ei ole kelvollinen arvo." | |||
#, python-format | |||
msgid "" | |||
@@ -1122,6 +1133,11 @@ msgid "" | |||
"If you're concerned about privacy, use alternatives like <a rel=\"noreferrer" | |||
"\" ...> for links to third-party sites." | |||
msgstr "" | |||
"Jos käytät <meta name=\"referrer\" content=\"no-referrer\">-tagia tai " | |||
"\"Referrer-Policy: no-referrer\" -otsaketta, ole hyvä ja poista ne. CSRF-" | |||
"suojaus vaatii Referer-otsakkeen tehdäkseen tarkan referer-tarkistuksen. Jos " | |||
"vaadit yksityisyyttä, käytä vaihtoehtoja kuten <a rel=\"noreferrer\" ..." | |||
">linkittääksesi kolmannen osapuolen sivuille." | |||
msgid "" | |||
"You are seeing this message because this site requires a CSRF cookie when " | |||
@@ -1147,7 +1163,7 @@ msgid "No year specified" | |||
msgstr "Vuosi puuttuu" | |||
msgid "Date out of range" | |||
msgstr "" | |||
msgstr "Päivämäärä ei alueella" | |||
msgid "No month specified" | |||
msgstr "Kuukausi puuttuu" | |||
@@ -1210,7 +1226,7 @@ msgid "" | |||
msgstr "" | |||
msgid "The install worked successfully! Congratulations!" | |||
msgstr "" | |||
msgstr "Asennus toimi! Onneksi olkoon!" | |||
#, python-format | |||
msgid "" | |||
@@ -1219,21 +1235,24 @@ msgid "" | |||
"\">DEBUG=True</a> is in your settings file and you have not configured any " | |||
"URLs." | |||
msgstr "" | |||
"Näet tämän viestin, koska asetuksissasi on <a href=\"https://docs." | |||
"djangoproject.com/en/%(version)s/ref/settings/#debug\" target=\"_blank\" rel=" | |||
"\"noopener\">DEBUG = True</a> etkä ole konfiguroinut yhtään URL-osoitetta." | |||
msgid "Django Documentation" | |||
msgstr "" | |||
msgstr "Django-dokumentaatio" | |||
msgid "Topics, references, & how-to's" | |||
msgstr "" | |||
msgstr "Aiheet, viittaukset & how-tot" | |||
msgid "Tutorial: A Polling App" | |||
msgstr "" | |||
msgstr "Tutoriaali: kyselyapplikaatio" | |||
msgid "Get started with Django" | |||
msgstr "" | |||
msgstr "Miten päästä alkuun Djangolla" | |||
msgid "Django Community" | |||
msgstr "" | |||
msgstr "Django-yhteisö" | |||
msgid "Connect, get help, or contribute" | |||
msgstr "" |
@@ -2,7 +2,7 @@ | |||
# | |||
# Translators: | |||
# charettes <charette.s@gmail.com>, 2012 | |||
# Claude Paroz <claude@2xlibre.net>, 2013-2017 | |||
# Claude Paroz <claude@2xlibre.net>, 2013-2018 | |||
# Claude Paroz <claude@2xlibre.net>, 2011 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Jean-Baptiste Mora, 2014 | |||
@@ -12,8 +12,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-16 08:05+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 12:50+0000\n" | |||
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n" | |||
"Language-Team: French (http://www.transifex.com/django/django/language/fr/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -163,6 +163,9 @@ msgstr "Japonais" | |||
msgid "Georgian" | |||
msgstr "Géorgien" | |||
msgid "Kabyle" | |||
msgstr "Kabyle" | |||
msgid "Kazakh" | |||
msgstr "Kazakh" | |||
@@ -389,6 +392,9 @@ msgstr[1] "" | |||
"Assurez-vous que cette valeur comporte au plus %(limit_value)d caractères " | |||
"(actuellement %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Saisissez un nombre." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -472,6 +478,11 @@ msgstr "Grand entier (8 octets)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "La valeur « %(value)s » doit être soit True (vrai), soit False (faux)." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "" | |||
"La valeur « %(value)s » doit être True (vrai), False (faux) ou None (aucun)." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Booléen (soit vrai ou faux)" | |||
@@ -650,9 +661,6 @@ msgstr "Ce champ est obligatoire." | |||
msgid "Enter a whole number." | |||
msgstr "Saisissez un nombre entier." | |||
msgid "Enter a number." | |||
msgstr "Saisissez un nombre." | |||
msgid "Enter a valid date." | |||
msgstr "Saisissez une date valide." | |||
@@ -665,6 +673,10 @@ msgstr "Saisissez une date et une heure valides." | |||
msgid "Enter a valid duration." | |||
msgstr "Saisissez une durée valide." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Le nombre de jours doit être entre {min_days} et {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "" | |||
"Aucun fichier n'a été soumis. Vérifiez le type d'encodage du formulaire." |
@@ -10,8 +10,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-16 06:41+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-29 09:31+0000\n" | |||
"Last-Translator: GunChleoc\n" | |||
"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" | |||
"language/gd/)\n" | |||
@@ -163,6 +163,9 @@ msgstr "Seapanais" | |||
msgid "Georgian" | |||
msgstr "Cairtbheilis" | |||
msgid "Kabyle" | |||
msgstr "Kabyle" | |||
msgid "Kazakh" | |||
msgstr "Casachais" | |||
@@ -403,6 +406,9 @@ msgstr[3] "" | |||
"Dèan cinnteach gu bheil %(limit_value)d caractar aig an luach seo air a’ " | |||
"char as motha (tha %(show_value)d aige an-dràsta)." | |||
msgid "Enter a number." | |||
msgstr "Cuir a-steach àireamh." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -500,6 +506,10 @@ msgstr "Mòr-àireamh shlàn (8 baidht)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Feumaidh “%(value)s” a bhith True no False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "Feumaidh “%(value)s” a bhith True, False no None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Booleach (True no False)" | |||
@@ -678,9 +688,6 @@ msgstr "Tha an raon seo riatanach." | |||
msgid "Enter a whole number." | |||
msgstr "Cuir a-steach àireamh shlàn." | |||
msgid "Enter a number." | |||
msgstr "Cuir a-steach àireamh." | |||
msgid "Enter a valid date." | |||
msgstr "Cuir a-steach ceann-là dligheach." | |||
@@ -693,6 +700,11 @@ msgstr "Cuir a-steach ceann-là ’s àm dligheach." | |||
msgid "Enter a valid duration." | |||
msgstr "Cuir a-steach faid dhligheach." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "" | |||
"Feumaidh an àireamh de làithean a bhith eadar {min_days} is {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "" | |||
"Cha deach faidhle a chur a-null. Dearbhaich seòrsa a’ chòdachaidh air an " |
@@ -1,13 +1,13 @@ | |||
# This file is distributed under the same license as the Django package. | |||
# | |||
# Translators: | |||
# Michael Wolf <milupo@sorbzilla.de>, 2016-2017 | |||
# Michael Wolf <milupo@sorbzilla.de>, 2016-2018 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2017-12-09 18:46+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-26 11:17+0000\n" | |||
"Last-Translator: Michael Wolf <milupo@sorbzilla.de>\n" | |||
"Language-Team: Upper Sorbian (http://www.transifex.com/django/django/" | |||
"language/hsb/)\n" | |||
@@ -396,6 +396,9 @@ msgstr[3] "" | |||
"Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješkow (ima " | |||
"%(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Zapodajće ličbu." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -480,6 +483,10 @@ msgstr "Big (8 byte) integer" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Hódnota '%(value)s' dyrbi pak True pak False być." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "Hódnota '%(value)s' dyrbi pak True, False pak None być." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Boolean (pak True pak False)" | |||
@@ -655,9 +662,6 @@ msgstr "Tute polo je trěbne." | |||
msgid "Enter a whole number." | |||
msgstr "Zapodajće cyłu ličbu." | |||
msgid "Enter a number." | |||
msgstr "Zapodajće ličbu." | |||
msgid "Enter a valid date." | |||
msgstr "Zapodajće płaćiwy datum." | |||
@@ -670,6 +674,10 @@ msgstr "Zapodajće płaćiwy datum/čas." | |||
msgid "Enter a valid duration." | |||
msgstr "Zapodajće płaćiwe traće." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Ličba dnjow dyrbi mjez {min_days} a {max_days} być." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Žana dataja je so pósłała. Přepruwujće kodowanski typ we formularje." | |||
@@ -1,7 +1,8 @@ | |||
# This file is distributed under the same license as the Django package. | |||
# | |||
# Translators: | |||
# András Veres-Szentkirályi, 2016-2017 | |||
# Akos Zsolt Hochrein <hoch.akos@gmail.com>, 2018 | |||
# András Veres-Szentkirályi, 2016-2018 | |||
# Attila Nagy <>, 2012 | |||
# Dóra Szendrei <szendrgigi@gmail.com>, 2017 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
@@ -12,9 +13,9 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-24 13:36+0000\n" | |||
"Last-Translator: András Veres-Szentkirályi\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-26 09:24+0000\n" | |||
"Last-Translator: Akos Zsolt Hochrein <hoch.akos@gmail.com>\n" | |||
"Language-Team: Hungarian (http://www.transifex.com/django/django/language/" | |||
"hu/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -164,6 +165,9 @@ msgstr "Japán" | |||
msgid "Georgian" | |||
msgstr "Grúz" | |||
msgid "Kabyle" | |||
msgstr "Kabil" | |||
msgid "Kazakh" | |||
msgstr "Kazak" | |||
@@ -388,6 +392,9 @@ msgstr[1] "" | |||
"Bizonyosodjon meg arról, hogy ez az érték legfeljebb %(limit_value)d " | |||
"karaktert tartalmaz (jelenlegi hossza: %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Adj meg egy számot." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -473,6 +480,10 @@ msgstr "Nagy egész szám (8 bájtos)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' érték csak igaz (True) vagy hamis (False) lehet." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s' értéknek True, False vagy None-nak kell lennie." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Logikai (True vagy False)" | |||
@@ -650,9 +661,6 @@ msgstr "Ennek a mezőnek a megadása kötelező." | |||
msgid "Enter a whole number." | |||
msgstr "Adjon meg egy egész számot." | |||
msgid "Enter a number." | |||
msgstr "Adj meg egy számot." | |||
msgid "Enter a valid date." | |||
msgstr "Adjon meg egy érvényes dátumot." | |||
@@ -665,6 +673,10 @@ msgstr "Adjon meg egy érvényes dátumot/időt." | |||
msgid "Enter a valid duration." | |||
msgstr "Adjon meg egy érvényes időtartamot." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "A napok számának {min_days} és {max_days} közé kell esnie." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Nem küldött el fájlt. Ellenőrizze a kódolás típusát az űrlapon." | |||
@@ -3,12 +3,12 @@ | |||
# The *_FORMAT strings use the Django date format syntax, | |||
# see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date | |||
DATE_FORMAT = 'Y. F j.' | |||
TIME_FORMAT = 'G.i' | |||
DATETIME_FORMAT = 'Y. F j. G.i' | |||
TIME_FORMAT = 'H:i' | |||
DATETIME_FORMAT = 'Y. F j. H:i' | |||
YEAR_MONTH_FORMAT = 'Y. F' | |||
MONTH_DAY_FORMAT = 'F j.' | |||
SHORT_DATE_FORMAT = 'Y.m.d.' | |||
SHORT_DATETIME_FORMAT = 'Y.m.d. G.i' | |||
SHORT_DATETIME_FORMAT = 'Y.m.d. H:i' | |||
FIRST_DAY_OF_WEEK = 1 # Monday | |||
# The *_INPUT_FORMATS strings use the Python strftime format syntax, | |||
@@ -17,13 +17,13 @@ DATE_INPUT_FORMATS = [ | |||
'%Y.%m.%d.', # '2006.10.25.' | |||
] | |||
TIME_INPUT_FORMATS = [ | |||
'%H.%M.%S', # '14.30.59' | |||
'%H.%M', # '14.30' | |||
'%H:%M:%S', # '14:30:59' | |||
'%H:%M', # '14:30' | |||
] | |||
DATETIME_INPUT_FORMATS = [ | |||
'%Y.%m.%d. %H.%M.%S', # '2006.10.25. 14.30.59' | |||
'%Y.%m.%d. %H.%M.%S.%f', # '2006.10.25. 14.30.59.000200' | |||
'%Y.%m.%d. %H.%M', # '2006.10.25. 14.30' | |||
'%Y.%m.%d. %H:%M:%S', # '2006.10.25. 14:30:59' | |||
'%Y.%m.%d. %H:%M:%S.%f', # '2006.10.25. 14:30:59.000200' | |||
'%Y.%m.%d. %H:%M', # '2006.10.25. 14:30' | |||
'%Y.%m.%d.', # '2006.10.25.' | |||
] | |||
DECIMAL_SEPARATOR = ',' |
@@ -13,8 +13,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-01-11 07:10+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-06-18 23:24+0000\n" | |||
"Last-Translator: Fery Setiawan <gembelweb@gmail.com>\n" | |||
"Language-Team: Indonesian (http://www.transifex.com/django/django/language/" | |||
"id/)\n" | |||
@@ -384,6 +384,9 @@ msgstr[0] "" | |||
"Pastikan nilai ini mengandung paling banyak %(limit_value)d karakter " | |||
"(sekarang %(show_value)d karakter)." | |||
msgid "Enter a number." | |||
msgstr "Masukkan sebuah bilangan." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -461,6 +464,10 @@ msgstr "Bilangan asli raksasa (8 byte)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Nilai '%(value)s' haruslah bernilai Benar atau Salah." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "Nilai '%(value)s' harus True, False, atau None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Nilai Boolean (Salah satu dari True atau False)" | |||
@@ -637,9 +644,6 @@ msgstr "Bidang ini tidak boleh kosong." | |||
msgid "Enter a whole number." | |||
msgstr "Masukkan keseluruhan angka bilangan." | |||
msgid "Enter a number." | |||
msgstr "Masukkan sebuah bilangan." | |||
msgid "Enter a valid date." | |||
msgstr "Masukkan tanggal yang valid." | |||
@@ -652,6 +656,10 @@ msgstr "Masukkan tanggal/waktu yang valid." | |||
msgid "Enter a valid duration." | |||
msgstr "Masukan durasi waktu yang benar." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Jumlah hari harus diantara {min_days} dan {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Tidak ada berkas yang dikirimkan. Periksa tipe pengaksaraan formulir." | |||
@@ -4,15 +4,16 @@ | |||
# gudmundur <inactive+gudmundur@transifex.com>, 2011 | |||
# Hafsteinn Einarsson <haffi67@gmail.com>, 2011-2012 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Matt R, 2018 | |||
# saevarom <saevar@saevar.is>, 2011 | |||
# saevarom <saevar@saevar.is>, 2013,2015 | |||
# Thordur Sigurdsson <thordur@ja.is>, 2016-2017 | |||
# Thordur Sigurdsson <thordur@ja.is>, 2016-2018 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-27 07:32+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-06-22 20:45+0000\n" | |||
"Last-Translator: Thordur Sigurdsson <thordur@ja.is>\n" | |||
"Language-Team: Icelandic (http://www.transifex.com/django/django/language/" | |||
"is/)\n" | |||
@@ -163,6 +164,9 @@ msgstr "Japanska" | |||
msgid "Georgian" | |||
msgstr "Georgíska" | |||
msgid "Kabyle" | |||
msgstr "" | |||
msgid "Kazakh" | |||
msgstr "Kasakska" | |||
@@ -388,6 +392,9 @@ msgstr[1] "" | |||
"Gildið má mest vera %(limit_value)d stafir að lengd (það er %(show_value)d " | |||
"nú)" | |||
msgid "Enter a number." | |||
msgstr "Sláðu inn tölu." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -468,6 +475,10 @@ msgstr "Stór (8 bæta) heiltala" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' verður að vera annaðhvort satt eða ósatt." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s' verður að vera eitt eftirtalinna: True, False eða None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Boole-gildi (True eða False)" | |||
@@ -642,9 +653,6 @@ msgstr "Þennan reit þarf að fylla út." | |||
msgid "Enter a whole number." | |||
msgstr "Sláðu inn heiltölu." | |||
msgid "Enter a number." | |||
msgstr "Sláðu inn tölu." | |||
msgid "Enter a valid date." | |||
msgstr "Sláðu inn gilda dagsetningu." | |||
@@ -657,6 +665,10 @@ msgstr "Sláðu inn gilda dagsetningu ásamt tíma." | |||
msgid "Enter a valid duration." | |||
msgstr "Sláðu inn gilt tímabil." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Fjöldi daga verður að vera á milli {min_days} og {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Engin skrá var send. Athugaðu kótunartegund á forminu (encoding type)." | |||
@@ -855,25 +867,25 @@ msgid "Sunday" | |||
msgstr "sunnudagur" | |||
msgid "Mon" | |||
msgstr "Mán" | |||
msgstr "mán" | |||
msgid "Tue" | |||
msgstr "Þri" | |||
msgstr "þri" | |||
msgid "Wed" | |||
msgstr "Mið" | |||
msgstr "mið" | |||
msgid "Thu" | |||
msgstr "Fim" | |||
msgstr "fim" | |||
msgid "Fri" | |||
msgstr "Fös" | |||
msgstr "fös" | |||
msgid "Sat" | |||
msgstr "Lau" | |||
msgstr "lau" | |||
msgid "Sun" | |||
msgstr "Sun" | |||
msgstr "sun" | |||
msgid "January" | |||
msgstr "janúar" | |||
@@ -949,99 +961,99 @@ msgstr "des" | |||
msgctxt "abbrev. month" | |||
msgid "Jan." | |||
msgstr "Jan." | |||
msgstr "jan." | |||
msgctxt "abbrev. month" | |||
msgid "Feb." | |||
msgstr "Feb." | |||
msgstr "feb." | |||
msgctxt "abbrev. month" | |||
msgid "March" | |||
msgstr "Mars" | |||
msgstr "mars" | |||
msgctxt "abbrev. month" | |||
msgid "April" | |||
msgstr "Apríl" | |||
msgstr "apríl" | |||
msgctxt "abbrev. month" | |||
msgid "May" | |||
msgstr "Maí" | |||
msgstr "maí" | |||
msgctxt "abbrev. month" | |||
msgid "June" | |||
msgstr "Júní" | |||
msgstr "júní" | |||
msgctxt "abbrev. month" | |||
msgid "July" | |||
msgstr "Júlí" | |||
msgstr "júlí" | |||
msgctxt "abbrev. month" | |||
msgid "Aug." | |||
msgstr "Ág." | |||
msgstr "ág." | |||
msgctxt "abbrev. month" | |||
msgid "Sept." | |||
msgstr "Sept." | |||
msgstr "sept." | |||
msgctxt "abbrev. month" | |||
msgid "Oct." | |||
msgstr "Okt." | |||
msgstr "okt." | |||
msgctxt "abbrev. month" | |||
msgid "Nov." | |||
msgstr "Nóv." | |||
msgstr "nóv." | |||
msgctxt "abbrev. month" | |||
msgid "Dec." | |||
msgstr "Des." | |||
msgstr "des." | |||
msgctxt "alt. month" | |||
msgid "January" | |||
msgstr "Janúar" | |||
msgstr "janúar" | |||
msgctxt "alt. month" | |||
msgid "February" | |||
msgstr "Febrúar" | |||
msgstr "febrúar" | |||
msgctxt "alt. month" | |||
msgid "March" | |||
msgstr "Mars" | |||
msgstr "mars" | |||
msgctxt "alt. month" | |||
msgid "April" | |||
msgstr "Apríl" | |||
msgstr "apríl" | |||
msgctxt "alt. month" | |||
msgid "May" | |||
msgstr "Maí" | |||
msgstr "maí" | |||
msgctxt "alt. month" | |||
msgid "June" | |||
msgstr "Júní" | |||
msgstr "júní" | |||
msgctxt "alt. month" | |||
msgid "July" | |||
msgstr "Júlí" | |||
msgstr "júlí" | |||
msgctxt "alt. month" | |||
msgid "August" | |||
msgstr "Ágúst" | |||
msgstr "ágúst" | |||
msgctxt "alt. month" | |||
msgid "September" | |||
msgstr "September" | |||
msgstr "september" | |||
msgctxt "alt. month" | |||
msgid "October" | |||
msgstr "Október" | |||
msgstr "október" | |||
msgctxt "alt. month" | |||
msgid "November" | |||
msgstr "Nóvember" | |||
msgstr "nóvember" | |||
msgctxt "alt. month" | |||
msgid "December" | |||
msgstr "Desember" | |||
msgstr "desember" | |||
msgid "This is not a valid IPv6 address." | |||
msgstr "Þetta er ekki gilt IPv6 vistfang." |
@@ -1,15 +1,17 @@ | |||
# This file is distributed under the same license as the Django package. | |||
# | |||
# Translators: | |||
# bbstuntman <claudiu.andrei.roman@gmail.com>, 2017 | |||
# Topolino_Hackerino <claudiu.andrei.roman@gmail.com>, 2017 | |||
# Carlo Miron <C8E@miron.it>, 2011 | |||
# Carlo Miron <C8E@miron.it>, 2014 | |||
# Carlo Miron <C8E@miron.it>, 2018 | |||
# Denis Darii <denis.darii@gmail.com>, 2011 | |||
# Flavio Curella <flavio.curella@gmail.com>, 2013,2016 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Themis Savvidis <themhs@gmail.com>, 2013 | |||
# Luciano De Falco Alfano, 2016 | |||
# Marco Bonetti, 2014 | |||
# Mirco Grillo <mirco.grillomg@gmail.com>, 2018 | |||
# Nicola Larosa <transifex@teknico.net>, 2013 | |||
# palmux <palmux@gmail.com>, 2014-2015,2017 | |||
# Mattia Procopio <promat85@gmail.com>, 2015 | |||
@@ -19,9 +21,9 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-16 13:51+0000\n" | |||
"Last-Translator: palmux <palmux@gmail.com>\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-07-30 21:04+0000\n" | |||
"Last-Translator: Carlo Miron <C8E@miron.it>\n" | |||
"Language-Team: Italian (http://www.transifex.com/django/django/language/" | |||
"it/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -171,6 +173,9 @@ msgstr "Giapponese" | |||
msgid "Georgian" | |||
msgstr "Georgiano" | |||
msgid "Kabyle" | |||
msgstr "Cabilo" | |||
msgid "Kazakh" | |||
msgstr "Kazako" | |||
@@ -394,6 +399,9 @@ msgstr[1] "" | |||
"Assicurati che questo valore non contenga più di %(limit_value)d caratteri " | |||
"(ne ha %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Inserisci un numero." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -473,6 +481,10 @@ msgstr "Intero grande (8 byte)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Il valore '%(value)s' deve essere True oppure False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "Il valore di %(value)s deve essere True, False o None" | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Booleano (Vero o Falso)" | |||
@@ -649,9 +661,6 @@ msgstr "Questo campo è obbligatorio." | |||
msgid "Enter a whole number." | |||
msgstr "Inserisci un numero intero." | |||
msgid "Enter a number." | |||
msgstr "Inserisci un numero." | |||
msgid "Enter a valid date." | |||
msgstr "Inserisci una data valida." | |||
@@ -664,6 +673,10 @@ msgstr "Inserisci una data/ora valida." | |||
msgid "Enter a valid duration." | |||
msgstr "Inserisci una durata valida." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Il numero di giorni deve essere compreso tra {min_days} e {max_days}" | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Non è stato inviato alcun file. Verifica il tipo di codifica sul form." | |||
@@ -5,14 +5,14 @@ | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Kentaro Matsuzaki <kentaro0919@gmail.com>, 2015 | |||
# Masashi SHIBATA <contact@c-bata.link>, 2017 | |||
# Shinya Okano <tokibito@gmail.com>, 2012-2017 | |||
# Shinya Okano <tokibito@gmail.com>, 2012-2018 | |||
# Tetsuya Morimoto <tetsuya.morimoto@gmail.com>, 2011 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2017-12-04 02:33+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-23 03:26+0000\n" | |||
"Last-Translator: Shinya Okano <tokibito@gmail.com>\n" | |||
"Language-Team: Japanese (http://www.transifex.com/django/django/language/" | |||
"ja/)\n" | |||
@@ -382,6 +382,9 @@ msgstr[0] "" | |||
"この値は %(limit_value)d 文字以下でなければなりません( %(show_value)d 文字に" | |||
"なっています)。" | |||
msgid "Enter a number." | |||
msgstr "整数を入力してください。" | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -458,6 +461,10 @@ msgstr "大きな(8バイト)整数" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' は真偽値にしなければなりません。" | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s' はTrue、FalseまたはNoneの値でなければなりません。" | |||
msgid "Boolean (Either True or False)" | |||
msgstr "ブール値 (真: True または偽: False)" | |||
@@ -629,9 +636,6 @@ msgstr "このフィールドは必須です。" | |||
msgid "Enter a whole number." | |||
msgstr "整数を入力してください。" | |||
msgid "Enter a number." | |||
msgstr "整数を入力してください。" | |||
msgid "Enter a valid date." | |||
msgstr "日付を正しく入力してください。" | |||
@@ -644,6 +648,10 @@ msgstr "日付/時間を正しく入力してください。" | |||
msgid "Enter a valid duration." | |||
msgstr "時間差分を正しく入力してください。" | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "日数は{min_days}から{max_days}の間でなければなりません。" | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "" | |||
"ファイルが取得できませんでした。formのencoding typeを確認してください。" |
@@ -2,7 +2,7 @@ | |||
# | |||
# Translators: | |||
# BJ Jang <qgis.tr.kr@gmail.com>, 2014 | |||
# 준구 강 <chr0m3.kr@gmail.com>, 2017 | |||
# JunGu Kang <chr0m3.kr@gmail.com>, 2017 | |||
# Jiyoon, Ha <cryptography@konkuk.ac.kr>, 2016 | |||
# lqez <ez.amiryo@gmail.com>, 2017 | |||
# hoseung2 <ghyutjik123@gmail.com>, 2017 | |||
@@ -11,17 +11,18 @@ | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Le Tartuffe <magno79@gmail.com>, 2014,2016 | |||
# JuneHyeon Bae <devunt@gmail.com>, 2014 | |||
# 준구 강 <chr0m3.kr@gmail.com>, 2015 | |||
# JunGu Kang <chr0m3.kr@gmail.com>, 2015 | |||
# Kagami Sascha Rosylight <saschanaz@outlook.com>, 2017 | |||
# Noh Seho <iam@sehonoh.kr>, 2018 | |||
# Subin Choi <os1742@gmail.com>, 2016 | |||
# Taesik Yoon <xotlr43@gmail.com>, 2015 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2017-12-11 14:17+0000\n" | |||
"Last-Translator: 준구 강 <chr0m3.kr@gmail.com>\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-07-18 08:57+0000\n" | |||
"Last-Translator: Noh Seho <iam@sehonoh.kr>\n" | |||
"Language-Team: Korean (http://www.transifex.com/django/django/language/ko/)\n" | |||
"MIME-Version: 1.0\n" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
@@ -389,6 +390,9 @@ msgstr[0] "" | |||
"이 값이 최대 %(limit_value)d 개의 글자인지 확인하세요(입력값 %(show_value)d " | |||
"자)." | |||
msgid "Enter a number." | |||
msgstr "숫자를 입력하세요." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -465,6 +469,10 @@ msgstr "큰 정수 (8 byte)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' 값은 값이 없거나, 참 또는 거짓 중 하나 여야 합니다." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s'값은 반드시 True, False, None 중 하나여야만 합니다." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "boolean(참 또는 거짓)" | |||
@@ -638,9 +646,6 @@ msgstr "필수 항목입니다." | |||
msgid "Enter a whole number." | |||
msgstr "정수를 입력하세요." | |||
msgid "Enter a number." | |||
msgstr "숫자를 입력하세요." | |||
msgid "Enter a valid date." | |||
msgstr "올바른 날짜를 입력하세요." | |||
@@ -653,6 +658,10 @@ msgstr "올바른 날짜/시각을 입력하세요." | |||
msgid "Enter a valid duration." | |||
msgstr "올바른 기간을 입력하세요." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "날짜는 {min_days}와 {max_days} 사이여야 합니다." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "등록된 파일이 없습니다. 인코딩 형식을 확인하세요." | |||
@@ -4,7 +4,7 @@ | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Kostas <tamosiunas@gmail.com>, 2011 | |||
# lauris <lauris@runbox.com>, 2011 | |||
# Matas Dailyda <matas@dailyda.com>, 2015-2017 | |||
# Matas Dailyda <matas@dailyda.com>, 2015-2018 | |||
# naktinis <naktinis@gmail.com>, 2012 | |||
# Nikolajus Krauklis <nikolajus@gmail.com>, 2013 | |||
# Povilas Balzaravičius <pavvka@gmail.com>, 2011-2012 | |||
@@ -14,8 +14,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2017-12-04 11:04+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 08:24+0000\n" | |||
"Last-Translator: Matas Dailyda <matas@dailyda.com>\n" | |||
"Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" | |||
"lt/)\n" | |||
@@ -23,8 +23,9 @@ msgstr "" | |||
"Content-Type: text/plain; charset=UTF-8\n" | |||
"Content-Transfer-Encoding: 8bit\n" | |||
"Language: lt\n" | |||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" | |||
"%100<10 || n%100>=20) ? 1 : 2);\n" | |||
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < " | |||
"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? " | |||
"1 : n % 1 != 0 ? 2: 3);\n" | |||
msgid "Afrikaans" | |||
msgstr "Afrikiečių" | |||
@@ -382,6 +383,9 @@ msgstr[1] "" | |||
msgstr[2] "" | |||
"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " | |||
"(dabartinis ilgis %(show_value)d)." | |||
msgstr[3] "" | |||
"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " | |||
"(dabartinis ilgis %(show_value)d)." | |||
#, python-format | |||
msgid "" | |||
@@ -399,6 +403,12 @@ msgstr[1] "" | |||
msgstr[2] "" | |||
"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " | |||
"(dabartinis ilgis %(show_value)d)." | |||
msgstr[3] "" | |||
"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " | |||
"(dabartinis ilgis %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Įveskite skaičių." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
@@ -406,6 +416,7 @@ msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo." | |||
msgstr[1] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys." | |||
msgstr[2] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų." | |||
msgstr[3] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s decimal place." | |||
@@ -413,6 +424,7 @@ msgid_plural "Ensure that there are no more than %(max)s decimal places." | |||
msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo po kablelio." | |||
msgstr[1] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys po kablelio." | |||
msgstr[2] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų po kablelio." | |||
msgstr[3] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų po kablelio." | |||
#, python-format | |||
msgid "" | |||
@@ -424,6 +436,8 @@ msgstr[1] "" | |||
"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys prieš kablelį." | |||
msgstr[2] "" | |||
"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų prieš kablelį." | |||
msgstr[3] "" | |||
"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų prieš kablelį." | |||
#, python-format | |||
msgid "" | |||
@@ -483,6 +497,10 @@ msgstr "Didelis (8 baitų) sveikas skaičius" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' reikšmė turi būti arba True, arba False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s' reikšmė turi būti True, False, arba None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Loginė reikšmė (Tiesa arba Netiesa)" | |||
@@ -659,9 +677,6 @@ msgstr "Šis laukas yra privalomas." | |||
msgid "Enter a whole number." | |||
msgstr "Įveskite pilną skaičių." | |||
msgid "Enter a number." | |||
msgstr "Įveskite skaičių." | |||
msgid "Enter a valid date." | |||
msgstr "Įveskite tinkamą datą." | |||
@@ -674,6 +689,10 @@ msgstr "Įveskite tinkamą datą/laiką." | |||
msgid "Enter a valid duration." | |||
msgstr "Įveskite tinkamą trukmę." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Dienų skaičius turi būti tarp {min_days} ir {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Nebuvo nurodytas failas. Patikrinkite formos koduotę." | |||
@@ -696,6 +715,9 @@ msgstr[1] "" | |||
msgstr[2] "" | |||
"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " | |||
"ženklų (dabartinis ilgis %(length)d)." | |||
msgstr[3] "" | |||
"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " | |||
"ženklų (dabartinis ilgis %(length)d)." | |||
msgid "Please either submit a file or check the clear checkbox, not both." | |||
msgstr "Nurodykite failą arba pažymėkite išvalyti. Abu pasirinkimai negalimi." | |||
@@ -737,6 +759,7 @@ msgid_plural "Please submit %d or fewer forms." | |||
msgstr[0] "Prašome pateikti %d arba mažiau formų." | |||
msgstr[1] "Prašome pateikti %d arba mažiau formų." | |||
msgstr[2] "Prašome pateikti %d arba mažiau formų." | |||
msgstr[3] "Prašome pateikti %d arba mažiau formų." | |||
#, python-format | |||
msgid "Please submit %d or more forms." | |||
@@ -744,6 +767,7 @@ msgid_plural "Please submit %d or more forms." | |||
msgstr[0] "Prašome pateikti %d arba daugiau formų." | |||
msgstr[1] "Prašome pateikti %d arba daugiau formų." | |||
msgstr[2] "Prašome pateikti %d arba daugiau formų." | |||
msgstr[3] "Prašome pateikti %d arba daugiau formų." | |||
msgid "Order" | |||
msgstr "Nurodyti" | |||
@@ -817,6 +841,7 @@ msgid_plural "%(size)d bytes" | |||
msgstr[0] "%(size)d baitas" | |||
msgstr[1] "%(size)d baitai" | |||
msgstr[2] "%(size)d baitai" | |||
msgstr[3] "%(size)d baitai" | |||
#, python-format | |||
msgid "%s KB" | |||
@@ -1087,6 +1112,7 @@ msgid_plural "%d years" | |||
msgstr[0] "%d metas" | |||
msgstr[1] "%d metai" | |||
msgstr[2] "%d metų" | |||
msgstr[3] "%d metų" | |||
#, python-format | |||
msgid "%d month" | |||
@@ -1094,6 +1120,7 @@ msgid_plural "%d months" | |||
msgstr[0] "%d mėnuo" | |||
msgstr[1] "%d mėnesiai" | |||
msgstr[2] "%d mėnesių" | |||
msgstr[3] "%d mėnesių" | |||
#, python-format | |||
msgid "%d week" | |||
@@ -1101,6 +1128,7 @@ msgid_plural "%d weeks" | |||
msgstr[0] "%d savaitė" | |||
msgstr[1] "%d savaitės" | |||
msgstr[2] "%d savaičių" | |||
msgstr[3] "%d savaičių" | |||
#, python-format | |||
msgid "%d day" | |||
@@ -1108,6 +1136,7 @@ msgid_plural "%d days" | |||
msgstr[0] "%d diena" | |||
msgstr[1] "%d dienos" | |||
msgstr[2] "%d dienų" | |||
msgstr[3] "%d dienų" | |||
#, python-format | |||
msgid "%d hour" | |||
@@ -1115,6 +1144,7 @@ msgid_plural "%d hours" | |||
msgstr[0] "%d valanda" | |||
msgstr[1] "%d valandos" | |||
msgstr[2] "%d valandų" | |||
msgstr[3] "%d valandų" | |||
#, python-format | |||
msgid "%d minute" | |||
@@ -1122,6 +1152,7 @@ msgid_plural "%d minutes" | |||
msgstr[0] "%d minutė" | |||
msgstr[1] "%d minutės" | |||
msgstr[2] "%d minučių" | |||
msgstr[3] "%d minučių" | |||
msgid "0 minutes" | |||
msgstr "0 minučių" |
@@ -3,18 +3,19 @@ | |||
# Translators: | |||
# edgars <edgars.jekabsons@gmail.com>, 2011 | |||
# NullIsNot0 <nullisnot0@inbox.lv>, 2017 | |||
# NullIsNot0 <nullisnot0@inbox.lv>, 2017 | |||
# NullIsNot0 <nullisnot0@inbox.lv>, 2017-2018 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# krikulis <kristaps.kulis@gmail.com>, 2014 | |||
# Māris Nartišs <maris.gis@gmail.com>, 2016 | |||
# Mārtiņš Šulcs <shulcsm@gmail.com>, 2018 | |||
# NullIsNot0 <nullisnot0@inbox.lv>, 2018 | |||
# peterisb <pb@sungis.lv>, 2016-2017 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-01-17 17:32+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-06-03 12:12+0000\n" | |||
"Last-Translator: NullIsNot0 <nullisnot0@inbox.lv>\n" | |||
"Language-Team: Latvian (http://www.transifex.com/django/django/language/" | |||
"lv/)\n" | |||
@@ -391,6 +392,9 @@ msgstr[1] "" | |||
msgstr[2] "" | |||
"Vērtībai jābūt ne vairāk kā %(limit_value)d zīmēm (tai ir %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Ievadiet skaitli." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -436,7 +440,7 @@ msgstr "un" | |||
#, python-format | |||
msgid "%(model_name)s with this %(field_labels)s already exists." | |||
msgstr "%(model_name)s ar šiem %(field_labels)s jau eksistē." | |||
msgstr "%(model_name)s ar šādu lauka %(field_labels)s vērtību jau eksistē." | |||
#, python-format | |||
msgid "Value %(value)r is not a valid choice." | |||
@@ -450,7 +454,7 @@ msgstr "Šis lauks nevar būt tukšs" | |||
#, python-format | |||
msgid "%(model_name)s with this %(field_label)s already exists." | |||
msgstr "%(model_name)s ar nosaukumu %(field_label)s jau eksistē." | |||
msgstr "%(model_name)s ar šādu lauka %(field_label)s vērtību jau eksistē." | |||
#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. | |||
#. Eg: "Title must be unique for pub_date year" | |||
@@ -477,6 +481,10 @@ msgstr "Liels (8 baitu) vesels skaitlis" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' vērtībai ir jābūt vai nu True vai False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s' vērtībai jābūt True, False, vai None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Boolean (True vai False)" | |||
@@ -652,9 +660,6 @@ msgstr "Šis lauks ir obligāts." | |||
msgid "Enter a whole number." | |||
msgstr "Ievadiet veselu skaitli." | |||
msgid "Enter a number." | |||
msgstr "Ievadiet skaitli." | |||
msgid "Enter a valid date." | |||
msgstr "Ievadiet korektu datumu." | |||
@@ -667,6 +672,10 @@ msgstr "Ievadiet korektu datumu/laiku." | |||
msgid "Enter a valid duration." | |||
msgstr "Ievadiet korektu ilgumu." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Dienu skaitam jābūt no {min_days} līdz {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Nav nosūtīts fails. Pārbaudiet formas kodējuma tipu." | |||
@@ -856,7 +865,7 @@ msgid "Wednesday" | |||
msgstr "trešdiena" | |||
msgid "Thursday" | |||
msgstr "ceturdiena" | |||
msgstr "ceturtdiena" | |||
msgid "Friday" | |||
msgstr "piektdiena" |
@@ -7,17 +7,17 @@ | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# jargalan <jargalanch@gmail.com>, 2011 | |||
# Tsolmon <mnts26@gmail.com>, 2011 | |||
# Zorig <zorig_ezd@yahoo.com>, 2013-2014,2016,2018 | |||
# Анхбаяр Анхаа <l.ankhbayar@gmail.com>, 2013-2016 | |||
# Zorig, 2013-2014,2016,2018 | |||
# Анхбаяр Анхаа <l.ankhbayar@gmail.com>, 2013-2016,2018 | |||
# Баясгалан Цэвлээ <bayasaa_7672@yahoo.com>, 2011,2015,2017 | |||
# Ганзориг БП <ganzo.bp@gmail.com>, 2011 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-02-21 00:40+0000\n" | |||
"Last-Translator: Zorig <zorig_ezd@yahoo.com>\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-07-09 06:54+0000\n" | |||
"Last-Translator: Анхбаяр Анхаа <l.ankhbayar@gmail.com>\n" | |||
"Language-Team: Mongolian (http://www.transifex.com/django/django/language/" | |||
"mn/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -168,7 +168,7 @@ msgid "Georgian" | |||
msgstr "Гүрж" | |||
msgid "Kabyle" | |||
msgstr "" | |||
msgstr "Кабилэ" | |||
msgid "Kazakh" | |||
msgstr "Казак" | |||
@@ -392,6 +392,9 @@ msgstr[1] "" | |||
"Ensure this value has at most %(limit_value)d characters (it has " | |||
"%(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Тоон утга оруулна уу." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -471,6 +474,10 @@ msgstr "Том (8 байт) бүхэл тоо" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' заавал True эсвэл False утга авах." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "" | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Boolean (Үнэн худлын аль нэг нь)" | |||
@@ -643,9 +650,6 @@ msgstr "Энэ талбарыг бөглөх шаардлагатай." | |||
msgid "Enter a whole number." | |||
msgstr "Бүхэл тоон утга оруулна уу." | |||
msgid "Enter a number." | |||
msgstr "Тоон утга оруулна уу." | |||
msgid "Enter a valid date." | |||
msgstr "Зөв огноо оруулна уу." | |||
@@ -658,6 +662,10 @@ msgstr "Огноо/цаг-ыг зөв оруулна уу." | |||
msgid "Enter a valid duration." | |||
msgstr "Үргэлжилэх хугацааг зөв оруулна уу." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "" | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Файл оруулаагүй байна. Маягтаас кодлох төрлийг чагтал. " | |||
@@ -1227,6 +1235,10 @@ msgid "" | |||
"\">DEBUG=True</a> is in your settings file and you have not configured any " | |||
"URLs." | |||
msgstr "" | |||
"Таний тохиргооны файл дээр <a href=\"https://docs.djangoproject.com/en/" | |||
"%(version)s/ref/settings/#debug\" target=\"_blank\" rel=\"noopener" | |||
"\">DEBUG=TRUE</a> гэж тохируулсан мөн URLs дээр тохиргоо хийгээгүй учраас " | |||
"энэ хуудасыг харж байна." | |||
msgid "Django Documentation" | |||
msgstr "Джанго баримтжуулалт" | |||
@@ -1235,13 +1247,13 @@ msgid "Topics, references, & how-to's" | |||
msgstr "" | |||
msgid "Tutorial: A Polling App" | |||
msgstr "" | |||
msgstr "Хичээл: Санал асуулга App" | |||
msgid "Get started with Django" | |||
msgstr "Джанготой ажиллаж эхлэх" | |||
msgid "Django Community" | |||
msgstr "" | |||
msgstr "Django Бүлгэм" | |||
msgid "Connect, get help, or contribute" | |||
msgstr "Холбогдох, тусламж авах эсвэл хувь нэмрээ оруулах" |
@@ -7,7 +7,7 @@ | |||
# jensadne <jensadne@pvv.ntnu.no>, 2014-2015 | |||
# Jon <jon@kolonial.no>, 2015-2016 | |||
# Jon <jon@kolonial.no>, 2014 | |||
# Jon <jon@kolonial.no>, 2017 | |||
# Jon <jon@kolonial.no>, 2017-2018 | |||
# Jon <jon@kolonial.no>, 2013 | |||
# Jon <jon@kolonial.no>, 2011 | |||
# Sigurd Gartmann <sigurdga-transifex@sigurdga.no>, 2012 | |||
@@ -16,8 +16,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-27 12:38+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-07-30 11:29+0000\n" | |||
"Last-Translator: Jon <jon@kolonial.no>\n" | |||
"Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" | |||
"language/nb/)\n" | |||
@@ -168,6 +168,9 @@ msgstr "Japansk" | |||
msgid "Georgian" | |||
msgstr "Georgisk" | |||
msgid "Kabyle" | |||
msgstr "Kabylsk" | |||
msgid "Kazakh" | |||
msgstr "Kasakhisk" | |||
@@ -389,6 +392,9 @@ msgstr[1] "" | |||
"Sørg for at denne verdien har %(limit_value)d eller færre tegn (den har nå " | |||
"%(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Oppgi et tall." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -466,6 +472,10 @@ msgstr "Stort (8 byte) heltall" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Verdien '%(value)s' må være enten True eller False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s'-verdien må være enten True, False, eller None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Boolsk (True eller False)" | |||
@@ -641,9 +651,6 @@ msgstr "Feltet er påkrevet." | |||
msgid "Enter a whole number." | |||
msgstr "Oppgi et heltall." | |||
msgid "Enter a number." | |||
msgstr "Oppgi et tall." | |||
msgid "Enter a valid date." | |||
msgstr "Oppgi en gyldig dato." | |||
@@ -656,6 +663,10 @@ msgstr "Oppgi gyldig dato og tidspunkt." | |||
msgid "Enter a valid duration." | |||
msgstr "Oppgi en gyldig varighet." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Antall dager må være mellom {min_days} og {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Ingen fil ble sendt. Sjekk «encoding»-typen på skjemaet." | |||
@@ -9,8 +9,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-02-10 13:00+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-07-21 02:37+0000\n" | |||
"Last-Translator: Sagar Chalise <chalisesagar@gmail.com>\n" | |||
"Language-Team: Nepali (http://www.transifex.com/django/django/language/ne/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -381,6 +381,9 @@ msgstr[1] "" | |||
"यो मान बढिमा पनि %(limit_value)d अक्षरहरु छ भन्ने निश्चित गर्नुहोस । (यसमा " | |||
"%(show_value)d छ ।)" | |||
msgid "Enter a number." | |||
msgstr "संख्या राख्नुहोस ।" | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -406,6 +409,7 @@ msgid "" | |||
"File extension '%(extension)s' is not allowed. Allowed extensions are: " | |||
"'%(allowed_extensions)s'." | |||
msgstr "" | |||
"'%(extension)s' फाइलको अनुमति छैन। अनुमति भएका फाइलहरू: '%(allowed_extensions)s'" | |||
msgid "Null characters are not allowed." | |||
msgstr "शून्य मान अनुमति छैन।" | |||
@@ -457,6 +461,10 @@ msgstr "ठूलो (८ बाइटको) अंक" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "%(value)s' को मान True अथवा False हुनुपर्दछ ।." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "" | |||
msgid "Boolean (Either True or False)" | |||
msgstr "बुलियन (True अथवा False)" | |||
@@ -619,9 +627,6 @@ msgstr "यो फाँट अनिवार्य छ ।" | |||
msgid "Enter a whole number." | |||
msgstr "संख्या राख्नुहोस ।" | |||
msgid "Enter a number." | |||
msgstr "संख्या राख्नुहोस ।" | |||
msgid "Enter a valid date." | |||
msgstr "उपयुक्त मिति राख्नुहोस ।" | |||
@@ -634,6 +639,10 @@ msgstr "उपयुक्त मिति/समय राख्नुहोस | |||
msgid "Enter a valid duration." | |||
msgstr "उपयुक्त अवधि राख्नुहोस ।" | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "दिन गन्ती {min_days} र {max_days} बीचमा हुनु पर्छ । " | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "कुनै फाईल पेश गरिएको छैन । फारममा ईनकोडिङको प्रकार जाँच गर्नुहोस । " | |||
@@ -1192,10 +1201,10 @@ msgid "Django Documentation" | |||
msgstr "ज्याङ्गो दस्तावेज ।" | |||
msgid "Topics, references, & how-to's" | |||
msgstr "" | |||
msgstr "शीर्षक, सन्दर्भ तथा तरिकाहरू" | |||
msgid "Tutorial: A Polling App" | |||
msgstr "" | |||
msgstr "मतदान एप उदाहरण " | |||
msgid "Get started with Django" | |||
msgstr "ज्याङ्गो सुरु गर्नु होस ।" | |||
@@ -1204,4 +1213,4 @@ msgid "Django Community" | |||
msgstr "ज्याङ्गो समुदाय" | |||
msgid "Connect, get help, or contribute" | |||
msgstr "" | |||
msgstr "सहयोग अथवा योगदान गरी जोडिनु होस" |
@@ -14,7 +14,7 @@ | |||
# konryd <inactive+konryd@transifex.com>, 2011 | |||
# konryd <inactive+konryd@transifex.com>, 2011 | |||
# Łukasz Rekucki (lqc) <lrekucki@gmail.com>, 2011 | |||
# m_aciek <maciej.olko@gmail.com>, 2016-2017 | |||
# m_aciek <maciej.olko@gmail.com>, 2016-2018 | |||
# m_aciek <maciej.olko@gmail.com>, 2015 | |||
# Michał Pasternak <michal.dtz@gmail.com>, 2013 | |||
# p <inactive+poczciwiec@transifex.com>, 2012 | |||
@@ -30,8 +30,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2017-12-02 15:59+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 23:43+0000\n" | |||
"Last-Translator: m_aciek <maciej.olko@gmail.com>\n" | |||
"Language-Team: Polish (http://www.transifex.com/django/django/language/pl/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -420,6 +420,9 @@ msgstr[3] "" | |||
"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znaków (obecnie ma " | |||
"%(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Wpisz liczbę." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -511,6 +514,10 @@ msgstr "Duża liczba całkowita (8 bajtów)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "wartość '%(value)s' musi być True lub False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "Wartość „%(value)s” musi wynosić True, False lub None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Wartość logiczna (True lub False – prawda lub fałsz)" | |||
@@ -687,9 +694,6 @@ msgstr "To pole jest wymagane." | |||
msgid "Enter a whole number." | |||
msgstr "Wpisz liczbę całkowitą." | |||
msgid "Enter a number." | |||
msgstr "Wpisz liczbę." | |||
msgid "Enter a valid date." | |||
msgstr "Wpisz poprawną datę." | |||
@@ -702,6 +706,10 @@ msgstr "Wpisz poprawną datę/godzinę." | |||
msgid "Enter a valid duration." | |||
msgstr "Wpisz poprawny czas trwania." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Liczba dni musi wynosić między {min_days} a {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Nie wysłano żadnego pliku. Sprawdź typ kodowania formularza." | |||
@@ -18,17 +18,19 @@ | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Lucas Infante <maccinza@gmail.com>, 2015 | |||
# Luiz Boaretto <lboaretto@gmail.com>, 2017 | |||
# Marcelo Moro Brondani <mbrondani@inf.ufsm.br>, 2018 | |||
# Sandro <sandrossv@hotmail.com>, 2011 | |||
# Sergio Garcia <sergio@ginx.com.br>, 2015 | |||
# Tânia Andrea <taniaa.moreira@gmail.com>, 2017 | |||
# Wiliam Souza <wiliamsouza83@gmail.com>, 2015 | |||
# Xico Petry <xico.petry@gmail.com>, 2018 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-22 16:27+0000\n" | |||
"Last-Translator: Camilo B. Moreira <camilo.moreira@fatec.sp.gov.br>\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-07-19 17:55+0000\n" | |||
"Last-Translator: Xico Petry <xico.petry@gmail.com>\n" | |||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/django/django/" | |||
"language/pt_BR/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -178,6 +180,9 @@ msgstr "Japonês" | |||
msgid "Georgian" | |||
msgstr "Georgiano" | |||
msgid "Kabyle" | |||
msgstr "Cabila" | |||
msgid "Kazakh" | |||
msgstr "Cazaque" | |||
@@ -400,6 +405,9 @@ msgstr[1] "" | |||
"Certifique-se de que o valor tenha no máximo %(limit_value)d caracteres (ele " | |||
"possui %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Informe um número." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -481,6 +489,10 @@ msgstr "Inteiro grande (8 byte)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' valor deve ser True ou False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "O valor '%(value)s' deve ser True, False ou Nenhum." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Booleano (Verdadeiro ou Falso)" | |||
@@ -657,9 +669,6 @@ msgstr "Este campo é obrigatório." | |||
msgid "Enter a whole number." | |||
msgstr "Informe um número inteiro." | |||
msgid "Enter a number." | |||
msgstr "Informe um número." | |||
msgid "Enter a valid date." | |||
msgstr "Informe uma data válida." | |||
@@ -672,6 +681,10 @@ msgstr "Informe uma data/hora válida." | |||
msgid "Enter a valid duration." | |||
msgstr "Insira uma duração válida." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "O número de dias deve ser entre {min_days} e {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Nenhum arquivo enviado. Verifique o tipo de codificação do formulário." | |||
@@ -1144,6 +1157,11 @@ msgid "" | |||
"If you're concerned about privacy, use alternatives like <a rel=\"noreferrer" | |||
"\" ...> for links to third-party sites." | |||
msgstr "" | |||
"Se você estiver usando a tag <meta name=\"referrer\" content=\"no-referrer" | |||
"\"> ou incluindo o cabeçalho \"Referrer-Policy: no-referrer\", remova-os. A " | |||
"proteção contra CSRF requer que o cabeçalho 'Referer' faça uma verificação " | |||
"rigorosa do referenciador. Se você estiver preocupado com a privacidade, use " | |||
"alternativas <a rel=\"noreferrer\" ...> para links para sites de terceiros." | |||
msgid "" | |||
"You are seeing this message because this site requires a CSRF cookie when " |
@@ -14,8 +14,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-01-17 09:13+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 05:42+0000\n" | |||
"Last-Translator: Bogdan Mateescu\n" | |||
"Language-Team: Romanian (http://www.transifex.com/django/django/language/" | |||
"ro/)\n" | |||
@@ -168,7 +168,7 @@ msgid "Georgian" | |||
msgstr "Georgiană" | |||
msgid "Kabyle" | |||
msgstr "" | |||
msgstr "Kabyle" | |||
msgid "Kazakh" | |||
msgstr "Kazahă" | |||
@@ -381,8 +381,8 @@ msgstr[1] "" | |||
"Asigurați-vă că această valoare are cel puțin %(limit_value)d caractere (are " | |||
"%(show_value)d)." | |||
msgstr[2] "" | |||
"Asigurați-vă că această valoare are cel puțin %(limit_value)d caractere (are " | |||
"%(show_value)d)." | |||
"Asigurați-vă că această valoare are cel puțin %(limit_value)d de caractere " | |||
"(are %(show_value)d)." | |||
#, python-format | |||
msgid "" | |||
@@ -398,22 +398,25 @@ msgstr[1] "" | |||
"Asigurați-vă că această valoare are cel mult %(limit_value)d caractere (are " | |||
"%(show_value)d)." | |||
msgstr[2] "" | |||
"Asigurați-vă că această valoare are cel mult %(limit_value)d caractere (are " | |||
"%(show_value)d)." | |||
"Asigurați-vă că această valoare are cel mult %(limit_value)d de caractere " | |||
"(are %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Introduceţi un număr." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
msgstr[0] "Asigurați-vă că nu este mai mult de %(max)s cifră în total." | |||
msgstr[1] "Asigurați-vă că nu sunt mai mult de %(max)s cifre în total." | |||
msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s cifre în total." | |||
msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s de cifre în total." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s decimal place." | |||
msgid_plural "Ensure that there are no more than %(max)s decimal places." | |||
msgstr[0] "Asigurați-vă că nu este mai mult de %(max)s zecimală în total." | |||
msgstr[1] "Asigurați-vă că nu sunt mai mult de %(max)s zecimale în total." | |||
msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s zecimale în total." | |||
msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s de zecimale în total." | |||
#, python-format | |||
msgid "" | |||
@@ -425,7 +428,8 @@ msgstr[0] "" | |||
msgstr[1] "" | |||
"Asigurați-vă că nu sunt mai mult de %(max)s cifre înainte de punctul zecimal." | |||
msgstr[2] "" | |||
"Asigurați-vă că nu sunt mai mult de %(max)s cifre înainte de punctul zecimal." | |||
"Asigurați-vă că nu sunt mai mult de %(max)s de cifre înainte de punctul " | |||
"zecimal." | |||
#, python-format | |||
msgid "" | |||
@@ -436,7 +440,7 @@ msgstr "" | |||
"'%(allowed_extensions)s'." | |||
msgid "Null characters are not allowed." | |||
msgstr "" | |||
msgstr "Caracterele Null nu sunt permise." | |||
msgid "and" | |||
msgstr "și" | |||
@@ -486,6 +490,10 @@ msgstr "Întreg mare (8 octeți)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "'%(value)s' trebuie să fie True sau False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s' valoarea trebuie să fie True, False, sau None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Boolean (adevărat sau fals)" | |||
@@ -660,9 +668,6 @@ msgstr "Acest câmp este obligatoriu." | |||
msgid "Enter a whole number." | |||
msgstr "Introduceţi un număr întreg." | |||
msgid "Enter a number." | |||
msgstr "Introduceţi un număr." | |||
msgid "Enter a valid date." | |||
msgstr "Introduceți o dată validă." | |||
@@ -675,6 +680,10 @@ msgstr "Introduceți o dată/oră validă." | |||
msgid "Enter a valid duration." | |||
msgstr "Introduceți o durată validă." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Numărul de zile trebuie să fie cuprins între {min_days} și {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Nici un fișier nu a fost trimis. Verificați tipul fișierului." | |||
@@ -689,13 +698,13 @@ msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." | |||
msgid_plural "" | |||
"Ensure this filename has at most %(max)d characters (it has %(length)d)." | |||
msgstr[0] "" | |||
"Verificați că numele fișierului are cel mult %(max)d caractere (are " | |||
"Asigurați-vă că numele fișierului are cel mult %(max)d caracter (are " | |||
"%(length)d)." | |||
msgstr[1] "" | |||
"Verificați că numele fișierului are cel mult %(max)d caractere (are " | |||
"Asigurați-vă că numele fișierului are cel mult %(max)d caractere (are " | |||
"%(length)d)." | |||
msgstr[2] "" | |||
"Verificați că numele fișierului are cel mult %(max)d caractere (are " | |||
"Asigurați-vă că numele fișierului are cel mult %(max)d de caractere (are " | |||
"%(length)d)." | |||
msgid "Please either submit a file or check the clear checkbox, not both." | |||
@@ -739,14 +748,14 @@ msgid "Please submit %d or fewer forms." | |||
msgid_plural "Please submit %d or fewer forms." | |||
msgstr[0] "Trimiteți maxim %d formular." | |||
msgstr[1] "Trimiteți maxim %d formulare." | |||
msgstr[2] "Trimiteți maxim %d formulare." | |||
msgstr[2] "Trimiteți maxim %d de formulare." | |||
#, python-format | |||
msgid "Please submit %d or more forms." | |||
msgid_plural "Please submit %d or more forms." | |||
msgstr[0] "Trimiteți minim %d formular." | |||
msgstr[1] "Trimiteți minim %d formulare." | |||
msgstr[2] "Trimiteți minim %d formulare." | |||
msgstr[2] "Trimiteți minim %d de formulare." | |||
msgid "Order" | |||
msgstr "Ordine" | |||
@@ -774,7 +783,7 @@ msgid "Please correct the duplicate values below." | |||
msgstr "Corectaţi valorile duplicate de mai jos." | |||
msgid "The inline value did not match the parent instance." | |||
msgstr "" | |||
msgstr "Valoarea în linie nu s-a potrivit cu instanța părinte." | |||
msgid "Select a valid choice. That choice is not one of the available choices." | |||
msgstr "" | |||
@@ -817,9 +826,9 @@ msgstr "da,nu,poate" | |||
#, python-format | |||
msgid "%(size)d byte" | |||
msgid_plural "%(size)d bytes" | |||
msgstr[0] "%(size)d byte" | |||
msgstr[1] "%(size)d bytes" | |||
msgstr[2] "%(size)d bytes" | |||
msgstr[0] "%(size)d octet" | |||
msgstr[1] "%(size)d octeţi" | |||
msgstr[2] "%(size)d de octeţi" | |||
#, python-format | |||
msgid "%s KB" | |||
@@ -1089,42 +1098,42 @@ msgid "%d year" | |||
msgid_plural "%d years" | |||
msgstr[0] "%d an" | |||
msgstr[1] "%d ani" | |||
msgstr[2] "%d ani" | |||
msgstr[2] "%d de ani" | |||
#, python-format | |||
msgid "%d month" | |||
msgid_plural "%d months" | |||
msgstr[0] "%d lună" | |||
msgstr[1] "%d luni" | |||
msgstr[2] "%d luni" | |||
msgstr[2] "%d de luni" | |||
#, python-format | |||
msgid "%d week" | |||
msgid_plural "%d weeks" | |||
msgstr[0] "%d săptămână" | |||
msgstr[1] "%d săptămâni" | |||
msgstr[2] "%d săptămâni" | |||
msgstr[2] "%d de săptămâni" | |||
#, python-format | |||
msgid "%d day" | |||
msgid_plural "%d days" | |||
msgstr[0] "%d zi" | |||
msgstr[1] "%d zile" | |||
msgstr[2] "%d zile" | |||
msgstr[2] "%d de zile" | |||
#, python-format | |||
msgid "%d hour" | |||
msgid_plural "%d hours" | |||
msgstr[0] "%d oră" | |||
msgstr[1] "%d ore" | |||
msgstr[2] "%d ore" | |||
msgstr[2] "%d de ore" | |||
#, python-format | |||
msgid "%d minute" | |||
msgid_plural "%d minutes" | |||
msgstr[0] "%d minută" | |||
msgstr[0] "%d minut" | |||
msgstr[1] "%d minute" | |||
msgstr[2] "%d minute" | |||
msgstr[2] "%d de minute" | |||
msgid "0 minutes" | |||
msgstr "0 minute" | |||
@@ -1162,6 +1171,12 @@ msgid "" | |||
"If you're concerned about privacy, use alternatives like <a rel=\"noreferrer" | |||
"\" ...> for links to third-party sites." | |||
msgstr "" | |||
"Dacă utilizați eticheta <meta name=\"referrer\" content=\"no-referrer\"> sau " | |||
"includeți antetul 'Referrer-Policy: no-referrer', te rugăm sa îl elimini. " | |||
"Protecția CSRF necesită antetul 'Referer' pentru a face verificarea strictă " | |||
"a 'referer'. Dacă sunteți îngrijorat de confidențialitate, utilizați " | |||
"alternative ca <a rel=\"noreferrer\" ...> pentru linkuri către site-uri " | |||
"terțe." | |||
msgid "" | |||
"You are seeing this message because this site requires a CSRF cookie when " | |||
@@ -1187,7 +1202,7 @@ msgid "No year specified" | |||
msgstr "Niciun an specificat" | |||
msgid "Date out of range" | |||
msgstr "" | |||
msgstr "Dată în afara intervalului" | |||
msgid "No month specified" | |||
msgstr "Nicio lună specificată" | |||
@@ -1242,7 +1257,7 @@ msgid "Index of %(directory)s" | |||
msgstr "Index pentru %(directory)s" | |||
msgid "Django: the Web framework for perfectionists with deadlines." | |||
msgstr "" | |||
msgstr "Django: Framework-ul web pentru perfecționiști cu termene limită." | |||
#, python-format | |||
msgid "" | |||
@@ -1263,18 +1278,21 @@ msgid "" | |||
"\">DEBUG=True</a> is in your settings file and you have not configured any " | |||
"URLs." | |||
msgstr "" | |||
"Vedeți această pagină deoarece <a href=\"https://docs.djangoproject.com/en/" | |||
"%(version)s/ref/settings/#debug\" target=\"_blank\" rel=\"noopener" | |||
"\">DEBUG=True</a> este în fișierul de setări și nu ați configurat niciun URL." | |||
msgid "Django Documentation" | |||
msgstr "Documentația Django" | |||
msgid "Topics, references, & how-to's" | |||
msgstr "" | |||
msgstr "Subiecte, referinţe, & cum să" | |||
msgid "Tutorial: A Polling App" | |||
msgstr "Tutorial: O aplicație de votare" | |||
msgid "Get started with Django" | |||
msgstr "" | |||
msgstr "Începeți cu Django" | |||
msgid "Django Community" | |||
msgstr "Comunitatea Django" |
@@ -9,13 +9,27 @@ YEAR_MONTH_FORMAT = 'F Y' | |||
MONTH_DAY_FORMAT = 'j F' | |||
SHORT_DATE_FORMAT = 'd.m.Y' | |||
SHORT_DATETIME_FORMAT = 'd.m.Y, H:i' | |||
# FIRST_DAY_OF_WEEK = | |||
FIRST_DAY_OF_WEEK = 1 | |||
# The *_INPUT_FORMATS strings use the Python strftime format syntax, | |||
# see http://docs.python.org/library/datetime.html#strftime-strptime-behavior | |||
# DATE_INPUT_FORMATS = | |||
# TIME_INPUT_FORMATS = | |||
# DATETIME_INPUT_FORMATS = | |||
DATE_INPUT_FORMATS = [ | |||
'%d.%m.%Y', | |||
'%d.%b.%Y', | |||
'%d %B %Y', | |||
'%A, %d %B %Y', | |||
] | |||
TIME_INPUT_FORMATS = [ | |||
'%H:%M', | |||
'%H:%M:%S', | |||
'%H:%M:%S.%f', | |||
] | |||
DATETIME_INPUT_FORMATS = [ | |||
'%d.%m.%Y, %H:%M', | |||
'%d.%m.%Y, %H:%M:%S', | |||
'%d.%B.%Y, %H:%M', | |||
'%d.%B.%Y, %H:%M:%S', | |||
] | |||
DECIMAL_SEPARATOR = ',' | |||
THOUSAND_SEPARATOR = '.' | |||
# NUMBER_GROUPING = | |||
NUMBER_GROUPING = 3 |
@@ -6,7 +6,7 @@ | |||
# Denis Darii <denis.darii@gmail.com>, 2011 | |||
# Dimmus <dmitri.chudinov@gmail.com>, 2011 | |||
# eigrad <andrew@ei-grad.ru>, 2012 | |||
# Eugene MechanisM <eugene@mechanism.pro>, 2013 | |||
# Eugene <eugene.mechanism@gmail.com>, 2013 | |||
# eXtractor <evg.kirov@gmail.com>, 2015 | |||
# Igor Melnyk, 2014 | |||
# Ivan Khomutov <iskhomutov@gmail.com>, 2017 | |||
@@ -14,16 +14,16 @@ | |||
# lilo.panic, 2016 | |||
# Mikhail Zholobov <legal90@gmail.com>, 2013 | |||
# Nikolay Korotkiy <sikmir@gmail.com>, 2018 | |||
# Vasiliy Anikin <anikin.vasya@gmail.com>, 2017 | |||
# Вася Аникин <anikin.vasya@gmail.com>, 2017 | |||
# Алексей Борискин <sun.void@gmail.com>, 2013-2017 | |||
# Дмитрий Шатера <mr.bobsans@gmail.com>, 2016 | |||
# Дмитрий Шатера <mr.bobsans@gmail.com>, 2016,2018 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-01-13 10:40+0000\n" | |||
"Last-Translator: Nikolay Korotkiy <sikmir@gmail.com>\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-07-23 14:39+0000\n" | |||
"Last-Translator: SeryiMysh <vital@dorokhin.kz>\n" | |||
"Language-Team: Russian (http://www.transifex.com/django/django/language/" | |||
"ru/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -413,6 +413,9 @@ msgstr[3] "" | |||
"Убедитесь, что это значение содержит не более %(limit_value)d символов " | |||
"(сейчас %(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Введите число." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -499,6 +502,10 @@ msgstr "Длинное целое (8 байт)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Значение '%(value)s' должно быть True или False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "Значение '%(value)s' должно быть True, False или None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Логическое (True или False)" | |||
@@ -677,9 +684,6 @@ msgstr "Обязательное поле." | |||
msgid "Enter a whole number." | |||
msgstr "Введите целое число." | |||
msgid "Enter a number." | |||
msgstr "Введите число." | |||
msgid "Enter a valid date." | |||
msgstr "Введите правильную дату." | |||
@@ -692,6 +696,10 @@ msgstr "Введите правильную дату и время." | |||
msgid "Enter a valid duration." | |||
msgstr "Введите правильную продолжительность." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Количество дней должно быть в диапазоне от {min_days} до {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Ни одного файла не было отправлено. Проверьте тип кодировки формы." | |||
@@ -2,14 +2,14 @@ | |||
# | |||
# Translators: | |||
# Besnik <besnik@programeshqip.org>, 2011-2014 | |||
# Besnik <besnik@programeshqip.org>, 2015-2017 | |||
# Besnik <besnik@programeshqip.org>, 2015-2018 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-29 22:51+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 09:14+0000\n" | |||
"Last-Translator: Besnik <besnik@programeshqip.org>\n" | |||
"Language-Team: Albanian (http://www.transifex.com/django/django/language/" | |||
"sq/)\n" | |||
@@ -160,6 +160,9 @@ msgstr "Japoneze" | |||
msgid "Georgian" | |||
msgstr "Gjeorgjiane" | |||
msgid "Kabyle" | |||
msgstr "Kabilase" | |||
msgid "Kazakh" | |||
msgstr "Kazake" | |||
@@ -382,6 +385,9 @@ msgstr[1] "" | |||
"Sigurohuni që kjo vlerë ka të shumtën %(limit_value)d shenja (ka " | |||
"%(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Jepni një numër." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -462,6 +468,10 @@ msgstr "Numër i plotë i madh (8 bajte)" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Vlera '%(value)s' duhet të jetë True ose False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "Vlera për '%(value)s' duhet të jetë ose True, ose False, ose None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Buleane (Ose True, ose False)" | |||
@@ -638,9 +648,6 @@ msgstr "Kjo fushë është e domosdoshme." | |||
msgid "Enter a whole number." | |||
msgstr "Jepni një numër të tërë." | |||
msgid "Enter a number." | |||
msgstr "Jepni një numër." | |||
msgid "Enter a valid date." | |||
msgstr "Jepni një datë të vlefshme." | |||
@@ -653,6 +660,10 @@ msgstr "Jepni një datë/kohë të vlefshme." | |||
msgid "Enter a valid duration." | |||
msgstr "Jepni një kohëzgjatje të vlefshme." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Numri i ditëve duhet të jetë mes {min_days} dhe {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "" | |||
"S’u parashtrua ndonjë kartelë. Kontrolloni llojin e kodimit te formulari." | |||
@@ -1217,7 +1228,7 @@ msgid "Index of %(directory)s" | |||
msgstr "Tregues i %(directory)s" | |||
msgid "Django: the Web framework for perfectionists with deadlines." | |||
msgstr "" | |||
msgstr "Django: platforma Web për perfeksionistë me afate." | |||
#, python-format | |||
msgid "" |
@@ -8,8 +8,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-12-01 21:10+0100\n" | |||
"PO-Revision-Date: 2018-01-30 10:00+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 20:03+0000\n" | |||
"Last-Translator: Branko Kokanovic <branko@kokanovic.org>\n" | |||
"Language-Team: Serbian (http://www.transifex.com/django/django/language/" | |||
"sr/)\n" | |||
@@ -392,6 +392,9 @@ msgstr[2] "" | |||
"Ово поље не сме да има више од %(limit_value)d карактера (тренутно има " | |||
"%(show_value)d)." | |||
msgid "Enter a number." | |||
msgstr "Унесите број." | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -474,6 +477,10 @@ msgstr "Велики (8 бајтова) цео број" | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "Вредност '%(value)s' мора бити или True или False." | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "'%(value)s' вредност мора бити или True, False, или None." | |||
msgid "Boolean (Either True or False)" | |||
msgstr "Булова вредност (True или False)" | |||
@@ -650,9 +657,6 @@ msgstr "Ово поље се мора попунити." | |||
msgid "Enter a whole number." | |||
msgstr "Унесите цео број." | |||
msgid "Enter a number." | |||
msgstr "Унесите број." | |||
msgid "Enter a valid date." | |||
msgstr "Унесите исправан датум." | |||
@@ -665,6 +669,10 @@ msgstr "Унесите исправан датум/време." | |||
msgid "Enter a valid duration." | |||
msgstr "Унесите исправан временски интервал." | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "Број дана мора бити између {min_days} и {max_days}." | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
msgstr "Фајл није пребачен. Проверите тип енкодирања на форми." | |||
@@ -3,7 +3,7 @@ | |||
# Translators: | |||
# Abhabongse Janthong, 2015 | |||
# Jannis Leidel <jannis@leidel.info>, 2011 | |||
# Kowit Charoenratchatabhan <kowit.s.c@gmail.com>, 2014 | |||
# Kowit Charoenratchatabhan <kowit.s.c@gmail.com>, 2014,2018 | |||
# Naowal Siripatana <naowalzaza@gmail.com>, 2017 | |||
# sipp11 <sipp11@mycapsules.com>, 2014 | |||
# Suteepat Damrongyingsupab <tianissimo@hotmail.com>, 2011-2012 | |||
@@ -13,8 +13,8 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: django\n" | |||
"Report-Msgid-Bugs-To: \n" | |||
"POT-Creation-Date: 2017-11-15 16:15+0100\n" | |||
"PO-Revision-Date: 2017-11-16 01:13+0000\n" | |||
"POT-Creation-Date: 2018-05-17 11:49+0200\n" | |||
"PO-Revision-Date: 2018-05-18 00:21+0000\n" | |||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||
"Language-Team: Thai (http://www.transifex.com/django/django/language/th/)\n" | |||
"MIME-Version: 1.0\n" | |||
@@ -164,6 +164,9 @@ msgstr "ญี่ปุ่น" | |||
msgid "Georgian" | |||
msgstr "จอร์เจีย" | |||
msgid "Kabyle" | |||
msgstr "" | |||
msgid "Kazakh" | |||
msgstr "คาซัค" | |||
@@ -288,7 +291,7 @@ msgid "Traditional Chinese" | |||
msgstr "จีนตัวเต็ม" | |||
msgid "Messages" | |||
msgstr "" | |||
msgstr "ข้อความ" | |||
msgid "Site Maps" | |||
msgstr "" | |||
@@ -300,10 +303,10 @@ msgid "Syndication" | |||
msgstr "" | |||
msgid "That page number is not an integer" | |||
msgstr "" | |||
msgstr "หมายเลขหน้าดังกล่าวไม่ใช่จำนวนเต็ม" | |||
msgid "That page number is less than 1" | |||
msgstr "" | |||
msgstr "หมายเลขหน้าดังกล่าวมีค่าน้อยกว่า 1" | |||
msgid "That page contains no results" | |||
msgstr "" | |||
@@ -372,6 +375,9 @@ msgid_plural "" | |||
"%(show_value)d)." | |||
msgstr[0] "" | |||
msgid "Enter a number." | |||
msgstr "กรอกหมายเลข" | |||
#, python-format | |||
msgid "Ensure that there are no more than %(max)s digit in total." | |||
msgid_plural "Ensure that there are no more than %(max)s digits in total." | |||
@@ -435,13 +441,17 @@ msgstr "จำนวนเต็ม" | |||
#, python-format | |||
msgid "'%(value)s' value must be an integer." | |||
msgstr "" | |||
msgstr "ค่าของ %(value)s ต้องเป็น integer" | |||
msgid "Big (8 byte) integer" | |||
msgstr "จำนวนเต็ม (8 byte)" | |||
#, python-format | |||
msgid "'%(value)s' value must be either True or False." | |||
msgstr "ค่าของ %(value)s ต้องเป็น True หรือ False อย่างใดอย่างหนึ่ง" | |||
#, python-format | |||
msgid "'%(value)s' value must be either True, False, or None." | |||
msgstr "" | |||
msgid "Boolean (Either True or False)" | |||
@@ -498,7 +508,7 @@ msgid "" | |||
msgstr "" | |||
msgid "Duration" | |||
msgstr "" | |||
msgstr "ช่วงเวลา" | |||
msgid "Email address" | |||
msgstr "อีเมล" | |||
@@ -607,9 +617,6 @@ msgstr "ฟิลด์นี้จำเป็น" | |||
msgid "Enter a whole number." | |||
msgstr "กรอกหมายเลข" | |||
msgid "Enter a number." | |||
msgstr "กรอกหมายเลข" | |||
msgid "Enter a valid date." | |||
msgstr "กรุณาใส่วัน" | |||
@@ -620,6 +627,10 @@ msgid "Enter a valid date/time." | |||
msgstr "กรุณาใส่วันเวลา" | |||
msgid "Enter a valid duration." | |||
msgstr "ใส่ระยะเวลาที่ถูกต้อง" | |||
#, python-brace-format | |||
msgid "The number of days must be between {min_days} and {max_days}." | |||
msgstr "" | |||
msgid "No file was submitted. Check the encoding type on the form." | |||
@@ -656,7 +667,7 @@ msgid "Enter a complete value." | |||
msgstr "" | |||
msgid "Enter a valid UUID." | |||
msgstr "" | |||
msgstr "ใส่ UUID ที่ถูกต้อง" | |||
#. Translators: This is the default suffix added to form field labels | |||
msgid ":" | |||
@@ -1045,7 +1056,7 @@ msgid "0 minutes" | |||
msgstr "0 นาที" | |||
msgid "Forbidden" | |||
msgstr "" | |||
msgstr "หวงห้าม" | |||
msgid "CSRF verification failed. Request aborted." | |||
msgstr "" | |||
@@ -1172,10 +1183,10 @@ msgid "Tutorial: A Polling App" | |||
msgstr "" | |||
msgid "Get started with Django" | |||
msgstr "" | |||
msgstr "เริ่มต้นกับ Django" | |||
msgid "Django Community" | |||
msgstr "" | |||
msgstr "ชุมชน Django" | |||
msgid "Connect, get help, or contribute" | |||
msgstr "" |