from django.db import models | from django.db import models | ||||
from django.utils import timezone | from django.utils import timezone | ||||
from taggit.managers import TaggableManager | |||||
class Post(models.Model): | class Post(models.Model): | ||||
default=timezone.now) | default=timezone.now) | ||||
published_date = models.DateTimeField( | published_date = models.DateTimeField( | ||||
blank=True, null=True) | blank=True, null=True) | ||||
tags = TaggableManager() | |||||
def publish(self): | def publish(self): | ||||
self.published_date = timezone.now() | self.published_date = timezone.now() |
</li> | </li> | ||||
{% endif %} {% if user.is_staff %} | {% endif %} {% if user.is_staff %} | ||||
<li class="nav-item"> | <li class="nav-item"> | ||||
<a class="nav-link" href="{% url 'studis:index' %}">Stammdaten von</a> | |||||
</li> | </li> | ||||
{% endif %} | {% endif %} | ||||
</ul> | </ul> |
{% extends "base.html" %} {% block content %} {% if form.errors %} | |||||
{% extends "base.html" %} | |||||
{% block content %} | |||||
{% if form.errors %} | |||||
<p>Your username and password didn't match. Please try again.</p> | <p>Your username and password didn't match. Please try again.</p> | ||||
{% endif %} {% if next %} {% if user.is_authenticated %} | |||||
{% endif %} | |||||
{% if next %} | |||||
{% if user.is_authenticated %} | |||||
<p>Your account doesn't have access to this page. To proceed, please login with an account that has access.</p> | <p>Your account doesn't have access to this page. To proceed, please login with an account that has access.</p> | ||||
{% else %} | {% else %} | ||||
<p>Please login to see this page.</p> | <p>Please login to see this page.</p> | ||||
{% endif %} {% endif %} | |||||
{% endif %} | |||||
{% endif %} | |||||
<form method="post" action="{% url 'login' %}"> | <form method="post" action="{% url 'login' %}"> | ||||
{% csrf_token %} | {% csrf_token %} |
'django.contrib.sessions', | 'django.contrib.sessions', | ||||
'django.contrib.messages', | 'django.contrib.messages', | ||||
'django.contrib.staticfiles', | 'django.contrib.staticfiles', | ||||
'taggit', | |||||
'application', | 'application', | ||||
] | ] | ||||
default_app_config = 'django.contrib.postgres.apps.PostgresConfig' |
from .general import * # NOQA | |||||
from .statistics import * # NOQA |
from django.contrib.postgres.fields import JSONField | |||||
from django.db.models.aggregates import Aggregate | |||||
__all__ = [ | |||||
'ArrayAgg', 'BitAnd', 'BitOr', 'BoolAnd', 'BoolOr', 'JSONBAgg', 'StringAgg', | |||||
] | |||||
class ArrayAgg(Aggregate): | |||||
function = 'ARRAY_AGG' | |||||
template = '%(function)s(%(distinct)s%(expressions)s)' | |||||
def __init__(self, expression, distinct=False, **extra): | |||||
super().__init__(expression, distinct='DISTINCT ' if distinct else '', **extra) | |||||
def convert_value(self, value, expression, connection): | |||||
if not value: | |||||
return [] | |||||
return value | |||||
class BitAnd(Aggregate): | |||||
function = 'BIT_AND' | |||||
class BitOr(Aggregate): | |||||
function = 'BIT_OR' | |||||
class BoolAnd(Aggregate): | |||||
function = 'BOOL_AND' | |||||
class BoolOr(Aggregate): | |||||
function = 'BOOL_OR' | |||||
class JSONBAgg(Aggregate): | |||||
function = 'JSONB_AGG' | |||||
output_field = JSONField() | |||||
def convert_value(self, value, expression, connection): | |||||
if not value: | |||||
return [] | |||||
return value | |||||
class StringAgg(Aggregate): | |||||
function = 'STRING_AGG' | |||||
template = "%(function)s(%(distinct)s%(expressions)s, '%(delimiter)s')" | |||||
def __init__(self, expression, delimiter, distinct=False, **extra): | |||||
distinct = 'DISTINCT ' if distinct else '' | |||||
super().__init__(expression, delimiter=delimiter, distinct=distinct, **extra) | |||||
def convert_value(self, value, expression, connection): | |||||
if not value: | |||||
return '' | |||||
return value |
from django.db.models import FloatField, IntegerField | |||||
from django.db.models.aggregates import Aggregate | |||||
__all__ = [ | |||||
'CovarPop', 'Corr', 'RegrAvgX', 'RegrAvgY', 'RegrCount', 'RegrIntercept', | |||||
'RegrR2', 'RegrSlope', 'RegrSXX', 'RegrSXY', 'RegrSYY', 'StatAggregate', | |||||
] | |||||
class StatAggregate(Aggregate): | |||||
output_field = FloatField() | |||||
def __init__(self, y, x, output_field=None, filter=None): | |||||
if not x or not y: | |||||
raise ValueError('Both y and x must be provided.') | |||||
super().__init__(y, x, output_field=output_field, filter=filter) | |||||
def resolve_expression(self, query=None, allow_joins=True, reuse=None, summarize=False, for_save=False): | |||||
return super().resolve_expression(query, allow_joins, reuse, summarize) | |||||
class Corr(StatAggregate): | |||||
function = 'CORR' | |||||
class CovarPop(StatAggregate): | |||||
def __init__(self, y, x, sample=False, filter=None): | |||||
self.function = 'COVAR_SAMP' if sample else 'COVAR_POP' | |||||
super().__init__(y, x, filter=filter) | |||||
class RegrAvgX(StatAggregate): | |||||
function = 'REGR_AVGX' | |||||
class RegrAvgY(StatAggregate): | |||||
function = 'REGR_AVGY' | |||||
class RegrCount(StatAggregate): | |||||
function = 'REGR_COUNT' | |||||
output_field = IntegerField() | |||||
def convert_value(self, value, expression, connection): | |||||
return 0 if value is None else value | |||||
class RegrIntercept(StatAggregate): | |||||
function = 'REGR_INTERCEPT' | |||||
class RegrR2(StatAggregate): | |||||
function = 'REGR_R2' | |||||
class RegrSlope(StatAggregate): | |||||
function = 'REGR_SLOPE' | |||||
class RegrSXX(StatAggregate): | |||||
function = 'REGR_SXX' | |||||
class RegrSXY(StatAggregate): | |||||
function = 'REGR_SXY' | |||||
class RegrSYY(StatAggregate): | |||||
function = 'REGR_SYY' |
from django.apps import AppConfig | |||||
from django.db import connections | |||||
from django.db.backends.signals import connection_created | |||||
from django.db.models import CharField, TextField | |||||
from django.utils.translation import gettext_lazy as _ | |||||
from .lookups import SearchLookup, TrigramSimilar, Unaccent | |||||
from .signals import register_type_handlers | |||||
class PostgresConfig(AppConfig): | |||||
name = 'django.contrib.postgres' | |||||
verbose_name = _('PostgreSQL extensions') | |||||
def ready(self): | |||||
# Connections may already exist before we are called. | |||||
for conn in connections.all(): | |||||
if conn.vendor == 'postgresql': | |||||
conn.introspection.data_types_reverse.update({ | |||||
3802: 'django.contrib.postgres.fields.JSONField', | |||||
3904: 'django.contrib.postgres.fields.IntegerRangeField', | |||||
3906: 'django.contrib.postgres.fields.FloatRangeField', | |||||
3910: 'django.contrib.postgres.fields.DateTimeRangeField', | |||||
3912: 'django.contrib.postgres.fields.DateRangeField', | |||||
3926: 'django.contrib.postgres.fields.BigIntegerRangeField', | |||||
}) | |||||
if conn.connection is not None: | |||||
register_type_handlers(conn) | |||||
connection_created.connect(register_type_handlers) | |||||
CharField.register_lookup(Unaccent) | |||||
TextField.register_lookup(Unaccent) | |||||
CharField.register_lookup(SearchLookup) | |||||
TextField.register_lookup(SearchLookup) | |||||
CharField.register_lookup(TrigramSimilar) | |||||
TextField.register_lookup(TrigramSimilar) |
from .array import * # NOQA | |||||
from .citext import * # NOQA | |||||
from .hstore import * # NOQA | |||||
from .jsonb import * # NOQA | |||||
from .ranges import * # NOQA |
import json | |||||
from django.contrib.postgres import lookups | |||||
from django.contrib.postgres.forms import SimpleArrayField | |||||
from django.contrib.postgres.validators import ArrayMaxLengthValidator | |||||
from django.core import checks, exceptions | |||||
from django.db.models import Field, IntegerField, Transform | |||||
from django.db.models.lookups import Exact, In | |||||
from django.utils.inspect import func_supports_parameter | |||||
from django.utils.translation import gettext_lazy as _ | |||||
from ..utils import prefix_validation_error | |||||
from .utils import AttributeSetter | |||||
__all__ = ['ArrayField'] | |||||
class ArrayField(Field): | |||||
empty_strings_allowed = False | |||||
default_error_messages = { | |||||
'item_invalid': _('Item %(nth)s in the array did not validate: '), | |||||
'nested_array_mismatch': _('Nested arrays must have the same length.'), | |||||
} | |||||
def __init__(self, base_field, size=None, **kwargs): | |||||
self.base_field = base_field | |||||
self.size = size | |||||
if self.size: | |||||
self.default_validators = self.default_validators[:] | |||||
self.default_validators.append(ArrayMaxLengthValidator(self.size)) | |||||
# For performance, only add a from_db_value() method if the base field | |||||
# implements it. | |||||
if hasattr(self.base_field, 'from_db_value'): | |||||
self.from_db_value = self._from_db_value | |||||
super().__init__(**kwargs) | |||||
@property | |||||
def model(self): | |||||
try: | |||||
return self.__dict__['model'] | |||||
except KeyError: | |||||
raise AttributeError("'%s' object has no attribute 'model'" % self.__class__.__name__) | |||||
@model.setter | |||||
def model(self, model): | |||||
self.__dict__['model'] = model | |||||
self.base_field.model = model | |||||
def check(self, **kwargs): | |||||
errors = super().check(**kwargs) | |||||
if self.base_field.remote_field: | |||||
errors.append( | |||||
checks.Error( | |||||
'Base field for array cannot be a related field.', | |||||
obj=self, | |||||
id='postgres.E002' | |||||
) | |||||
) | |||||
else: | |||||
# Remove the field name checks as they are not needed here. | |||||
base_errors = self.base_field.check() | |||||
if base_errors: | |||||
messages = '\n '.join('%s (%s)' % (error.msg, error.id) for error in base_errors) | |||||
errors.append( | |||||
checks.Error( | |||||
'Base field for array has errors:\n %s' % messages, | |||||
obj=self, | |||||
id='postgres.E001' | |||||
) | |||||
) | |||||
return errors | |||||
def set_attributes_from_name(self, name): | |||||
super().set_attributes_from_name(name) | |||||
self.base_field.set_attributes_from_name(name) | |||||
@property | |||||
def description(self): | |||||
return 'Array of %s' % self.base_field.description | |||||
def db_type(self, connection): | |||||
size = self.size or '' | |||||
return '%s[%s]' % (self.base_field.db_type(connection), size) | |||||
def get_db_prep_value(self, value, connection, prepared=False): | |||||
if isinstance(value, (list, tuple)): | |||||
return [self.base_field.get_db_prep_value(i, connection, prepared=False) for i in value] | |||||
return value | |||||
def deconstruct(self): | |||||
name, path, args, kwargs = super().deconstruct() | |||||
if path == 'django.contrib.postgres.fields.array.ArrayField': | |||||
path = 'django.contrib.postgres.fields.ArrayField' | |||||
kwargs.update({ | |||||
'base_field': self.base_field.clone(), | |||||
'size': self.size, | |||||
}) | |||||
return name, path, args, kwargs | |||||
def to_python(self, value): | |||||
if isinstance(value, str): | |||||
# Assume we're deserializing | |||||
vals = json.loads(value) | |||||
value = [self.base_field.to_python(val) for val in vals] | |||||
return value | |||||
def _from_db_value(self, value, expression, connection): | |||||
if value is None: | |||||
return value | |||||
return [ | |||||
self.base_field.from_db_value(item, expression, connection, {}) | |||||
if func_supports_parameter(self.base_field.from_db_value, 'context') # RemovedInDjango30Warning | |||||
else self.base_field.from_db_value(item, expression, connection) | |||||
for item in value | |||||
] | |||||
def value_to_string(self, obj): | |||||
values = [] | |||||
vals = self.value_from_object(obj) | |||||
base_field = self.base_field | |||||
for val in vals: | |||||
if val is None: | |||||
values.append(None) | |||||
else: | |||||
obj = AttributeSetter(base_field.attname, val) | |||||
values.append(base_field.value_to_string(obj)) | |||||
return json.dumps(values) | |||||
def get_transform(self, name): | |||||
transform = super().get_transform(name) | |||||
if transform: | |||||
return transform | |||||
if '_' not in name: | |||||
try: | |||||
index = int(name) | |||||
except ValueError: | |||||
pass | |||||
else: | |||||
index += 1 # postgres uses 1-indexing | |||||
return IndexTransformFactory(index, self.base_field) | |||||
try: | |||||
start, end = name.split('_') | |||||
start = int(start) + 1 | |||||
end = int(end) # don't add one here because postgres slices are weird | |||||
except ValueError: | |||||
pass | |||||
else: | |||||
return SliceTransformFactory(start, end) | |||||
def validate(self, value, model_instance): | |||||
super().validate(value, model_instance) | |||||
for index, part in enumerate(value): | |||||
try: | |||||
self.base_field.validate(part, model_instance) | |||||
except exceptions.ValidationError as error: | |||||
raise prefix_validation_error( | |||||
error, | |||||
prefix=self.error_messages['item_invalid'], | |||||
code='item_invalid', | |||||
params={'nth': index}, | |||||
) | |||||
if isinstance(self.base_field, ArrayField): | |||||
if len({len(i) for i in value}) > 1: | |||||
raise exceptions.ValidationError( | |||||
self.error_messages['nested_array_mismatch'], | |||||
code='nested_array_mismatch', | |||||
) | |||||
def run_validators(self, value): | |||||
super().run_validators(value) | |||||
for index, part in enumerate(value): | |||||
try: | |||||
self.base_field.run_validators(part) | |||||
except exceptions.ValidationError as error: | |||||
raise prefix_validation_error( | |||||
error, | |||||
prefix=self.error_messages['item_invalid'], | |||||
code='item_invalid', | |||||
params={'nth': index}, | |||||
) | |||||
def formfield(self, **kwargs): | |||||
defaults = { | |||||
'form_class': SimpleArrayField, | |||||
'base_field': self.base_field.formfield(), | |||||
'max_length': self.size, | |||||
} | |||||
defaults.update(kwargs) | |||||
return super().formfield(**defaults) | |||||
@ArrayField.register_lookup | |||||
class ArrayContains(lookups.DataContains): | |||||
def as_sql(self, qn, connection): | |||||
sql, params = super().as_sql(qn, connection) | |||||
sql = '%s::%s' % (sql, self.lhs.output_field.db_type(connection)) | |||||
return sql, params | |||||
@ArrayField.register_lookup | |||||
class ArrayContainedBy(lookups.ContainedBy): | |||||
def as_sql(self, qn, connection): | |||||
sql, params = super().as_sql(qn, connection) | |||||
sql = '%s::%s' % (sql, self.lhs.output_field.db_type(connection)) | |||||
return sql, params | |||||
@ArrayField.register_lookup | |||||
class ArrayExact(Exact): | |||||
def as_sql(self, qn, connection): | |||||
sql, params = super().as_sql(qn, connection) | |||||
sql = '%s::%s' % (sql, self.lhs.output_field.db_type(connection)) | |||||
return sql, params | |||||
@ArrayField.register_lookup | |||||
class ArrayOverlap(lookups.Overlap): | |||||
def as_sql(self, qn, connection): | |||||
sql, params = super().as_sql(qn, connection) | |||||
sql = '%s::%s' % (sql, self.lhs.output_field.db_type(connection)) | |||||
return sql, params | |||||
@ArrayField.register_lookup | |||||
class ArrayLenTransform(Transform): | |||||
lookup_name = 'len' | |||||
output_field = IntegerField() | |||||
def as_sql(self, compiler, connection): | |||||
lhs, params = compiler.compile(self.lhs) | |||||
# Distinguish NULL and empty arrays | |||||
return ( | |||||
'CASE WHEN %(lhs)s IS NULL THEN NULL ELSE ' | |||||
'coalesce(array_length(%(lhs)s, 1), 0) END' | |||||
) % {'lhs': lhs}, params | |||||
@ArrayField.register_lookup | |||||
class ArrayInLookup(In): | |||||
def get_prep_lookup(self): | |||||
values = super().get_prep_lookup() | |||||
if hasattr(self.rhs, '_prepare'): | |||||
# Subqueries don't need further preparation. | |||||
return values | |||||
# In.process_rhs() expects values to be hashable, so convert lists | |||||
# to tuples. | |||||
prepared_values = [] | |||||
for value in values: | |||||
if hasattr(value, 'resolve_expression'): | |||||
prepared_values.append(value) | |||||
else: | |||||
prepared_values.append(tuple(value)) | |||||
return prepared_values | |||||
class IndexTransform(Transform): | |||||
def __init__(self, index, base_field, *args, **kwargs): | |||||
super().__init__(*args, **kwargs) | |||||
self.index = index | |||||
self.base_field = base_field | |||||
def as_sql(self, compiler, connection): | |||||
lhs, params = compiler.compile(self.lhs) | |||||
return '%s[%s]' % (lhs, self.index), params | |||||
@property | |||||
def output_field(self): | |||||
return self.base_field | |||||
class IndexTransformFactory: | |||||
def __init__(self, index, base_field): | |||||
self.index = index | |||||
self.base_field = base_field | |||||
def __call__(self, *args, **kwargs): | |||||
return IndexTransform(self.index, self.base_field, *args, **kwargs) | |||||
class SliceTransform(Transform): | |||||
def __init__(self, start, end, *args, **kwargs): | |||||
super().__init__(*args, **kwargs) | |||||
self.start = start | |||||
self.end = end | |||||
def as_sql(self, compiler, connection): | |||||
lhs, params = compiler.compile(self.lhs) | |||||
return '%s[%s:%s]' % (lhs, self.start, self.end), params | |||||
class SliceTransformFactory: | |||||
def __init__(self, start, end): | |||||
self.start = start | |||||
self.end = end | |||||
def __call__(self, *args, **kwargs): | |||||
return SliceTransform(self.start, self.end, *args, **kwargs) |
from django.db.models import CharField, EmailField, TextField | |||||
__all__ = ['CICharField', 'CIEmailField', 'CIText', 'CITextField'] | |||||
class CIText: | |||||
def get_internal_type(self): | |||||
return 'CI' + super().get_internal_type() | |||||
def db_type(self, connection): | |||||
return 'citext' | |||||
class CICharField(CIText, CharField): | |||||
pass | |||||
class CIEmailField(CIText, EmailField): | |||||
pass | |||||
class CITextField(CIText, TextField): | |||||
pass |
import json | |||||
from django.contrib.postgres import forms, lookups | |||||
from django.contrib.postgres.fields.array import ArrayField | |||||
from django.core import exceptions | |||||
from django.db.models import Field, TextField, Transform | |||||
from django.utils.translation import gettext_lazy as _ | |||||
__all__ = ['HStoreField'] | |||||
class HStoreField(Field): | |||||
empty_strings_allowed = False | |||||
description = _('Map of strings to strings/nulls') | |||||
default_error_messages = { | |||||
'not_a_string': _('The value of "%(key)s" is not a string or null.'), | |||||
} | |||||
def db_type(self, connection): | |||||
return 'hstore' | |||||
def get_transform(self, name): | |||||
transform = super().get_transform(name) | |||||
if transform: | |||||
return transform | |||||
return KeyTransformFactory(name) | |||||
def validate(self, value, model_instance): | |||||
super().validate(value, model_instance) | |||||
for key, val in value.items(): | |||||
if not isinstance(val, str) and val is not None: | |||||
raise exceptions.ValidationError( | |||||
self.error_messages['not_a_string'], | |||||
code='not_a_string', | |||||
params={'key': key}, | |||||
) | |||||
def to_python(self, value): | |||||
if isinstance(value, str): | |||||
value = json.loads(value) | |||||
return value | |||||
def value_to_string(self, obj): | |||||
return json.dumps(self.value_from_object(obj)) | |||||
def formfield(self, **kwargs): | |||||
defaults = { | |||||
'form_class': forms.HStoreField, | |||||
} | |||||
defaults.update(kwargs) | |||||
return super().formfield(**defaults) | |||||
def get_prep_value(self, value): | |||||
value = super().get_prep_value(value) | |||||
if isinstance(value, dict): | |||||
prep_value = {} | |||||
for key, val in value.items(): | |||||
key = str(key) | |||||
if val is not None: | |||||
val = str(val) | |||||
prep_value[key] = val | |||||
value = prep_value | |||||
if isinstance(value, list): | |||||
value = [str(item) for item in value] | |||||
return value | |||||
HStoreField.register_lookup(lookups.DataContains) | |||||
HStoreField.register_lookup(lookups.ContainedBy) | |||||
HStoreField.register_lookup(lookups.HasKey) | |||||
HStoreField.register_lookup(lookups.HasKeys) | |||||
HStoreField.register_lookup(lookups.HasAnyKeys) | |||||
class KeyTransform(Transform): | |||||
output_field = TextField() | |||||
def __init__(self, key_name, *args, **kwargs): | |||||
super().__init__(*args, **kwargs) | |||||
self.key_name = key_name | |||||
def as_sql(self, compiler, connection): | |||||
lhs, params = compiler.compile(self.lhs) | |||||
return "(%s -> '%s')" % (lhs, self.key_name), params | |||||
class KeyTransformFactory: | |||||
def __init__(self, key_name): | |||||
self.key_name = key_name | |||||
def __call__(self, *args, **kwargs): | |||||
return KeyTransform(self.key_name, *args, **kwargs) | |||||
@HStoreField.register_lookup | |||||
class KeysTransform(Transform): | |||||
lookup_name = 'keys' | |||||
function = 'akeys' | |||||
output_field = ArrayField(TextField()) | |||||
@HStoreField.register_lookup | |||||
class ValuesTransform(Transform): | |||||
lookup_name = 'values' | |||||
function = 'avals' | |||||
output_field = ArrayField(TextField()) |
import json | |||||
from psycopg2.extras import Json | |||||
from django.contrib.postgres import forms, lookups | |||||
from django.core import exceptions | |||||
from django.db.models import ( | |||||
Field, TextField, Transform, lookups as builtin_lookups, | |||||
) | |||||
from django.utils.translation import gettext_lazy as _ | |||||
__all__ = ['JSONField'] | |||||
class JsonAdapter(Json): | |||||
""" | |||||
Customized psycopg2.extras.Json to allow for a custom encoder. | |||||
""" | |||||
def __init__(self, adapted, dumps=None, encoder=None): | |||||
self.encoder = encoder | |||||
super().__init__(adapted, dumps=dumps) | |||||
def dumps(self, obj): | |||||
options = {'cls': self.encoder} if self.encoder else {} | |||||
return json.dumps(obj, **options) | |||||
class JSONField(Field): | |||||
empty_strings_allowed = False | |||||
description = _('A JSON object') | |||||
default_error_messages = { | |||||
'invalid': _("Value must be valid JSON."), | |||||
} | |||||
def __init__(self, verbose_name=None, name=None, encoder=None, **kwargs): | |||||
if encoder and not callable(encoder): | |||||
raise ValueError("The encoder parameter must be a callable object.") | |||||
self.encoder = encoder | |||||
super().__init__(verbose_name, name, **kwargs) | |||||
def db_type(self, connection): | |||||
return 'jsonb' | |||||
def deconstruct(self): | |||||
name, path, args, kwargs = super().deconstruct() | |||||
if self.encoder is not None: | |||||
kwargs['encoder'] = self.encoder | |||||
return name, path, args, kwargs | |||||
def get_transform(self, name): | |||||
transform = super().get_transform(name) | |||||
if transform: | |||||
return transform | |||||
return KeyTransformFactory(name) | |||||
def get_prep_value(self, value): | |||||
if value is not None: | |||||
return JsonAdapter(value, encoder=self.encoder) | |||||
return value | |||||
def validate(self, value, model_instance): | |||||
super().validate(value, model_instance) | |||||
options = {'cls': self.encoder} if self.encoder else {} | |||||
try: | |||||
json.dumps(value, **options) | |||||
except TypeError: | |||||
raise exceptions.ValidationError( | |||||
self.error_messages['invalid'], | |||||
code='invalid', | |||||
params={'value': value}, | |||||
) | |||||
def value_to_string(self, obj): | |||||
return self.value_from_object(obj) | |||||
def formfield(self, **kwargs): | |||||
defaults = {'form_class': forms.JSONField} | |||||
defaults.update(kwargs) | |||||
return super().formfield(**defaults) | |||||
JSONField.register_lookup(lookups.DataContains) | |||||
JSONField.register_lookup(lookups.ContainedBy) | |||||
JSONField.register_lookup(lookups.HasKey) | |||||
JSONField.register_lookup(lookups.HasKeys) | |||||
JSONField.register_lookup(lookups.HasAnyKeys) | |||||
class KeyTransform(Transform): | |||||
operator = '->' | |||||
nested_operator = '#>' | |||||
def __init__(self, key_name, *args, **kwargs): | |||||
super().__init__(*args, **kwargs) | |||||
self.key_name = key_name | |||||
def as_sql(self, compiler, connection): | |||||
key_transforms = [self.key_name] | |||||
previous = self.lhs | |||||
while isinstance(previous, KeyTransform): | |||||
key_transforms.insert(0, previous.key_name) | |||||
previous = previous.lhs | |||||
lhs, params = compiler.compile(previous) | |||||
if len(key_transforms) > 1: | |||||
return "(%s %s %%s)" % (lhs, self.nested_operator), [key_transforms] + params | |||||
try: | |||||
int(self.key_name) | |||||
except ValueError: | |||||
lookup = "'%s'" % self.key_name | |||||
else: | |||||
lookup = "%s" % self.key_name | |||||
return "(%s %s %s)" % (lhs, self.operator, lookup), params | |||||
class KeyTextTransform(KeyTransform): | |||||
operator = '->>' | |||||
nested_operator = '#>>' | |||||
output_field = TextField() | |||||
class KeyTransformTextLookupMixin: | |||||
""" | |||||
Mixin for combining with a lookup expecting a text lhs from a JSONField | |||||
key lookup. Make use of the ->> operator instead of casting key values to | |||||
text and performing the lookup on the resulting representation. | |||||
""" | |||||
def __init__(self, key_transform, *args, **kwargs): | |||||
assert isinstance(key_transform, KeyTransform) | |||||
key_text_transform = KeyTextTransform( | |||||
key_transform.key_name, *key_transform.source_expressions, **key_transform.extra | |||||
) | |||||
super().__init__(key_text_transform, *args, **kwargs) | |||||
class KeyTransformIExact(KeyTransformTextLookupMixin, builtin_lookups.IExact): | |||||
pass | |||||
class KeyTransformIContains(KeyTransformTextLookupMixin, builtin_lookups.IContains): | |||||
pass | |||||
class KeyTransformStartsWith(KeyTransformTextLookupMixin, builtin_lookups.StartsWith): | |||||
pass | |||||
class KeyTransformIStartsWith(KeyTransformTextLookupMixin, builtin_lookups.IStartsWith): | |||||
pass | |||||
class KeyTransformEndsWith(KeyTransformTextLookupMixin, builtin_lookups.EndsWith): | |||||
pass | |||||
class KeyTransformIEndsWith(KeyTransformTextLookupMixin, builtin_lookups.IEndsWith): | |||||
pass | |||||
class KeyTransformRegex(KeyTransformTextLookupMixin, builtin_lookups.Regex): | |||||
pass | |||||
class KeyTransformIRegex(KeyTransformTextLookupMixin, builtin_lookups.IRegex): | |||||
pass | |||||
KeyTransform.register_lookup(KeyTransformIExact) | |||||
KeyTransform.register_lookup(KeyTransformIContains) | |||||
KeyTransform.register_lookup(KeyTransformStartsWith) | |||||
KeyTransform.register_lookup(KeyTransformIStartsWith) | |||||
KeyTransform.register_lookup(KeyTransformEndsWith) | |||||
KeyTransform.register_lookup(KeyTransformIEndsWith) | |||||
KeyTransform.register_lookup(KeyTransformRegex) | |||||
KeyTransform.register_lookup(KeyTransformIRegex) | |||||
class KeyTransformFactory: | |||||
def __init__(self, key_name): | |||||
self.key_name = key_name | |||||
def __call__(self, *args, **kwargs): | |||||
return KeyTransform(self.key_name, *args, **kwargs) |
import datetime | |||||
import json | |||||
from psycopg2.extras import DateRange, DateTimeTZRange, NumericRange, Range | |||||
from django.contrib.postgres import forms, lookups | |||||
from django.db import models | |||||
from .utils import AttributeSetter | |||||
__all__ = [ | |||||
'RangeField', 'IntegerRangeField', 'BigIntegerRangeField', | |||||
'FloatRangeField', 'DateTimeRangeField', 'DateRangeField', | |||||
] | |||||
class RangeField(models.Field): | |||||
empty_strings_allowed = False | |||||
def __init__(self, *args, **kwargs): | |||||
# Initializing base_field here ensures that its model matches the model for self. | |||||
if hasattr(self, 'base_field'): | |||||
self.base_field = self.base_field() | |||||
super().__init__(*args, **kwargs) | |||||
@property | |||||
def model(self): | |||||
try: | |||||
return self.__dict__['model'] | |||||
except KeyError: | |||||
raise AttributeError("'%s' object has no attribute 'model'" % self.__class__.__name__) | |||||
@model.setter | |||||
def model(self, model): | |||||
self.__dict__['model'] = model | |||||
self.base_field.model = model | |||||
def get_prep_value(self, value): | |||||
if value is None: | |||||
return None | |||||
elif isinstance(value, Range): | |||||
return value | |||||
elif isinstance(value, (list, tuple)): | |||||
return self.range_type(value[0], value[1]) | |||||
return value | |||||
def to_python(self, value): | |||||
if isinstance(value, str): | |||||
# Assume we're deserializing | |||||
vals = json.loads(value) | |||||
for end in ('lower', 'upper'): | |||||
if end in vals: | |||||
vals[end] = self.base_field.to_python(vals[end]) | |||||
value = self.range_type(**vals) | |||||
elif isinstance(value, (list, tuple)): | |||||
value = self.range_type(value[0], value[1]) | |||||
return value | |||||
def set_attributes_from_name(self, name): | |||||
super().set_attributes_from_name(name) | |||||
self.base_field.set_attributes_from_name(name) | |||||
def value_to_string(self, obj): | |||||
value = self.value_from_object(obj) | |||||
if value is None: | |||||
return None | |||||
if value.isempty: | |||||
return json.dumps({"empty": True}) | |||||
base_field = self.base_field | |||||
result = {"bounds": value._bounds} | |||||
for end in ('lower', 'upper'): | |||||
val = getattr(value, end) | |||||
if val is None: | |||||
result[end] = None | |||||
else: | |||||
obj = AttributeSetter(base_field.attname, val) | |||||
result[end] = base_field.value_to_string(obj) | |||||
return json.dumps(result) | |||||
def formfield(self, **kwargs): | |||||
kwargs.setdefault('form_class', self.form_field) | |||||
return super().formfield(**kwargs) | |||||
class IntegerRangeField(RangeField): | |||||
base_field = models.IntegerField | |||||
range_type = NumericRange | |||||
form_field = forms.IntegerRangeField | |||||
def db_type(self, connection): | |||||
return 'int4range' | |||||
class BigIntegerRangeField(RangeField): | |||||
base_field = models.BigIntegerField | |||||
range_type = NumericRange | |||||
form_field = forms.IntegerRangeField | |||||
def db_type(self, connection): | |||||
return 'int8range' | |||||
class FloatRangeField(RangeField): | |||||
base_field = models.FloatField | |||||
range_type = NumericRange | |||||
form_field = forms.FloatRangeField | |||||
def db_type(self, connection): | |||||
return 'numrange' | |||||
class DateTimeRangeField(RangeField): | |||||
base_field = models.DateTimeField | |||||
range_type = DateTimeTZRange | |||||
form_field = forms.DateTimeRangeField | |||||
def db_type(self, connection): | |||||
return 'tstzrange' | |||||
class DateRangeField(RangeField): | |||||
base_field = models.DateField | |||||
range_type = DateRange | |||||
form_field = forms.DateRangeField | |||||
def db_type(self, connection): | |||||
return 'daterange' | |||||
RangeField.register_lookup(lookups.DataContains) | |||||
RangeField.register_lookup(lookups.ContainedBy) | |||||
RangeField.register_lookup(lookups.Overlap) | |||||
class DateTimeRangeContains(models.Lookup): | |||||
""" | |||||
Lookup for Date/DateTimeRange containment to cast the rhs to the correct | |||||
type. | |||||
""" | |||||
lookup_name = 'contains' | |||||
def process_rhs(self, compiler, connection): | |||||
# Transform rhs value for db lookup. | |||||
if isinstance(self.rhs, datetime.date): | |||||
output_field = models.DateTimeField() if isinstance(self.rhs, datetime.datetime) else models.DateField() | |||||
value = models.Value(self.rhs, output_field=output_field) | |||||
self.rhs = value.resolve_expression(compiler.query) | |||||
return super().process_rhs(compiler, connection) | |||||
def as_sql(self, compiler, connection): | |||||
lhs, lhs_params = self.process_lhs(compiler, connection) | |||||
rhs, rhs_params = self.process_rhs(compiler, connection) | |||||
params = lhs_params + rhs_params | |||||
# Cast the rhs if needed. | |||||
cast_sql = '' | |||||
if isinstance(self.rhs, models.Expression) and self.rhs._output_field_or_none: | |||||
cast_internal_type = self.lhs.output_field.base_field.get_internal_type() | |||||
cast_sql = '::{}'.format(connection.data_types.get(cast_internal_type)) | |||||
return '%s @> %s%s' % (lhs, rhs, cast_sql), params | |||||
DateRangeField.register_lookup(DateTimeRangeContains) | |||||
DateTimeRangeField.register_lookup(DateTimeRangeContains) | |||||
class RangeContainedBy(models.Lookup): | |||||
lookup_name = 'contained_by' | |||||
type_mapping = { | |||||
'integer': 'int4range', | |||||
'bigint': 'int8range', | |||||
'double precision': 'numrange', | |||||
'date': 'daterange', | |||||
'timestamp with time zone': 'tstzrange', | |||||
} | |||||
def as_sql(self, qn, connection): | |||||
field = self.lhs.output_field | |||||
if isinstance(field, models.FloatField): | |||||
sql = '%s::numeric <@ %s::{}'.format(self.type_mapping[field.db_type(connection)]) | |||||
else: | |||||
sql = '%s <@ %s::{}'.format(self.type_mapping[field.db_type(connection)]) | |||||
lhs, lhs_params = self.process_lhs(qn, connection) | |||||
rhs, rhs_params = self.process_rhs(qn, connection) | |||||
params = lhs_params + rhs_params | |||||
return sql % (lhs, rhs), params | |||||
def get_prep_lookup(self): | |||||
return RangeField().get_prep_value(self.rhs) | |||||
models.DateField.register_lookup(RangeContainedBy) | |||||
models.DateTimeField.register_lookup(RangeContainedBy) | |||||
models.IntegerField.register_lookup(RangeContainedBy) | |||||
models.BigIntegerField.register_lookup(RangeContainedBy) | |||||
models.FloatField.register_lookup(RangeContainedBy) | |||||
@RangeField.register_lookup | |||||
class FullyLessThan(lookups.PostgresSimpleLookup): | |||||
lookup_name = 'fully_lt' | |||||
operator = '<<' | |||||
@RangeField.register_lookup | |||||
class FullGreaterThan(lookups.PostgresSimpleLookup): | |||||
lookup_name = 'fully_gt' | |||||
operator = '>>' | |||||
@RangeField.register_lookup | |||||
class NotLessThan(lookups.PostgresSimpleLookup): | |||||
lookup_name = 'not_lt' | |||||
operator = '&>' | |||||
@RangeField.register_lookup | |||||
class NotGreaterThan(lookups.PostgresSimpleLookup): | |||||
lookup_name = 'not_gt' | |||||
operator = '&<' | |||||
@RangeField.register_lookup | |||||
class AdjacentToLookup(lookups.PostgresSimpleLookup): | |||||
lookup_name = 'adjacent_to' | |||||
operator = '-|-' | |||||
@RangeField.register_lookup | |||||
class RangeStartsWith(models.Transform): | |||||
lookup_name = 'startswith' | |||||
function = 'lower' | |||||
@property | |||||
def output_field(self): | |||||
return self.lhs.output_field.base_field | |||||
@RangeField.register_lookup | |||||
class RangeEndsWith(models.Transform): | |||||
lookup_name = 'endswith' | |||||
function = 'upper' | |||||
@property | |||||
def output_field(self): | |||||
return self.lhs.output_field.base_field | |||||
@RangeField.register_lookup | |||||
class IsEmpty(models.Transform): | |||||
lookup_name = 'isempty' | |||||
function = 'isempty' | |||||
output_field = models.BooleanField() |
class AttributeSetter: | |||||
def __init__(self, name, value): | |||||
setattr(self, name, value) |
from .array import * # NOQA | |||||
from .hstore import * # NOQA | |||||
from .jsonb import * # NOQA | |||||
from .ranges import * # NOQA |
import copy | |||||
from itertools import chain | |||||
from django import forms | |||||
from django.contrib.postgres.validators import ( | |||||
ArrayMaxLengthValidator, ArrayMinLengthValidator, | |||||
) | |||||
from django.core.exceptions import ValidationError | |||||
from django.utils.translation import gettext_lazy as _ | |||||
from ..utils import prefix_validation_error | |||||
class SimpleArrayField(forms.CharField): | |||||
default_error_messages = { | |||||
'item_invalid': _('Item %(nth)s in the array did not validate: '), | |||||
} | |||||
def __init__(self, base_field, *, delimiter=',', max_length=None, min_length=None, **kwargs): | |||||
self.base_field = base_field | |||||
self.delimiter = delimiter | |||||
super().__init__(**kwargs) | |||||
if min_length is not None: | |||||
self.min_length = min_length | |||||
self.validators.append(ArrayMinLengthValidator(int(min_length))) | |||||
if max_length is not None: | |||||
self.max_length = max_length | |||||
self.validators.append(ArrayMaxLengthValidator(int(max_length))) | |||||
def clean(self, value): | |||||
value = super().clean(value) | |||||
return [self.base_field.clean(val) for val in value] | |||||
def prepare_value(self, value): | |||||
if isinstance(value, list): | |||||
return self.delimiter.join(str(self.base_field.prepare_value(v)) for v in value) | |||||
return value | |||||
def to_python(self, value): | |||||
if isinstance(value, list): | |||||
items = value | |||||
elif value: | |||||
items = value.split(self.delimiter) | |||||
else: | |||||
items = [] | |||||
errors = [] | |||||
values = [] | |||||
for index, item in enumerate(items): | |||||
try: | |||||
values.append(self.base_field.to_python(item)) | |||||
except ValidationError as error: | |||||
errors.append(prefix_validation_error( | |||||
error, | |||||
prefix=self.error_messages['item_invalid'], | |||||
code='item_invalid', | |||||
params={'nth': index}, | |||||
)) | |||||
if errors: | |||||
raise ValidationError(errors) | |||||
return values | |||||
def validate(self, value): | |||||
super().validate(value) | |||||
errors = [] | |||||
for index, item in enumerate(value): | |||||
try: | |||||
self.base_field.validate(item) | |||||
except ValidationError as error: | |||||
errors.append(prefix_validation_error( | |||||
error, | |||||
prefix=self.error_messages['item_invalid'], | |||||
code='item_invalid', | |||||
params={'nth': index}, | |||||
)) | |||||
if errors: | |||||
raise ValidationError(errors) | |||||
def run_validators(self, value): | |||||
super().run_validators(value) | |||||
errors = [] | |||||
for index, item in enumerate(value): | |||||
try: | |||||
self.base_field.run_validators(item) | |||||
except ValidationError as error: | |||||
errors.append(prefix_validation_error( | |||||
error, | |||||
prefix=self.error_messages['item_invalid'], | |||||
code='item_invalid', | |||||
params={'nth': index}, | |||||
)) | |||||
if errors: | |||||
raise ValidationError(errors) | |||||
class SplitArrayWidget(forms.Widget): | |||||
template_name = 'postgres/widgets/split_array.html' | |||||
def __init__(self, widget, size, **kwargs): | |||||
self.widget = widget() if isinstance(widget, type) else widget | |||||
self.size = size | |||||
super().__init__(**kwargs) | |||||
@property | |||||
def is_hidden(self): | |||||
return self.widget.is_hidden | |||||
def value_from_datadict(self, data, files, name): | |||||
return [self.widget.value_from_datadict(data, files, '%s_%s' % (name, index)) | |||||
for index in range(self.size)] | |||||
def value_omitted_from_data(self, data, files, name): | |||||
return all( | |||||
self.widget.value_omitted_from_data(data, files, '%s_%s' % (name, index)) | |||||
for index in range(self.size) | |||||
) | |||||
def id_for_label(self, id_): | |||||
# See the comment for RadioSelect.id_for_label() | |||||
if id_: | |||||
id_ += '_0' | |||||
return id_ | |||||
def get_context(self, name, value, attrs=None): | |||||
attrs = {} if attrs is None else attrs | |||||
context = super().get_context(name, value, attrs) | |||||
if self.is_localized: | |||||
self.widget.is_localized = self.is_localized | |||||
value = value or [] | |||||
context['widget']['subwidgets'] = [] | |||||
final_attrs = self.build_attrs(attrs) | |||||
id_ = final_attrs.get('id') | |||||
for i in range(max(len(value), self.size)): | |||||
try: | |||||
widget_value = value[i] | |||||
except IndexError: | |||||
widget_value = None | |||||
if id_: | |||||
final_attrs = dict(final_attrs, id='%s_%s' % (id_, i)) | |||||
context['widget']['subwidgets'].append( | |||||
self.widget.get_context(name + '_%s' % i, widget_value, final_attrs)['widget'] | |||||
) | |||||
return context | |||||
@property | |||||
def media(self): | |||||
return self.widget.media | |||||
def __deepcopy__(self, memo): | |||||
obj = super().__deepcopy__(memo) | |||||
obj.widget = copy.deepcopy(self.widget) | |||||
return obj | |||||
@property | |||||
def needs_multipart_form(self): | |||||
return self.widget.needs_multipart_form | |||||
class SplitArrayField(forms.Field): | |||||
default_error_messages = { | |||||
'item_invalid': _('Item %(nth)s in the array did not validate: '), | |||||
} | |||||
def __init__(self, base_field, size, *, remove_trailing_nulls=False, **kwargs): | |||||
self.base_field = base_field | |||||
self.size = size | |||||
self.remove_trailing_nulls = remove_trailing_nulls | |||||
widget = SplitArrayWidget(widget=base_field.widget, size=size) | |||||
kwargs.setdefault('widget', widget) | |||||
super().__init__(**kwargs) | |||||
def clean(self, value): | |||||
cleaned_data = [] | |||||
errors = [] | |||||
if not any(value) and self.required: | |||||
raise ValidationError(self.error_messages['required']) | |||||
max_size = max(self.size, len(value)) | |||||
for index in range(max_size): | |||||
item = value[index] | |||||
try: | |||||
cleaned_data.append(self.base_field.clean(item)) | |||||
except ValidationError as error: | |||||
errors.append(prefix_validation_error( | |||||
error, | |||||
self.error_messages['item_invalid'], | |||||
code='item_invalid', | |||||
params={'nth': index}, | |||||
)) | |||||
cleaned_data.append(None) | |||||
else: | |||||
errors.append(None) | |||||
if self.remove_trailing_nulls: | |||||
null_index = None | |||||
for i, value in reversed(list(enumerate(cleaned_data))): | |||||
if value in self.base_field.empty_values: | |||||
null_index = i | |||||
else: | |||||
break | |||||
if null_index is not None: | |||||
cleaned_data = cleaned_data[:null_index] | |||||
errors = errors[:null_index] | |||||
errors = list(filter(None, errors)) | |||||
if errors: | |||||
raise ValidationError(list(chain.from_iterable(errors))) | |||||
return cleaned_data |
import json | |||||
from django import forms | |||||
from django.core.exceptions import ValidationError | |||||
from django.utils.translation import gettext_lazy as _ | |||||
__all__ = ['HStoreField'] | |||||
class HStoreField(forms.CharField): | |||||
""" | |||||
A field for HStore data which accepts dictionary JSON input. | |||||
""" | |||||
widget = forms.Textarea | |||||
default_error_messages = { | |||||
'invalid_json': _('Could not load JSON data.'), | |||||
'invalid_format': _('Input must be a JSON dictionary.'), | |||||
} | |||||
def prepare_value(self, value): | |||||
if isinstance(value, dict): | |||||
return json.dumps(value) | |||||
return value | |||||
def to_python(self, value): | |||||
if not value: | |||||
return {} | |||||
if not isinstance(value, dict): | |||||
try: | |||||
value = json.loads(value) | |||||
except ValueError: | |||||
raise ValidationError( | |||||
self.error_messages['invalid_json'], | |||||
code='invalid_json', | |||||
) | |||||
if not isinstance(value, dict): | |||||
raise ValidationError( | |||||
self.error_messages['invalid_format'], | |||||
code='invalid_format', | |||||
) | |||||
# Cast everything to strings for ease. | |||||
for key, val in value.items(): | |||||
if val is not None: | |||||
val = str(val) | |||||
value[key] = val | |||||
return value | |||||
def has_changed(self, initial, data): | |||||
""" | |||||
Return True if data differs from initial. | |||||
""" | |||||
# For purposes of seeing whether something has changed, None is | |||||
# the same as an empty dict, if the data or initial value we get | |||||
# is None, replace it w/ {}. | |||||
initial_value = self.to_python(initial) | |||||
return super().has_changed(initial_value, data) |
import json | |||||
from django import forms | |||||
from django.utils.translation import gettext_lazy as _ | |||||
__all__ = ['JSONField'] | |||||
class InvalidJSONInput(str): | |||||
pass | |||||
class JSONString(str): | |||||
pass | |||||
class JSONField(forms.CharField): | |||||
default_error_messages = { | |||||
'invalid': _("'%(value)s' value must be valid JSON."), | |||||
} | |||||
widget = forms.Textarea | |||||
def to_python(self, value): | |||||
if self.disabled: | |||||
return value | |||||
if value in self.empty_values: | |||||
return None | |||||
elif isinstance(value, (list, dict, int, float, JSONString)): | |||||
return value | |||||
try: | |||||
converted = json.loads(value) | |||||
except ValueError: | |||||
raise forms.ValidationError( | |||||
self.error_messages['invalid'], | |||||
code='invalid', | |||||
params={'value': value}, | |||||
) | |||||
if isinstance(converted, str): | |||||
return JSONString(converted) | |||||
else: | |||||
return converted | |||||
def bound_data(self, data, initial): | |||||
if self.disabled: | |||||
return initial | |||||
try: | |||||
return json.loads(data) | |||||
except ValueError: | |||||
return InvalidJSONInput(data) | |||||
def prepare_value(self, value): | |||||
if isinstance(value, InvalidJSONInput): | |||||
return value | |||||
return json.dumps(value) |
from psycopg2.extras import DateRange, DateTimeTZRange, NumericRange | |||||
from django import forms | |||||
from django.core import exceptions | |||||
from django.forms.widgets import MultiWidget | |||||
from django.utils.translation import gettext_lazy as _ | |||||
__all__ = [ | |||||
'BaseRangeField', 'IntegerRangeField', 'FloatRangeField', | |||||
'DateTimeRangeField', 'DateRangeField', 'RangeWidget', | |||||
] | |||||
class BaseRangeField(forms.MultiValueField): | |||||
default_error_messages = { | |||||
'invalid': _('Enter two valid values.'), | |||||
'bound_ordering': _('The start of the range must not exceed the end of the range.'), | |||||
} | |||||
def __init__(self, **kwargs): | |||||
if 'widget' not in kwargs: | |||||
kwargs['widget'] = RangeWidget(self.base_field.widget) | |||||
if 'fields' not in kwargs: | |||||
kwargs['fields'] = [self.base_field(required=False), self.base_field(required=False)] | |||||
kwargs.setdefault('required', False) | |||||
kwargs.setdefault('require_all_fields', False) | |||||
super().__init__(**kwargs) | |||||
def prepare_value(self, value): | |||||
lower_base, upper_base = self.fields | |||||
if isinstance(value, self.range_type): | |||||
return [ | |||||
lower_base.prepare_value(value.lower), | |||||
upper_base.prepare_value(value.upper), | |||||
] | |||||
if value is None: | |||||
return [ | |||||
lower_base.prepare_value(None), | |||||
upper_base.prepare_value(None), | |||||
] | |||||
return value | |||||
def compress(self, values): | |||||
if not values: | |||||
return None | |||||
lower, upper = values | |||||
if lower is not None and upper is not None and lower > upper: | |||||
raise exceptions.ValidationError( | |||||
self.error_messages['bound_ordering'], | |||||
code='bound_ordering', | |||||
) | |||||
try: | |||||
range_value = self.range_type(lower, upper) | |||||
except TypeError: | |||||
raise exceptions.ValidationError( | |||||
self.error_messages['invalid'], | |||||
code='invalid', | |||||
) | |||||
else: | |||||
return range_value | |||||
class IntegerRangeField(BaseRangeField): | |||||
default_error_messages = {'invalid': _('Enter two whole numbers.')} | |||||
base_field = forms.IntegerField | |||||
range_type = NumericRange | |||||
class FloatRangeField(BaseRangeField): | |||||
default_error_messages = {'invalid': _('Enter two numbers.')} | |||||
base_field = forms.FloatField | |||||
range_type = NumericRange | |||||
class DateTimeRangeField(BaseRangeField): | |||||
default_error_messages = {'invalid': _('Enter two valid date/times.')} | |||||
base_field = forms.DateTimeField | |||||
range_type = DateTimeTZRange | |||||
class DateRangeField(BaseRangeField): | |||||
default_error_messages = {'invalid': _('Enter two valid dates.')} | |||||
base_field = forms.DateField | |||||
range_type = DateRange | |||||
class RangeWidget(MultiWidget): | |||||
def __init__(self, base_widget, attrs=None): | |||||
widgets = (base_widget, base_widget) | |||||
super().__init__(widgets, attrs) | |||||
def decompress(self, value): | |||||
if value: | |||||
return (value.lower, value.upper) | |||||
return (None, None) |
from django.db.models import DateTimeField, Func, UUIDField | |||||
class RandomUUID(Func): | |||||
template = 'GEN_RANDOM_UUID()' | |||||
output_field = UUIDField() | |||||
class TransactionNow(Func): | |||||
template = 'CURRENT_TIMESTAMP' | |||||
output_field = DateTimeField() |
from django.db.models import Index | |||||
__all__ = ['BrinIndex', 'GinIndex', 'GistIndex'] | |||||
class MaxLengthMixin: | |||||
# Allow an index name longer than 30 characters since the suffix is 4 | |||||
# characters (usual limit is 3). Since this index can only be used on | |||||
# PostgreSQL, the 30 character limit for cross-database compatibility isn't | |||||
# applicable. | |||||
max_name_length = 31 | |||||
class BrinIndex(MaxLengthMixin, Index): | |||||
suffix = 'brin' | |||||
def __init__(self, *, pages_per_range=None, **kwargs): | |||||
if pages_per_range is not None and pages_per_range <= 0: | |||||
raise ValueError('pages_per_range must be None or a positive integer') | |||||
self.pages_per_range = pages_per_range | |||||
super().__init__(**kwargs) | |||||
def deconstruct(self): | |||||
path, args, kwargs = super().deconstruct() | |||||
if self.pages_per_range is not None: | |||||
kwargs['pages_per_range'] = self.pages_per_range | |||||
return path, args, kwargs | |||||
def create_sql(self, model, schema_editor, using=''): | |||||
statement = super().create_sql(model, schema_editor, using=' USING brin') | |||||
if self.pages_per_range is not None: | |||||
statement.parts['extra'] = ' WITH (pages_per_range={})'.format( | |||||
schema_editor.quote_value(self.pages_per_range) | |||||
) + statement.parts['extra'] | |||||
return statement | |||||
class GinIndex(Index): | |||||
suffix = 'gin' | |||||
def __init__(self, *, fastupdate=None, gin_pending_list_limit=None, **kwargs): | |||||
self.fastupdate = fastupdate | |||||
self.gin_pending_list_limit = gin_pending_list_limit | |||||
super().__init__(**kwargs) | |||||
def deconstruct(self): | |||||
path, args, kwargs = super().deconstruct() | |||||
if self.fastupdate is not None: | |||||
kwargs['fastupdate'] = self.fastupdate | |||||
if self.gin_pending_list_limit is not None: | |||||
kwargs['gin_pending_list_limit'] = self.gin_pending_list_limit | |||||
return path, args, kwargs | |||||
def create_sql(self, model, schema_editor, using=''): | |||||
statement = super().create_sql(model, schema_editor, using=' USING gin') | |||||
with_params = [] | |||||
if self.gin_pending_list_limit is not None: | |||||
with_params.append('gin_pending_list_limit = %d' % self.gin_pending_list_limit) | |||||
if self.fastupdate is not None: | |||||
with_params.append('fastupdate = {}'.format('on' if self.fastupdate else 'off')) | |||||
if with_params: | |||||
statement.parts['extra'] = 'WITH ({}) {}'.format(', '.join(with_params), statement.parts['extra']) | |||||
return statement | |||||
class GistIndex(MaxLengthMixin, Index): | |||||
suffix = 'gist' | |||||
def __init__(self, *, buffering=None, fillfactor=None, **kwargs): | |||||
self.buffering = buffering | |||||
self.fillfactor = fillfactor | |||||
super().__init__(**kwargs) | |||||
def deconstruct(self): | |||||
path, args, kwargs = super().deconstruct() | |||||
if self.buffering is not None: | |||||
kwargs['buffering'] = self.buffering | |||||
if self.fillfactor is not None: | |||||
kwargs['fillfactor'] = self.fillfactor | |||||
return path, args, kwargs | |||||
def create_sql(self, model, schema_editor): | |||||
statement = super().create_sql(model, schema_editor, using=' USING gist') | |||||
with_params = [] | |||||
if self.buffering is not None: | |||||
with_params.append('buffering = {}'.format('on' if self.buffering else 'off')) | |||||
if self.fillfactor is not None: | |||||
with_params.append('fillfactor = %s' % self.fillfactor) | |||||
if with_params: | |||||
statement.parts['extra'] = 'WITH ({}) {}'.format(', '.join(with_params), statement.parts['extra']) | |||||
return statement |
{% include 'django/forms/widgets/multiwidget.html' %} |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Bashar Al-Abdulhadi, 2015-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||||
"Language-Team: Arabic (http://www.transifex.com/django/django/language/ar/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: ar\n" | |||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " | |||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "ملحقات PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "العنصر %(nth)s في المجموعة لم يتم التحقق منه: " | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "يجب أن تكون المجموعات المتداخلة بنفس الطول." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "كائن JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "يجب أن تكون قيمة JSON صالحة." | |||||
msgid "Could not load JSON data." | |||||
msgstr "لا يمكن عرض بيانات JSON." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "المُدخل يجب أن يكون بصيغة بصيغة قاموس JSON." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "القيمة '%(value)s' يجب أن تكون قيمة JSON صالحة." | |||||
msgid "Enter two valid values." | |||||
msgstr "إدخال قيمتين صالحتين." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "بداية المدى يجب ألا تتجاوز نهاية المدى." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "أدخل رقمين كاملين." | |||||
msgid "Enter two numbers." | |||||
msgstr "أدخل رقمين." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "أدخل تاريخين/وقتين صحيحين." | |||||
msgid "Enter two valid dates." | |||||
msgstr "أدخل تاريخين صحيحين." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"القائمة تحتوي على %(show_value)d عنصر, يجب أن لا تحتوي على أكثر من " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"القائمة تحتوي على %(show_value)d عنصر, يجب أن لا تحتوي على أكثر من " | |||||
"%(limit_value)d." | |||||
msgstr[2] "" | |||||
"القائمة تحتوي على %(show_value)d عنصرين, يجب أن لا تحتوي على أكثر من " | |||||
"%(limit_value)d." | |||||
msgstr[3] "" | |||||
"القائمة تحتوي على %(show_value)d عناصر, يجب أن لا تحتوي على أكثر من " | |||||
"%(limit_value)d." | |||||
msgstr[4] "" | |||||
"القائمة تحتوي على %(show_value)d عنصر, يجب أن لا تحتوي على أكثر من " | |||||
"%(limit_value)d." | |||||
msgstr[5] "" | |||||
"القائمة تحتوي على %(show_value)d عنصر, يجب أن لا تحتوي على أكثر من " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"القائمة تحتوي على %(show_value)d عنصر, يجب أن لا تحتوي على أقل من " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"القائمة تحتوي على %(show_value)d عنصر, يجب أن لا تحتوي على أقل من " | |||||
"%(limit_value)d." | |||||
msgstr[2] "" | |||||
"القائمة تحتوي على %(show_value)d عنصرين, يجب أن لا تحتوي على أقل من " | |||||
"%(limit_value)d." | |||||
msgstr[3] "" | |||||
"القائمة تحتوي على %(show_value)d عناصر, يجب أن لا تحتوي على أقل من " | |||||
"%(limit_value)d." | |||||
msgstr[4] "" | |||||
"القائمة تحتوي على %(show_value)d عنصر, يجب أن لا تحتوي على أقل من " | |||||
"%(limit_value)d." | |||||
msgstr[5] "" | |||||
"القائمة تحتوي على %(show_value)d عنصر, يجب أن لا تحتوي على أقل من " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "بعض المفاتيح مفقودة: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "بعض المفاتيح المزوّدة غير معرّفه: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "تأكد من أن هذا المدى أقل من أو يساوي %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "تأكد من أن هذا المدى أكثر من أو يساوي %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Viktar Palstsiuk <vipals@gmail.com>, 2015 | |||||
# znotdead <zhirafchik@gmail.com>, 2016-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: znotdead <zhirafchik@gmail.com>\n" | |||||
"Language-Team: Belarusian (http://www.transifex.com/django/django/language/" | |||||
"be/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: be\n" | |||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" | |||||
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" | |||||
"%100>=11 && n%100<=14)? 2 : 3);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Пашырэнні PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Элемент масіву нумар %(nth)s не прайшоў праверкі:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Укладзенныя масівы павінны мець аднолькавую даўжыню." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Адпаведнасць радкоў у радкі/нулі" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Значэнне \"%(key)s\" не з'яўляецца радком ці нулём." | |||||
msgid "A JSON object" | |||||
msgstr "JSON аб’ект" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Значэнне павінна быць сапраўдным JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Не атрымалася загрузіць дадзеныя JSON." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Значэнне павінна быць JSON слоўнікам. " | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' значэнне павінна быць сапраўдным JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Увядзіце два сапраўдных значэнні." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Пачатак дыяпазону не павінен перавышаць канец дыяпазону." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Увядзіце два цэлых лікі." | |||||
msgid "Enter two numbers." | |||||
msgstr "Увядзіце два лікі." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Увядзіце дзве/два сапраўдных даты/часу." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Увядзіце дзве сапраўдных даты." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Спіс мае %(show_value)d элемент, ён павінен мець не болей чым " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Спіс мае %(show_value)d элемента, ён павінен мець не болей чым " | |||||
"%(limit_value)d." | |||||
msgstr[2] "" | |||||
"Спіс мае %(show_value)d элементаў, ён павінен мець не болей чым " | |||||
"%(limit_value)d." | |||||
msgstr[3] "" | |||||
"Спіс мае %(show_value)d элементаў, ён павінен мець не болей чым " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Спіс мае %(show_value)d элемент, ён павінен мець не менш чым %(limit_value)d." | |||||
msgstr[1] "" | |||||
"Спіс мае %(show_value)d элемента, ён павінен мець не менш чым " | |||||
"%(limit_value)d." | |||||
msgstr[2] "" | |||||
"Спіс мае %(show_value)d элементаў, ён павінен мець не менш чым " | |||||
"%(limit_value)d." | |||||
msgstr[3] "" | |||||
"Спіс мае %(show_value)d элементаў, ён павінен мець не менш чым " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Не хапае нейкіх ключоў: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Дадзены нейкія невядомыя ключы: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Упэўніцеся, что ўсе элементы гэтага інтэрвалу менш ці раўны %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Упэўніцеся, что ўсе элементы гэтага інтэрвалу больш ці раўны %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Todor Lubenov <tgl.sysdev@gmail.com>, 2015 | |||||
# Venelin Stoykov <vkstoykov@gmail.com>, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||||
"Language-Team: Bulgarian (http://www.transifex.com/django/django/language/" | |||||
"bg/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: bg\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL разширения" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Стойност %(nth)s в масива не валидират:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Вложените масиви, трябва да имат същата дължина." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "JSON обект" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Стойността трябва да е валиден JSON" | |||||
msgid "Could not load JSON data." | |||||
msgstr "Не можа да зареди JSON данни ." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' стойност трябва да е JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Въведете две валидни стойности." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Началото на обхвата не трябва да превишава края му." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Въведете две цели числа" | |||||
msgid "Enter two numbers." | |||||
msgstr "Въведете две числа." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Въведете две валидни дати/времена." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Въведете две коректни дати." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Списъкът съдържа %(show_value)d елемент, а трябва да има не повече от " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Списъкът съдържа %(show_value)d елемента, а трябва да има не повече от " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Списъкът съдържа %(show_value)d елемент, а трябва да има поне " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Списъкът съдържа %(show_value)d елемента, а трябва да има поне " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Някои ключове липсват: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Бяха предоставени някои неизвестни ключове: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Уверете се, че този обхват е изцяло по-малък от или равен на %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Уверете се че интервала е изцяло по-голям от или равен на %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Antoni Aloy <aaloy@apsl.net>, 2015,2017 | |||||
# duub qnnp, 2015 | |||||
# Roger Pons <rogerpons@gmail.com>, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Antoni Aloy <aaloy@apsl.net>\n" | |||||
"Language-Team: Catalan (http://www.transifex.com/django/django/language/" | |||||
"ca/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: ca\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Extensions de PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "L'element %(nth)s de la matriu no valida:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Les matrius niades han de tenir la mateixa longitud." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Mapa de cadenes a cadenes/nuls" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "El valor de \"%(key)s no és ni una cadena ni un nul." | |||||
msgid "A JSON object" | |||||
msgstr "Un objecte JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "El valor ha de ser JSON vàlid." | |||||
msgid "Could not load JSON data." | |||||
msgstr "No es poden carregar les dades JSON" | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "L'entrada ha de ser un diccionari JSON" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "El valor '%(value)s' ha de ser JSON vàlid." | |||||
msgid "Enter two valid values." | |||||
msgstr "Introdueixi dos valors vàlids." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "L'inici del rang no pot excedir el seu final." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Introduïu dos números enters positius." | |||||
msgid "Enter two numbers." | |||||
msgstr "Introduïu dos números." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Introduïu dues data/hora vàlides." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Introduïu dos dates vàlides." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La llista conté %(show_value)d element, no n'hauria de tenir més de " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La llista conté %(show_value)d elements, no n'hauria de tenir més de " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La llista conté %(show_value)d element, no n'hauria de contenir menys de " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La llista conté %(show_value)d elements, no n'hauria de contenir menys de " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Algunes claus no hi són: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "S'han facilitat claus desconegudes: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Asseguri's que aquest rang és completament menor o igual a %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Asseguri's que aquest rang és completament major o igual a %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Tomáš Ehrlich <tomas.ehrlich@gmail.com>, 2015 | |||||
# Vláďa Macek <macek@sandbox.cz>, 2015-2018 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2018-02-14 11:44+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" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Rozšíření pro PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Položka s indexem %(nth)s v seznamu je neplatná: " | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Vnořená pole musejí mít stejnou délku." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Mapování řetězců na řetězce či hodnoty NULL" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Hodnota s klíčem \"%(key)s\" není řetězec ani NULL." | |||||
msgid "A JSON object" | |||||
msgstr "Objekt typu JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Musí být v platném formátu JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Data typu JSON nelze načíst." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Vstup musí být slovník formátu JSON." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "Hodnota '%(value)s' musí být v platném formátu JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Zadejte dvě platné hodnoty." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Počáteční hodnota rozsahu nemůže být vyšší než koncová hodnota." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Zadejte dvě celá čísla." | |||||
msgid "Enter two numbers." | |||||
msgstr "Zadejte dvě čísla." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Zadejte dvě platné hodnoty data nebo času." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Zadejte dvě platná data." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Seznam obsahuje %(show_value)d položku, ale neměl by obsahovat více než " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Seznam obsahuje %(show_value)d položky, ale neměl by obsahovat více než " | |||||
"%(limit_value)d." | |||||
msgstr[2] "" | |||||
"Seznam obsahuje %(show_value)d položek, ale neměl by obsahovat více než " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Seznam obsahuje %(show_value)d položku, ale neměl by obsahovat méně než " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Seznam obsahuje %(show_value)d položky, ale neměl by obsahovat méně než " | |||||
"%(limit_value)d." | |||||
msgstr[2] "" | |||||
"Seznam obsahuje %(show_value)d položek, ale neměl by obsahovat méně než " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Některé klíče chybí: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Byly zadány neznámé klíče: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "Nejvyšší hodnota rozsahu musí být menší nebo rovna %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "Nejnižší hodnota rozsahu musí být větší nebo rovna %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Erik Wognsen <r4mses@gmail.com>, 2015-2017 | |||||
# valberg <valberg@orn.li>, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-24 16:43+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" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: da\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL udvidelser" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Element %(nth)s i array'et blev ikke valideret." | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Indlejrede arrays skal have den samme længde." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Afbildning fra strenge til strenge/nulls" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Værdien af \"%(key)s\" er ikke en streng eller null." | |||||
msgid "A JSON object" | |||||
msgstr "Et JSON-objekt." | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Værdien skal være gyldig JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Kunne ikke indlæse JSON-data." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Input skal være et JSON-dictionary." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s'-værdien skal være gyldig JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Indtast to gyldige værdier." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Starten af intervallet kan ikke overstige slutningen af intervallet." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Indtast to heltal." | |||||
msgid "Enter two numbers." | |||||
msgstr "Indtast to tal." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Indtast to gyldige dato/tider." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Indtast to gyldige datoer." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Listen indeholder %(show_value)d element, en bør ikke indeholde mere end " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Listen indeholder %(show_value)d elementer, den bør ikke indeholde mere end " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Listen indeholder %(show_value)d element, den bør ikke indeholde mindre end " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Listen indeholder %(show_value)d elementer, den bør ikke indeholde mindre " | |||||
"end %(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Nøgler mangler: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Ukendte nøgler angivet: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Sørg for at dette interval er fuldstændigt mindre end eller lig med " | |||||
"%(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Sørg for at dette interval er fuldstændigt større end eller lig med " | |||||
"%(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Jannis Leidel <jannis@leidel.info>, 2015-2017 | |||||
# Jens Neuhaus <kontakt@jensneuhaus.de>, 2016 | |||||
# Markus Holtermann <inyoka@markusholtermann.eu>, 2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: Markus Holtermann <inyoka@markusholtermann.eu>\n" | |||||
"Language-Team: German (http://www.transifex.com/django/django/language/de/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: de\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL-Erweiterungen" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Element %(nth)s des Arrays ist ungültig:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Verschachtelte Arrays müssen die gleiche Länge haben." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Zuordnung von Zeichenketten zu Zeichenketten/NULLs" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Der Wert für „%(key)s“ ist keine Zeichenkette oder NULL." | |||||
msgid "A JSON object" | |||||
msgstr "Ein JSON-Objekt" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Wert muss gültiges JSON sein." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Konnte JSON-Daten nicht laden." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Eingabe muss ein JSON-Dictionary sein." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "„%(value)s“ Wert muss gültiges JSON sein." | |||||
msgid "Enter two valid values." | |||||
msgstr "Bitte zwei gültige Werte eingeben." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Der Anfang des Wertbereichs darf nicht das Ende überschreiten." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Bitte zwei ganze Zahlen eingeben." | |||||
msgid "Enter two numbers." | |||||
msgstr "Bitte zwei Zahlen eingeben." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Bitte zwei gültige Datum/Uhrzeit-Werte eingeben." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Bitte zwei gültige Kalenderdaten eingeben." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Liste enthält %(show_value)d Element, es sollte aber nicht mehr als " | |||||
"%(limit_value)d enthalten." | |||||
msgstr[1] "" | |||||
"Liste enthält %(show_value)d Elemente, es sollte aber nicht mehr als " | |||||
"%(limit_value)d enthalten." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Liste enthält %(show_value)d Element, es sollte aber nicht weniger als " | |||||
"%(limit_value)d enthalten." | |||||
msgstr[1] "" | |||||
"Liste enthält %(show_value)d Elemente, es sollte aber nicht weniger als " | |||||
"%(limit_value)d enthalten." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Einige Werte fehlen: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Einige unbekannte Werte wurden eingegeben: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "Der Wertebereich muss kleiner oder gleich zu %(limit_value)s sein." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "Der Wertebereich muss größer oder gleich zu %(limit_value)s sein." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Michael Wolf <milupo@sorbzilla.de>, 2016-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 00:02+0000\n" | |||||
"Last-Translator: Michael Wolf <milupo@sorbzilla.de>\n" | |||||
"Language-Team: Lower Sorbian (http://www.transifex.com/django/django/" | |||||
"language/dsb/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: dsb\n" | |||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" | |||||
"%100==4 ? 2 : 3);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Rozšyrjenja PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Element %(nth)s w pólnej wariabli njejo se wobkšuśił:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Zakašćikowane pólne wariable muse tu samsku dłujkosć měś." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Konwertěrowanje znamuškowych rjeśazkow do znamuškowych rjeśazkow/nulow" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Gódnota \" %(key)s\" njejo znamuškowy rjeśazk abo null." | |||||
msgid "A JSON object" | |||||
msgstr "JSON-objekt" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Gódnota musy płaśiwy JSON byś." | |||||
msgid "Could not load JSON data." | |||||
msgstr "JSON-daty njejsu se zacytowaś dali." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Zapódaśe musy JSON-słownik byś." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "Gódnota '%(value)s' musy płaśiwy JSON byś." | |||||
msgid "Enter two valid values." | |||||
msgstr "Zapódajśo dwě płaśiwej gódnośe." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Zachopjeńk wobcerka njesmějo kóńc wobcerka pśekšocyś." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Zapódajśo dwě cełej licbje." | |||||
msgid "Enter two numbers." | |||||
msgstr "Zapódajśo dwě licbje." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Zapódajśo dwě płaśiwej datowej/casowej pódaśi." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Zapódajśo dwě płaśiwej datowej pódaśi." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Lisćina wopśimujo %(show_value)d element, wóna njeby dejała wěcej ako " | |||||
"%(limit_value)d wopśimowaś." | |||||
msgstr[1] "" | |||||
"Lisćina wopśimujo %(show_value)d elementa, wóna njeby dejała wěcej ako " | |||||
"%(limit_value)d wopśimowaś." | |||||
msgstr[2] "" | |||||
"Lisćina wopśimujo %(show_value)d elementy, wóna njeby dejała wěcej ako " | |||||
"%(limit_value)d wopśimowaś." | |||||
msgstr[3] "" | |||||
"Lisćina wopśimujo %(show_value)d elementow, wóna njeby dejała wěcej ako " | |||||
"%(limit_value)d wopśimowaś." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Lisćina wopśimujo %(show_value)d element, wóna njeby dejała mjenjej ako " | |||||
"%(limit_value)d wopśimowaś." | |||||
msgstr[1] "" | |||||
"Lisćina wopśimujo %(show_value)d elementa, wóna njeby dejała mjenjej ako " | |||||
"%(limit_value)d wopśimowaś." | |||||
msgstr[2] "" | |||||
"Lisćina wopśimujo %(show_value)d elementy, wóna njeby dejała mjenjej ako " | |||||
"%(limit_value)d wopśimowaś." | |||||
msgstr[3] "" | |||||
"Lisćina wopśimujo %(show_value)d elementow, wóna njeby dejała mjenjej ako " | |||||
"%(limit_value)d wopśimowaś." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Někotare kluce feluju: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Někotare njeznate kluce su se pódali: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Zawěsććo, až toś ten wobcerk jo mjeńšy ako %(limit_value)s abo se rowna." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Zawěsććo, až toś ten wobcerk jo wětšy ako %(limit_value)s abo se rowna." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Giannis Meletakis <meletakis@gmail.com>, 2015 | |||||
# Nick Mavrakis <mavrakis.n@gmail.com>, 2017 | |||||
# Nick Mavrakis <mavrakis.n@gmail.com>, 2016 | |||||
# Pãnoș <panos.laganakos@gmail.com>, 2016 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: Nick Mavrakis <mavrakis.n@gmail.com>\n" | |||||
"Language-Team: Greek (http://www.transifex.com/django/django/language/el/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: el\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Επεκτάσεις της PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "To στοιχείο %(nth)s στον πίνακα δεν είναι έγκυρο:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Οι ένθετοι πίνακες πρέπει να έχουν το ίδιο μήκος." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Αντιστοίχιση strings σε strings/nulls" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Η τιμή του \"%(key)s\" δεν είναι string ή null." | |||||
msgid "A JSON object" | |||||
msgstr "Ένα αντικείμενο JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Η τιμή πρέπει να είναι έγκυρο JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Αδύνατη η φόρτωση των δεδομένων JSON." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Το input πρέπει να είναι ένα έγκυρο JSON dictionary." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "Η τιμή '%(value)s' πρέπει να είναι έγκυρο JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Εισάγετε δύο έγκυρες τιμές." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Η αρχή του range δεν πρέπει να ξεπερνά το τέλος του range." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Εισάγετε δυο ολόκληρους αριθμούς." | |||||
msgid "Enter two numbers." | |||||
msgstr "Εισάγετε δυο αριθμούς." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Εισάγετε δύο έγκυρες ημερομηνίες/ώρες." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Εισάγετε δυο έγκυρες ημερομηνίες." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Η λίστα περιέχει %(show_value)d στοιχείο και δεν πρέπει να περιέχει πάνω από " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Η λίστα περιέχει %(show_value)d στοιχεία και δεν πρέπει να περιέχει λιγότερα " | |||||
"από %(limit_value)d." | |||||
msgstr[1] "" | |||||
"Η λίστα περιέχει %(show_value)d στοιχεία και δεν πρέπει να περιέχει λιγότερα " | |||||
"από %(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Έλειπαν μερικά κλειδιά: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Δόθηκαν μέρικά άγνωστα κλειδιά: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Βεβαιωθείτε ότι το range είναι αυστηρά μικρότερο ή ίσο από %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Βεβαιωθείτε ότι το range είναι αυστηρά μεγαλύτερο ή ίσο από %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: Django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2015-01-18 20:56+0100\n" | |||||
"Last-Translator: Django team\n" | |||||
"Language-Team: English <en@li.org>\n" | |||||
"Language: en\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
#: contrib/postgres/apps.py:12 | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "" | |||||
#: contrib/postgres/fields/array.py:19 contrib/postgres/forms/array.py:15 | |||||
#: contrib/postgres/forms/array.py:145 | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "" | |||||
#: contrib/postgres/fields/array.py:20 | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "" | |||||
#: contrib/postgres/fields/hstore.py:16 | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#: contrib/postgres/fields/hstore.py:17 | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
#: contrib/postgres/fields/jsonb.py:15 | |||||
msgid "A JSON object" | |||||
msgstr "" | |||||
#: contrib/postgres/fields/jsonb.py:17 | |||||
msgid "Value must be valid JSON." | |||||
msgstr "" | |||||
#: contrib/postgres/forms/hstore.py:15 | |||||
msgid "Could not load JSON data." | |||||
msgstr "" | |||||
#: contrib/postgres/forms/hstore.py:18 | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#: contrib/postgres/forms/jsonb.py:16 | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "" | |||||
#: contrib/postgres/forms/ranges.py:13 | |||||
msgid "Enter two valid values." | |||||
msgstr "" | |||||
#: contrib/postgres/forms/ranges.py:14 | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "" | |||||
#: contrib/postgres/forms/ranges.py:59 | |||||
msgid "Enter two whole numbers." | |||||
msgstr "" | |||||
#: contrib/postgres/forms/ranges.py:65 | |||||
msgid "Enter two numbers." | |||||
msgstr "" | |||||
#: contrib/postgres/forms/ranges.py:71 | |||||
msgid "Enter two valid date/times." | |||||
msgstr "" | |||||
#: contrib/postgres/forms/ranges.py:77 | |||||
msgid "Enter two valid dates." | |||||
msgstr "" | |||||
#: contrib/postgres/validators.py:14 | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
#: contrib/postgres/validators.py:21 | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
#: contrib/postgres/validators.py:31 | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "" | |||||
#: contrib/postgres/validators.py:32 | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "" | |||||
#: contrib/postgres/validators.py:73 | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
#: contrib/postgres/validators.py:78 | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Baptiste Darthenay <baptiste+transifex@darthenay.fr>, 2015-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Baptiste Darthenay <baptiste+transifex@darthenay.fr>\n" | |||||
"Language-Team: Esperanto (http://www.transifex.com/django/django/language/" | |||||
"eo/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: eo\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL kromaĵoj" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Ero %(nth)s en la tabelo ne validiĝis:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Ingitaj tabeloj devas havi la saman grandon." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Kongruo de signoĉenoj al signoĉenoj/nulvaloroj" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "La valoro de \"%(key)s\" ne estas signoĉeno nek nulvaloro." | |||||
msgid "A JSON object" | |||||
msgstr "JSON objekto" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Valoro devas esti valida JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Malsukcesis ŝarĝi la JSON datumojn." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "La enigo devas esti JSON vortaro." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' devas esti valida JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Enigu du validajn valorojn." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "La komenco de la intervalo ne devas superi la finon de la intervalo." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Enigu du entjeroj." | |||||
msgid "Enter two numbers." | |||||
msgstr "Enigu du nombroj." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Enigu du validajn dato/horojn." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Enigu du validajn datojn." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La listo enhavas %(show_value)d eron, kaj ne devas enhavi pli ol " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La listo enhavas %(show_value)d erojn, kaj ne devas enhavi pli ol " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La listo enhavas %(show_value)d erojn, kaj devas enhavi pli ol " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La listo enhavas %(show_value)d erojn, kaj devas enhavi pli ol " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Kelkaj ŝlosiloj mankas: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Kelkaj nekonataj ŝlosiloj estis provizitaj: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Bv kontroli, ke la tuta intervalo estas malpli alta aŭ egala al " | |||||
"%(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Bv kontroli, ke la tuta intervalo estas pli alta aŭ egala al %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Antoni Aloy <aaloy@apsl.net>, 2015,2017 | |||||
# Ernesto Avilés Vázquez <whippiii@gmail.com>, 2015 | |||||
# Igor Támara <igor@tamarapatino.org>, 2015 | |||||
# Pablo, 2015 | |||||
# Veronicabh <vero.blazher@gmail.com>, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: Antoni Aloy <aaloy@apsl.net>\n" | |||||
"Language-Team: Spanish (http://www.transifex.com/django/django/language/" | |||||
"es/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: es\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Extensiones de PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "El elemento %(nth)s del arreglo no se pudo validar:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Los arreglos anidados deben tener la misma longitud." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Mapa de cadenas a cadenas/nulos" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "El valor de \"%(key)s\" no es ni una cadena ni un nulo" | |||||
msgid "A JSON object" | |||||
msgstr "Un objeto JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "El valor debe ser un JSON válido." | |||||
msgid "Could not load JSON data." | |||||
msgstr "No se pududieron cargar los datos JSON." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "La entrada debe ser un diccionario JSON" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "El valor \"%(value)s\" debe ser un JSON válido." | |||||
msgid "Enter two valid values." | |||||
msgstr "Introduzca dos valores válidos." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "El comienzo del rango no puede exceder su final." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Ingrese dos números enteros." | |||||
msgid "Enter two numbers." | |||||
msgstr "Ingrese dos números." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Ingrese dos fechas/horas válidas." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Ingrese dos fechas válidas." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La lista contiene %(show_value)d elemento, no debería contener más de " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La lista contiene %(show_value)d elementos, no debería contener más de " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La lista contiene %(show_value)d elemento, no debería contener menos de " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La lista contiene %(show_value)d elementos, no debería contener menos de " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Faltan algunas claves: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Se facilitaron algunas claves desconocidas: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "Asegúrese de que este rango es menor o igual que %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Asegúrese de que este rango es efectivamente mayor o igual que " | |||||
"%(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Ramiro Morales, 2015-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: Ramiro Morales\n" | |||||
"Language-Team: Spanish (Argentina) (http://www.transifex.com/django/django/" | |||||
"language/es_AR/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: es_AR\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Extensiones PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "La validación del ítem %(nth)s del arreglo falló:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Los arreglos anidados deben ser de la misma longitud." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Mapa de cadenas a cadenas/nulos" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "El valor de \"%(key)s\" no es una cadena o nulo." | |||||
msgid "A JSON object" | |||||
msgstr "Un objeto JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "El valor debe ser JSON valido." | |||||
msgid "Could not load JSON data." | |||||
msgstr "No se han podido cargar los datos JSON." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "debe ser un diccionario JSON." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "El valor de '%(value)s' debe ser JSON valido." | |||||
msgid "Enter two valid values." | |||||
msgstr "Introduzca dos valores válidos." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "El inicio del rango no debe ser mayor que el fin del rango." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Introduzca don números enteros." | |||||
msgid "Enter two numbers." | |||||
msgstr "Introduzca dos números." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Introduzca dos fechas/horas válidas." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Introduzca dos fechas válidas." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La lista contiene %(show_value)d item, debe contener no mas de " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La lista contiene %(show_value)d items, debe contener no mas de " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La lista contiene %(show_value)d item, debe contener no mas de " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La lista contiene %(show_value)d items, debe contener no menos de " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "No se encontraron algunas llaves: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Algunas de las llaves provistas son desconocidas: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Asegúrese de que este rango es completamente menor o igual a %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Asegúrese de que este rango es completamente mayor o igual a %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Antoni Aloy <aaloy@apsl.net>, 2015 | |||||
# Ernesto Avilés Vázquez <whippiii@gmail.com>, 2015 | |||||
# Igor Támara <igor@tamarapatino.org>, 2015 | |||||
# Pablo, 2015 | |||||
# Veronicabh <vero.blazher@gmail.com>, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||||
"Language-Team: Spanish (Colombia) (http://www.transifex.com/django/django/" | |||||
"language/es_CO/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: es_CO\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Extensiones de PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "El elemento %(nth)s del arreglo no se pudo validar:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Los arreglos anidados deben tener la misma longitud." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "Un objeto JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "El valor debe ser un JSON válido." | |||||
msgid "Could not load JSON data." | |||||
msgstr "No se pududieron cargar los datos JSON." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "El valor \"%(value)s\" debe ser un JSON válido." | |||||
msgid "Enter two valid values." | |||||
msgstr "Ingrese dos valores válidos." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "El comienzo del rango no puede exceder su final." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Ingrese dos números enteros." | |||||
msgid "Enter two numbers." | |||||
msgstr "Ingrese dos números." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Ingrese dos fechas/horas válidas." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Ingrese dos fechas válidas." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La lista contiene %(show_value)d elemento, no debería contener más de " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La lista contiene %(show_value)d elementos, no debería contener más de " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La lista contiene %(show_value)d elemento, no debería contener menos de " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La lista contiene %(show_value)d elementos, no debería contener menos de " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Faltan algunas claves: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Se facilitaron algunas claves desconocidas: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "Asegúrese de que este rango es menor o igual que %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Asegúrese de que este rango es efectivamente mayor o igual que " | |||||
"%(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Alex Dzul <alexexc2@gmail.com>, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||||
"Language-Team: Spanish (Mexico) (http://www.transifex.com/django/django/" | |||||
"language/es_MX/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: es_MX\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Extensiones PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "" | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "Un objeto JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "El valor debe ser JSON válido" | |||||
msgid "Could not load JSON data." | |||||
msgstr "" | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "" | |||||
msgid "Enter two valid values." | |||||
msgstr "Ingrese dos valores válidos" | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "" | |||||
msgid "Enter two whole numbers." | |||||
msgstr "" | |||||
msgid "Enter two numbers." | |||||
msgstr "Ingrese dos números" | |||||
msgid "Enter two valid date/times." | |||||
msgstr "" | |||||
msgid "Enter two valid dates." | |||||
msgstr "Ingrese dos fechas válidas" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Martin Pajuste <martinpajuste@gmail.com>, 2015 | |||||
# Martin Pajuste <martinpajuste@gmail.com>, 2017 | |||||
# Marti Raudsepp <marti@juffo.org>, 2015-2016 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: Martin Pajuste <martinpajuste@gmail.com>\n" | |||||
"Language-Team: Estonian (http://www.transifex.com/django/django/language/" | |||||
"et/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: et\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL laiendused" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Selement %(nth)s massiivis pole korrektne:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Mitmemõõtmelised massiivid peavad olema sama pikad." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Võtme \"%(key)s\" väärtus ei ole string ega tühi." | |||||
msgid "A JSON object" | |||||
msgstr "JSON objekt" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Väärtus peab olema korrektne JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Ei saanud laadida JSON andmeid." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Sisend peab olema JSON sõnastik." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' väärtus peab olema korrektne JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Sisesta kaks korrektset väärtust." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Vahemiku algus ei või olla suurem kui vahemiku lõpp." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Sisesta kaks täisarvu." | |||||
msgid "Enter two numbers." | |||||
msgstr "Sisesta kaks arvu." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Sisesta kaks korrektset kuupäeva ja kellaaega." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Sisesta kaks korrektset kuupäeva." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Nimekiri sisaldab %(show_value)d elementi, ei tohiks olla rohkem kui " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Nimekiri sisaldab %(show_value)d elementi, ei tohiks olla rohkem kui " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Nimekiri sisaldab %(show_value)d elementi, ei tohiks olla vähem kui " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Nimekiri sisaldab %(show_value)d elementi, ei tohiks olla vähem kui " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Puuduvad võtmeväärtused: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Tundmatud võtmeväärtused: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Veendu, et see vahemik on täielikult väiksem või võrdne kui %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Veendu, et see vahemik on täielikult suurem või võrdne kui %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Eneko Illarramendi <eneko@illarra.com>, 2017 | |||||
# Urtzi Odriozola <urtzi.odriozola@gmail.com>, 2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-25 08:36+0000\n" | |||||
"Last-Translator: Urtzi Odriozola <urtzi.odriozola@gmail.com>\n" | |||||
"Language-Team: Basque (http://www.transifex.com/django/django/language/eu/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: eu\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL hedapenak" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Array-ko %(nth)s elementua ez da balekoa:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Array habiaratuek luzera bera izan behar dute." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "String-etik string/null-era mapa" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "\"%(key)s\"-ren balioa ez da string bat, edo null." | |||||
msgid "A JSON object" | |||||
msgstr "JSON objetu bat" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Balioa ez da baleko JSON bat." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Ezin izan dira JSON datuak kargatu." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Sarrera JSON hiztegi bat izan behar da." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' balioa ez da baleko JSON bat." | |||||
msgid "Enter two valid values." | |||||
msgstr "Idatzi bi baleko balio." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Tartearen hasierak ezin du amaierako tartearen balioa gainditu." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Idatzi bi zenbaki oso." | |||||
msgid "Enter two numbers." | |||||
msgstr "Idatzi bi zenbaki." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Idatzi bi baleko data/ordu." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Idatzi bi baleko data." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Zerrendak elementu %(show_value)d du, ez lituzke %(limit_value)dbaino " | |||||
"gehiago izan behar." | |||||
msgstr[1] "" | |||||
"Zerrendak %(show_value)d elementu ditu, ez lituzke %(limit_value)d baino " | |||||
"gehiago izan behar." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Zerrendak elementu %(show_value)d du, ez lituzke %(limit_value)d baino " | |||||
"gutxiago izan behar." | |||||
msgstr[1] "" | |||||
"Zerrendak %(show_value)d elementu ditu, ez lituzke %(limit_value)d baino " | |||||
"gutxiago izan behar." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Gako batzuk falta dira: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Gako ezezagun batzuk eman dira: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Ziurtatu guztiz tarte hau %(limit_value)s baino txikiagoa edo berdina dela." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Ziurtatu guztiz tarte hau %(limit_value)s baino handiagoa edo berdina dela." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Ali Nikneshan <ali@nikneshan.com>, 2015 | |||||
# Mohammad Hossein Mojtahedi <Mhm5000@gmail.com>, 2016 | |||||
# Pouya Abbassi, 2016 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\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" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "ملحقات Postgres" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "مورد %(nth)s ام در آرایه معتبر نیست: " | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "آرایه های تو در تو باید هم سایز باشند" | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "یک شیء JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "مقدار باید JSON معتبر باشد." | |||||
msgid "Could not load JSON data." | |||||
msgstr "امکان بارگزاری داده های JSON نیست." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "مقدار ورودی باید یک دیکشنری JSON باشد." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "مقدار %(value)s باید JSON معتبر باشد." | |||||
msgid "Enter two valid values." | |||||
msgstr "دو مقدار معتبر وارد کنید" | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "مقدار شروع بازه باید از پایان کوچکتر باشد" | |||||
msgid "Enter two whole numbers." | |||||
msgstr "دو عدد کامل وارد کنید" | |||||
msgid "Enter two numbers." | |||||
msgstr "دو عدد وارد کنید" | |||||
msgid "Enter two valid date/times." | |||||
msgstr "دو تاریخ/ساعت معتبر وارد کنید" | |||||
msgid "Enter two valid dates." | |||||
msgstr "دو تاریخ معتبر وارد کنید" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"لیست شامل %(show_value)d مورد است. ولی باید حداکثر شامل %(limit_value)d مورد " | |||||
"باشد." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"لیست شامل %(show_value)d است، نباید کمتر از %(limit_value)d را شامل شود." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "برخی کلیدها یافت نشدند: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "برخی کلیدهای ارائه شده ناشناختهاند: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "اطمیمنان حاصل کنید که این رنج، کوچکتر یا برابر با %(limit_value)s است." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "اطمینان حاصل کنید که رنج، بزرگتر یا برابر با %(limit_value)s است." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Aarni Koskela, 2015,2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Aarni Koskela\n" | |||||
"Language-Team: Finnish (http://www.transifex.com/django/django/language/" | |||||
"fi/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: fi\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL-laajennukset" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Taulukon %(nth)s alkio ei ole kelvollinen:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Sisäkkäisillä taulukoilla tulee olla sama pituus." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Kartta merkkijonoista merkkijonoihin tai tyhjiin (null)" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Avaimen \"%(key)s\" arvo ei ole merkkijono tai tyhjä (null)." | |||||
msgid "A JSON object" | |||||
msgstr "JSON-tietue" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Arvon pitää olla kelvollista JSONia." | |||||
msgid "Could not load JSON data." | |||||
msgstr "JSON-dataa ei voitu ladata." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Syötteen tulee olla JSON-sanakirja." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "%(value)s-arvo tulee olla kelvollista JSONia." | |||||
msgid "Enter two valid values." | |||||
msgstr "Anna kaksi oikeaa arvoa." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Alueen alku pitää olla pienempi kuin alueen loppu." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Anna kaksi kokonaislukua." | |||||
msgid "Enter two numbers." | |||||
msgstr "Anna kaksi lukua." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Anna kaksi oikeaa päivämäärää/kellonaikaa." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Anna kaksi oikeaa päivämäärää." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Listassa on %(show_value)d arvo, mutta siinä ei saa olla enempää kuin " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Listassa on %(show_value)d arvoa, mutta siinä ei saa olla enempää kuin " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Listassa on %(show_value)d arvo, mutta siinä ei saa olla vähempää kuin " | |||||
"%(limit_value)d arvoa." | |||||
msgstr[1] "" | |||||
"Listassa on %(show_value)d arvoa, mutta siinä ei saa olla vähempää kuin " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Joitain avaimia puuttuu: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Tuntemattomia avaimia annettiin: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Tämän alueen tulee olla kokonaisuudessaan yhtäsuuri tai pienempi kuin " | |||||
"%(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Tämän alueen tulee olla kokonaisuudessaan yhtäsuuri tai suurempi kuin " | |||||
"%(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Claude Paroz <claude@2xlibre.net>, 2015-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+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" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: fr\n" | |||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Extensions PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "L'élément n°%(nth)s du tableau n'est pas valide :" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Les tableaux imbriqués doivent être de même longueur." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Correspondances clé/valeur (chaînes ou valeurs nulles)" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "La valeur de « %(key)s » n'est pas une chaîne, ni une valeur nulle." | |||||
msgid "A JSON object" | |||||
msgstr "Un objet JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "La valeur doit être de la syntaxe JSON valable." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Impossible de charger les données JSON." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Le contenu saisi doit être un dictionnaire JSON." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "La valeur « %(value)s » doit être de la syntaxe JSON valable." | |||||
msgid "Enter two valid values." | |||||
msgstr "Saisissez deux valeurs valides." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Le début de l'intervalle ne peut pas dépasser la fin de l'intervalle." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Saisissez deux nombres entiers." | |||||
msgid "Enter two numbers." | |||||
msgstr "Saisissez deux nombres." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Saisissez deux dates/heures valides." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Saisissez deux dates valides." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La liste contient %(show_value)d élément, mais elle ne devrait pas en " | |||||
"contenir plus de %(limit_value)d." | |||||
msgstr[1] "" | |||||
"La liste contient %(show_value)d éléments, mais elle ne devrait pas en " | |||||
"contenir plus de %(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La liste contient %(show_value)d élément, mais elle doit en contenir au " | |||||
"moins %(limit_value)d." | |||||
msgstr[1] "" | |||||
"La liste contient %(show_value)d éléments, mais elle doit en contenir au " | |||||
"moins %(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Certaines clés sont manquantes : %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Certaines clés inconnues ont été fournies : %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Assurez-vous que cet intervalle est entièrement inférieur ou égal à " | |||||
"%(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Assurez-vous que cet intervalle est entièrement supérieur ou égal à " | |||||
"%(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# GunChleoc, 2016-2017 | |||||
# GunChleoc, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-22 17:29+0000\n" | |||||
"Last-Translator: GunChleoc\n" | |||||
"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" | |||||
"language/gd/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: gd\n" | |||||
"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " | |||||
"(n > 2 && n < 20) ? 2 : 3;\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Leudachain PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Cha deach le dearbhadh an nì %(nth)s san arraigh: " | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Feumaidh an aon fhaid a bhith aig a h-uile arraigh neadaichte." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Mapaichean de shreangan gu sreangan/luachan null" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Chan eil an luach air “%(key)s” ’na shreang no null." | |||||
msgid "A JSON object" | |||||
msgstr "Oibjeact JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Feumaidh an luach a bhith ’na JSON dligheach." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Cha deach leinn dàta JSON a luchdadh." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Feumaidh an t-ion-chur a bhith 'na fhaclair JSON." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "Feumaidh “%(value)s” a bhith ’na JSON dligheach." | |||||
msgid "Enter two valid values." | |||||
msgstr "Cuir a-steach dà luach dligheach." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Chan fhaod toiseach na rainse a bith nas motha na deireadh na rainse." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Cuir a-steach dà àireamh shlàn." | |||||
msgid "Enter two numbers." | |||||
msgstr "Cuir a-steach dà àireamh." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Cuir a-steach dà cheann-là ’s àm dligheach." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Cuir a-steach dà cheann-là dligheach." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Tha %(show_value)d nì air an liosta ach cha bu chòir corr is %(limit_value)d " | |||||
"a bhith oirre." | |||||
msgstr[1] "" | |||||
"Tha %(show_value)d nì air an liosta ach cha bu chòir corr is %(limit_value)d " | |||||
"a bhith oirre." | |||||
msgstr[2] "" | |||||
"Tha %(show_value)d nithean air an liosta ach cha bu chòir corr is " | |||||
"%(limit_value)d a bhith oirre." | |||||
msgstr[3] "" | |||||
"Tha %(show_value)d nì air an liosta ach cha bu chòir corr is %(limit_value)d " | |||||
"a bhith oirre." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Tha %(show_value)d nì air an liosta ach cha bu chòir nas lugha na " | |||||
"%(limit_value)d a bhith oirre." | |||||
msgstr[1] "" | |||||
"Tha %(show_value)d nì air an liosta ach cha bu chòir nas lugha na " | |||||
"%(limit_value)d a bhith oirre." | |||||
msgstr[2] "" | |||||
"Tha %(show_value)d nithean air an liosta ach cha bu chòir nas lugha na " | |||||
"%(limit_value)d a bhith oirre." | |||||
msgstr[3] "" | |||||
"Tha %(show_value)d nì air an liosta ach cha bu chòir nas lugha na " | |||||
"%(limit_value)d a bhith oirre." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Bha cuid a dh’iuchraichean a dhìth: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Chaidh iuchraichean nach aithne dhuinn a shònrachadh: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Dèan cinnteach gu bheil an rainse seo nas lugha na no co-ionnan ri " | |||||
"%(limit_value)s air fad." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Dèan cinnteach gu bheil an rainse seo nas motha na no co-ionnan ri " | |||||
"%(limit_value)s air fad." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# fasouto <fsoutomoure@gmail.com>, 2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: fasouto <fsoutomoure@gmail.com>\n" | |||||
"Language-Team: Galician (http://www.transifex.com/django/django/language/" | |||||
"gl/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: gl\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "" | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "Un obxecto JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "O valor debe ser JSON válido." | |||||
msgid "Could not load JSON data." | |||||
msgstr "" | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "" | |||||
msgid "Enter two valid values." | |||||
msgstr "" | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "" | |||||
msgid "Enter two whole numbers." | |||||
msgstr "" | |||||
msgid "Enter two numbers." | |||||
msgstr "Insira dous números." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "" | |||||
msgid "Enter two valid dates." | |||||
msgstr "Insira dúas datas válidas." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Meir Kriheli <mkriheli@gmail.com>, 2015,2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Meir Kriheli <mkriheli@gmail.com>\n" | |||||
"Language-Team: Hebrew (http://www.transifex.com/django/django/language/he/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: he\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "הרחבות PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "פריט %(nth)s במערך לא עבר בדיקת חוקיות: " | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "מערכים מקוננים חייבים להיות באותו האורך." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "מיפוי מחרוזות אל מחרוזות/nulls." | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "הערך של \"%(key)s\" אינו מחרוזת או null." | |||||
msgid "A JSON object" | |||||
msgstr "אובייקט JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "ערך חייב להיות JSON חוקי." | |||||
msgid "Could not load JSON data." | |||||
msgstr "לא ניתן לטעון מידע JSON." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "הקלט חייב להיות מילון JSON." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "עאך '%(value)s' חייב להיות JSON חוקי." | |||||
msgid "Enter two valid values." | |||||
msgstr "נא להזין שני ערכים חוקיים." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "התחלת טווח אינה יכולה גדולה יותר מסופו." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "נא להזין שני מספרים שלמים." | |||||
msgid "Enter two numbers." | |||||
msgstr "נא להזין שני מספרים." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "נא להזין שני תאריך/שעה חוקיים." | |||||
msgid "Enter two valid dates." | |||||
msgstr "נא להזין שני תאריכים חוקיים." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"הרשימה מכילה פריט %(show_value)d, עליה להכיל לא יותר מ-%(limit_value)d." | |||||
msgstr[1] "" | |||||
"הרשימה מכילה %(show_value)d פריטים, עליה להכיל לא יותר מ-%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"הרשימה מכילה פריט %(show_value)d, עליה להכיל לא פחות מ-%(limit_value)d." | |||||
msgstr[1] "" | |||||
"הרשימה מכילה %(show_value)d פריטים, עליה להכיל לא פחות מ-%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "חלק מהמפתחות חסרים: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "סופקו מספר מפתחות לא ידועים: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "יש לוודא שטווח זה קטן מ או שווה ל-%(limit_value)s בשלמותו." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "יש לוודא שטווח זה גדול מ או שווה ל-%(limit_value)s בשלמותו." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Filip Cuk <filipcuk2@gmail.com>, 2016 | |||||
# Mislav Cimperšak <mislav.cimpersak@gmail.com>, 2016 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||||
"Language-Team: Croatian (http://www.transifex.com/django/django/language/" | |||||
"hr/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: hr\n" | |||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" | |||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "" | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "JSON objekt" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Vrijednost mora biti ispravan JSON" | |||||
msgid "Could not load JSON data." | |||||
msgstr "JSON podatci neuspješno učitani." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' vrijednost mora biti ispravan JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Unesite 2 ispravne vrijednosti." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "" | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Unesite dva cijela broja." | |||||
msgid "Enter two numbers." | |||||
msgstr "Unesite dva broja." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Unesite dva ispravna datuma/vremena." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Unesite dva ispravna datuma." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
msgstr[2] "" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
msgstr[2] "" | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Michael Wolf <milupo@sorbzilla.de>, 2016-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 00:02+0000\n" | |||||
"Last-Translator: Michael Wolf <milupo@sorbzilla.de>\n" | |||||
"Language-Team: Upper Sorbian (http://www.transifex.com/django/django/" | |||||
"language/hsb/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: hsb\n" | |||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" | |||||
"%100==4 ? 2 : 3);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Rozšěrjenja PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Element %(nth)s w pólnej wariabli njeje so wobkrućił:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Zakašćikowane pólne wariable maja samsnu dołhosć." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Konwertowanje znamješkowych rjećazkow do znamješkowych rjećazkow/nulow" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Hódnota \" %(key)s\" znamješkowy rjećazk abo null njeje." | |||||
msgid "A JSON object" | |||||
msgstr "JSON-objekt" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Hódnota dyrbi płaćiwy JSON być." | |||||
msgid "Could not load JSON data." | |||||
msgstr "JSON-daty njedachu so začitać." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Zapodaće dyrbi JSON-słownik być." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "Hódnota '%(value)s' dyrbi płaćiwy JSON być." | |||||
msgid "Enter two valid values." | |||||
msgstr "Zapodajće dwě płaćiwej hódnoće." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Spočatk wobłuka njesmě kónc wobłuka překročić." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Zapodajće dwě cyłej ličbje." | |||||
msgid "Enter two numbers." | |||||
msgstr "Zapodajće dwě ličbje." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Zapódajće dwě płaćiwej datowej/časowej podaći." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Zapodajće dwě płaćiwej datowej podaći." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Lisćina %(show_value)d element wobsahuje, wona njeměła wjace hač " | |||||
"%(limit_value)d wobsahować." | |||||
msgstr[1] "" | |||||
"Lisćina %(show_value)d elementaj wobsahuje, wona njeměła wjace hač " | |||||
"%(limit_value)d wobsahować." | |||||
msgstr[2] "" | |||||
"Lisćina %(show_value)d elementy wobsahuje, wona njeměła wjace hač " | |||||
"%(limit_value)d wobsahować." | |||||
msgstr[3] "" | |||||
"Lisćina %(show_value)d elementow wobsahuje, wona njeměła wjace hač " | |||||
"%(limit_value)d wobsahować." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Lisćina %(show_value)d element wobsahuje, wona njeměła mjenje hač " | |||||
"%(limit_value)d wobsahować." | |||||
msgstr[1] "" | |||||
"Lisćina %(show_value)d elementaj wobsahuje, wona njeměła mjenje hač " | |||||
"%(limit_value)d wobsahować." | |||||
msgstr[2] "" | |||||
"Lisćina %(show_value)d elementy wobsahuje, wona njeměła mjenje hač " | |||||
"%(limit_value)d wobsahować." | |||||
msgstr[3] "" | |||||
"Lisćina %(show_value)d elementow wobsahuje, wona njeměła mjenje hač " | |||||
"%(limit_value)d wobsahować." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Někotre kluče faluje: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Někotre njeznate kluče su so podali: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "Zawěsćće. zo tutón wobłuk je mjeńši hač abo runja %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "Zawěsćće, zo tutón wobłuk je wjetši hač abo runja %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# András Veres-Szentkirályi, 2016 | |||||
# Dóra Szendrei <szendrgigi@gmail.com>, 2017 | |||||
# János R (Hangya), 2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: Dóra Szendrei <szendrgigi@gmail.com>\n" | |||||
"Language-Team: Hungarian (http://www.transifex.com/django/django/language/" | |||||
"hu/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: hu\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL kiterjesztések" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "A tömb %(nth)s. értéke érvénytelen:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "A belső tömböknek egyforma hosszúaknak kell lenniük." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "String-string/null leképezés" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "\"%(key)s\" értéke nem karakterlánc vagy null." | |||||
msgid "A JSON object" | |||||
msgstr "Egy JSON objektum" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Az érték érvényes JSON kell legyen." | |||||
msgid "Could not load JSON data." | |||||
msgstr "JSON adat betöltése sikertelen." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "A bemenetnek JSON szótárnak kell lennie." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' értéknek érvényes JSON-nek kell lennie." | |||||
msgid "Enter two valid values." | |||||
msgstr "Adjon meg két érvényes értéket." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "A tartomány eleje nem lehet nagyobb a tartomány végénél." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Adjon meg két egész számot." | |||||
msgid "Enter two numbers." | |||||
msgstr "Adjon meg két számot." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Adjon meg két érvényes dátumot/időt." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Adjon meg két érvényes dátumot." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"A lista %(show_value)d elemet tartalmaz, legfeljebb %(limit_value)d lehetne." | |||||
msgstr[1] "" | |||||
"A lista %(show_value)d elemet tartalmaz, legfeljebb %(limit_value)d lehetne." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"A lista %(show_value)d elemet tartalmaz, legalább %(limit_value)d kellene." | |||||
msgstr[1] "" | |||||
"A lista %(show_value)d elemet tartalmaz, legalább %(limit_value)d kellene." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Néhány kulcs hiányzik: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Néhány ismeretlen kulcs érkezett: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Bizonyosodjon meg róla, hogy a tartomány egésze kevesebb mint " | |||||
"%(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Bizonyosodjon meg róla, hogy a tartomány egésze nagyobb mint %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Martijn Dekker <mcdutchie@hotmail.com>, 2016 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||||
"Language-Team: Interlingua (http://www.transifex.com/django/django/language/" | |||||
"ia/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: ia\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Extensiones PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Le elemento %(nth)s in le array non passava validation:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Arrays annidate debe haber le mesme longitude." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "" | |||||
msgid "Could not load JSON data." | |||||
msgstr "" | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "" | |||||
msgid "Enter two valid values." | |||||
msgstr "" | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "" | |||||
msgid "Enter two whole numbers." | |||||
msgstr "" | |||||
msgid "Enter two numbers." | |||||
msgstr "" | |||||
msgid "Enter two valid date/times." | |||||
msgstr "" | |||||
msgid "Enter two valid dates." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
msgstr[1] "" | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Fery Setiawan <gembelweb@gmail.com>, 2015-2017 | |||||
# M Asep Indrayana <me@drayanaindra.com>, 2015 | |||||
# oon arfiandwi (OonID) <oon.arfiandwi@gmail.com>, 2016 | |||||
# rodin <romihardiyanto@gmail.com>, 2016 | |||||
# Sutrisno Efendi <kangfend@gmail.com>, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: Fery Setiawan <gembelweb@gmail.com>\n" | |||||
"Language-Team: Indonesian (http://www.transifex.com/django/django/language/" | |||||
"id/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: id\n" | |||||
"Plural-Forms: nplurals=1; plural=0;\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Ekstensi PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Item %(nth)s di dalam array tidak divalidasi:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Array bersaran harus mempunyai panjang yang sama." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Pemetaan dari strings ke string/null" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Nilai dari \"%(key)s\" adalah bukan sebuah string atau null." | |||||
msgid "A JSON object" | |||||
msgstr "Obyek JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Nilai harus berupa JSON yang valid." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Tidak dapat memuat data JSON." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Masukan harus kamus JSON." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "Nilai '%(value)s' harus berupa JSON yang valid." | |||||
msgid "Enter two valid values." | |||||
msgstr "Masukkan dua nilai yang valid." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Awal jangkauan harus tidak melebihi akhir dari jangkauan." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Masukkan dua buah bilangan bulat." | |||||
msgid "Enter two numbers." | |||||
msgstr "Masukkan dua buah bilangan." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Masukan dua buah tanggal/waktu." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Masukan dua buah tanggal yang benar." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Daftar mengandung %(show_value)d item, dia harus mengandung tidak lebih dari " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Daftar kandungan item %(show_value)d, setidaknya harus mengandung kurang " | |||||
"dari %(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Ada yang salah di suatu kunci: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Suatu kunci yang tidak di ketahui sumbernya: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Pastikan bahwa jangkauan ini sepenuhnya kurang dari atau sama dengan " | |||||
"%(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Pastikan bahwa jangkauan ini sepenuhnya lebih besar dari atau sama dengan " | |||||
"%(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Thordur Sigurdsson <thordur@ja.is>, 2016-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Thordur Sigurdsson <thordur@ja.is>\n" | |||||
"Language-Team: Icelandic (http://www.transifex.com/django/django/language/" | |||||
"is/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: is\n" | |||||
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL viðbætur" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Hlutur %(nth)s í listanum er ógildur:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Faldaðir (nested) listar verða að vera af sömu lengd." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Möppun strengja í strengi/null" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Gildið á \"%(key)s\" er ekki strengur eða null." | |||||
msgid "A JSON object" | |||||
msgstr "JSON hlutur" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Gildi verður að vera gilt JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Gat ekki hlaðið inn JSON gögnum." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Inntak verður að vera JSON hlutur (dictionary)." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "Gildi '%(value)s' verður að vera gilt JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Sláðu inn tvö gild gildi." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Upphaf bils má ekki ná yfir endalok bils." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Sláðu inn tvær heilar tölur." | |||||
msgid "Enter two numbers." | |||||
msgstr "Sláðu inn tvær tölur." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Sláðu inn tvær gildar dagsetningar ásamt tíma." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Sláðu inn tvær gildar dagsetningar." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Listinn inniheldur %(show_value)d hlut, en má ekki innihalda fleiri en " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Listinn inniheldur %(show_value)d hluti, en má ekki innihalda fleiri en " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Listinn inniheldur %(show_value)d hlut, en má ekki innihalda færri en " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Listinn inniheldur %(show_value)d hluti, en má ekki innihalda færri en " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Þessa lykla vantar: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Þessir óþekktu lyklar fundust: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Gakktu úr skugga um að þetta bil sé minna eða jafnt og %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Gakktu úr skugga um að þetta bil sé stærra eða jafnt og %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# bbstuntman <claudiu.andrei.roman@gmail.com>, 2017 | |||||
# Flavio Curella <flavio.curella@gmail.com>, 2016 | |||||
# palmux <palmux@gmail.com>, 2015 | |||||
# Mattia Procopio <promat85@gmail.com>, 2015 | |||||
# Stefano Brentegani <sbrentegani@gmail.com>, 2015-2016 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: palmux <palmux@gmail.com>\n" | |||||
"Language-Team: Italian (http://www.transifex.com/django/django/language/" | |||||
"it/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: it\n" | |||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "Estensioni per PostgreSQL" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "L'elemento %(nth)s dell'array non ha superato la validazione:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Gli array annidati devono avere la stessa lunghezza." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Mappa di stringhe a stringhe/null" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Il valore di \"%(key)s\" non è una stringa o nullo." | |||||
msgid "A JSON object" | |||||
msgstr "Un oggetto JSON" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Il valore deve essere un JSON valido." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Caricamento dati JSON fallito." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "L'input deve essere un dizionario JSON." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "Il valore di '%(value)s' deve essere un JSON valido." | |||||
msgid "Enter two valid values." | |||||
msgstr "Inserisci due valori validi." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "" | |||||
"Il valore iniziale dell'intervallo non può essere superiore al valore finale." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Inserisci due numeri interi." | |||||
msgid "Enter two numbers." | |||||
msgstr "Inserisci due numeri." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Inserisci due valori data/ora validi." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Inserisci due date valide." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La lista contiene %(show_value)d oggetto, non dovrebbe contenerne più di " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La lista contiene %(show_value)d elementi, e dovrebbe contenerne al massimo " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"La lista contiene %(show_value)d oggetto, non dovrebbe contenerne meno di " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"La lista contiene %(show_value)d oggetti, e dovrebbe contenerne almeno " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Alcune chiavi risultano mancanti: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Sono state fornite alcune chiavi sconosciute: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Assicurati che questo intervallo sia interamente minore o uguale a " | |||||
"%(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Assicurati che questo intervallo sia interamente maggiore o uguale a " | |||||
"%(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Shinya Okano <tokibito@gmail.com>, 2015-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Shinya Okano <tokibito@gmail.com>\n" | |||||
"Language-Team: Japanese (http://www.transifex.com/django/django/language/" | |||||
"ja/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: ja\n" | |||||
"Plural-Forms: nplurals=1; plural=0;\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL拡張" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "配列内のアイテム %(nth)s は検証できませんでした:" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "ネストした配列は同じ長さにしなければなりません。" | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "文字列と文字列/NULLのマップ" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "\"%(key)s\" の値は文字列または NULL ではありません。" | |||||
msgid "A JSON object" | |||||
msgstr "JSONオブジェクト" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "JSONとして正しい値にしてください。" | |||||
msgid "Could not load JSON data." | |||||
msgstr "JSONデータを読み込めませんでした。" | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "JSON辞書を入力しなければなりません。" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' は正しいJSONにしなければなりません。" | |||||
msgid "Enter two valid values." | |||||
msgstr "2つの値を正しく入力してください。" | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "範囲の開始は、範囲の終わりを超えてはなりません。" | |||||
msgid "Enter two whole numbers." | |||||
msgstr "2つの整数を入力してください。" | |||||
msgid "Enter two numbers." | |||||
msgstr "2つの数値を入力してください。" | |||||
msgid "Enter two valid date/times." | |||||
msgstr "2つの日付/時間を入力してください。" | |||||
msgid "Enter two valid dates." | |||||
msgstr "2つの日付を入力してください。" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"リストには%(show_value)d個のアイテムが含まれますが、%(limit_value)d個までしか" | |||||
"含められません。" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"リストには%(show_value)d個のアイテムが含まれますが、%(limit_value)d個までしか" | |||||
"含められません。" | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "いくつかのキーが欠落しています: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "いくつかの不明なキーがあります: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "この範囲が完全に%(limit_value)s以下であることを確認してください。" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "この範囲が完全に%(limit_value)s以上であることを確認してください。" |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# André Bouatchidzé <a@anbz.net>, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||||
"Language-Team: Georgian (http://www.transifex.com/django/django/language/" | |||||
"ka/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: ka\n" | |||||
"Plural-Forms: nplurals=1; plural=0;\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL-ის გაფართოებები" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "" | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "" | |||||
msgid "Could not load JSON data." | |||||
msgstr "" | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "" | |||||
msgid "Enter two valid values." | |||||
msgstr "" | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "" | |||||
msgid "Enter two whole numbers." | |||||
msgstr "შეიყვანეთ ორი მთელი რიცხვი." | |||||
msgid "Enter two numbers." | |||||
msgstr "შეიყვანეთ ორი რიცხვი." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "" | |||||
msgid "Enter two valid dates." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Leo Trubach <leotrubach@gmail.com>, 2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n" | |||||
"Language-Team: Kazakh (http://www.transifex.com/django/django/language/kk/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: kk\n" | |||||
"Plural-Forms: nplurals=1; plural=0;\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL кеңейтулері" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Ауқым %(nth)s элементінің сенімділігі расталмаған" | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Бір-бірін ішіне салынған ауқымдардың ұзындықтары бірдей болу керек" | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "" | |||||
msgid "A JSON object" | |||||
msgstr "" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "" | |||||
msgid "Could not load JSON data." | |||||
msgstr "" | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "" | |||||
msgid "Enter two valid values." | |||||
msgstr "" | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "" | |||||
msgid "Enter two whole numbers." | |||||
msgstr "" | |||||
msgid "Enter two numbers." | |||||
msgstr "" | |||||
msgid "Enter two valid date/times." | |||||
msgstr "" | |||||
msgid "Enter two valid dates." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# hoseung2 <ghyutjik123@gmail.com>, 2017 | |||||
# Chr0m3 <chr0m3.kr@gmail.com>, 2015 | |||||
# 조민권 <minkwon007@gmail.com>, 2016 | |||||
# minsung kang, 2015 | |||||
# Subin Choi <os1742@gmail.com>, 2016 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: hoseung2 <ghyutjik123@gmail.com>\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" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: ko\n" | |||||
"Plural-Forms: nplurals=1; plural=0;\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL 확장" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "배열 안의 %(nth)s 이/가 확인되지 않았습니다." | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "네스팅된 배열은 반드시 같은 길이를 가져야 합니다." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "문자열을 문자열/null 에 매핑" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "\"%(key)s\"의 값은 문자열 또는 null이 아닙니다." | |||||
msgid "A JSON object" | |||||
msgstr "JSON 객체" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "올바른 JSON 형식이여야 합니다." | |||||
msgid "Could not load JSON data." | |||||
msgstr "JSON 데이터를 불러오지 못했습니다." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "입력은 JSON 사전이어야만 합니다." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' 값은 올바른 JSON 형식이여야 합니다." | |||||
msgid "Enter two valid values." | |||||
msgstr "유효한 두 값을 입력하세요." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "범위의 시작은 끝보다 클 수 없습니다." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "두 정수를 입력하세요." | |||||
msgid "Enter two numbers." | |||||
msgstr "두 숫자를 입력하세요." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "올바른 날짜/시각 두 개를 입력하세요." | |||||
msgid "Enter two valid dates." | |||||
msgstr "올바른 날짜 두 개를 입력하세요." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"리스트는 %(show_value)d 아이템들을 포함하며, %(limit_value)d를 초과해서 포함" | |||||
"할 수 없습니다." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"리스트는 %(show_value)d 아이템들을 포함하며, %(limit_value)d 이상 포함해야 합" | |||||
"니다." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "일부 키가 누락되어있습니다: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "일부 알 수 없는 키가 제공되었습니다. : %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "주어진 범위가 %(limit_value)s 보다 작거나 같은지 확인하십시오." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "주어진 범위가 %(limit_value)s 보다 크거나 같은지 확인하십시오." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Matas Dailyda <matas@dailyda.com>, 2015-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-21 22:44+0000\n" | |||||
"Last-Translator: Matas Dailyda <matas@dailyda.com>\n" | |||||
"Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" | |||||
"lt/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"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" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL plėtiniai" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Masyve nevalidus %(nth)s elementas: " | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Iterpti vienas į kitą masyvai turi būti vienodo ilgio." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Susietos tekstinės reikšmės su tekstinėmis reikšmėmis/nulls" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "\"%(key)s\" reikšmė nėra tekstinė arba null." | |||||
msgid "A JSON object" | |||||
msgstr "JSON objektas" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Reikšmė turi būti tinkamas JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Nepavyko užkrauti JSON duomenų." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Įvestis turi būti JSON žodynas." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' reikšmė turi būti tinkamas JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Įveskite dvi tinkamas reikšmes." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Diapazono pradžia negali būti didesnė už diapazono pabaigą." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Įveskite du sveikus skaičius." | |||||
msgid "Enter two numbers." | |||||
msgstr "Įveskite du skaičius." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Įveskite dvi tinkamas datas/laikus." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Įveskite dvi tinkamas datas." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Sąrašas turi %(show_value)d elementą. Sąrašas neturėtų turėti daugiau " | |||||
"elementų nei %(limit_value)d." | |||||
msgstr[1] "" | |||||
"Sąrašas turi %(show_value)d elementus. Sąrašas neturėtų turėti daugiau " | |||||
"elementų nei %(limit_value)d." | |||||
msgstr[2] "" | |||||
"Sąrašas turi %(show_value)d elementų. Sąrašas neturėtų turėti daugiau " | |||||
"elementų nei %(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Sąrašas turi %(show_value)d elementą. Sąrašas turėtų turėti daugiau elementų " | |||||
"nei %(limit_value)d." | |||||
msgstr[1] "" | |||||
"Sąrašas turi %(show_value)d elementus. Sąrašas turėtų turėti daugiau " | |||||
"elementų nei %(limit_value)d." | |||||
msgstr[2] "" | |||||
"Sąrašas turi %(show_value)d elementų. Sąrašas turėtų turėti daugiau elementų " | |||||
"nei %(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Kai kurių reikšmių nėra: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Buvo pateiktos kelios nežinomos reikšmės: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "Įsitikinkite kad diapazonas yra mažesnis arba lygus %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "Įsitikinkite kad diapazonas yra didesnis arba lygus %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# Edgars Voroboks <nullisnot0@inbox.lv>, 2017 | |||||
# peterisb <pb@sungis.lv>, 2016-2017 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-11-17 21:10+0000\n" | |||||
"Last-Translator: Edgars Voroboks <nullisnot0@inbox.lv>\n" | |||||
"Language-Team: Latvian (http://www.transifex.com/django/django/language/" | |||||
"lv/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: lv\n" | |||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " | |||||
"2);\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL paplašinājums" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Masīva %(nth)s elements neizturēja pārbaudi: " | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Iekļauto masīvu garumam jābūt vienādam." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "Virkņu karte uz virknēm/tukšumiem" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "\"%(key)s\" vērtība nav teksta rinda vai nulles simbols." | |||||
msgid "A JSON object" | |||||
msgstr "JSON objekts" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Vērtībai ir jābūt derīgam JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Nevarēja ielādēt JSON datus." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "Ieejošajiem datiem ir jābūt JSON vārdnīcai." | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' vērtībai jābūt korektam JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Ievadi divas derīgas vērtības." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Diapazona sākums nedrīkst būt liekāks par beigām." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Ievadiet divus veselus skaitļus." | |||||
msgid "Enter two numbers." | |||||
msgstr "Ievadiet divus skaitļus." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Ievadiet divus derīgus datumus/laikus." | |||||
msgid "Enter two valid dates." | |||||
msgstr "Ievadiet divus korektus datumus." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Saraksts satur %(show_value)d ierakstus, bet tam jāsatur ne vairāk kā " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Saraksts satur %(show_value)d ierakstu, bet tam jāsatur ne vairāk kā " | |||||
"%(limit_value)d." | |||||
msgstr[2] "" | |||||
"Saraksts satur %(show_value)d ierakstus, bet tam jāsatur ne vairāk kā " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Saraksts satur %(show_value)d ierakstus, bet tam jāsatur vismaz " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Saraksts satur %(show_value)d ierakstu, bet tam jāsatur vismaz " | |||||
"%(limit_value)d." | |||||
msgstr[2] "" | |||||
"Saraksts satur %(show_value)d ierakstus, bet tam jāsatur vismaz " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Trūka dažas atslēgas: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Tika norādītas dažas nezināmas atslēgas: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "Diapazona vērtībai jābūt mazākai vai vienādai ar %(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "Diapazona vērtībai jābūt lielākai vai vienādai ar %(limit_value)s." |
# This file is distributed under the same license as the Django package. | |||||
# | |||||
# Translators: | |||||
# dekomote <dr.mote@gmail.com>, 2015 | |||||
# Vasil Vangelovski <vvangelovski@gmail.com>, 2015-2017 | |||||
# Vasil Vangelovski <vvangelovski@gmail.com>, 2015 | |||||
msgid "" | |||||
msgstr "" | |||||
"Project-Id-Version: django\n" | |||||
"Report-Msgid-Bugs-To: \n" | |||||
"POT-Creation-Date: 2017-01-19 16:49+0100\n" | |||||
"PO-Revision-Date: 2017-09-23 20:42+0000\n" | |||||
"Last-Translator: Vasil Vangelovski <vvangelovski@gmail.com>\n" | |||||
"Language-Team: Macedonian (http://www.transifex.com/django/django/language/" | |||||
"mk/)\n" | |||||
"MIME-Version: 1.0\n" | |||||
"Content-Type: text/plain; charset=UTF-8\n" | |||||
"Content-Transfer-Encoding: 8bit\n" | |||||
"Language: mk\n" | |||||
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" | |||||
msgid "PostgreSQL extensions" | |||||
msgstr "PostgreSQL eкстензии" | |||||
#, python-format | |||||
msgid "Item %(nth)s in the array did not validate: " | |||||
msgstr "Членот %(nth)s на низата не помина валидација: " | |||||
msgid "Nested arrays must have the same length." | |||||
msgstr "Вгнездени низи мораат да имаат иста должина." | |||||
msgid "Map of strings to strings/nulls" | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "The value of \"%(key)s\" is not a string or null." | |||||
msgstr "Вредноста за \"%(key)s\" не е низа од знаци или ништо (null)." | |||||
msgid "A JSON object" | |||||
msgstr "JSON објект" | |||||
msgid "Value must be valid JSON." | |||||
msgstr "Вредноста мора да биде валиден JSON." | |||||
msgid "Could not load JSON data." | |||||
msgstr "Не можеа да се вчитаат JSON податоци." | |||||
msgid "Input must be a JSON dictionary." | |||||
msgstr "" | |||||
#, python-format | |||||
msgid "'%(value)s' value must be valid JSON." | |||||
msgstr "'%(value)s' вредност мора да биде валиден JSON." | |||||
msgid "Enter two valid values." | |||||
msgstr "Внесете две валидни вредности." | |||||
msgid "The start of the range must not exceed the end of the range." | |||||
msgstr "Почетокот на опсегот не смее да го надминува крајот на опсегот." | |||||
msgid "Enter two whole numbers." | |||||
msgstr "Внесете два цели броеви." | |||||
msgid "Enter two numbers." | |||||
msgstr "Внесете два броја." | |||||
msgid "Enter two valid date/times." | |||||
msgstr "Внесете две валидни датуми/времиња" | |||||
msgid "Enter two valid dates." | |||||
msgstr "Внесете два валидни датуми." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no more than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Листата соджи %(show_value)d елемент, не смее да содржи повеќе од " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Листата содржи %(show_value)d елементи, не треба да содржи повеќе од " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "" | |||||
"List contains %(show_value)d item, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgid_plural "" | |||||
"List contains %(show_value)d items, it should contain no fewer than " | |||||
"%(limit_value)d." | |||||
msgstr[0] "" | |||||
"Листата содржи %(show_value)d елемент, не треба да содржи помалку од " | |||||
"%(limit_value)d." | |||||
msgstr[1] "" | |||||
"Листата содржи %(show_value)d елемент, не треба да содржи помалку од " | |||||
"%(limit_value)d." | |||||
#, python-format | |||||
msgid "Some keys were missing: %(keys)s" | |||||
msgstr "Некои клучеви недостигаа: %(keys)s" | |||||
#, python-format | |||||
msgid "Some unknown keys were provided: %(keys)s" | |||||
msgstr "Беа дадени некои непознати клучеви: %(keys)s" | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely less than or equal to %(limit_value)s." | |||||
msgstr "" | |||||
"Осигурајте се дека овој опсег во целост е помал или еднаков на " | |||||
"%(limit_value)s." | |||||
#, python-format | |||||
msgid "" | |||||
"Ensure that this range is completely greater than or equal to " | |||||
"%(limit_value)s." | |||||
msgstr "" | |||||
"Осигурајте се дека овој опсег во целост е поголем или еднаков на " | |||||
"%(limit_value)s." |