änderung1
This commit is contained in:
1 parent
cc1d096bc3
commit
cbdda613b7
2098 files changed
+274524
No files matched your search
@@ -0,0 +1,2 @@
|
||||
from .general import * # NOQA
|
||||
from .statistics import * # NOQA
|
||||
@@ -0,0 +1,63 @@
|
||||
from django.contrib.postgres.fields import ArrayField, JSONField
|
||||
from django.db.models.aggregates import Aggregate
|
||||
|
||||
from .mixins import OrderableAggMixin
|
||||
|
||||
__all__ = [
|
||||
'ArrayAgg', 'BitAnd', 'BitOr', 'BoolAnd', 'BoolOr', 'JSONBAgg', 'StringAgg',
|
||||
]
|
||||
|
||||
|
||||
class ArrayAgg(OrderableAggMixin, Aggregate):
|
||||
function = 'ARRAY_AGG'
|
||||
template = '%(function)s(%(distinct)s%(expressions)s %(ordering)s)'
|
||||
allow_distinct = True
|
||||
|
||||
@property
|
||||
def output_field(self):
|
||||
return ArrayField(self.source_expressions[0].output_field)
|
||||
|
||||
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(OrderableAggMixin, Aggregate):
|
||||
function = 'STRING_AGG'
|
||||
template = "%(function)s(%(distinct)s%(expressions)s, '%(delimiter)s'%(ordering)s)"
|
||||
allow_distinct = True
|
||||
|
||||
def __init__(self, expression, delimiter, **extra):
|
||||
super().__init__(expression, delimiter=delimiter, **extra)
|
||||
|
||||
def convert_value(self, value, expression, connection):
|
||||
if not value:
|
||||
return ''
|
||||
return value
|
||||
@@ -0,0 +1,57 @@
|
||||
from django.db.models.expressions import F, OrderBy
|
||||
|
||||
|
||||
class OrderableAggMixin:
|
||||
|
||||
def __init__(self, expression, ordering=(), **extra):
|
||||
if not isinstance(ordering, (list, tuple)):
|
||||
ordering = [ordering]
|
||||
ordering = ordering or []
|
||||
# Transform minus sign prefixed strings into an OrderBy() expression.
|
||||
ordering = (
|
||||
(OrderBy(F(o[1:]), descending=True) if isinstance(o, str) and o[0] == '-' else o)
|
||||
for o in ordering
|
||||
)
|
||||
super().__init__(expression, **extra)
|
||||
self.ordering = self._parse_expressions(*ordering)
|
||||
|
||||
def resolve_expression(self, *args, **kwargs):
|
||||
self.ordering = [expr.resolve_expression(*args, **kwargs) for expr in self.ordering]
|
||||
return super().resolve_expression(*args, **kwargs)
|
||||
|
||||
def as_sql(self, compiler, connection):
|
||||
if self.ordering:
|
||||
ordering_params = []
|
||||
ordering_expr_sql = []
|
||||
for expr in self.ordering:
|
||||
expr_sql, expr_params = expr.as_sql(compiler, connection)
|
||||
ordering_expr_sql.append(expr_sql)
|
||||
ordering_params.extend(expr_params)
|
||||
sql, sql_params = super().as_sql(compiler, connection, ordering=(
|
||||
'ORDER BY ' + ', '.join(ordering_expr_sql)
|
||||
))
|
||||
return sql, sql_params + ordering_params
|
||||
return super().as_sql(compiler, connection, ordering='')
|
||||
|
||||
def set_source_expressions(self, exprs):
|
||||
# Extract the ordering expressions because ORDER BY clause is handled
|
||||
# in a custom way.
|
||||
self.ordering = exprs[self._get_ordering_expressions_index():]
|
||||
return super().set_source_expressions(exprs[:self._get_ordering_expressions_index()])
|
||||
|
||||
def get_source_expressions(self):
|
||||
return self.source_expressions + self.ordering
|
||||
|
||||
def get_source_fields(self):
|
||||
# Filter out fields contributed by the ordering expressions as
|
||||
# these should not be used to determine which the return type of the
|
||||
# expression.
|
||||
return [
|
||||
e._output_field_or_none
|
||||
for e in self.get_source_expressions()[:self._get_ordering_expressions_index()]
|
||||
]
|
||||
|
||||
def _get_ordering_expressions_index(self):
|
||||
"""Return the index at which the ordering expressions start."""
|
||||
source_expressions = self.get_source_expressions()
|
||||
return len(source_expressions) - len(self.ordering)
|
||||
@@ -0,0 +1,66 @@
|
||||
from psycopg2.extras import (
|
||||
DateRange, DateTimeRange, DateTimeTZRange, NumericRange,
|
||||
)
|
||||
|
||||
from django.apps import AppConfig
|
||||
from django.db import connections
|
||||
from django.db.backends.signals import connection_created
|
||||
from django.db.migrations.writer import MigrationWriter
|
||||
from django.db.models import CharField, TextField
|
||||
from django.test.signals import setting_changed
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from .lookups import SearchLookup, TrigramSimilar, Unaccent
|
||||
from .serializers import RangeSerializer
|
||||
from .signals import register_type_handlers
|
||||
|
||||
RANGE_TYPES = (DateRange, DateTimeRange, DateTimeTZRange, NumericRange)
|
||||
|
||||
|
||||
def uninstall_if_needed(setting, value, enter, **kwargs):
|
||||
"""
|
||||
Undo the effects of PostgresConfig.ready() when django.contrib.postgres
|
||||
is "uninstalled" by override_settings().
|
||||
"""
|
||||
if not enter and setting == 'INSTALLED_APPS' and 'django.contrib.postgres' not in set(value):
|
||||
connection_created.disconnect(register_type_handlers)
|
||||
CharField._unregister_lookup(Unaccent)
|
||||
TextField._unregister_lookup(Unaccent)
|
||||
CharField._unregister_lookup(SearchLookup)
|
||||
TextField._unregister_lookup(SearchLookup)
|
||||
CharField._unregister_lookup(TrigramSimilar)
|
||||
TextField._unregister_lookup(TrigramSimilar)
|
||||
# Disconnect this receiver until the next time this app is installed
|
||||
# and ready() connects it again to prevent unnecessary processing on
|
||||
# each setting change.
|
||||
setting_changed.disconnect(uninstall_if_needed)
|
||||
MigrationWriter.unregister_serializer(RANGE_TYPES)
|
||||
|
||||
|
||||
class PostgresConfig(AppConfig):
|
||||
name = 'django.contrib.postgres'
|
||||
verbose_name = _('PostgreSQL extensions')
|
||||
|
||||
def ready(self):
|
||||
setting_changed.connect(uninstall_if_needed)
|
||||
# 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.DecimalRangeField',
|
||||
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)
|
||||
MigrationWriter.register_serializer(RANGE_TYPES, RangeSerializer)
|
||||
@@ -0,0 +1,24 @@
|
||||
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
|
||||
@@ -0,0 +1,112 @@
|
||||
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 _
|
||||
|
||||
from .mixins import CheckFieldDefaultMixin
|
||||
|
||||
__all__ = ['HStoreField']
|
||||
|
||||
|
||||
class HStoreField(CheckFieldDefaultMixin, 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.'),
|
||||
}
|
||||
_default_hint = ('dict', '{}')
|
||||
|
||||
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):
|
||||
return super().formfield(**{
|
||||
'form_class': forms.HStoreField,
|
||||
**kwargs,
|
||||
})
|
||||
|
||||
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, tuple(params) + (self.key_name,)
|
||||
|
||||
|
||||
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())
|
||||
@@ -0,0 +1,29 @@
|
||||
from django.core import checks
|
||||
|
||||
|
||||
class CheckFieldDefaultMixin:
|
||||
_default_hint = ('<valid default>', '<invalid default>')
|
||||
|
||||
def _check_default(self):
|
||||
if self.has_default() and self.default is not None and not callable(self.default):
|
||||
return [
|
||||
checks.Warning(
|
||||
"%s default should be a callable instead of an instance so "
|
||||
"that it's not shared between all field instances." % (
|
||||
self.__class__.__name__,
|
||||
),
|
||||
hint=(
|
||||
'Use a callable instead, e.g., use `%s` instead of '
|
||||
'`%s`.' % self._default_hint
|
||||
),
|
||||
obj=self,
|
||||
id='postgres.E003',
|
||||
)
|
||||
]
|
||||
else:
|
||||
return []
|
||||
|
||||
def check(self, **kwargs):
|
||||
errors = super().check(**kwargs)
|
||||
errors.extend(self._check_default())
|
||||
return errors
|
||||
@@ -0,0 +1,3 @@
|
||||
class AttributeSetter:
|
||||
def __init__(self, name, value):
|
||||
setattr(self, name, value)
|
||||
@@ -0,0 +1,4 @@
|
||||
from .array import * # NOQA
|
||||
from .hstore import * # NOQA
|
||||
from .jsonb import * # NOQA
|
||||
from .ranges import * # NOQA
|
||||
@@ -0,0 +1,214 @@
|
||||
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 + 1},
|
||||
))
|
||||
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 + 1},
|
||||
))
|
||||
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 + 1},
|
||||
))
|
||||
if errors:
|
||||
raise ValidationError(errors)
|
||||
|
||||
def has_changed(self, initial, data):
|
||||
try:
|
||||
value = self.to_python(data)
|
||||
except ValidationError:
|
||||
pass
|
||||
else:
|
||||
if initial in self.empty_values and value in self.empty_values:
|
||||
return False
|
||||
return super().has_changed(initial, data)
|
||||
|
||||
|
||||
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 = {**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 + 1},
|
||||
))
|
||||
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
|
||||
@@ -0,0 +1,58 @@
|
||||
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 json.JSONDecodeError:
|
||||
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)
|
||||
@@ -0,0 +1,62 @@
|
||||
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 json.JSONDecodeError:
|
||||
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 json.JSONDecodeError:
|
||||
return InvalidJSONInput(data)
|
||||
|
||||
def prepare_value(self, value):
|
||||
if isinstance(value, InvalidJSONInput):
|
||||
return value
|
||||
return json.dumps(value)
|
||||
|
||||
def has_changed(self, initial, data):
|
||||
if super().has_changed(initial, data):
|
||||
return True
|
||||
# For purposes of seeing whether something has changed, True isn't the
|
||||
# same as 1 and the order of keys doesn't matter.
|
||||
data = self.to_python(data)
|
||||
return json.dumps(initial, sort_keys=True) != json.dumps(data, sort_keys=True)
|
||||
+1
@@ -0,0 +1 @@
|
||||
{% include 'django/forms/widgets/multiwidget.html' %}
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+132
@@ -0,0 +1,132 @@
|
||||
# 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."
|
||||
BIN
Binary file not shown.
+121
@@ -0,0 +1,121 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Antoni Aloy <aaloy@apsl.net>, 2015,2017
|
||||
# duub qnnp, 2015
|
||||
# Gil Obradors Via <gil.obradors@gmail.com>, 2019
|
||||
# Roger Pons <rogerpons@gmail.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2019-01-29 07:53+0000\n"
|
||||
"Last-Translator: Gil Obradors Via <gil.obradors@gmail.com>\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 s'ha pogut validar:"
|
||||
|
||||
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."
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
# 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: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-07-15 18:04+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=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n "
|
||||
"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
|
||||
msgid "PostgreSQL extensions"
|
||||
msgstr "Rozšíření pro PostgreSQL"
|
||||
|
||||
#, python-format
|
||||
msgid "Item %(nth)s in the array did not validate:"
|
||||
msgstr "Položka č. %(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."
|
||||
msgstr[3] ""
|
||||
"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."
|
||||
msgstr[3] ""
|
||||
"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."
|
||||
BIN
Binary file not shown.
+117
@@ -0,0 +1,117 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Jannis Leidel <jannis@leidel.info>, 2015-2018
|
||||
# Jens Neuhaus <kontakt@jensneuhaus.de>, 2016
|
||||
# Markus Holtermann <info@markusholtermann.eu>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-08-14 08:25+0000\n"
|
||||
"Last-Translator: Florian Apolloner <florian@apolloner.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 im Array konnte nicht validiert werden:"
|
||||
|
||||
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."
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Michael Wolf <milupo@sorbzilla.de>, 2016-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-05-26 10:31+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 "Zapisk %(nth)sw 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."
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
# 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-2018
|
||||
# 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: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-09-22 10:12+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."
|
||||
BIN
Binary file not shown.
+119
@@ -0,0 +1,119 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Baptiste Darthenay <baptiste+transifex@darthenay.fr>, 2015-2017,2019
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2019-01-18 12:47+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 "Elemento %(nth)s en la tabelo ne estas valida:"
|
||||
|
||||
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."
|
||||
BIN
Binary file not shown.
+123
@@ -0,0 +1,123 @@
|
||||
# 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
|
||||
# Ignacio José Lizarán Rus <ilizaran@gmail.com>, 2019
|
||||
# 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: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2019-02-19 08:46+0000\n"
|
||||
"Last-Translator: Ignacio José Lizarán Rus <ilizaran@gmail.com>\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."
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Ramiro Morales, 2015-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-07-31 16:47+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 válido."
|
||||
|
||||
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 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 inicio del rango no debe ser mayor que el fin del rango."
|
||||
|
||||
msgid "Enter two whole numbers."
|
||||
msgstr "Introduzca dos 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 ítem, debe contener no mas de "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"La lista contiene %(show_value)d ítems, 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 ítem, debe contener no mas de "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"La lista contiene %(show_value)d ítems, 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."
|
||||
BIN
Binary file not shown.
+117
@@ -0,0 +1,117 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Ali Nikneshan <ali@nikneshan.com>, 2015
|
||||
# MJafar Mashhadi <raindigital2007@gmail.com>, 2018
|
||||
# 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: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-06-23 23:11+0000\n"
|
||||
"Last-Translator: MJafar Mashhadi <raindigital2007@gmail.com>\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/django/django/language/"
|
||||
"fa/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fa\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\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 "مقدار \"%(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 مورد "
|
||||
"باشد."
|
||||
|
||||
#, 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 است."
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+119
@@ -0,0 +1,119 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Claude Paroz <claude@2xlibre.net>, 2015-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-05-18 12:55+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."
|
||||
+135
@@ -0,0 +1,135 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# GunChleoc, 2016-2017
|
||||
# GunChleoc, 2015
|
||||
# GunChleoc, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-05-29 09:32+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."
|
||||
+108
@@ -0,0 +1,108 @@
|
||||
# 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 ""
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Meir Kriheli <mkriheli@gmail.com>, 2015,2017,2019
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2019-03-19 16:22+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=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % "
|
||||
"1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 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 "מיפוי מחרוזות אל מחרוזות/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."
|
||||
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 בשלמותו."
|
||||
BIN
Binary file not shown.
+129
@@ -0,0 +1,129 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Michael Wolf <milupo@sorbzilla.de>, 2016-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-05-26 10:59+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 "Zapisk %(nth)s w pólnym wariabli njeje so wokruć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."
|
||||
BIN
Binary file not shown.
+108
@@ -0,0 +1,108 @@
|
||||
# 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 ""
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+126
@@ -0,0 +1,126 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Topolino_Hackerino <claudiu.andrei.roman@gmail.com>, 2017
|
||||
# Flavio Curella <flavio.curella@gmail.com>, 2016
|
||||
# Mirco Grillo <mirco.grillomg@gmail.com>, 2018
|
||||
# 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: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-07-30 21:04+0000\n"
|
||||
"Last-Translator: Carlo Miron <C8E@miron.it>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/django/django/language/"
|
||||
"it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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 è stato convalidato:"
|
||||
|
||||
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."
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Shinya Okano <tokibito@gmail.com>, 2015-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-05-23 03:28+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以上であることを確認してください。"
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+114
@@ -0,0 +1,114 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# hoseung2 <ghyutjik123@gmail.com>, 2017
|
||||
# Gihun Ham <progh2@gmail.com>, 2018
|
||||
# JunGu Kang <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: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-10-07 03:06+0000\n"
|
||||
"Last-Translator: Gihun Ham <progh2@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 "배열 안에 있는 항목 1%(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 보다 크거나 같은지 확인하십시오."
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Matas Dailyda <matas@dailyda.com>, 2015-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-05-18 08:24+0000\n"
|
||||
"Last-Translator: Matas Dailyda <matas@dailyda.com>\n"
|
||||
"Language-Team: Lithuanian (http://www.transifex.com/django/django/language/"
|
||||
"lt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lt\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < "
|
||||
"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? "
|
||||
"1 : n % 1 != 0 ? 2: 3);\n"
|
||||
|
||||
msgid "PostgreSQL extensions"
|
||||
msgstr "PostgreSQL plėtiniai"
|
||||
|
||||
#, python-format
|
||||
msgid "Item %(nth)s in the array did not validate:"
|
||||
msgstr "%(nth)s elementų masyve yra nevalidžių:"
|
||||
|
||||
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."
|
||||
msgstr[3] ""
|
||||
"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."
|
||||
msgstr[3] ""
|
||||
"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."
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# NullIsNot0 <nullisnot0@inbox.lv>, 2017
|
||||
# NullIsNot0 <nullisnot0@inbox.lv>, 2018
|
||||
# peterisb <pb@sungis.lv>, 2016-2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-05-23 16:49+0000\n"
|
||||
"Last-Translator: NullIsNot0 <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 nav pareizs:"
|
||||
|
||||
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."
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
# 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."
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Jon <jon@kolonial.no>, 2015-2016
|
||||
# Jon <jon@kolonial.no>, 2017-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-07-30 11:31+0000\n"
|
||||
"Last-Translator: Jon <jon@kolonial.no>\n"
|
||||
"Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/"
|
||||
"language/nb/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nb\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
msgid "PostgreSQL extensions"
|
||||
msgstr "PostgreSQL-utvidelser"
|
||||
|
||||
#, python-format
|
||||
msgid "Item %(nth)s in the array did not validate:"
|
||||
msgstr "Element %(nth)s i arrayen validerte ikke:"
|
||||
|
||||
msgid "Nested arrays must have the same length."
|
||||
msgstr "Nøstede arrays må ha samme lengde."
|
||||
|
||||
msgid "Map of strings to strings/nulls"
|
||||
msgstr "Oversikt over strenger til strenger/nulls"
|
||||
|
||||
#, python-format
|
||||
msgid "The value of \"%(key)s\" is not a string or null."
|
||||
msgstr "Verdien av \"%(key)s\" er ikke en streng eller null."
|
||||
|
||||
msgid "A JSON object"
|
||||
msgstr "Et JSON-objekt"
|
||||
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Verdi må være gyldig JSON."
|
||||
|
||||
msgid "Could not load JSON data."
|
||||
msgstr "Kunne ikke laste JSON-data."
|
||||
|
||||
msgid "Input must be a JSON dictionary."
|
||||
msgstr "Input må være en JSON-dictionary."
|
||||
|
||||
#, python-format
|
||||
msgid "'%(value)s' value must be valid JSON."
|
||||
msgstr "'%(value)s'-verdien må være gyldig JSON."
|
||||
|
||||
msgid "Enter two valid values."
|
||||
msgstr "Oppgi to gyldige verdier."
|
||||
|
||||
msgid "The start of the range must not exceed the end of the range."
|
||||
msgstr "Starten på serien må ikke overstige enden av serien."
|
||||
|
||||
msgid "Enter two whole numbers."
|
||||
msgstr "Oppgi to heltall."
|
||||
|
||||
msgid "Enter two numbers."
|
||||
msgstr "Oppgi to tall."
|
||||
|
||||
msgid "Enter two valid date/times."
|
||||
msgstr "Oppgi to gyldige datoer og tidspunkter."
|
||||
|
||||
msgid "Enter two valid dates."
|
||||
msgstr "Oppgi 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 inneholder %(show_value)d element, den bør ikke inneholde mer enn "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"Listen inneholder %(show_value)d elementer, den bør ikke inneholde mer enn "
|
||||
"%(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 inneholder %(show_value)d element, den bør ikke inneholde færre enn "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"Listen inneholder %(show_value)d elementer, den bør ikke inneholde færre enn "
|
||||
"%(limit_value)d."
|
||||
|
||||
#, python-format
|
||||
msgid "Some keys were missing: %(keys)s"
|
||||
msgstr "Noen nøkler manglet: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid "Some unknown keys were provided: %(keys)s"
|
||||
msgstr "Noen ukjente nøkler ble oppgitt: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely less than or equal to %(limit_value)s."
|
||||
msgstr "Sørg for at denne serien er helt mindre enn eller lik %(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 denne serien er helt større enn eller lik %(limit_value)s."
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+117
@@ -0,0 +1,117 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Claudio Fernandes <squeral@gmail.com>, 2015
|
||||
# jorgecarleitao <jorgecarleitao@gmail.com>, 2015
|
||||
# Nuno Mariz <nmariz@gmail.com>, 2015,2017-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-12-20 15:31+0000\n"
|
||||
"Last-Translator: Nuno Mariz <nmariz@gmail.com>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/django/django/language/"
|
||||
"pt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
msgid "PostgreSQL extensions"
|
||||
msgstr "Extensões de PostgresSQL"
|
||||
|
||||
#, python-format
|
||||
msgid "Item %(nth)s in the array did not validate:"
|
||||
msgstr "Item %(nth)s na lista não validou:"
|
||||
|
||||
msgid "Nested arrays must have the same length."
|
||||
msgstr "As sub-listas têm de ter o mesmo tamanho."
|
||||
|
||||
msgid "Map of strings to strings/nulls"
|
||||
msgstr "Mapeamento de strings para strings/nulos"
|
||||
|
||||
#, python-format
|
||||
msgid "The value of \"%(key)s\" is not a string or null."
|
||||
msgstr "O valor de \"%(key)s\" não é uma string ou nulo."
|
||||
|
||||
msgid "A JSON object"
|
||||
msgstr "Um objecto JSON"
|
||||
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "O valor deve ser JSON válido"
|
||||
|
||||
msgid "Could not load JSON data."
|
||||
msgstr "Não foi possível carregar os dados JSON."
|
||||
|
||||
msgid "Input must be a JSON dictionary."
|
||||
msgstr "A entrada deve ser um dicionário JSON."
|
||||
|
||||
#, python-format
|
||||
msgid "'%(value)s' value must be valid JSON."
|
||||
msgstr "O valor '%(value)s' deve ser JSON válido."
|
||||
|
||||
msgid "Enter two valid values."
|
||||
msgstr "Introduza dois valores válidos."
|
||||
|
||||
msgid "The start of the range must not exceed the end of the range."
|
||||
msgstr "O início da gama não pode ser maior que o seu fim."
|
||||
|
||||
msgid "Enter two whole numbers."
|
||||
msgstr "Introduza dois números inteiros."
|
||||
|
||||
msgid "Enter two numbers."
|
||||
msgstr "Introduza dois números."
|
||||
|
||||
msgid "Enter two valid date/times."
|
||||
msgstr "Introduza duas datas/horas válidas."
|
||||
|
||||
msgid "Enter two valid dates."
|
||||
msgstr "Introduza duas 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] ""
|
||||
"A lista contém %(show_value)d item, não pode conter mais do que "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"A lista contém %(show_value)d itens, não pode conter mais do que "
|
||||
"%(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] ""
|
||||
"A lista contém %(show_value)d item, tem de conter pelo menos %(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"A lista contém %(show_value)d itens, tem de conter pelo menos "
|
||||
"%(limit_value)d."
|
||||
|
||||
#, python-format
|
||||
msgid "Some keys were missing: %(keys)s"
|
||||
msgstr "Algumas chaves estão em falta: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid "Some unknown keys were provided: %(keys)s"
|
||||
msgstr "Foram fornecidas algumas chaves desconhecidas: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely less than or equal to %(limit_value)s."
|
||||
msgstr "Garanta que esta gama é toda ela menor ou igual a %(limit_value)s."
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely greater than or equal to "
|
||||
"%(limit_value)s."
|
||||
msgstr "Garanta que esta gama é toda ela maior ou igual a %(limit_value)s."
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Andre Machado <csantos.machado@gmail.com>, 2016
|
||||
# Carlos Leite <caduado@gmail.com>, 2016
|
||||
# Claudemiro Alves Feitosa Neto <dimiro1@gmail.com>, 2015
|
||||
# Fábio C. Barrionuevo da Luz <bnafta@gmail.com>, 2015
|
||||
# Lucas Infante <maccinza@gmail.com>, 2015
|
||||
# Luiz Boaretto <lboaretto@gmail.com>, 2017
|
||||
# Marcelo Moro Brondani <mbrondani@inf.ufsm.br>, 2018
|
||||
# Rafael Ribeiro <pereiraribeirorafael@gmail.com>, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-06-25 18:11+0000\n"
|
||||
"Last-Translator: Marcelo Moro Brondani <mbrondani@inf.ufsm.br>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/django/django/"
|
||||
"language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
msgid "PostgreSQL extensions"
|
||||
msgstr "Extensões para PostgreSQL"
|
||||
|
||||
#, python-format
|
||||
msgid "Item %(nth)s in the array did not validate:"
|
||||
msgstr "O item %(nth)s na matriz não validou:"
|
||||
|
||||
msgid "Nested arrays must have the same length."
|
||||
msgstr "Matrizes aninhadas devem ter o mesmo comprimento."
|
||||
|
||||
msgid "Map of strings to strings/nulls"
|
||||
msgstr "Mapa de strings para strings/nulls"
|
||||
|
||||
#, python-format
|
||||
msgid "The value of \"%(key)s\" is not a string or null."
|
||||
msgstr "O valor de \"%(key)s\" não é uma string ou null."
|
||||
|
||||
msgid "A JSON object"
|
||||
msgstr "Um objeto JSON"
|
||||
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "O valor deve ser um JSON válido."
|
||||
|
||||
msgid "Could not load JSON data."
|
||||
msgstr "Não foi possível carregar dados JSON."
|
||||
|
||||
msgid "Input must be a JSON dictionary."
|
||||
msgstr "Input deve ser um dicionário JSON"
|
||||
|
||||
#, python-format
|
||||
msgid "'%(value)s' value must be valid JSON."
|
||||
msgstr "'%(value)s' deve ser um JSON válido."
|
||||
|
||||
msgid "Enter two valid values."
|
||||
msgstr "Insira dois valores válidos."
|
||||
|
||||
msgid "The start of the range must not exceed the end of the range."
|
||||
msgstr "O inicio do intervalo não deve exceder o fim do intervalo."
|
||||
|
||||
msgid "Enter two whole numbers."
|
||||
msgstr "Insira dois números cheios."
|
||||
|
||||
msgid "Enter two numbers."
|
||||
msgstr "Insira dois números"
|
||||
|
||||
msgid "Enter two valid date/times."
|
||||
msgstr "Insira duas datas/horas válidas."
|
||||
|
||||
msgid "Enter two valid dates."
|
||||
msgstr "Insira duas 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] ""
|
||||
"A lista contém um item %(show_value)d, não deveria conter mais que "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"A lista contém itens %(show_value)d, não deveria conter mais que "
|
||||
"%(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] ""
|
||||
"A lista contém um item %(show_value)d, deveria conter não menos que "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"A lista contém %(show_value)d itens, deveria conter não menos que "
|
||||
"%(limit_value)d."
|
||||
|
||||
#, python-format
|
||||
msgid "Some keys were missing: %(keys)s"
|
||||
msgstr "Algumas chaves estavam faltando: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid "Some unknown keys were provided: %(keys)s"
|
||||
msgstr "Algumas chaves desconhecidas foram fornecidos: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely less than or equal to %(limit_value)s."
|
||||
msgstr ""
|
||||
"Certifique-se que o intervalo é completamente menor que %(limit_value)s."
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely greater than or equal to "
|
||||
"%(limit_value)s."
|
||||
msgstr ""
|
||||
"Certifique-se que este intervalo é completamente maior ou igual a "
|
||||
"%(limit_value)s."
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Eugene <eugene.mechanism@gmail.com>, 2016
|
||||
# eXtractor <evg.kirov@gmail.com>, 2015
|
||||
# Kirill Gagarski <gagarin.gtn@gmail.com>, 2015
|
||||
# Вася Аникин <anikin.vasya@gmail.com>, 2017
|
||||
# Алексей Борискин <sun.void@gmail.com>, 2015-2018
|
||||
# Дмитрий Шатера <mr.bobsans@gmail.com>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-07-27 11:04+0000\n"
|
||||
"Last-Translator: Алексей Борискин <sun.void@gmail.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/django/django/language/"
|
||||
"ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\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."
|
||||
BIN
Binary file not shown.
+130
@@ -0,0 +1,130 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Primož Verdnik <primoz.verdnik@gmail.com>, 2017
|
||||
# zejn <zejn@kiberpipa.org>, 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: Primož Verdnik <primoz.verdnik@gmail.com>\n"
|
||||
"Language-Team: Slovenian (http://www.transifex.com/django/django/language/"
|
||||
"sl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sl\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 "PostgreSQL razširitve"
|
||||
|
||||
#, python-format
|
||||
msgid "Item %(nth)s in the array did not validate: "
|
||||
msgstr "Element št. %(nth)s v seznamu ni veljaven:"
|
||||
|
||||
msgid "Nested arrays must have the same length."
|
||||
msgstr "Gnezdeni seznami morajo imeti enako dolžino."
|
||||
|
||||
msgid "Map of strings to strings/nulls"
|
||||
msgstr "Preslikava nizev v nize/null"
|
||||
|
||||
#, python-format
|
||||
msgid "The value of \"%(key)s\" is not a string or null."
|
||||
msgstr "Vrednost \"%(key)s\" ni niz ali null."
|
||||
|
||||
msgid "A JSON object"
|
||||
msgstr "JSON objekt"
|
||||
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Vrednost mora biti veljaven JSON."
|
||||
|
||||
msgid "Could not load JSON data."
|
||||
msgstr "Ni bilo mogoče naložiti JSON podatkov."
|
||||
|
||||
msgid "Input must be a JSON dictionary."
|
||||
msgstr "Vhodni podatek mora biti JSON objekt."
|
||||
|
||||
#, python-format
|
||||
msgid "'%(value)s' value must be valid JSON."
|
||||
msgstr "Vrednost '%(value)s' mora biti veljaven JSON."
|
||||
|
||||
msgid "Enter two valid values."
|
||||
msgstr "Vnesite dve veljavni vrednosti."
|
||||
|
||||
msgid "The start of the range must not exceed the end of the range."
|
||||
msgstr "Začetek območja mora biti po vrednosti manjši od konca območja."
|
||||
|
||||
msgid "Enter two whole numbers."
|
||||
msgstr "Vnesite dve celi števili."
|
||||
|
||||
msgid "Enter two numbers."
|
||||
msgstr "Vnesite dve števili."
|
||||
|
||||
msgid "Enter two valid date/times."
|
||||
msgstr "Vnesite dva veljavna datuma oz. točki v času."
|
||||
|
||||
msgid "Enter two valid dates."
|
||||
msgstr "Vnesite dva veljavna 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] ""
|
||||
"Seznam vsebuje %(show_value)d element, moral pa bi jih imeti največ "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"Seznam vsebuje %(show_value)d elementa, moral pa bi jih imeti največ "
|
||||
"%(limit_value)d."
|
||||
msgstr[2] ""
|
||||
"Seznam vsebuje %(show_value)d elemente, moral pa bi jih imeti največ "
|
||||
"%(limit_value)d."
|
||||
msgstr[3] ""
|
||||
"Seznam vsebuje %(show_value)d elementov, moral pa bi jih imeti največ "
|
||||
"%(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 vsebuje %(show_value)d element, moral pa bi jih najmanj "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"Seznam vsebuje %(show_value)d elementa, moral pa bi jih najmanj "
|
||||
"%(limit_value)d."
|
||||
msgstr[2] ""
|
||||
"Seznam vsebuje %(show_value)d elemente, moral pa bi jih najmanj "
|
||||
"%(limit_value)d."
|
||||
msgstr[3] ""
|
||||
"Seznam vsebuje %(show_value)d elementov, moral pa bi jih najmanj "
|
||||
"%(limit_value)d."
|
||||
|
||||
#, python-format
|
||||
msgid "Some keys were missing: %(keys)s"
|
||||
msgstr "Nekateri ključi manjkajo: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid "Some unknown keys were provided: %(keys)s"
|
||||
msgstr "Navedeni so bili nekateri neznani ključi: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely less than or equal to %(limit_value)s."
|
||||
msgstr "Poskrbite, da bo to območje manj ali enako kot %(limit_value)s."
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely greater than or equal to "
|
||||
"%(limit_value)s."
|
||||
msgstr "Poskrbite, da bo to območje večje ali enako %(limit_value)s."
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Besnik <besnik@programeshqip.org>, 2017-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-05-18 09:27+0000\n"
|
||||
"Last-Translator: Besnik <besnik@programeshqip.org>\n"
|
||||
"Language-Team: Albanian (http://www.transifex.com/django/django/language/"
|
||||
"sq/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sq\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
msgid "PostgreSQL extensions"
|
||||
msgstr "Zgjerime PostgreSQL"
|
||||
|
||||
#, python-format
|
||||
msgid "Item %(nth)s in the array did not validate:"
|
||||
msgstr "Objekti %(nth)s te vargu nuk u vleftësua:"
|
||||
|
||||
msgid "Nested arrays must have the same length."
|
||||
msgstr "Vargjet brenda vargjesh duhet të kenë të njëjtën gjatësi."
|
||||
|
||||
msgid "Map of strings to strings/nulls"
|
||||
msgstr "Hartë vargjesh te strings/nulls"
|
||||
|
||||
#, python-format
|
||||
msgid "The value of \"%(key)s\" is not a string or null."
|
||||
msgstr "Vlera e \"%(key)s\" s’është varg ose nul."
|
||||
|
||||
msgid "A JSON object"
|
||||
msgstr "Një objekt JSON"
|
||||
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Vlera duhet të jetë JSON i vlefshëm."
|
||||
|
||||
msgid "Could not load JSON data."
|
||||
msgstr "S’u ngarkuan dot të dhëna JSON."
|
||||
|
||||
msgid "Input must be a JSON dictionary."
|
||||
msgstr "Vlera duhet të jetë një fjalor JSON."
|
||||
|
||||
#, python-format
|
||||
msgid "'%(value)s' value must be valid JSON."
|
||||
msgstr "Vlera '%(value)s' duhet të jetë JSON i vlefshëm."
|
||||
|
||||
msgid "Enter two valid values."
|
||||
msgstr "Jepni dy vlera të vlefshme."
|
||||
|
||||
msgid "The start of the range must not exceed the end of the range."
|
||||
msgstr "Fillimi i një intervali s’duhet të tejkalojë fundin e një intervali."
|
||||
|
||||
msgid "Enter two whole numbers."
|
||||
msgstr "Jepni dy vlera të plota numrash."
|
||||
|
||||
msgid "Enter two numbers."
|
||||
msgstr "Jepni dy numra."
|
||||
|
||||
msgid "Enter two valid date/times."
|
||||
msgstr "Jepni dy data/kohë të vlefshme."
|
||||
|
||||
msgid "Enter two valid dates."
|
||||
msgstr "Jepni dy data të vlefshme."
|
||||
|
||||
#, 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] ""
|
||||
"Lista përmban %(show_value)d element, duhet të përmbajë jo më shumë se "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"Lista përmban %(show_value)d elementë, duhet të përmbajë jo më shumë se "
|
||||
"%(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] ""
|
||||
"Lista përmban %(show_value)d element, duhet të përmbajë jo më pak "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"Lista përmban %(show_value)d elementë, duhet të përmbajë jo më pak "
|
||||
"%(limit_value)d."
|
||||
|
||||
#, python-format
|
||||
msgid "Some keys were missing: %(keys)s"
|
||||
msgstr "Mungojnë ca kyçe: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid "Some unknown keys were provided: %(keys)s"
|
||||
msgstr "Janë dhënë kyçe të panjohur: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely less than or equal to %(limit_value)s."
|
||||
msgstr "Sigurohuni që ky interval është më pak ose baras me %(limit_value)s."
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely greater than or equal to "
|
||||
"%(limit_value)s."
|
||||
msgstr ""
|
||||
"Sigurohuni që ky interval është më i madh ose baras me %(limit_value)s."
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+121
@@ -0,0 +1,121 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Gustaf Hansen <gustaf.hansen@gmail.com>, 2015
|
||||
# Jonathan Lindén, 2015
|
||||
# Petter Strandmark <petter.strandmark@gmail.com>, 2019
|
||||
# Thomas Lundqvist, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2019-01-28 13:35+0000\n"
|
||||
"Last-Translator: Petter Strandmark <petter.strandmark@gmail.com>\n"
|
||||
"Language-Team: Swedish (http://www.transifex.com/django/django/language/"
|
||||
"sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
msgid "PostgreSQL extensions"
|
||||
msgstr "PostgreSQL-tillägg"
|
||||
|
||||
#, python-format
|
||||
msgid "Item %(nth)s in the array did not validate:"
|
||||
msgstr "Element %(nth)s i arrayen gick inte att validera:"
|
||||
|
||||
msgid "Nested arrays must have the same length."
|
||||
msgstr "Flerdimensionella arrayer måste vara av samma längd"
|
||||
|
||||
msgid "Map of strings to strings/nulls"
|
||||
msgstr "Funktion från sträng till sträng/null"
|
||||
|
||||
#, python-format
|
||||
msgid "The value of \"%(key)s\" is not a string or null."
|
||||
msgstr "Värdet av \"%(key)s\" är inte en sträng eller null."
|
||||
|
||||
msgid "A JSON object"
|
||||
msgstr "Ett JSON-objekt"
|
||||
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Värdet måste vara giltig JSON."
|
||||
|
||||
msgid "Could not load JSON data."
|
||||
msgstr "Kunde inte ladda JSON-data."
|
||||
|
||||
msgid "Input must be a JSON dictionary."
|
||||
msgstr "Input måste vara en JSON-dictionary."
|
||||
|
||||
#, python-format
|
||||
msgid "'%(value)s' value must be valid JSON."
|
||||
msgstr "'%(value)s' måste vara giltig JSON."
|
||||
|
||||
msgid "Enter two valid values."
|
||||
msgstr "Fyll i två giltiga värden"
|
||||
|
||||
msgid "The start of the range must not exceed the end of the range."
|
||||
msgstr "Starten av intervallet kan inte vara större än slutet av intervallet."
|
||||
|
||||
msgid "Enter two whole numbers."
|
||||
msgstr "Fyll i två heltal."
|
||||
|
||||
msgid "Enter two numbers."
|
||||
msgstr "Fyll i två tal."
|
||||
|
||||
msgid "Enter two valid date/times."
|
||||
msgstr "Fyll i två giltiga datum/tider."
|
||||
|
||||
msgid "Enter two valid dates."
|
||||
msgstr "Fyll i två giltiga datum."
|
||||
|
||||
#, 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] ""
|
||||
"Listan innehåller %(show_value)d objekt, men kan inte innehålla fler än "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"Listan innehåller %(show_value)d objekt, men kan inte innehålla fler än "
|
||||
"%(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] ""
|
||||
"Listan innehåller %(show_value)d objekt, men kan inte innehålla färre än "
|
||||
"%(limit_value)d."
|
||||
msgstr[1] ""
|
||||
"Listan innehåller %(show_value)d objekt, men kan inte innehålla färre än "
|
||||
"%(limit_value)d."
|
||||
|
||||
#, python-format
|
||||
msgid "Some keys were missing: %(keys)s"
|
||||
msgstr "Några nycklar saknades: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid "Some unknown keys were provided: %(keys)s"
|
||||
msgstr "Några okända okända nycklar skickades: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely less than or equal to %(limit_value)s."
|
||||
msgstr ""
|
||||
"Säkerställ att denna intervall är mindre än eller lika med %(limit_value)s."
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely greater than or equal to "
|
||||
"%(limit_value)s."
|
||||
msgstr ""
|
||||
"Säkerställ att denna intervall är större än eller lika med %(limit_value)s."
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# BouRock, 2015-2018
|
||||
# BouRock, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-05-18 10:06+0000\n"
|
||||
"Last-Translator: BouRock\n"
|
||||
"Language-Team: Turkish (http://www.transifex.com/django/django/language/"
|
||||
"tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: tr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
msgid "PostgreSQL extensions"
|
||||
msgstr "PostgreSQL uzantıları"
|
||||
|
||||
#, python-format
|
||||
msgid "Item %(nth)s in the array did not validate:"
|
||||
msgstr "Dizilimdeki %(nth)s öğesi doğrulanmadı:"
|
||||
|
||||
msgid "Nested arrays must have the same length."
|
||||
msgstr "İç içe dizilimler aynı uzunlukta olmak zorunda."
|
||||
|
||||
msgid "Map of strings to strings/nulls"
|
||||
msgstr "Dizgiler/boşlar olarak dizgilerin eşlemesi"
|
||||
|
||||
#, python-format
|
||||
msgid "The value of \"%(key)s\" is not a string or null."
|
||||
msgstr "\"%(key)s\" değeri bir dizgi ya da boş değil."
|
||||
|
||||
msgid "A JSON object"
|
||||
msgstr "JSON nesnesi"
|
||||
|
||||
msgid "Value must be valid JSON."
|
||||
msgstr "Değer geçerli JSON olmak zorundadır."
|
||||
|
||||
msgid "Could not load JSON data."
|
||||
msgstr "JSON verisi yüklenemedi."
|
||||
|
||||
msgid "Input must be a JSON dictionary."
|
||||
msgstr "Bir JSON dizini girilmek zorundadır."
|
||||
|
||||
#, python-format
|
||||
msgid "'%(value)s' value must be valid JSON."
|
||||
msgstr "'%(value)s' değeri geçerli JSON olmak zorundadır."
|
||||
|
||||
msgid "Enter two valid values."
|
||||
msgstr "Iki geçerli değer girin."
|
||||
|
||||
msgid "The start of the range must not exceed the end of the range."
|
||||
msgstr "Aralığın başlangıcı aralığın bitişini aşmamak zorundadır."
|
||||
|
||||
msgid "Enter two whole numbers."
|
||||
msgstr "Bütün iki sayıyı girin."
|
||||
|
||||
msgid "Enter two numbers."
|
||||
msgstr "İki sayı girin."
|
||||
|
||||
msgid "Enter two valid date/times."
|
||||
msgstr "Geçerli iki tarih/saat girin."
|
||||
|
||||
msgid "Enter two valid dates."
|
||||
msgstr "Geçerli iki tarih girin."
|
||||
|
||||
#, 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 %(show_value)d öğe içeriyor, %(limit_value)d değerden daha fazla "
|
||||
"içermemelidir."
|
||||
msgstr[1] ""
|
||||
"Liste %(show_value)d öğe içeriyor, %(limit_value)d değerden daha fazla "
|
||||
"içermemelidir."
|
||||
|
||||
#, 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 %(show_value)d öğe içeriyor, %(limit_value)d değerden daha az "
|
||||
"içermemelidir."
|
||||
msgstr[1] ""
|
||||
"Liste %(show_value)d öğe içeriyor, %(limit_value)d değerden daha az "
|
||||
"içermemelidir."
|
||||
|
||||
#, python-format
|
||||
msgid "Some keys were missing: %(keys)s"
|
||||
msgstr "Bazı anahtarlar eksik: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid "Some unknown keys were provided: %(keys)s"
|
||||
msgstr "Bazı bilinmeyen anahtarlar verilmiş: %(keys)s"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely less than or equal to %(limit_value)s."
|
||||
msgstr ""
|
||||
"Bu aralığın %(limit_value)s değerinden küçük veya eşit olduğundan emin olun."
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ensure that this range is completely greater than or equal to "
|
||||
"%(limit_value)s."
|
||||
msgstr ""
|
||||
"Bu aralığın %(limit_value)s değerinden büyük veya eşit olduğundan emin olun."
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
# Translators:
|
||||
# Andriy Sokolovskiy <me@asokolovskiy.com>, 2015
|
||||
# Денис Подлесный <haos616@gmail.com>, 2016
|
||||
# Igor Melnyk, 2017
|
||||
# Kirill Gagarski <gagarin.gtn@gmail.com>, 2015-2016
|
||||
# Taras Korzhak <taras.korzhak96@gmail.com>, 2018
|
||||
# Zoriana Zaiats, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-05-17 11:49+0200\n"
|
||||
"PO-Revision-Date: 2018-08-24 20:08+0000\n"
|
||||
"Last-Translator: Taras Korzhak <taras.korzhak96@gmail.com>\n"
|
||||
"Language-Team: Ukrainian (http://www.transifex.com/django/django/language/"
|
||||
"uk/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: uk\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != "
|
||||
"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % "
|
||||
"100 > 14) ? 1 : n % 1 == 0 && (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\" не є рядком чи 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."
|
||||
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."
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,239 @@
|
||||
from django.db.models import CharField, Field, FloatField, TextField
|
||||
from django.db.models.expressions import CombinedExpression, Func, Value
|
||||
from django.db.models.functions import Cast, Coalesce
|
||||
from django.db.models.lookups import Lookup
|
||||
|
||||
|
||||
class SearchVectorExact(Lookup):
|
||||
lookup_name = 'exact'
|
||||
|
||||
def process_rhs(self, qn, connection):
|
||||
if not hasattr(self.rhs, 'resolve_expression'):
|
||||
config = getattr(self.lhs, 'config', None)
|
||||
self.rhs = SearchQuery(self.rhs, config=config)
|
||||
rhs, rhs_params = super().process_rhs(qn, connection)
|
||||
return rhs, rhs_params
|
||||
|
||||
def as_sql(self, qn, connection):
|
||||
lhs, lhs_params = self.process_lhs(qn, connection)
|
||||
rhs, rhs_params = self.process_rhs(qn, connection)
|
||||
params = lhs_params + rhs_params
|
||||
return '%s @@ %s = true' % (lhs, rhs), params
|
||||
|
||||
|
||||
class SearchVectorField(Field):
|
||||
|
||||
def db_type(self, connection):
|
||||
return 'tsvector'
|
||||
|
||||
|
||||
class SearchQueryField(Field):
|
||||
|
||||
def db_type(self, connection):
|
||||
return 'tsquery'
|
||||
|
||||
|
||||
class SearchVectorCombinable:
|
||||
ADD = '||'
|
||||
|
||||
def _combine(self, other, connector, reversed):
|
||||
if not isinstance(other, SearchVectorCombinable) or not self.config == other.config:
|
||||
raise TypeError('SearchVector can only be combined with other SearchVectors')
|
||||
if reversed:
|
||||
return CombinedSearchVector(other, connector, self, self.config)
|
||||
return CombinedSearchVector(self, connector, other, self.config)
|
||||
|
||||
|
||||
class SearchVector(SearchVectorCombinable, Func):
|
||||
function = 'to_tsvector'
|
||||
arg_joiner = " || ' ' || "
|
||||
output_field = SearchVectorField()
|
||||
config = None
|
||||
|
||||
def __init__(self, *expressions, **extra):
|
||||
super().__init__(*expressions, **extra)
|
||||
self.config = self.extra.get('config', self.config)
|
||||
weight = self.extra.get('weight')
|
||||
if weight is not None and not hasattr(weight, 'resolve_expression'):
|
||||
weight = Value(weight)
|
||||
self.weight = weight
|
||||
|
||||
def resolve_expression(self, query=None, allow_joins=True, reuse=None, summarize=False, for_save=False):
|
||||
resolved = super().resolve_expression(query, allow_joins, reuse, summarize, for_save)
|
||||
if self.config:
|
||||
if not hasattr(self.config, 'resolve_expression'):
|
||||
resolved.config = Value(self.config).resolve_expression(query, allow_joins, reuse, summarize, for_save)
|
||||
else:
|
||||
resolved.config = self.config.resolve_expression(query, allow_joins, reuse, summarize, for_save)
|
||||
return resolved
|
||||
|
||||
def as_sql(self, compiler, connection, function=None, template=None):
|
||||
clone = self.copy()
|
||||
clone.set_source_expressions([
|
||||
Coalesce(
|
||||
expression
|
||||
if isinstance(expression.output_field, (CharField, TextField))
|
||||
else Cast(expression, TextField()),
|
||||
Value('')
|
||||
) for expression in clone.get_source_expressions()
|
||||
])
|
||||
config_params = []
|
||||
if template is None:
|
||||
if clone.config:
|
||||
config_sql, config_params = compiler.compile(clone.config)
|
||||
template = '%(function)s({}::regconfig, %(expressions)s)'.format(config_sql.replace('%', '%%'))
|
||||
else:
|
||||
template = clone.template
|
||||
sql, params = super(SearchVector, clone).as_sql(compiler, connection, function=function, template=template)
|
||||
extra_params = []
|
||||
if clone.weight:
|
||||
weight_sql, extra_params = compiler.compile(clone.weight)
|
||||
sql = 'setweight({}, {})'.format(sql, weight_sql)
|
||||
return sql, config_params + params + extra_params
|
||||
|
||||
|
||||
class CombinedSearchVector(SearchVectorCombinable, CombinedExpression):
|
||||
def __init__(self, lhs, connector, rhs, config, output_field=None):
|
||||
self.config = config
|
||||
super().__init__(lhs, connector, rhs, output_field)
|
||||
|
||||
|
||||
class SearchQueryCombinable:
|
||||
BITAND = '&&'
|
||||
BITOR = '||'
|
||||
|
||||
def _combine(self, other, connector, reversed):
|
||||
if not isinstance(other, SearchQueryCombinable):
|
||||
raise TypeError(
|
||||
'SearchQuery can only be combined with other SearchQuerys, '
|
||||
'got {}.'.format(type(other))
|
||||
)
|
||||
if reversed:
|
||||
return CombinedSearchQuery(other, connector, self, self.config)
|
||||
return CombinedSearchQuery(self, connector, other, self.config)
|
||||
|
||||
# On Combinable, these are not implemented to reduce confusion with Q. In
|
||||
# this case we are actually (ab)using them to do logical combination so
|
||||
# it's consistent with other usage in Django.
|
||||
def __or__(self, other):
|
||||
return self._combine(other, self.BITOR, False)
|
||||
|
||||
def __ror__(self, other):
|
||||
return self._combine(other, self.BITOR, True)
|
||||
|
||||
def __and__(self, other):
|
||||
return self._combine(other, self.BITAND, False)
|
||||
|
||||
def __rand__(self, other):
|
||||
return self._combine(other, self.BITAND, True)
|
||||
|
||||
|
||||
class SearchQuery(SearchQueryCombinable, Value):
|
||||
output_field = SearchQueryField()
|
||||
SEARCH_TYPES = {
|
||||
'plain': 'plainto_tsquery',
|
||||
'phrase': 'phraseto_tsquery',
|
||||
'raw': 'to_tsquery',
|
||||
}
|
||||
|
||||
def __init__(self, value, output_field=None, *, config=None, invert=False, search_type='plain'):
|
||||
self.config = config
|
||||
self.invert = invert
|
||||
if search_type not in self.SEARCH_TYPES:
|
||||
raise ValueError("Unknown search_type argument '%s'." % search_type)
|
||||
self.search_type = search_type
|
||||
super().__init__(value, output_field=output_field)
|
||||
|
||||
def resolve_expression(self, query=None, allow_joins=True, reuse=None, summarize=False, for_save=False):
|
||||
resolved = super().resolve_expression(query, allow_joins, reuse, summarize, for_save)
|
||||
if self.config:
|
||||
if not hasattr(self.config, 'resolve_expression'):
|
||||
resolved.config = Value(self.config).resolve_expression(query, allow_joins, reuse, summarize, for_save)
|
||||
else:
|
||||
resolved.config = self.config.resolve_expression(query, allow_joins, reuse, summarize, for_save)
|
||||
return resolved
|
||||
|
||||
def as_sql(self, compiler, connection):
|
||||
params = [self.value]
|
||||
function = self.SEARCH_TYPES[self.search_type]
|
||||
if self.config:
|
||||
config_sql, config_params = compiler.compile(self.config)
|
||||
template = '{}({}::regconfig, %s)'.format(function, config_sql)
|
||||
params = config_params + [self.value]
|
||||
else:
|
||||
template = '{}(%s)'.format(function)
|
||||
if self.invert:
|
||||
template = '!!({})'.format(template)
|
||||
return template, params
|
||||
|
||||
def _combine(self, other, connector, reversed):
|
||||
combined = super()._combine(other, connector, reversed)
|
||||
combined.output_field = SearchQueryField()
|
||||
return combined
|
||||
|
||||
def __invert__(self):
|
||||
return type(self)(self.value, config=self.config, invert=not self.invert)
|
||||
|
||||
def __str__(self):
|
||||
result = super().__str__()
|
||||
return ('~%s' % result) if self.invert else result
|
||||
|
||||
|
||||
class CombinedSearchQuery(SearchQueryCombinable, CombinedExpression):
|
||||
def __init__(self, lhs, connector, rhs, config, output_field=None):
|
||||
self.config = config
|
||||
super().__init__(lhs, connector, rhs, output_field)
|
||||
|
||||
def __str__(self):
|
||||
return '(%s)' % super().__str__()
|
||||
|
||||
|
||||
class SearchRank(Func):
|
||||
function = 'ts_rank'
|
||||
output_field = FloatField()
|
||||
|
||||
def __init__(self, vector, query, **extra):
|
||||
if not hasattr(vector, 'resolve_expression'):
|
||||
vector = SearchVector(vector)
|
||||
if not hasattr(query, 'resolve_expression'):
|
||||
query = SearchQuery(query)
|
||||
weights = extra.get('weights')
|
||||
if weights is not None and not hasattr(weights, 'resolve_expression'):
|
||||
weights = Value(weights)
|
||||
self.weights = weights
|
||||
super().__init__(vector, query, **extra)
|
||||
|
||||
def as_sql(self, compiler, connection, function=None, template=None):
|
||||
extra_params = []
|
||||
extra_context = {}
|
||||
if template is None and self.extra.get('weights'):
|
||||
if self.weights:
|
||||
template = '%(function)s(%(weights)s, %(expressions)s)'
|
||||
weight_sql, extra_params = compiler.compile(self.weights)
|
||||
extra_context['weights'] = weight_sql
|
||||
sql, params = super().as_sql(
|
||||
compiler, connection,
|
||||
function=function, template=template, **extra_context
|
||||
)
|
||||
return sql, extra_params + params
|
||||
|
||||
|
||||
SearchVectorField.register_lookup(SearchVectorExact)
|
||||
|
||||
|
||||
class TrigramBase(Func):
|
||||
output_field = FloatField()
|
||||
|
||||
def __init__(self, expression, string, **extra):
|
||||
if not hasattr(string, 'resolve_expression'):
|
||||
string = Value(string)
|
||||
super().__init__(expression, string, **extra)
|
||||
|
||||
|
||||
class TrigramSimilarity(TrigramBase):
|
||||
function = 'SIMILARITY'
|
||||
|
||||
|
||||
class TrigramDistance(TrigramBase):
|
||||
function = ''
|
||||
arg_joiner = ' <-> '
|
||||
@@ -0,0 +1,10 @@
|
||||
from django.db.migrations.serializer import BaseSerializer
|
||||
|
||||
|
||||
class RangeSerializer(BaseSerializer):
|
||||
def serialize(self):
|
||||
module = self.value.__class__.__module__
|
||||
# Ranges are implemented in psycopg2._range but the public import
|
||||
# location is psycopg2.extras.
|
||||
module = 'psycopg2.extras' if module == 'psycopg2._range' else module
|
||||
return '%s.%r' % (module, self.value), {'import %s' % module}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{% include 'django/forms/widgets/multiwidget.html' %}
|
||||
@@ -0,0 +1,29 @@
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.functional import SimpleLazyObject
|
||||
from django.utils.text import format_lazy
|
||||
|
||||
|
||||
def prefix_validation_error(error, prefix, code, params):
|
||||
"""
|
||||
Prefix a validation error message while maintaining the existing
|
||||
validation data structure.
|
||||
"""
|
||||
if error.error_list == [error]:
|
||||
error_params = error.params or {}
|
||||
return ValidationError(
|
||||
# We can't simply concatenate messages since they might require
|
||||
# their associated parameters to be expressed correctly which
|
||||
# is not something `format_lazy` does. For example, proxied
|
||||
# ngettext calls require a count parameter and are converted
|
||||
# to an empty string if they are missing it.
|
||||
message=format_lazy(
|
||||
'{} {}',
|
||||
SimpleLazyObject(lambda: prefix % params),
|
||||
SimpleLazyObject(lambda: error.message % error_params),
|
||||
),
|
||||
code=code,
|
||||
params={**error_params, **params},
|
||||
)
|
||||
return ValidationError([
|
||||
prefix_validation_error(e, prefix, code, params) for e in error.error_list
|
||||
])
|
||||
Reference in new issue
Block a user