docker setup

This commit is contained in:
AdrienLSH
2023-11-23 16:43:30 +01:00
parent fd19180e1d
commit f29003c66a
5410 changed files with 869440 additions and 0 deletions

View File

@ -0,0 +1,244 @@
import inspect
import re
from django.apps import apps as django_apps
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured, PermissionDenied
from django.middleware.csrf import rotate_token
from django.utils.crypto import constant_time_compare
from django.utils.module_loading import import_string
from django.views.decorators.debug import sensitive_variables
from .signals import user_logged_in, user_logged_out, user_login_failed
SESSION_KEY = "_auth_user_id"
BACKEND_SESSION_KEY = "_auth_user_backend"
HASH_SESSION_KEY = "_auth_user_hash"
REDIRECT_FIELD_NAME = "next"
def load_backend(path):
return import_string(path)()
def _get_backends(return_tuples=False):
backends = []
for backend_path in settings.AUTHENTICATION_BACKENDS:
backend = load_backend(backend_path)
backends.append((backend, backend_path) if return_tuples else backend)
if not backends:
raise ImproperlyConfigured(
"No authentication backends have been defined. Does "
"AUTHENTICATION_BACKENDS contain anything?"
)
return backends
def get_backends():
return _get_backends(return_tuples=False)
@sensitive_variables("credentials")
def _clean_credentials(credentials):
"""
Clean a dictionary of credentials of potentially sensitive info before
sending to less secure functions.
Not comprehensive - intended for user_login_failed signal
"""
SENSITIVE_CREDENTIALS = re.compile("api|token|key|secret|password|signature", re.I)
CLEANSED_SUBSTITUTE = "********************"
for key in credentials:
if SENSITIVE_CREDENTIALS.search(key):
credentials[key] = CLEANSED_SUBSTITUTE
return credentials
def _get_user_session_key(request):
# This value in the session is always serialized to a string, so we need
# to convert it back to Python whenever we access it.
return get_user_model()._meta.pk.to_python(request.session[SESSION_KEY])
@sensitive_variables("credentials")
def authenticate(request=None, **credentials):
"""
If the given credentials are valid, return a User object.
"""
for backend, backend_path in _get_backends(return_tuples=True):
backend_signature = inspect.signature(backend.authenticate)
try:
backend_signature.bind(request, **credentials)
except TypeError:
# This backend doesn't accept these credentials as arguments. Try
# the next one.
continue
try:
user = backend.authenticate(request, **credentials)
except PermissionDenied:
# This backend says to stop in our tracks - this user should not be
# allowed in at all.
break
if user is None:
continue
# Annotate the user object with the path of the backend.
user.backend = backend_path
return user
# The credentials supplied are invalid to all backends, fire signal
user_login_failed.send(
sender=__name__, credentials=_clean_credentials(credentials), request=request
)
def login(request, user, backend=None):
"""
Persist a user id and a backend in the request. This way a user doesn't
have to reauthenticate on every request. Note that data set during
the anonymous session is retained when the user logs in.
"""
session_auth_hash = ""
if user is None:
user = request.user
if hasattr(user, "get_session_auth_hash"):
session_auth_hash = user.get_session_auth_hash()
if SESSION_KEY in request.session:
if _get_user_session_key(request) != user.pk or (
session_auth_hash
and not constant_time_compare(
request.session.get(HASH_SESSION_KEY, ""), session_auth_hash
)
):
# To avoid reusing another user's session, create a new, empty
# session if the existing session corresponds to a different
# authenticated user.
request.session.flush()
else:
request.session.cycle_key()
try:
backend = backend or user.backend
except AttributeError:
backends = _get_backends(return_tuples=True)
if len(backends) == 1:
_, backend = backends[0]
else:
raise ValueError(
"You have multiple authentication backends configured and "
"therefore must provide the `backend` argument or set the "
"`backend` attribute on the user."
)
else:
if not isinstance(backend, str):
raise TypeError(
"backend must be a dotted import path string (got %r)." % backend
)
request.session[SESSION_KEY] = user._meta.pk.value_to_string(user)
request.session[BACKEND_SESSION_KEY] = backend
request.session[HASH_SESSION_KEY] = session_auth_hash
if hasattr(request, "user"):
request.user = user
rotate_token(request)
user_logged_in.send(sender=user.__class__, request=request, user=user)
def logout(request):
"""
Remove the authenticated user's ID from the request and flush their session
data.
"""
# Dispatch the signal before the user is logged out so the receivers have a
# chance to find out *who* logged out.
user = getattr(request, "user", None)
if not getattr(user, "is_authenticated", True):
user = None
user_logged_out.send(sender=user.__class__, request=request, user=user)
request.session.flush()
if hasattr(request, "user"):
from django.contrib.auth.models import AnonymousUser
request.user = AnonymousUser()
def get_user_model():
"""
Return the User model that is active in this project.
"""
try:
return django_apps.get_model(settings.AUTH_USER_MODEL, require_ready=False)
except ValueError:
raise ImproperlyConfigured(
"AUTH_USER_MODEL must be of the form 'app_label.model_name'"
)
except LookupError:
raise ImproperlyConfigured(
"AUTH_USER_MODEL refers to model '%s' that has not been installed"
% settings.AUTH_USER_MODEL
)
def get_user(request):
"""
Return the user model instance associated with the given request session.
If no user is retrieved, return an instance of `AnonymousUser`.
"""
from .models import AnonymousUser
user = None
try:
user_id = _get_user_session_key(request)
backend_path = request.session[BACKEND_SESSION_KEY]
except KeyError:
pass
else:
if backend_path in settings.AUTHENTICATION_BACKENDS:
backend = load_backend(backend_path)
user = backend.get_user(user_id)
# Verify the session
if hasattr(user, "get_session_auth_hash"):
session_hash = request.session.get(HASH_SESSION_KEY)
if not session_hash:
session_hash_verified = False
else:
session_auth_hash = user.get_session_auth_hash()
session_hash_verified = constant_time_compare(
session_hash, session_auth_hash
)
if not session_hash_verified:
# If the current secret does not verify the session, try
# with the fallback secrets and stop when a matching one is
# found.
if session_hash and any(
constant_time_compare(session_hash, fallback_auth_hash)
for fallback_auth_hash in user.get_session_auth_fallback_hash()
):
request.session.cycle_key()
request.session[HASH_SESSION_KEY] = session_auth_hash
else:
request.session.flush()
user = None
return user or AnonymousUser()
def get_permission_codename(action, opts):
"""
Return the codename of the permission for the specified action.
"""
return "%s_%s" % (action, opts.model_name)
def update_session_auth_hash(request, user):
"""
Updating a user's password logs out all sessions for the user.
Take the current request and the updated user object from which the new
session hash will be derived and update the session hash appropriately to
prevent a password change from logging out the session from which the
password was changed.
"""
request.session.cycle_key()
if hasattr(user, "get_session_auth_hash") and request.user == user:
request.session[HASH_SESSION_KEY] = user.get_session_auth_hash()

View File

@ -0,0 +1,230 @@
from django.conf import settings
from django.contrib import admin, messages
from django.contrib.admin.options import IS_POPUP_VAR
from django.contrib.admin.utils import unquote
from django.contrib.auth import update_session_auth_hash
from django.contrib.auth.forms import (
AdminPasswordChangeForm,
UserChangeForm,
UserCreationForm,
)
from django.contrib.auth.models import Group, User
from django.core.exceptions import PermissionDenied
from django.db import router, transaction
from django.http import Http404, HttpResponseRedirect
from django.template.response import TemplateResponse
from django.urls import path, reverse
from django.utils.decorators import method_decorator
from django.utils.html import escape
from django.utils.translation import gettext
from django.utils.translation import gettext_lazy as _
from django.views.decorators.csrf import csrf_protect
from django.views.decorators.debug import sensitive_post_parameters
csrf_protect_m = method_decorator(csrf_protect)
sensitive_post_parameters_m = method_decorator(sensitive_post_parameters())
@admin.register(Group)
class GroupAdmin(admin.ModelAdmin):
search_fields = ("name",)
ordering = ("name",)
filter_horizontal = ("permissions",)
def formfield_for_manytomany(self, db_field, request=None, **kwargs):
if db_field.name == "permissions":
qs = kwargs.get("queryset", db_field.remote_field.model.objects)
# Avoid a major performance hit resolving permission names which
# triggers a content_type load:
kwargs["queryset"] = qs.select_related("content_type")
return super().formfield_for_manytomany(db_field, request=request, **kwargs)
@admin.register(User)
class UserAdmin(admin.ModelAdmin):
add_form_template = "admin/auth/user/add_form.html"
change_user_password_template = None
fieldsets = (
(None, {"fields": ("username", "password")}),
(_("Personal info"), {"fields": ("first_name", "last_name", "email")}),
(
_("Permissions"),
{
"fields": (
"is_active",
"is_staff",
"is_superuser",
"groups",
"user_permissions",
),
},
),
(_("Important dates"), {"fields": ("last_login", "date_joined")}),
)
add_fieldsets = (
(
None,
{
"classes": ("wide",),
"fields": ("username", "password1", "password2"),
},
),
)
form = UserChangeForm
add_form = UserCreationForm
change_password_form = AdminPasswordChangeForm
list_display = ("username", "email", "first_name", "last_name", "is_staff")
list_filter = ("is_staff", "is_superuser", "is_active", "groups")
search_fields = ("username", "first_name", "last_name", "email")
ordering = ("username",)
filter_horizontal = (
"groups",
"user_permissions",
)
def get_fieldsets(self, request, obj=None):
if not obj:
return self.add_fieldsets
return super().get_fieldsets(request, obj)
def get_form(self, request, obj=None, **kwargs):
"""
Use special form during user creation
"""
defaults = {}
if obj is None:
defaults["form"] = self.add_form
defaults.update(kwargs)
return super().get_form(request, obj, **defaults)
def get_urls(self):
return [
path(
"<id>/password/",
self.admin_site.admin_view(self.user_change_password),
name="auth_user_password_change",
),
] + super().get_urls()
def lookup_allowed(self, lookup, value):
# Don't allow lookups involving passwords.
return not lookup.startswith("password") and super().lookup_allowed(
lookup, value
)
@sensitive_post_parameters_m
@csrf_protect_m
def add_view(self, request, form_url="", extra_context=None):
with transaction.atomic(using=router.db_for_write(self.model)):
return self._add_view(request, form_url, extra_context)
def _add_view(self, request, form_url="", extra_context=None):
# It's an error for a user to have add permission but NOT change
# permission for users. If we allowed such users to add users, they
# could create superusers, which would mean they would essentially have
# the permission to change users. To avoid the problem entirely, we
# disallow users from adding users if they don't have change
# permission.
if not self.has_change_permission(request):
if self.has_add_permission(request) and settings.DEBUG:
# Raise Http404 in debug mode so that the user gets a helpful
# error message.
raise Http404(
'Your user does not have the "Change user" permission. In '
"order to add users, Django requires that your user "
'account have both the "Add user" and "Change user" '
"permissions set."
)
raise PermissionDenied
if extra_context is None:
extra_context = {}
username_field = self.opts.get_field(self.model.USERNAME_FIELD)
defaults = {
"auto_populated_fields": (),
"username_help_text": username_field.help_text,
}
extra_context.update(defaults)
return super().add_view(request, form_url, extra_context)
@sensitive_post_parameters_m
def user_change_password(self, request, id, form_url=""):
user = self.get_object(request, unquote(id))
if not self.has_change_permission(request, user):
raise PermissionDenied
if user is None:
raise Http404(
_("%(name)s object with primary key %(key)r does not exist.")
% {
"name": self.opts.verbose_name,
"key": escape(id),
}
)
if request.method == "POST":
form = self.change_password_form(user, request.POST)
if form.is_valid():
form.save()
change_message = self.construct_change_message(request, form, None)
self.log_change(request, user, change_message)
msg = gettext("Password changed successfully.")
messages.success(request, msg)
update_session_auth_hash(request, form.user)
return HttpResponseRedirect(
reverse(
"%s:%s_%s_change"
% (
self.admin_site.name,
user._meta.app_label,
user._meta.model_name,
),
args=(user.pk,),
)
)
else:
form = self.change_password_form(user)
fieldsets = [(None, {"fields": list(form.base_fields)})]
admin_form = admin.helpers.AdminForm(form, fieldsets, {})
context = {
"title": _("Change password: %s") % escape(user.get_username()),
"adminForm": admin_form,
"form_url": form_url,
"form": form,
"is_popup": (IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET),
"is_popup_var": IS_POPUP_VAR,
"add": True,
"change": False,
"has_delete_permission": False,
"has_change_permission": True,
"has_absolute_url": False,
"opts": self.opts,
"original": user,
"save_as": False,
"show_save": True,
**self.admin_site.each_context(request),
}
request.current_app = self.admin_site.name
return TemplateResponse(
request,
self.change_user_password_template
or "admin/auth/user/change_password.html",
context,
)
def response_add(self, request, obj, post_url_continue=None):
"""
Determine the HttpResponse for the add_view stage. It mostly defers to
its superclass implementation but is customized because the User model
has a slightly different workflow.
"""
# We should allow further modification of the user just added i.e. the
# 'Save' button should behave like the 'Save and continue editing'
# button except in two scenarios:
# * The user has pressed the 'Save and add another' button
# * We are adding a user in a popup
if "_addanother" not in request.POST and IS_POPUP_VAR not in request.POST:
request.POST = request.POST.copy()
request.POST["_continue"] = 1
return super().response_add(request, obj, post_url_continue)

View File

@ -0,0 +1,30 @@
from django.apps import AppConfig
from django.core import checks
from django.db.models.query_utils import DeferredAttribute
from django.db.models.signals import post_migrate
from django.utils.translation import gettext_lazy as _
from . import get_user_model
from .checks import check_models_permissions, check_user_model
from .management import create_permissions
from .signals import user_logged_in
class AuthConfig(AppConfig):
default_auto_field = "django.db.models.AutoField"
name = "django.contrib.auth"
verbose_name = _("Authentication and Authorization")
def ready(self):
post_migrate.connect(
create_permissions,
dispatch_uid="django.contrib.auth.management.create_permissions",
)
last_login_field = getattr(get_user_model(), "last_login", None)
# Register the handler only if UserModel.last_login is a field.
if isinstance(last_login_field, DeferredAttribute):
from .models import update_last_login
user_logged_in.connect(update_last_login, dispatch_uid="update_last_login")
checks.register(check_user_model, checks.Tags.models)
checks.register(check_models_permissions, checks.Tags.models)

View File

@ -0,0 +1,249 @@
import warnings
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Permission
from django.db.models import Exists, OuterRef, Q
from django.utils.deprecation import RemovedInDjango50Warning
from django.utils.inspect import func_supports_parameter
UserModel = get_user_model()
class BaseBackend:
def authenticate(self, request, **kwargs):
return None
def get_user(self, user_id):
return None
def get_user_permissions(self, user_obj, obj=None):
return set()
def get_group_permissions(self, user_obj, obj=None):
return set()
def get_all_permissions(self, user_obj, obj=None):
return {
*self.get_user_permissions(user_obj, obj=obj),
*self.get_group_permissions(user_obj, obj=obj),
}
def has_perm(self, user_obj, perm, obj=None):
return perm in self.get_all_permissions(user_obj, obj=obj)
class ModelBackend(BaseBackend):
"""
Authenticates against settings.AUTH_USER_MODEL.
"""
def authenticate(self, request, username=None, password=None, **kwargs):
if username is None:
username = kwargs.get(UserModel.USERNAME_FIELD)
if username is None or password is None:
return
try:
user = UserModel._default_manager.get_by_natural_key(username)
except UserModel.DoesNotExist:
# Run the default password hasher once to reduce the timing
# difference between an existing and a nonexistent user (#20760).
UserModel().set_password(password)
else:
if user.check_password(password) and self.user_can_authenticate(user):
return user
def user_can_authenticate(self, user):
"""
Reject users with is_active=False. Custom user models that don't have
that attribute are allowed.
"""
return getattr(user, "is_active", True)
def _get_user_permissions(self, user_obj):
return user_obj.user_permissions.all()
def _get_group_permissions(self, user_obj):
user_groups_field = get_user_model()._meta.get_field("groups")
user_groups_query = "group__%s" % user_groups_field.related_query_name()
return Permission.objects.filter(**{user_groups_query: user_obj})
def _get_permissions(self, user_obj, obj, from_name):
"""
Return the permissions of `user_obj` from `from_name`. `from_name` can
be either "group" or "user" to return permissions from
`_get_group_permissions` or `_get_user_permissions` respectively.
"""
if not user_obj.is_active or user_obj.is_anonymous or obj is not None:
return set()
perm_cache_name = "_%s_perm_cache" % from_name
if not hasattr(user_obj, perm_cache_name):
if user_obj.is_superuser:
perms = Permission.objects.all()
else:
perms = getattr(self, "_get_%s_permissions" % from_name)(user_obj)
perms = perms.values_list("content_type__app_label", "codename").order_by()
setattr(
user_obj, perm_cache_name, {"%s.%s" % (ct, name) for ct, name in perms}
)
return getattr(user_obj, perm_cache_name)
def get_user_permissions(self, user_obj, obj=None):
"""
Return a set of permission strings the user `user_obj` has from their
`user_permissions`.
"""
return self._get_permissions(user_obj, obj, "user")
def get_group_permissions(self, user_obj, obj=None):
"""
Return a set of permission strings the user `user_obj` has from the
groups they belong.
"""
return self._get_permissions(user_obj, obj, "group")
def get_all_permissions(self, user_obj, obj=None):
if not user_obj.is_active or user_obj.is_anonymous or obj is not None:
return set()
if not hasattr(user_obj, "_perm_cache"):
user_obj._perm_cache = super().get_all_permissions(user_obj)
return user_obj._perm_cache
def has_perm(self, user_obj, perm, obj=None):
return user_obj.is_active and super().has_perm(user_obj, perm, obj=obj)
def has_module_perms(self, user_obj, app_label):
"""
Return True if user_obj has any permissions in the given app_label.
"""
return user_obj.is_active and any(
perm[: perm.index(".")] == app_label
for perm in self.get_all_permissions(user_obj)
)
def with_perm(self, perm, is_active=True, include_superusers=True, obj=None):
"""
Return users that have permission "perm". By default, filter out
inactive users and include superusers.
"""
if isinstance(perm, str):
try:
app_label, codename = perm.split(".")
except ValueError:
raise ValueError(
"Permission name should be in the form "
"app_label.permission_codename."
)
elif not isinstance(perm, Permission):
raise TypeError(
"The `perm` argument must be a string or a permission instance."
)
if obj is not None:
return UserModel._default_manager.none()
permission_q = Q(group__user=OuterRef("pk")) | Q(user=OuterRef("pk"))
if isinstance(perm, Permission):
permission_q &= Q(pk=perm.pk)
else:
permission_q &= Q(codename=codename, content_type__app_label=app_label)
user_q = Exists(Permission.objects.filter(permission_q))
if include_superusers:
user_q |= Q(is_superuser=True)
if is_active is not None:
user_q &= Q(is_active=is_active)
return UserModel._default_manager.filter(user_q)
def get_user(self, user_id):
try:
user = UserModel._default_manager.get(pk=user_id)
except UserModel.DoesNotExist:
return None
return user if self.user_can_authenticate(user) else None
class AllowAllUsersModelBackend(ModelBackend):
def user_can_authenticate(self, user):
return True
class RemoteUserBackend(ModelBackend):
"""
This backend is to be used in conjunction with the ``RemoteUserMiddleware``
found in the middleware module of this package, and is used when the server
is handling authentication outside of Django.
By default, the ``authenticate`` method creates ``User`` objects for
usernames that don't already exist in the database. Subclasses can disable
this behavior by setting the ``create_unknown_user`` attribute to
``False``.
"""
# Create a User object if not already in the database?
create_unknown_user = True
def authenticate(self, request, remote_user):
"""
The username passed as ``remote_user`` is considered trusted. Return
the ``User`` object with the given username. Create a new ``User``
object if ``create_unknown_user`` is ``True``.
Return None if ``create_unknown_user`` is ``False`` and a ``User``
object with the given username is not found in the database.
"""
if not remote_user:
return
created = False
user = None
username = self.clean_username(remote_user)
# Note that this could be accomplished in one try-except clause, but
# instead we use get_or_create when creating unknown users since it has
# built-in safeguards for multiple threads.
if self.create_unknown_user:
user, created = UserModel._default_manager.get_or_create(
**{UserModel.USERNAME_FIELD: username}
)
else:
try:
user = UserModel._default_manager.get_by_natural_key(username)
except UserModel.DoesNotExist:
pass
# RemovedInDjango50Warning: When the deprecation ends, replace with:
# user = self.configure_user(request, user, created=created)
if func_supports_parameter(self.configure_user, "created"):
user = self.configure_user(request, user, created=created)
else:
warnings.warn(
f"`created=True` must be added to the signature of "
f"{self.__class__.__qualname__}.configure_user().",
category=RemovedInDjango50Warning,
)
if created:
user = self.configure_user(request, user)
return user if self.user_can_authenticate(user) else None
def clean_username(self, username):
"""
Perform any cleaning on the "username" prior to using it to get or
create the user object. Return the cleaned username.
By default, return the username unchanged.
"""
return username
def configure_user(self, request, user, created=True):
"""
Configure a user and return the updated user.
By default, return the user unmodified.
"""
return user
class AllowAllUsersRemoteUserBackend(RemoteUserBackend):
def user_can_authenticate(self, user):
return True

View File

@ -0,0 +1,167 @@
"""
This module allows importing AbstractBaseUser even when django.contrib.auth is
not in INSTALLED_APPS.
"""
import unicodedata
import warnings
from django.conf import settings
from django.contrib.auth import password_validation
from django.contrib.auth.hashers import (
check_password,
is_password_usable,
make_password,
)
from django.db import models
from django.utils.crypto import get_random_string, salted_hmac
from django.utils.deprecation import RemovedInDjango51Warning
from django.utils.translation import gettext_lazy as _
class BaseUserManager(models.Manager):
@classmethod
def normalize_email(cls, email):
"""
Normalize the email address by lowercasing the domain part of it.
"""
email = email or ""
try:
email_name, domain_part = email.strip().rsplit("@", 1)
except ValueError:
pass
else:
email = email_name + "@" + domain_part.lower()
return email
def make_random_password(
self,
length=10,
allowed_chars="abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789",
):
"""
Generate a random password with the given length and given
allowed_chars. The default value of allowed_chars does not have "I" or
"O" or letters and digits that look similar -- just to avoid confusion.
"""
warnings.warn(
"BaseUserManager.make_random_password() is deprecated.",
category=RemovedInDjango51Warning,
stacklevel=2,
)
return get_random_string(length, allowed_chars)
def get_by_natural_key(self, username):
return self.get(**{self.model.USERNAME_FIELD: username})
class AbstractBaseUser(models.Model):
password = models.CharField(_("password"), max_length=128)
last_login = models.DateTimeField(_("last login"), blank=True, null=True)
is_active = True
REQUIRED_FIELDS = []
# Stores the raw password if set_password() is called so that it can
# be passed to password_changed() after the model is saved.
_password = None
class Meta:
abstract = True
def __str__(self):
return self.get_username()
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
if self._password is not None:
password_validation.password_changed(self._password, self)
self._password = None
def get_username(self):
"""Return the username for this User."""
return getattr(self, self.USERNAME_FIELD)
def clean(self):
setattr(self, self.USERNAME_FIELD, self.normalize_username(self.get_username()))
def natural_key(self):
return (self.get_username(),)
@property
def is_anonymous(self):
"""
Always return False. This is a way of comparing User objects to
anonymous users.
"""
return False
@property
def is_authenticated(self):
"""
Always return True. This is a way to tell if the user has been
authenticated in templates.
"""
return True
def set_password(self, raw_password):
self.password = make_password(raw_password)
self._password = raw_password
def check_password(self, raw_password):
"""
Return a boolean of whether the raw_password was correct. Handles
hashing formats behind the scenes.
"""
def setter(raw_password):
self.set_password(raw_password)
# Password hash upgrades shouldn't be considered password changes.
self._password = None
self.save(update_fields=["password"])
return check_password(raw_password, self.password, setter)
def set_unusable_password(self):
# Set a value that will never be a valid hash
self.password = make_password(None)
def has_usable_password(self):
"""
Return False if set_unusable_password() has been called for this user.
"""
return is_password_usable(self.password)
def get_session_auth_hash(self):
"""
Return an HMAC of the password field.
"""
return self._get_session_auth_hash()
def get_session_auth_fallback_hash(self):
for fallback_secret in settings.SECRET_KEY_FALLBACKS:
yield self._get_session_auth_hash(secret=fallback_secret)
def _get_session_auth_hash(self, secret=None):
key_salt = "django.contrib.auth.models.AbstractBaseUser.get_session_auth_hash"
return salted_hmac(
key_salt,
self.password,
secret=secret,
algorithm="sha256",
).hexdigest()
@classmethod
def get_email_field_name(cls):
try:
return cls.EMAIL_FIELD
except AttributeError:
return "email"
@classmethod
def normalize_username(cls, username):
return (
unicodedata.normalize("NFKC", username)
if isinstance(username, str)
else username
)

View File

@ -0,0 +1,220 @@
from itertools import chain
from types import MethodType
from django.apps import apps
from django.conf import settings
from django.core import checks
from .management import _get_builtin_permissions
def check_user_model(app_configs=None, **kwargs):
if app_configs is None:
cls = apps.get_model(settings.AUTH_USER_MODEL)
else:
app_label, model_name = settings.AUTH_USER_MODEL.split(".")
for app_config in app_configs:
if app_config.label == app_label:
cls = app_config.get_model(model_name)
break
else:
# Checks might be run against a set of app configs that don't
# include the specified user model. In this case we simply don't
# perform the checks defined below.
return []
errors = []
# Check that REQUIRED_FIELDS is a list
if not isinstance(cls.REQUIRED_FIELDS, (list, tuple)):
errors.append(
checks.Error(
"'REQUIRED_FIELDS' must be a list or tuple.",
obj=cls,
id="auth.E001",
)
)
# Check that the USERNAME FIELD isn't included in REQUIRED_FIELDS.
if cls.USERNAME_FIELD in cls.REQUIRED_FIELDS:
errors.append(
checks.Error(
"The field named as the 'USERNAME_FIELD' "
"for a custom user model must not be included in 'REQUIRED_FIELDS'.",
hint=(
"The 'USERNAME_FIELD' is currently set to '%s', you "
"should remove '%s' from the 'REQUIRED_FIELDS'."
% (cls.USERNAME_FIELD, cls.USERNAME_FIELD)
),
obj=cls,
id="auth.E002",
)
)
# Check that the username field is unique
if not cls._meta.get_field(cls.USERNAME_FIELD).unique and not any(
constraint.fields == (cls.USERNAME_FIELD,)
for constraint in cls._meta.total_unique_constraints
):
if settings.AUTHENTICATION_BACKENDS == [
"django.contrib.auth.backends.ModelBackend"
]:
errors.append(
checks.Error(
"'%s.%s' must be unique because it is named as the "
"'USERNAME_FIELD'." % (cls._meta.object_name, cls.USERNAME_FIELD),
obj=cls,
id="auth.E003",
)
)
else:
errors.append(
checks.Warning(
"'%s.%s' is named as the 'USERNAME_FIELD', but it is not unique."
% (cls._meta.object_name, cls.USERNAME_FIELD),
hint=(
"Ensure that your authentication backend(s) can handle "
"non-unique usernames."
),
obj=cls,
id="auth.W004",
)
)
if isinstance(cls().is_anonymous, MethodType):
errors.append(
checks.Critical(
"%s.is_anonymous must be an attribute or property rather than "
"a method. Ignoring this is a security issue as anonymous "
"users will be treated as authenticated!" % cls,
obj=cls,
id="auth.C009",
)
)
if isinstance(cls().is_authenticated, MethodType):
errors.append(
checks.Critical(
"%s.is_authenticated must be an attribute or property rather "
"than a method. Ignoring this is a security issue as anonymous "
"users will be treated as authenticated!" % cls,
obj=cls,
id="auth.C010",
)
)
return errors
def check_models_permissions(app_configs=None, **kwargs):
if app_configs is None:
models = apps.get_models()
else:
models = chain.from_iterable(
app_config.get_models() for app_config in app_configs
)
Permission = apps.get_model("auth", "Permission")
permission_name_max_length = Permission._meta.get_field("name").max_length
permission_codename_max_length = Permission._meta.get_field("codename").max_length
errors = []
for model in models:
opts = model._meta
builtin_permissions = dict(_get_builtin_permissions(opts))
# Check builtin permission name length.
max_builtin_permission_name_length = (
max(len(name) for name in builtin_permissions.values())
if builtin_permissions
else 0
)
if max_builtin_permission_name_length > permission_name_max_length:
verbose_name_max_length = permission_name_max_length - (
max_builtin_permission_name_length - len(opts.verbose_name_raw)
)
errors.append(
checks.Error(
"The verbose_name of model '%s' must be at most %d "
"characters for its builtin permission names to be at "
"most %d characters."
% (opts.label, verbose_name_max_length, permission_name_max_length),
obj=model,
id="auth.E007",
)
)
# Check builtin permission codename length.
max_builtin_permission_codename_length = (
max(len(codename) for codename in builtin_permissions.keys())
if builtin_permissions
else 0
)
if max_builtin_permission_codename_length > permission_codename_max_length:
model_name_max_length = permission_codename_max_length - (
max_builtin_permission_codename_length - len(opts.model_name)
)
errors.append(
checks.Error(
"The name of model '%s' must be at most %d characters "
"for its builtin permission codenames to be at most %d "
"characters."
% (
opts.label,
model_name_max_length,
permission_codename_max_length,
),
obj=model,
id="auth.E011",
)
)
codenames = set()
for codename, name in opts.permissions:
# Check custom permission name length.
if len(name) > permission_name_max_length:
errors.append(
checks.Error(
"The permission named '%s' of model '%s' is longer "
"than %d characters."
% (
name,
opts.label,
permission_name_max_length,
),
obj=model,
id="auth.E008",
)
)
# Check custom permission codename length.
if len(codename) > permission_codename_max_length:
errors.append(
checks.Error(
"The permission codenamed '%s' of model '%s' is "
"longer than %d characters."
% (
codename,
opts.label,
permission_codename_max_length,
),
obj=model,
id="auth.E012",
)
)
# Check custom permissions codename clashing.
if codename in builtin_permissions:
errors.append(
checks.Error(
"The permission codenamed '%s' clashes with a builtin "
"permission for model '%s'." % (codename, opts.label),
obj=model,
id="auth.E005",
)
)
elif codename in codenames:
errors.append(
checks.Error(
"The permission codenamed '%s' is duplicated for "
"model '%s'." % (codename, opts.label),
obj=model,
id="auth.E006",
)
)
codenames.add(codename)
return errors

View File

@ -0,0 +1,67 @@
# PermWrapper and PermLookupDict proxy the permissions system into objects that
# the template system can understand.
class PermLookupDict:
def __init__(self, user, app_label):
self.user, self.app_label = user, app_label
def __repr__(self):
return str(self.user.get_all_permissions())
def __getitem__(self, perm_name):
return self.user.has_perm("%s.%s" % (self.app_label, perm_name))
def __iter__(self):
# To fix 'item in perms.someapp' and __getitem__ interaction we need to
# define __iter__. See #18979 for details.
raise TypeError("PermLookupDict is not iterable.")
def __bool__(self):
return self.user.has_module_perms(self.app_label)
class PermWrapper:
def __init__(self, user):
self.user = user
def __repr__(self):
return f"{self.__class__.__qualname__}({self.user!r})"
def __getitem__(self, app_label):
return PermLookupDict(self.user, app_label)
def __iter__(self):
# I am large, I contain multitudes.
raise TypeError("PermWrapper is not iterable.")
def __contains__(self, perm_name):
"""
Lookup by "someapp" or "someapp.someperm" in perms.
"""
if "." not in perm_name:
# The name refers to module.
return bool(self[perm_name])
app_label, perm_name = perm_name.split(".", 1)
return self[app_label][perm_name]
def auth(request):
"""
Return context variables required by apps that use Django's authentication
system.
If there is no 'user' attribute in the request, use AnonymousUser (from
django.contrib.auth).
"""
if hasattr(request, "user"):
user = request.user
else:
from django.contrib.auth.models import AnonymousUser
user = AnonymousUser()
return {
"user": user,
"perms": PermWrapper(user),
}

View File

@ -0,0 +1,82 @@
from functools import wraps
from urllib.parse import urlparse
from django.conf import settings
from django.contrib.auth import REDIRECT_FIELD_NAME
from django.core.exceptions import PermissionDenied
from django.shortcuts import resolve_url
def user_passes_test(
test_func, login_url=None, redirect_field_name=REDIRECT_FIELD_NAME
):
"""
Decorator for views that checks that the user passes the given test,
redirecting to the log-in page if necessary. The test should be a callable
that takes the user object and returns True if the user passes.
"""
def decorator(view_func):
@wraps(view_func)
def _wrapper_view(request, *args, **kwargs):
if test_func(request.user):
return view_func(request, *args, **kwargs)
path = request.build_absolute_uri()
resolved_login_url = resolve_url(login_url or settings.LOGIN_URL)
# If the login url is the same scheme and net location then just
# use the path as the "next" url.
login_scheme, login_netloc = urlparse(resolved_login_url)[:2]
current_scheme, current_netloc = urlparse(path)[:2]
if (not login_scheme or login_scheme == current_scheme) and (
not login_netloc or login_netloc == current_netloc
):
path = request.get_full_path()
from django.contrib.auth.views import redirect_to_login
return redirect_to_login(path, resolved_login_url, redirect_field_name)
return _wrapper_view
return decorator
def login_required(
function=None, redirect_field_name=REDIRECT_FIELD_NAME, login_url=None
):
"""
Decorator for views that checks that the user is logged in, redirecting
to the log-in page if necessary.
"""
actual_decorator = user_passes_test(
lambda u: u.is_authenticated,
login_url=login_url,
redirect_field_name=redirect_field_name,
)
if function:
return actual_decorator(function)
return actual_decorator
def permission_required(perm, login_url=None, raise_exception=False):
"""
Decorator for views that checks whether a user has a particular permission
enabled, redirecting to the log-in page if necessary.
If the raise_exception parameter is given the PermissionDenied exception
is raised.
"""
def check_perms(user):
if isinstance(perm, str):
perms = (perm,)
else:
perms = perm
# First check if the user has the permission (even anon users)
if user.has_perms(perms):
return True
# In case the 403 handler should be called raise the exception
if raise_exception:
raise PermissionDenied
# As the last resort, show the login form
return False
return user_passes_test(check_perms, login_url=login_url)

View File

@ -0,0 +1,510 @@
import unicodedata
from django import forms
from django.contrib.auth import authenticate, get_user_model, password_validation
from django.contrib.auth.hashers import UNUSABLE_PASSWORD_PREFIX, identify_hasher
from django.contrib.auth.models import User
from django.contrib.auth.tokens import default_token_generator
from django.contrib.sites.shortcuts import get_current_site
from django.core.exceptions import ValidationError
from django.core.mail import EmailMultiAlternatives
from django.template import loader
from django.utils.encoding import force_bytes
from django.utils.http import urlsafe_base64_encode
from django.utils.text import capfirst
from django.utils.translation import gettext
from django.utils.translation import gettext_lazy as _
UserModel = get_user_model()
def _unicode_ci_compare(s1, s2):
"""
Perform case-insensitive comparison of two identifiers, using the
recommended algorithm from Unicode Technical Report 36, section
2.11.2(B)(2).
"""
return (
unicodedata.normalize("NFKC", s1).casefold()
== unicodedata.normalize("NFKC", s2).casefold()
)
class ReadOnlyPasswordHashWidget(forms.Widget):
template_name = "auth/widgets/read_only_password_hash.html"
read_only = True
def get_context(self, name, value, attrs):
context = super().get_context(name, value, attrs)
summary = []
if not value or value.startswith(UNUSABLE_PASSWORD_PREFIX):
summary.append({"label": gettext("No password set.")})
else:
try:
hasher = identify_hasher(value)
except ValueError:
summary.append(
{
"label": gettext(
"Invalid password format or unknown hashing algorithm."
)
}
)
else:
for key, value_ in hasher.safe_summary(value).items():
summary.append({"label": gettext(key), "value": value_})
context["summary"] = summary
return context
def id_for_label(self, id_):
return None
class ReadOnlyPasswordHashField(forms.Field):
widget = ReadOnlyPasswordHashWidget
def __init__(self, *args, **kwargs):
kwargs.setdefault("required", False)
kwargs.setdefault("disabled", True)
super().__init__(*args, **kwargs)
class UsernameField(forms.CharField):
def to_python(self, value):
return unicodedata.normalize("NFKC", super().to_python(value))
def widget_attrs(self, widget):
return {
**super().widget_attrs(widget),
"autocapitalize": "none",
"autocomplete": "username",
}
class BaseUserCreationForm(forms.ModelForm):
"""
A form that creates a user, with no privileges, from the given username and
password.
"""
error_messages = {
"password_mismatch": _("The two password fields didnt match."),
}
password1 = forms.CharField(
label=_("Password"),
strip=False,
widget=forms.PasswordInput(attrs={"autocomplete": "new-password"}),
help_text=password_validation.password_validators_help_text_html(),
)
password2 = forms.CharField(
label=_("Password confirmation"),
widget=forms.PasswordInput(attrs={"autocomplete": "new-password"}),
strip=False,
help_text=_("Enter the same password as before, for verification."),
)
class Meta:
model = User
fields = ("username",)
field_classes = {"username": UsernameField}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if self._meta.model.USERNAME_FIELD in self.fields:
self.fields[self._meta.model.USERNAME_FIELD].widget.attrs[
"autofocus"
] = True
def clean_password2(self):
password1 = self.cleaned_data.get("password1")
password2 = self.cleaned_data.get("password2")
if password1 and password2 and password1 != password2:
raise ValidationError(
self.error_messages["password_mismatch"],
code="password_mismatch",
)
return password2
def _post_clean(self):
super()._post_clean()
# Validate the password after self.instance is updated with form data
# by super().
password = self.cleaned_data.get("password2")
if password:
try:
password_validation.validate_password(password, self.instance)
except ValidationError as error:
self.add_error("password2", error)
def save(self, commit=True):
user = super().save(commit=False)
user.set_password(self.cleaned_data["password1"])
if commit:
user.save()
if hasattr(self, "save_m2m"):
self.save_m2m()
return user
class UserCreationForm(BaseUserCreationForm):
def clean_username(self):
"""Reject usernames that differ only in case."""
username = self.cleaned_data.get("username")
if (
username
and self._meta.model.objects.filter(username__iexact=username).exists()
):
self._update_errors(
ValidationError(
{
"username": self.instance.unique_error_message(
self._meta.model, ["username"]
)
}
)
)
else:
return username
class UserChangeForm(forms.ModelForm):
password = ReadOnlyPasswordHashField(
label=_("Password"),
help_text=_(
"Raw passwords are not stored, so there is no way to see this "
"users password, but you can change the password using "
'<a href="{}">this form</a>.'
),
)
class Meta:
model = User
fields = "__all__"
field_classes = {"username": UsernameField}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
password = self.fields.get("password")
if password:
password.help_text = password.help_text.format(
f"../../{self.instance.pk}/password/"
)
user_permissions = self.fields.get("user_permissions")
if user_permissions:
user_permissions.queryset = user_permissions.queryset.select_related(
"content_type"
)
class AuthenticationForm(forms.Form):
"""
Base class for authenticating users. Extend this to get a form that accepts
username/password logins.
"""
username = UsernameField(widget=forms.TextInput(attrs={"autofocus": True}))
password = forms.CharField(
label=_("Password"),
strip=False,
widget=forms.PasswordInput(attrs={"autocomplete": "current-password"}),
)
error_messages = {
"invalid_login": _(
"Please enter a correct %(username)s and password. Note that both "
"fields may be case-sensitive."
),
"inactive": _("This account is inactive."),
}
def __init__(self, request=None, *args, **kwargs):
"""
The 'request' parameter is set for custom auth use by subclasses.
The form data comes in via the standard 'data' kwarg.
"""
self.request = request
self.user_cache = None
super().__init__(*args, **kwargs)
# Set the max length and label for the "username" field.
self.username_field = UserModel._meta.get_field(UserModel.USERNAME_FIELD)
username_max_length = self.username_field.max_length or 254
self.fields["username"].max_length = username_max_length
self.fields["username"].widget.attrs["maxlength"] = username_max_length
if self.fields["username"].label is None:
self.fields["username"].label = capfirst(self.username_field.verbose_name)
def clean(self):
username = self.cleaned_data.get("username")
password = self.cleaned_data.get("password")
if username is not None and password:
self.user_cache = authenticate(
self.request, username=username, password=password
)
if self.user_cache is None:
raise self.get_invalid_login_error()
else:
self.confirm_login_allowed(self.user_cache)
return self.cleaned_data
def confirm_login_allowed(self, user):
"""
Controls whether the given User may log in. This is a policy setting,
independent of end-user authentication. This default behavior is to
allow login by active users, and reject login by inactive users.
If the given user cannot log in, this method should raise a
``ValidationError``.
If the given user may log in, this method should return None.
"""
if not user.is_active:
raise ValidationError(
self.error_messages["inactive"],
code="inactive",
)
def get_user(self):
return self.user_cache
def get_invalid_login_error(self):
return ValidationError(
self.error_messages["invalid_login"],
code="invalid_login",
params={"username": self.username_field.verbose_name},
)
class PasswordResetForm(forms.Form):
email = forms.EmailField(
label=_("Email"),
max_length=254,
widget=forms.EmailInput(attrs={"autocomplete": "email"}),
)
def send_mail(
self,
subject_template_name,
email_template_name,
context,
from_email,
to_email,
html_email_template_name=None,
):
"""
Send a django.core.mail.EmailMultiAlternatives to `to_email`.
"""
subject = loader.render_to_string(subject_template_name, context)
# Email subject *must not* contain newlines
subject = "".join(subject.splitlines())
body = loader.render_to_string(email_template_name, context)
email_message = EmailMultiAlternatives(subject, body, from_email, [to_email])
if html_email_template_name is not None:
html_email = loader.render_to_string(html_email_template_name, context)
email_message.attach_alternative(html_email, "text/html")
email_message.send()
def get_users(self, email):
"""Given an email, return matching user(s) who should receive a reset.
This allows subclasses to more easily customize the default policies
that prevent inactive users and users with unusable passwords from
resetting their password.
"""
email_field_name = UserModel.get_email_field_name()
active_users = UserModel._default_manager.filter(
**{
"%s__iexact" % email_field_name: email,
"is_active": True,
}
)
return (
u
for u in active_users
if u.has_usable_password()
and _unicode_ci_compare(email, getattr(u, email_field_name))
)
def save(
self,
domain_override=None,
subject_template_name="registration/password_reset_subject.txt",
email_template_name="registration/password_reset_email.html",
use_https=False,
token_generator=default_token_generator,
from_email=None,
request=None,
html_email_template_name=None,
extra_email_context=None,
):
"""
Generate a one-use only link for resetting password and send it to the
user.
"""
email = self.cleaned_data["email"]
if not domain_override:
current_site = get_current_site(request)
site_name = current_site.name
domain = current_site.domain
else:
site_name = domain = domain_override
email_field_name = UserModel.get_email_field_name()
for user in self.get_users(email):
user_email = getattr(user, email_field_name)
context = {
"email": user_email,
"domain": domain,
"site_name": site_name,
"uid": urlsafe_base64_encode(force_bytes(user.pk)),
"user": user,
"token": token_generator.make_token(user),
"protocol": "https" if use_https else "http",
**(extra_email_context or {}),
}
self.send_mail(
subject_template_name,
email_template_name,
context,
from_email,
user_email,
html_email_template_name=html_email_template_name,
)
class SetPasswordForm(forms.Form):
"""
A form that lets a user set their password without entering the old
password
"""
error_messages = {
"password_mismatch": _("The two password fields didnt match."),
}
new_password1 = forms.CharField(
label=_("New password"),
widget=forms.PasswordInput(attrs={"autocomplete": "new-password"}),
strip=False,
help_text=password_validation.password_validators_help_text_html(),
)
new_password2 = forms.CharField(
label=_("New password confirmation"),
strip=False,
widget=forms.PasswordInput(attrs={"autocomplete": "new-password"}),
)
def __init__(self, user, *args, **kwargs):
self.user = user
super().__init__(*args, **kwargs)
def clean_new_password2(self):
password1 = self.cleaned_data.get("new_password1")
password2 = self.cleaned_data.get("new_password2")
if password1 and password2 and password1 != password2:
raise ValidationError(
self.error_messages["password_mismatch"],
code="password_mismatch",
)
password_validation.validate_password(password2, self.user)
return password2
def save(self, commit=True):
password = self.cleaned_data["new_password1"]
self.user.set_password(password)
if commit:
self.user.save()
return self.user
class PasswordChangeForm(SetPasswordForm):
"""
A form that lets a user change their password by entering their old
password.
"""
error_messages = {
**SetPasswordForm.error_messages,
"password_incorrect": _(
"Your old password was entered incorrectly. Please enter it again."
),
}
old_password = forms.CharField(
label=_("Old password"),
strip=False,
widget=forms.PasswordInput(
attrs={"autocomplete": "current-password", "autofocus": True}
),
)
field_order = ["old_password", "new_password1", "new_password2"]
def clean_old_password(self):
"""
Validate that the old_password field is correct.
"""
old_password = self.cleaned_data["old_password"]
if not self.user.check_password(old_password):
raise ValidationError(
self.error_messages["password_incorrect"],
code="password_incorrect",
)
return old_password
class AdminPasswordChangeForm(forms.Form):
"""
A form used to change the password of a user in the admin interface.
"""
error_messages = {
"password_mismatch": _("The two password fields didnt match."),
}
required_css_class = "required"
password1 = forms.CharField(
label=_("Password"),
widget=forms.PasswordInput(
attrs={"autocomplete": "new-password", "autofocus": True}
),
strip=False,
help_text=password_validation.password_validators_help_text_html(),
)
password2 = forms.CharField(
label=_("Password (again)"),
widget=forms.PasswordInput(attrs={"autocomplete": "new-password"}),
strip=False,
help_text=_("Enter the same password as before, for verification."),
)
def __init__(self, user, *args, **kwargs):
self.user = user
super().__init__(*args, **kwargs)
def clean_password2(self):
password1 = self.cleaned_data.get("password1")
password2 = self.cleaned_data.get("password2")
if password1 and password2 and password1 != password2:
raise ValidationError(
self.error_messages["password_mismatch"],
code="password_mismatch",
)
password_validation.validate_password(password2, self.user)
return password2
def save(self, commit=True):
"""Save the new password."""
password = self.cleaned_data["password1"]
self.user.set_password(password)
if commit:
self.user.save()
return self.user
@property
def changed_data(self):
data = super().changed_data
for name in self.fields:
if name not in data:
return []
return ["password"]

View File

@ -0,0 +1,43 @@
from django import db
from django.contrib import auth
UserModel = auth.get_user_model()
def check_password(environ, username, password):
"""
Authenticate against Django's auth database.
mod_wsgi docs specify None, True, False as return value depending
on whether the user exists and authenticates.
"""
# db connection state is managed similarly to the wsgi handler
# as mod_wsgi may call these functions outside of a request/response cycle
db.reset_queries()
try:
try:
user = UserModel._default_manager.get_by_natural_key(username)
except UserModel.DoesNotExist:
return None
if not user.is_active:
return None
return user.check_password(password)
finally:
db.close_old_connections()
def groups_for_user(environ, username):
"""
Authorize a user based on groups
"""
db.reset_queries()
try:
try:
user = UserModel._default_manager.get_by_natural_key(username)
except UserModel.DoesNotExist:
return []
if not user.is_active:
return []
return [group.name.encode() for group in user.groups.all()]
finally:
db.close_old_connections()

View File

@ -0,0 +1,884 @@
import base64
import binascii
import functools
import hashlib
import importlib
import math
import warnings
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.core.signals import setting_changed
from django.dispatch import receiver
from django.utils.crypto import (
RANDOM_STRING_CHARS,
constant_time_compare,
get_random_string,
md5,
pbkdf2,
)
from django.utils.deprecation import RemovedInDjango50Warning, RemovedInDjango51Warning
from django.utils.module_loading import import_string
from django.utils.translation import gettext_noop as _
UNUSABLE_PASSWORD_PREFIX = "!" # This will never be a valid encoded hash
UNUSABLE_PASSWORD_SUFFIX_LENGTH = (
40 # number of random chars to add after UNUSABLE_PASSWORD_PREFIX
)
def is_password_usable(encoded):
"""
Return True if this password wasn't generated by
User.set_unusable_password(), i.e. make_password(None).
"""
return encoded is None or not encoded.startswith(UNUSABLE_PASSWORD_PREFIX)
def check_password(password, encoded, setter=None, preferred="default"):
"""
Return a boolean of whether the raw password matches the three
part encoded digest.
If setter is specified, it'll be called when you need to
regenerate the password.
"""
if password is None or not is_password_usable(encoded):
return False
preferred = get_hasher(preferred)
try:
hasher = identify_hasher(encoded)
except ValueError:
# encoded is gibberish or uses a hasher that's no longer installed.
return False
hasher_changed = hasher.algorithm != preferred.algorithm
must_update = hasher_changed or preferred.must_update(encoded)
is_correct = hasher.verify(password, encoded)
# If the hasher didn't change (we don't protect against enumeration if it
# does) and the password should get updated, try to close the timing gap
# between the work factor of the current encoded password and the default
# work factor.
if not is_correct and not hasher_changed and must_update:
hasher.harden_runtime(password, encoded)
if setter and is_correct and must_update:
setter(password)
return is_correct
def make_password(password, salt=None, hasher="default"):
"""
Turn a plain-text password into a hash for database storage
Same as encode() but generate a new random salt. If password is None then
return a concatenation of UNUSABLE_PASSWORD_PREFIX and a random string,
which disallows logins. Additional random string reduces chances of gaining
access to staff or superuser accounts. See ticket #20079 for more info.
"""
if password is None:
return UNUSABLE_PASSWORD_PREFIX + get_random_string(
UNUSABLE_PASSWORD_SUFFIX_LENGTH
)
if not isinstance(password, (bytes, str)):
raise TypeError(
"Password must be a string or bytes, got %s." % type(password).__qualname__
)
hasher = get_hasher(hasher)
salt = salt or hasher.salt()
return hasher.encode(password, salt)
@functools.lru_cache
def get_hashers():
hashers = []
for hasher_path in settings.PASSWORD_HASHERS:
hasher_cls = import_string(hasher_path)
hasher = hasher_cls()
if not getattr(hasher, "algorithm"):
raise ImproperlyConfigured(
"hasher doesn't specify an algorithm name: %s" % hasher_path
)
hashers.append(hasher)
return hashers
@functools.lru_cache
def get_hashers_by_algorithm():
return {hasher.algorithm: hasher for hasher in get_hashers()}
@receiver(setting_changed)
def reset_hashers(*, setting, **kwargs):
if setting == "PASSWORD_HASHERS":
get_hashers.cache_clear()
get_hashers_by_algorithm.cache_clear()
def get_hasher(algorithm="default"):
"""
Return an instance of a loaded password hasher.
If algorithm is 'default', return the default hasher. Lazily import hashers
specified in the project's settings file if needed.
"""
if hasattr(algorithm, "algorithm"):
return algorithm
elif algorithm == "default":
return get_hashers()[0]
else:
hashers = get_hashers_by_algorithm()
try:
return hashers[algorithm]
except KeyError:
raise ValueError(
"Unknown password hashing algorithm '%s'. "
"Did you specify it in the PASSWORD_HASHERS "
"setting?" % algorithm
)
def identify_hasher(encoded):
"""
Return an instance of a loaded password hasher.
Identify hasher algorithm by examining encoded hash, and call
get_hasher() to return hasher. Raise ValueError if
algorithm cannot be identified, or if hasher is not loaded.
"""
# Ancient versions of Django created plain MD5 passwords and accepted
# MD5 passwords with an empty salt.
if (len(encoded) == 32 and "$" not in encoded) or (
len(encoded) == 37 and encoded.startswith("md5$$")
):
algorithm = "unsalted_md5"
# Ancient versions of Django accepted SHA1 passwords with an empty salt.
elif len(encoded) == 46 and encoded.startswith("sha1$$"):
algorithm = "unsalted_sha1"
else:
algorithm = encoded.split("$", 1)[0]
return get_hasher(algorithm)
def mask_hash(hash, show=6, char="*"):
"""
Return the given hash, with only the first ``show`` number shown. The
rest are masked with ``char`` for security reasons.
"""
masked = hash[:show]
masked += char * len(hash[show:])
return masked
def must_update_salt(salt, expected_entropy):
# Each character in the salt provides log_2(len(alphabet)) bits of entropy.
return len(salt) * math.log2(len(RANDOM_STRING_CHARS)) < expected_entropy
class BasePasswordHasher:
"""
Abstract base class for password hashers
When creating your own hasher, you need to override algorithm,
verify(), encode() and safe_summary().
PasswordHasher objects are immutable.
"""
algorithm = None
library = None
salt_entropy = 128
def _load_library(self):
if self.library is not None:
if isinstance(self.library, (tuple, list)):
name, mod_path = self.library
else:
mod_path = self.library
try:
module = importlib.import_module(mod_path)
except ImportError as e:
raise ValueError(
"Couldn't load %r algorithm library: %s"
% (self.__class__.__name__, e)
)
return module
raise ValueError(
"Hasher %r doesn't specify a library attribute" % self.__class__.__name__
)
def salt(self):
"""
Generate a cryptographically secure nonce salt in ASCII with an entropy
of at least `salt_entropy` bits.
"""
# Each character in the salt provides
# log_2(len(alphabet)) bits of entropy.
char_count = math.ceil(self.salt_entropy / math.log2(len(RANDOM_STRING_CHARS)))
return get_random_string(char_count, allowed_chars=RANDOM_STRING_CHARS)
def verify(self, password, encoded):
"""Check if the given password is correct."""
raise NotImplementedError(
"subclasses of BasePasswordHasher must provide a verify() method"
)
def _check_encode_args(self, password, salt):
if password is None:
raise TypeError("password must be provided.")
if not salt or "$" in salt:
raise ValueError("salt must be provided and cannot contain $.")
def encode(self, password, salt):
"""
Create an encoded database value.
The result is normally formatted as "algorithm$salt$hash" and
must be fewer than 128 characters.
"""
raise NotImplementedError(
"subclasses of BasePasswordHasher must provide an encode() method"
)
def decode(self, encoded):
"""
Return a decoded database value.
The result is a dictionary and should contain `algorithm`, `hash`, and
`salt`. Extra keys can be algorithm specific like `iterations` or
`work_factor`.
"""
raise NotImplementedError(
"subclasses of BasePasswordHasher must provide a decode() method."
)
def safe_summary(self, encoded):
"""
Return a summary of safe values.
The result is a dictionary and will be used where the password field
must be displayed to construct a safe representation of the password.
"""
raise NotImplementedError(
"subclasses of BasePasswordHasher must provide a safe_summary() method"
)
def must_update(self, encoded):
return False
def harden_runtime(self, password, encoded):
"""
Bridge the runtime gap between the work factor supplied in `encoded`
and the work factor suggested by this hasher.
Taking PBKDF2 as an example, if `encoded` contains 20000 iterations and
`self.iterations` is 30000, this method should run password through
another 10000 iterations of PBKDF2. Similar approaches should exist
for any hasher that has a work factor. If not, this method should be
defined as a no-op to silence the warning.
"""
warnings.warn(
"subclasses of BasePasswordHasher should provide a harden_runtime() method"
)
class PBKDF2PasswordHasher(BasePasswordHasher):
"""
Secure password hashing using the PBKDF2 algorithm (recommended)
Configured to use PBKDF2 + HMAC + SHA256.
The result is a 64 byte binary string. Iterations may be changed
safely but you must rename the algorithm if you change SHA256.
"""
algorithm = "pbkdf2_sha256"
iterations = 600000
digest = hashlib.sha256
def encode(self, password, salt, iterations=None):
self._check_encode_args(password, salt)
iterations = iterations or self.iterations
hash = pbkdf2(password, salt, iterations, digest=self.digest)
hash = base64.b64encode(hash).decode("ascii").strip()
return "%s$%d$%s$%s" % (self.algorithm, iterations, salt, hash)
def decode(self, encoded):
algorithm, iterations, salt, hash = encoded.split("$", 3)
assert algorithm == self.algorithm
return {
"algorithm": algorithm,
"hash": hash,
"iterations": int(iterations),
"salt": salt,
}
def verify(self, password, encoded):
decoded = self.decode(encoded)
encoded_2 = self.encode(password, decoded["salt"], decoded["iterations"])
return constant_time_compare(encoded, encoded_2)
def safe_summary(self, encoded):
decoded = self.decode(encoded)
return {
_("algorithm"): decoded["algorithm"],
_("iterations"): decoded["iterations"],
_("salt"): mask_hash(decoded["salt"]),
_("hash"): mask_hash(decoded["hash"]),
}
def must_update(self, encoded):
decoded = self.decode(encoded)
update_salt = must_update_salt(decoded["salt"], self.salt_entropy)
return (decoded["iterations"] != self.iterations) or update_salt
def harden_runtime(self, password, encoded):
decoded = self.decode(encoded)
extra_iterations = self.iterations - decoded["iterations"]
if extra_iterations > 0:
self.encode(password, decoded["salt"], extra_iterations)
class PBKDF2SHA1PasswordHasher(PBKDF2PasswordHasher):
"""
Alternate PBKDF2 hasher which uses SHA1, the default PRF
recommended by PKCS #5. This is compatible with other
implementations of PBKDF2, such as openssl's
PKCS5_PBKDF2_HMAC_SHA1().
"""
algorithm = "pbkdf2_sha1"
digest = hashlib.sha1
class Argon2PasswordHasher(BasePasswordHasher):
"""
Secure password hashing using the argon2 algorithm.
This is the winner of the Password Hashing Competition 2013-2015
(https://password-hashing.net). It requires the argon2-cffi library which
depends on native C code and might cause portability issues.
"""
algorithm = "argon2"
library = "argon2"
time_cost = 2
memory_cost = 102400
parallelism = 8
def encode(self, password, salt):
argon2 = self._load_library()
params = self.params()
data = argon2.low_level.hash_secret(
password.encode(),
salt.encode(),
time_cost=params.time_cost,
memory_cost=params.memory_cost,
parallelism=params.parallelism,
hash_len=params.hash_len,
type=params.type,
)
return self.algorithm + data.decode("ascii")
def decode(self, encoded):
argon2 = self._load_library()
algorithm, rest = encoded.split("$", 1)
assert algorithm == self.algorithm
params = argon2.extract_parameters("$" + rest)
variety, *_, b64salt, hash = rest.split("$")
# Add padding.
b64salt += "=" * (-len(b64salt) % 4)
salt = base64.b64decode(b64salt).decode("latin1")
return {
"algorithm": algorithm,
"hash": hash,
"memory_cost": params.memory_cost,
"parallelism": params.parallelism,
"salt": salt,
"time_cost": params.time_cost,
"variety": variety,
"version": params.version,
"params": params,
}
def verify(self, password, encoded):
argon2 = self._load_library()
algorithm, rest = encoded.split("$", 1)
assert algorithm == self.algorithm
try:
return argon2.PasswordHasher().verify("$" + rest, password)
except argon2.exceptions.VerificationError:
return False
def safe_summary(self, encoded):
decoded = self.decode(encoded)
return {
_("algorithm"): decoded["algorithm"],
_("variety"): decoded["variety"],
_("version"): decoded["version"],
_("memory cost"): decoded["memory_cost"],
_("time cost"): decoded["time_cost"],
_("parallelism"): decoded["parallelism"],
_("salt"): mask_hash(decoded["salt"]),
_("hash"): mask_hash(decoded["hash"]),
}
def must_update(self, encoded):
decoded = self.decode(encoded)
current_params = decoded["params"]
new_params = self.params()
# Set salt_len to the salt_len of the current parameters because salt
# is explicitly passed to argon2.
new_params.salt_len = current_params.salt_len
update_salt = must_update_salt(decoded["salt"], self.salt_entropy)
return (current_params != new_params) or update_salt
def harden_runtime(self, password, encoded):
# The runtime for Argon2 is too complicated to implement a sensible
# hardening algorithm.
pass
def params(self):
argon2 = self._load_library()
# salt_len is a noop, because we provide our own salt.
return argon2.Parameters(
type=argon2.low_level.Type.ID,
version=argon2.low_level.ARGON2_VERSION,
salt_len=argon2.DEFAULT_RANDOM_SALT_LENGTH,
hash_len=argon2.DEFAULT_HASH_LENGTH,
time_cost=self.time_cost,
memory_cost=self.memory_cost,
parallelism=self.parallelism,
)
class BCryptSHA256PasswordHasher(BasePasswordHasher):
"""
Secure password hashing using the bcrypt algorithm (recommended)
This is considered by many to be the most secure algorithm but you
must first install the bcrypt library. Please be warned that
this library depends on native C code and might cause portability
issues.
"""
algorithm = "bcrypt_sha256"
digest = hashlib.sha256
library = ("bcrypt", "bcrypt")
rounds = 12
def salt(self):
bcrypt = self._load_library()
return bcrypt.gensalt(self.rounds)
def encode(self, password, salt):
bcrypt = self._load_library()
password = password.encode()
# Hash the password prior to using bcrypt to prevent password
# truncation as described in #20138.
if self.digest is not None:
# Use binascii.hexlify() because a hex encoded bytestring is str.
password = binascii.hexlify(self.digest(password).digest())
data = bcrypt.hashpw(password, salt)
return "%s$%s" % (self.algorithm, data.decode("ascii"))
def decode(self, encoded):
algorithm, empty, algostr, work_factor, data = encoded.split("$", 4)
assert algorithm == self.algorithm
return {
"algorithm": algorithm,
"algostr": algostr,
"checksum": data[22:],
"salt": data[:22],
"work_factor": int(work_factor),
}
def verify(self, password, encoded):
algorithm, data = encoded.split("$", 1)
assert algorithm == self.algorithm
encoded_2 = self.encode(password, data.encode("ascii"))
return constant_time_compare(encoded, encoded_2)
def safe_summary(self, encoded):
decoded = self.decode(encoded)
return {
_("algorithm"): decoded["algorithm"],
_("work factor"): decoded["work_factor"],
_("salt"): mask_hash(decoded["salt"]),
_("checksum"): mask_hash(decoded["checksum"]),
}
def must_update(self, encoded):
decoded = self.decode(encoded)
return decoded["work_factor"] != self.rounds
def harden_runtime(self, password, encoded):
_, data = encoded.split("$", 1)
salt = data[:29] # Length of the salt in bcrypt.
rounds = data.split("$")[2]
# work factor is logarithmic, adding one doubles the load.
diff = 2 ** (self.rounds - int(rounds)) - 1
while diff > 0:
self.encode(password, salt.encode("ascii"))
diff -= 1
class BCryptPasswordHasher(BCryptSHA256PasswordHasher):
"""
Secure password hashing using the bcrypt algorithm
This is considered by many to be the most secure algorithm but you
must first install the bcrypt library. Please be warned that
this library depends on native C code and might cause portability
issues.
This hasher does not first hash the password which means it is subject to
bcrypt's 72 bytes password truncation. Most use cases should prefer the
BCryptSHA256PasswordHasher.
"""
algorithm = "bcrypt"
digest = None
class ScryptPasswordHasher(BasePasswordHasher):
"""
Secure password hashing using the Scrypt algorithm.
"""
algorithm = "scrypt"
block_size = 8
maxmem = 0
parallelism = 1
work_factor = 2**14
def encode(self, password, salt, n=None, r=None, p=None):
self._check_encode_args(password, salt)
n = n or self.work_factor
r = r or self.block_size
p = p or self.parallelism
hash_ = hashlib.scrypt(
password.encode(),
salt=salt.encode(),
n=n,
r=r,
p=p,
maxmem=self.maxmem,
dklen=64,
)
hash_ = base64.b64encode(hash_).decode("ascii").strip()
return "%s$%d$%s$%d$%d$%s" % (self.algorithm, n, salt, r, p, hash_)
def decode(self, encoded):
algorithm, work_factor, salt, block_size, parallelism, hash_ = encoded.split(
"$", 6
)
assert algorithm == self.algorithm
return {
"algorithm": algorithm,
"work_factor": int(work_factor),
"salt": salt,
"block_size": int(block_size),
"parallelism": int(parallelism),
"hash": hash_,
}
def verify(self, password, encoded):
decoded = self.decode(encoded)
encoded_2 = self.encode(
password,
decoded["salt"],
decoded["work_factor"],
decoded["block_size"],
decoded["parallelism"],
)
return constant_time_compare(encoded, encoded_2)
def safe_summary(self, encoded):
decoded = self.decode(encoded)
return {
_("algorithm"): decoded["algorithm"],
_("work factor"): decoded["work_factor"],
_("block size"): decoded["block_size"],
_("parallelism"): decoded["parallelism"],
_("salt"): mask_hash(decoded["salt"]),
_("hash"): mask_hash(decoded["hash"]),
}
def must_update(self, encoded):
decoded = self.decode(encoded)
return (
decoded["work_factor"] != self.work_factor
or decoded["block_size"] != self.block_size
or decoded["parallelism"] != self.parallelism
)
def harden_runtime(self, password, encoded):
# The runtime for Scrypt is too complicated to implement a sensible
# hardening algorithm.
pass
# RemovedInDjango51Warning.
class SHA1PasswordHasher(BasePasswordHasher):
"""
The SHA1 password hashing algorithm (not recommended)
"""
algorithm = "sha1"
def __init__(self, *args, **kwargs):
warnings.warn(
"django.contrib.auth.hashers.SHA1PasswordHasher is deprecated.",
RemovedInDjango51Warning,
stacklevel=2,
)
super().__init__(*args, **kwargs)
def encode(self, password, salt):
self._check_encode_args(password, salt)
hash = hashlib.sha1((salt + password).encode()).hexdigest()
return "%s$%s$%s" % (self.algorithm, salt, hash)
def decode(self, encoded):
algorithm, salt, hash = encoded.split("$", 2)
assert algorithm == self.algorithm
return {
"algorithm": algorithm,
"hash": hash,
"salt": salt,
}
def verify(self, password, encoded):
decoded = self.decode(encoded)
encoded_2 = self.encode(password, decoded["salt"])
return constant_time_compare(encoded, encoded_2)
def safe_summary(self, encoded):
decoded = self.decode(encoded)
return {
_("algorithm"): decoded["algorithm"],
_("salt"): mask_hash(decoded["salt"], show=2),
_("hash"): mask_hash(decoded["hash"]),
}
def must_update(self, encoded):
decoded = self.decode(encoded)
return must_update_salt(decoded["salt"], self.salt_entropy)
def harden_runtime(self, password, encoded):
pass
class MD5PasswordHasher(BasePasswordHasher):
"""
The Salted MD5 password hashing algorithm (not recommended)
"""
algorithm = "md5"
def encode(self, password, salt):
self._check_encode_args(password, salt)
hash = md5((salt + password).encode()).hexdigest()
return "%s$%s$%s" % (self.algorithm, salt, hash)
def decode(self, encoded):
algorithm, salt, hash = encoded.split("$", 2)
assert algorithm == self.algorithm
return {
"algorithm": algorithm,
"hash": hash,
"salt": salt,
}
def verify(self, password, encoded):
decoded = self.decode(encoded)
encoded_2 = self.encode(password, decoded["salt"])
return constant_time_compare(encoded, encoded_2)
def safe_summary(self, encoded):
decoded = self.decode(encoded)
return {
_("algorithm"): decoded["algorithm"],
_("salt"): mask_hash(decoded["salt"], show=2),
_("hash"): mask_hash(decoded["hash"]),
}
def must_update(self, encoded):
decoded = self.decode(encoded)
return must_update_salt(decoded["salt"], self.salt_entropy)
def harden_runtime(self, password, encoded):
pass
# RemovedInDjango51Warning.
class UnsaltedSHA1PasswordHasher(BasePasswordHasher):
"""
Very insecure algorithm that you should *never* use; store SHA1 hashes
with an empty salt.
This class is implemented because Django used to accept such password
hashes. Some older Django installs still have these values lingering
around so we need to handle and upgrade them properly.
"""
algorithm = "unsalted_sha1"
def __init__(self, *args, **kwargs):
warnings.warn(
"django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher is deprecated.",
RemovedInDjango51Warning,
stacklevel=2,
)
super().__init__(*args, **kwargs)
def salt(self):
return ""
def encode(self, password, salt):
if salt != "":
raise ValueError("salt must be empty.")
hash = hashlib.sha1(password.encode()).hexdigest()
return "sha1$$%s" % hash
def decode(self, encoded):
assert encoded.startswith("sha1$$")
return {
"algorithm": self.algorithm,
"hash": encoded[6:],
"salt": None,
}
def verify(self, password, encoded):
encoded_2 = self.encode(password, "")
return constant_time_compare(encoded, encoded_2)
def safe_summary(self, encoded):
decoded = self.decode(encoded)
return {
_("algorithm"): decoded["algorithm"],
_("hash"): mask_hash(decoded["hash"]),
}
def harden_runtime(self, password, encoded):
pass
# RemovedInDjango51Warning.
class UnsaltedMD5PasswordHasher(BasePasswordHasher):
"""
Incredibly insecure algorithm that you should *never* use; stores unsalted
MD5 hashes without the algorithm prefix, also accepts MD5 hashes with an
empty salt.
This class is implemented because Django used to store passwords this way
and to accept such password hashes. Some older Django installs still have
these values lingering around so we need to handle and upgrade them
properly.
"""
algorithm = "unsalted_md5"
def __init__(self, *args, **kwargs):
warnings.warn(
"django.contrib.auth.hashers.UnsaltedMD5PasswordHasher is deprecated.",
RemovedInDjango51Warning,
stacklevel=2,
)
super().__init__(*args, **kwargs)
def salt(self):
return ""
def encode(self, password, salt):
if salt != "":
raise ValueError("salt must be empty.")
return md5(password.encode()).hexdigest()
def decode(self, encoded):
return {
"algorithm": self.algorithm,
"hash": encoded,
"salt": None,
}
def verify(self, password, encoded):
if len(encoded) == 37 and encoded.startswith("md5$$"):
encoded = encoded[5:]
encoded_2 = self.encode(password, "")
return constant_time_compare(encoded, encoded_2)
def safe_summary(self, encoded):
decoded = self.decode(encoded)
return {
_("algorithm"): decoded["algorithm"],
_("hash"): mask_hash(decoded["hash"], show=3),
}
def harden_runtime(self, password, encoded):
pass
# RemovedInDjango50Warning.
class CryptPasswordHasher(BasePasswordHasher):
"""
Password hashing using UNIX crypt (not recommended)
The crypt module is not supported on all platforms.
"""
algorithm = "crypt"
library = "crypt"
def __init__(self, *args, **kwargs):
warnings.warn(
"django.contrib.auth.hashers.CryptPasswordHasher is deprecated.",
RemovedInDjango50Warning,
stacklevel=2,
)
super().__init__(*args, **kwargs)
def salt(self):
return get_random_string(2)
def encode(self, password, salt):
crypt = self._load_library()
if len(salt) != 2:
raise ValueError("salt must be of length 2.")
hash = crypt.crypt(password, salt)
if hash is None: # A platform like OpenBSD with a dummy crypt module.
raise TypeError("hash must be provided.")
# we don't need to store the salt, but Django used to do this
return "%s$%s$%s" % (self.algorithm, "", hash)
def decode(self, encoded):
algorithm, salt, hash = encoded.split("$", 2)
assert algorithm == self.algorithm
return {
"algorithm": algorithm,
"hash": hash,
"salt": salt,
}
def verify(self, password, encoded):
crypt = self._load_library()
decoded = self.decode(encoded)
data = crypt.crypt(password, decoded["hash"])
return constant_time_compare(decoded["hash"], data)
def safe_summary(self, encoded):
decoded = self.decode(encoded)
return {
_("algorithm"): decoded["algorithm"],
_("salt"): decoded["salt"],
_("hash"): mask_hash(decoded["hash"], show=3),
}
def harden_runtime(self, password, encoded):
pass

View File

@ -0,0 +1,304 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# F Wolff <friedel@translate.org.za>, 2019-2020
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-08 17:27+0200\n"
"PO-Revision-Date: 2020-07-20 17:08+0000\n"
"Last-Translator: F Wolff <friedel@translate.org.za>\n"
"Language-Team: Afrikaans (http://www.transifex.com/django/django/language/"
"af/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: af\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Persoonlike inligting"
msgid "Permissions"
msgstr "Toestemmings"
msgid "Important dates"
msgstr "Belangrike datums"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s-objek met primêre sleutel %(key)r bestaan nie."
msgid "Password changed successfully."
msgstr "Wagwoord is suksesvol verander."
#, python-format
msgid "Change password: %s"
msgstr "Verander wagwoord: %s"
msgid "Authentication and Authorization"
msgstr "Waarmerking en magtiging"
msgid "password"
msgstr "wagwoord"
msgid "last login"
msgstr "laas aangemeld"
msgid "No password set."
msgstr "Geen wagwoord gestel nie."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Ongeldige wagwoordformaat of onbekende hutsalgoritme."
msgid "The two password fields didnt match."
msgstr "Die twee wagwoordvelde stem nie ooreen nie"
msgid "Password"
msgstr "Wagwoord"
msgid "Password confirmation"
msgstr "Wagwoordbevestiging"
msgid "Enter the same password as before, for verification."
msgstr "Tik die wagwoord net soos tevore om te bevestig."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Rou wagwoorde word nie gestoor nie, dus is daar geen manier om die gebruiker "
"se wagwoord te sien nie, maar die wagwoord kan gewysig word met <a href="
"\"{}\">hierdie vorm</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Tik asb. 'n korrekte %(username)s en wagwoord. Neem kennis dat altwee velde "
"moontlik kassensitief is."
msgid "This account is inactive."
msgstr "Dié rekening is nie aktief nie."
msgid "Email"
msgstr "E-pos"
msgid "New password"
msgstr "Nuwe wagwoord"
msgid "New password confirmation"
msgstr "Bevestiging van nuwe wagwoord"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Die ou wagwoord is verkeerd ingetik. Tik dit asb. weer in."
msgid "Old password"
msgstr "Ou wagwoord"
msgid "Password (again)"
msgstr "Wagwoord (weer)"
msgid "algorithm"
msgstr "algoritme"
msgid "iterations"
msgstr "iterasies"
msgid "salt"
msgstr "sout"
msgid "hash"
msgstr "hutswaarde"
msgid "variety"
msgstr "variëteit"
msgid "version"
msgstr "weergawe"
msgid "memory cost"
msgstr "geheuekoste"
msgid "time cost"
msgstr "tydkoste"
msgid "parallelism"
msgstr "parallelisme"
msgid "work factor"
msgstr "werkfaktor"
msgid "checksum"
msgstr "kontrolesom"
msgid "name"
msgstr "naam"
msgid "content type"
msgstr "inhoudtipe"
msgid "codename"
msgstr "kodenaam"
msgid "permission"
msgstr "toestemming"
msgid "permissions"
msgstr "toestemmings"
msgid "group"
msgstr "groep"
msgid "groups"
msgstr "groepe"
msgid "superuser status"
msgstr "supergebruikerstatus"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Dui aan dat die gebruiker alle toestemmings het sonder om hulle eksplisiet "
"toe te ken."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Die groepe waaraan die gebruiker behoort. n Gebruiker sal alle toestemmings "
"hê wat aan elkeen van sy groepe gegee is."
msgid "user permissions"
msgstr "gebruikertoestemmings"
msgid "Specific permissions for this user."
msgstr "Spesifieke toestemmings vir dié gebruiker."
msgid "username"
msgstr "gebruikernaam"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Vereis. Hoogstens 150 karakters. Slegs: letters, syfers en die karakters @/./"
"+/-/_"
msgid "A user with that username already exists."
msgstr "n Gebruiker met daardie gebruikernaam bestaan reeds."
msgid "first name"
msgstr "naam"
msgid "last name"
msgstr "van"
msgid "email address"
msgstr "e-posadres"
msgid "staff status"
msgstr "personeelstatus"
msgid "Designates whether the user can log into this admin site."
msgstr "Dui aan of die gebruiker by dié adminwerf kan aanmeld."
msgid "active"
msgstr "aktief"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Dui aan of dié gebruiker as aktief gesien moet word. Neem merkie weg in "
"plaas van om rekeninge te skrap."
msgid "date joined"
msgstr "datum aangesluit"
msgid "user"
msgstr "gebruiker"
msgid "users"
msgstr "gebruikers"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Dié wagwoord is te kort. Dit moet ten minste %(min_length)d karakter bevat."
msgstr[1] ""
"Dié wagwoord is te kort. Dit moet ten minste %(min_length)d karakters bevat."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "n Wagwoord moet ten minste %(min_length)d karakter bevat."
msgstr[1] "n Wagwoord moet ten minste %(min_length)d karakters bevat."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Die wagwoord is te soortgelyk aan die %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"Die wagwoord mag nie soortgelyk wees aan u ander persoonlike inligting nie."
msgid "This password is too common."
msgstr "Dié wagwoord is te algemeen."
msgid "Your password cant be a commonly used password."
msgstr "U wagwoord mag nie n algemeen gebruikte wagwoord wees nie."
msgid "This password is entirely numeric."
msgstr "Dié wagwoord is heeltemal numeries."
msgid "Your password cant be entirely numeric."
msgstr "Die wagwoord mag nie geheel numeries wees nie."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Wagwoordherstel op %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Tik 'n geldige gebruikernaam. Dié waarde mag slegs alfabetletters, syfers en "
"die karakters @/./+/-/_ bevat."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Tik 'n geldige gebruikernaam. Dié waarde mag slegs letters, syfers en die "
"karakters @/./+/-/_ bevat."
msgid "Logged out"
msgstr "Afgemeld"
msgid "Password reset"
msgstr "Wagwoordherstel"
msgid "Password reset sent"
msgstr "Wagwoordherstel gestuur"
msgid "Enter new password"
msgstr "Tik nuwe wagwoord"
msgid "Password reset unsuccessful"
msgstr "Herstel van wagwoord onsuksesvol"
msgid "Password reset complete"
msgstr "Herstel van wagwoord is voltooi"
msgid "Password change"
msgstr "Wagwoordverandering"
msgid "Password change successful"
msgstr "Verandering van wagwoord was suksesvol"

View File

@ -0,0 +1,319 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Ahmad Khayyat <akhayyat@gmail.com>, 2013,2021
# Bashar Al-Abdulhadi, 2015-2016,2021
# Bashar Al-Abdulhadi, 2014
# Eyad Toma <d.eyad.t@gmail.com>, 2013
# Jannis Leidel <jannis@leidel.info>, 2011
# Omar Lajam, 2020
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2021-10-15 21:38+0000\n"
"Last-Translator: Bashar Al-Abdulhadi\n"
"Language-Team: Arabic (http://www.transifex.com/django/django/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
msgid "Personal info"
msgstr "المعلومات الشخصية"
msgid "Permissions"
msgstr "الصلاحيات"
msgid "Important dates"
msgstr "تواريخ مهمة"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "العنصر من نوع %(name)s ذو الحقل الأساسي %(key)r غير موجود."
msgid "Password changed successfully."
msgstr "تم تغيير كلمة المرور بنجاح."
#, python-format
msgid "Change password: %s"
msgstr "غيّر كلمة المرور: %s"
msgid "Authentication and Authorization"
msgstr "المصادقة والتفويض"
msgid "password"
msgstr "كلمة المرور"
msgid "last login"
msgstr "آخر دخول"
msgid "No password set."
msgstr "لم يتم تعيين كلمة المرور."
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
"صيغة كلمة المرور غير صحيحة أو أن خوارزمية البعثرة (hashing) غير معروفة."
msgid "The two password fields didnt match."
msgstr "حقلا كلمة المرور غير متطابقين."
msgid "Password"
msgstr "كلمة المرور"
msgid "Password confirmation"
msgstr "تأكيد كلمة المرور"
msgid "Enter the same password as before, for verification."
msgstr "أدخل كلمة المرور أعلاه مرة أخرى لتأكيدها."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"لا يتم حفظ كلمات المرور بصورتها الأصلية، لذلك لا يمكنك عرض كلمة مرور هذا "
"المستخدم، لكن يمكنك تغييرها باستخدام <a href=\"{}\">هذا النموذج</a>"
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr "الرجاء إدخال %(username)s وكلمة السر الصحيحين."
msgid "This account is inactive."
msgstr "هذا الحساب غير نشط."
msgid "Email"
msgstr "بريد إلكتروني"
msgid "New password"
msgstr "كلمة المرور الجديدة"
msgid "New password confirmation"
msgstr "تأكيد كلمة المرور الجديدة"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "كلمة مرورك القديمة غير صحيحة. رجاءً أدخلها مرة أخرى."
msgid "Old password"
msgstr "كلمة المرور القديمة"
msgid "Password (again)"
msgstr "كلمة المرور (مجدداً)"
msgid "algorithm"
msgstr "خوارزمية"
msgid "iterations"
msgstr "التكرارات"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "منوّع"
msgid "version"
msgstr "إصدار"
msgid "memory cost"
msgstr "استهلاك الذاكرة"
msgid "time cost"
msgstr "المدة المطلوبة"
msgid "parallelism"
msgstr "التوازي"
msgid "work factor"
msgstr "عامل العمل"
msgid "checksum"
msgstr "تدقيق المجموع"
msgid "block size"
msgstr "مقاس الكتله (البلوك)"
msgid "name"
msgstr "الاسم"
msgid "content type"
msgstr "نوع المحتوى"
msgid "codename"
msgstr "الاسم الرمزي"
msgid "permission"
msgstr "الصلاحية"
msgid "permissions"
msgstr "الصلاحيات"
msgid "group"
msgstr "مجموعة"
msgid "groups"
msgstr "المجموعات"
msgid "superuser status"
msgstr "حالة المستخدم الفائق"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"يقضي بأن هذا المستخدم يمتلك كافة الصلاحيات دون الحاجة لمنحها له تصريحاً."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"المجموعات التي ينتمي إليها هذا المستخدم. يحصل المستخدم على كافة الصلاحيات "
"الممنوحة لكل مجموعة ينتمي إليها."
msgid "user permissions"
msgstr "صلاحيات المستخدم"
msgid "Specific permissions for this user."
msgstr "صلاحيات خاصة بهذا المستخدم."
msgid "username"
msgstr "اسم المستخدم"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "مطلوب. 150 رمزاً أو أقل، مكونة من حروف وأرقام و @/./+/-/_ فقط"
msgid "A user with that username already exists."
msgstr "هناك مستخدم موجود مسبقاً بهذا الاسم."
msgid "first name"
msgstr "الاسم الأول"
msgid "last name"
msgstr "الاسم الأخير"
msgid "email address"
msgstr "عنوان بريد إلكتروني"
msgid "staff status"
msgstr "حالة الطاقم"
msgid "Designates whether the user can log into this admin site."
msgstr "يحدد ما إذا كان يمكن للمستخدم الدخول إلى موقع الإدارة هذا."
msgid "active"
msgstr "نشط"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"يحدد ما إذا كان المستخدم سيُعامل على أنّه نشط. أزل تحديد هذا الحقل بدلاً من حذف "
"الحسابات."
msgid "date joined"
msgstr "تاريخ الانضمام"
msgid "user"
msgstr "مستخدم"
msgid "users"
msgstr "المستخدمون"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حرف على الأقل."
msgstr[1] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حرف واحد على الأقل."
msgstr[2] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حرفين على الأقل."
msgstr[3] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حروف على الأقل."
msgstr[4] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حرف على الأقل."
msgstr[5] ""
"كلمة المرور هذه قصيرة جداً. يجب أن تتكون من %(min_length)d رمزاً على الأقل."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d حرف على الأقل."
msgstr[1] ""
"كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d حرف واحد على الأقل."
msgstr[2] "كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d حرفين على الأقل."
msgstr[3] "كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d حروف على الأقل."
msgstr[4] "كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d أحرف على الأقل."
msgstr[5] "يجب أن تتكون كلمة المرور من %(min_length)d رمزاً على الأقل."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "كلمة المرور مشابهة جداً لـ %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "لا يمكن لكلمة المرور أن تكون مشابهة للمعلومات الشخصية الأخرى."
msgid "This password is too common."
msgstr "كلمة المرور هذه شائعة جداً."
msgid "Your password cant be a commonly used password."
msgstr "لا يمكن أن تكون كلمة المرور شائعة الاستخدام."
msgid "This password is entirely numeric."
msgstr "كلمة المرور هذه تتكون من أرقام فقط."
msgid "Your password cant be entirely numeric."
msgstr "لا يمكن أن تكون كلمة المرور مكونة من أرقام فقط."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "إعادة تعيين كلمة المرور على %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"أدخل اسم مستخدم صحيحاً. يمكن أن يتكون اسم المستخدم من أحرف إنجليزية وأرقام و "
"الرموز @/./+/-/_ فقط."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"أدخل اسم مستخدم صحيحاً. يمكن أن يتكون اسم المستخدم من حروف وأرقام و الرموز "
"@/./+/-/_ فقط."
msgid "Logged out"
msgstr "تم الخروج"
msgid "Password reset"
msgstr "إعادة ضبط كلمة المرور"
msgid "Password reset sent"
msgstr " تم ارسال إعادة ضبط كلمة المرور"
msgid "Enter new password"
msgstr "أدخل كلمة المرور الجديدة"
msgid "Password reset unsuccessful"
msgstr "فشل عملية إعادة تعيين كلمة المرور"
msgid "Password reset complete"
msgstr "تمت إعادة ضبط كلمة المرور"
msgid "Password change"
msgstr "تغيير كلمة المرور"
msgid "Password change successful"
msgstr "تم تغيير كلمة المرور بنجاح"

View File

@ -0,0 +1,320 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jihad Bahmaid Al-Halki, 2022
# Riterix <infosrabah@gmail.com>, 2019
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2022-07-25 08:09+0000\n"
"Last-Translator: Jihad Bahmaid Al-Halki\n"
"Language-Team: Arabic (Algeria) (http://www.transifex.com/django/django/"
"language/ar_DZ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ar_DZ\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
msgid "Personal info"
msgstr "المعلومات الشخصية"
msgid "Permissions"
msgstr "الصلاحيات"
msgid "Important dates"
msgstr "تواريخ مهمة"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "العنصر %(name)s الذي به الحقل الأساسي %(key)r غير موجود."
msgid "Password changed successfully."
msgstr "تم تغيير كلمة المرور بنجاح."
#, python-format
msgid "Change password: %s"
msgstr "غيّر كلمة المرور: %s"
msgid "Authentication and Authorization"
msgstr "المصادقة والتخويل"
msgid "password"
msgstr "كلمة المرور"
msgid "last login"
msgstr "آخر دخول"
msgid "No password set."
msgstr "لا يوجد كلمة سر حتى الآن."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "تنسيق كلمة المرور غير صالح أو خوارزمية التجزئة غير معروفة."
msgid "The two password fields didnt match."
msgstr "حقلا كلمتي المرور غير متطابقين."
msgid "Password"
msgstr "كلمة المرور"
msgid "Password confirmation"
msgstr "تأكيد كلمة المرور"
msgid "Enter the same password as before, for verification."
msgstr "أدخل كلمة المرور أعلاه مرة أخرى لتأكيدها."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"لا يتم تخزين كلمات المرور الخام ، لذلك لا توجد طريقة لرؤية كلمة مرور هذا "
"المستخدم ، ولكن يمكنك تغيير كلمة المرور باستخدام <a href=\\\"{}\\\">هذا "
"النموذج</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"الرجاء إدخال %(username)s وكلمة المرور الصحيحين. لاحظ أن كلا الحقلين قد يكون "
"حساسًا لحالة الأحرف."
msgid "This account is inactive."
msgstr "هذا الحساب غير نشط."
msgid "Email"
msgstr "بريد إلكتروني"
msgid "New password"
msgstr "كلمة المرور الجديدة"
msgid "New password confirmation"
msgstr "تأكيد كلمة المرور الجديدة"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "كلمة مرورك القديمة غير صحيحة. رجاءً أدخلها مرة أخرى."
msgid "Old password"
msgstr "كلمة المرور القديمة"
msgid "Password (again)"
msgstr "كلمة المرور (مجدداً)"
msgid "algorithm"
msgstr "خوارزمية"
msgid "iterations"
msgstr "التكرارات"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "تنوع"
msgid "version"
msgstr "إصدار"
msgid "memory cost"
msgstr "تكلفة الذاكرة"
msgid "time cost"
msgstr "تكلفة الوقت"
msgid "parallelism"
msgstr "تواز"
msgid "work factor"
msgstr "عامل العمل"
msgid "checksum"
msgstr "تدقيق المجموع"
msgid "block size"
msgstr "حجم البلوك (Block)"
msgid "name"
msgstr "الاسم"
msgid "content type"
msgstr "نوع المحتوى"
msgid "codename"
msgstr "الاسم الرمزي"
msgid "permission"
msgstr "الصلاحية"
msgid "permissions"
msgstr "الصلاحيات"
msgid "group"
msgstr "مجموعة"
msgid "groups"
msgstr "المجموعات"
msgid "superuser status"
msgstr "حالة المستخدم الخارق"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"حدد بأن هذا المستخدم يمتلك كافة الصلاحيات دون الحاجة لتحديدها له تصريحا."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"المجموعات التي ينتمي إليها هذا المستخدم. ويمكن للمستخدم الحصول على كافة "
"الأذونات الممنوحة لكل من مجموعاتهم."
msgid "user permissions"
msgstr "صلاحيات المستخدم"
msgid "Specific permissions for this user."
msgstr "صلاحيات خاصة لهذا المستخدم."
msgid "username"
msgstr "اسم المستخدم"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "مطلوب. 150 حرف أو أقل. الحروف والأرقام و @ /. / + / - / _ فقط."
msgid "A user with that username already exists."
msgstr "هناك مستخدم موجود مسبقاً بهذا الاسم."
msgid "first name"
msgstr "الاسم الأول"
msgid "last name"
msgstr "الاسم الأخير"
msgid "email address"
msgstr "عنوان بريد إلكتروني"
msgid "staff status"
msgstr "حالة الطاقم"
msgid "Designates whether the user can log into this admin site."
msgstr "يحدد ما إذا كان المستخدم يستطيع الدخول إلى موقع الإدارة هذا."
msgid "active"
msgstr "نشط"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"يحدد ما إذا كان المستخدم سيُعامل على أنّه نشط. أزل تحديد ها الخيار بدلاً من حذف "
"الحسابات."
msgid "date joined"
msgstr "تاريخ الانضمام"
msgid "user"
msgstr "مستخدم"
msgid "users"
msgstr "المستخدمين"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حرف على الأقل."
msgstr[1] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حرف واحد على الأقل."
msgstr[2] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حرفين على الأقل."
msgstr[3] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حروف على الأقل."
msgstr[4] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حرف على الأقل."
msgstr[5] ""
"كلمة المرور هذه قصيرة جدا. يجب أن تتكون من %(min_length)d حرف على الأقل."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d حرف على الأقل."
msgstr[1] ""
"كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d حرف واحد على الأقل."
msgstr[2] "كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d حرفين على الأقل."
msgstr[3] "كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d حروف على الأقل."
msgstr[4] "كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d أحرف على الأقل."
msgstr[5] "كلمة المرور الخاصة بك يجب أن تتضمن %(min_length)d حرف على الأقل."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "كلمة المرور هذه مشابة جدا لـ %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"كلمة المرور الخاصة بكم لا يمكن أن تكون مشابة لأي من المعلومات الشخصية الأخرى "
"الخاصة بك."
msgid "This password is too common."
msgstr "كلمة المرور هذه شائعة جدا."
msgid "Your password cant be a commonly used password."
msgstr "كلمة المرور الخاصة بك لا يمكن أن تكون كلمة مرور مستخدمة بشكل شائع."
msgid "This password is entirely numeric."
msgstr "كلمة المرور هذه تتكون من أرقام فقط."
msgid "Your password cant be entirely numeric."
msgstr "كلمة المرور الخاصة بك لا يمكن أن تكون أرقام فقط."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "إعادة تعيين كلمة المرور على %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"أدخل اسم مستخدم صالح. قد تحتوي هذه القيمة على الأحرف الإنجليزية والأرقام "
"والأحرف @ /. / + / - / _."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"أدخل اسم مستخدم صالح. قد تحتوي هذه القيمة على الأحرف والأرقام والأحرف @ /. / "
"+ / - / _."
msgid "Logged out"
msgstr "تم الخروج"
msgid "Password reset"
msgstr "إعادة ضبط كلمة المرور"
msgid "Password reset sent"
msgstr "إعادة ضبط كلمة المرور تم ارسالها"
msgid "Enter new password"
msgstr "أدخل كلمة المرور الجديدة"
msgid "Password reset unsuccessful"
msgstr "فشل عملية إعادة تعيين كلمة المرور"
msgid "Password reset complete"
msgstr "تم إعادة ضبط كلمة المرور بنجاح"
msgid "Password change"
msgstr "تغيير كلمة المرور"
msgid "Password change successful"
msgstr "تم تغيير كلمة المرور بنجاح"

View File

@ -0,0 +1,284 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Ḷḷumex03 <tornes@opmbx.org>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Asturian (http://www.transifex.com/django/django/language/"
"ast/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ast\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Información personal"
msgid "Permissions"
msgstr "Permisos"
msgid "Important dates"
msgstr "Dates importantes"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
msgid "Password changed successfully."
msgstr "Contraseña camudada con ésitu."
#, python-format
msgid "Change password: %s"
msgstr "Camudar contraseña: %s"
msgid "Authentication and Authorization"
msgstr ""
msgid "password"
msgstr "contraseña"
msgid "last login"
msgstr "aniciu de sesión caberu"
msgid "No password set."
msgstr "Nun s'afitó la contraseña."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Formatu de contraseña inválidu o algoritmu hash inválidu."
msgid "The two password fields didn't match."
msgstr "Nun concasen los dos campos de contraseña."
msgid "Password"
msgstr "Contraseña"
msgid "Password confirmation"
msgstr "Confirmación de contraseña"
msgid "Enter the same password as before, for verification."
msgstr ""
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
msgid "This account is inactive."
msgstr "Esta cuenta ta inactiva"
msgid "Email"
msgstr "Corréu"
msgid "New password"
msgstr "Contraseña nueva"
msgid "New password confirmation"
msgstr ""
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
msgid "Old password"
msgstr ""
msgid "Password (again)"
msgstr ""
msgid "algorithm"
msgstr "algoritmu"
msgid "iterations"
msgstr ""
msgid "salt"
msgstr ""
msgid "hash"
msgstr ""
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr ""
msgid "checksum"
msgstr "suma de comprobación"
msgid "name"
msgstr "nome"
msgid "content type"
msgstr ""
msgid "codename"
msgstr ""
msgid "permission"
msgstr "permisu"
msgid "permissions"
msgstr "permisos"
msgid "group"
msgstr "grupu"
msgid "groups"
msgstr "grupos"
msgid "superuser status"
msgstr "estáu de superusuariu"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
msgid "user permissions"
msgstr "permisos d'usuariu"
msgid "Specific permissions for this user."
msgstr ""
msgid "username"
msgstr "nome d'usuariu"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "Yá esiste un usuariu con esi nome d'usuariu."
msgid "first name"
msgstr "nome"
msgid "last name"
msgstr "apellíos"
msgid "email address"
msgstr "direición de corréu"
msgid "staff status"
msgstr ""
msgid "Designates whether the user can log into this admin site."
msgstr ""
msgid "active"
msgstr "activu"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
msgid "date joined"
msgstr ""
msgid "user"
msgstr "usuariu"
msgid "users"
msgstr "usuarios"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
msgstr[1] ""
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
msgid "Your password can't be too similar to your other personal information."
msgstr ""
msgid "This password is too common."
msgstr ""
msgid "Your password can't be a commonly used password."
msgstr ""
msgid "This password is entirely numeric."
msgstr ""
msgid "Your password can't be entirely numeric."
msgstr ""
#, python-format
msgid "Password reset on %(site_name)s"
msgstr ""
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr ""
msgid "Password reset"
msgstr ""
msgid "Password reset sent"
msgstr ""
msgid "Enter new password"
msgstr ""
msgid "Password reset unsuccessful"
msgstr ""
msgid "Password reset complete"
msgstr ""
msgid "Password change"
msgstr ""
msgid "Password change successful"
msgstr ""

View File

@ -0,0 +1,304 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Ali Ismayilov <ali@ismailov.info>, 2011
# Emin Mastizada <emin@linux.com>, 2018,2020
# Emin Mastizada <emin@linux.com>, 2016
# Nicat Məmmədov <n1c4t97@gmail.com>, 2022
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2022-07-25 08:09+0000\n"
"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
"Language-Team: Azerbaijani (http://www.transifex.com/django/django/language/"
"az/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: az\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Şəxsi məlumat"
msgid "Permissions"
msgstr "İcazələr"
msgid "Important dates"
msgstr "Vacib tarixlər"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Əsas %(key)r açarı ilə %(name)s obyekti mövcud deyil."
msgid "Password changed successfully."
msgstr "Şifrə uğurla dəyişdirildi."
#, python-format
msgid "Change password: %s"
msgstr "Şifrəni dəyiş: %s"
msgid "Authentication and Authorization"
msgstr "Təsdiqləmə və Səlahiyyət"
msgid "password"
msgstr "şifrə"
msgid "last login"
msgstr "son dəfə daxil olub"
msgid "No password set."
msgstr "Şifrə təyin olunmayıb."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Xətalı şifrə formatı və ya bilinməyən heş alqoritması."
msgid "The two password fields didnt match."
msgstr "Şifrə xanalarının dəyərləri eyni deyil."
msgid "Password"
msgstr "Şifrə"
msgid "Password confirmation"
msgstr "Şifrənin təsdiqi"
msgid "Enter the same password as before, for verification."
msgstr "Təsdiqləmək üçün əvvəlki ilə eyni şifrəni daxil edin."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Şifrələr açıq formada saxlanılmadığı üçün bu istifadəçinin şifrəsini görmək "
"mümkün deyil, amma <a href=\"{}\">bu formadan</a> istifadə edərək şifrəni "
"dəyişə bilərsiz."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Lütfən düzgün %(username)s və şifrə daxil edin. Nəzərə alın ki, hər ikisi də "
"böyük-kiçik hərflərə həssasdırlar."
msgid "This account is inactive."
msgstr "Bu hesab qeyri-aktivdir."
msgid "Email"
msgstr "E-poçt"
msgid "New password"
msgstr "Yeni şifrə"
msgid "New password confirmation"
msgstr "Yeni şifrənin təsdiqi"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Köhnə şifrəni yanlış daxil etdiniz. Zəhmət olmasa bir daha yoxlayın."
msgid "Old password"
msgstr "Köhnə şifrə"
msgid "Password (again)"
msgstr "Şifrə (bir daha)"
msgid "algorithm"
msgstr "alqoritm"
msgid "iterations"
msgstr "təkrarlama"
msgid "salt"
msgstr "duz"
msgid "hash"
msgstr "heş"
msgid "variety"
msgstr "müxtəliflik"
msgid "version"
msgstr "versiya"
msgid "memory cost"
msgstr "yaddaş xərci"
msgid "time cost"
msgstr "vaxt xərci"
msgid "parallelism"
msgstr "paralellik"
msgid "work factor"
msgstr "iş faktoru"
msgid "checksum"
msgstr "yoxlama dəyəri"
msgid "block size"
msgstr ""
msgid "name"
msgstr "ad"
msgid "content type"
msgstr "məzmun növü"
msgid "codename"
msgstr "kod adı"
msgid "permission"
msgstr "icazə"
msgid "permissions"
msgstr "icazələr"
msgid "group"
msgstr "qrup"
msgid "groups"
msgstr "qruplar"
msgid "superuser status"
msgstr "superistifadəçi statusu"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr "İstifadəçiyə bütün icazələri verir."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Bu istifadəçinin aid olduğu qruplar. İstifadə bu qruplardan hər birinə "
"verilən bütün icazələri alacaq."
msgid "user permissions"
msgstr "səlahiyyətləri"
msgid "Specific permissions for this user."
msgstr "Bu istifadəçiyə aid xüsusi icazələr."
msgid "username"
msgstr "istifadəçi adı"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Tələb edilir. Ən az 150 simvol. Ancaq hərf, rəqəm və @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Bu istifadəçi adı altında başqa istifadəçi var."
msgid "first name"
msgstr "ad"
msgid "last name"
msgstr "soyad"
msgid "email address"
msgstr "e-poçt ünvanı"
msgid "staff status"
msgstr "admin statusu"
msgid "Designates whether the user can log into this admin site."
msgstr "İstifadəçinin admin panelinə daxil olub, olmayacağını təyin edir."
msgid "active"
msgstr "Aktiv"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"İstifadəçinin aktiv və ya qeyri-aktiv olmasını təyin edir. Hesabları silmək "
"əvəzinə bundan istifadə edin."
msgid "date joined"
msgstr "qoşulub"
msgid "user"
msgstr "istifadəçi"
msgid "users"
msgstr "istifadəçilər"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] "Bu parol çox qısadır. Ən az %(min_length)d işarə olmalıdır."
msgstr[1] ""
"Bu şifrə çox qısadır. Ən az %(min_length)d simvoldan ibarət olmalıdır."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Parolunuz ən az %(min_length)d işarə olmalıdır."
msgstr[1] "Şifrəniz ən az %(min_length)d simvoldan ibarət olmalıdır."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Şifrəniz %(verbose_name)s ilə çox bənzərdir."
msgid "Your password cant be too similar to your other personal information."
msgstr "Şifrəniz digər şəxsi məlumatlarınıza çox bənzərdir."
msgid "This password is too common."
msgstr "Bu şifrə çox asandır."
msgid "Your password cant be a commonly used password."
msgstr "Şifrəniz çox istifadə edilən, ümumişlək olmamalıdır."
msgid "This password is entirely numeric."
msgstr "Bu şifrə ancaq rəqəmlərdən ibarətdir."
msgid "Your password cant be entirely numeric."
msgstr "Şifrəniz ancaq rəqəmlərdən ibarət ola bilməz."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "%(site_name)s, şifrənin sıfırlanması"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Düzgün istifadəçi adı daxil edin. Bu dəyən ancaq İngiliscə hərflərdən, rəqəm "
"və @/./+/-/_ işarətlərindən ibarət ola bilər."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Düzgün istifadəçi adı daxil edin. Bu dəyən ancaq hərf, rəqəm və @/./+/-/_ "
"işarətlərindən ibarət ola bilər."
msgid "Logged out"
msgstr "Çıxdınız"
msgid "Password reset"
msgstr "Şifrənin sıfırlanması"
msgid "Password reset sent"
msgstr "Şifrə sıfırlanması göndərildi"
msgid "Enter new password"
msgstr "Yeni şifrəni daxil edin"
msgid "Password reset unsuccessful"
msgstr "Şifrə sıfırlanması uğursuz oldu"
msgid "Password reset complete"
msgstr "Şifrə sıfırlanması tamamlandı"
msgid "Password change"
msgstr "Şifrənin dəyişdirilməsi"
msgid "Password change successful"
msgstr "Şifrə uğurla dəyişdirildi"

View File

@ -0,0 +1,313 @@
# 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,2019,2021,2023
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-17 03:19-0500\n"
"PO-Revision-Date: 2023-04-25 08:09+0000\n"
"Last-Translator: znotdead <zhirafchik@gmail.com>, 2016-2017,2019,2021,2023\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 "Personal info"
msgstr "Асабістыя зьвесткі"
msgid "Permissions"
msgstr "Дазволы"
msgid "Important dates"
msgstr "Важныя даты"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Аб'ект %(name)s з першасным ключом %(key)r не існуе."
msgid "Password changed successfully."
msgstr "Пароль зьмянілі."
#, python-format
msgid "Change password: %s"
msgstr "Зьмяніць пароль: %s"
msgid "Authentication and Authorization"
msgstr "Аўтэнтыфікацыя і аўтарызацыя"
msgid "password"
msgstr "пароль"
msgid "last login"
msgstr "апошні раз уваходзіў"
msgid "No password set."
msgstr "Пароль не зададзены."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Няправільны фармат паролю або невядомы алгарытм хэшавання."
msgid "The two password fields didnt match."
msgstr "Не супадаюць паролі ў двух палях."
msgid "Password"
msgstr "Пароль"
msgid "Password confirmation"
msgstr "Пацьвердзіце пароль"
msgid "Enter the same password as before, for verification."
msgstr "Дзеля пэўнасьці набярыце такі самы пароль яшчэ раз."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Паролі не захоўваюцца ў такім выглядзе, як іх набралі, таму ўбачыць пароль "
"карыстальніка нельга, але яго можна зьмяніць выкарыстоўваючы<a "
"href=\"{}\">гэту форму </a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Калі ласка, увядзіце правільны %(username)s і пароль. Адзначым, што абодва "
"палі могуць быць адчувальныя да рэгістра."
msgid "This account is inactive."
msgstr "Рахунак ня дзейнічае."
msgid "Email"
msgstr "Электронная пошта"
msgid "New password"
msgstr "Новы пароль"
msgid "New password confirmation"
msgstr "Пацьвердзіце новы пароль"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Пазначылі неадпаведны стары пароль. Набярыце яго зноўку."
msgid "Old password"
msgstr "Стары пароль"
msgid "Password (again)"
msgstr "Пароль (яшчэ раз)"
msgid "algorithm"
msgstr "альґарытм"
msgid "iterations"
msgstr "паўтарэньні"
msgid "salt"
msgstr "соль"
msgid "hash"
msgstr "скарот"
msgid "variety"
msgstr "мноства"
msgid "version"
msgstr "версія"
msgid "memory cost"
msgstr "кошт памяці"
msgid "time cost"
msgstr "кошт часу"
msgid "parallelism"
msgstr "паралелізм"
msgid "work factor"
msgstr "множнік працы"
msgid "checksum"
msgstr "кантрольная сума"
msgid "block size"
msgstr "памер блока"
msgid "name"
msgstr "назва"
msgid "content type"
msgstr "від змесціва"
msgid "codename"
msgstr "найменьне"
msgid "permission"
msgstr "дазвол"
msgid "permissions"
msgstr "дазволы"
msgid "group"
msgstr "суполка"
msgid "groups"
msgstr "суполкі"
msgid "superuser status"
msgstr "становішча спраўніка"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Паказвае, ці мае карыстальнік усе дазволы без таго, каб іх яўна прызначаць."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Суполкі, у якія ўваходзіць карыстальнік. Карыстальнік атрымае дазволы, якія "
"мае кожная ягоная суполка."
msgid "user permissions"
msgstr "дазволы карыстальніка"
msgid "Specific permissions for this user."
msgstr "Адмысловыя правы для гэтага карыстальніка."
msgid "username"
msgstr "імя карыстальніка"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Абавязковае поле. Да 150 знакаў. Толькі літары, лічбы ды @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Карыстальнік з такім іменем ужо існуе."
msgid "first name"
msgstr "імя"
msgid "last name"
msgstr "прозьвішча"
msgid "email address"
msgstr "адрас электроннай пошты"
msgid "staff status"
msgstr "становішча"
msgid "Designates whether the user can log into this admin site."
msgstr "Паказвае, ці можа карыстальнік ўваходзіць на кіраўнічую пляцоўку."
msgid "active"
msgstr "дзейны"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Паказвае, ці трэба ставіцца да карыстальніка як да дзейнага. Замест таго "
"каб, каб выдаляць рахунак, зраіце карыстальніка нядзейным."
msgid "date joined"
msgstr "калі далучылі"
msgid "user"
msgstr "карыстальнік"
msgid "users"
msgstr "карыстальнікі"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Гэты пароль занадта кароткі. Ён павінен мець не менш %(min_length)d сімвал."
msgstr[1] ""
"Гэты пароль занадта кароткі. Ён павінен мець не менш %(min_length)d сімвала."
msgstr[2] ""
"Гэты пароль занадта кароткі. Ён павінен мець не менш %(min_length)d сімвалаў."
msgstr[3] ""
"Гэты пароль занадта кароткі. Ён павінен мець не менш %(min_length)d сімвалаў."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Ваш пароль павінен мець не менш %(min_length)d сімвал."
msgstr[1] "Ваш пароль павінен мець не менш %(min_length)d сімвала."
msgstr[2] "Ваш пароль павінен мець не менш %(min_length)d сімвалаў."
msgstr[3] "Ваш пароль павінен мець не менш %(min_length)d сімвалаў."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Пароль занадта падобны да %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"Ваш пароль ня можа быць занадта падобным да вашай іншай асабістай інфармацыі."
msgid "This password is too common."
msgstr "Гэты пароль занадта распаўсюджаны."
msgid "Your password cant be a commonly used password."
msgstr "Ваш пароль ня можа быць адным з шырока распаўсюджаных пароляў."
msgid "This password is entirely numeric."
msgstr "Гэты пароль цалкам лікавы."
msgid "Your password cant be entirely numeric."
msgstr "Ваш пароль ня можа быць цалкам лікавым."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Узнавіць пароль на %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only unaccented lowercase a-z "
"and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
msgstr ""
"Увядзіце імя карыстальніка. Гэта значэнне можа ўтрымліваць толькі малыя "
"літары a-z і вялікія літары A-Z, лічбы і сімвалы @/./+/-/_."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Увядзіце імя карыстальніка. Гэта значэнне можа ўтрымліваць толькі літары, "
"лічбы і сімвалы @/./+/-/_."
msgid "Logged out"
msgstr "Не ўвайшоў"
msgid "Password reset"
msgstr "Аднаўленне пароля"
msgid "Password reset sent"
msgstr "Запыт на аднаўленне пароля адасланы"
msgid "Enter new password"
msgstr "Пазначце новы пароль"
msgid "Password reset unsuccessful"
msgstr "Не ўдалося аднавіць пароль"
msgid "Password reset complete"
msgstr "Аднаўленне пароля скончана"
msgid "Password change"
msgstr "Змена пароля"
msgid "Password change successful"
msgstr "Змена пароля прайшла паспяхова"

View File

@ -0,0 +1,311 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# arneatec <arneatec@gmail.com>, 2022
# Boris Chervenkov <office@sentido.bg>, 2012
# Georgi Kostadinov <grgkostadinov@gmail.com>, 2012
# Jannis Leidel <jannis@leidel.info>, 2011
# Lyuboslav Petrov <petrov.lyuboslav@gmail.com>, 2014
# Todor Lubenov <tlubenov@gmail.com>, 2015
# Venelin Stoykov <vkstoykov@gmail.com>, 2015-2016
# vestimir <vestimir@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2022-04-24 20:19+0000\n"
"Last-Translator: arneatec <arneatec@gmail.com>, 2022\n"
"Language-Team: Bulgarian (http://www.transifex.com/django/django/language/"
"bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Лична информация"
msgid "Permissions"
msgstr "Права"
msgid "Important dates"
msgstr "Важни дати"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s обект с първичен ключ %(key)r не съществува."
msgid "Password changed successfully."
msgstr "Паролата беше променена успешно. "
#, python-format
msgid "Change password: %s"
msgstr "Промени парола: %s"
msgid "Authentication and Authorization"
msgstr "Аутентикация и оторизация"
msgid "password"
msgstr "парола"
msgid "last login"
msgstr "последно вписване"
msgid "No password set."
msgstr "Не е зададена парола."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Невалиден формат за парола или неизвестен алгоритъм за хеширане."
msgid "The two password fields didnt match."
msgstr "Двете полета за паролата не съвпадат. "
msgid "Password"
msgstr "Парола"
msgid "Password confirmation"
msgstr "Потвърждение на паролата"
msgid "Enter the same password as before, for verification."
msgstr "Въведете същата парола като преди, за да потвърдите."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Паролите не се съхраняват в чист вид, така че е невъзможно да видите "
"паролата на този потребител, но можете да промените паролата чрез <a "
"href=\"{}\">този формуляр</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Моля, въведете правилните %(username)s и парола. Имайте предвид, че и двете "
"полета могат да бъдат с малки или главни букви."
msgid "This account is inactive."
msgstr "Този профил е неактивен."
msgid "Email"
msgstr "Имейл"
msgid "New password"
msgstr "Нова парола"
msgid "New password confirmation"
msgstr "Потвърждение на новата парола"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Въвели сте погрешна стара парола. Въведете я отново. "
msgid "Old password"
msgstr "Стара парола"
msgid "Password (again)"
msgstr "Парола (отново)"
msgid "algorithm"
msgstr "алгоритъм"
msgid "iterations"
msgstr "повторения"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "хеш"
msgid "variety"
msgstr "разнообразие"
msgid "version"
msgstr "версия"
msgid "memory cost"
msgstr "разход памет"
msgid "time cost"
msgstr "разход време"
msgid "parallelism"
msgstr "паралелизъм"
msgid "work factor"
msgstr "работен фактор"
msgid "checksum"
msgstr "чексума"
msgid "block size"
msgstr "размер на блока"
msgid "name"
msgstr "име"
msgid "content type"
msgstr "тип на съдържанието"
msgid "codename"
msgstr "код"
msgid "permission"
msgstr "право"
msgid "permissions"
msgstr "права"
msgid "group"
msgstr "група"
msgid "groups"
msgstr "групи"
msgid "superuser status"
msgstr "статут на супер-потребител"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Указва, че този потребител има всички права (без да има нужда да се "
"изброяват изрично)."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Групите на които този потребител принадлежи. Потребителят ще получи всички "
"разрешения, дадени на всяка една от своите групи."
msgid "user permissions"
msgstr "права на потребител"
msgid "Specific permissions for this user."
msgstr "Специфични права за този потребител"
msgid "username"
msgstr "потребител"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Задължително. 150 знака или по-малко. Букви, цифри и @/./+/-/_ ."
msgid "A user with that username already exists."
msgstr "Потребител с това потребителско име вече съществува. "
msgid "first name"
msgstr "собствено име"
msgid "last name"
msgstr "фамилно име"
msgid "email address"
msgstr "имейл адрес"
msgid "staff status"
msgstr "статус на персонал"
msgid "Designates whether the user can log into this admin site."
msgstr "Указва дали този потребител има достъп до административния панел."
msgid "active"
msgstr "активен"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Указва дали този потребител трябва да се третира като активен. Премахнете "
"тази отметката, вместо да изтривате профили."
msgid "date joined"
msgstr "дата на регистриране"
msgid "user"
msgstr "потребител"
msgid "users"
msgstr "потребители"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Паролата е прекалено къса. Трябва да съдържа поне %(min_length)d символ."
msgstr[1] ""
"Паролата е прекалено къса. Трябва да съдържа поне %(min_length)d символа."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Вашата парола трябва да съдържа поне %(min_length)d символ."
msgstr[1] "Вашата парола трябва да съдържа поне %(min_length)d символа."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Паролата е много подобна на %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "Вашата парола не може да прилича на останалата Ви лична информация."
msgid "This password is too common."
msgstr "Тази парола е често срещана."
msgid "Your password cant be a commonly used password."
msgstr "Вашата парола не може да бъде често срещана."
msgid "This password is entirely numeric."
msgstr "Тази парола е изцяло от цифри."
msgid "Your password cant be entirely numeric."
msgstr "Вашата парола не може да бъде само от цифри."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Промяна на парола за %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Въведете валидно потребителско име. То може да съдържа само букви на "
"латиница, цифри и @/./+/-/_ символи."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Въведете валидно потребителско име. То може да съдържа само букви, цифри и "
"@/./+/-/_ символи."
msgid "Logged out"
msgstr "Извън системата"
msgid "Password reset"
msgstr "Забравена парола"
msgid "Password reset sent"
msgstr "Нулиране на паролата е изпратено"
msgid "Enter new password"
msgstr "Въведете нова парола"
msgid "Password reset unsuccessful"
msgstr "Неуспешна промяна на паролата "
msgid "Password reset complete"
msgstr "Промяната на парола завърши"
msgid "Password change"
msgstr "Промяна на парола"
msgid "Password change successful"
msgstr "Паролата е сменена успешно"

View File

@ -0,0 +1,286 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Tahmid Rafi <rafi.tahmid@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Bengali (http://www.transifex.com/django/django/language/"
"bn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bn\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "ব্যক্তিগত তথ্য"
msgid "Permissions"
msgstr "অনুমোদন"
msgid "Important dates"
msgstr "গুরুত্বপূর্ণ তারিখ"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
msgid "Password changed successfully."
msgstr "পাসওয়ার্ড বদল সফল হয়েছে।"
#, python-format
msgid "Change password: %s"
msgstr "পাসওয়ার্ড বদলানঃ %s"
msgid "Authentication and Authorization"
msgstr ""
msgid "password"
msgstr "পাসওয়ার্ড"
msgid "last login"
msgstr "সর্বশেষ প্রবেশ"
msgid "No password set."
msgstr "কোনো পাসওয়ার্ড সেট করা হয় নি।"
msgid "Invalid password format or unknown hashing algorithm."
msgstr "অবৈধ পাসওয়ার্ড ফরম্যাট অথবা অজ্ঞাত হ্যাশিং অ্যালগরিদম।"
msgid "The two password fields didn't match."
msgstr "পাসওয়ার্ড দুটো মেলেনি।"
msgid "Password"
msgstr "পাসওয়ার্ড"
msgid "Password confirmation"
msgstr "পাসওয়ার্ড নিশ্চিত করুন"
msgid "Enter the same password as before, for verification."
msgstr ""
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
msgid "This account is inactive."
msgstr "এই একাউন্টটি কার্যকর নয়।"
msgid "Email"
msgstr ""
msgid "New password"
msgstr "নতুন পাসওয়ার্ড"
msgid "New password confirmation"
msgstr "নতুন পাসওয়ার্ড নিশ্চিতকরণ"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"আপনার পুরনো পাসওয়ার্ড ঠিকভাবে প্রবেশ করানো হয়নি। অনুগ্রহপূর্বক সঠিক পাসওয়ার্ড দিন।"
msgid "Old password"
msgstr "পুরনো পাসওয়ার্ড"
msgid "Password (again)"
msgstr "পাসওয়ার্ড (পুনরায়)"
msgid "algorithm"
msgstr "অ্যালগরিদম"
msgid "iterations"
msgstr "ইটারেশন"
msgid "salt"
msgstr "সল্ট"
msgid "hash"
msgstr "হ্যাশ"
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr ""
msgid "checksum"
msgstr "চেকসাম"
msgid "name"
msgstr "নাম"
msgid "content type"
msgstr ""
msgid "codename"
msgstr "কোডনাম"
msgid "permission"
msgstr "অনুমোদন"
msgid "permissions"
msgstr "অনুমোদন"
msgid "group"
msgstr "দল"
msgid "groups"
msgstr "দল সমূহ"
msgid "superuser status"
msgstr "সুপারইউজার মর্যাদা"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr "সদস্যকে সকল ধরণের অনুমতি প্রদান করে।"
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
msgid "user permissions"
msgstr "সদস্যের অনুমোদন সমূহ"
msgid "Specific permissions for this user."
msgstr "এই ব্যবহারকারীর জন্য নির্দিষ্ট পারমিশন।"
msgid "username"
msgstr "সদস্যনাম"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "এই সদস্যনামে একজন সদস্য আছেন।"
msgid "first name"
msgstr "প্রথম নাম"
msgid "last name"
msgstr "শেষ নাম"
msgid "email address"
msgstr "ইমেইল অ্যাড্রেস"
msgid "staff status"
msgstr "স্টাফ মর্যাদা"
msgid "Designates whether the user can log into this admin site."
msgstr "সদস্যকে প্রশাসন সাইটে প্রবেশাধিকার প্রদান।"
msgid "active"
msgstr "সচল"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr "সদস্যকে সচল হিসেবে নির্ধারণ করুন। একাউন্ট মুছে ফেলার বদলে এটি ব্যবহার করুন।"
msgid "date joined"
msgstr "যোগদানের তারিখ"
msgid "user"
msgstr "সদস্য"
msgid "users"
msgstr "সদস্যগণ"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
msgstr[1] ""
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
msgid "Your password can't be too similar to your other personal information."
msgstr ""
msgid "This password is too common."
msgstr ""
msgid "Your password can't be a commonly used password."
msgstr ""
msgid "This password is entirely numeric."
msgstr ""
msgid "Your password can't be entirely numeric."
msgstr ""
#, python-format
msgid "Password reset on %(site_name)s"
msgstr ""
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "প্রস্থান সম্পন্ন"
msgid "Password reset"
msgstr "পাসওয়ার্ড রিসেট"
msgid "Password reset sent"
msgstr ""
msgid "Enter new password"
msgstr "নতুন পাসওয়ার্ড দিন"
msgid "Password reset unsuccessful"
msgstr "পাসওয়ার্ড রিসেট সফল হয়নি"
msgid "Password reset complete"
msgstr "পাসওয়ার্ড রিসেট সম্পন্ন হয়েছে"
msgid "Password change"
msgstr "পাসওয়ার্ড পরিবর্তন"
msgid "Password change successful"
msgstr "পাসওয়ার্ড পরিবর্তন সফল হয়েছে"

View File

@ -0,0 +1,293 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Fulup <fulup.jakez@gmail.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Breton (http://www.transifex.com/django/django/language/br/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: br\n"
"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !"
"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n"
"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > "
"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 "
"&& n % 1000000 == 0) ? 3 : 4);\n"
msgid "Personal info"
msgstr ""
msgid "Permissions"
msgstr ""
msgid "Important dates"
msgstr ""
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
msgid "Password changed successfully."
msgstr ""
#, python-format
msgid "Change password: %s"
msgstr ""
msgid "Authentication and Authorization"
msgstr ""
msgid "password"
msgstr "ger-tremen"
msgid "last login"
msgstr "kevreet da ziwezhañ"
msgid "No password set."
msgstr ""
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
msgid "The two password fields didn't match."
msgstr ""
msgid "Password"
msgstr "Ger-tremen"
msgid "Password confirmation"
msgstr ""
msgid "Enter the same password as before, for verification."
msgstr ""
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
msgid "This account is inactive."
msgstr ""
msgid "Email"
msgstr ""
msgid "New password"
msgstr "Ger-tremen nevez"
msgid "New password confirmation"
msgstr "Kadarnaat ar ger-tremen nevez"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
msgid "Old password"
msgstr "Ger-tremen kozh"
msgid "Password (again)"
msgstr "Ger-tremen (adarre)"
msgid "algorithm"
msgstr ""
msgid "iterations"
msgstr ""
msgid "salt"
msgstr ""
msgid "hash"
msgstr ""
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr ""
msgid "checksum"
msgstr ""
msgid "name"
msgstr "anv"
msgid "content type"
msgstr ""
msgid "codename"
msgstr ""
msgid "permission"
msgstr ""
msgid "permissions"
msgstr ""
msgid "group"
msgstr "strollad"
msgid "groups"
msgstr "strolladoù"
msgid "superuser status"
msgstr ""
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
msgid "user permissions"
msgstr ""
msgid "Specific permissions for this user."
msgstr ""
msgid "username"
msgstr ""
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr ""
msgid "first name"
msgstr "anv-bihan"
msgid "last name"
msgstr "anv-familh"
msgid "email address"
msgstr ""
msgid "staff status"
msgstr ""
msgid "Designates whether the user can log into this admin site."
msgstr ""
msgid "active"
msgstr ""
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
msgid "date joined"
msgstr ""
msgid "user"
msgstr "implijer"
msgid "users"
msgstr "implijerien"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
msgid "Your password can't be too similar to your other personal information."
msgstr ""
msgid "This password is too common."
msgstr ""
msgid "Your password can't be a commonly used password."
msgstr ""
msgid "This password is entirely numeric."
msgstr ""
msgid "Your password can't be entirely numeric."
msgstr ""
#, python-format
msgid "Password reset on %(site_name)s"
msgstr ""
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "Digevreet"
msgid "Password reset"
msgstr ""
msgid "Password reset sent"
msgstr ""
msgid "Enter new password"
msgstr ""
msgid "Password reset unsuccessful"
msgstr ""
msgid "Password reset complete"
msgstr ""
msgid "Password change"
msgstr ""
msgid "Password change successful"
msgstr ""

View File

@ -0,0 +1,296 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Arza Grbic <arza.grbic@gmail.com>, 2021
# Jannis Leidel <jannis@leidel.info>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2021-09-27 17:56+0000\n"
"Last-Translator: Arza Grbic <arza.grbic@gmail.com>\n"
"Language-Team: Bosnian (http://www.transifex.com/django/django/language/"
"bs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bs\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
msgid "Personal info"
msgstr "Lični podaci"
msgid "Permissions"
msgstr "Dozvole"
msgid "Important dates"
msgstr "Važni datumi"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s objekat sa primarnim ključem %(key)r ne postoji."
msgid "Password changed successfully."
msgstr "Lozinka uspješno izmjenjena."
#, python-format
msgid "Change password: %s"
msgstr "Izmjeni lozinku: %s"
msgid "Authentication and Authorization"
msgstr ""
msgid "password"
msgstr "lozinka"
msgid "last login"
msgstr "posljednja prijava"
msgid "No password set."
msgstr "Lozinka nije postavljena."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Neispravan format lozinke ili nepoznat hashing algoritam."
msgid "The two password fields didnt match."
msgstr ""
msgid "Password"
msgstr "Lozinka"
msgid "Password confirmation"
msgstr "Potvrda lozinke"
msgid "Enter the same password as before, for verification."
msgstr ""
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
msgid "This account is inactive."
msgstr "Ovaj nalog je neaktivan."
msgid "Email"
msgstr ""
msgid "New password"
msgstr "Nova lozinka"
msgid "New password confirmation"
msgstr "Potvrda nove lozinke"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Vaša stara lozinka nije pravilno unesena. Unesite je ponovo."
msgid "Old password"
msgstr "Stara lozinka"
msgid "Password (again)"
msgstr "Lozinka (ponovite)"
msgid "algorithm"
msgstr ""
msgid "iterations"
msgstr ""
msgid "salt"
msgstr ""
msgid "hash"
msgstr ""
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr ""
msgid "checksum"
msgstr ""
msgid "block size"
msgstr ""
msgid "name"
msgstr "ime"
msgid "content type"
msgstr ""
msgid "codename"
msgstr "šifra dozvole"
msgid "permission"
msgstr "dozvola"
msgid "permissions"
msgstr "dozvole"
msgid "group"
msgstr "grupa"
msgid "groups"
msgstr "grupe"
msgid "superuser status"
msgstr "status administratora"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Označava da li korisnik ima sve dozvole bez dodjeljivanja pojedinačnih "
"dozvola."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
msgid "user permissions"
msgstr "korisničke dozvole"
msgid "Specific permissions for this user."
msgstr ""
msgid "username"
msgstr "korisničko ime"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "Korisnik sa tim korisničkim imenom već postoji."
msgid "first name"
msgstr "ime"
msgid "last name"
msgstr "prezime"
msgid "email address"
msgstr ""
msgid "staff status"
msgstr "status člana uredništva"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Označava da li korisnik može da se prijavi na ovaj sajt za administraciju."
msgid "active"
msgstr "aktivan"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Označava da li se korisnik smatra aktivnim. Uklnote izbor sa ovog polja "
"umjesto da brišete nalog."
msgid "date joined"
msgstr "datum registracije"
msgid "user"
msgstr "korisnik"
msgid "users"
msgstr "korisnici"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
msgid "Your password cant be too similar to your other personal information."
msgstr ""
msgid "This password is too common."
msgstr ""
msgid "Your password cant be a commonly used password."
msgstr ""
msgid "This password is entirely numeric."
msgstr ""
msgid "Your password cant be entirely numeric."
msgstr ""
#, python-format
msgid "Password reset on %(site_name)s"
msgstr ""
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "Odjavljen"
msgid "Password reset"
msgstr ""
msgid "Password reset sent"
msgstr ""
msgid "Enter new password"
msgstr ""
msgid "Password reset unsuccessful"
msgstr ""
msgid "Password reset complete"
msgstr ""
msgid "Password change"
msgstr ""
msgid "Password change successful"
msgstr ""

View File

@ -0,0 +1,316 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Antoni Aloy <aaloy@apsl.net>, 2015,2017,2021
# Carles Barrobés <carles@barrobes.com>, 2011-2012,2014-2015
# Carles Pina Estany, 2022
# Gil Obradors Via <gil.obradors@gmail.com>, 2019
# Gil Obradors Via <gil.obradors@gmail.com>, 2019-2020
# Jannis Leidel <jannis@leidel.info>, 2011
# Marc Compte <marc@compte.cat>, 2021
# Roger Pons <rogerpons@gmail.com>, 2015
# Xavier RG <xavirodgal@gmail.com>, 2021
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2022-07-25 08:09+0000\n"
"Last-Translator: Carles Pina Estany\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 "Personal info"
msgstr "Informació personal"
msgid "Permissions"
msgstr "Permisos"
msgid "Important dates"
msgstr "Dates importants"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "No existeix cap objecte %(name)s amb la clau primària %(key)r."
msgid "Password changed successfully."
msgstr "Contrasenya canviada amb èxit"
#, python-format
msgid "Change password: %s"
msgstr "Canviar contrasenya: %s"
msgid "Authentication and Authorization"
msgstr "Autenticació i Autorització"
msgid "password"
msgstr "contrasenya"
msgid "last login"
msgstr "últim inici de sessió"
msgid "No password set."
msgstr "No s'ha establert la clau."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Format de contrasenya incorrecte o algorisme de hash desconegut."
msgid "The two password fields didnt match."
msgstr "Els dos camps de contrasenya no coincideixen."
msgid "Password"
msgstr "Contrasenya"
msgid "Password confirmation"
msgstr "Confirmació de contrasenya"
msgid "Enter the same password as before, for verification."
msgstr "Introduïu la mateixa contrasenya d'abans, com a verificació."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Les contrasenyes no es guarden en text clar, així que no hi ha forma de "
"conèixer-les, però pots canviar la contrasenya utilitzant <a href=\"{}\"> "
"aquest formulari</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Si us plau, introduïu un %(username)s i clau correctes. Observeu que ambdós "
"camps poden ser sensibles a majúscules."
msgid "This account is inactive."
msgstr "Aquest compte està inactiu"
msgid "Email"
msgstr "Correu electrònic"
msgid "New password"
msgstr "Contrasenya nova"
msgid "New password confirmation"
msgstr "Confirmació de contrasenya nova"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"La vostra antiga contrasenya no és correcta. Si us plau, introduïu-la de nou."
msgid "Old password"
msgstr "Contrasenya antiga"
msgid "Password (again)"
msgstr "Contrasenya (de nou)"
msgid "algorithm"
msgstr "algorisme"
msgid "iterations"
msgstr "iteracions"
msgid "salt"
msgstr "sal"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "varietat"
msgid "version"
msgstr "versió"
msgid "memory cost"
msgstr "cost de memòria"
msgid "time cost"
msgstr "cost de temps"
msgid "parallelism"
msgstr "paralelisme"
msgid "work factor"
msgstr "factor de treball"
msgid "checksum"
msgstr "suma de comprovació"
msgid "block size"
msgstr "mida de bloc"
msgid "name"
msgstr "nom"
msgid "content type"
msgstr "tipus de contingut"
msgid "codename"
msgstr "nom en clau"
msgid "permission"
msgstr "permís"
msgid "permissions"
msgstr "permisos"
msgid "group"
msgstr "grup"
msgid "groups"
msgstr "grups"
msgid "superuser status"
msgstr "estat de superusuari"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Designa que aquest usuari té tots els permisos sense assignar-los "
"explícitament."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Els grups als que pertany l'usuari. Un usuari tindrà tots els permisos de "
"cadascun dels seus grups."
msgid "user permissions"
msgstr "permisos de l'usuari"
msgid "Specific permissions for this user."
msgstr "Permisos específics per a aquest usuari."
msgid "username"
msgstr "nom d'usuari"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Obligatori. 150 o menys caràcters. Només lletres, dígits i @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Ja existeix un usuari amb aquest nom."
msgid "first name"
msgstr "nom propi"
msgid "last name"
msgstr "cognoms"
msgid "email address"
msgstr "adreça de correu electrònic"
msgid "staff status"
msgstr "membre del personal"
msgid "Designates whether the user can log into this admin site."
msgstr "Designa si l'usuari pot entrar al lloc administratiu."
msgid "active"
msgstr "actiu"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Designa si aquest usuari ha de ser tractat com a actiu. Deseleccioneu-ho "
"enlloc d'esborrar comptes d'usuari."
msgid "date joined"
msgstr "data d'incorporació"
msgid "user"
msgstr "usuari"
msgid "users"
msgstr "usuaris"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"La contrasenya és massa curta. Ha de tenir al menys %(min_length)d caràcter."
msgstr[1] ""
"La contrasenya és massa curta. Ha de tenir un mínim de %(min_length)d "
"caràcters."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "La contrasenya és ha de tenir al menys %(min_length)d caràcter."
msgstr[1] "La contrasenya ha de tenir un mínim de %(min_length)d caràcters."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "La contrasenya és massa semblant a %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"La teva contrasenya no pot ser tan similar a alguna de la teva informació "
"personal"
msgid "This password is too common."
msgstr "Aquesta contrasenya és massa comuna."
msgid "Your password cant be a commonly used password."
msgstr "La teva contrasenya no pot ser la típica contrasenya comuna."
msgid "This password is entirely numeric."
msgstr "La contrasenya està formada només per números."
msgid "Your password cant be entirely numeric."
msgstr "La teva contrasenya no potser únicament numèrica."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Reinicialitzar la contrasenya a %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Introdueixi un nom d'usuari vàlid. Aquest valor pot contenir sols lletres, "
"números i els caràcters @/./+/-/_ "
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Introdueixi un nom d'usuari vàlid. Aquest valor pot contenir sols lletres, "
"números i els caràcters @/./+/-/_ "
msgid "Logged out"
msgstr "Sessió finalitzada"
msgid "Password reset"
msgstr "Restablir contrasenya"
msgid "Password reset sent"
msgstr "Restabliment de contrasenya enviat"
msgid "Enter new password"
msgstr "Introduïu la nova contrasenya"
msgid "Password reset unsuccessful"
msgstr "Restabliment de contrasenya fallat"
msgid "Password reset complete"
msgstr "Contrasenya restablerta"
msgid "Password change"
msgstr "Canvi de contrasenya"
msgid "Password change successful"
msgstr "Contrasenya canviada amb èxit"

View File

@ -0,0 +1,304 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Swara <swara09@gmail.com>, 2022
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-17 03:19-0500\n"
"PO-Revision-Date: 2023-04-25 08:09+0000\n"
"Last-Translator: Swara <swara09@gmail.com>, 2022\n"
"Language-Team: Central Kurdish (http://www.transifex.com/django/django/"
"language/ckb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ckb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "زانیاریی کەسی"
msgid "Permissions"
msgstr "ڕێگەپێدانەکان"
msgid "Important dates"
msgstr "بەروارە گرنگەکان"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s ئۆبجێکت لەگەڵ کلیلی سەرەکیی %(key)r بوونی نیە."
msgid "Password changed successfully."
msgstr "تێپەڕەوشە بەسەرکەوتوویی گۆڕدرا."
#, python-format
msgid "Change password: %s"
msgstr "گۆڕینی تێپەڕەوشەی: %s"
msgid "Authentication and Authorization"
msgstr "ڕەسەنایەتی و ڕێگەپێدان"
msgid "password"
msgstr "تێپەڕەوشە"
msgid "last login"
msgstr "دوا چوونەژوورەوە"
msgid "No password set."
msgstr "تێپەڕەوشە جێگیرنەکراوە."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "شێوازی تێپەڕەوشە نادروستە یان ئەلگۆریتمێکی هاشکراوی نەناسراوە."
msgid "The two password fields didnt match."
msgstr "هەردوو خانەی تێپەڕەوشە وەک یەک نین."
msgid "Password"
msgstr "تێپەڕەوشە"
msgid "Password confirmation"
msgstr "دووپاتکردنەوەی تێپەڕەوشە"
msgid "Enter the same password as before, for verification."
msgstr "بۆ پشتڕاستکردنەوە هەمان تێپەڕەوشەی پێشوو بنوسە."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"تێپەڕەوشەی خاو هەڵناگیرێت, لەبەرئەوە هیچ ڕێگەیەک نییە بۆ بینینی تێپەڕەوشەی "
"ئەم بەکارهێنەرە, بەڵام دەتوانیت تێپەڕەوشەکە بگۆڕیت بە بەکارهێنانی <a "
"href=\"{}\">ئەم فۆڕمە</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"تکایە %(username)s و تێپەڕەوشەی دروست بنوسە. لەوانەیە هەردوو خانەکە پێویستی "
"بە دۆخی هەستیار بێت بۆ پیتەکان."
msgid "This account is inactive."
msgstr "ئەم هەژمارە ناچالاکە."
msgid "Email"
msgstr "ئیمەیڵ"
msgid "New password"
msgstr "تێپەڕەوشەی نوێ"
msgid "New password confirmation"
msgstr "دووپاتکردنەوەی تێپەڕەوشەی نوێ"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "تێپەڕەوشە کۆنەکەت بە هەڵە نوسراوە. تکایە دووبارە بینوسەوە."
msgid "Old password"
msgstr "تێپەڕەوشەی کۆن"
msgid "Password (again)"
msgstr "تێپەڕەوشە(دووبارە)"
msgid "algorithm"
msgstr "ئەلگۆریتم"
msgid "iterations"
msgstr "دووبارەکردنەوەکان"
msgid "salt"
msgstr "خوێ"
msgid "hash"
msgstr "په‌یژه‌"
msgid "variety"
msgstr "هەمەچەشنی"
msgid "version"
msgstr "وەشان"
msgid "memory cost"
msgstr "تێچووی بیرگە"
msgid "time cost"
msgstr "تێچووی کات"
msgid "parallelism"
msgstr "هاوتەریبی"
msgid "work factor"
msgstr "هۆکاری کار"
msgid "checksum"
msgstr "کۆی پشکنین"
msgid "block size"
msgstr "قەبارەی بلۆک"
msgid "name"
msgstr "ناو"
msgid "content type"
msgstr "جۆری ناوەڕۆک"
msgid "codename"
msgstr "ناوی کۆد"
msgid "permission"
msgstr "ڕێگەپێدان"
msgid "permissions"
msgstr "ڕێگەپێدانەکان"
msgid "group"
msgstr "گرووپ"
msgid "groups"
msgstr "گرووپەکان"
msgid "superuser status"
msgstr "باری بەرزەبەکارهێنەر"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"دیاری دەکات کە ئەم بەکارهێنەرە هەموو مۆڵەتەکانی هەیە بەبێ ئەوەی بە تایبەتی "
"پێی بسپێردرێت."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"ئەو گروپانەی ئەم بەکارهێنەرە سەر بەو گروپانەیە. بەکارهێنەرێک هەموو ئەو "
"مۆڵەتانە وەردەگرێت کە بە هەریەک لەو گروپانە دەدرێت."
msgid "user permissions"
msgstr "ڕێگەپێدانەکانی بەکارهێنەر"
msgid "Specific permissions for this user."
msgstr "ڕێگەپێدانە تایبەتەکان بۆ ئەم بەکارهێنەرە."
msgid "username"
msgstr "ناوی بەکارهێنەر"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "داواکراوە. 150 پیت یان کەمتر. تەنها پیت، ژمارە و @/./+/-/_ بێت."
msgid "A user with that username already exists."
msgstr "بەکارهێنەرەکە بە هەمان ناوی بەکارهێنەرەوە پێشتر هەیە."
msgid "first name"
msgstr "ناوی یەکەم"
msgid "last name"
msgstr "ناوی دووەم"
msgid "email address"
msgstr "ناونیشانی ئیمەیڵ"
msgid "staff status"
msgstr "باری ستاف"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"دیاری دەکات کە ئایا بەکارهێنەر دەتوانێت بچێتە ناو بەڕێوەبەرایەتی ئەم "
"پێگەیەوە."
msgid "active"
msgstr "چالاک"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"دیاری دەکات کە ئایا ئەم بەکارهێنەرە دەبێت وەک چالاک مامەڵەی لەگەڵدا بکرێت "
"یان نا. لەبری سڕینەوەی هەژمارەکان ئەمە هەڵمەبژێرە."
msgid "date joined"
msgstr "بەرواری پەیوەستبوون"
msgid "user"
msgstr "بەکارهێنەر"
msgid "users"
msgstr "بەکارهێنەر"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"ئەم تێپەڕەوشە زۆر کورتە. دەبێت لانیکەم پێکبێت لە %(min_length)d نوسە."
msgstr[1] ""
"ئەم تێپەڕەوشە زۆر کورتە. دەبێت لانیکەم پێکبێت لە %(min_length)d نوسە."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "تێپەڕەوشەکەت دەبێت لانیکەم لە %(min_length)d نوسە پێک بێت."
msgstr[1] "تێپەڕەوشەکەت دەبێت لانیکەم لە %(min_length)d نوسە پێک بێت."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "ئەم تێپەڕەوشەیە زۆر هاوشێوەی %(verbose_name)sیە."
msgid "Your password cant be too similar to your other personal information."
msgstr "‫تێپەڕەوشەکەت نابێت لەگەڵ زانیارییە کەسییەکانت زۆر چوونیەک بێت."
msgid "This password is too common."
msgstr "ئەم تێپەڕەوشەیە زۆر باوە."
msgid "Your password cant be a commonly used password."
msgstr "تێپەڕەوشەکەت ناتوانێت تێپەڕەوشەیەکی باو بێت."
msgid "This password is entirely numeric."
msgstr "ئەم تێپەڕەوشەیە بە تەواوی ژمارەیە."
msgid "Your password cant be entirely numeric."
msgstr "تێپەڕەوشەکەت نابێت بە تەواوی ژمارە بێت"
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "تێپەڕەوشەکەت دانرایەوە لە %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only unaccented lowercase a-z "
"and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"ناوی بەکارهێنەرێکی دروست بنوسە. ئەم بەهایە لەوانەیە تەنها پیت و ژمارە و "
"پیتەکانی @/./+/-/_ لەخۆبگرێت."
msgid "Logged out"
msgstr "چوونەدەرەوە"
msgid "Password reset"
msgstr "دانانەوەی تێپەڕەوشە"
msgid "Password reset sent"
msgstr "دانانەوەی تێپەڕەوشە نێردرا"
msgid "Enter new password"
msgstr "تێپەڕەوشەی نوێ بنوسە"
msgid "Password reset unsuccessful"
msgstr "دانانەوەی تێپەڕەوشە سەرکەوتوو نەبوو"
msgid "Password reset complete"
msgstr "دانانەوەی تێپەڕەوشە تەواو بوو"
msgid "Password change"
msgstr "گۆڕینی تێپەڕەوشە"
msgid "Password change successful"
msgstr "تێپەڕەوشە بەسەرکەوتوویی گۆڕدرا"

View File

@ -0,0 +1,309 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jan Munclinger <jan.munclinger@gmail.com>, 2013
# Jannis Leidel <jannis@leidel.info>, 2011
# Tomáš Ehrlich <tomas.ehrlich@gmail.com>, 2015
# Vláďa Macek <macek@sandbox.cz>, 2013-2014
# Vláďa Macek <macek@sandbox.cz>, 2015-2017,2019,2021-2022
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2022-01-04 18:49+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 "Personal info"
msgstr "Osobní údaje"
msgid "Permissions"
msgstr "Oprávnění"
msgid "Important dates"
msgstr "Důležitá data"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Položka \"%(name)s\" s primárním klíčem \"%(key)r\" neexistuje."
msgid "Password changed successfully."
msgstr "Změna hesla byla úspěšná."
#, python-format
msgid "Change password: %s"
msgstr "Heslo pro uživatele %s: změnit"
msgid "Authentication and Authorization"
msgstr "Autentizace a autorizace"
msgid "password"
msgstr "heslo"
msgid "last login"
msgstr "poslední přihlášení"
msgid "No password set."
msgstr "Heslo nenastaveno."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Neplatný formát hesla nebo neplatný hashovací algoritmus."
msgid "The two password fields didnt match."
msgstr "Hesla se neshodují."
msgid "Password"
msgstr "Heslo"
msgid "Password confirmation"
msgstr "Potvrzení hesla"
msgid "Enter the same password as before, for verification."
msgstr "Zadejte pro ověření stejné heslo jako předtím."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Hesla se neukládají přímo a tak je nelze zobrazit. Je ale možné je změnit "
"pomocí <a href=\"{}\">tohoto formuláře</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Zadejte správnou hodnotu pole %(username)s a heslo. Pozor, obě pole mohou "
"rozlišovat malá a velká písmena."
msgid "This account is inactive."
msgstr "Tento účet je neaktivní."
msgid "Email"
msgstr "E-mail"
msgid "New password"
msgstr "Nové heslo"
msgid "New password confirmation"
msgstr "Potvrzení nového hesla"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Vaše současné heslo nebylo zadáno správně. Zkuste to znovu."
msgid "Old password"
msgstr "Současné heslo"
msgid "Password (again)"
msgstr "Heslo (znovu)"
msgid "algorithm"
msgstr "algoritmus"
msgid "iterations"
msgstr "iterace"
msgid "salt"
msgstr "hodnota salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "varieta"
msgid "version"
msgstr "verze"
msgid "memory cost"
msgstr "spotřeba paměti"
msgid "time cost"
msgstr "časový náklad"
msgid "parallelism"
msgstr "paralelismus"
msgid "work factor"
msgstr "faktor práce"
msgid "checksum"
msgstr "kontrolní součet"
msgid "block size"
msgstr "velikost bloku"
msgid "name"
msgstr "název"
msgid "content type"
msgstr "typ obsahu"
msgid "codename"
msgstr "kódový název"
msgid "permission"
msgstr "oprávnění"
msgid "permissions"
msgstr "oprávnění"
msgid "group"
msgstr "skupina"
msgid "groups"
msgstr "skupiny"
msgid "superuser status"
msgstr "superuživatel"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Určuje, že uživatel má veškerá oprávnění bez jejich explicitního přiřazení."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Skupiny, do kterých tento uživatel patří. Uživatel dostane všechna oprávnění "
"udělená každé z jeho skupin."
msgid "user permissions"
msgstr "uživatelská oprávnění"
msgid "Specific permissions for this user."
msgstr "Konkrétní oprávnění tohoto uživatele."
msgid "username"
msgstr "uživatelské jméno"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Požadováno. 150 znaků nebo méně. Pouze písmena, číslice a znaky @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Uživatel s tímto jménem již existuje."
msgid "first name"
msgstr "křestní jméno"
msgid "last name"
msgstr "příjmení"
msgid "email address"
msgstr "e-mailová adresa"
msgid "staff status"
msgstr "administrační přístup"
msgid "Designates whether the user can log into this admin site."
msgstr "Určuje, zda se uživatel může přihlásit do správy tohoto webu."
msgid "active"
msgstr "aktivní"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Určuje, zda bude uživatel považován za aktivního. Použijte tuto možnost "
"místo odstranění účtů."
msgid "date joined"
msgstr "datum registrace"
msgid "user"
msgstr "uživatel"
msgid "users"
msgstr "uživatelé"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] "Heslo je příliš krátké. Musí mít délku aspoň %(min_length)d znak."
msgstr[1] "Heslo je příliš krátké. Musí mít délku aspoň %(min_length)d znaky."
msgstr[2] "Heslo je příliš krátké. Musí mít délku aspoň %(min_length)d znaků."
msgstr[3] "Heslo je příliš krátké. Musí mít délku aspoň %(min_length)d znaků."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Heslo musí mít délku aspoň %(min_length)d znak."
msgstr[1] "Heslo musí mít délku aspoň %(min_length)d znaky."
msgstr[2] "Heslo musí mít délku aspoň %(min_length)d znaků."
msgstr[3] "Heslo musí mít délku aspoň %(min_length)d znaků."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Heslo je příliš podobné obsahu pole %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "Heslo nemůže být příliš podobné jinému údaji ve vašem účtu."
msgid "This password is too common."
msgstr "Heslo je příliš běžné."
msgid "Your password cant be a commonly used password."
msgstr "Vaše heslo nemůže být takové, které je často používané."
msgid "This password is entirely numeric."
msgstr "Heslo se skládá pouze z čísel."
msgid "Your password cant be entirely numeric."
msgstr "Vaše heslo nemůže být čistě číselné."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Obnovení hesla na webu %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Zadejte platné uživatelské jméno. Hodnota může obsahovat pouze písmena bez "
"diakritiky, tj. háčků a čárek, číslice a znaky @/./+/-/_."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Zadejte platné uživatelské jméno. Hodnota může obsahovat pouze písmena, "
"číslice a znaky @/./+/-/_."
msgid "Logged out"
msgstr "Odhlášeno"
msgid "Password reset"
msgstr "Obnovení hesla"
msgid "Password reset sent"
msgstr "Zpráva s obnovením hesla byla odeslána"
msgid "Enter new password"
msgstr "Zadejte nové heslo"
msgid "Password reset unsuccessful"
msgstr "Obnovení hesla bylo neúspěšné"
msgid "Password reset complete"
msgstr "Heslo bylo obnoveno"
msgid "Password change"
msgstr "Změna hesla"
msgid "Password change successful"
msgstr "Změna hesla byla úspěšná"

View File

@ -0,0 +1,294 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Maredudd ap Gwyndaf <maredudd@maredudd.com>, 2013-2014
# pjrobertson, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Welsh (http://www.transifex.com/django/django/language/cy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cy\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
"11) ? 2 : 3;\n"
msgid "Personal info"
msgstr "Gwybodaeth bersonol"
msgid "Permissions"
msgstr "Hawliau"
msgid "Important dates"
msgstr "Dyddiadau pwysig"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
msgid "Password changed successfully."
msgstr "Newidwyd y gyfrinair."
#, python-format
msgid "Change password: %s"
msgstr "Newid cyfrinair: %s"
msgid "Authentication and Authorization"
msgstr "Dilysu ac Awdurdodi"
msgid "password"
msgstr "cyfrinair"
msgid "last login"
msgstr "mewngofnod diwethaf"
msgid "No password set."
msgstr "Cyfrinair heb ei osod."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Fformat cyfrinair annilys neu algorithm hashio anhysbys."
msgid "The two password fields didn't match."
msgstr "Nid oedd y ddau faes cyfrinair yr un peth."
msgid "Password"
msgstr "Cyfrinair"
msgid "Password confirmation"
msgstr "Cadarnhad cyfrinair"
msgid "Enter the same password as before, for verification."
msgstr ""
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Teipiwch yr %(username)s a chyfrinair cywir ar gyfer cyfrif staff. Noder y "
"gall y ddau faes fod yn sensitif i lythrennau bach a llythrennau bras."
msgid "This account is inactive."
msgstr "Mae'r cyfrif yn anweithredol."
msgid "Email"
msgstr "Ebost"
msgid "New password"
msgstr "Cyfrinair newydd"
msgid "New password confirmation"
msgstr "Cadarnhad cyfrinair newydd"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Rhoddwydd eich hen gyfrinair yn anghywir. Triwch eto."
msgid "Old password"
msgstr "Hen gyfrinair"
msgid "Password (again)"
msgstr "Cyfrinair (eto)"
msgid "algorithm"
msgstr "algorithm"
msgid "iterations"
msgstr "iteriadau"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr "ffactor gwaith"
msgid "checksum"
msgstr "prawfswm"
msgid "name"
msgstr "enw"
msgid "content type"
msgstr ""
msgid "codename"
msgstr "enw arwyddol"
msgid "permission"
msgstr "hawl"
msgid "permissions"
msgstr "hawliau"
msgid "group"
msgstr "grŵp"
msgid "groups"
msgstr "grwpiau"
msgid "superuser status"
msgstr "statws uwchddefnyddiwr"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr "Dynoda bod gan y defnyddiwr yr holl hawliau heb eu dynodi'n benodol."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
msgid "user permissions"
msgstr "hawliau defnyddiwr"
msgid "Specific permissions for this user."
msgstr "Caniatâd penodol ar gyfer y defnyddiwr hwn."
msgid "username"
msgstr "enw defnyddiwr"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "Mae'r enw defnyddiwr yn bodoli'n barod."
msgid "first name"
msgstr "enw cyntaf"
msgid "last name"
msgstr "cyfenw"
msgid "email address"
msgstr "cyfeiriad ebost"
msgid "staff status"
msgstr "statws staff"
msgid "Designates whether the user can log into this admin site."
msgstr "Dynoda os gall y defnyddiwr fewngofnodi i'r adran weinyddol."
msgid "active"
msgstr "gweithredol"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Dynoda os ydy'r defnyddiwr yn weithredol. Dad-ddewiswch hwn yn lle dileu "
"cyfrifon."
msgid "date joined"
msgstr "dyddiad ymuno"
msgid "user"
msgstr "defnyddiwr"
msgid "users"
msgstr "defnyddwyr"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
msgid "Your password can't be too similar to your other personal information."
msgstr ""
msgid "This password is too common."
msgstr ""
msgid "Your password can't be a commonly used password."
msgstr ""
msgid "This password is entirely numeric."
msgstr ""
msgid "Your password can't be entirely numeric."
msgstr ""
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Ailosod cyfrinar ar %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "Allgofnodwyd"
msgid "Password reset"
msgstr "Ailosod cyfrinair"
msgid "Password reset sent"
msgstr ""
msgid "Enter new password"
msgstr "Rhowch gyfrinair newydd"
msgid "Password reset unsuccessful"
msgstr "Ailosod y cyfrinair yn aflwyddiannus"
msgid "Password reset complete"
msgstr "Cwblhawyd ailosod y cyfrinair"
msgid "Password change"
msgstr "Newid cyfrinair"
msgid "Password change successful"
msgstr "Newid cyfrinair yn llwyddianus"

View File

@ -0,0 +1,309 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Christian Joergensen <christian@gmta.info>, 2012
# Erik Ramsgaard Wognsen <r4mses@gmail.com>, 2021,2023
# Erik Ramsgaard Wognsen <r4mses@gmail.com>, 2013-2017,2019
# Jannis Leidel <jannis@leidel.info>, 2011
# 85794379431c3e0f5c85c0e72a78d45b_658ddd9, 2013
# tiktuk <tiktuk@gmail.com>, 2018
# valberg <valberg@orn.li>, 2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-17 03:19-0500\n"
"PO-Revision-Date: 2023-04-25 08:09+0000\n"
"Last-Translator: Erik Ramsgaard Wognsen <r4mses@gmail.com>, 2021,2023\n"
"Language-Team: Danish (http://www.transifex.com/django/django/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Personlig information"
msgid "Permissions"
msgstr "Rettigheder"
msgid "Important dates"
msgstr "Vigtige datoer"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Der findes ikke et %(name)s-objekt med primærnøgle %(key)r."
msgid "Password changed successfully."
msgstr "Adgangskoden blev ændret."
#, python-format
msgid "Change password: %s"
msgstr "Skift adgangskode: %s"
msgid "Authentication and Authorization"
msgstr "Godkendelse og autorisation"
msgid "password"
msgstr "adgangskode"
msgid "last login"
msgstr "sidst logget ind"
msgid "No password set."
msgstr "Ingen adgangskode valgt."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Ugyldigt adgangskodeformat eller hashing-algoritme."
msgid "The two password fields didnt match."
msgstr "De to adgangskoder var ikke identiske."
msgid "Password"
msgstr "Adgangskode"
msgid "Password confirmation"
msgstr "Bekræftelse af adgangskode"
msgid "Enter the same password as before, for verification."
msgstr "Indtast den samme adgangskode som før, for bekræftelse."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Rå adgangskoder gemmes ikke, så det er ikke muligt at se denne brugers "
"adgangskode, men du kan ændre adgangskoden ved hjælp af <a href=\"{}\">denne "
"formular</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Indtast venligst korrekt %(username)s og adgangskode. Bemærk at begge felter "
"kan være versalfølsomme."
msgid "This account is inactive."
msgstr "Denne konto er inaktiv."
msgid "Email"
msgstr "E-mail"
msgid "New password"
msgstr "Ny adgangskode"
msgid "New password confirmation"
msgstr "Bekræftelse af ny adgangskode"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"Din gamle adgangskode blev ikke indtastet korrekt. Indtast den venligst igen."
msgid "Old password"
msgstr "Gammel adgangskode"
msgid "Password (again)"
msgstr "Adgangskode (igen)"
msgid "algorithm"
msgstr "algoritme"
msgid "iterations"
msgstr "iterationer"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "variation"
msgid "version"
msgstr "version"
msgid "memory cost"
msgstr "hukommelsesomkostning"
msgid "time cost"
msgstr "tidsomkostning"
msgid "parallelism"
msgstr "parallelitet"
msgid "work factor"
msgstr "work factor"
msgid "checksum"
msgstr "tjeksum"
msgid "block size"
msgstr "blokstørrelse"
msgid "name"
msgstr "navn"
msgid "content type"
msgstr "indholdstype"
msgid "codename"
msgstr "kodenavn"
msgid "permission"
msgstr "rettighed"
msgid "permissions"
msgstr "rettigheder"
msgid "group"
msgstr "gruppe"
msgid "groups"
msgstr "grupper"
msgid "superuser status"
msgstr "superbrugerstatus"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Bestemmer at denne bruger har alle rettigheder uden at tildele dem eksplicit."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Grupperne som denne bruger hører til. En bruger får alle rettigheder givet "
"til hver af hans/hendes grupper."
msgid "user permissions"
msgstr "rettigheder"
msgid "Specific permissions for this user."
msgstr "Specifikke rettigheder for denne bruger."
msgid "username"
msgstr "brugernavn"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Påkrævet. Højst 150 tegn. Kun bogstaver og cifre samt @/./+/-/_"
msgid "A user with that username already exists."
msgstr "En bruger med dette brugernavn findes allerede."
msgid "first name"
msgstr "fornavn"
msgid "last name"
msgstr "efternavn"
msgid "email address"
msgstr "e-mail-adresse"
msgid "staff status"
msgstr "admin-status"
msgid "Designates whether the user can log into this admin site."
msgstr "Bestemmer om brugeren kan logge ind på dette administrationswebsite."
msgid "active"
msgstr "aktiv"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Bestemmer om brugeren skal behandles som aktiv. Fravælg dette frem for at "
"slette en konto."
msgid "date joined"
msgstr "dato for registrering"
msgid "user"
msgstr "bruger"
msgid "users"
msgstr "brugere"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Denne adgangskode er for kort. Den skal indeholde mindst %(min_length)d tegn."
msgstr[1] ""
"Denne adgangskode er for kort. Den skal indeholde mindst %(min_length)d tegn."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Din adgangskode skal indeholde mindst %(min_length)d tegn."
msgstr[1] "Din adgangskode skal indeholde mindst %(min_length)d tegn."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Din adgangskode minder for meget om din/dit %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "Din adgangskode må ikke minde om dine andre personlige oplysninger."
msgid "This password is too common."
msgstr "Denne adgangskode er for almindelig."
msgid "Your password cant be a commonly used password."
msgstr "Din adgangskode må ikke være en ofte anvendt adgangskode."
msgid "This password is entirely numeric."
msgstr "Denne adgangskode er udelukkende numerisk."
msgid "Your password cant be entirely numeric."
msgstr "Din adgangskode må ikke være udelukkende numerisk."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Adgangskode nulstillet på %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only unaccented lowercase a-z "
"and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
msgstr ""
"Indtast et gyldigt brugernavn. Denne værdi må kun indeholde små bogstaver a-"
"z og store bogstaver A-Z uden accenter, samt cifre og tegnene @/./+/-/_."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Indtast et gyldigt brugernavn. Denne værdi må kun indeholde bogstaver, cifre "
"og tegnene @/./+/-/_."
msgid "Logged out"
msgstr "Logget ud"
msgid "Password reset"
msgstr "Nulstilling af adgangskode"
msgid "Password reset sent"
msgstr "Nulstilling af kodeord sendt"
msgid "Enter new password"
msgstr "Indtast ny adgangskode"
msgid "Password reset unsuccessful"
msgstr "Adgangskoden blev ikke nulstillet"
msgid "Password reset complete"
msgstr "Nulstilling af adgangskode fuldført"
msgid "Password change"
msgstr "Ændring af adgangskode"
msgid "Password change successful"
msgstr "Adgangskoden blev ændret"

View File

@ -0,0 +1,318 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# André Hagenbruch, 2011
# Florian Apolloner <florian@apolloner.eu>, 2012
# Florian Apolloner <florian@apolloner.eu>, 2021,2023
# jnns, 2013
# Jannis Leidel <jannis@leidel.info>, 2013-2017,2020,2023
# jnns, 2016
# Jens Neuhaus <kontakt@jensneuhaus.de>, 2016
# Markus Holtermann <info@markusholtermann.eu>, 2023
# Markus Holtermann <info@markusholtermann.eu>, 2013,2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-17 03:19-0500\n"
"PO-Revision-Date: 2023-04-25 08:09+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>, 2013-2017,2020,2023\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 "Personal info"
msgstr "Persönliche Informationen"
msgid "Permissions"
msgstr "Berechtigungen"
msgid "Important dates"
msgstr "Wichtige Daten"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s-Objekt mit Primärschlüssel %(key)r ist nicht vorhanden."
msgid "Password changed successfully."
msgstr "Passwort erfolgreich geändert."
#, python-format
msgid "Change password: %s"
msgstr "Passwort ändern: %s"
msgid "Authentication and Authorization"
msgstr "Authentifizierung und Autorisierung"
msgid "password"
msgstr "Passwort"
msgid "last login"
msgstr "Letzte Anmeldung"
msgid "No password set."
msgstr "Kein Passwort gesetzt."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Ungültiges Passwortformat oder unbekannter Hashing-Algorithmus."
msgid "The two password fields didnt match."
msgstr "Die beiden Passwörter sind nicht identisch."
msgid "Password"
msgstr "Passwort"
msgid "Password confirmation"
msgstr "Passwort bestätigen"
msgid "Enter the same password as before, for verification."
msgstr "Bitte das selbe Passwort zur Bestätigung erneut eingeben."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Die Passwörter werden nicht im Klartext gespeichert und können daher nicht "
"dargestellt, sondern nur mit <a href=\"{}\">diesem Formular</a> geändert "
"werden."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Bitte %(username)s und Passwort eingeben. Beide Felder berücksichtigen die "
"Groß-/Kleinschreibung."
msgid "This account is inactive."
msgstr "Dieser Benutzer ist inaktiv."
msgid "Email"
msgstr "E-Mail-Adresse"
msgid "New password"
msgstr "Neues Passwort"
msgid "New password confirmation"
msgstr "Neues Passwort bestätigen"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Das alte Passwort war falsch. Bitte neu eingeben."
msgid "Old password"
msgstr "Altes Passwort"
msgid "Password (again)"
msgstr "Passwort (wiederholen)"
msgid "algorithm"
msgstr "Algorithmus"
msgid "iterations"
msgstr "Wiederholungen"
msgid "salt"
msgstr "Salt"
msgid "hash"
msgstr "Hash"
msgid "variety"
msgstr "Vielfalt"
msgid "version"
msgstr "Version"
msgid "memory cost"
msgstr "Speicherbedarf"
msgid "time cost"
msgstr "Zeitbedarf"
msgid "parallelism"
msgstr "Parallelität"
msgid "work factor"
msgstr "Arbeitsfaktor"
msgid "checksum"
msgstr "Prüfsumme"
msgid "block size"
msgstr "Blockgröße"
msgid "name"
msgstr "Name"
msgid "content type"
msgstr "Inhaltstyp"
msgid "codename"
msgstr "Codename"
msgid "permission"
msgstr "Berechtigung"
msgid "permissions"
msgstr "Berechtigungen"
msgid "group"
msgstr "Gruppe"
msgid "groups"
msgstr "Gruppen"
msgid "superuser status"
msgstr "Administrator-Status"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Legt fest, dass der Benutzer alle Berechtigungen hat, ohne diese einzeln "
"zuweisen zu müssen."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Die Gruppen, denen der Benutzer angehört. Ein Benutzer bekommt alle "
"Berechtigungen dieser Gruppen."
msgid "user permissions"
msgstr "Berechtigungen"
msgid "Specific permissions for this user."
msgstr "Spezifische Berechtigungen für diesen Benutzer."
msgid "username"
msgstr "Benutzername"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Erforderlich. 150 Zeichen oder weniger. Nur Buchstaben, Ziffern und @/./+/-/"
"_."
msgid "A user with that username already exists."
msgstr "Dieser Benutzername ist bereits vergeben."
msgid "first name"
msgstr "Vorname"
msgid "last name"
msgstr "Nachname"
msgid "email address"
msgstr "E-Mail-Adresse"
msgid "staff status"
msgstr "Mitarbeiter-Status"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Legt fest, ob sich der Benutzer an der Administrationsseite anmelden kann."
msgid "active"
msgstr "Aktiv"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Legt fest, ob dieser Benutzer aktiv ist. Kann deaktiviert werden, anstatt "
"Benutzer zu löschen."
msgid "date joined"
msgstr "Mitglied seit"
msgid "user"
msgstr "Benutzer"
msgid "users"
msgstr "Benutzer"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Dieses Passwort ist zu kurz. Es muss mindestens %(min_length)d Zeichen "
"enthalten."
msgstr[1] ""
"Dieses Passwort ist zu kurz. Es muss mindestens %(min_length)d Zeichen "
"enthalten."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Das Passwort muss mindestens %(min_length)d Zeichen enthalten."
msgstr[1] "Das Passwort muss mindestens %(min_length)d Zeichen enthalten."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Das Passwort ist zu ähnlich zu %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"Das Passwort darf nicht zu ähnlich zu anderen persönlichen Informationen "
"sein."
msgid "This password is too common."
msgstr "Dieses Passwort ist zu üblich."
msgid "Your password cant be a commonly used password."
msgstr "Das Passwort darf nicht allgemein üblich sein."
msgid "This password is entirely numeric."
msgstr "Dieses Passwort ist komplett numerisch. "
msgid "Your password cant be entirely numeric."
msgstr "Das Passwort darf nicht komplett aus Ziffern bestehen."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Passwort auf %(site_name)s zurücksetzen"
msgid ""
"Enter a valid username. This value may contain only unaccented lowercase a-z "
"and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
msgstr ""
"Bitte einen gültigen Benutzernamen eingeben, bestehend aus kleinen und "
"großen Buchstaben (A-Z, a-z, ohne Sonderzeichen), Ziffern und @/./+/-/_."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Bitte einen gültigen Benutzernamen eingeben, bestehend aus Buchstaben, "
"Ziffern und @/./+/-/_."
msgid "Logged out"
msgstr "Abgemeldet"
msgid "Password reset"
msgstr "Passwort zurücksetzen"
msgid "Password reset sent"
msgstr "E-Mail zum Passwort zurücksetzen abgesendet"
msgid "Enter new password"
msgstr "Neues Passwort eingeben"
msgid "Password reset unsuccessful"
msgstr "Passwort nicht erfolgreich zurückgesetzt"
msgid "Password reset complete"
msgstr "Passwort zurücksetzen abgeschlossen"
msgid "Password change"
msgstr "Passwort ändern"
msgid "Password change successful"
msgstr "Passwort erfolgreich geändert"

View File

@ -0,0 +1,320 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Michael Wolf <milupo@sorbzilla.de>, 2016-2017,2020-2021,2023
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-17 03:19-0500\n"
"PO-Revision-Date: 2023-04-25 08:09+0000\n"
"Last-Translator: Michael Wolf <milupo@sorbzilla.de>, "
"2016-2017,2020-2021,2023\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 "Personal info"
msgstr "Wósobinske informacije"
msgid "Permissions"
msgstr "Pšawa"
msgid "Important dates"
msgstr "Wažne daty"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Objekt %(name)s z primarnym klucom %(key)r njeeksistěrujo."
msgid "Password changed successfully."
msgstr "Gronidło jo se změniło."
#, python-format
msgid "Change password: %s"
msgstr "Gronidło změniś: %s"
msgid "Authentication and Authorization"
msgstr "Awtentifikacija a awtorizacija"
msgid "password"
msgstr "gronidło"
msgid "last login"
msgstr "slědne pśizjawjenje"
msgid "No password set."
msgstr "Žedno gronidło nastajone."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Njepłaśiwy gronidłowy format abo njeznaty kontrolny algoritmus."
msgid "The two password fields didnt match."
msgstr "Dwě gronidlowej póli njejstej jadnakej."
msgid "Password"
msgstr "Gronidło"
msgid "Password confirmation"
msgstr "Gronidłowe wobkšuśenje"
msgid "Enter the same password as before, for verification."
msgstr "Zapódajśo to samske gronidło, za pśespytanje."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Grube gronidła se njeskładuju, togodla njejo móžno, gronidło wužywarja "
"wiźeś, ale móžośo gronidło z pomocu <a href=\"{}\">toś togo formulara</a> "
"změniś."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Pšosym zapódajśo pšawe %(username)s a gronidło. Źiwajśo na to, až wobej póli "
"móžotej mjazy wjeliko- a małopisanim rozeznawaś."
msgid "This account is inactive."
msgstr "Toś to konto jo inaktiwne."
msgid "Email"
msgstr "E-mail"
msgid "New password"
msgstr "Nowe gronidło"
msgid "New password confirmation"
msgstr "Wobkšuśenje nowego gronidła"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"Wašo stare gronidło jo se wopak zapódało. Pšosym zapódajśo jo hyšći raz."
msgid "Old password"
msgstr "Stare gronidło"
msgid "Password (again)"
msgstr "Gronidło (znowego)"
msgid "algorithm"
msgstr "algoritmus"
msgid "iterations"
msgstr "wóspjetowanja"
msgid "salt"
msgstr "sol"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "warianta"
msgid "version"
msgstr "wersija"
msgid "memory cost"
msgstr "składowa pśetrjeba"
msgid "time cost"
msgstr "casowa pśetrjeba"
msgid "parallelism"
msgstr "paralelizm"
msgid "work factor"
msgstr "źěłowy faktor"
msgid "checksum"
msgstr "kontrolna suma"
msgid "block size"
msgstr "blokowa wjelikosć"
msgid "name"
msgstr "mě"
msgid "content type"
msgstr "wopśimjeśowy typ"
msgid "codename"
msgstr "kodowe mě"
msgid "permission"
msgstr "pšawo"
msgid "permissions"
msgstr "pšawa"
msgid "group"
msgstr "kupka"
msgid "groups"
msgstr "kupki"
msgid "superuser status"
msgstr "status superwužywarja"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Wóznamjenijo, lěc toś ten wužywaŕ ma wšykne pšawa bźez togo, aby mógał je "
"pśipokazaś."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Kupki, ku kótarymž toś ten wužywaŕ słuša. Wužywaŕ dóstanjo wšykne pšawa, "
"kótarež jomu kupki dawaju."
msgid "user permissions"
msgstr "wužywarske pšawa"
msgid "Specific permissions for this user."
msgstr "Wěste pšawa za toś togo wužywarja."
msgid "username"
msgstr "wužywarske mě"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Trěbne. 150 znamuškow abo mjenjej. Jano pismiki, cyfry a @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Wužywaŕ z toś tym wužywarskim mjenim južo eksistěrujo."
msgid "first name"
msgstr "pśedmě"
msgid "last name"
msgstr "familijowe mě"
msgid "email address"
msgstr "e-mailowa adresa"
msgid "staff status"
msgstr "personalny status"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Wóznamjenijo, lěc wužywaŕ móžo se pla administratorowego sedła pśizjawiś."
msgid "active"
msgstr "aktiwny"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Wóznamjenijo, lěc deje z toś tym wužywarjom ako z aktiwnym wobchadás. "
"Znjemóžniśo to město togo, aby konta wulašował."
msgid "date joined"
msgstr "cłonk wót"
msgid "user"
msgstr "wužywaŕ"
msgid "users"
msgstr "wužywarje"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Toś to gronidło jo pśekrotke. Musy nanejmjenjej %(min_length)d znamuško "
"wopśimowaś."
msgstr[1] ""
"Toś to gronidło jo pśekrotke. Musy nanejmjenjej %(min_length)d znamušce "
"wopśimowaś."
msgstr[2] ""
"Toś to gronidło jo pśekrotke. Musy nanejmjenjej %(min_length)d znamuška "
"wopśimowaś."
msgstr[3] ""
"Toś to gronidło jo pśekrotke. Musy nanejmjenjej %(min_length)d znamuškow "
"wopśimowaś."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Wašo gronidło musy nanejmjenjej %(min_length)d znamuško wopśimowaś."
msgstr[1] "Wašo gronidło musy nanejmjenjej %(min_length)d znamušce wopśimowaś."
msgstr[2] "Wašo gronidło musy nanejmjenjej %(min_length)d znamuška wopśimowaś."
msgstr[3] ""
"Wašo gronidło musy nanejmjenjej %(min_length)d znamuškow wopśimowaś."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Gronidło jo na %(verbose_name)s pśepódobne."
msgid "Your password cant be too similar to your other personal information."
msgstr "Wašo gronidło njesmějo na waše druge wósobinske daty pśepódobne byś."
msgid "This password is too common."
msgstr "Toś to gronidło jo pśepowšykne."
msgid "Your password cant be a commonly used password."
msgstr "Wašo gronidło njesmějo cesto wužywane gronidło byś."
msgid "This password is entirely numeric."
msgstr "Toś to gronidło jo cele numeriske."
msgid "Your password cant be entirely numeric."
msgstr "Wašo gronidło njesmějo cele numeriske byś."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Slědkstajenje gronidła na %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only unaccented lowercase a-z "
"and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
msgstr ""
"Zapódajśo płaśiwe wužywaŕske mě. Toś ta gódnota smějo jano małomismiki a-z a "
"wjelikopismiki A-Z bźez diakritiskich znamuškow, licby a znamuška @/./+/-/_ "
"wopśimowaś."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Zapódajśo płaśiwe wužywarske mě. Toś ta gódnota smějo jano pismiki, licby a "
"znamuška @/./+/-/_ wopśimowaś."
msgid "Logged out"
msgstr "Wótzjawjony"
msgid "Password reset"
msgstr "Slědkstajenje gronidła"
msgid "Password reset sent"
msgstr "Slědkstajenje gronidła wótpósłane"
msgid "Enter new password"
msgstr "Zapódajśo nowe gronidło"
msgid "Password reset unsuccessful"
msgstr "Slědkstajenje gronidła njejo se raźiło"
msgid "Password reset complete"
msgstr "Slědkstajenje gronidła dokóńcone"
msgid "Password change"
msgstr "Změnjenje gronidła"
msgid "Password change successful"
msgstr "Gronidło jo se wuspěšnje změniło"

View File

@ -0,0 +1,320 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Apostolis Bessas <mpessas+txc@transifex.com>, 2013
# Claude Paroz <claude@2xlibre.net>, 2017
# Dimitris Glezos <glezos@transifex.com>, 2011-2012
# Giannis Meletakis <meletakis@gmail.com>, 2015
# glogiotatidis <seadog@sealabs.net>, 2011
# Jannis Leidel <jannis@leidel.info>, 2011
# Nick Mavrakis <mavrakis.n@gmail.com>, 2018
# Pãnoș <panos.laganakos@gmail.com>, 2014
# Pãnoș <panos.laganakos@gmail.com>, 2016
# Serafeim Papastefanos <spapas@gmail.com>, 2021
# Yorgos Pagles <y.pagles@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2021-09-22 09:22+0000\n"
"Last-Translator: Transifex Bot <>\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 "Personal info"
msgstr "Προσωπικές πληροφορίες"
msgid "Permissions"
msgstr "Δικαιώματα"
msgid "Important dates"
msgstr "Σημαντικές ημερομηνίες"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Το αντικείμενο %(name)s με πρωτεύον κλειδί %(key)r δεν υπάρχει."
msgid "Password changed successfully."
msgstr "Το συνθηματικό αλλάχτηκε με επιτυχία."
#, python-format
msgid "Change password: %s"
msgstr "Αλλαγή συνθηματικού: %s"
msgid "Authentication and Authorization"
msgstr "Πιστοποίηση και Εξουσιοδότηση"
msgid "password"
msgstr "συνθηματικό"
msgid "last login"
msgstr "τελευταία σύνδεση"
msgid "No password set."
msgstr "Δεν έχει τεθεί συνθηματικό."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Μη έγκυρη μορφή συνθηματικού ή άγνωστος αλγόριθμος hashing."
msgid "The two password fields didnt match."
msgstr "Τα δύο πεδία κωδικών δεν ταιριάζουν."
msgid "Password"
msgstr "Συνθηματικό"
msgid "Password confirmation"
msgstr "Επιβεβαίωση συνθηματικού"
msgid "Enter the same password as before, for verification."
msgstr "Εισάγετε το ίδιο συνθηματικό όπως πρίν, για επιβεβαίωση."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Οι ακατέργαστοι κωδικοί δεν αποθηκεύονται, οπότε δεν υπάρχει τρόπος να δείτε "
"τον κωδικό αυτού του χρήστη, αλλά μπορείτε να τον αλλάξετε χρησιμοποιώντας "
"<a href=\"{}\">αυτή τη φόρμα</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Παρακαλώ εισάγετε ένα σωστό %(username)s και κωδικό. Σημειωτέον ότι και τα "
"δύο πεδία κάνουν διάκριση μεταξύ πεζών-κεφαλαίων."
msgid "This account is inactive."
msgstr "Αυτός ο λογαριασμός είναι ανενεργός."
msgid "Email"
msgstr "Email"
msgid "New password"
msgstr "Νέο συνθηματικό"
msgid "New password confirmation"
msgstr "Επιβεβαίωση νέου συνθηματικού"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Το παλιό συνθηματικό σας δόθηκε λανθασμένα. Παρακαλώ δοκιμάστε ξανά."
msgid "Old password"
msgstr "Παλιό συνθηματικό"
msgid "Password (again)"
msgstr "Συνθηματικό (ξανά)"
msgid "algorithm"
msgstr "αλγόριθμος"
msgid "iterations"
msgstr "Επαναλήψεις"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "ποικιλία"
msgid "version"
msgstr "έκδοση"
msgid "memory cost"
msgstr "κόστος μνήμης"
msgid "time cost"
msgstr "χρονικό κόστος"
msgid "parallelism"
msgstr "παραλληλισμός"
msgid "work factor"
msgstr "work factor"
msgid "checksum"
msgstr "checksum"
msgid "block size"
msgstr ""
msgid "name"
msgstr "όνομα"
msgid "content type"
msgstr "τύπος περιεχομένου"
msgid "codename"
msgstr "κωδικό όνομα"
msgid "permission"
msgstr "δικαίωμα"
msgid "permissions"
msgstr "διακαιώματα"
msgid "group"
msgstr "ομάδα"
msgid "groups"
msgstr "ομάδες"
msgid "superuser status"
msgstr "κατάσταση υπερχρήστη"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Υποδηλώνει ότι ο συγκεκριμένος χρήστης έχει όλα τα δικαιώματα χωρίς να "
"χρειάζεται να τα παραχωρήσετε ξεχωριστά."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Οι ομάδες που ανοίκει ο χρήστης. Ένας χρήστης θα έχει όλες τις άδειες που "
"έχουν δωθεί σε κάθε μια από τις ομάδες."
msgid "user permissions"
msgstr "δικαιώματα χρήστη"
msgid "Specific permissions for this user."
msgstr "Συγκεκριμένα δικαιώματα για αυτόν τον χρήστη."
msgid "username"
msgstr "όνομα χρήστη"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Απαραίτητο. 150 ή λιγότερους χαρακτήρες. Μόνο γράμματα, ψηφία και @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Υπάρχει ήδη ένας χρήστης με αυτό το όνομα."
msgid "first name"
msgstr "όνομα"
msgid "last name"
msgstr "επώνυμο"
msgid "email address"
msgstr "διεύθυνση email"
msgid "staff status"
msgstr "Κατάσταση προσωπικού"
msgid "Designates whether the user can log into this admin site."
msgstr "Ορίζει αν ο χρήστης μπορεί να συνδεθεί στο χώρο διαχείρισης."
msgid "active"
msgstr "ενεργό"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Υποδηλώνει αν ο συγκεκριμένος χρήστης μπορεί να θεωρηθεί ενεργός. Προτιμήστε "
"την επεπιλογή αυτής της επιλογής αντί του να πραγματοποιήσετε διαγραφή του "
"χρήστη."
msgid "date joined"
msgstr "ημερομηνία ένταξης"
msgid "user"
msgstr "χρήστης"
msgid "users"
msgstr "χρήστες"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Αυτό το συνθηματικό είναι πολύ μικρό. Πρέπει να περιέχει τουλάχιστον "
"%(min_length)d χαρακτήρα."
msgstr[1] ""
"Αυτό το συνθηματικό είναι πολύ μικρό. Πρέπει να περιέχει τουλάχιστον "
"%(min_length)d χαρακτήρες."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
"Το συνθηματικό σας πρέπει να έχει τουλάχιστον %(min_length)d χαρακτήρα."
msgstr[1] ""
"Το συνθηματικό σας πρέπει να έχει τουλάχιστον %(min_length)d χαρακτήρες."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Το συνθηματικό μοιάζει πολύ με το %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"Ο κωδικός σας δεν μπορεί να μοιάζει τόσο με τα άλλα προσωπικά σας στοιχεία."
msgid "This password is too common."
msgstr "Πολύ κοινό συνθηματικό."
msgid "Your password cant be a commonly used password."
msgstr "Ο κωδικός σας δεν μπορεί να είναι τόσο συνηθισμένος."
msgid "This password is entirely numeric."
msgstr "Αυτό το συνθηματικό αποτελείται μόνο απο αριθμούς."
msgid "Your password cant be entirely numeric."
msgstr "Ο κωδικός σας δε μπορεί να αποτελείται μόνον από αριθμούς."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Επαναφορά συνθηματικού για το %(site_name)s "
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Εισάγετε ένα έγκυρο όνομα χρήστη. Θα πρέπει να περιέχει μόνο Αγγλικούς "
"χαρακτήρες, αριθμούς και τους χαρακτήρες @/./+/-/_."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Εισάγετε ένα έγκυρο όνομα χρήστη. Θα πρέπει να περιέχει μόνο γράμματα, "
"αριθμούς και τους χαρακτήρες @/./+/-/_ characters."
msgid "Logged out"
msgstr "Έγινε αποσύνδεση"
msgid "Password reset"
msgstr "Επαναφορά συνθηματικού"
msgid "Password reset sent"
msgstr "Η επαναφορά συνθηματικού εστάλει"
msgid "Enter new password"
msgstr "Εισάγετε νεό συνθηματικό"
msgid "Password reset unsuccessful"
msgstr "Ανεπιτυχής επαναφορά κωδικού"
msgid "Password reset complete"
msgstr "Ολοκλήρωση επαναφοράς συνθηματικού"
msgid "Password change"
msgstr "Αλλαγή συνθηματικού"
msgid "Password change successful"
msgstr "Επιτυχής αλλαγή συνθηματικού"

View File

@ -0,0 +1,375 @@
# This file is distributed under the same license as the Django package.
#
msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-17 03:19-0500\n"
"PO-Revision-Date: 2010-05-13 15:35+0200\n"
"Last-Translator: Django team\n"
"Language-Team: English <en@li.org>\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: contrib/auth/admin.py:49
msgid "Personal info"
msgstr ""
#: contrib/auth/admin.py:51
msgid "Permissions"
msgstr ""
#: contrib/auth/admin.py:62
msgid "Important dates"
msgstr ""
#: contrib/auth/admin.py:156
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
#: contrib/auth/admin.py:168
msgid "Password changed successfully."
msgstr ""
#: contrib/auth/admin.py:189
#, python-format
msgid "Change password: %s"
msgstr ""
#: contrib/auth/apps.py:16
msgid "Authentication and Authorization"
msgstr ""
#: contrib/auth/base_user.py:58
msgid "password"
msgstr ""
#: contrib/auth/base_user.py:59
msgid "last login"
msgstr ""
#: contrib/auth/forms.py:41
msgid "No password set."
msgstr ""
#: contrib/auth/forms.py:49
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
#: contrib/auth/forms.py:91 contrib/auth/forms.py:379 contrib/auth/forms.py:457
msgid "The two password fields didnt match."
msgstr ""
#: contrib/auth/forms.py:94 contrib/auth/forms.py:166 contrib/auth/forms.py:201
#: contrib/auth/forms.py:461
msgid "Password"
msgstr ""
#: contrib/auth/forms.py:100
msgid "Password confirmation"
msgstr ""
#: contrib/auth/forms.py:103 contrib/auth/forms.py:472
msgid "Enter the same password as before, for verification."
msgstr ""
#: contrib/auth/forms.py:168
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#: contrib/auth/forms.py:208
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
#: contrib/auth/forms.py:211
msgid "This account is inactive."
msgstr ""
#: contrib/auth/forms.py:276
msgid "Email"
msgstr ""
#: contrib/auth/forms.py:382
msgid "New password"
msgstr ""
#: contrib/auth/forms.py:388
msgid "New password confirmation"
msgstr ""
#: contrib/auth/forms.py:425
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
#: contrib/auth/forms.py:429
msgid "Old password"
msgstr ""
#: contrib/auth/forms.py:469
msgid "Password (again)"
msgstr ""
#: contrib/auth/hashers.py:327 contrib/auth/hashers.py:420
#: contrib/auth/hashers.py:510 contrib/auth/hashers.py:605
#: contrib/auth/hashers.py:665 contrib/auth/hashers.py:707
#: contrib/auth/hashers.py:765 contrib/auth/hashers.py:820
#: contrib/auth/hashers.py:878
msgid "algorithm"
msgstr ""
#: contrib/auth/hashers.py:328
msgid "iterations"
msgstr ""
#: contrib/auth/hashers.py:329 contrib/auth/hashers.py:426
#: contrib/auth/hashers.py:512 contrib/auth/hashers.py:609
#: contrib/auth/hashers.py:666 contrib/auth/hashers.py:708
#: contrib/auth/hashers.py:879
msgid "salt"
msgstr ""
#: contrib/auth/hashers.py:330 contrib/auth/hashers.py:427
#: contrib/auth/hashers.py:610 contrib/auth/hashers.py:667
#: contrib/auth/hashers.py:709 contrib/auth/hashers.py:766
#: contrib/auth/hashers.py:821 contrib/auth/hashers.py:880
msgid "hash"
msgstr ""
#: contrib/auth/hashers.py:421
msgid "variety"
msgstr ""
#: contrib/auth/hashers.py:422
msgid "version"
msgstr ""
#: contrib/auth/hashers.py:423
msgid "memory cost"
msgstr ""
#: contrib/auth/hashers.py:424
msgid "time cost"
msgstr ""
#: contrib/auth/hashers.py:425 contrib/auth/hashers.py:608
msgid "parallelism"
msgstr ""
#: contrib/auth/hashers.py:511 contrib/auth/hashers.py:606
msgid "work factor"
msgstr ""
#: contrib/auth/hashers.py:513
msgid "checksum"
msgstr ""
#: contrib/auth/hashers.py:607
msgid "block size"
msgstr ""
#: contrib/auth/models.py:62 contrib/auth/models.py:116
msgid "name"
msgstr ""
#: contrib/auth/models.py:66
msgid "content type"
msgstr ""
#: contrib/auth/models.py:68
msgid "codename"
msgstr ""
#: contrib/auth/models.py:73
msgid "permission"
msgstr ""
#: contrib/auth/models.py:74 contrib/auth/models.py:119
msgid "permissions"
msgstr ""
#: contrib/auth/models.py:126
msgid "group"
msgstr ""
#: contrib/auth/models.py:127 contrib/auth/models.py:258
msgid "groups"
msgstr ""
#: contrib/auth/models.py:249
msgid "superuser status"
msgstr ""
#: contrib/auth/models.py:252
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
#: contrib/auth/models.py:261
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
#: contrib/auth/models.py:269
msgid "user permissions"
msgstr ""
#: contrib/auth/models.py:271
msgid "Specific permissions for this user."
msgstr ""
#: contrib/auth/models.py:345
msgid "username"
msgstr ""
#: contrib/auth/models.py:349
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
#: contrib/auth/models.py:353
msgid "A user with that username already exists."
msgstr ""
#: contrib/auth/models.py:356
msgid "first name"
msgstr ""
#: contrib/auth/models.py:357
msgid "last name"
msgstr ""
#: contrib/auth/models.py:358
msgid "email address"
msgstr ""
#: contrib/auth/models.py:360
msgid "staff status"
msgstr ""
#: contrib/auth/models.py:362
msgid "Designates whether the user can log into this admin site."
msgstr ""
#: contrib/auth/models.py:365
msgid "active"
msgstr ""
#: contrib/auth/models.py:368
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
#: contrib/auth/models.py:372
msgid "date joined"
msgstr ""
#: contrib/auth/models.py:381
msgid "user"
msgstr ""
#: contrib/auth/models.py:382
msgid "users"
msgstr ""
#: contrib/auth/password_validation.py:111
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
msgstr[1] ""
#: contrib/auth/password_validation.py:123
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
#: contrib/auth/password_validation.py:206
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
#: contrib/auth/password_validation.py:213
msgid "Your password cant be too similar to your other personal information."
msgstr ""
#: contrib/auth/password_validation.py:245
msgid "This password is too common."
msgstr ""
#: contrib/auth/password_validation.py:250
msgid "Your password cant be a commonly used password."
msgstr ""
#: contrib/auth/password_validation.py:261
msgid "This password is entirely numeric."
msgstr ""
#: contrib/auth/password_validation.py:266
msgid "Your password cant be entirely numeric."
msgstr ""
#: contrib/auth/templates/registration/password_reset_subject.txt:2
#, python-format
msgid "Password reset on %(site_name)s"
msgstr ""
#: contrib/auth/validators.py:12
msgid ""
"Enter a valid username. This value may contain only unaccented lowercase a-z "
"and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
msgstr ""
#: contrib/auth/validators.py:22
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
#: contrib/auth/views.py:178
msgid "Logged out"
msgstr ""
#: contrib/auth/views.py:237
msgid "Password reset"
msgstr ""
#: contrib/auth/views.py:264
msgid "Password reset sent"
msgstr ""
#: contrib/auth/views.py:274
msgid "Enter new password"
msgstr ""
#: contrib/auth/views.py:346
msgid "Password reset unsuccessful"
msgstr ""
#: contrib/auth/views.py:355
msgid "Password reset complete"
msgstr ""
#: contrib/auth/views.py:367
msgid "Password change"
msgstr ""
#: contrib/auth/views.py:390
msgid "Password change successful"
msgstr ""

View File

@ -0,0 +1,306 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Tom Fifield <tom@tomfifield.net>, 2014
# Tom Fifield <tom@tomfifield.net>, 2021
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2021-09-22 09:22+0000\n"
"Last-Translator: Transifex Bot <>\n"
"Language-Team: English (Australia) (http://www.transifex.com/django/django/"
"language/en_AU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_AU\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Personal info"
msgid "Permissions"
msgstr "Permissions"
msgid "Important dates"
msgstr "Important dates"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s object with primary key %(key)r does not exist."
msgid "Password changed successfully."
msgstr "Password changed successfully."
#, python-format
msgid "Change password: %s"
msgstr "Change password: %s"
msgid "Authentication and Authorization"
msgstr "Authentication and Authorisation"
msgid "password"
msgstr "password"
msgid "last login"
msgstr "last login"
msgid "No password set."
msgstr "No password set."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Invalid password format or unknown hashing algorithm."
msgid "The two password fields didnt match."
msgstr "The two password fields didnt match."
msgid "Password"
msgstr "Password"
msgid "Password confirmation"
msgstr "Password confirmation"
msgid "Enter the same password as before, for verification."
msgstr "Enter the same password as before, for verification."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgid "This account is inactive."
msgstr "This account is inactive."
msgid "Email"
msgstr "Email"
msgid "New password"
msgstr "New password"
msgid "New password confirmation"
msgstr "New password confirmation"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Your old password was entered incorrectly. Please enter it again."
msgid "Old password"
msgstr "Old password"
msgid "Password (again)"
msgstr "Password (again)"
msgid "algorithm"
msgstr "algorithm"
msgid "iterations"
msgstr "iterations"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "variety"
msgid "version"
msgstr "version"
msgid "memory cost"
msgstr "memory cost"
msgid "time cost"
msgstr "time cost"
msgid "parallelism"
msgstr "parallelism"
msgid "work factor"
msgstr "work factor"
msgid "checksum"
msgstr "checksum"
msgid "block size"
msgstr ""
msgid "name"
msgstr "name"
msgid "content type"
msgstr "content type"
msgid "codename"
msgstr "codename"
msgid "permission"
msgstr "permission"
msgid "permissions"
msgstr "permissions"
msgid "group"
msgstr "group"
msgid "groups"
msgstr "groups"
msgid "superuser status"
msgstr "superuser status"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgid "user permissions"
msgstr "user permissions"
msgid "Specific permissions for this user."
msgstr "Specific permissions for this user."
msgid "username"
msgstr "username"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgid "A user with that username already exists."
msgstr "A user with that username already exists."
msgid "first name"
msgstr "first name"
msgid "last name"
msgstr "last name"
msgid "email address"
msgstr "email address"
msgid "staff status"
msgstr "staff status"
msgid "Designates whether the user can log into this admin site."
msgstr "Designates whether the user can log into this admin site."
msgid "active"
msgstr "active"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgid "date joined"
msgstr "date joined"
msgid "user"
msgstr "user"
msgid "users"
msgstr "users"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgstr[1] ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Your password must contain at least %(min_length)d character."
msgstr[1] "Your password must contain at least %(min_length)d characters."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "The password is too similar to the %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "Your password cant be too similar to your other personal information."
msgid "This password is too common."
msgstr "This password is too common."
msgid "Your password cant be a commonly used password."
msgstr "Your password cant be a commonly used password."
msgid "This password is entirely numeric."
msgstr "This password is entirely numeric."
msgid "Your password cant be entirely numeric."
msgstr "Your password cant be entirely numeric."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Password reset on %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgid "Logged out"
msgstr "Logged out"
msgid "Password reset"
msgstr "Password reset"
msgid "Password reset sent"
msgstr "Password reset sent"
msgid "Enter new password"
msgstr "Enter new password"
msgid "Password reset unsuccessful"
msgstr "Password reset unsuccessful"
msgid "Password reset complete"
msgstr "Password reset complete"
msgid "Password change"
msgstr "Password change"
msgid "Password change successful"
msgstr "Password change successful"

View File

@ -0,0 +1,289 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# jon_atkinson <jon@jonatkinson.co.uk>, 2011-2012
# Ross Poulton <ross@rossp.org>, 2012
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/django/"
"django/language/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Personal info"
msgid "Permissions"
msgstr "Permissions"
msgid "Important dates"
msgstr "Important dates"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
msgid "Password changed successfully."
msgstr "Password changed successfully."
#, python-format
msgid "Change password: %s"
msgstr "Change password: %s"
msgid "Authentication and Authorization"
msgstr ""
msgid "password"
msgstr "password"
msgid "last login"
msgstr "last login"
msgid "No password set."
msgstr ""
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
msgid "The two password fields didn't match."
msgstr "The two password fields didn't match."
msgid "Password"
msgstr "Password"
msgid "Password confirmation"
msgstr "Password confirmation"
msgid "Enter the same password as before, for verification."
msgstr ""
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
msgid "This account is inactive."
msgstr "This account is inactive."
msgid "Email"
msgstr ""
msgid "New password"
msgstr "New password"
msgid "New password confirmation"
msgstr "New password confirmation"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Your old password was entered incorrectly. Please enter it again."
msgid "Old password"
msgstr "Old password"
msgid "Password (again)"
msgstr "Password (again)"
msgid "algorithm"
msgstr "algorithm"
msgid "iterations"
msgstr "iterations"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr "work factor"
msgid "checksum"
msgstr "checksum"
msgid "name"
msgstr "name"
msgid "content type"
msgstr ""
msgid "codename"
msgstr "codename"
msgid "permission"
msgstr "permission"
msgid "permissions"
msgstr "permissions"
msgid "group"
msgstr "group"
msgid "groups"
msgstr "groups"
msgid "superuser status"
msgstr "superuser status"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
msgid "user permissions"
msgstr "user permissions"
msgid "Specific permissions for this user."
msgstr ""
msgid "username"
msgstr "username"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "A user with that username already exists."
msgid "first name"
msgstr "first name"
msgid "last name"
msgstr "last name"
msgid "email address"
msgstr ""
msgid "staff status"
msgstr "staff status"
msgid "Designates whether the user can log into this admin site."
msgstr "Designates whether the user can log into this admin site."
msgid "active"
msgstr "active"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgid "date joined"
msgstr "date joined"
msgid "user"
msgstr "user"
msgid "users"
msgstr "users"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
msgstr[1] ""
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
msgid "Your password can't be too similar to your other personal information."
msgstr ""
msgid "This password is too common."
msgstr ""
msgid "Your password can't be a commonly used password."
msgstr ""
msgid "This password is entirely numeric."
msgstr ""
msgid "Your password can't be entirely numeric."
msgstr ""
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Password reset on %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "Logged out"
msgid "Password reset"
msgstr ""
msgid "Password reset sent"
msgstr ""
msgid "Enter new password"
msgstr ""
msgid "Password reset unsuccessful"
msgstr ""
msgid "Password reset complete"
msgstr ""
msgid "Password change"
msgstr ""
msgid "Password change successful"
msgstr ""

View File

@ -0,0 +1,310 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Batist D 🐍 <baptiste+transifex@darthenay.fr>, 2012-2013
# Batist D 🐍 <baptiste+transifex@darthenay.fr>, 2013-2019
# Matthieu Desplantes <matmututu@gmail.com>, 2021
# Meiyer <interdist+translations@gmail.com>, 2022
# Robin van der Vliet <info@robinvandervliet.com>, 2019
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2022-04-25 08:09+0000\n"
"Last-Translator: Meiyer <interdist+translations@gmail.com>, 2022\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 "Personal info"
msgstr "Personaj informoj"
msgid "Permissions"
msgstr "Permesoj"
msgid "Important dates"
msgstr "Gravaj datoj"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Objekto %(name)skun ĉefŝlosilo %(key)r ne ekzistas."
msgid "Password changed successfully."
msgstr "Pasvorto suksese ŝanĝita."
#, python-format
msgid "Change password: %s"
msgstr "Ŝanĝi pasvorton: %s"
msgid "Authentication and Authorization"
msgstr "Aŭtentigo kaj rajtigo"
msgid "password"
msgstr "pasvorto"
msgid "last login"
msgstr "lasta ensaluto"
msgid "No password set."
msgstr "Neniu pasvorto agordita."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Nevalida pasvorta formato, aŭ nekonata haketa algoritmo."
msgid "The two password fields didnt match."
msgstr "La du pasvortaj kampoj ne kongruas."
msgid "Password"
msgstr "Pasvorto"
msgid "Password confirmation"
msgstr "Pasvorta konfirmo"
msgid "Enter the same password as before, for verification."
msgstr "Entajpu la saman pasvorton kiel supre, por konfirmo."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"La pasvortoj ne estas konservitaj en klara formo, do ne eblas vidi la "
"pasvorton de ĉi tiu uzanto, sed vi povas ŝanĝi la pasvorton per <a "
"href=\"{}\">ĉi tiu formularo</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Bonvolu enigi ĝustan %(username)sn kaj pasvorton. Notu, ke ambaŭ kampoj "
"povas esti usklecodistingaj."
msgid "This account is inactive."
msgstr "Ĉi tiu konto ne estas aktiva."
msgid "Email"
msgstr "Retpoŝto"
msgid "New password"
msgstr "Nova pasvorto"
msgid "New password confirmation"
msgstr "Nova pasvorto por konfirmo"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"Via malnova pasvorto estis tajpita malĝuste. Bonvolu denove entajpi ĝin."
msgid "Old password"
msgstr "Malnova pasvorto"
msgid "Password (again)"
msgstr "Pasvorto (denove)"
msgid "algorithm"
msgstr "algoritmo"
msgid "iterations"
msgstr "iteracioj"
msgid "salt"
msgstr "salo"
msgid "hash"
msgstr "haketo"
msgid "variety"
msgstr "diverseco"
msgid "version"
msgstr "versio"
msgid "memory cost"
msgstr "memor-kosto"
msgid "time cost"
msgstr "tempo-kosto"
msgid "parallelism"
msgstr "paralelismo"
msgid "work factor"
msgstr "laborfaktoro"
msgid "checksum"
msgstr "kontrolsumo"
msgid "block size"
msgstr "blok-grandeco"
msgid "name"
msgstr "nomo"
msgid "content type"
msgstr "enhava tipo"
msgid "codename"
msgstr "kodnomo"
msgid "permission"
msgstr "permeso"
msgid "permissions"
msgstr "permesoj"
msgid "group"
msgstr "grupo"
msgid "groups"
msgstr "grupoj"
msgid "superuser status"
msgstr "ĉefuzanta statuso"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Indikas ke tiu ĉi uzanto havas ĉiujn permesojn, sen eksplicite atribui ilin."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"La grupoj al kiuj tiu ĉi uzanto apartenas. Uzanto akiros ĉiujn permesojn "
"atribuitajn al ĉiu el tiuj grupoj."
msgid "user permissions"
msgstr "uzantaj permesoj"
msgid "Specific permissions for this user."
msgstr "Specifaj permesoj por tiu ĉi uzanto."
msgid "username"
msgstr "salutnomo"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Petita. 150 signoj aŭ malpli. Nur literoj, ciferoj kaj @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Uzanto kun sama salutnomo jam ekzistas."
msgid "first name"
msgstr "persona nomo"
msgid "last name"
msgstr "familia nomo"
msgid "email address"
msgstr "retpoŝta adreso"
msgid "staff status"
msgstr "personara statuso"
msgid "Designates whether the user can log into this admin site."
msgstr "Indikas ĉu la uzanto povas saluti en ĉi-tiu administranta retejo."
msgid "active"
msgstr "aktiva"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Indikas ĉu la uzanto devus esti traktita kiel aktiva. Malmarku tion ĉi "
"anstataŭ forigi kontojn."
msgid "date joined"
msgstr "dato de aliĝo"
msgid "user"
msgstr "uzanto"
msgid "users"
msgstr "uzantoj"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Tiu pasvorto estas tro mallonga. Ĝi devas enhavi almenaŭ %(min_length)d "
"signon."
msgstr[1] ""
"Tiu pasvorto estas tro mallonga. Ĝi devas enhavi almenaŭ %(min_length)d "
"signojn."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Via pasvorto devas enhavi almenaŭ %(min_length)d signon."
msgstr[1] "Via pasvorto devas enhavi almenaŭ %(min_length)d signojn."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "La pasvorto estas tro simila al la %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "Via pasvorto ne povas esti tro simila al viaj aliaj personaj informoj."
msgid "This password is too common."
msgstr "Tiu pasvorto estas tro kutima."
msgid "Your password cant be a commonly used password."
msgstr "Via pasvorto ne povas esti ofte uzata pasvorto."
msgid "This password is entirely numeric."
msgstr "Tiu ĉi pasvorto konsistas nur el ciferoj."
msgid "Your password cant be entirely numeric."
msgstr "Via pasvorto ne povas konsisti nur el ciferoj."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Pasvorta rekomencigo ĉe %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Enigu salutnomon en ĝusta formo. Ĉi tiu valoro povas enhavi nur "
"sensupersignajn literojn, ciferojn kaj la signojn @/./+/-/_."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Enigu salutnomon en ĝusta formo. Ĉi tiu valoro povas enhavi nur literojn, "
"ciferojn kaj la signojn @/./+/-/_."
msgid "Logged out"
msgstr "Adiaŭita"
msgid "Password reset"
msgstr "Restarigo de pasvorto"
msgid "Password reset sent"
msgstr "Restarigo de pasvorto sendita"
msgid "Enter new password"
msgstr "Enigu novan pasvorton"
msgid "Password reset unsuccessful"
msgstr "Restarigo de pasvorto malsukcesa"
msgid "Password reset complete"
msgstr "Restarigo de pasvorto plenumita"
msgid "Password change"
msgstr "Pasvorta ŝanĝo"
msgid "Password change successful"
msgstr "Pasvorto sukcese ŝanĝita"

View File

@ -0,0 +1,325 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# albertoalcolea <albertoalcolea@gmail.com>, 2014
# Antoni Aloy <aaloy@apsl.net>, 2012-2013,2015-2017
# e4db27214f7e7544f2022c647b585925_bb0e321, 2015-2016
# e4db27214f7e7544f2022c647b585925_bb0e321, 2020
# Ernesto Rico Schmidt <ernesto@rico-schmidt.name>, 2017
# guillem <serra.guillem@gmail.com>, 2012
# Igor Támara <igor@tamarapatino.org>, 2015
# Jannis Leidel <jannis@leidel.info>, 2011
# Josue Naaman Nistal Guerra <josuenistal@hotmail.com>, 2014
# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2011
# Uriel Medina <urimeba511@gmail.com>, 2020-2021
# Veronicabh <vero.blazher@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2022-04-25 08:09+0000\n"
"Last-Translator: Uriel Medina <urimeba511@gmail.com>, 2020-2021\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 "Personal info"
msgstr "Información personal"
msgid "Permissions"
msgstr "Permisos"
msgid "Important dates"
msgstr "Fechas importantes"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "el objeto %(name)s con clave primaria %(key)r no existe."
msgid "Password changed successfully."
msgstr "La contraseña se ha cambiado con éxito."
#, python-format
msgid "Change password: %s"
msgstr "Cambiar contraseña: %s"
msgid "Authentication and Authorization"
msgstr "Autenticación y autorización"
msgid "password"
msgstr "contraseña"
msgid "last login"
msgstr "último inicio de sesión"
msgid "No password set."
msgstr "No se ha establecido la clave."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Formato de clave incorrecto o algoritmo de hash desconocido."
msgid "The two password fields didnt match."
msgstr "Los dos campos de contraseña no coinciden."
msgid "Password"
msgstr "Contraseña"
msgid "Password confirmation"
msgstr "Contraseña (confirmación)"
msgid "Enter the same password as before, for verification."
msgstr "Para verificar, introduzca la misma contraseña anterior."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Las contraseñas no se almacenan en bruto, así que no hay manera de ver la "
"contraseña del usuario, pero se puede cambiar la contraseña mediante <a "
"href=\"{}\">este formulario</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Por favor, introduzca un %(username)s y clave correctos. Observe que ambos "
"campos pueden ser sensibles a mayúsculas."
msgid "This account is inactive."
msgstr "Esta cuenta está inactiva."
msgid "Email"
msgstr "Correo electrónico"
msgid "New password"
msgstr "Contraseña nueva"
msgid "New password confirmation"
msgstr "Contraseña nueva (confirmación)"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"Su contraseña antigua es incorrecta. Por favor, vuelva a introducirla. "
msgid "Old password"
msgstr "Contraseña antigua"
msgid "Password (again)"
msgstr "Contraseña (de nuevo)"
msgid "algorithm"
msgstr "algoritmo"
msgid "iterations"
msgstr "iteraciones"
msgid "salt"
msgstr "salto"
msgid "hash"
msgstr "función resumen"
msgid "variety"
msgstr "variedad"
msgid "version"
msgstr "versión"
msgid "memory cost"
msgstr "coste de memoria"
msgid "time cost"
msgstr "coste de tiempo"
msgid "parallelism"
msgstr "paralelismo"
msgid "work factor"
msgstr "factor trabajo"
msgid "checksum"
msgstr "suma de verificación"
msgid "block size"
msgstr "tamaño de bloque"
msgid "name"
msgstr "nombre"
msgid "content type"
msgstr "tipo de contenido"
msgid "codename"
msgstr "nombre en código"
msgid "permission"
msgstr "permiso"
msgid "permissions"
msgstr "permisos"
msgid "group"
msgstr "grupo"
msgid "groups"
msgstr "grupos"
msgid "superuser status"
msgstr "estado de superusuario"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Indica que este usuario tiene todos los permisos sin asignárselos "
"explícitamente."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Los grupos a los que pertenece este usuario. Un usuario tendrá todos los "
"permisos asignados a cada uno de sus grupos."
msgid "user permissions"
msgstr "permisos de usuario"
msgid "Specific permissions for this user."
msgstr "Permisos específicos para este usuario."
msgid "username"
msgstr "nombre de usuario"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Requerido. 150 carácteres como máximo. Únicamente letras, dígitos y @/./+/-/"
"_ "
msgid "A user with that username already exists."
msgstr "Ya existe un usuario con este nombre."
msgid "first name"
msgstr "nombre"
msgid "last name"
msgstr "apellidos"
msgid "email address"
msgstr "dirección de correo electrónico"
msgid "staff status"
msgstr "es staff"
msgid "Designates whether the user can log into this admin site."
msgstr "Indica si el usuario puede entrar en este sitio de administración."
msgid "active"
msgstr "activo"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Indica si el usuario debe ser tratado como activo. Desmarque esta opción en "
"lugar de borrar la cuenta."
msgid "date joined"
msgstr "fecha de alta"
msgid "user"
msgstr "usuario"
msgid "users"
msgstr "usuarios"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Esta contraseña es demasiado corta. Debe contener al menos %(min_length)d "
"caracter."
msgstr[1] ""
"Esta contraseña es demasiado corta. Debe contener al menos %(min_length)d "
"caracteres."
msgstr[2] ""
"Esta contraseña es demasiado corta. Debe contener al menos %(min_length)d "
"caracteres."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Su contraseña debe contener al menos %(min_length)d caracter."
msgstr[1] "Su contraseña debe contener al menos %(min_length)d caracteres."
msgstr[2] "Su contraseña debe contener al menos %(min_length)d caracteres."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "La contraseña es demasiado similar a la de %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"Su contraseña no puede asemejarse tanto a su otra información personal."
msgid "This password is too common."
msgstr "Esta contraseña es demasiado común."
msgid "Your password cant be a commonly used password."
msgstr "Su contraseña no puede ser una clave utilizada comúnmente."
msgid "This password is entirely numeric."
msgstr "Esta contraseña es completamente numérica."
msgid "Your password cant be entirely numeric."
msgstr "Su contraseña no puede ser completamente numérica."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Contraseña restablecida en %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Introduza un nombre de usuario válido. Este valor puede contener únicamente "
"letras inglesas, números y los caracteres @/./+/-/_ "
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Introduza un nombre de usuario válido. Este valor puede contener únicamente "
"letras, números y los caracteres @/./+/-/_ "
msgid "Logged out"
msgstr "Sesión terminada"
msgid "Password reset"
msgstr "Restablecer contraseña"
msgid "Password reset sent"
msgstr "Restablecimiento de contraseña enviado"
msgid "Enter new password"
msgstr "Escriba la nueva contraseña"
msgid "Password reset unsuccessful"
msgstr "Restablecimiento de contraseñas fallido"
msgid "Password reset complete"
msgstr "Restablecimiento de contraseña completado"
msgid "Password change"
msgstr "Cambiar contraseña"
msgid "Password change successful"
msgstr "Contraseña cambiada correctamente"

View File

@ -0,0 +1,314 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Ramiro Morales, 2013-2017,2019,2021
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2021-11-19 13:26+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 "Personal info"
msgstr "Información personal"
msgid "Permissions"
msgstr "Permisos"
msgid "Important dates"
msgstr "Fechas importantes"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "No existe un objeto %(name)s con una clave primaria %(key)r."
msgid "Password changed successfully."
msgstr "Cambio de contraseña exitoso"
#, python-format
msgid "Change password: %s"
msgstr "Cambiar contraseña: %s"
msgid "Authentication and Authorization"
msgstr "Autenticación y Autorización"
msgid "password"
msgstr "contraseña"
msgid "last login"
msgstr "último ingreso"
msgid "No password set."
msgstr "No se ha establecido una contraseña."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Formato de contraseña inválido o algoritmo de hashing desconocido."
msgid "The two password fields didnt match."
msgstr "Los dos campos de contraseñas no coinciden entre si."
msgid "Password"
msgstr "Contraseña"
msgid "Password confirmation"
msgstr "Confirmación de contraseña"
msgid "Enter the same password as before, for verification."
msgstr ""
"Introduzca la misma contraseña nuevamente, para poder verificar la misma."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"El sistema no almacena las contraseñas originales por lo cual no es posible "
"visualizar la contraseña de este usuario, pero puede modificarla usando <a "
"href=\"{}\">este formulario</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Por favor introduzca un %(username)s y una contraseña correctos. Tenga en "
"cuenta que ambos campos son sensibles a mayúsculas/minúsculas."
msgid "This account is inactive."
msgstr "Esta cuenta está inactiva."
msgid "Email"
msgstr "Email"
msgid "New password"
msgstr "Contraseña nueva"
msgid "New password confirmation"
msgstr "Confirmación de contraseña nueva"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"La antigua contraseña introducida es incorrecta. Por favor introdúzcala "
"nuevamente."
msgid "Old password"
msgstr "Contraseña antigua"
msgid "Password (again)"
msgstr "Contraseña (de nuevo)"
msgid "algorithm"
msgstr "algoritmo"
msgid "iterations"
msgstr "iteraciones"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "variedad"
msgid "version"
msgstr "versión"
msgid "memory cost"
msgstr "costo en memoria"
msgid "time cost"
msgstr "costo en tiempo"
msgid "parallelism"
msgstr "paralelismo"
msgid "work factor"
msgstr "work factor"
msgid "checksum"
msgstr "suma de verificación"
msgid "block size"
msgstr "tamaño de bloque"
msgid "name"
msgstr "nombre"
msgid "content type"
msgstr "tipo de contenido"
msgid "codename"
msgstr "nombre en código"
msgid "permission"
msgstr "permiso"
msgid "permissions"
msgstr "permisos"
msgid "group"
msgstr "grupo"
msgid "groups"
msgstr "grupos"
msgid "superuser status"
msgstr "es superusuario"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Indica que este usuario posee todos los permisos sin que sea necesario "
"asignarle los mismos en forma explícita."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Grupos a los cuales pertenece este usuario. Un usuario obtiene todos los "
"permisos otorgados a cada uno de los grupos a los cuales pertenece."
msgid "user permissions"
msgstr "permisos de usuario"
msgid "Specific permissions for this user."
msgstr "Permisos específicos de este usuario"
msgid "username"
msgstr "nombre de usuario"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Obligatorio. Longitud máxima de 150 caracteres. Solo puede estar formado por "
"letras, números y los caracteres @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Ya existe un usuario con ese nombre."
msgid "first name"
msgstr "nombre"
msgid "last name"
msgstr "apellido"
msgid "email address"
msgstr "Dirección de email"
msgid "staff status"
msgstr "es staff"
msgid "Designates whether the user can log into this admin site."
msgstr "Indica si el usuario puede ingresar a este sitio de administración."
msgid "active"
msgstr "activo"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Indica si el usuario debe ser tratado como un usuario activo. Desactive este "
"campo en lugar de eliminar usuarios."
msgid "date joined"
msgstr "fecha de creación"
msgid "user"
msgstr "usuario"
msgid "users"
msgstr "usuarios"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"La contraseña es demasiado corta. Debe contener por lo menos %(min_length)d "
"caracter."
msgstr[1] ""
"La contraseña es demasiado corta. Debe contener por lo menos %(min_length)d "
"caracteres."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Su contraseña debe contener por lo menos %(min_length)d caracter."
msgstr[1] "Su contraseña debe contener por lo menos %(min_length)d caracteres."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "La contraseña es muy similar a %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"Su contraseña no puede ser similar a otros componentes de su información "
"personal."
msgid "This password is too common."
msgstr "La contraseña tiene un valor demasiado común."
msgid "Your password cant be a commonly used password."
msgstr "Su contraseña no puede ser una contraseña usada muy comúnmente."
msgid "This password is entirely numeric."
msgstr "La contraseña está formada completamente por dígitos."
msgid "Your password cant be entirely numeric."
msgstr "Su contraseña no puede estar formada exclusivamente por números."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Reinicio de contraseña en %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Introduzca un nombre de usuario válido. Este valor solo puede contener "
"letras del alfabeto inglés, números y los caracteres @/./+/-/_."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Introduzca un nombre de usuario válido. Este valor solo puede contener "
"letras, números y los caracteres @/./+/-/_."
msgid "Logged out"
msgstr "Sesión cerrada"
msgid "Password reset"
msgstr "Reinicio de contraseña"
msgid "Password reset sent"
msgstr "Se ha enviado un email de reinicialización de contraseña"
msgid "Enter new password"
msgstr "Introduzca nueva contraseña"
msgid "Password reset unsuccessful"
msgstr "Reinicio de contraseña fallido"
msgid "Password reset complete"
msgstr "Reinicio de contraseña completado"
msgid "Password change"
msgstr "Cambio de contraseña"
msgid "Password change successful"
msgstr "Cambio de contraseña exitoso"

View File

@ -0,0 +1,304 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# albertoalcolea <albertoalcolea@gmail.com>, 2014
# Ernesto Avilés Vázquez <whippiii@gmail.com>, 2015
# guillem <serra.guillem@gmail.com>, 2012
# Igor Támara <igor@tamarapatino.org>, 2015
# Jannis Leidel <jannis@leidel.info>, 2011
# Josue Naaman Nistal Guerra <josuenistal@hotmail.com>, 2014
# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2011
# Veronicabh <vero.blazher@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Spanish (Colombia) (http://www.transifex.com/django/django/"
"language/es_CO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_CO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Información personal"
msgid "Permissions"
msgstr "Permisos"
msgid "Important dates"
msgstr "Fechas importantes"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "el objeto %(name)s con clave primaria %(key)r no existe."
msgid "Password changed successfully."
msgstr "La contraseña se ha cambiado con éxito."
#, python-format
msgid "Change password: %s"
msgstr "Cambiar contraseña: %s"
msgid "Authentication and Authorization"
msgstr "Autenticación y autorización"
msgid "password"
msgstr "contraseña"
msgid "last login"
msgstr "último inicio de sesión"
msgid "No password set."
msgstr "No se ha establecido la clave."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Formato de clave incorrecto o algoritmo de hash desconocido."
msgid "The two password fields didn't match."
msgstr "Los dos campos de contraseña no coinciden."
msgid "Password"
msgstr "Contraseña"
msgid "Password confirmation"
msgstr "Contraseña (confirmación)"
msgid "Enter the same password as before, for verification."
msgstr "Para verificar, ingrese la misma contraseña anterior."
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Por favor, introduzca un %(username)s y clave correctos. Observe que ambos "
"campos pueden ser sensibles a mayúsculas."
msgid "This account is inactive."
msgstr "Esta cuenta está inactiva."
msgid "Email"
msgstr "Correo electrónico"
msgid "New password"
msgstr "Contraseña nueva"
msgid "New password confirmation"
msgstr "Contraseña nueva (confirmación)"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Su contraseña antigua es incorrecta. Por favor, vuelva a introducirla."
msgid "Old password"
msgstr "Contraseña antigua"
msgid "Password (again)"
msgstr "Contraseña (de nuevo)"
msgid "algorithm"
msgstr "algoritmo"
msgid "iterations"
msgstr "iteraciones"
msgid "salt"
msgstr "sal"
msgid "hash"
msgstr "función resumen"
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr "factor trabajo"
msgid "checksum"
msgstr "suma de verificación"
msgid "name"
msgstr "nombre"
msgid "content type"
msgstr "tipo de contenido"
msgid "codename"
msgstr "nombre en código"
msgid "permission"
msgstr "permiso"
msgid "permissions"
msgstr "permisos"
msgid "group"
msgstr "grupo"
msgid "groups"
msgstr "grupos"
msgid "superuser status"
msgstr "es superusuario"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Indica que este usuario tiene todos los permisos sin asignárselos "
"explícitamente."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Los grupos a los que pertenece este usuario. Un usuario tendrá todos los "
"permisos asignados a cada uno de sus grupos."
msgid "user permissions"
msgstr "permisos de usuario"
msgid "Specific permissions for this user."
msgstr "Permisos específicos para este usuario."
msgid "username"
msgstr "nombre de usuario"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "Ya existe un usuario con este nombre."
msgid "first name"
msgstr "nombre"
msgid "last name"
msgstr "apellidos"
msgid "email address"
msgstr "dirección de correo electrónico"
msgid "staff status"
msgstr "es staff"
msgid "Designates whether the user can log into this admin site."
msgstr "Indica si el usuario puede entrar en este sitio de administración."
msgid "active"
msgstr "activo"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Indica si el usuario debe ser tratado como activo. Desmarque esta opción en "
"lugar de borrar la cuenta."
msgid "date joined"
msgstr "fecha de alta"
msgid "user"
msgstr "usuario"
msgid "users"
msgstr "usuarios"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Esta contraseña es demasiado corta. Debe contener al menos %(min_length)d "
"carácter."
msgstr[1] ""
"Esta contraseña es demasiado corta. Debe contener al menos %(min_length)d "
"caracteres."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Su contraseña debe contener por lo menos %(min_length)d carácter."
msgstr[1] "Su contraseña debe contener por lo menos %(min_length)d caracteres."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "La contraseña es muy parecida a %(verbose_name)s."
msgid "Your password can't be too similar to your other personal information."
msgstr ""
"Su contraseña no puede asemejarse tanto a su otra información personal."
msgid "This password is too common."
msgstr "Esta contraseña es demasiado común."
msgid "Your password can't be a commonly used password."
msgstr "La contraseña no puede ser una contraseña de uso común."
msgid "This password is entirely numeric."
msgstr "Esta contraseña es completamente numérica."
msgid "Your password can't be entirely numeric."
msgstr "Su contraseña no puede ser completamente numérica."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Contraseña restablecida en %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "Sesión terminada"
msgid "Password reset"
msgstr "Restablecer contraseña"
msgid "Password reset sent"
msgstr "Restablecimiento de contraseña enviado"
msgid "Enter new password"
msgstr "Escriba la nueva contraseña"
msgid "Password reset unsuccessful"
msgstr "Restablecimiento de contraseñas fallido"
msgid "Password reset complete"
msgstr "Restablecimiento de contraseña completado"
msgid "Password change"
msgstr "Cambiar contraseña"
msgid "Password change successful"
msgstr "Contraseña cambiada correctamente"

View File

@ -0,0 +1,312 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Abe Estrada, 2011-2012
# Claude Paroz <claude@2xlibre.net>, 2017
# Jesús Bautista <jesbam98@gmail.com>, 2019
# Juan Pablo Flores <juanpflores94@gmail.com>, 2016
# zodman <zodman@gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-08 17:27+0200\n"
"PO-Revision-Date: 2019-12-26 17:00+0000\n"
"Last-Translator: Jesús Bautista <jesbam98@gmail.com>\n"
"Language-Team: Spanish (Mexico) (http://www.transifex.com/django/django/"
"language/es_MX/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_MX\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Información personal"
msgid "Permissions"
msgstr "Permisos"
msgid "Important dates"
msgstr "Fechas importantes"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "No existe un objeto %(name)s con una clave primaria %(key)r."
msgid "Password changed successfully."
msgstr "Cambio de contraseña exitoso"
#, python-format
msgid "Change password: %s"
msgstr "Cambiar contraseña: %s"
msgid "Authentication and Authorization"
msgstr "Autenticación y Autorización"
msgid "password"
msgstr "contraseña"
msgid "last login"
msgstr "último ingreso"
msgid "No password set."
msgstr "No se ha establecido ninguna contraseña."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Formato de contraseña no válido o algoritmo de hash desconocido."
msgid "The two password fields didnt match."
msgstr "Los dos campos de contraseña no coinciden."
msgid "Password"
msgstr "Contraseña"
msgid "Password confirmation"
msgstr "Confirmación de contraseña"
msgid "Enter the same password as before, for verification."
msgstr "Para verificar, introduzca la misma contraseña que introdujo antes."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Las contraseñas sin procesar no se almacenan, por lo que no hay forma de ver "
"la contraseña de este usuario, pero puede cambiarla usando <a href="
"\"{}\">este formulario</a>. "
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Por favor introduzca %(username)s y contraseña correctos. Note que puede que "
"ambos campos sean estrictos en relación a diferencias entre mayúsculas y "
"minúsculas."
msgid "This account is inactive."
msgstr "Esta cuenta está inactiva."
msgid "Email"
msgstr "Correo Electrónico"
msgid "New password"
msgstr "Contraseña nueva"
msgid "New password confirmation"
msgstr "Confirmación de contraseña nueva"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"La antigua contraseña introducida es incorrecta. Por favor introdúzcala "
"nuevamente."
msgid "Old password"
msgstr "Contraseña antigua"
msgid "Password (again)"
msgstr "Contraseña (de nuevo)"
msgid "algorithm"
msgstr "algoritmo"
msgid "iterations"
msgstr "repeticiones"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "variedad"
msgid "version"
msgstr "versión"
msgid "memory cost"
msgstr "costo en memoria"
msgid "time cost"
msgstr "costo en tiempo"
msgid "parallelism"
msgstr "Paralelismo"
msgid "work factor"
msgstr "factor trabajo"
msgid "checksum"
msgstr "checksum"
msgid "name"
msgstr "nombre"
msgid "content type"
msgstr "tipo de contenido"
msgid "codename"
msgstr "nombre código"
msgid "permission"
msgstr "permiso"
msgid "permissions"
msgstr "permisos"
msgid "group"
msgstr "grupo"
msgid "groups"
msgstr "grupos"
msgid "superuser status"
msgstr "es superusuario"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Indica que este usuario posee todos los permisos sin que sea necesario "
"asignarle los mismos en forma explícita."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Los grupos a los que pertenece este usuario. Un usuario obtendrá todos los "
"permisos concedidos para cada uno de su grupo."
msgid "user permissions"
msgstr "permisos de usuario"
msgid "Specific permissions for this user."
msgstr "Permisos específicos para este usuario"
msgid "username"
msgstr "nombre de usuario"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Obligatorio. Longitud máxima 150 caracteres alfanuméricos. Letras, dígitos y "
"@/./+/-/_ únicamente."
msgid "A user with that username already exists."
msgstr "Ya existe un usuario con ese nombre."
msgid "first name"
msgstr "nombre"
msgid "last name"
msgstr "apellido"
msgid "email address"
msgstr "Dirección de correo electrónico"
msgid "staff status"
msgstr "es staff"
msgid "Designates whether the user can log into this admin site."
msgstr "Indica si el usuario puede ingresar a este sitio de administración."
msgid "active"
msgstr "activo"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Indica si el usuario debe ser tratado como un usuario activo. Desactive este "
"campo en lugar de eliminar usuarios."
msgid "date joined"
msgstr "fecha de creación"
msgid "user"
msgstr "usuario"
msgid "users"
msgstr "usuarios"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"La contraseña es muy corta. Debe contener al menos %(min_length)d caracter."
msgstr[1] ""
"La contraseña es muy corta. Debe contener al menos %(min_length)d caracteres."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
"Tu contraseña es muy corta. Debe contener al menos %(min_length)d caracter."
msgstr[1] ""
"Su contraseña es muy corta. Debe contener al menos %(min_length)d caracteres."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "La contraseña es muy similar a %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "Su contraseña no puede ser muy similar a su otra información personal."
msgid "This password is too common."
msgstr "Esta contraseña es muy común."
msgid "Your password cant be a commonly used password."
msgstr "Su contraseña no puede ser una contraseña de uso común."
msgid "This password is entirely numeric."
msgstr "Esta contraseña es totalmente numérica."
msgid "Your password cant be entirely numeric."
msgstr "Su contraseña no puede ser completamente numérica."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Restablecimiento de la contraseña en %(site_name)s "
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Ingrese un nombre de usuario válido. Este sólo puede contener letras en "
"inglés, números y caracteres @ /. / + / - / _."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Ingrese un nombre de usuario válido. Este puede contener sólo letras, "
"números y caracteres @ /. / + / - / _."
msgid "Logged out"
msgstr "Sesión cerrada"
msgid "Password reset"
msgstr "Restablecer contraseña"
msgid "Password reset sent"
msgstr "Restablecimiento de contraseña enviado"
msgid "Enter new password"
msgstr "Introduzca la nueva contraseña"
msgid "Password reset unsuccessful"
msgstr "Restablecimiento de contraseña no exitosa"
msgid "Password reset complete"
msgstr "Reinicialización de contraseña completada"
msgid "Password change"
msgstr "Cambio de contraseña"
msgid "Password change successful"
msgstr "Cambio de contraseña exitoso"

View File

@ -0,0 +1,304 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Eduardo <edos21@gmail.com>, 2017
# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2016
# Yoel Acevedo, 2017
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Spanish (Venezuela) (http://www.transifex.com/django/django/"
"language/es_VE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es_VE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Información personal"
msgid "Permissions"
msgstr "Permisos"
msgid "Important dates"
msgstr "Fechas importantes"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "el objeto %(name)s con clave primaria %(key)r no existe."
msgid "Password changed successfully."
msgstr "La contraseña se ha cambiado con éxito."
#, python-format
msgid "Change password: %s"
msgstr "Cambiar contraseña: %s"
msgid "Authentication and Authorization"
msgstr "Autenticación y autorización"
msgid "password"
msgstr "contraseña"
msgid "last login"
msgstr "último inicio de sesión"
msgid "No password set."
msgstr "No se ha establecido la clave."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Formato de clave incorrecto o algoritmo de hash desconocido."
msgid "The two password fields didn't match."
msgstr "Los dos campos de contraseña no coinciden."
msgid "Password"
msgstr "Contraseña"
msgid "Password confirmation"
msgstr "Contraseña (confirmación)"
msgid "Enter the same password as before, for verification."
msgstr "Para verificar, ingrese la misma contraseña anterior."
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Por favor, introduzca un %(username)s y clave correctos. Observe que ambos "
"campos pueden ser sensibles a mayúsculas."
msgid "This account is inactive."
msgstr "Esta cuenta está inactiva."
msgid "Email"
msgstr "Correo electrónico"
msgid "New password"
msgstr "Contraseña nueva"
msgid "New password confirmation"
msgstr "Contraseña nueva (confirmación)"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Su contraseña antigua es incorrecta. Por favor, vuelva a introducirla."
msgid "Old password"
msgstr "Contraseña antigua"
msgid "Password (again)"
msgstr "Contraseña (de nuevo)"
msgid "algorithm"
msgstr "algoritmo"
msgid "iterations"
msgstr "iteraciones"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "función resumen"
msgid "variety"
msgstr "variedad"
msgid "version"
msgstr "versión"
msgid "memory cost"
msgstr "costo de memoria"
msgid "time cost"
msgstr "costo de tiempo"
msgid "parallelism"
msgstr "paralelismo"
msgid "work factor"
msgstr "factor trabajo"
msgid "checksum"
msgstr "suma de verificación"
msgid "name"
msgstr "nombre"
msgid "content type"
msgstr "tipo de contenido"
msgid "codename"
msgstr "nombre en código"
msgid "permission"
msgstr "permiso"
msgid "permissions"
msgstr "permisos"
msgid "group"
msgstr "grupo"
msgid "groups"
msgstr "grupos"
msgid "superuser status"
msgstr "estatus de superusuario"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Indica que este usuario tiene todos los permisos sin asignárselos "
"explícitamente."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Los grupos a los que pertenece este usuario. Un usuario tendrá todos los "
"permisos asignados a cada uno de sus grupos."
msgid "user permissions"
msgstr "permisos de usuario"
msgid "Specific permissions for this user."
msgstr "Permisos específicos para este usuario."
msgid "username"
msgstr "nombre de usuario"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Requerido. 150 caracteres o menos. Letras, dígitos y @/./+/-/_ solamente. "
msgid "A user with that username already exists."
msgstr "Ya existe un usuario con este nombre."
msgid "first name"
msgstr "nombre"
msgid "last name"
msgstr "apellidos"
msgid "email address"
msgstr "dirección de correo electrónico"
msgid "staff status"
msgstr "estatus staff"
msgid "Designates whether the user can log into this admin site."
msgstr "Indica si el usuario puede entrar en este sitio de administración."
msgid "active"
msgstr "activo"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Indica si el usuario debe ser tratado como activo. Desmarque esta opción en "
"lugar de borrar la cuenta."
msgid "date joined"
msgstr "fecha de alta"
msgid "user"
msgstr "usuario"
msgid "users"
msgstr "usuarios"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Esta contraseña es demasiado corta. Debe contener al menos %(min_length)d "
"carácter."
msgstr[1] ""
"Esta contraseña es demasiado corta. Debe contener al menos %(min_length)d "
"caracteres."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Su contraseña debe contener por lo menos %(min_length)d carácter."
msgstr[1] "Su contraseña debe contener por lo menos %(min_length)d caracteres."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "La contraseña es muy parecida a %(verbose_name)s."
msgid "Your password can't be too similar to your other personal information."
msgstr ""
"Su contraseña no puede asemejarse tanto a su otra información personal."
msgid "This password is too common."
msgstr "Esta contraseña es demasiado común."
msgid "Your password can't be a commonly used password."
msgstr "La contraseña no puede ser una contraseña de uso común."
msgid "This password is entirely numeric."
msgstr "Esta contraseña es completamente numérica."
msgid "Your password can't be entirely numeric."
msgstr "Su contraseña no puede ser completamente numérica."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Contraseña restablecida en %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Introduzca un nombre de usuario válido. Este solo puede contener letras del "
"alfabeto en ingles, números y los caracteres @/./+/-/_"
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Introduzca un nombre de usuario válido. Este solo puede contener letras, "
"números y los caracteres @/./+/-/_"
msgid "Logged out"
msgstr "Sesión terminada"
msgid "Password reset"
msgstr "Restablecer contraseña"
msgid "Password reset sent"
msgstr "Restablecimiento de contraseña enviado"
msgid "Enter new password"
msgstr "Escriba la nueva contraseña"
msgid "Password reset unsuccessful"
msgstr "Restablecimiento de contraseñas fallido"
msgid "Password reset complete"
msgstr "Restablecimiento de contraseña completado"
msgid "Password change"
msgstr "Cambiar contraseña"
msgid "Password change successful"
msgstr "Contraseña cambiada correctamente"

View File

@ -0,0 +1,308 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Janno Liivak <jannolii@gmail.com>, 2013,2015
# madisvain <madisvain@gmail.com>, 2011
# Martin Pajuste <martinpajuste@gmail.com>, 2015
# Martin Pajuste <martinpajuste@gmail.com>, 2016-2017
# Marti Raudsepp <marti@juffo.org>, 2014,2016
# Ragnar Rebase <rrebase@gmail.com>, 2019
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-08 17:27+0200\n"
"PO-Revision-Date: 2019-12-28 01:45+0000\n"
"Last-Translator: Ragnar Rebase <rrebase@gmail.com>\n"
"Language-Team: Estonian (http://www.transifex.com/django/django/language/"
"et/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Isiklikud andmd"
msgid "Permissions"
msgstr "Õigused"
msgid "Important dates"
msgstr "Tähtsad kuupäevad"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s objekt primaarvõtmega %(key)r ei eksisteeri."
msgid "Password changed successfully."
msgstr "Salasõna edukalt muudetud."
#, python-format
msgid "Change password: %s"
msgstr "Muuda salasõna: %s"
msgid "Authentication and Authorization"
msgstr "Autentimine ja Volitamine"
msgid "password"
msgstr "salasõna"
msgid "last login"
msgstr "viimane sisenemine"
msgid "No password set."
msgstr "Parool on määramata."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Lubamatu parooli formaat või tundmatu räsialgoritm."
msgid "The two password fields didnt match."
msgstr "Sisestatud paroolid polnud identsed."
msgid "Password"
msgstr "Salasõna"
msgid "Password confirmation"
msgstr "Salasõna kinnitus"
msgid "Enter the same password as before, for verification."
msgstr ""
"Sisestage sama salasõna uuesti veendumaks, et sisestamisel ei tekkinud vigu"
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Salasõnu ei salvestata töötlemata kujul, seega puudub võimalus selle "
"kasutaja salasõna nägemiseks, kuid saate seda muuta kasutades <a href="
"\"{}\">seda vormi</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Palun sisestage õige %(username)s ja parool. Teadke, et mõlemad väljad "
"võivad olla tõstutundlikud."
msgid "This account is inactive."
msgstr "See konto ei ole aktiivne."
msgid "Email"
msgstr "E-post"
msgid "New password"
msgstr "Uus salasõna"
msgid "New password confirmation"
msgstr "Uue salasõna kinnitus"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Te sisestasite oma vana parooli vigaselt. Palun sisestage see uuesti."
msgid "Old password"
msgstr "Vana salasõna"
msgid "Password (again)"
msgstr "Salasõna (uuesti)"
msgid "algorithm"
msgstr "algoritm"
msgid "iterations"
msgstr "iteratsioone"
msgid "salt"
msgstr "sool"
msgid "hash"
msgstr "räsi"
msgid "variety"
msgstr "liik"
msgid "version"
msgstr "versioon"
msgid "memory cost"
msgstr "mälukasutus"
msgid "time cost"
msgstr "ajakulu"
msgid "parallelism"
msgstr "parallelism"
msgid "work factor"
msgstr "töötegur"
msgid "checksum"
msgstr "kontrollsumma"
msgid "name"
msgstr "nimi"
msgid "content type"
msgstr "sisutüüp"
msgid "codename"
msgstr "koodnimi"
msgid "permission"
msgstr "õigus"
msgid "permissions"
msgstr "õigused"
msgid "group"
msgstr "grupp"
msgid "groups"
msgstr "grupid"
msgid "superuser status"
msgstr "superkasutaja staatus"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr "Määrab, kas see kasutaja omab automaatselt ja alati kõiki õigus."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Grupid, millesse antud kasutaja kuulub. Kasutaja pärib kõik õigused, mis on "
"määratud igale tema grupile."
msgid "user permissions"
msgstr "kasutajaõigused"
msgid "Specific permissions for this user."
msgstr "Spetsiaalsed õigused sellele kasutajale."
msgid "username"
msgstr "kasutajatunnus"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Nõutav. 150 märki või vähem. Ainult tähed, numbrid ja @/./+/-/_ tähemärgid."
msgid "A user with that username already exists."
msgstr "Sama kasutajatunnusega kasutaja on juba olemas."
msgid "first name"
msgstr "eesnimi"
msgid "last name"
msgstr "perenimi"
msgid "email address"
msgstr "e-posti aadress"
msgid "staff status"
msgstr "personalistaatus"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Määrab, kas kasutaja saab sisse logida sellesse admininistreerimisliidesesse."
msgid "active"
msgstr "aktiivne"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Määrab, kas see konto on aktiivne. Kustutamise asemel lihtsalt deaktiveerige "
"konto."
msgid "date joined"
msgstr "liitumise kuupäev"
msgid "user"
msgstr "kasutaja"
msgid "users"
msgstr "kasutajad"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Salasõna on liiga lühike. Selles peab olema vähemalt %(min_length)d täht."
msgstr[1] ""
"Salasõna on liiga lühike. Selles peab olema vähemalt %(min_length)d tähte."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Salasõna peab sisaldama vähemalt %(min_length)d tähte."
msgstr[1] "Salasõna peab sisaldama vähemalt %(min_length)d tähte."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Salasõna ja %(verbose_name)s on liiga sarnased."
msgid "Your password cant be too similar to your other personal information."
msgstr "Salasõna ei tohi olla liialt sarnane teie isiklike andmetega."
msgid "This password is too common."
msgstr "Salasõna on liiga teada-tuntud."
msgid "Your password cant be a commonly used password."
msgstr "Salasõna ei tohi olla üks enimlevinud salasõnadest."
msgid "This password is entirely numeric."
msgstr "See salasõna koosneb ainult numbritest."
msgid "Your password cant be entirely numeric."
msgstr "Salasõna ei tohi koosneda ainult numbritest."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Uue salasõna loomine saidil %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Sisesta korrektne kasutajatunnus. See väärtus võib sisaldada ainult "
"ingliskeelseid tähti, numbreid ja @/./+/-/_ tähemärke."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Sisesta korrektne kasutajatunnus. See väärtus võib sisaldada ainult tähti, "
"numbreid ja @/./+/-/_ tähemärke."
msgid "Logged out"
msgstr "Välja logitud"
msgid "Password reset"
msgstr "Uue salasõna loomine"
msgid "Password reset sent"
msgstr "Salasõna lähtestamine saadetud"
msgid "Enter new password"
msgstr "Sisesta uus salasõna"
msgid "Password reset unsuccessful"
msgstr "Uue salasõna loomine ebaõnnestus"
msgid "Password reset complete"
msgstr "Uue salasõna loomine lõpetatud"
msgid "Password change"
msgstr "Salasõna muutmine"
msgid "Password change successful"
msgstr "Salasõna muutmine õnnestus"

View File

@ -0,0 +1,310 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Aitzol Naberan <anaberan@codesyntax.com>, 2013
# Eneko Illarramendi <eneko@illarra.com>, 2017
# Jannis Leidel <jannis@leidel.info>, 2011
# julen, 2015
# Urtzi Odriozola <urtzi.odriozola@gmail.com>, 2016-2017
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-12-11 13:39+0000\n"
"Last-Translator: Eneko Illarramendi <eneko@illarra.com>\n"
"Language-Team: Basque (http://www.transifex.com/django/django/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Informazio pertsonala"
msgid "Permissions"
msgstr "Baimenak"
msgid "Important dates"
msgstr "Data garrantzitsuak"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Ez dago %(key)r gakodun %(name)s objekturik."
msgid "Password changed successfully."
msgstr "Ondo aldatu da pasahitza."
#, python-format
msgid "Change password: %s"
msgstr "Pasahitza aldatu: %s"
msgid "Authentication and Authorization"
msgstr "Autentikazio eta baimentzea"
msgid "password"
msgstr "pasahitza"
msgid "last login"
msgstr "azken sarrera"
msgid "No password set."
msgstr "Pasahitza ezarri gabe."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Pasahitz formatu baliogabea edo hash algoritmo ezezaguna."
msgid "The two password fields didn't match."
msgstr "Pasahitzak ez datoz bat."
msgid "Password"
msgstr "Pasahitza"
msgid "Password confirmation"
msgstr "Pasahitza berretsi"
msgid "Enter the same password as before, for verification."
msgstr "Idatzi aurreko pasahitz bera, egiaztapenerako."
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Pasahitzak zifratuta gordetzen direnez ez dago erabiltzaile pasahitza "
"ikusterik, baina pasahitza aldatu dezakezu <a href=\"{}\">hemen</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Mesedez idatzi %(username)s eta pasahitz egokiak. Maiskula eta minuskulak "
"ondo bereiztu."
msgid "This account is inactive."
msgstr "Kontu hau az dago aktibo."
msgid "Email"
msgstr "Emaila"
msgid "New password"
msgstr "Pasahitz berria"
msgid "New password confirmation"
msgstr "Pasahitz berria berretsi"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Zure pasahitz zaharra ez da zuzena. Idatzi ezazu berriro."
msgid "Old password"
msgstr "Pasahitz zaharra"
msgid "Password (again)"
msgstr "Pasahitza (berriro)"
msgid "algorithm"
msgstr "algoritmoak"
msgid "iterations"
msgstr "iterazioak"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "aldaera"
msgid "version"
msgstr "bertsioa"
msgid "memory cost"
msgstr "memoria kostua"
msgid "time cost"
msgstr "denbora kostua"
msgid "parallelism"
msgstr "paralelismoa"
msgid "work factor"
msgstr "work factor"
msgid "checksum"
msgstr "checksum"
msgid "name"
msgstr "izena"
msgid "content type"
msgstr "eduki mota"
msgid "codename"
msgstr "kode izena"
msgid "permission"
msgstr "baimena"
msgid "permissions"
msgstr "baimenak"
msgid "group"
msgstr "taldea"
msgid "groups"
msgstr "taldeak"
msgid "superuser status"
msgstr "Erabiltzaile nagusia"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Erabiltzaileari baimen guztiak esleitzeko banan-banan aukeratu behar izan "
"gabe."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Erabiltzailea zein taldetakoa den. Erabiltzaileak bere talde bakoitzari "
"emandako baimen guztiak jasoko ditu."
msgid "user permissions"
msgstr "Erabiltzailearen baimenak"
msgid "Specific permissions for this user."
msgstr "Erabiltzaile honentzako baimenak."
msgid "username"
msgstr "erabiltzailea"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Beharrezkoa. 150 karaktere edo gutxiago. Hizki, zenbaki eta @/./+/-/_ "
"bakarrik."
msgid "A user with that username already exists."
msgstr "Erabiltzaile izen hori ez dago eskuragarri."
msgid "first name"
msgstr "izena"
msgid "last name"
msgstr "abizena"
msgid "email address"
msgstr "helbide elektronikoa"
msgid "staff status"
msgstr "Arduradun egoera"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Erabiltzaileak kudeaketa gune honetan sartzeko baimena duen edo ez "
"adierazten du."
msgid "active"
msgstr "Aktiboa"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Erabiltzaile bat aktibo gisa tratatu edo ez zehazten du. Ezgaitu hau kontuak "
"ezabatu beharrean."
msgid "date joined"
msgstr "erregistro eguna"
msgid "user"
msgstr "Erabiltzailea"
msgid "users"
msgstr "Erabiltzaileak"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Pasahitz hau laburregia da. Gutxienez karaktere %(min_length)d izan behar du."
msgstr[1] ""
"Pasahitz hau laburregia da. Gutxienez %(min_length)d karaktere izan behar "
"ditu."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Zure pasahitzak gutxienez karaktere %(min_length)d eduki behar du."
msgstr[1] ""
"Zure pasahitzak gutxienez %(min_length)d karaktere eduki behar ditu."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Zure pasahitza %(verbose_name)s-(r)en oso antzekoa da."
msgid "Your password can't be too similar to your other personal information."
msgstr ""
"Zure pasahitza ezin da izan zure beste informazio pertsonalaren antzekoa."
msgid "This password is too common."
msgstr "Pasahitz hau arruntegia da."
msgid "Your password can't be a commonly used password."
msgstr "Zure pasahitza ezin da izan normalean erabiltzen den pasahitza."
msgid "This password is entirely numeric."
msgstr "Zure pasahitza osorik zenbakizkoa da."
msgid "Your password can't be entirely numeric."
msgstr "Zure pasahitza ezin da izan osorik zenbakizkoa."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Pasahitza berrezarri %(site_name)s webgunean"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Idatzi baleko erabiltzaile izen bat. Eremu honetan hizki, zenbaki eta @/./"
"+/-/_ karaktereak bakarrik erabili daitezke."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Idatzi baleko erabiltzaile izen bat. Eremu honetan hizki, zenbaki eta @/./"
"+/-/_ karaktereak bakarrik erabili daitezke."
msgid "Logged out"
msgstr "Sesiotik kanpo"
msgid "Password reset"
msgstr "Pasahitz-berrezartzea"
msgid "Password reset sent"
msgstr "Pasahitz-berrezartzea bidalita"
msgid "Enter new password"
msgstr "Idatzi pasahitz berria"
msgid "Password reset unsuccessful"
msgstr "Pasahitza ez da ondo berrezarri"
msgid "Password reset complete"
msgstr "Pasahitz-berrezartzea burututa"
msgid "Password change"
msgstr "Pasahitz-aldaketa"
msgid "Password change successful"
msgstr "Pasahitza ondo aldatu da"

View File

@ -0,0 +1,313 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Ahmad Hosseini <ahmadly.com@gmail.com>, 2020
# Ali Nikneshan <ali@nikneshan.com>, 2015
# Eric Hamiter <ehamiter@gmail.com>, 2013
# Farshad Asadpour, 2021
# Jannis Leidel <jannis@leidel.info>, 2011
# cef32bddc4c7e18de7e89af20a3a57ef_18bb97f, 2015
# MJafar Mashhadi <raindigital2007@gmail.com>, 2018
# Pouya Abbassi, 2016
# Reza Mohammadi <reza@teeleh.ir>, 2013-2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2021-11-19 17:35+0000\n"
"Last-Translator: Farshad Asadpour\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 "Personal info"
msgstr "اطلاعات شخصی"
msgid "Permissions"
msgstr "اجازه‌ها"
msgid "Important dates"
msgstr "تاریخ‌های مهم"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "شیء %(name)s با کلید اصلی %(key)r وجود ندارد."
msgid "Password changed successfully."
msgstr "گذرواژه با موفقیت تغییر یافت."
#, python-format
msgid "Change password: %s"
msgstr "تغییر گذرواژه: %s"
msgid "Authentication and Authorization"
msgstr "بررسی اصالت و اجازه‌ها"
msgid "password"
msgstr "گذرواژه"
msgid "last login"
msgstr "آخرین ورود"
msgid "No password set."
msgstr "هیچ رمزی انتخاب نشده است."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "رمز نامعتبر یا الگوریتم رمزنگاری ناشناس"
msgid "The two password fields didnt match."
msgstr "دو فیلد گذرواژه با هم مطابقت ندارند."
msgid "Password"
msgstr "گذرواژه"
msgid "Password confirmation"
msgstr "تأیید گذرواژه"
msgid "Enter the same password as before, for verification."
msgstr "برای تائید، رمز عبور قبلی را وارد کنید."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"گذرواژه‌ها به صورت خام نگهداری نمی‌شوند لذا راهی برای مشاهدهٔ گذرواژهٔ این کاربر "
"وجود ندارد، اما می‌توانید آن را با <a href=\"{}\">این فرم</a> تغییر دهید."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"لطفا %(username)s و گذرواژه‌ای قابل قبول وارد کنید.\n"
"توجه داشته باشید که ممکن است هر دو به کوچکی و بزرگی حروف حساس باشند."
msgid "This account is inactive."
msgstr "این حساب غیر فعال است."
msgid "Email"
msgstr "ایمیل"
msgid "New password"
msgstr "گذرواژهٔ جدید"
msgid "New password confirmation"
msgstr "تأیید گذرواژهٔ جدید"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "گذرواژهٔ قدیمی‌تان اشتباه وارد شد. لطفاً دوباره وارد کنید."
msgid "Old password"
msgstr "گذرواژهٔ قدیمی"
msgid "Password (again)"
msgstr "گذرواژه (تکرار)"
msgid "algorithm"
msgstr "الگوریتم"
msgid "iterations"
msgstr "تکرار"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "تنوع"
msgid "version"
msgstr "نسخه"
msgid "memory cost"
msgstr "هزینه‌ی حافظه"
msgid "time cost"
msgstr "هزینه‌ی زمان"
msgid "parallelism"
msgstr "موازات"
msgid "work factor"
msgstr "عامل کار"
msgid "checksum"
msgstr "جمع کنترلی"
msgid "block size"
msgstr "اندازه بلاک"
msgid "name"
msgstr "نام"
msgid "content type"
msgstr "نوع محتوی"
msgid "codename"
msgstr "نام کد"
msgid "permission"
msgstr "اجازه"
msgid "permissions"
msgstr "اجازه‌ها"
msgid "group"
msgstr "گروه"
msgid "groups"
msgstr "گروه‌ها"
msgid "superuser status"
msgstr "ابرکاربر"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"نشان می‌دهد که این کاربر همهٔ اجازه‌ها را دارد بدون آنکه به صراحت به او اختصاص "
"داده شده باشد."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"گروه‌هایی که این کاربر به آنها تعلق دارد. کاربر تمام اجازه‌های مرتبط با این "
"گروه‌ها را دریافت خواهد کرد."
msgid "user permissions"
msgstr "اجازه‌های کاربر"
msgid "Specific permissions for this user."
msgstr "اجازه‌های خاص این کاربر."
msgid "username"
msgstr "نام کاربری"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "الزامی. 150 کاراکتر یا کمتر. فقط شامل حروف، اعداد، و علامات @/./+/-/_"
msgid "A user with that username already exists."
msgstr "کاربری با آن نام کاربری وجود دارد."
msgid "first name"
msgstr "نام"
msgid "last name"
msgstr "نام خانوادگی"
msgid "email address"
msgstr "آدرس ایمیل"
msgid "staff status"
msgstr "وضعیت کارمندی"
msgid "Designates whether the user can log into this admin site."
msgstr "نشان می‌دهد که آیا این کاربر می‌تواند وارد این وبگاه مدیریت شود یا خیر."
msgid "active"
msgstr "فعال"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"نشان می‌دهد که آیا این کاربر اجازهٔ فعالیت دارد یا خیر. به جای حذف کاربر این "
"تیک را بردارید."
msgid "date joined"
msgstr "تاریخ پیوستن"
msgid "user"
msgstr "کاربر"
msgid "users"
msgstr "کاربرها"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"این رمز عبور خیلی کوتاه است. رمز عبور می‌بایست حداقل از %(min_length)d حرف "
"تشکیل شده باشد."
msgstr[1] ""
"این رمز عبور خیلی کوتاه است. رمز عبور می‌بایست حداقل از %(min_length)d حرف "
"تشکیل شده باشد."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "رمز عبور شما می‌بایست حداقل از %(min_length)d حرف تشکیل شده باشد."
msgstr[1] "رمز عبور شما می‌بایست حداقل از %(min_length)d حرف تشکیل شده باشد."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "این رمز عبور بسیار شبیه %(verbose_name)s می‌باشد."
msgid "Your password cant be too similar to your other personal information."
msgstr "گذرواژه شما نمی‌تواند شبیه سایر اطلاعات شخصی شما باشد."
msgid "This password is too common."
msgstr "این رمز عبور بسیار رایج است."
msgid "Your password cant be a commonly used password."
msgstr "گذرواژه شما نمی تواند یک گذرواژه معمول باشد."
msgid "This password is entirely numeric."
msgstr "رمز شما کلا عدد است"
msgid "Your password cant be entirely numeric."
msgstr "گذرواژه شما نمی تواند کلا عدد باشد"
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "بازیابی گذرواژه در %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"یک نام کاربری معتبر وارد کنید. این مقدار میتواند فقط شامل حروف الفبای "
"انگلیسی، اعداد، و علامات @/./+/-/_ باشد."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"یک نام کاربری معتبر وارد کنید. این مقدار میتواند فقط شامل حروف، اعداد، و "
"علامات @/./+/-/_ باشد."
msgid "Logged out"
msgstr "خارج شدید"
msgid "Password reset"
msgstr "ایجاد گذرواژهٔ جدید"
msgid "Password reset sent"
msgstr "تقاضای ریست رمز فرستاده شد"
msgid "Enter new password"
msgstr "ورود گذرواژهٔ جدید"
msgid "Password reset unsuccessful"
msgstr "گذرواژهٔ جدید ایجاد نشد."
msgid "Password reset complete"
msgstr "گذرواژهٔ جدید ایجاد شد"
msgid "Password change"
msgstr "تغییر گذرواژه"
msgid "Password change successful"
msgstr "گذرواژه تغییر یافت."

View File

@ -0,0 +1,309 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Aarni Koskela, 2015,2017-2018,2020-2021
# Antti Kaihola <antti.15+transifex@kaihola.fi>, 2011
# Jannis Leidel <jannis@leidel.info>, 2011
# Klaus Dahlén <klaus.dahlen@gmail.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2021-11-22 15:17+0000\n"
"Last-Translator: Aarni Koskela\n"
"Language-Team: Finnish (http://www.transifex.com/django/django/language/"
"fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Henkilökohtaiset tiedot"
msgid "Permissions"
msgstr "Oikeudet"
msgid "Important dates"
msgstr "Tärkeät päivämäärät"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s perusavaimella %(key)r ei ole olemassa."
msgid "Password changed successfully."
msgstr "Salasana muutettu onnistuneesti."
#, python-format
msgid "Change password: %s"
msgstr "Vaihda salasana: %s"
msgid "Authentication and Authorization"
msgstr "Kirjautuminen ja oikeudet"
msgid "password"
msgstr "salasana"
msgid "last login"
msgstr "viimeisin kirjautuminen"
msgid "No password set."
msgstr "Salasanaa ei ole asetettu."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Tuntematon salasanamuoto tai tuntematon hajakoodausalgoritmi."
msgid "The two password fields didnt match."
msgstr "Salasanakentät eivät täsmänneet."
msgid "Password"
msgstr "Salasana"
msgid "Password confirmation"
msgstr "Salasanan vahvistaminen"
msgid "Enter the same password as before, for verification."
msgstr "Syötä sama salasana tarkistuksen vuoksi toistamiseen."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Salasanoja ei tallenneta selkokielisinä, joten tämän käyttäjän salasanaa on "
"mahdoton nähdä, mutta voit vaihtaa salasanan käyttämällä <a href=\"{}\">tätä "
"lomaketta</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Ole hyvä ja syötä kelvollinen %(username)s ja salasana. Huomaa että "
"kummassakin kentässä isoilla ja pienillä kirjaimilla saattaa olla merkitystä."
msgid "This account is inactive."
msgstr "Tämä käyttäjätili ei ole voimassa."
msgid "Email"
msgstr "Sähköposti"
msgid "New password"
msgstr "Uusi salasana"
msgid "New password confirmation"
msgstr "Uusi salasana uudelleen"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Vanha salasana on virheellinen. Yritä uudelleen."
msgid "Old password"
msgstr "Vanha salasana"
msgid "Password (again)"
msgstr "Salasana toistamiseen"
msgid "algorithm"
msgstr "algoritmi"
msgid "iterations"
msgstr "iteraatioita"
msgid "salt"
msgstr "suola"
msgid "hash"
msgstr "tiiviste"
msgid "variety"
msgstr "variaatio"
msgid "version"
msgstr "versio"
msgid "memory cost"
msgstr "muistihinta"
msgid "time cost"
msgstr "aikahinta"
msgid "parallelism"
msgstr "rinnakkaisuus"
msgid "work factor"
msgstr "työmäärä"
msgid "checksum"
msgstr "tarkistussumma"
msgid "block size"
msgstr "lohkokoko"
msgid "name"
msgstr "nimi"
msgid "content type"
msgstr "sisältötyyppi"
msgid "codename"
msgstr "tunniste"
msgid "permission"
msgstr "oikeus"
msgid "permissions"
msgstr "oikeudet"
msgid "group"
msgstr "ryhmä"
msgid "groups"
msgstr "ryhmät"
msgid "superuser status"
msgstr "pääkäyttäjä"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Antaa käyttäjälle kaikki oikeudet ilman, että niitä täytyy erikseen luetella."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Käyttäjäryhmät joihin tämä käyttäjä kuuluu. Käyttäjä saa käyttöoikeudet "
"kaikista käyttäjäryhmistä, joihin hän kuuluu."
msgid "user permissions"
msgstr "käyttäjän oikeudet"
msgid "Specific permissions for this user."
msgstr "Tämän käyttäjän spesifit oikeudet."
msgid "username"
msgstr "käyttäjätunnus"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Vaaditaan. Enintään 150 merkkiä. Vain kirjaimet, numerot ja @/./+/-/_ ovat "
"sallittuja."
msgid "A user with that username already exists."
msgstr "Käyttäjätunnus on jo rekisteröity."
msgid "first name"
msgstr "etunimi"
msgid "last name"
msgstr "sukunimi"
msgid "email address"
msgstr "sähköpostiosoite"
msgid "staff status"
msgstr "ylläpitäjä"
msgid "Designates whether the user can log into this admin site."
msgstr "Määrittää, pääseekö käyttäjä tähän sivuston ylläpito-osioon."
msgid "active"
msgstr "voimassa"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Määrää, voiko käyttäjä kirjautua sisään. Tällä voi estää käyttäjätilin "
"käytön poistamatta sitä."
msgid "date joined"
msgstr "liittynyt"
msgid "user"
msgstr "käyttäjä"
msgid "users"
msgstr "käyttäjät"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Tämä salasana on liian lyhyt. Sen tulee sisältää ainakin %(min_length)d "
"merkki."
msgstr[1] ""
"Tämä salasana on liian lyhyt. Sen tulee sisältää ainakin %(min_length)d "
"merkkiä."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Salasanasi tulee sisältää ainakin %(min_length)d merkki."
msgstr[1] "Salasanasi tulee sisältää ainakin %(min_length)d merkkiä."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Salasana on liian lähellä kohdetta %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "Salasanasi ei voi olla liian samankaltainen muiden tietojesi kanssa."
msgid "This password is too common."
msgstr "Tämä salasana on liian yleinen."
msgid "Your password cant be a commonly used password."
msgstr "Salasanasi ei voi olla yleisesti käytetty salasana."
msgid "This password is entirely numeric."
msgstr "Tämä salasana on kokonaan numeerinen."
msgid "Your password cant be entirely numeric."
msgstr "Salasanasi ei voi olla kokonaan numeerinen."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Salasanan nollaus sivustolla %(site_name)s "
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Syötä kelvollinen käyttäjänimi (vain englannin kirjaimet, numerot ja merkit "
"@/./+/-/_)."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Syötä kelvollinen käyttäjänimi (vain kirjaimet, numerot ja merkit @/./+/-/_)."
msgid "Logged out"
msgstr "Kirjautunut ulos"
msgid "Password reset"
msgstr "Salasanan nollaus"
msgid "Password reset sent"
msgstr "Salasanan nollausviesti lähetetty"
msgid "Enter new password"
msgstr "Syötä uusi salasana"
msgid "Password reset unsuccessful"
msgstr "Salasanan nollaus ei onnistunut"
msgid "Password reset complete"
msgstr "Salasanan nollaus valmis"
msgid "Password change"
msgstr "Salasanan vaihtaminen"
msgid "Password change successful"
msgstr "Salasanan vaihtaminen onnistui"

View File

@ -0,0 +1,323 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Claude Paroz <claude@2xlibre.net>, 2013-2019,2021,2023
# Claude Paroz <claude@2xlibre.net>, 2013
# Jannis Leidel <jannis@leidel.info>, 2011
# mlorant <maxime.lorant@gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-17 03:19-0500\n"
"PO-Revision-Date: 2023-04-25 08:09+0000\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>, 2013-2019,2021,2023\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 "Personal info"
msgstr "Informations personnelles"
msgid "Permissions"
msgstr "Permissions"
msgid "Important dates"
msgstr "Dates importantes"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "L'objet %(name)s avec la clef primaire %(key)r nexiste pas."
msgid "Password changed successfully."
msgstr "Mot de passe modifié avec succès"
#, python-format
msgid "Change password: %s"
msgstr "Modifier le mot de passe : %s"
msgid "Authentication and Authorization"
msgstr "Authentification et autorisation"
msgid "password"
msgstr "mot de passe"
msgid "last login"
msgstr "dernière connexion"
msgid "No password set."
msgstr "Aucun mot de passe défini."
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
"Format de mot de passe non valide ou algorithme de hachage non reconnu."
msgid "The two password fields didnt match."
msgstr "Les deux mots de passe ne correspondent pas."
msgid "Password"
msgstr "Mot de passe"
msgid "Password confirmation"
msgstr "Confirmation du mot de passe"
msgid "Enter the same password as before, for verification."
msgstr "Saisissez le même mot de passe que précédemment, pour vérification."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Les mots de passe ne sont pas enregistrés en clair, ce qui ne permet pas "
"dafficher le mot de passe de cet utilisateur, mais il est possible de le "
"changer en utilisant <a href=\"{}\">ce formulaire</a>. "
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Saisissez un %(username)s et un mot de passe valides. Remarquez que chacun "
"de ces champs est sensible à la casse (différenciation des majuscules/"
"minuscules)."
msgid "This account is inactive."
msgstr "Ce compte est inactif."
msgid "Email"
msgstr "Courriel"
msgid "New password"
msgstr "Nouveau mot de passe"
msgid "New password confirmation"
msgstr "Confirmation du nouveau mot de passe"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Votre ancien mot de passe est incorrect. Veuillez le rectifier."
msgid "Old password"
msgstr "Ancien mot de passe"
msgid "Password (again)"
msgstr "Mot de passe (à nouveau)"
msgid "algorithm"
msgstr "algorithme"
msgid "iterations"
msgstr "itérations"
msgid "salt"
msgstr "salage"
msgid "hash"
msgstr "empreinte"
msgid "variety"
msgstr "variété"
msgid "version"
msgstr "version"
msgid "memory cost"
msgstr "coût mémoire"
msgid "time cost"
msgstr "coût temps"
msgid "parallelism"
msgstr "parallélisme"
msgid "work factor"
msgstr "facteur travail"
msgid "checksum"
msgstr "somme de contrôle"
msgid "block size"
msgstr "taille de bloc"
msgid "name"
msgstr "nom"
msgid "content type"
msgstr "type de contenu"
msgid "codename"
msgstr "nom de code"
msgid "permission"
msgstr "permission"
msgid "permissions"
msgstr "permissions"
msgid "group"
msgstr "groupe"
msgid "groups"
msgstr "groupes"
msgid "superuser status"
msgstr "statut super-utilisateur"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Précise que lutilisateur possède toutes les permissions sans les assigner "
"explicitement."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Les groupes dont fait partie cet utilisateur. Celui-ci obtient tous les "
"droits de tous les groupes auxquels il appartient."
msgid "user permissions"
msgstr "permissions de lutilisateur"
msgid "Specific permissions for this user."
msgstr "Permissions spécifiques à cet utilisateur."
msgid "username"
msgstr "nom dutilisateur"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Requis. 150 caractères maximum. Uniquement des lettres, nombres et les "
"caractères « @ », « . », « + », « - » et « _ »."
msgid "A user with that username already exists."
msgstr "Un utilisateur avec ce nom existe déjà."
msgid "first name"
msgstr "prénom"
msgid "last name"
msgstr "nom"
msgid "email address"
msgstr "adresse électronique"
msgid "staff status"
msgstr "statut équipe"
msgid "Designates whether the user can log into this admin site."
msgstr "Précise si lutilisateur peut se connecter à ce site d'administration."
msgid "active"
msgstr "actif"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Précise si lutilisateur doit être considéré comme actif. Décochez ceci "
"plutôt que de supprimer le compte."
msgid "date joined"
msgstr "date dinscription"
msgid "user"
msgstr "utilisateur"
msgid "users"
msgstr "utilisateurs"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Ce mot de passe est trop court. Il doit contenir au minimum %(min_length)d "
"caractère."
msgstr[1] ""
"Ce mot de passe est trop court. Il doit contenir au minimum %(min_length)d "
"caractères."
msgstr[2] ""
"Ce mot de passe est trop court. Il doit contenir au minimum %(min_length)d "
"caractères."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
"Votre mot de passe doit contenir au minimum %(min_length)d caractère."
msgstr[1] ""
"Votre mot de passe doit contenir au minimum %(min_length)d caractères."
msgstr[2] ""
"Votre mot de passe doit contenir au minimum %(min_length)d caractères."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Le mot de passe est trop semblable au champ « %(verbose_name)s »."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"Votre mot de passe ne peut pas trop ressembler à vos autres informations "
"personnelles."
msgid "This password is too common."
msgstr "Ce mot de passe est trop courant."
msgid "Your password cant be a commonly used password."
msgstr ""
"Votre mot de passe ne peut pas être un mot de passe couramment utilisé."
msgid "This password is entirely numeric."
msgstr "Ce mot de passe est entièrement numérique."
msgid "Your password cant be entirely numeric."
msgstr "Votre mot de passe ne peut pas être entièrement numérique."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Réinitialisation du mot de passe sur %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only unaccented lowercase a-z "
"and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
msgstr ""
"Saisissez un nom dutilisateur valide. Il ne peut contenir que des lettres "
"non accentuées (de a à z ou de A à Z), des nombres ou les caractères « @ », "
"« . », « + », « - » et « _ »."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Saisissez un nom dutilisateur valide. Il ne peut contenir que des lettres, "
"des nombres ou les caractères « @ », « . », « + », « - » et « _ »."
msgid "Logged out"
msgstr "Déconnecté"
msgid "Password reset"
msgstr "Réinitialisation du mot de passe"
msgid "Password reset sent"
msgstr "Message de réinitialisation du mot de passe envoyé"
msgid "Enter new password"
msgstr "Saisissez un nouveau mot de passe"
msgid "Password reset unsuccessful"
msgstr "Échec lors de la mise à jour du mot de passe"
msgid "Password reset complete"
msgstr "Mise à jour du mot de passe terminée"
msgid "Password change"
msgstr "Modification du mot de passe"
msgid "Password change successful"
msgstr "Mot de passe modifié avec succès"

View File

@ -0,0 +1,226 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-03-18 09:16+0100\n"
"PO-Revision-Date: 2015-03-18 10:30+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Western Frisian (http://www.transifex.com/projects/p/django/"
"language/fy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fy\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr ""
msgid "Permissions"
msgstr ""
msgid "Important dates"
msgstr ""
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
msgid "Password changed successfully."
msgstr ""
#, python-format
msgid "Change password: %s"
msgstr ""
msgid "Authentication and Authorization"
msgstr ""
msgid "No password set."
msgstr ""
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
msgid "The two password fields didn't match."
msgstr ""
msgid "Password"
msgstr ""
msgid "Password confirmation"
msgstr ""
msgid "Enter the same password as above, for verification."
msgstr ""
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"password/\">this "
"form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
msgid "This account is inactive."
msgstr ""
msgid "Email"
msgstr ""
msgid "New password"
msgstr ""
msgid "New password confirmation"
msgstr ""
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
msgid "Old password"
msgstr ""
msgid "Password (again)"
msgstr ""
msgid "algorithm"
msgstr ""
msgid "iterations"
msgstr ""
msgid "salt"
msgstr ""
msgid "hash"
msgstr ""
msgid "work factor"
msgstr ""
msgid "checksum"
msgstr ""
msgid "name"
msgstr ""
msgid "codename"
msgstr ""
msgid "permission"
msgstr ""
msgid "permissions"
msgstr ""
msgid "group"
msgstr ""
msgid "groups"
msgstr ""
msgid "password"
msgstr ""
msgid "last login"
msgstr ""
msgid "superuser status"
msgstr ""
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
msgid "user permissions"
msgstr ""
msgid "Specific permissions for this user."
msgstr ""
msgid "username"
msgstr ""
msgid "Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers and @/./"
"+/-/_ characters."
msgstr ""
msgid "A user with that username already exists."
msgstr ""
msgid "first name"
msgstr ""
msgid "last name"
msgstr ""
msgid "email address"
msgstr ""
msgid "staff status"
msgstr ""
msgid "Designates whether the user can log into this admin site."
msgstr ""
msgid "active"
msgstr ""
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
msgid "date joined"
msgstr ""
msgid "user"
msgstr ""
msgid "users"
msgstr ""
#, python-format
msgid "Password reset on %(site_name)s"
msgstr ""
msgid "Logged out"
msgstr ""
msgid "Password reset"
msgstr ""
msgid "Password reset sent"
msgstr ""
msgid "Enter new password"
msgstr ""
msgid "Password reset unsuccessful"
msgstr ""
msgid "Password reset complete"
msgstr ""
msgid "Password change"
msgstr ""
msgid "Password change successful"
msgstr ""

View File

@ -0,0 +1,298 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Jannis Leidel <jannis@leidel.info>, 2011
# Michael Thornhill <michael@maithu.com>, 2012,2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Irish (http://www.transifex.com/django/django/language/ga/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ga\n"
"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
"4);\n"
msgid "Personal info"
msgstr "Eolas pearsantach"
msgid "Permissions"
msgstr "Ceada"
msgid "Important dates"
msgstr "Dáta tábhactach"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
msgid "Password changed successfully."
msgstr "Focal faire aithraithe rathúil"
#, python-format
msgid "Change password: %s"
msgstr "Athraigh focal faire: %s"
msgid "Authentication and Authorization"
msgstr ""
msgid "password"
msgstr "focal faire"
msgid "last login"
msgstr "logáil deirneach"
msgid "No password set."
msgstr ""
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
msgid "The two password fields didn't match."
msgstr "Níl an dá focla faire comhoiriúnigh"
msgid "Password"
msgstr "Focal faire"
msgid "Password confirmation"
msgstr "Focal faire deimhniú"
msgid "Enter the same password as before, for verification."
msgstr ""
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
msgid "This account is inactive."
msgstr "Tá an cuntas seo neamhghníomhach."
msgid "Email"
msgstr "Ríomhphost"
msgid "New password"
msgstr "Focal faire nua"
msgid "New password confirmation"
msgstr "Deimnhiú focal faire nua"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"Cuireadh do sean-focal faire isteach go mícheart. Iontráil isteach é arís."
msgid "Old password"
msgstr "Sean-focal faire "
msgid "Password (again)"
msgstr "Focal faire (arís)"
msgid "algorithm"
msgstr "algartam"
msgid "iterations"
msgstr "atriallta"
msgid "salt"
msgstr "salann"
msgid "hash"
msgstr "haiseáil"
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr "fachtóir oibre"
msgid "checksum"
msgstr "suim sheiceála"
msgid "name"
msgstr "ainm"
msgid "content type"
msgstr ""
msgid "codename"
msgstr "Ainm cód"
msgid "permission"
msgstr "cead"
msgid "permissions"
msgstr "ceada"
msgid "group"
msgstr "grúpa"
msgid "groups"
msgstr "grúpa"
msgid "superuser status"
msgstr "stádas forúsáideoir"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Sainíonn go bhfuil gach ceada ag an úsáideoir seo gan iad a cur le go "
"díreach."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
msgid "user permissions"
msgstr "ceada úsáideoira"
msgid "Specific permissions for this user."
msgstr ""
msgid "username"
msgstr "Ainm úsáideoir"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "In ann do úsáideoir leis an ainm úsáideora."
msgid "first name"
msgstr "ainm baiste"
msgid "last name"
msgstr "sloinne"
msgid "email address"
msgstr "seoladh r-phoist"
msgid "staff status"
msgstr "stádas foirne"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Sainigh an bhfuil cead ag an úsáideoir logáil isteach go dtí an suíomh "
"riaracháin seo."
msgid "active"
msgstr "gníomhach"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Sainíonn an bhfuil an úsáideoir gníomhach. Míroghnaigh seo in aineonn de "
"scriseadh cuntasí."
msgid "date joined"
msgstr "Dáta teacht isteach"
msgid "user"
msgstr "úsáideoir"
msgid "users"
msgstr "úsáideora"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
msgid "Your password can't be too similar to your other personal information."
msgstr ""
msgid "This password is too common."
msgstr ""
msgid "Your password can't be a commonly used password."
msgstr ""
msgid "This password is entirely numeric."
msgstr ""
msgid "Your password can't be entirely numeric."
msgstr ""
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Athshocraigh focal faire ar %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "Logáilte amach"
msgid "Password reset"
msgstr "Pasfhocal athshocrú"
msgid "Password reset sent"
msgstr "Pasfhocal athshocrú sheoladh"
msgid "Enter new password"
msgstr ""
msgid "Password reset unsuccessful"
msgstr ""
msgid "Password reset complete"
msgstr ""
msgid "Password change"
msgstr ""
msgid "Password change successful"
msgstr ""

View File

@ -0,0 +1,337 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# GunChleoc, 2015-2017,2021
# GunChleoc, 2015
# GunChleoc, 2015
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2021-10-27 12:55+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 "Personal info"
msgstr "Fiosrachadh pearsanta"
msgid "Permissions"
msgstr "Ceadan"
msgid "Important dates"
msgstr "Cinn-là chudromach"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Chan eil oibseact %(name)s air a bheil prìomh-iuchair %(key)r ann."
msgid "Password changed successfully."
msgstr "Chaidh am facal-faire atharrachadh gu soirbheachail."
#, python-format
msgid "Change password: %s"
msgstr "Atharraich am facal-faire: %s"
msgid "Authentication and Authorization"
msgstr "Dearbhadh is ùghdarrachadh"
msgid "password"
msgstr "facal-faire"
msgid "last login"
msgstr "an clàradh a-steach mu dheireadh"
msgid "No password set."
msgstr "Cha deach facal-faire a shuidheachadh."
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
"Tha fòrmat mì-dhligheach air an fhacal-fhaire no chan aithne dhuinn algairim "
"a hais."
msgid "The two password fields didnt match."
msgstr "Cha robh an dà fhacal-faire co-ionnann."
msgid "Password"
msgstr "Facal-faire"
msgid "Password confirmation"
msgstr "Dearbhadh an fhacail-fhaire"
msgid "Enter the same password as before, for verification."
msgstr "Cuir an t-aon fhacal-faire a-steach a-rithist gus a dhearbhadh."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Cha dèid faclan-faire amh a shàbhaladh s mar sin chan eil dòigh ann gus "
"facal-faire a chleachdaiche seo a shealltainn. S urrainn dhut am facal-"
"faire atharrachadh co-dhiù leis <a href=\"{}\">an fhoirm seo</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Cuir a-steach %(username)s agus facal-faire ceart. Thoir an aire gum bi aire "
"do litrichean mòra s beaga air an dà raon, ma dhfhaoidte."
msgid "This account is inactive."
msgstr "Chan eil an cunntas seo gnìomhach."
msgid "Email"
msgstr "Post-d"
msgid "New password"
msgstr "Facal-faire ùr"
msgid "New password confirmation"
msgstr "Dearbhadh an fhacail-fhaire ùir"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr ""
"Cha do chuir thu an seann fhacal-faire a-steach mar bu chòir. Cuir a-steach "
"e a-rithist."
msgid "Old password"
msgstr "An seann fhacal-faire"
msgid "Password (again)"
msgstr "Facal-faire (a-rithist)"
msgid "algorithm"
msgstr "algairim"
msgid "iterations"
msgstr "ath-thriallan"
msgid "salt"
msgstr "salann"
msgid "hash"
msgstr "hais"
msgid "variety"
msgstr "eug-samhail"
msgid "version"
msgstr "tionndadh"
msgid "memory cost"
msgstr "cosgais cuimhne"
msgid "time cost"
msgstr "cosgais ùine"
msgid "parallelism"
msgstr "co-shìneadh"
msgid "work factor"
msgstr "factar obrachaidh"
msgid "checksum"
msgstr "àireamh dhearbhaidh"
msgid "block size"
msgstr "meud nam blocaichean"
msgid "name"
msgstr "ainm"
msgid "content type"
msgstr "seòrsa susbainte"
msgid "codename"
msgstr "ainm-còd"
msgid "permission"
msgstr "cead"
msgid "permissions"
msgstr "ceadan"
msgid "group"
msgstr "buidheann"
msgid "groups"
msgstr "buidhnean"
msgid "superuser status"
msgstr "staid superuser"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Iomruinidh seo gu bheil a h-uile aig a chleachdaiche seo gun a bhith gan "
"iomruineadh fa leth."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Am buidheann ris a bhuineas an cleachdaiche seo. Gheibh cleachdaiche a h-"
"uile cead a chaidh a thoirt dha ghin dhe na buidhnean aige."
msgid "user permissions"
msgstr "ceadan a chleachdaiche"
msgid "Specific permissions for this user."
msgstr "Ceadan sònraichte airson a chleachdaiche seo."
msgid "username"
msgstr "ainm-cleachdaiche"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Riatanach. 150 caractar air a char as motha. Litrichean, àireamhan agus @/./"
"+/-/_ a-mhàin."
msgid "A user with that username already exists."
msgstr "Tha cleachdaiche air a bheil an t-ainm-cleachdaiche seo ann mar-tha."
msgid "first name"
msgstr "ainm"
msgid "last name"
msgstr "sloinneadh"
msgid "email address"
msgstr "seòladh puist-d"
msgid "staff status"
msgstr "inbhe luchd-obrach"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Iomruinidh seo an urrainn dhan chleachdaiche seo clàradh a-steach gu làrach "
"nan rianairean gus nach urrainn."
msgid "active"
msgstr "staid ghnìomhach"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Iomruinidh seo an dèid dèiligeadh ris a cleachdaiche seo mar fhear "
"gnìomhach gus nach dèid. Neo-thagh seo seach an cunntas a sguabadh às."
msgid "date joined"
msgstr "fhuair e ballrachd"
msgid "user"
msgstr "cleachdaiche"
msgid "users"
msgstr "cleachdaichean"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Tha am facal-faire seo ro ghoirid. Feumaidh %(min_length)d charactar a bhith "
"ann air a char as lugha."
msgstr[1] ""
"Tha am facal-faire seo ro ghoirid. Feumaidh %(min_length)d charactar a bhith "
"ann air a char as lugha."
msgstr[2] ""
"Tha am facal-faire seo ro ghoirid. Feumaidh %(min_length)d caractaran a "
"bhith ann air a char as lugha."
msgstr[3] ""
"Tha am facal-faire seo ro ghoirid. Feumaidh %(min_length)d caractar a bhith "
"ann air a char as lugha."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
"Feumaidh %(min_length)d charactar a bhith san fhacal-fhaire agad air a char "
"as lugha."
msgstr[1] ""
"Feumaidh %(min_length)d charactar a bhith san fhacal-fhaire agad air a char "
"as lugha."
msgstr[2] ""
"Feumaidh %(min_length)d caractaran a bhith san fhacal-fhaire agad air a char "
"as lugha."
msgstr[3] ""
"Feumaidh %(min_length)d caractar a bhith san fhacal-fhaire agad air a char "
"as lugha."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Tha am facal-faire agad ro choltach ri %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"Chan fhaod am facal-faire agad a bhith ro choltach ris an fhiosrachadh "
"phearsanta eile agad."
msgid "This password is too common."
msgstr "Tha am facal-faire seo ro chumanta."
msgid "Your password cant be a commonly used password."
msgstr ""
"Chan fhaod thu facal-faire a chleachdadh a chleachd mòran daoine mar-thà."
msgid "This password is entirely numeric."
msgstr "Chan eil ach àireamhan san fhacal-fhaire seo."
msgid "Your password cant be entirely numeric."
msgstr ""
"Feumaidh caractaran a bhith san fhacal-fhaire agad nach eil nan àireamhan."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Ath-shuidheachadh an fhacail-fhaire air %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Cuir a-steach ainm-cleachdaiche dligheach. Chan fhaod ach litrichean gun "
"sràcan, àireamhan is caractaran @/./+/-/_ a bhith na bhroinn."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Cuir a-steach ainm-cleachdaiche dligheach. Chan fhaod ach litrichean, "
"àireamhan is caractaran @/./+/-/_ a bhith na bhroinn."
msgid "Logged out"
msgstr "Air a clàradh a-mach"
msgid "Password reset"
msgstr "Ath-shuidheachadh an fhacail-fhaire"
msgid "Password reset sent"
msgstr "Chaidh ath-shuidheachadh an fhacail-fhaire a chur"
msgid "Enter new password"
msgstr "Cuir a-steach facal-faire ùr"
msgid "Password reset unsuccessful"
msgstr "Cha deach le ath-shuidheachadh an facail-faire"
msgid "Password reset complete"
msgstr "Tha ath-shuidheachadh an fhacail-fhaire deiseil"
msgid "Password change"
msgstr "Atharrachadh an facail-fhaire"
msgid "Password change successful"
msgstr "Chaidh am facal-faire atharrachadh gu soirbheachail"

View File

@ -0,0 +1,314 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# fasouto <fsoutomoure@gmail.com>, 2011
# fonso <fonzzo@gmail.com>, 2011,2013
# fasouto <fsoutomoure@gmail.com>, 2019
# Jannis Leidel <jannis@leidel.info>, 2011
# Leandro Regueiro <leandro.regueiro@gmail.com>, 2011,2013
# X Bello <xbello@gmail.com>, 2023
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-17 03:19-0500\n"
"PO-Revision-Date: 2023-04-25 08:09+0000\n"
"Last-Translator: X Bello <xbello@gmail.com>, 2023\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 "Personal info"
msgstr "Información persoal"
msgid "Permissions"
msgstr "Permisos"
msgid "Important dates"
msgstr "Datas importantes"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "O obxeto %(name)s ca clave primaria %(key)r non existe."
msgid "Password changed successfully."
msgstr "O contrasinal cambiouse correctamente."
#, python-format
msgid "Change password: %s"
msgstr "Cambiar o contrasinal: %s"
msgid "Authentication and Authorization"
msgstr "Autenticación e Autorización"
msgid "password"
msgstr "contrasinal"
msgid "last login"
msgstr "última sesión"
msgid "No password set."
msgstr "Non se configurou ningún contrasinal."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Formato de contrasinal non válido ou algoritmo de hash descoñecido."
msgid "The two password fields didnt match."
msgstr "Os dous campos de contrasinal non coinciden."
msgid "Password"
msgstr "Contrasinal"
msgid "Password confirmation"
msgstr "Confirmación do contrasinal"
msgid "Enter the same password as before, for verification."
msgstr "Introduza o mesmo contrasinal que antes, para verificalo."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Non se gardan os contrasinais sen cifrar, de maneira que non se pode ver o "
"contrasinal deste usuario, pero pode modificar o contrasinal mediante <a "
"href=\"{}\">este formulario</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Por favor, insira un %(username)s e contrasinal correctos. Teña en conta que "
"ambos os dous campos poden distinguir maiúsculas e minúsculas."
msgid "This account is inactive."
msgstr "Esta conta está inactiva."
msgid "Email"
msgstr "Correo electrónico"
msgid "New password"
msgstr "Novo contrasinal"
msgid "New password confirmation"
msgstr "Confirmación do novo contrasinal"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Inseriu incorrectamente o seu contrasinal actual. Insírao de novo."
msgid "Old password"
msgstr "Contrasinal antigo"
msgid "Password (again)"
msgstr "Contrasinal (outra vez)"
msgid "algorithm"
msgstr "algoritmo"
msgid "iterations"
msgstr "iteracións"
msgid "salt"
msgstr "sal"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "variedade"
msgid "version"
msgstr "versión"
msgid "memory cost"
msgstr "custo de memoria"
msgid "time cost"
msgstr "coste temporal"
msgid "parallelism"
msgstr "paralelismo"
msgid "work factor"
msgstr "factor de traballo"
msgid "checksum"
msgstr "suma de verificación"
msgid "block size"
msgstr "tamaño de bloque"
msgid "name"
msgstr "nome"
msgid "content type"
msgstr "tipo de contido"
msgid "codename"
msgstr "código"
msgid "permission"
msgstr "permiso"
msgid "permissions"
msgstr "permisos"
msgid "group"
msgstr "grupo"
msgid "groups"
msgstr "grupos"
msgid "superuser status"
msgstr "estatus de superusuario"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Indica que este usuario ten todos os permisos sen asignarllos explicitamente."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Os grupos ós que pertence este usuario. Un usuario terá todos os permisos "
"outorgados a cada un dos seus grupos."
msgid "user permissions"
msgstr "permisos de usuario"
msgid "Specific permissions for this user."
msgstr "Permisos específicos para este usuario"
msgid "username"
msgstr "nome de usuario"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Requerido. 150 caracteres ou menos. So letras, díxitos e @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Xa existe un usuario con ese nome de usuario."
msgid "first name"
msgstr "nome"
msgid "last name"
msgstr "apelidos"
msgid "email address"
msgstr "enderezo de correo electrónico"
msgid "staff status"
msgstr "membro do persoal"
msgid "Designates whether the user can log into this admin site."
msgstr "Indica se o usuario pode acceder a este sitio de administración."
msgid "active"
msgstr "activo"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Determina se este usuario se debe considerar activo. Deseleccione isto en "
"vez de borrar contas de usuario."
msgid "date joined"
msgstr "data de rexistro"
msgid "user"
msgstr "usuario"
msgid "users"
msgstr "usuarios"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Este contrasinal é moi curto. Ten que conter polo menos %(min_length)d "
"caracter."
msgstr[1] ""
"Este contrasinal é moi curto. Ten que conter polo menos %(min_length)d "
"caracteres."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
"O seu contrasinal ten que conter polo menos %(min_length)d caracter."
msgstr[1] ""
"O seu contrasinal ten que conter polo menos %(min_length)d caracteres."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "O contrasinal parécese demasiado a %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"O seu contrasinal non pode ser tan semellante ó resto da información persal."
msgid "This password is too common."
msgstr "Este contrasinal é moi común."
msgid "Your password cant be a commonly used password."
msgstr "O seu contrasinal non pode ser un contrasinal de uso habitual."
msgid "This password is entirely numeric."
msgstr "Este constrasinal só ten números."
msgid "Your password cant be entirely numeric."
msgstr "O seu contrasinal non pode ser únicamente numérico."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Cambio de contrasinal en %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only unaccented lowercase a-z "
"and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
msgstr ""
"Introduza un nome de usuario válido. Este valor so pode conter letras sen "
"acentos minúsculas do a ó z e maíusculas do A ó Z, números e os caracteres "
"@/./+/-/_."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Introduza un nome de usuario válido. Este valor pode conter so letras, "
"números e os caracteres @/./+/-/_."
msgid "Logged out"
msgstr "Rematou a sesión"
msgid "Password reset"
msgstr "Recuperar o contrasinal"
msgid "Password reset sent"
msgstr "Enviada recuperación de contrasinal"
msgid "Enter new password"
msgstr "Introduza novo contrasinal"
msgid "Password reset unsuccessful"
msgstr "Fallóu a recuperación do contrasinal"
msgid "Password reset complete"
msgstr "Completouse a recuperación do contrasinal"
msgid "Password change"
msgstr "Cambio de contrasinal"
msgid "Password change successful"
msgstr "O contrasinal cambiouse correctamente"

View File

@ -0,0 +1,303 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Alex Gaynor <inactive+Alex@transifex.com>, 2011-2012
# Jannis Leidel <jannis@leidel.info>, 2011
# Meir Kriheli <mkriheli@gmail.com>, 2012-2015,2017,2019
# אורי רודברג <uri@speedy.net>, 2020
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-08 17:27+0200\n"
"PO-Revision-Date: 2020-01-19 11:14+0000\n"
"Last-Translator: אורי רודברג <uri@speedy.net>\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 "Personal info"
msgstr "מידע אישי"
msgid "Permissions"
msgstr "הרשאות"
msgid "Important dates"
msgstr "תאריכים חשובים"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "הפריט %(name)s עם המפתח הראשי %(key)r אינו קיים."
msgid "Password changed successfully."
msgstr "הסיסמה שונתה בהצלחה."
#, python-format
msgid "Change password: %s"
msgstr "שינוי סיסמה: %s"
msgid "Authentication and Authorization"
msgstr "אימות והרשאות"
msgid "password"
msgstr "סיסמה"
msgid "last login"
msgstr "כניסה אחרונה"
msgid "No password set."
msgstr "לא נקבעה סיסמה."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "תחביר סיסמה בלתי-חוקי או אלגוריתם גיבוב לא ידוע."
msgid "The two password fields didnt match."
msgstr "שני שדות הסיסמה אינם זהים."
msgid "Password"
msgstr "סיסמה"
msgid "Password confirmation"
msgstr "אימות סיסמה"
msgid "Enter the same password as before, for verification."
msgstr "יש להזין את אותה סיסמה כמו קודם, לאימות."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"הסיסמאות אינן נשמרות באופן חשוף, כך שאין דרך לראות את סיסמת המשתמש, אבל ניתן "
"לשנות את הסיסמה בעזרת <a href=\"{}\">טופס זה</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"נא להזין %(username)s וסיסמה נכונים. נא לשים לב כי שני השדות רגישים לאותיות "
"גדולות/קטנות."
msgid "This account is inactive."
msgstr "חשבון זה אינו פעיל."
msgid "Email"
msgstr "דוא\"ל"
msgid "New password"
msgstr "סיסמה חדשה"
msgid "New password confirmation"
msgstr "אימות סיסמה חדשה"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "סיסמתך הישנה הוזנה בצורה שגויה. נא להזינה שוב."
msgid "Old password"
msgstr "סיסמה ישנה"
msgid "Password (again)"
msgstr "סיסמה (שוב)"
msgid "algorithm"
msgstr "אלגוריתם"
msgid "iterations"
msgstr "חזרות"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "גיבוב"
msgid "variety"
msgstr "מגוון"
msgid "version"
msgstr "גרסה"
msgid "memory cost"
msgstr "עלות זכרון"
msgid "time cost"
msgstr "עלות זמן"
msgid "parallelism"
msgstr "מקבילות"
msgid "work factor"
msgstr "work factor"
msgid "checksum"
msgstr "סיכום ביקורת"
msgid "name"
msgstr "שם"
msgid "content type"
msgstr "סוג תוכן"
msgid "codename"
msgstr "שם קוד"
msgid "permission"
msgstr "הרשאה"
msgid "permissions"
msgstr "הרשאות"
msgid "group"
msgstr "קבוצה"
msgid "groups"
msgstr "קבוצות"
msgid "superuser status"
msgstr "סטטוס משתמש על"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr "מציין שלמשתמש זה יש את כל ההרשאות ללא הצורך המפורש בהענקתן."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"הקבוצות שמשתמש זה שייך אליהן. משתמש יקבל את כל ההרשאות המוקצות לכל אחת "
"מהקבוצות שלו/שלה."
msgid "user permissions"
msgstr "הרשאות משתמש"
msgid "Specific permissions for this user."
msgstr "הרשאות ספציפיות למשתמש זה."
msgid "username"
msgstr "שם משתמש"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "שדה חובה. 150 תווים או פחות. אותיות, ספרות ו-@/./+/-/_ בלבד."
msgid "A user with that username already exists."
msgstr "משתמש עם שם משתמש זה קיים כבר"
msgid "first name"
msgstr "שם פרטי"
msgid "last name"
msgstr "שם משפחה"
msgid "email address"
msgstr "כתובת דוא\"ל"
msgid "staff status"
msgstr "סטטוס איש צוות"
msgid "Designates whether the user can log into this admin site."
msgstr "מציין האם המשתמש יכול להתחבר לאתר הניהול."
msgid "active"
msgstr "פעיל"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"מציין האם יש להתייחס למשתמש כפעיל. יש לבטל בחירה זו במקום למחוק חשבונות "
"משתמשים."
msgid "date joined"
msgstr "תאריך הצטרפות"
msgid "user"
msgstr "משתמש"
msgid "users"
msgstr "משתמשים"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] "סיסמה זו קצרה מדי. היא חייבת להכיל לפחות תו %(min_length)d."
msgstr[1] "סיסמה זו קצרה מדי. היא חייבת להכיל לפחות %(min_length)d תווים."
msgstr[2] "סיסמה זו קצרה מדי. היא חייבת להכיל לפחות %(min_length)d תווים."
msgstr[3] "סיסמה זו קצרה מדי. היא חייבת להכיל לפחות %(min_length)d תווים."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "הסיסמה שלך חייבת להכיל לפחות תו %(min_length)d."
msgstr[1] "הסיסמה שלך חייבת להכיל לפחות %(min_length)d תווים."
msgstr[2] "הסיסמה שלך חייבת להכיל לפחות %(min_length)d תווים."
msgstr[3] "הסיסמה שלך חייבת להכיל לפחות %(min_length)d תווים."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "סיסמה זו דומה מדי ל-%(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "הסיסמה שלך לא יכולה להיות דומה מדי למידע אישי אחר שלך."
msgid "This password is too common."
msgstr "סיסמה זו נפוצה מדי."
msgid "Your password cant be a commonly used password."
msgstr "הסיסמה שלך לא יכולה להיות סיסמה שכיחה."
msgid "This password is entirely numeric."
msgstr "סיסמה זו מכילה רק ספרות."
msgid "Your password cant be entirely numeric."
msgstr "הסיסמה שלך לא יכולה להכיל רק ספרות."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "החלפת הסיסמה ב-%(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"יש להזין שם משתמש חוקי. ערך זה יכול להכיל אותיות אנגליות, ספרות והתווים @/./"
"+/-/_ בלבד."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"יש להזין שם משתמש חוקי. ערך זה יכול להכיל אותיות, ספרות והתווים @/./+/-/_ "
"בלבד."
msgid "Logged out"
msgstr "יצאת מהמערכת"
msgid "Password reset"
msgstr "איפוס סיסמה"
msgid "Password reset sent"
msgstr "איפוס הסיסמה נשלח."
msgid "Enter new password"
msgstr "הזנת סיסמה חדשה"
msgid "Password reset unsuccessful"
msgstr "איפוס הסיסמה נכשל"
msgid "Password reset complete"
msgstr "איפוס הסיסמה הושלם"
msgid "Password change"
msgstr "שינוי סיסמה"
msgid "Password change successful"
msgstr "הסיסמה שונתה בהצלחה"

View File

@ -0,0 +1,290 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# alkuma <alok.kumar@gmail.com>, 2013
# Chandan kumar <chandankumar.093047@gmail.com>, 2012
# Jannis Leidel <jannis@leidel.info>, 2011
# Sandeep Satavlekar <sandysat@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Hindi (http://www.transifex.com/django/django/language/hi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "व्यक्तिगत सूचना"
msgid "Permissions"
msgstr "अनुमतियाँ"
msgid "Important dates"
msgstr "महत्त्वपूर्ण तिथियाँ"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr ""
msgid "Password changed successfully."
msgstr "शब्दकूट बदली कामयाब"
#, python-format
msgid "Change password: %s"
msgstr "शब्दकूट बदलें: %s"
msgid "Authentication and Authorization"
msgstr ""
msgid "password"
msgstr "शब्दकूट"
msgid "last login"
msgstr "पिछला लॉगिन"
msgid "No password set."
msgstr "कोई कूटशब्द नहीं।"
msgid "Invalid password format or unknown hashing algorithm."
msgstr "अवैध कूटशब्द प्रारूप या अज्ञात द्रुतान्वेषण कलन विधि"
msgid "The two password fields didn't match."
msgstr "यह दो शब्दकूट क्षेत्रों का मेल नहीं होता "
msgid "Password"
msgstr "कूटशब्द"
msgid "Password confirmation"
msgstr "कूटशब्द पुष्टि"
msgid "Enter the same password as before, for verification."
msgstr ""
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr "कृपया सही %(username)s व कूटशब्द भरें। भरते समय लघु और दीर्घ अक्षरों का ध्यान रखें।"
msgid "This account is inactive."
msgstr "यस खाता सुस्त है"
msgid "Email"
msgstr "डाक पता"
msgid "New password"
msgstr "नया शब्दकूट"
msgid "New password confirmation"
msgstr "नया शब्दकूट पुष्टि"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "आपने पुराना शब्दकूट गलत दर्ज किया है । कृपया फिर से दर्ज करें"
msgid "Old password"
msgstr "पुराना शब्दकूट"
msgid "Password (again)"
msgstr "शब्दकूट (दुबारा)"
msgid "algorithm"
msgstr "अलगोरिथम"
msgid "iterations"
msgstr "पुनरूक्तियाँ"
msgid "salt"
msgstr "साल्ट"
msgid "hash"
msgstr "हैश"
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr "कार्य फ़ैक्टर"
msgid "checksum"
msgstr "चेकसम"
msgid "name"
msgstr "नाम"
msgid "content type"
msgstr ""
msgid "codename"
msgstr "कोडनेम"
msgid "permission"
msgstr "अनुमति"
msgid "permissions"
msgstr "अनुमतियाँ"
msgid "group"
msgstr "वर्ग"
msgid "groups"
msgstr "वर्गों"
msgid "superuser status"
msgstr "सर्वोच्च प्रयोक्ता स्थिति"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"निर्दिष्ट करता है कि जो इस उपयोगकर्ता के पास सभी अनुमतियाँ उन्हें बिना बताए स्पष्ट रूप से "
"निर्धारित है."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
msgid "user permissions"
msgstr "प्रयोक्ता अनुमतियाँ"
msgid "Specific permissions for this user."
msgstr ""
msgid "username"
msgstr "प्रयोक्ता नाम"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "इस नाम के साथ प्रवोक्ता अस्तित्व है"
msgid "first name"
msgstr "पहला नाम"
msgid "last name"
msgstr "आखिरी नाम"
msgid "email address"
msgstr "डाक पता"
msgid "staff status"
msgstr "कर्मचारी स्थिति"
msgid "Designates whether the user can log into this admin site."
msgstr "तय करता हैं की उपयोगकर्ता इस साईट प्रशासन में प्रवेश कर सकता हैं या नहीं |"
msgid "active"
msgstr "सक्रिय"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"निर्दिष्ट करता है कि क्या इस उपयोगकर्ता को सक्रिय माना जाना चाहिए.खातों को हटाने की "
"बजाय इस अचयनित करे."
msgid "date joined"
msgstr "तिथि भरती"
msgid "user"
msgstr "उपभोक्ता"
msgid "users"
msgstr "उपभोक्ताऐं"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
msgstr[1] ""
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
msgstr[1] ""
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
msgid "Your password can't be too similar to your other personal information."
msgstr ""
msgid "This password is too common."
msgstr ""
msgid "Your password can't be a commonly used password."
msgstr ""
msgid "This password is entirely numeric."
msgstr ""
msgid "Your password can't be entirely numeric."
msgstr ""
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "%(site_name)s पर कूटशब्द को पुनःठीक करे"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "लाग्ड आउट "
msgid "Password reset"
msgstr ""
msgid "Password reset sent"
msgstr ""
msgid "Enter new password"
msgstr ""
msgid "Password reset unsuccessful"
msgstr ""
msgid "Password reset complete"
msgstr ""
msgid "Password change"
msgstr ""
msgid "Password change successful"
msgstr ""

View File

@ -0,0 +1,306 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Bojan Mihelač <bmihelac@mihelac.org>, 2012
# Davor Lučić <r.dav.lc@gmail.com>, 2012
# Jannis Leidel <jannis@leidel.info>, 2011
# Mislav Cimperšak <mislav.cimpersak@gmail.com>, 2013,2015
# Nino <ninonandroid@gmail.com>, 2013
# senko <senko.rasic@dobarkod.hr>, 2012
# zmasek <zlatko.masek@gmail.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2017-09-24 14:24+0000\n"
"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
"Language-Team: Croatian (http://www.transifex.com/django/django/language/"
"hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
msgid "Personal info"
msgstr "Osobni podaci"
msgid "Permissions"
msgstr "Privilegije"
msgid "Important dates"
msgstr "Važni datumi"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Unos %(name)s sa primarnim ključem %(key)r ne postoji."
msgid "Password changed successfully."
msgstr "Lozinka uspješno promijenjena."
#, python-format
msgid "Change password: %s"
msgstr "Promijeni lozinku: %s"
msgid "Authentication and Authorization"
msgstr ""
msgid "password"
msgstr "lozinka"
msgid "last login"
msgstr "posljednja prijava"
msgid "No password set."
msgstr "Lozinka nije postavljena."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Neispravan format lozinke ili nepoznati hashing algoritam."
msgid "The two password fields didn't match."
msgstr "Dva polja za lozinku nisu jednaka."
msgid "Password"
msgstr "Lozinka"
msgid "Password confirmation"
msgstr "Potvrda lozinke"
msgid "Enter the same password as before, for verification."
msgstr "Unesite istu lozinku, za potvrdu."
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Unesite ispravno %(username)s i lozinku. Imajte na umu da oba polja mogu "
"biti velika i mala slova."
msgid "This account is inactive."
msgstr "Ovaj korisnički račun nije aktivan."
msgid "Email"
msgstr "E-mail"
msgid "New password"
msgstr "Nova lozinka"
msgid "New password confirmation"
msgstr "Potvrda nove lozinke"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Vaša stara lozinka je pogrešno unesena. Molim unesite ponovo."
msgid "Old password"
msgstr "Stara lozinka"
msgid "Password (again)"
msgstr "Lozinka (unesi ponovo)"
msgid "algorithm"
msgstr "algoritam"
msgid "iterations"
msgstr "iteracije"
msgid "salt"
msgstr "slučajna vrijednost"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr ""
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr "količina rada"
msgid "checksum"
msgstr "zbroj za provjeru"
msgid "name"
msgstr "ime"
msgid "content type"
msgstr "tip sadržaja"
msgid "codename"
msgstr "kodno ime"
msgid "permission"
msgstr "privilegija"
msgid "permissions"
msgstr "privilegije"
msgid "group"
msgstr "grupa"
msgid "groups"
msgstr "grupe"
msgid "superuser status"
msgstr "superuser status"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Određuje da ovaj korisnik ima sve privilegije te uklanja potrebu da se "
"privilegije unose eksplicitno/ručno."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Grupe kojima ovaj korisnik pripada. Korisnik će imati sve privilegije grupa "
"kojima pripada."
msgid "user permissions"
msgstr "privilegije korisnika"
msgid "Specific permissions for this user."
msgstr "Određene privilegije za korisnika."
msgid "username"
msgstr "korisničko ime"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "Korisnik sa navedenim imenom već postoji."
msgid "first name"
msgstr "ime"
msgid "last name"
msgstr "prezime"
msgid "email address"
msgstr "e-mail adresa"
msgid "staff status"
msgstr "status osoblja"
msgid "Designates whether the user can log into this admin site."
msgstr "Određuje može li se korisnik prijaviti na ove stranice administracije."
msgid "active"
msgstr "aktivan"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Određuje treba li se ovaj korisnik tretirati kao aktivan korisnik. Koristite "
"ovu opciju umjesto brisanja korisničkih računa."
msgid "date joined"
msgstr "datum učlanjenja"
msgid "user"
msgstr "korisnik"
msgid "users"
msgstr "korisnici"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Lozinka nije dovoljno dugačka. Mora sadržavati minimalno %(min_length)d znak."
msgstr[1] ""
"Lozinka nije dovoljno dugačka. Mora sadržavati minimalno %(min_length)d "
"znaka."
msgstr[2] ""
"Lozinka nije dovoljno dugačka. Mora sadržavati minimalno %(min_length)d "
"znakova."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Lozinka mora sadržavati minimalno %(min_length)d znak."
msgstr[1] "Lozinka mora sadržavati minimalno %(min_length)d znaka."
msgstr[2] "Lozinka mora sadržavati minimalno %(min_length)d znakova."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr ""
msgid "Your password can't be too similar to your other personal information."
msgstr ""
msgid "This password is too common."
msgstr ""
msgid "Your password can't be a commonly used password."
msgstr ""
msgid "This password is entirely numeric."
msgstr "Lozinka se u potpunosti sastoji od brojeva."
msgid "Your password can't be entirely numeric."
msgstr "Lozinka se ne smije u potpunosti sastojati od brojeva."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Resetiranje lozinke na %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "Niste logirani"
msgid "Password reset"
msgstr "Resetiranje lozinke"
msgid "Password reset sent"
msgstr "Resetiranje lozinke poslano"
msgid "Enter new password"
msgstr "Unesite novu lozinku"
msgid "Password reset unsuccessful"
msgstr "Resetiranje lozinke neuspješno"
msgid "Password reset complete"
msgstr "Resetiranje lozinke završeno"
msgid "Password change"
msgstr "Promjena lozinke"
msgid "Password change successful"
msgstr "Promjena lozinke uspješna"

View File

@ -0,0 +1,317 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Michael Wolf <milupo@sorbzilla.de>, 2016-2017,2019,2021,2023
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-17 03:19-0500\n"
"PO-Revision-Date: 2023-04-25 08:09+0000\n"
"Last-Translator: Michael Wolf <milupo@sorbzilla.de>, "
"2016-2017,2019,2021,2023\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 "Personal info"
msgstr "Wosobinske informacije"
msgid "Permissions"
msgstr "Prawa"
msgid "Important dates"
msgstr "Wažne daty"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Objekt %(name)s z primarnym klučom %(key)r njeeksistuje."
msgid "Password changed successfully."
msgstr "Hesło je so wuspěšnje změniło."
#, python-format
msgid "Change password: %s"
msgstr "Hesło změnić: %s"
msgid "Authentication and Authorization"
msgstr "Awtentifikacija a awtorizacija"
msgid "password"
msgstr "hesło"
msgid "last login"
msgstr "poslednje přizjewjenje"
msgid "No password set."
msgstr "Žane hesło nastajene."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Njepłaćiwy hesłowy format abo njeznaty kontrolny algoritmus."
msgid "The two password fields didnt match."
msgstr "Dwě heslowej poli sej njewotpowědujetej."
msgid "Password"
msgstr "Hesło"
msgid "Password confirmation"
msgstr "Hesłowe wobkrućenje"
msgid "Enter the same password as before, for verification."
msgstr "Zapodajće samsne hesło kaž do toho, za přepruwowanje."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Hrube hesła so njeskładuja, tohodla njeda so hesło tutoho wužwarja widźeć, "
"ale móžeće hesło z pomocu <a href=\"{}\">tutoho formulara</a> změnić. "
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Prošu zapodajće korektne %(username)s a hesło. Dźiwajće na to, zo wobě poli "
"móžetej mjez wulko- a małopisanjom rozeznawać."
msgid "This account is inactive."
msgstr "Tute konto je inaktiwne."
msgid "Email"
msgstr "E-mejl"
msgid "New password"
msgstr "Nowe hesło"
msgid "New password confirmation"
msgstr "Wobkrućenje noweho hesła"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Waše stare hesło je so wopak zapodało. Prošu zapodajće jo hišće raz."
msgid "Old password"
msgstr "Stare hesło"
msgid "Password (again)"
msgstr "Hesło (znowa)"
msgid "algorithm"
msgstr "algoritmus"
msgid "iterations"
msgstr "wospjetowanja"
msgid "salt"
msgstr "sól"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "warianta"
msgid "version"
msgstr "wersija"
msgid "memory cost"
msgstr "Składowa přetrjeba"
msgid "time cost"
msgstr "Časowa přetrjeba"
msgid "parallelism"
msgstr "paralelizm"
msgid "work factor"
msgstr "dźěłowy faktor"
msgid "checksum"
msgstr "pruwowanska suma"
msgid "block size"
msgstr "blokowa wulkosć"
msgid "name"
msgstr "mjeno"
msgid "content type"
msgstr "wobsahowy typ"
msgid "codename"
msgstr "kodowe mjeno"
msgid "permission"
msgstr "prawo"
msgid "permissions"
msgstr "prawa"
msgid "group"
msgstr "skupina"
msgid "groups"
msgstr "skupiny"
msgid "superuser status"
msgstr "status superwužiwarja"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Woznamjenja, zo tutón wužiwar ma wšě prawa bjez toho, zo by móhł je "
"eksplicitnje připokazać."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Skupiny, ke kotrymž wužiwar słuša. Wužiwar dóstanje wšě prawa, kotrež jemu "
"skupiny dawaja."
msgid "user permissions"
msgstr "wužiwarske prawa"
msgid "Specific permissions for this user."
msgstr "Wěste prawa za tutoho wužiwarja."
msgid "username"
msgstr "wužiwarske mjeno"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr "Trěbne. 150 znamješkow abo mjenje. Jenož pismiki, cyfry a @/./+/-/_."
msgid "A user with that username already exists."
msgstr "Wužiwar z tutym mjenom hižo eksistuje."
msgid "first name"
msgstr "předmjeno"
msgid "last name"
msgstr "swójbne mjeno"
msgid "email address"
msgstr "e-mejlowa adresa"
msgid "staff status"
msgstr "personalny status"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Woznamjenja, hač wužiwar móže so pola administratoroweho sydła přizjewić."
msgid "active"
msgstr "aktiwny"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Woznamjenja, hač maja z wužiwarjom jako aktiwnym wobchadźeć. Znjemóžńće to "
"město toho, zo byšće konto zhašał."
msgid "date joined"
msgstr "čłon wot"
msgid "user"
msgstr "wužiwar"
msgid "users"
msgstr "wužiwarjo"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Tute hesło je překrótke. Dyrbi znajmjeńša %(min_length)d znamješko "
"wobsahować."
msgstr[1] ""
"Tute hesło je překrótke. Dyrbi znajmjeńša %(min_length)d znamješce "
"wobsahować."
msgstr[2] ""
"Tute hesło je překrótke. Dyrbi znajmjeńša %(min_length)d znamješka "
"wobsahować."
msgstr[3] ""
"Tute hesło je překrótke. Dyrbi znajmjeńša %(min_length)d znamješkow "
"wobsahować."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Waše hesło dyrbi znajmjeńša %(min_length)d znamješko měć."
msgstr[1] "Waše hesło dyrbi znajmjeńša %(min_length)d znamješce měć."
msgstr[2] "Waše hesło dyrbi znajmjeńša %(min_length)d znamješka měć."
msgstr[3] "Waše hesło dyrbi znajmjeńša %(min_length)d znamješkow měć."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Hesło je na %(verbose_name)s přepodobne."
msgid "Your password cant be too similar to your other personal information."
msgstr "Waše hesło njemóže na waše druhe wosobinske informacije podobne być."
msgid "This password is too common."
msgstr "Tute hesło je přehuste,"
msgid "Your password cant be a commonly used password."
msgstr "Waše hesło njemóže husto wužwane hesło być."
msgid "This password is entirely numeric."
msgstr "Tute hesło je cyle numeriske."
msgid "Your password cant be entirely numeric."
msgstr "Waše hesło njemóže cyle numeriske być."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Hesło je so na %(site_name)s wróćo stajiło."
msgid ""
"Enter a valid username. This value may contain only unaccented lowercase a-z "
"and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
msgstr ""
"Zapodajće płaćiwe wužiwarske mjeno. Tuta hódnota smě jenož małopismiki bjez "
"diakritiskich znamješkow a-z a wulkopismiki A-Z, ličby a znamješka @/./+/-/_ "
"wobsahować."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Zapodajće płaćiwe wužiwarske mjeno. Tuta hódnota smě jenož pismiki, ličby a "
"znamješka @/./+/-/_ wobsahować."
msgid "Logged out"
msgstr "Wotzjewjeny"
msgid "Password reset"
msgstr "Wróćostajenje hesła"
msgid "Password reset sent"
msgstr "Wróćostajenje hesła jo se wotpósłało."
msgid "Enter new password"
msgstr "Zapodajće nowe hesło"
msgid "Password reset unsuccessful"
msgstr "Wróćostajenje hesła njeje so poradźiło"
msgid "Password reset complete"
msgstr "Wróćostajenje hesła je zakónčene"
msgid "Password change"
msgstr "Změnjenje hesła"
msgid "Password change successful"
msgstr "Hesło je so wuspěšnje změniło"

View File

@ -0,0 +1,308 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# András Veres-Szentkirályi, 2016-2017
# Istvan Farkas <istvan.farkas@gmail.com>, 2019
# Jannis Leidel <jannis@leidel.info>, 2011
# János R, 2014
# Szilveszter Farkas <szilveszter.farkas@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-08 17:27+0200\n"
"PO-Revision-Date: 2019-11-18 09:27+0000\n"
"Last-Translator: Istvan Farkas <istvan.farkas@gmail.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/django/django/language/"
"hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Személyes információ"
msgid "Permissions"
msgstr "Jogosultságok"
msgid "Important dates"
msgstr "Fontos dátumok"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s objektum %(key)r elsődleges kulccsal nem létezik."
msgid "Password changed successfully."
msgstr "Sikeres jelszóváltoztatás."
#, python-format
msgid "Change password: %s"
msgstr "Jelszó megváltoztatása: %s"
msgid "Authentication and Authorization"
msgstr "Hitelesítés és engedélyezés"
msgid "password"
msgstr "jelszó"
msgid "last login"
msgstr "utolsó bejelentkezés"
msgid "No password set."
msgstr "Nincs jelszó beállítva."
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Érvénytelen jelszóformátum vagy ismeretlen hash-algoritmus."
msgid "The two password fields didnt match."
msgstr "A beírt két jelszó nem egyezik."
msgid "Password"
msgstr "Jelszó"
msgid "Password confirmation"
msgstr "Jelszó megerősítése"
msgid "Enter the same password as before, for verification."
msgstr "Írja be az előbb megadott jelszót, ellenőrzés céljából."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"A jelszavakat olvasható formában nem tároljuk, így egy felhasználó jelszavát "
"nem lehet mgnézni, de át lehet állítani <a href=\"{}\">ezzel az űrlappal</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Írjon be egy helyes %(username)s és jelszót. Mindkét mező kisbetű-nagybetű "
"érzékeny lehet."
msgid "This account is inactive."
msgstr "Ez a fiók inaktív."
msgid "Email"
msgstr "E-mail"
msgid "New password"
msgstr "Új jelszó"
msgid "New password confirmation"
msgstr "Új jelszó megerősítése"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "A régi jelszó hibásan lett megadva. Írja be újra."
msgid "Old password"
msgstr "Régi jelszó"
msgid "Password (again)"
msgstr "Jelszó újra"
msgid "algorithm"
msgstr "algoritmus"
msgid "iterations"
msgstr "iterációk"
msgid "salt"
msgstr "salt"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "változat"
msgid "version"
msgstr "verzió"
msgid "memory cost"
msgstr "memória költség"
msgid "time cost"
msgstr "idő költség"
msgid "parallelism"
msgstr "párhuzamosság"
msgid "work factor"
msgstr "erősség"
msgid "checksum"
msgstr "ellenőrző összeg"
msgid "name"
msgstr "név"
msgid "content type"
msgstr "tartalom típusa"
msgid "codename"
msgstr "kódnév"
msgid "permission"
msgstr "jogosultság"
msgid "permissions"
msgstr "jogosultságok"
msgid "group"
msgstr "csoport"
msgid "groups"
msgstr "csoportok"
msgid "superuser status"
msgstr "rendszergazda státusz"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Megadja, hogy ez a felhasználó rendelkezik-e minden jogosultsággal anélkül, "
"hogy azt külön meg kellene adni."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"A csoportok, amelyekhez a felhasználó tartozik. A felhasználó minden egyes "
"csoportja jogosultságaival rendelkezni fog."
msgid "user permissions"
msgstr "felhasználói jogosultságok"
msgid "Specific permissions for this user."
msgstr "A felhasználó egyedi jogosultságai."
msgid "username"
msgstr "felhasználónév"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Kötelező. Legfeljebb 150 karakter. Betűk, számok és @/./+/-/_ karakterek."
msgid "A user with that username already exists."
msgstr "Létezik már egy felhasználó ezzel a névvel."
msgid "first name"
msgstr "keresztnév"
msgid "last name"
msgstr "vezetéknév"
msgid "email address"
msgstr "e-mail cím"
msgid "staff status"
msgstr "személyzet státusz"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Megadja, hogy a felhasználó bejelentkezhet-e erre az adminisztrációs oldalra."
msgid "active"
msgstr "aktív"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Megadja, hogy a felhasználó aktív-e. Állítsa át ezt az értéket a fiók "
"törlése helyett."
msgid "date joined"
msgstr "csatlakozás dátuma"
msgid "user"
msgstr "felhasználó"
msgid "users"
msgstr "felhasználók"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Ez a jelszó túl rövid. Legalább %(min_length)d karakter hosszú legyen."
msgstr[1] ""
"Ez a jelszó túl rövid. Legalább %(min_length)d karakter hosszú legyen."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] ""
"A jelszavának legalább %(min_length)d karakter hosszúnak kell lennie."
msgstr[1] ""
"A jelszavának legalább %(min_length)d karakter hosszúnak kell lennie."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "A jelszava túlságosan hasonlít a következőhöz: %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr "A jelszó nem lehet hasonló a személyes adatok egyikéhez sem."
msgid "This password is too common."
msgstr "Ez a jelszó túlságosan gyakori."
msgid "Your password cant be a commonly used password."
msgstr "A jelszó nem lehet a túl gyakran használt jelszavak közül."
msgid "This password is entirely numeric."
msgstr "A jelszava kizárólag számjegyekből áll."
msgid "Your password cant be entirely numeric."
msgstr "A jelszó nem állhat csak számjegyekből."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Jelszó újragenerálása ezen az oldalon: %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Írjon be egy érvényes felhasználónevet, mely csak ékezetmentes betűket, "
"számokat és @/./+/-/_ karaktereket tartalmazhat."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Írjon be egy érvényes felhasználónevet, mely csak betűket, számokat és @/./"
"+/-/_ karaktereket tartalmazhat."
msgid "Logged out"
msgstr "Kijelentkezve"
msgid "Password reset"
msgstr "Jelszó újragenerálása"
msgid "Password reset sent"
msgstr "Jelszó beállítás infók elküldve"
msgid "Enter new password"
msgstr "Írja be az új jelszavát"
msgid "Password reset unsuccessful"
msgstr "Jelszó beállítása sikertelen"
msgid "Password reset complete"
msgstr "Jelszó beállítása kész"
msgid "Password change"
msgstr "Jelszó megváltoztatása"
msgid "Password change successful"
msgstr "Sikeres jelszóváltoztatás"

View File

@ -0,0 +1,295 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Ruben Harutyunov <rharutyunov@mail.ru>, 2018
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-09-24 13:46+0200\n"
"PO-Revision-Date: 2018-11-11 20:11+0000\n"
"Last-Translator: Ruben Harutyunov <rharutyunov@mail.ru>\n"
"Language-Team: Armenian (http://www.transifex.com/django/django/language/"
"hy/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hy\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Personal info"
msgstr "Անձնական տվյալներ"
msgid "Permissions"
msgstr "Իրավունքներ"
msgid "Important dates"
msgstr "Կարևոր ամսաթվեր"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(key)r հիմնական բանալով %(name)s օբյեկտ գոյություն չունի։"
msgid "Password changed successfully."
msgstr "Գաղտնաբառը հաջողությամբ փոխվեց։"
#, python-format
msgid "Change password: %s"
msgstr "Փոխել գաղտնաբառը․ %s"
msgid "Authentication and Authorization"
msgstr "Նույնականացում և Լիազորում"
msgid "password"
msgstr "գաղտնաբառ"
msgid "last login"
msgstr "վերջին մուտք"
msgid "No password set."
msgstr "Գաղտնաբառը նշված չէ։"
msgid "Invalid password format or unknown hashing algorithm."
msgstr "Գաղտնաբառի սխալ ֆորմատ, կամ անհայտ հեշավորման ալգորիթմ։"
msgid "The two password fields didn't match."
msgstr "Երկու գաղտնաբառերը չեն համապատասխանում իրար։"
msgid "Password"
msgstr "Գաղտնաբառ"
msgid "Password confirmation"
msgstr "Գաղտնաբառը նորից"
msgid "Enter the same password as before, for verification."
msgstr "Մուտքագրեք հին գաղտնաբառը, ստուգման համար։"
msgid ""
"Raw passwords are not stored, so there is no way to see this user's "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Մուտքագրեք ճիշտ %(username)s և գաղտնաբառ։ Երկու դաշտերն էլ տառաշարազգայուն "
"են։"
msgid "This account is inactive."
msgstr "Այս օգտագործողը ակտիվ չէ։"
msgid "Email"
msgstr "Email"
msgid "New password"
msgstr "Նոր գաղտնաբառ"
msgid "New password confirmation"
msgstr "Նոր գաղտնաբառը նորից"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Հին գաղտնաբառը սխալ է։ Մուտքագրեք նորից։"
msgid "Old password"
msgstr "Հին գաղտնաբառ"
msgid "Password (again)"
msgstr "Գաղտնաբառ (նորից)"
msgid "algorithm"
msgstr "ալգորիթմ"
msgid "iterations"
msgstr "իտերացիաներ"
msgid "salt"
msgstr "աղ"
msgid "hash"
msgstr "հեշ"
msgid "variety"
msgstr ""
msgid "version"
msgstr ""
msgid "memory cost"
msgstr ""
msgid "time cost"
msgstr "տևողություն"
msgid "parallelism"
msgstr ""
msgid "work factor"
msgstr "աշխատանքային ֆակտոր"
msgid "checksum"
msgstr "checksum"
msgid "name"
msgstr "անուն"
msgid "content type"
msgstr "պարունակության տիպ"
msgid "codename"
msgstr "կոդային անուն"
msgid "permission"
msgstr "իրավունքնե"
msgid "permissions"
msgstr "իրավունքներ"
msgid "group"
msgstr "խումբ"
msgid "groups"
msgstr "խմբեր"
msgid "superuser status"
msgstr "սուպերօգտագործողի կարգավիճակ"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Ցույց է տալիս, որ օգտագործողը ունի բոլոր իրավունքները, առանց նրանց նշման։"
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Խումբը, որին պատկանում է օգտագործողը։ Օգտագործողը ստանում է իր խմբին տրված "
"բոլոր իրավունքները։"
msgid "user permissions"
msgstr "օգտագործողի իրավունքները"
msgid "Specific permissions for this user."
msgstr "Օգտագործողի հատուկ իրավունքները։"
msgid "username"
msgstr "օգտագործողի անուն"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
msgid "A user with that username already exists."
msgstr "Այդ անունով օգտագործող արդեն գոյություն ունի։"
msgid "first name"
msgstr "անուն"
msgid "last name"
msgstr "ազգանուն"
msgid "email address"
msgstr "email հասցե"
msgid "staff status"
msgstr "անձնակազմի կարգավիճակ"
msgid "Designates whether the user can log into this admin site."
msgstr ""
"Ցույց է տալիս, թե արդյոք օգտագործողը կարոզ է մուտք գործել ադմինիստրավորման "
"բաժին։"
msgid "active"
msgstr "ակտիվ"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Ցույց է տալիս, թե արդյոք օգտագործողին կարելի է համարել ակտիվ։ Ապընտրեք, "
"օգտագործողին հեռացնելու փոխարեն։"
msgid "date joined"
msgstr "միացել է"
msgid "user"
msgstr "օգտագործող"
msgid "users"
msgstr "օգտագործողներ"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Գաղտնաբառը շատ կարճ է։ Այն պետք է պարունակի ամենաքիչը %(min_length)d նիշ։"
msgstr[1] ""
"Գաղտնաբառը շատ կարճ է։ Այն պետք է պարունակի ամենաքիչը %(min_length)d նիշ։"
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Գաղտնաբառը պետք է պարունակի ամենաքիչը %(min_length)d նիշ։"
msgstr[1] "Գաղտնաբառը պետք է պարունակի ամենաքիչը %(min_length)d նիշ։"
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Գաղտնաբառը շատ նման է %(verbose_name)s֊ին։"
msgid "Your password can't be too similar to your other personal information."
msgstr "Գաղտնաբառը չի կարող շատ նման լինել ձեր անձնական ինֆորմացիային։"
msgid "This password is too common."
msgstr "Գաղտնաբառը շատ տարածված է։"
msgid "Your password can't be a commonly used password."
msgstr "Գաղտնաբառը չպետք է լինի տարածված գաղտնաբառերից մեկը։"
msgid "This password is entirely numeric."
msgstr "Գաղտնաբառը բաղկացած է միայն թվերից։"
msgid "Your password can't be entirely numeric."
msgstr "Գաղտնաբառը չպետք է բաղկացած լինի միայն թվերից։"
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Գաղտնաբառի փոփոխում %(site_name)s կայքում։"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
msgid "Logged out"
msgstr "Դուք դուրս եք եկել"
msgid "Password reset"
msgstr "Գաղտնաբառի փոփոխում"
msgid "Password reset sent"
msgstr "Գաղտնաբառի փոփոխման հղումն ուղարկված է"
msgid "Enter new password"
msgstr "Մուտքագրեք նոր գաղտնաբառը"
msgid "Password reset unsuccessful"
msgstr "Գաղտնաբառի փոփոխումը չի ավարտվել հաջողությամբ"
msgid "Password reset complete"
msgstr "Գաղտնաբառի փոփոխումը ավարտված է"
msgid "Password change"
msgstr "Գաղտնաբառի փոփոխում"
msgid "Password change successful"
msgstr "Գաղտնաբառի փոփոխումը ավարտվել է հաջողությամբ"

View File

@ -0,0 +1,310 @@
# This file is distributed under the same license as the Django package.
#
# Translators:
# Martijn Dekker <mcdutchie@hotmail.com>, 2012,2021
msgid ""
msgstr ""
"Project-Id-Version: django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-21 10:22+0200\n"
"PO-Revision-Date: 2021-09-22 09:22+0000\n"
"Last-Translator: Transifex Bot <>\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 "Personal info"
msgstr "Information personal"
msgid "Permissions"
msgstr "Permissiones"
msgid "Important dates"
msgstr "Datas importante"
#, python-format
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "Le objecto %(name)s con le clave primari %(key)r non existe."
msgid "Password changed successfully."
msgstr "Le cambio del contrasigno ha succedite."
#, python-format
msgid "Change password: %s"
msgstr "Cambia contrasigno: %s"
msgid "Authentication and Authorization"
msgstr "Authentication e autorisation"
msgid "password"
msgstr "contrasigno"
msgid "last login"
msgstr "ultime session"
msgid "No password set."
msgstr "Nulle contrasigno definite."
msgid "Invalid password format or unknown hashing algorithm."
msgstr ""
"Le formato del contrasigno es invalide o le algorithmo de hash es incognite."
msgid "The two password fields didnt match."
msgstr "Le duo campos de contrasigno non es identic."
msgid "Password"
msgstr "Contrasigno"
msgid "Password confirmation"
msgstr "Confirma contrasigno"
msgid "Enter the same password as before, for verification."
msgstr "Scribe le mesme contrasigno que antea, pro verification."
msgid ""
"Raw passwords are not stored, so there is no way to see this users "
"password, but you can change the password using <a href=\"{}\">this form</a>."
msgstr ""
"Le contrasignos non es immagazinate in forma de texto simple, dunque il non "
"es possibile vider le contrasigno de iste usator, ma tu pote cambiar le "
"contrasigno con <a href=\"{}\">iste formulario</a>."
#, python-format
msgid ""
"Please enter a correct %(username)s and password. Note that both fields may "
"be case-sensitive."
msgstr ""
"Per favor entra un %(username)s e contrasigno correcte. Nota que ambe campos "
"pote distinguer inter majusculas e minusculas."
msgid "This account is inactive."
msgstr "Iste conto es inactive."
msgid "Email"
msgstr "E-mail"
msgid "New password"
msgstr "Nove contrasigno"
msgid "New password confirmation"
msgstr "Confirma nove contrasigno"
msgid "Your old password was entered incorrectly. Please enter it again."
msgstr "Le ancian contrasigno non es correcte. Per favor scribe lo de novo."
msgid "Old password"
msgstr "Ancian contrasigno"
msgid "Password (again)"
msgstr "Contrasigno (de novo)"
msgid "algorithm"
msgstr "algorithmo"
msgid "iterations"
msgstr "iterationes"
msgid "salt"
msgstr "sal"
msgid "hash"
msgstr "hash"
msgid "variety"
msgstr "varietate"
msgid "version"
msgstr "version"
msgid "memory cost"
msgstr "costo de memoria"
msgid "time cost"
msgstr "costo de tempore"
msgid "parallelism"
msgstr "parallelismo"
msgid "work factor"
msgstr "factor de labor"
msgid "checksum"
msgstr "summa de controlo"
msgid "block size"
msgstr ""
msgid "name"
msgstr "nomine"
msgid "content type"
msgstr "typo de contento"
msgid "codename"
msgstr "nomine de codice"
msgid "permission"
msgstr "permission"
msgid "permissions"
msgstr "permissiones"
msgid "group"
msgstr "gruppo"
msgid "groups"
msgstr "gruppos"
msgid "superuser status"
msgstr "stato de superusator"
msgid ""
"Designates that this user has all permissions without explicitly assigning "
"them."
msgstr ""
"Indica que iste usator ha tote le permissiones sin assignar los "
"explicitemente."
msgid ""
"The groups this user belongs to. A user will get all permissions granted to "
"each of their groups."
msgstr ""
"Le gruppos al quales iste usator pertine. Un usator recipe tote le "
"permissiones concedite a cata un de su gruppos."
msgid "user permissions"
msgstr "permissiones de usator"
msgid "Specific permissions for this user."
msgstr "Permissiones specific pro iste usator."
msgid "username"
msgstr "nomine de usator"
msgid "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only."
msgstr ""
"Obligatori. 150 characteres o minus. Litteras, cifras e @/./+/-/_ solmente."
msgid "A user with that username already exists."
msgstr "Un usator con iste nomine de usator jam existe."
msgid "first name"
msgstr "prenomine"
msgid "last name"
msgstr "nomine de familia"
msgid "email address"
msgstr "adresse de e-mail"
msgid "staff status"
msgstr "stato de personal"
msgid "Designates whether the user can log into this admin site."
msgstr "Indica si le usator pote aperir session in iste sito administrative."
msgid "active"
msgstr "active"
msgid ""
"Designates whether this user should be treated as active. Unselect this "
"instead of deleting accounts."
msgstr ""
"Indica si iste usator debe esser tractate como active. Dismarca isto in vice "
"de deler contos."
msgid "date joined"
msgstr "data de inscription"
msgid "user"
msgstr "usator"
msgid "users"
msgstr "usatores"
#, python-format
msgid ""
"This password is too short. It must contain at least %(min_length)d "
"character."
msgid_plural ""
"This password is too short. It must contain at least %(min_length)d "
"characters."
msgstr[0] ""
"Le contrasigno es troppo curte. Debe continer al minus %(min_length)d "
"character."
msgstr[1] ""
"Le contrasigno es troppo curte. Debe continer al minus %(min_length)d "
"characteres."
#, python-format
msgid "Your password must contain at least %(min_length)d character."
msgid_plural "Your password must contain at least %(min_length)d characters."
msgstr[0] "Le contrasigno debe continer al minus %(min_length)d character."
msgstr[1] "Le contrasigno debe continer al minus %(min_length)d characteres."
#, python-format
msgid "The password is too similar to the %(verbose_name)s."
msgstr "Le contrasigno es troppo simile al %(verbose_name)s."
msgid "Your password cant be too similar to your other personal information."
msgstr ""
"Le contrasigno non pote esser troppo similar a tu altere informationes "
"personal."
msgid "This password is too common."
msgstr "Iste contrasigno es troppo commun."
msgid "Your password cant be a commonly used password."
msgstr "Le contrasigno non pote esser un contrasigno communmente usate."
msgid "This password is entirely numeric."
msgstr "Iste contrasigno es toto numeric."
msgid "Your password cant be entirely numeric."
msgstr "Le contrasigno non pote esser toto numeric."
#, python-format
msgid "Password reset on %(site_name)s"
msgstr "Reinitialisation del contrasigno in %(site_name)s"
msgid ""
"Enter a valid username. This value may contain only English letters, "
"numbers, and @/./+/-/_ characters."
msgstr ""
"Entra un nomine de usator valide. Pote continer solmente litteras anglese, "
"numeros e le characteres @/./+/-/_."
msgid ""
"Enter a valid username. This value may contain only letters, numbers, and "
"@/./+/-/_ characters."
msgstr ""
"Entra un nomine de usator valide. Pote continer solmente litteras, numeros e "
"le characteres @/./+/-/_."
msgid "Logged out"
msgstr "Session claudite"
msgid "Password reset"
msgstr "Reinitialisation del contrasigno"
msgid "Password reset sent"
msgstr "Reinitialisation del contrasigno inviate"
msgid "Enter new password"
msgstr "Scribe nove contrasigno"
msgid "Password reset unsuccessful"
msgstr "Reinitialisation de contrasigno fallite"
msgid "Password reset complete"
msgstr "Contrasigno reinitialisate con successo"
msgid "Password change"
msgstr "Cambio de contrasigno"
msgid "Password change successful"
msgstr "Contrasigno cambiate con successo"

Some files were not shown because too many files have changed in this diff Show More