@@ -1,5 +1,6 @@ | |||
from django.db import models | |||
from django.utils import timezone | |||
from taggit.managers import TaggableManager | |||
class Post(models.Model): | |||
@@ -10,6 +11,7 @@ class Post(models.Model): | |||
default=timezone.now) | |||
published_date = models.DateTimeField( | |||
blank=True, null=True) | |||
tags = TaggableManager() | |||
def publish(self): | |||
self.published_date = timezone.now() |
@@ -33,7 +33,6 @@ | |||
</li> | |||
{% endif %} {% if user.is_staff %} | |||
<li class="nav-item"> | |||
<a class="nav-link" href="{% url 'studis:index' %}">Stammdaten von</a> | |||
</li> | |||
{% endif %} | |||
</ul> |
@@ -1,10 +1,15 @@ | |||
{% 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> | |||
{% 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> | |||
{% else %} | |||
<p>Please login to see this page.</p> | |||
{% endif %} {% endif %} | |||
{% endif %} | |||
{% endif %} | |||
<form method="post" action="{% url 'login' %}"> | |||
{% csrf_token %} |
@@ -43,6 +43,7 @@ INSTALLED_APPS = [ | |||
'django.contrib.sessions', | |||
'django.contrib.messages', | |||
'django.contrib.staticfiles', | |||
'taggit', | |||
'application', | |||
] | |||
@@ -1 +0,0 @@ | |||
default_app_config = 'django.contrib.postgres.apps.PostgresConfig' |
@@ -1,2 +0,0 @@ | |||
from .general import * # NOQA | |||
from .statistics import * # NOQA |
@@ -1,59 +0,0 @@ | |||
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 |
@@ -1,69 +0,0 @@ | |||
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' |
@@ -1,35 +0,0 @@ | |||
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) |
@@ -1,5 +0,0 @@ | |||
from .array import * # NOQA | |||
from .citext import * # NOQA | |||
from .hstore import * # NOQA | |||
from .jsonb import * # NOQA | |||
from .ranges import * # NOQA |
@@ -1,302 +0,0 @@ | |||
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) |
@@ -1,24 +0,0 @@ | |||
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 |
@@ -1,110 +0,0 @@ | |||
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()) |
@@ -1,183 +0,0 @@ | |||
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) |
@@ -1,252 +0,0 @@ | |||
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() |
@@ -1,3 +0,0 @@ | |||
class AttributeSetter: | |||
def __init__(self, name, value): | |||
setattr(self, name, value) |
@@ -1,4 +0,0 @@ | |||
from .array import * # NOQA | |||
from .hstore import * # NOQA | |||
from .jsonb import * # NOQA | |||
from .ranges import * # NOQA |
@@ -1,204 +0,0 @@ | |||
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 |
@@ -1,58 +0,0 @@ | |||
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) |
@@ -1,54 +0,0 @@ | |||
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) |
@@ -1,95 +0,0 @@ | |||
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) |
@@ -1,11 +0,0 @@ | |||
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() |
@@ -1,91 +0,0 @@ | |||
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 |
@@ -1 +0,0 @@ | |||
{% include 'django/forms/widgets/multiwidget.html' %} |
@@ -1,140 +0,0 @@ | |||
# 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." |
@@ -1,132 +0,0 @@ | |||
# 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." |
@@ -1,119 +0,0 @@ | |||
# 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." |
@@ -1,120 +0,0 @@ | |||
# 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." |
@@ -1,122 +0,0 @@ | |||
# 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." |
@@ -1,120 +0,0 @@ | |||
# 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." |
@@ -1,117 +0,0 @@ | |||
# 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." |
@@ -1,131 +0,0 @@ | |||
# 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." |
@@ -1,120 +0,0 @@ | |||
# 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." |
@@ -1,128 +0,0 @@ | |||
# 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 "" |
@@ -1,119 +0,0 @@ | |||
# 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." |
@@ -1,122 +0,0 @@ | |||
# 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." |
@@ -1,118 +0,0 @@ | |||
# 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." |
@@ -1,122 +0,0 @@ | |||
# 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." |
@@ -1,108 +0,0 @@ | |||
# 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 "" |
@@ -1,120 +0,0 @@ | |||
# 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." |
@@ -1,118 +0,0 @@ | |||
# 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." |
@@ -1,111 +0,0 @@ | |||
# 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 است." |
@@ -1,120 +0,0 @@ | |||
# 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." |
@@ -1,119 +0,0 @@ | |||
# 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." |
@@ -1,134 +0,0 @@ | |||
# 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." |
@@ -1,108 +0,0 @@ | |||
# 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 "" |
@@ -1,111 +0,0 @@ | |||
# 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 בשלמותו." |
@@ -1,112 +0,0 @@ | |||
# 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 "" |
@@ -1,129 +0,0 @@ | |||
# 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." |
@@ -1,117 +0,0 @@ | |||
# 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." |
@@ -1,108 +0,0 @@ | |||
# 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 "" |
@@ -1,118 +0,0 @@ | |||
# 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." |
@@ -1,118 +0,0 @@ | |||
# 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." |
@@ -1,125 +0,0 @@ | |||
# 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." |
@@ -1,110 +0,0 @@ | |||
# 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以上であることを確認してください。" |
@@ -1,106 +0,0 @@ | |||
# 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 "" |
@@ -1,105 +0,0 @@ | |||
# 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 "" |
@@ -1,113 +0,0 @@ | |||
# 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 보다 크거나 같은지 확인하십시오." |
@@ -1,123 +0,0 @@ | |||
# 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." |
@@ -1,124 +0,0 @@ | |||
# 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." |
@@ -1,122 +0,0 @@ | |||
# 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." |