mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Merge branch '1.1.x'
Conflicts: doc/getting_started/plugins.rst doc/getting_started/upgrade.rst modoboa/extensions/amavis/app_settings.py modoboa/extensions/amavis/sql_listing.py modoboa/extensions/amavis/templates/amavis/index.html modoboa/extensions/amavis/templates/amavis/main_action_bar.html modoboa/extensions/amavis/templatetags/amavis_tags.py modoboa/extensions/amavis/urls.py modoboa/extensions/amavis/views.py modoboa/extensions/stats/management/commands/logparser.py modoboa/extensions/stats/templates/stats/index.html modoboa/extensions/stats/urls.py modoboa/extensions/stats/views.py modoboa/lib/sysutils.py
This commit is contained in:
+1
-1
@@ -50,7 +50,7 @@ copyright = u'2014, Antoine Nguyen'
|
||||
# The short X.Y version.
|
||||
version = '1.1'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '1.1.6'
|
||||
release = '1.1.7'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
||||
@@ -715,10 +715,11 @@ Raised when an existing mailbox is modified.
|
||||
|
||||
*Callback prototype*::
|
||||
|
||||
def callback(newmailbox, oldmailbox): pass
|
||||
def callback(mailbox): pass
|
||||
|
||||
* ``newmailbox`` is a ``Mailbox`` instance containing the new values
|
||||
* ``oldmailbox`` is a ``Mailbox`` instance containing the old values
|
||||
* ``mailbox`` is the ``Mailbox`` modified instance. It contains a
|
||||
``old_full_address`` extra field to check if the address was
|
||||
modified.
|
||||
|
||||
PasswordChange
|
||||
==============
|
||||
|
||||
@@ -51,6 +51,14 @@ Then, follow the common procedure::
|
||||
Eventually, restart the web server process according to the environment
|
||||
you did choose. See :ref:`webservers` for more details.
|
||||
|
||||
1.1.7: manual learning for SpamAssassin
|
||||
=======================================
|
||||
|
||||
A new feature allows administrators and users to manually train
|
||||
SpamAssassin in order to customize its behaviour.
|
||||
|
||||
Check :ref:`sa_manual_learning` to know more about this feature.
|
||||
|
||||
1.1.6: Few bugfixes
|
||||
===================
|
||||
|
||||
|
||||
+74
-1
@@ -203,7 +203,7 @@ feature:
|
||||
Self-service mode
|
||||
=================
|
||||
|
||||
The *self-service* mode let users act on quarantined messages without
|
||||
The *self-service* mode lets users act on quarantined messages without
|
||||
beeing authenticated. They can:
|
||||
|
||||
* View messages
|
||||
@@ -232,3 +232,76 @@ Here is a link example::
|
||||
|
||||
http://<modoboa_url>/quarantine/%i/?rcpt=%R&secret_id=[:secret_id]
|
||||
|
||||
.. _sa_manual_learning:
|
||||
|
||||
Manual SpamAssassin learning
|
||||
============================
|
||||
|
||||
It is possible to manually train `SpamAssassin
|
||||
<http://spamassassin.apache.org/>`_ using the quarantine's content. By
|
||||
train, we mean:
|
||||
|
||||
* Mark message(s) as spam (false negative(s))
|
||||
|
||||
* Mark message(s) as non-spam (false positive(s))
|
||||
|
||||
This feature is available to all users (from super administrators to
|
||||
simple users) but not enabled by default.
|
||||
|
||||
SpamAssassin configuration
|
||||
--------------------------
|
||||
|
||||
For better performance and to enable the per-user level, SpamAssassin
|
||||
must store bayes information into a SQL database.
|
||||
|
||||
Create a new database and a new user/password (using your favorite
|
||||
database server) and edit the default configuration file
|
||||
(:file:`/etc/spamassassin/local.cf`) to add the following lines
|
||||
inside:
|
||||
|
||||
.. sourcecode:: perl
|
||||
|
||||
bayes_store_module Mail::SpamAssassin::BayesStore::<Driver>
|
||||
bayes_sql_dsn <DSN>
|
||||
bayes_sql_username <db username>
|
||||
bayes_sql_password <db password>
|
||||
|
||||
Replace values between ``<>`` by yours. Possible values for ``Driver``
|
||||
are ``PgSQL`` or ``MySQL`` (non exhaustive list). The syntax for
|
||||
``DSN`` depends on the driver you choose. Please consult the official
|
||||
documentation.
|
||||
|
||||
Enable the feature through Modoboa
|
||||
----------------------------------
|
||||
|
||||
Manual learning is disabled by default. You can activate it through
|
||||
the administration panel (*Modoboa > Paremeters > Amavis*). There two
|
||||
learning levels:
|
||||
|
||||
#. Global: available to administrators only. A single (global) bayes
|
||||
database is shared between everyone.
|
||||
|
||||
#. Per domain: available to administrators and domain
|
||||
administrators. Each domain can have a dedicated database.
|
||||
|
||||
#. Per user: each user can create its own database to customize the
|
||||
way SpamAssassin will detect spam.
|
||||
|
||||
The domain and user levels are not activated by default, dedicated
|
||||
parameters are available through the panel.
|
||||
|
||||
.. note::
|
||||
|
||||
Domain and user databases are only created the first time someone
|
||||
calls the learning feature through the quarantine.
|
||||
|
||||
.. warning::
|
||||
|
||||
A bayes database needs to reach pre-defined thresholds before it
|
||||
can be used by SpamAssassin. The default values are **200** spams
|
||||
and **200** hams.
|
||||
|
||||
You will find other paramaters related to this feature. You won't need
|
||||
to change them most of the time, unless SpamAssassin is hosted on a
|
||||
different machine than Modoboa. (in this case, ``spamc`` will be used
|
||||
instead of ``sa-learn``).
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
# coding: utf-8
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from django import forms
|
||||
from modoboa.lib.parameters import AdminParametersForm, UserParametersForm
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from modoboa.lib.formutils import SeparatorField, YesNoField, InlineRadioSelect
|
||||
from modoboa.lib.parameters import AdminParametersForm, UserParametersForm
|
||||
|
||||
|
||||
class ParametersForm(AdminParametersForm):
|
||||
|
||||
"""Extension settings."""
|
||||
|
||||
app = "amavis"
|
||||
|
||||
qsettings_sep = SeparatorField(label=_("Quarantine settings"))
|
||||
@@ -22,7 +27,8 @@ class ParametersForm(AdminParametersForm):
|
||||
released_msgs_cleanup = YesNoField(
|
||||
label=_("Remove released messages"),
|
||||
initial="no",
|
||||
help_text=_("Remove messages marked as released while cleaning up the database")
|
||||
help_text=_("Remove messages marked as released while cleaning up "
|
||||
"the database")
|
||||
)
|
||||
|
||||
am_pdp_mode = forms.ChoiceField(
|
||||
@@ -73,14 +79,80 @@ class ParametersForm(AdminParametersForm):
|
||||
widget=forms.TextInput(attrs={"class": "form-control"})
|
||||
)
|
||||
|
||||
lsep = SeparatorField(label=_("Manual learning"))
|
||||
|
||||
manual_learning = YesNoField(
|
||||
label=_("Enable manual learning"),
|
||||
initial="yes",
|
||||
help_text=_(
|
||||
"Allow super administrators to manually train Spamassassin"
|
||||
)
|
||||
)
|
||||
|
||||
sa_is_local = YesNoField(
|
||||
label=_("Is Spamassassin local?"),
|
||||
initial="yes",
|
||||
help_text=_(
|
||||
"Tell if Spamassassin is running on the same server than modoboa"
|
||||
)
|
||||
)
|
||||
|
||||
default_user = forms.CharField(
|
||||
label=_("Default user"),
|
||||
initial="amavis",
|
||||
help_text=_(
|
||||
"Name of the user owning the default bayesian database"
|
||||
)
|
||||
)
|
||||
|
||||
spamd_address = forms.CharField(
|
||||
label=_("Spamd address"),
|
||||
initial="127.0.0.1",
|
||||
help_text=_("The IP address where spamd can be reached")
|
||||
)
|
||||
|
||||
spamd_port = forms.IntegerField(
|
||||
label=_("Spamd port"),
|
||||
initial=783,
|
||||
help_text=_("The TCP port spamd is listening on")
|
||||
)
|
||||
|
||||
domain_level_learning = YesNoField(
|
||||
label=_("Enable per-domain manual learning"),
|
||||
initial="no",
|
||||
help_text=_(
|
||||
"Allow domain administrators to train Spamassassin "
|
||||
"(within dedicated per-domain databases)"
|
||||
)
|
||||
)
|
||||
|
||||
user_level_learning = YesNoField(
|
||||
label=_("Enable per-user manual learning"),
|
||||
initial="no",
|
||||
help_text=_(
|
||||
"Allow simple users to personally train Spamassassin "
|
||||
"(within a dedicated database)"
|
||||
)
|
||||
)
|
||||
|
||||
visibility_rules = {
|
||||
"am_pdp_host": "am_pdp_mode=inet",
|
||||
"am_pdp_port": "am_pdp_mode=inet",
|
||||
"am_pdp_socket": "am_pdp_mode=unix"
|
||||
"am_pdp_socket": "am_pdp_mode=unix",
|
||||
|
||||
"sa_is_local": "manual_learning=yes",
|
||||
"default_user": "manual_learning=yes",
|
||||
"spamd_address": "sa_is_local=no",
|
||||
"spamd_port": "sa_is_local=no",
|
||||
"domain_level_learning": "manual_learning=yes",
|
||||
"user_level_learning": "manual_learning=yes"
|
||||
}
|
||||
|
||||
|
||||
class UserSettings(UserParametersForm):
|
||||
|
||||
"""Per-user settings."""
|
||||
|
||||
app = "amavis"
|
||||
|
||||
dsep = SeparatorField(label=_("Display"))
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
# coding: utf-8
|
||||
"""
|
||||
Amavis forms.
|
||||
"""
|
||||
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from modoboa.lib import parameters
|
||||
from modoboa.lib.formutils import InlineRadioSelect
|
||||
from modoboa.extensions.amavis.models import Policy, Users
|
||||
from .models import Policy, Users
|
||||
|
||||
|
||||
class DomainPolicyForm(forms.ModelForm):
|
||||
@@ -57,3 +64,34 @@ class DomainPolicyForm(forms.ModelForm):
|
||||
u.policy = policy
|
||||
policy.save()
|
||||
return policy
|
||||
|
||||
|
||||
class LearningRecipientForm(forms.Form):
|
||||
|
||||
"""A form to select the recipient of a learning request."""
|
||||
|
||||
recipient = forms.ChoiceField(
|
||||
label=None, choices=[]
|
||||
)
|
||||
ltype = forms.ChoiceField(
|
||||
label="", choices=[("spam", "spam"), ("ham", "ham")],
|
||||
widget=forms.widgets.HiddenInput
|
||||
)
|
||||
selection = forms.CharField(
|
||||
label="", widget=forms.widgets.HiddenInput)
|
||||
|
||||
def __init__(self, user, *args, **kwargs):
|
||||
"""Constructor."""
|
||||
super(LearningRecipientForm, self).__init__(*args, **kwargs)
|
||||
choices = []
|
||||
if user.group == "SuperAdmins":
|
||||
choices.append(("global", _("Global database")))
|
||||
domain_level_learning = parameters.get_admin(
|
||||
"DOMAIN_LEVEL_LEARNING") == "yes"
|
||||
user_level_learning = parameters.get_admin(
|
||||
"USER_LEVEL_LEARNING") == "yes"
|
||||
if domain_level_learning:
|
||||
choices.append(("domain", _("Domain's database")))
|
||||
if user_level_learning:
|
||||
choices.append(("user", _("User's database")))
|
||||
self.fields["recipient"].choices = choices
|
||||
|
||||
@@ -8,6 +8,8 @@ from modoboa.extensions.amavis.lib import (
|
||||
create_user_and_policy, update_user_and_policy, delete_user_and_policy,
|
||||
create_user_and_use_policy, delete_user
|
||||
)
|
||||
from .lib import manual_learning_enabled
|
||||
from .models import Users
|
||||
|
||||
|
||||
@events.observe("UserMenuDisplay")
|
||||
@@ -23,22 +25,27 @@ def menu(target, user):
|
||||
|
||||
@events.observe("DomainCreated")
|
||||
def on_domain_created(user, domain):
|
||||
create_user_and_policy(domain.name)
|
||||
create_user_and_policy("@{0}".format(domain.name))
|
||||
|
||||
|
||||
@events.observe("DomainModified")
|
||||
def on_domain_modified(domain):
|
||||
update_user_and_policy(domain.oldname, domain.name)
|
||||
update_user_and_policy(
|
||||
"@{0}".format(domain.oldname),
|
||||
"@{0}".format(domain.name)
|
||||
)
|
||||
|
||||
|
||||
@events.observe("DomainDeleted")
|
||||
def on_domain_deleted(domain):
|
||||
delete_user_and_policy(domain.name)
|
||||
delete_user_and_policy("@{0}".format(domain.name))
|
||||
|
||||
|
||||
@events.observe("DomainAliasCreated")
|
||||
def on_domain_alias_created(user, domainalias):
|
||||
create_user_and_use_policy(domainalias.name, domainalias.target.name)
|
||||
create_user_and_use_policy(
|
||||
"@{0}".format(domainalias.name), domainalias.target.name
|
||||
)
|
||||
|
||||
|
||||
@events.observe("DomainAliasDeleted")
|
||||
@@ -46,7 +53,54 @@ def on_domain_alias_deleted(domainaliases):
|
||||
if isinstance(domainaliases, DomainAlias):
|
||||
domainaliases = [domainaliases]
|
||||
for domainalias in domainaliases:
|
||||
delete_user(domainalias.name)
|
||||
delete_user("@{0}".format(domainalias.name))
|
||||
|
||||
|
||||
@events.observe("MailboxModified")
|
||||
def on_mailbox_modified(mailbox):
|
||||
"""Update amavis records if address has changed."""
|
||||
if parameters.get_admin("MANUAL_LEARNING") == "no" or \
|
||||
mailbox.full_address == mailbox.old_full_address:
|
||||
return
|
||||
user = Users.objects.select_related.get(email=mailbox.old_full_address)
|
||||
full_address = mailbox.full_address
|
||||
user.email = full_address
|
||||
user.policy.policy_name = full_address[:32]
|
||||
user.policy.sa_username = full_address
|
||||
user.policy.save()
|
||||
user.save()
|
||||
|
||||
|
||||
@events.observe("MailboxDeleted")
|
||||
def on_mailbox_deleted(mailbox):
|
||||
"""Clean amavis database when a mailbox is removed."""
|
||||
if parameters.get_admin("MANUAL_LEARNING") == "no":
|
||||
return
|
||||
delete_user_and_policy(mailbox.full_address)
|
||||
|
||||
|
||||
@events.observe("MailboxAliasCreated")
|
||||
def on_mailboxalias_created(user, alias):
|
||||
"""Create amavis record for the new alias.
|
||||
|
||||
FIXME: how to deal with distibution lists ?
|
||||
"""
|
||||
if not manual_learning_enabled(user) or alias.type != "alias":
|
||||
return
|
||||
policy = Policy.objects.get(
|
||||
policy_name=alias.mboxes.all()[0].full_address
|
||||
)
|
||||
email = alias.full_address
|
||||
Users.objects.create(email=email, policy=policy, fullname=email)
|
||||
|
||||
|
||||
@events.observe("MailboxAliasDeleted")
|
||||
def on_mailboxalias_deleted(alias):
|
||||
"""Clean amavis database when an alias is removed."""
|
||||
if parameters.get_admin("MANUAL_LEARNING") == "no":
|
||||
return
|
||||
if Users.objects.exists(email=alias.fullname):
|
||||
Users.objects.delete(email=alias.fullname)
|
||||
|
||||
|
||||
@events.observe("GetStaticContent")
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
# coding: utf-8
|
||||
import socket
|
||||
import re
|
||||
import struct
|
||||
import string
|
||||
|
||||
from functools import wraps
|
||||
from django.core.urlresolvers import reverse
|
||||
import re
|
||||
import socket
|
||||
import string
|
||||
import struct
|
||||
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from modoboa.extensions.admin.models import Mailbox, Alias
|
||||
from modoboa.lib import parameters
|
||||
from modoboa.lib.emailutils import split_mailbox
|
||||
from modoboa.lib.exceptions import InternalError
|
||||
from modoboa.lib.sysutils import exec_cmd
|
||||
from modoboa.lib.webutils import NavigationParameters
|
||||
from modoboa.extensions.amavis.models import Users, Policy
|
||||
from .models import Users, Policy
|
||||
|
||||
|
||||
def selfservice(ssfunc=None):
|
||||
@@ -80,6 +86,100 @@ recipient=%s
|
||||
return False
|
||||
|
||||
|
||||
class SpamassassinClient(object):
|
||||
|
||||
"""A stupid spamassassin client."""
|
||||
|
||||
def __init__(self, user, recipient_db):
|
||||
"""Constructor."""
|
||||
self._sa_is_local = parameters.get_admin("SA_IS_LOCAL")
|
||||
self._default_username = parameters.get_admin("DEFAULT_USER")
|
||||
self._recipient_db = recipient_db
|
||||
self._setup_cache = {}
|
||||
self._username_cache = []
|
||||
if user.group == "SimpleUsers":
|
||||
user_level_learning = parameters.get_admin("USER_LEVEL_LEARNING")
|
||||
if user_level_learning == "yes":
|
||||
self._username = user.email
|
||||
else:
|
||||
self._username = None
|
||||
self.error = None
|
||||
if self._sa_is_local == "yes":
|
||||
self._learn_cmd = "sa-learn --{0} --no-sync -u {1}"
|
||||
self._learn_cmd_kwargs = {}
|
||||
self._expected_exit_codes = [0]
|
||||
else:
|
||||
self._learn_cmd = "spamc -d {0} -p {1}".format(
|
||||
parameters.get_admin("SPAMD_ADDRESS"),
|
||||
parameters.get_admin("SPAMD_PORT")
|
||||
)
|
||||
self._learn_cmd += " -L {0} -u {1}"
|
||||
self._learn_cmd_kwargs = {}
|
||||
self._expected_exit_codes = [5, 6]
|
||||
|
||||
def _get_mailbox_from_rcpt(self, rcpt):
|
||||
"""Retrieve a mailbox from a recipient address."""
|
||||
local_part, domname = split_mailbox(rcpt)
|
||||
try:
|
||||
mailbox = Mailbox.objects.select_related("domain").get(
|
||||
address=local_part, domain__name=domname)
|
||||
except Mailbox.DoesNotExist:
|
||||
try:
|
||||
alias = Alias.objects.select_related("domain").get(
|
||||
address=local_part, domain__name=domname)
|
||||
except Alias.DoesNotExist:
|
||||
raise InternalError(_("No recipient found"))
|
||||
if alias.type != "alias":
|
||||
return None
|
||||
mailbox = alias.mboxes.all()[0]
|
||||
return mailbox
|
||||
|
||||
def _learn(self, rcpt, msg, mtype):
|
||||
"""Internal method to call the learning command."""
|
||||
if self._username is None:
|
||||
if self._recipient_db == "global":
|
||||
username = self._default_username
|
||||
else:
|
||||
mbox = self._get_mailbox_from_rcpt(rcpt)
|
||||
if mbox is None:
|
||||
username = self._default_username
|
||||
if self._recipient_db == "domain":
|
||||
username = mbox.domain.name
|
||||
if username not in self._setup_cache and \
|
||||
setup_manual_learning_for_domain(mbox.domain):
|
||||
self._setup_cache[username] = True
|
||||
else:
|
||||
username = mbox.full_address
|
||||
if username not in self._setup_cache and \
|
||||
setup_manual_learning_for_mbox(mbox):
|
||||
self._setup_cache[username] = True
|
||||
else:
|
||||
username = self._username
|
||||
if username not in self._username_cache:
|
||||
self._username_cache.append(username)
|
||||
cmd = self._learn_cmd.format(mtype, username)
|
||||
code, output = exec_cmd(cmd, pinput=msg, **self._learn_cmd_kwargs)
|
||||
if code in self._expected_exit_codes:
|
||||
return True
|
||||
self.error = output
|
||||
return False
|
||||
|
||||
def learn_spam(self, rcpt, msg):
|
||||
"""Learn new spam."""
|
||||
return self._learn(rcpt, msg, "spam")
|
||||
|
||||
def learn_ham(self, rcpt, msg):
|
||||
"""Learn new ham."""
|
||||
return self._learn(rcpt, msg, "ham")
|
||||
|
||||
def done(self):
|
||||
"""Call this method at the end of the processing."""
|
||||
if self._sa_is_local:
|
||||
for username in self._username_cache:
|
||||
exec_cmd("sa-learn -u {0} --sync".format(username),
|
||||
**self._learn_cmd_kwargs)
|
||||
|
||||
|
||||
class QuarantineNavigationParameters(NavigationParameters):
|
||||
"""
|
||||
Specific NavigationParameters subclass for the quarantine.
|
||||
@@ -89,7 +189,10 @@ class QuarantineNavigationParameters(NavigationParameters):
|
||||
request, 'quarantine_navparams'
|
||||
)
|
||||
self.parameters += [
|
||||
('msgtype', None, False), ('viewrequests', None, False)
|
||||
('pattern', '', False),
|
||||
('criteria', 'from_addr', False),
|
||||
('msgtype', None, False),
|
||||
('viewrequests', None, False)
|
||||
]
|
||||
|
||||
def _store_page(self):
|
||||
@@ -123,22 +226,23 @@ class QuarantineNavigationParameters(NavigationParameters):
|
||||
return url
|
||||
|
||||
|
||||
def create_user_and_policy(name):
|
||||
def create_user_and_policy(name, priority=7):
|
||||
"""Create records.
|
||||
|
||||
Create two records (a user and a policy) using :keyword:`name` as
|
||||
an identifier.
|
||||
|
||||
:param str name: name
|
||||
:return: the new ``Policy`` object
|
||||
"""
|
||||
policy = Policy.objects.create(policy_name=name[:32])
|
||||
Users.objects.create(
|
||||
email="@%s" % name, fullname=name,
|
||||
priority=7, policy=policy
|
||||
email=name, fullname=name, priority=priority, policy=policy
|
||||
)
|
||||
return policy
|
||||
|
||||
|
||||
def create_user_and_use_policy(name, policy_name):
|
||||
def create_user_and_use_policy(name, policy_name, priority=7):
|
||||
"""Create a *users* record and use an existing policy.
|
||||
|
||||
:param str name: user record name
|
||||
@@ -146,8 +250,7 @@ def create_user_and_use_policy(name, policy_name):
|
||||
"""
|
||||
policy = Policy.objects.get(policy_name=policy_name[:32])
|
||||
Users.objects.create(
|
||||
email="@%s" % name, fullname=name,
|
||||
priority=7, policy=policy
|
||||
email=name, fullname=name, priority=priority, policy=policy
|
||||
)
|
||||
|
||||
|
||||
@@ -159,8 +262,8 @@ def update_user_and_policy(oldname, newname):
|
||||
"""
|
||||
if oldname == newname:
|
||||
return
|
||||
u = Users.objects.get(email="@%s" % oldname)
|
||||
u.email = "@%s" % newname
|
||||
u = Users.objects.get(email=oldname)
|
||||
u.email = newname
|
||||
u.fullname = newname
|
||||
u.policy.policy_name = newname[:32]
|
||||
u.policy.save()
|
||||
@@ -173,7 +276,7 @@ def delete_user_and_policy(name):
|
||||
:param str name: identifier
|
||||
"""
|
||||
try:
|
||||
u = Users.objects.get(email="@%s" % name)
|
||||
u = Users.objects.get(email=name)
|
||||
except Users.DoesNotExist:
|
||||
return
|
||||
u.policy.delete()
|
||||
@@ -186,6 +289,53 @@ def delete_user(name):
|
||||
:param str name: user record name
|
||||
"""
|
||||
try:
|
||||
Users.objects.get(email="@%s" % name).delete()
|
||||
Users.objects.get(email=name).delete()
|
||||
except Users.DoesNotExist:
|
||||
pass
|
||||
|
||||
|
||||
def manual_learning_enabled(user):
|
||||
"""Check if manual learning is enabled or not.
|
||||
|
||||
Also check for :kw:`user` if necessary.
|
||||
|
||||
:return: True if learning is enabled, False otherwise.
|
||||
"""
|
||||
manual_learning = parameters.get_admin("MANUAL_LEARNING") == "yes"
|
||||
if manual_learning and user.group != 'SuperAdmins':
|
||||
domain_level_learning = parameters.get_admin(
|
||||
"DOMAIN_LEVEL_LEARNING") == "yes"
|
||||
user_level_learning = parameters.get_admin(
|
||||
"USER_LEVEL_LEARNING") == "yes"
|
||||
if user.has_perm("admin.view_domains"):
|
||||
manual_learning = domain_level_learning or user_level_learning
|
||||
else:
|
||||
manual_learning = user_level_learning
|
||||
return manual_learning
|
||||
|
||||
|
||||
def setup_manual_learning_for_domain(domain):
|
||||
"""Setup manual learning if necessary.
|
||||
|
||||
:return: True if learning has been setup, False otherwise
|
||||
"""
|
||||
if Policy.objects.filter(sa_username=domain.name).count():
|
||||
return False
|
||||
policy = Policy.objects.get(policy_name=domain.name)
|
||||
policy.sa_username = domain.name
|
||||
policy.save()
|
||||
return True
|
||||
|
||||
|
||||
def setup_manual_learning_for_mbox(mbox):
|
||||
"""Setup manual learning if necessary.
|
||||
|
||||
:return: True if learning has been setup, False otherwise
|
||||
"""
|
||||
result = False
|
||||
if not Policy.objects.filter(policy_name=mbox.full_address).exists():
|
||||
policy = create_user_and_policy(mbox.full_address)
|
||||
for alias in mbox.alias_addresses:
|
||||
create_user_and_use_policy(alias, policy)
|
||||
result = True
|
||||
return result
|
||||
|
||||
@@ -92,7 +92,7 @@ class SQLconnector(object):
|
||||
|
||||
Filters: rs, rid, content
|
||||
"""
|
||||
flt = Q(rs__in=[' ', 'V', 'R', 'p']) \
|
||||
flt = Q(rs__in=[' ', 'V', 'R', 'p', 'S', 'H']) \
|
||||
if self.navparams.get('viewrequests', '0') != '1' else Q(rs='p')
|
||||
flt = self._apply_msgrcpt_filters(flt)
|
||||
pattern = self.navparams.get("pattern", "")
|
||||
@@ -122,7 +122,7 @@ class SQLconnector(object):
|
||||
mail__in=Quarantine.objects.filter(chunk_ind=1).values("mail_id")
|
||||
)
|
||||
|
||||
messages = Msgrcpt.objects.select_related().filter(flt)
|
||||
messages = Msgrcpt.objects.select_related("mail", "rid").filter(flt)
|
||||
messages = self._apply_extra_select_filters(messages)
|
||||
return messages
|
||||
|
||||
@@ -156,21 +156,21 @@ class SQLconnector(object):
|
||||
"""
|
||||
emails = []
|
||||
for qm in self.messages[start - 1:stop]:
|
||||
m = {"from": qm["mail__from_addr"],
|
||||
"to": qm["rid__email"],
|
||||
"subject": qm["mail__subject"],
|
||||
"mailid": qm["mail__mail_id"],
|
||||
"date": datetime.datetime.fromtimestamp(qm["mail__time_num"]),
|
||||
"type": qm["content"],
|
||||
"score": qm["bspam_level"]}
|
||||
rs = qm["rs"]
|
||||
if rs == 'D':
|
||||
if qm["rs"] == 'D':
|
||||
continue
|
||||
elif rs in ['', ' ']:
|
||||
m = {
|
||||
"from": qm["mail__from_addr"],
|
||||
"to": qm["rid__email"],
|
||||
"subject": qm["mail__subject"],
|
||||
"mailid": qm["mail__mail_id"],
|
||||
"date": datetime.datetime.fromtimestamp(qm["mail__time_num"]),
|
||||
"type": qm["content"],
|
||||
"score": qm["bspam_level"],
|
||||
"status": qm["rs"]
|
||||
}
|
||||
if qm["rs"] in ['', ' ']:
|
||||
m["class"] = "unseen"
|
||||
elif rs == 'R':
|
||||
m["img_rstatus"] = static_url("pics/release.png")
|
||||
elif rs == 'p':
|
||||
elif qm["rs"] == 'p':
|
||||
m["class"] = "pending"
|
||||
emails.append(m)
|
||||
return emails
|
||||
@@ -222,6 +222,11 @@ class PgSQLconnector(SQLconnector):
|
||||
|
||||
Make use of ``QuerySet.extra`` and postgres ``convert_from``
|
||||
function to let the quarantine manager work as expected !
|
||||
|
||||
The T4 alias is not a random choice. The generated query was
|
||||
dumped to found it. Be careful since it can changes with
|
||||
future Django versions...
|
||||
|
||||
"""
|
||||
|
||||
def _apply_msgrcpt_filters(self, flt):
|
||||
@@ -246,11 +251,13 @@ class PgSQLconnector(SQLconnector):
|
||||
def _apply_extra_search_filter(self, crit, pattern):
|
||||
"""Apply search filters using additional criterias.
|
||||
|
||||
|
||||
"""
|
||||
if crit == "to":
|
||||
self._where.append(
|
||||
"convert_from(maddr.email, 'UTF8') LIKE '%%%s%%'"
|
||||
% pattern)
|
||||
"convert_from(maddr.email, 'UTF8') LIKE '%%{0}%%'".format(
|
||||
pattern)
|
||||
)
|
||||
return None
|
||||
|
||||
def _apply_extra_select_filters(self, messages):
|
||||
|
||||
@@ -93,10 +93,18 @@ Quarantine.prototype = {
|
||||
$.proxy(this.release_selection, this));
|
||||
$(document).on("click", "a[name=delete-multi]",
|
||||
$.proxy(this.delete_selection, this));
|
||||
$(document).on("click", "a[name=mark-as-spam-multi]",
|
||||
$.proxy(this.mark_selection_as_spam, this));
|
||||
$(document).on("click", "a[name=mark-as-ham-multi]",
|
||||
$.proxy(this.mark_selection_as_ham, this));
|
||||
$(document).on("click", "a[name=viewrequests]",
|
||||
$.proxy(this.view_requests, this));
|
||||
$(document).on("click", "a[name=release]", $.proxy(this.release, this));
|
||||
$(document).on("click", "a[name=delete]", $.proxy(this.delete, this));
|
||||
$(document).on("click", "a[name=mark-as-spam]",
|
||||
$.proxy(this.mark_as_spam, this));
|
||||
$(document).on("click", "a[name=mark-as-ham]",
|
||||
$.proxy(this.mark_as_ham, this));
|
||||
$(document).on("click", "a[name=headers]", $.proxy(this.headers, this));
|
||||
$(document).on("click", "td[name=type] span", $.proxy(this.filter_by_type, this));
|
||||
$(document).on("click", "#filters label", $.proxy(this.filter_by_type, this));
|
||||
@@ -214,14 +222,12 @@ Quarantine.prototype = {
|
||||
this.navobj.update();
|
||||
},
|
||||
|
||||
_send_selection: function(e, name, message) {
|
||||
var $link = $(e.target);
|
||||
|
||||
e.preventDefault();
|
||||
if (!this.htmltable.current_selection().length ||
|
||||
!confirm(message)) {
|
||||
return;
|
||||
}
|
||||
/**
|
||||
* Return the list of currently selected messages.
|
||||
*
|
||||
* @return {Array} - list of message IDs
|
||||
*/
|
||||
get_current_selection: function() {
|
||||
var selection = [];
|
||||
|
||||
this.htmltable.current_selection().each(function() {
|
||||
@@ -234,12 +240,30 @@ Quarantine.prototype = {
|
||||
selection.push($tr.attr("id"));
|
||||
}
|
||||
});
|
||||
return selection;
|
||||
},
|
||||
|
||||
_send_selection: function(e, name, message) {
|
||||
var $link = $(e.target);
|
||||
|
||||
e.preventDefault();
|
||||
if (!this.htmltable.current_selection().length ||
|
||||
!confirm(message)) {
|
||||
return;
|
||||
}
|
||||
var selection = this.get_current_selection();
|
||||
|
||||
$.ajax({
|
||||
url: $link.attr("href"),
|
||||
data: "action=" + name + "&selection=" + selection.join(","),
|
||||
type: 'POST',
|
||||
dataType: 'json'
|
||||
}).done($.proxy(this.action_cb, this));
|
||||
}).done(
|
||||
$.proxy(this.action_cb, this)
|
||||
).fail(function(jqxhr) {
|
||||
var data = $.parseJSON(jqxhr.responseText);
|
||||
$("body").notify("error", data.message);
|
||||
});
|
||||
},
|
||||
|
||||
release_selection: function(e) {
|
||||
@@ -250,6 +274,62 @@ Quarantine.prototype = {
|
||||
this._send_selection(e, "delete", gettext("Delete this selection?"));
|
||||
},
|
||||
|
||||
/**
|
||||
* Show the recipient selection form inside a modal box.
|
||||
*
|
||||
* @param {Object} evt - event object
|
||||
* @param {string} ltype - learning type (spam or ham)
|
||||
*/
|
||||
show_select_rcpt_form: function(evt, ltype, selection) {
|
||||
if (selection === undefined) {
|
||||
selection = this.get_current_selection();
|
||||
}
|
||||
var url = this.options.learning_recipient_url +
|
||||
"?type=" + ltype + "&selection=" +
|
||||
selection.join(",");
|
||||
var $this = this;
|
||||
|
||||
modalbox(evt, null, url, function() {
|
||||
$(".submit").on("click", function(evt) {
|
||||
simple_ajax_form_post(evt, {
|
||||
formid: "learning_recipient_form",
|
||||
reload_on_success: false,
|
||||
success_cb: $this.action_cb
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Mark the current selection as spam.
|
||||
*
|
||||
* @param {Object} e - event object
|
||||
*/
|
||||
mark_selection_as_spam: function(e) {
|
||||
if (this.options.check_learning_rcpt &&
|
||||
this.htmltable.current_selection().length) {
|
||||
this.show_select_rcpt_form(e, "spam");
|
||||
} else {
|
||||
this._send_selection(
|
||||
e, "mark_as_spam", gettext("Mark this selection as spam?"));
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Mark the current selection as ham.
|
||||
*
|
||||
* @param {Object} e - event object
|
||||
*/
|
||||
mark_selection_as_ham: function(e) {
|
||||
if (this.options.check_learning_rcpt &&
|
||||
this.htmltable.current_selection().length) {
|
||||
this.show_select_rcpt_form(e, "ham");
|
||||
} else {
|
||||
this._send_selection(
|
||||
e, "mark_as_ham", gettext("Mark this selection as non-spam?"));
|
||||
}
|
||||
},
|
||||
|
||||
_send_action: function(e, message) {
|
||||
var $link = get_target(e, "a");
|
||||
|
||||
@@ -262,10 +342,15 @@ Quarantine.prototype = {
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
data: {rcpt: get_parameter_by_name($link.attr("href"), 'rcpt')}
|
||||
}).done($.proxy(this.action_cb, this));
|
||||
}).done(
|
||||
$.proxy(this.action_cb, this)
|
||||
).fail(function(jqxhr) {
|
||||
var data = $.parseJSON(jqxhr.responseText);
|
||||
$("body").notify("error", data.message);
|
||||
});
|
||||
},
|
||||
|
||||
release: function(e) {
|
||||
release : function(e) {
|
||||
this._send_action(e, gettext("Release this message?"));
|
||||
},
|
||||
|
||||
@@ -273,6 +358,38 @@ Quarantine.prototype = {
|
||||
this._send_action(e, gettext("Delete this message?"));
|
||||
},
|
||||
|
||||
/**
|
||||
* Mark the current message as spam.
|
||||
*
|
||||
* @param {Object} e - event object
|
||||
*/
|
||||
mark_as_spam: function(e) {
|
||||
if (this.options.check_learning_rcpt) {
|
||||
var $link = get_target(e, "a");
|
||||
var selection = get_parameter_by_name($link.attr("href"), "rcpt") +
|
||||
" " + $link.attr("data-mail-id");
|
||||
this.show_select_rcpt_form(e, "spam", [selection]);
|
||||
} else {
|
||||
this._send_action(e, gettext("Mark as spam?"));
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Mark the current message as ham.
|
||||
*
|
||||
* @param {Object} e - event object
|
||||
*/
|
||||
mark_as_ham: function(e) {
|
||||
if (this.options.check_learning_rcpt) {
|
||||
var $link = get_target(e, "a");
|
||||
var selection = get_parameter_by_name($link.attr("href"), "rcpt") +
|
||||
" " + $link.attr("data-mail-id");
|
||||
this.show_select_rcpt_form(e, "ham", [selection]);
|
||||
} else {
|
||||
this._send_action(e, gettext("Mark as non-spam?"));
|
||||
}
|
||||
},
|
||||
|
||||
show_rawheaders: function($mailcontent) {
|
||||
$mailcontent.find("#rawheaders").removeClass("hidden");
|
||||
$mailcontent.find("#emailheaders").addClass("hidden");
|
||||
@@ -320,15 +437,13 @@ Quarantine.prototype = {
|
||||
},
|
||||
|
||||
activate_buttons: function($tr) {
|
||||
$("a[name=release-multi]").removeClass('disabled');
|
||||
$("a[name=delete-multi]").removeClass('disabled');
|
||||
$("a[name*=-multi]").removeClass('disabled');
|
||||
$("#selectall").prop('checked', true);
|
||||
},
|
||||
|
||||
deactivate_buttons: function($tr) {
|
||||
if (!this.htmltable || !this.htmltable.current_selection().length) {
|
||||
$("a[name=release-multi]").addClass('disabled');
|
||||
$("a[name=delete-multi]").addClass('disabled');
|
||||
$("a[name*=-multi]").addClass('disabled');
|
||||
$("#selectall").prop('checked', false);
|
||||
}
|
||||
},
|
||||
@@ -361,12 +476,13 @@ Quarantine.prototype = {
|
||||
},
|
||||
|
||||
action_cb: function(data) {
|
||||
if (data.status == "ok") {
|
||||
this.navobj.parse_string(data.url, true).update(true);
|
||||
$("body").notify("success", data.respmsg, 2000);
|
||||
} else {
|
||||
$("body").notify("error", data.respmsg);
|
||||
if (data.reload) {
|
||||
this.navobj.update(true);
|
||||
}
|
||||
if (data.url) {
|
||||
this.navobj.parse_string(data.url, true).update(true);
|
||||
}
|
||||
$("body").notify("success", data.message, 2000);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{% load amavis_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% for email in email_list %}
|
||||
<tr id="{{ email.mailid }}">
|
||||
@@ -9,7 +10,13 @@
|
||||
{{ email.type|msgtype_to_html }}
|
||||
</td>
|
||||
<td width="25px" name="rstatus">
|
||||
{% if email.img_rstatus %}<img src="{{ email.img_rstatus }}" />{% endif %}
|
||||
{% if email.status == 'R' %}
|
||||
<img src="{% static 'pics/release.png' %}" />
|
||||
{% else if email.status == 'S' %}
|
||||
<span class="fa fa-thumbs-ip"></span>
|
||||
{% else if email.status == 'H' %}
|
||||
<span class="fa fa-thumbs-down"></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="openable {{ email.class }}" name="score">{{ email.score }}</td>
|
||||
<td class="openable {{ email.class }}" name="to">{{ email.to }}</td>
|
||||
|
||||
@@ -22,6 +22,8 @@ $(document).ready(function() {
|
||||
deflocation: "listing/?sort_order=-date&reset_page=true",
|
||||
defcallback: "listing_cb",
|
||||
load_page_url: "{% url 'amavis:mail_page' %}"
|
||||
check_learning_rcpt: {{ check_learning_rcpt }},
|
||||
learning_recipient_url: "{% url 'amavis:learning_recipient_set' %}"
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -29,8 +31,7 @@ $(document).ready(function() {
|
||||
|
||||
{% block container_content %}
|
||||
<div id="menubar">
|
||||
{% quar_menu %}
|
||||
{% quar_menu user %}
|
||||
</div>
|
||||
|
||||
<div id="listing"></div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{% if manual_learning %}<li><a name="selectmsgs" href="C">{% trans "Clean" %}</a></li>{% endif %}
|
||||
<li><a name="selectmsgs" href="S">{% trans "Spam" %}</a></li>
|
||||
<li><a name="selectmsgs" href="V">{% trans "Virus" %}</a></li>
|
||||
<li><a name="selectmsgs" href="H">{% trans "Bad Header" %}</a></li>
|
||||
@@ -25,7 +26,19 @@
|
||||
<a name="delete-multi" href="{% url 'amavis:mail_process' %}" class="btn btn-danger disabled">
|
||||
<span class="fa fa-trash"></span> {% trans 'Delete' %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% if manual_learning %}
|
||||
<div class="btn-group" title="{% trans 'Manual learning' %}">
|
||||
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="fa fa-cog"></span> <span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a name="mark-as-spam-multi" href="{% url 'amavis:mail_process' %}">{% trans "Mark as spam" %}</a></li>
|
||||
<li><a name="mark-as-ham-multi" href="{% url 'amavis:mail_process' %}">{% trans "Mark as non-spam" %}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4">
|
||||
@@ -40,6 +53,11 @@
|
||||
<label class="btn btn-default active">
|
||||
<input type="radio" name="msgtype_all" title="{% trans 'All messages' %}" checked> {% trans "All" %}
|
||||
</label>
|
||||
{% if manual_learning %}
|
||||
<label class="btn btn-success">
|
||||
<input type="radio" name="msgtype_C" title="{% trans 'Clean only' %}"> C
|
||||
</label>
|
||||
{% endif %}
|
||||
<label class="btn btn-danger">
|
||||
<input type="radio" name="msgtype_S" title="{% trans 'Spam only' %}"> S
|
||||
</label>
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
"""
|
||||
Amavis frontend template tags.
|
||||
"""
|
||||
|
||||
from django import template
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.template.loader import render_to_string
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from ..lib import manual_learning_enabled
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
||||
@register.simple_tag
|
||||
def viewm_menu(mail_id, rcpt):
|
||||
def viewm_menu(user, mail_id, rcpt):
|
||||
"""Menu displayed within the viewmail action."""
|
||||
entries = [
|
||||
{"name": "back",
|
||||
"url": "javascript:history.go(-1);",
|
||||
@@ -34,6 +40,30 @@ def viewm_menu(mail_id, rcpt):
|
||||
"label": _("View full headers")},
|
||||
]
|
||||
|
||||
if manual_learning_enabled(user):
|
||||
entries.insert(2, {
|
||||
"name": "process",
|
||||
"img": "icon-cog",
|
||||
"menu": [
|
||||
{"name": "mark-as-spam",
|
||||
"label": _("Mark as spam"),
|
||||
"url": reverse(
|
||||
"amavis:mail_mark_as_spam", args=[mail_id]
|
||||
) + ("?rcpt=%s" % rcpt if rcpt else ""),
|
||||
"extra_attributes": {
|
||||
"data-mail-id": mail_id
|
||||
}},
|
||||
{"name": "mark-as-ham",
|
||||
"label": _("Mark as non-spam"),
|
||||
"url": reverse(
|
||||
"amavis:mail_mark_as_ham", args=[mail_id]
|
||||
) + ("?rcpt=%s" % rcpt if rcpt else ""),
|
||||
"extra_attributes": {
|
||||
"data-mail-id": mail_id
|
||||
}}
|
||||
]
|
||||
})
|
||||
|
||||
menu = render_to_string('common/buttons_list.html',
|
||||
{"entries": entries, "extraclasses": "pull-left"})
|
||||
|
||||
@@ -72,22 +102,28 @@ def viewm_menu_simple(user, mail_id, rcpt, secret_id=""):
|
||||
|
||||
|
||||
@register.simple_tag
|
||||
def quar_menu():
|
||||
def quar_menu(user):
|
||||
"""Render the quarantine listing menu.
|
||||
|
||||
:rtype: str
|
||||
:return: resulting HTML
|
||||
"""
|
||||
extraopts = [{"name": "to", "label": _("To")}]
|
||||
return render_to_string('amavis/main_action_bar.html', {
|
||||
'extraopts': extraopts
|
||||
return render_to_string("amavis/main_action_bar.html", {
|
||||
"extraopts": extraopts,
|
||||
"manual_learning": manual_learning_enabled(user)
|
||||
})
|
||||
|
||||
|
||||
@register.filter
|
||||
def msgtype_to_html(msgtype):
|
||||
"""Transform a message type to a bootstrap label."""
|
||||
color = 'danger' if msgtype in ['S', 'V'] else 'warning'
|
||||
if msgtype in ["S", "V"]:
|
||||
color = 'danger'
|
||||
elif msgtype == "C":
|
||||
color = "success"
|
||||
else:
|
||||
color = "warning"
|
||||
return mark_safe(
|
||||
'<span class="label label-%s">%s</span>' % (color, msgtype)
|
||||
)
|
||||
|
||||
@@ -12,6 +12,12 @@ urlpatterns = patterns(
|
||||
url(r'^delete/(?P<mail_id>[\w\-\+]+)/$', 'delete', name="mail_delete"),
|
||||
url(r'^release/(?P<mail_id>[\w\-\+]+)/$', 'release',
|
||||
name="mail_release"),
|
||||
url(r'^markspam/(?P<mail_id>[\w\-\+]+)/$', 'mark_as_spam',
|
||||
name="mail_mark_as_spam"),
|
||||
url(r'^markham/(?P<mail_id>[\w\-\+]+)/$', 'mark_as_ham',
|
||||
name="mail_mark_as_ham"),
|
||||
url(r'^learning_recipient/$', 'learning_recipient',
|
||||
name="learning_recipient_set"),
|
||||
url(r'^(?P<mail_id>[\w\-\+]+)/$', 'viewmail', name="mail_detail"),
|
||||
url(r'^(?P<mail_id>[\w\-\+]+)/headers/$', 'viewheaders',
|
||||
name="headers_detail"),
|
||||
|
||||
@@ -4,6 +4,8 @@ Amavis quarantine views.
|
||||
"""
|
||||
import email
|
||||
|
||||
import chardet
|
||||
|
||||
from django.shortcuts import render
|
||||
from django.http import HttpResponseRedirect, Http404
|
||||
from django.template import Template, Context
|
||||
@@ -15,13 +17,17 @@ from modoboa.lib import parameters
|
||||
from modoboa.lib.exceptions import BadRequest
|
||||
from modoboa.lib.paginator import Paginator
|
||||
from modoboa.lib.webutils import (
|
||||
getctx, ajax_response, render_to_json_response, _render_to_string
|
||||
getctx, render_to_json_response, _render_to_string
|
||||
)
|
||||
from modoboa.extensions.admin.models import Mailbox, Domain
|
||||
from modoboa.extensions.amavis.templatetags.amavis_tags import (
|
||||
quar_menu, viewm_menu
|
||||
)
|
||||
from .lib import selfservice, AMrelease, QuarantineNavigationParameters
|
||||
from .lib import (
|
||||
selfservice, AMrelease, QuarantineNavigationParameters,
|
||||
SpamassassinClient, manual_learning_enabled
|
||||
)
|
||||
from .forms import LearningRecipientForm
|
||||
from .models import Msgrcpt
|
||||
from .sql_connector import get_connector
|
||||
from .sql_email import SQLemail
|
||||
@@ -94,7 +100,7 @@ def _listing(request):
|
||||
)
|
||||
del context["rows"]
|
||||
if request.session.get('location', 'listing') != 'listing':
|
||||
context["menu"] = quar_menu()
|
||||
context["menu"] = quar_menu(request.user)
|
||||
request.session["location"] = "listingx"
|
||||
return render_to_json_response(context)
|
||||
|
||||
@@ -102,8 +108,17 @@ def _listing(request):
|
||||
@login_required
|
||||
def index(request):
|
||||
"""Default view."""
|
||||
check_learning_rcpt = "false"
|
||||
if parameters.get_admin("MANUAL_LEARNING") == "yes":
|
||||
if request.user.group != "SimpleUsers":
|
||||
user_level_learning = parameters.get_admin(
|
||||
"USER_LEVEL_LEARNING") == "yes"
|
||||
domain_level_learning = parameters.get_admin(
|
||||
"DOMAIN_LEVEL_LEARNING") == "yes"
|
||||
if user_level_learning or domain_level_learning:
|
||||
check_learning_rcpt = "true"
|
||||
return render(request, "amavis/index.html", dict(
|
||||
selection="quarantine"
|
||||
selection="quarantine", check_learning_rcpt=check_learning_rcpt
|
||||
))
|
||||
|
||||
|
||||
@@ -152,7 +167,7 @@ def viewmail(request, mail_id):
|
||||
content = Template("""
|
||||
<iframe src="{{ url }}" id="mailcontent"></iframe>
|
||||
""").render(Context({"url": reverse("amavis:mailcontent_get", args=[mail_id])}))
|
||||
menu = viewm_menu(mail_id, rcpt)
|
||||
menu = viewm_menu(request.user, mail_id, rcpt)
|
||||
ctx = getctx("ok", menu=menu, listing=content)
|
||||
request.session['location'] = 'viewmail'
|
||||
return render_to_json_response(ctx)
|
||||
@@ -160,12 +175,20 @@ def viewmail(request, mail_id):
|
||||
|
||||
@login_required
|
||||
def viewheaders(request, mail_id):
|
||||
"""Display message headers."""
|
||||
content = ""
|
||||
for qm in get_connector().get_mail_content(mail_id):
|
||||
content += qm.mail_text
|
||||
msg = email.message_from_string(content)
|
||||
headers = []
|
||||
for name, value in msg.items():
|
||||
if value:
|
||||
result = chardet.detect(value)
|
||||
if result["encoding"] is not None:
|
||||
value = value.decode(result["encoding"])
|
||||
headers += [(name, value)]
|
||||
return render(request, 'amavis/viewheader.html', {
|
||||
"headers": msg.items()
|
||||
"headers": headers
|
||||
})
|
||||
|
||||
|
||||
@@ -178,6 +201,21 @@ def check_mail_id(request, mail_id):
|
||||
return mail_id
|
||||
|
||||
|
||||
def get_user_valid_addresses(user):
|
||||
"""Retrieve all valid addresses of a user."""
|
||||
if user.group == 'SimpleUsers':
|
||||
valid_addresses = user.email
|
||||
try:
|
||||
mb = Mailbox.objects.get(user=user)
|
||||
except Mailbox.DoesNotExist:
|
||||
pass
|
||||
else:
|
||||
valid_addresses += mb.alias_addresses
|
||||
else:
|
||||
valid_addresses = None
|
||||
return valid_addresses
|
||||
|
||||
|
||||
def delete_selfservice(request, mail_id):
|
||||
rcpt = request.GET.get("rcpt", None)
|
||||
if rcpt is None:
|
||||
@@ -197,21 +235,19 @@ def delete(request, mail_id):
|
||||
"""
|
||||
mail_id = check_mail_id(request, mail_id)
|
||||
connector = get_connector()
|
||||
mb = Mailbox.objects.get(user=request.user) \
|
||||
if request.user.group == 'SimpleUsers' else None
|
||||
valid_addresses = get_user_valid_addresses(request.user)
|
||||
for mid in mail_id:
|
||||
r, i = mid.split()
|
||||
if mb is not None and r != mb.full_address \
|
||||
and r not in mb.alias_addresses:
|
||||
if valid_addresses is not None and r not in valid_addresses:
|
||||
continue
|
||||
connector.set_msgrcpt_status(r, i, 'D')
|
||||
message = ungettext("%(count)d message deleted successfully",
|
||||
"%(count)d messages deleted successfully",
|
||||
len(mail_id)) % {"count": len(mail_id)}
|
||||
return ajax_response(
|
||||
request, respmsg=message,
|
||||
url=QuarantineNavigationParameters(request).back_to_listing()
|
||||
)
|
||||
return render_to_json_response({
|
||||
"message": message,
|
||||
"url": QuarantineNavigationParameters(request).back_to_listing()
|
||||
})
|
||||
|
||||
|
||||
def release_selfservice(request, mail_id):
|
||||
@@ -249,15 +285,14 @@ def release(request, mail_id):
|
||||
mail_id = check_mail_id(request, mail_id)
|
||||
msgrcpts = []
|
||||
connector = get_connector()
|
||||
mb = Mailbox.objects.get(user=request.user) \
|
||||
if request.user.group == 'SimpleUsers' else None
|
||||
valid_addresses = get_user_valid_addresses(request.user)
|
||||
for mid in mail_id:
|
||||
r, i = mid.split()
|
||||
if mb is not None and r != mb.full_address \
|
||||
and r not in mb.alias_addresses:
|
||||
if valid_addresses is not None and r not in valid_addresses:
|
||||
continue
|
||||
msgrcpts += [connector.get_recipient_message(r, i)]
|
||||
if mb is not None and parameters.get_admin("USER_CAN_RELEASE") == "no":
|
||||
if request.user.group == "SimpleUsers" and \
|
||||
parameters.get_admin("USER_CAN_RELEASE") == "no":
|
||||
for msgrcpt in msgrcpts:
|
||||
connector.set_msgrcpt_status(
|
||||
msgrcpt.rid.email, msgrcpt.mail.mail_id, 'p'
|
||||
@@ -265,10 +300,10 @@ def release(request, mail_id):
|
||||
message = ungettext("%(count)d request sent",
|
||||
"%(count)d requests sent",
|
||||
len(mail_id)) % {"count": len(mail_id)}
|
||||
return ajax_response(
|
||||
request, "ok", respmsg=message,
|
||||
url=QuarantineNavigationParameters(request).back_to_listing()
|
||||
)
|
||||
return render_to_json_response({
|
||||
"message": message,
|
||||
"url": QuarantineNavigationParameters(request).back_to_listing()
|
||||
})
|
||||
|
||||
amr = AMrelease()
|
||||
error = None
|
||||
@@ -288,17 +323,107 @@ def release(request, mail_id):
|
||||
len(mail_id)) % {"count": len(mail_id)}
|
||||
else:
|
||||
message = error
|
||||
return ajax_response(
|
||||
request, "ko" if error else "ok", respmsg=message,
|
||||
url=QuarantineNavigationParameters(request).back_to_listing()
|
||||
)
|
||||
status = 400 if error else 200
|
||||
return render_to_json_response({
|
||||
"message": message,
|
||||
"url": QuarantineNavigationParameters(request).back_to_listing()
|
||||
}, status=status)
|
||||
|
||||
|
||||
def mark_messages(request, selection, mtype, recipient_db=None):
|
||||
"""Mark a selection of messages as spam.
|
||||
|
||||
:param str selection: message unique identifier
|
||||
:param str mtype: type of marking (spam or ham)
|
||||
"""
|
||||
if not manual_learning_enabled(request.user):
|
||||
return render_to_json_response({"status": "ok"})
|
||||
if recipient_db is None:
|
||||
recipient_db = (
|
||||
"user" if request.user.group == "SimpleUsers" else "global"
|
||||
)
|
||||
selection = check_mail_id(request, selection)
|
||||
connector = get_connector()
|
||||
saclient = SpamassassinClient(request.user, recipient_db)
|
||||
for item in selection:
|
||||
rcpt, mail_id = item.split()
|
||||
content = "".join(
|
||||
[msg.mail_text for msg in connector.get_mail_content(mail_id)]
|
||||
)
|
||||
result = saclient.learn_spam(rcpt, content) if mtype == "spam" \
|
||||
else saclient.learn_ham(rcpt, content)
|
||||
if not result:
|
||||
break
|
||||
connector.set_msgrcpt_status(rcpt, mail_id, mtype[0].upper())
|
||||
if saclient.error is None:
|
||||
saclient.done()
|
||||
message = ungettext("%(count)d message processed successfully",
|
||||
"%(count)d messages processed successfully",
|
||||
len(selection)) % {"count": len(selection)}
|
||||
else:
|
||||
message = saclient.error
|
||||
status = 400 if saclient.error else 200
|
||||
return render_to_json_response({
|
||||
"message": message, "reload": True
|
||||
}, status=status)
|
||||
|
||||
|
||||
@login_required
|
||||
def learning_recipient(request):
|
||||
"""A view to select the recipient database of a learning action."""
|
||||
if request.method == "POST":
|
||||
form = LearningRecipientForm(request.user, request.POST)
|
||||
if form.is_valid():
|
||||
return mark_messages(
|
||||
request,
|
||||
form.cleaned_data["selection"].split(","),
|
||||
form.cleaned_data["ltype"],
|
||||
form.cleaned_data["recipient"]
|
||||
)
|
||||
return render_to_json_response(
|
||||
{"form_errors": form.errors}, status=400
|
||||
)
|
||||
ltype = request.GET.get("type", None)
|
||||
selection = request.GET.get("selection", None)
|
||||
if ltype is None or selection is None:
|
||||
raise BadRequest
|
||||
form = LearningRecipientForm(request.user)
|
||||
form.fields["ltype"].initial = ltype
|
||||
form.fields["selection"].initial = selection
|
||||
return render(request, "common/generic_modal_form.html", {
|
||||
"title": _("Select a database"),
|
||||
"formid": "learning_recipient_form",
|
||||
"action": reverse("modoboa.extensions.amavis.views.learning_recipient"),
|
||||
"action_classes": "submit",
|
||||
"action_label": _("Validate"),
|
||||
"form": form
|
||||
})
|
||||
|
||||
|
||||
@login_required
|
||||
def mark_as_spam(request, mail_id):
|
||||
"""Mark a single message as spam."""
|
||||
return mark_messages(request, mail_id, "spam")
|
||||
|
||||
|
||||
@login_required
|
||||
def mark_as_ham(request, mail_id):
|
||||
"""Mark a single message as ham."""
|
||||
return mark_messages(request, mail_id, "ham")
|
||||
|
||||
|
||||
@login_required
|
||||
def process(request):
|
||||
"""Process a selection of messages.
|
||||
|
||||
The request must specify an action to execute against the
|
||||
selection.
|
||||
|
||||
"""
|
||||
action = request.POST.get("action", None)
|
||||
ids = request.POST.get("selection", "")
|
||||
ids = ids.split(",")
|
||||
if not len(ids):
|
||||
if not ids or action is None:
|
||||
return HttpResponseRedirect(reverse("amavis:index"))
|
||||
|
||||
if request.POST["action"] == "release":
|
||||
@@ -306,3 +431,9 @@ def process(request):
|
||||
|
||||
if request.POST["action"] == "delete":
|
||||
return delete(request, ids)
|
||||
|
||||
if request.POST["action"] == "mark_as_spam":
|
||||
return mark_messages(request, ids, "spam")
|
||||
|
||||
if request.POST["action"] == "mark_as_ham":
|
||||
return mark_messages(request, ids, "ham")
|
||||
|
||||
@@ -7,24 +7,27 @@ from modoboa.extensions.amavis.lib import (
|
||||
|
||||
@events.observe("RelayDomainCreated")
|
||||
def on_relay_domain_created(user, rdomain):
|
||||
create_user_and_policy(rdomain.name)
|
||||
create_user_and_policy("@{0}".format(rdomain.name))
|
||||
|
||||
|
||||
@events.observe("RelayDomainModified")
|
||||
def on_relay_domain_modified(rdomain):
|
||||
update_user_and_policy(rdomain.oldname, rdomain.name)
|
||||
update_user_and_policy(
|
||||
"@{0}".format(rdomain.oldname), "@{0}".format(rdomain.name)
|
||||
)
|
||||
|
||||
|
||||
@events.observe("RelayDomainDeleted")
|
||||
def on_relay_domain_deleted(rdomain):
|
||||
delete_user_and_policy(rdomain.name)
|
||||
delete_user_and_policy("@{0}".format(rdomain.name))
|
||||
|
||||
|
||||
@events.observe("RelayDomainAliasCreated")
|
||||
def on_relay_domain_alias_created(user, rdomainalias):
|
||||
create_user_and_use_policy(rdomainalias.name, rdomainalias.target.name)
|
||||
create_user_and_use_policy(
|
||||
"@{0}".format(rdomainalias.name), rdomainalias.target.name)
|
||||
|
||||
|
||||
@events.observe("RelayDomainAliasDeleted")
|
||||
def on_relay_domain_alias_deleted(rdomainalias):
|
||||
delete_user(rdomainalias.name)
|
||||
delete_user("@{0}".format(rdomainalias.name))
|
||||
|
||||
@@ -24,13 +24,15 @@ import re
|
||||
import rrdtool
|
||||
import string
|
||||
from optparse import make_option
|
||||
|
||||
from django import db
|
||||
from django.core.management.base import BaseCommand
|
||||
from modoboa.lib import parameters
|
||||
|
||||
from modoboa.core.extensions import exts_pool
|
||||
from modoboa.extensions.admin.models import Domain
|
||||
from modoboa.extensions.stats import Stats
|
||||
from modoboa.extensions.stats.lib import date_to_timestamp
|
||||
|
||||
from modoboa.lib import parameters
|
||||
|
||||
rrdstep = 60
|
||||
xpoints = 540
|
||||
@@ -63,9 +65,7 @@ class LogParser(object):
|
||||
|
||||
self.data = {}
|
||||
self.domains = []
|
||||
for dom in Domain.objects.all():
|
||||
self.domains += [str(dom.name)]
|
||||
self.data[str(dom.name)] = {}
|
||||
self._load_domain_list()
|
||||
self.data["global"] = {}
|
||||
|
||||
self.workdict = {}
|
||||
@@ -83,6 +83,24 @@ class LogParser(object):
|
||||
self._prev_ho = -1
|
||||
self.cur_t = 0
|
||||
|
||||
def _load_domain_list(self):
|
||||
"""Load the list of allowed domains.
|
||||
|
||||
Since the relay domains feature is an extension of the admin
|
||||
panel, we don't use an event to get the list of all supported
|
||||
domains...
|
||||
|
||||
"""
|
||||
for dom in Domain.objects.all():
|
||||
self.domains += [str(dom.name)]
|
||||
self.data[str(dom.name)] = {}
|
||||
if not exts_pool.is_extension_enabled("postfix_relay_domains"):
|
||||
return
|
||||
from modoboa.extensions.postfix_relay_domains.models import RelayDomain
|
||||
for rdom in RelayDomain.objects.all():
|
||||
self.domains += [str(rdom.name)]
|
||||
self.data[str(rdom.name)] = {}
|
||||
|
||||
def _dprint(self, msg):
|
||||
"""Print a debug message if required.
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
$(document).ready(function() {
|
||||
var stats = new Stats({
|
||||
graphurl: "{% url 'stats:graph_list' %}",
|
||||
domain_list_url: "{% url 'admin:domain_flat_list' %}",
|
||||
domain_list_url: "{% url 'stats:domain_list' %}",
|
||||
deflocation: "{{ deflocation|safe }}",
|
||||
language: "{{ LANGUAGE_CODE }}"
|
||||
});
|
||||
|
||||
@@ -6,4 +6,5 @@ urlpatterns = patterns(
|
||||
|
||||
url(r'^$', 'index', name='fullindex'),
|
||||
url(r'^graphs/$', "graphs", name="graph_list"),
|
||||
url(r'^domains/$', "get_domain_list", name="domain_list"),
|
||||
)
|
||||
|
||||
@@ -6,6 +6,8 @@ from django.utils.translation import ugettext as _
|
||||
from django.contrib.auth.decorators import (
|
||||
login_required, user_passes_test, permission_required
|
||||
)
|
||||
|
||||
from modoboa.core.extensions import exts_pool
|
||||
from modoboa.lib import events
|
||||
from modoboa.lib.exceptions import BadRequest, PermDeniedException, NotFound
|
||||
from modoboa.lib.webutils import (
|
||||
@@ -44,6 +46,38 @@ def index(request):
|
||||
})
|
||||
|
||||
|
||||
def check_domain_access(user, pattern):
|
||||
"""Check if an administrator can access a domain/relay domain.
|
||||
|
||||
If a non super administrator asks for the global view, we give him
|
||||
a view on the first domain he manage instead.
|
||||
|
||||
:return: a domain name (str) or None.
|
||||
"""
|
||||
targets = [Domain]
|
||||
if exts_pool.is_extension_enabled("postfix_relay_domains"):
|
||||
from modoboa.extensions.postfix_relay_domains.models import RelayDomain
|
||||
targets.append(RelayDomain)
|
||||
|
||||
if pattern in [None, "global"]:
|
||||
if not user.is_superuser:
|
||||
for target in targets:
|
||||
if not target.objects.get_for_admin(user).count():
|
||||
continue
|
||||
return target.objects.get_for_admin(user)[0].name
|
||||
return None
|
||||
return "global"
|
||||
|
||||
for target in targets:
|
||||
results = target.objects.filter(name__startswith=pattern)
|
||||
if results.count() != 1:
|
||||
continue
|
||||
if not user.can_access(results[0]):
|
||||
raise PermDeniedException
|
||||
return results[0].name
|
||||
return None
|
||||
|
||||
|
||||
@login_required
|
||||
@user_passes_test(lambda u: u.group != "SimpleUsers")
|
||||
def graphs(request):
|
||||
@@ -54,22 +88,11 @@ def graphs(request):
|
||||
searchq = request.GET.get("searchquery", None)
|
||||
period = request.GET.get("period", "day")
|
||||
tplvars = dict(graphs={}, period=period)
|
||||
if searchq in [None, "global"]:
|
||||
if not request.user.is_superuser:
|
||||
if not Domain.objects.get_for_admin(request.user).count():
|
||||
return render_to_json_response({})
|
||||
tplvars.update(
|
||||
domain=Domain.objects.get_for_admin(request.user)[0].name
|
||||
)
|
||||
else:
|
||||
tplvars.update(domain="global")
|
||||
else:
|
||||
domain = Domain.objects.filter(name__contains=searchq)
|
||||
if domain.count() != 1:
|
||||
return render_to_json_response({})
|
||||
if not request.user.can_access(domain[0]):
|
||||
raise PermDeniedException
|
||||
tplvars.update(domain=domain[0].name)
|
||||
domain = check_domain_access(request.user, searchq)
|
||||
if domain is None:
|
||||
return render_to_json_response({})
|
||||
tplvars["domain"] = domain
|
||||
|
||||
if period == "custom":
|
||||
if not "start" in request.GET or not "end" in request.GET:
|
||||
raise BadRequest(_("Bad custom period"))
|
||||
@@ -90,3 +113,17 @@ def graphs(request):
|
||||
tplvars["end"] = end
|
||||
|
||||
return render_to_json_response(tplvars)
|
||||
|
||||
|
||||
@login_required
|
||||
@user_passes_test(lambda u: u.group != "SimpleUsers")
|
||||
def get_domain_list(request):
|
||||
"""Get the list of domains (and relay domains) the user can see."""
|
||||
doms = [dom.name for dom in Domain.objects.get_for_admin(request.user)]
|
||||
if exts_pool.is_extension_enabled("postfix_relay_domains"):
|
||||
from modoboa.extensions.postfix_relay_domains.models import RelayDomain
|
||||
doms += [
|
||||
rdom.name for rdom in
|
||||
RelayDomain.objects.get_for_admin(request.user)
|
||||
]
|
||||
return render_to_json_response(doms)
|
||||
|
||||
@@ -68,9 +68,13 @@ class Email(object):
|
||||
"""
|
||||
fname = msg.get_filename()
|
||||
if fname is not None:
|
||||
if type(fname) is unicode:
|
||||
fname = fname.encode("utf-8")
|
||||
decoded = decode_header(fname)
|
||||
value = decoded[0][1] is None and decoded[0][0] \
|
||||
or unicode(decoded[0][0], decoded[0][1])
|
||||
value = (
|
||||
decoded[0][0] if decoded[0][1] is None
|
||||
else unicode(decoded[0][0], decoded[0][1])
|
||||
)
|
||||
else:
|
||||
value = "part_%s" % level
|
||||
self.attachments[level] = value
|
||||
|
||||
+13
-7
@@ -9,7 +9,7 @@ import inspect
|
||||
import re
|
||||
|
||||
|
||||
def exec_cmd(cmd, sudo_user=None, capture_output=True, **kwargs):
|
||||
def exec_cmd(cmd, sudo_user=None, pinput=None, capture_output=True, **kwargs):
|
||||
"""Execute a shell command.
|
||||
|
||||
Run a command using the current user. Set :keyword:`sudo_user` if
|
||||
@@ -17,20 +17,26 @@ def exec_cmd(cmd, sudo_user=None, capture_output=True, **kwargs):
|
||||
|
||||
:param str cmd: the command to execute
|
||||
:param str sudo_user: a valid system username
|
||||
:param str pinput: data to send to process's stdin
|
||||
:param bool capture_output: capture process output or not
|
||||
:rtype: tuple
|
||||
:return: return code, command output
|
||||
"""
|
||||
if sudo_user is not None:
|
||||
cmd = "sudo -u %s %s" % (sudo_user, cmd)
|
||||
kwargs["shell"] = True
|
||||
if pinput is not None:
|
||||
kwargs["stdin"] = subprocess.PIPE
|
||||
if capture_output:
|
||||
kwargs.update(stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
p = subprocess.Popen(cmd, **kwargs)
|
||||
output = p.communicate()[0]
|
||||
return p.returncode, output
|
||||
p = subprocess.Popen(cmd, **kwargs)
|
||||
p.wait()
|
||||
return p.returncode, None
|
||||
process = subprocess.Popen(cmd, **kwargs)
|
||||
if pinput or capture_output:
|
||||
c_args = [pinput] if pinput is not None else []
|
||||
output = process.communicate(*c_args)[0]
|
||||
else:
|
||||
output = None
|
||||
process.wait()
|
||||
return process.returncode, output
|
||||
|
||||
|
||||
def guess_extension_name():
|
||||
|
||||
@@ -91,6 +91,8 @@ class ImgColumn(Column):
|
||||
return ""
|
||||
|
||||
def render(self, value):
|
||||
if getattr(self, "bootstrap", False) and value.startswith("icon"):
|
||||
return "<i class='%s'></i>" % value
|
||||
if type(value) in [list, tuple]:
|
||||
return "".join(["<img src='%s' />" % i for i in value])
|
||||
return "<img src='%s' />" % value
|
||||
|
||||
@@ -40,7 +40,9 @@ def render_link(linkdef, mdclass=""):
|
||||
{% if link.modalcb %}modalcb="{{ link.modalcb }}"{% endif %}
|
||||
{% if link.closecb %}closecb="{{ link.closecb }}"{% endif %}
|
||||
class="{{ mdclass }}{% if link.class %} {{ link.class }}{% endif %}"
|
||||
{% if link.confirm %} onclick="return confirm('{{ link.confirm }}')"{% endif %}>
|
||||
{% if link.confirm %} onclick="return confirm('{{ link.confirm }}')"{% endif %}
|
||||
{% for attr, value in link.extra_attributes.items %} {{ attr }}="{{ value }}"{% endfor %}
|
||||
>
|
||||
{% if link.img %}<i class="{{ link.img }}"></i>{% endif %}
|
||||
{{ link.label }}</a>""")
|
||||
return t.render(Context(dict(link=linkdef, mdclass=mdclass)))
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: modoboa-1.0.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:29+0200\n"
|
||||
"POT-Creation-Date: 2014-11-04 11:51+0100\n"
|
||||
"PO-Revision-Date: 2013-09-29 22:08+0100\n"
|
||||
"Last-Translator: Miroslav Abrahám <miris@kunago.com>\n"
|
||||
"Language-Team: CS <miris@kunago.com>\n"
|
||||
@@ -19,8 +19,8 @@ msgstr ""
|
||||
"X-Generator: Poedit 1.5.7\n"
|
||||
|
||||
#: core/__init__.py:52 core/__init__.py:53
|
||||
#: extensions/admin/forms/account.py:326 extensions/admin/forms/domain.py:256
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:129
|
||||
#: extensions/admin/forms/account.py:327 extensions/admin/forms/domain.py:248
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:133
|
||||
#: extensions/postfix_autoreply/app_settings.py:11
|
||||
#: extensions/postfix_relay_domains/forms.py:138
|
||||
#: extensions/sievefilters/app_settings.py:50
|
||||
@@ -290,8 +290,8 @@ msgstr "Neplatný požadavek"
|
||||
msgid "This field is required"
|
||||
msgstr "Toto pole je vyžadováno"
|
||||
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:87
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:29
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:157
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:41
|
||||
#: extensions/webmail/app_settings.py:73
|
||||
msgid "Display"
|
||||
msgstr "Zobrazení"
|
||||
@@ -347,36 +347,36 @@ msgstr "Poslední přihlášení"
|
||||
msgid "You can't delete your own account"
|
||||
msgstr "Nemůžete smazat vlastní účet"
|
||||
|
||||
#: core/models.py:117
|
||||
#: core/models.py:130
|
||||
msgid "Failed to update password: LDAP module not installed"
|
||||
msgstr "Nebylo možné změnit heslo: LDAP modul není instalován"
|
||||
|
||||
#: core/models.py:170
|
||||
#: core/models.py:183
|
||||
msgid "account"
|
||||
msgstr "účet"
|
||||
|
||||
#: core/models.py:321 extensions/admin/models/domain.py:144
|
||||
#: core/models.py:334 extensions/admin/models/domain.py:144
|
||||
#: extensions/admin/models/domain_alias.py:39
|
||||
#: extensions/postfix_relay_domains/models.py:134
|
||||
#: extensions/postfix_relay_domains/models.py:190
|
||||
msgid "Invalid line"
|
||||
msgstr "Neplatný řádek"
|
||||
|
||||
#: core/models.py:325
|
||||
#: core/models.py:338
|
||||
msgid "You can't import an account with a role greater than yours"
|
||||
msgstr "Nemůžete importvat účet s vyšším oprávněním, než máte vy sám"
|
||||
|
||||
#: core/models.py:337
|
||||
#: core/models.py:350
|
||||
#, python-format
|
||||
msgid "The simple user '%s' must have a valid email address"
|
||||
msgstr "Uživatel '%s' musí mít nastavenou platnou emailovou adresu"
|
||||
|
||||
#: core/models.py:341
|
||||
#: core/models.py:354
|
||||
#, python-format
|
||||
msgid "username and email fields must not differ for '%s'"
|
||||
msgstr "pole uživatelského jména a emailu se nesmí pro '%s' lišit"
|
||||
|
||||
#: core/models.py:410 extensions/admin/models/alias.py:35
|
||||
#: core/models.py:423 extensions/admin/models/alias.py:35
|
||||
#: extensions/admin/models/domain.py:32
|
||||
#: extensions/admin/models/domain_alias.py:17
|
||||
#: extensions/postfix_autoreply/models.py:28
|
||||
@@ -385,29 +385,29 @@ msgstr "pole uživatelského jména a emailu se nesmí pro '%s' lišit"
|
||||
msgid "enabled"
|
||||
msgstr "povoleno"
|
||||
|
||||
#: core/models.py:411
|
||||
#: core/models.py:424
|
||||
msgid "Check to enable this extension"
|
||||
msgstr "Zatrhněte pole pro povolení tohoto rozšíření"
|
||||
|
||||
#: core/models.py:491
|
||||
#: core/models.py:504
|
||||
msgid "added"
|
||||
msgstr "přidáno"
|
||||
|
||||
#: core/models.py:494
|
||||
#: core/models.py:507
|
||||
msgid "modified"
|
||||
msgstr "upraveno"
|
||||
|
||||
#: core/models.py:496 core/models.py:521
|
||||
#: core/models.py:509 core/models.py:534
|
||||
#, python-format
|
||||
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
|
||||
msgstr "%(object)s '%(name)s' %(action)s uživatelem %(user)s"
|
||||
|
||||
#: core/models.py:523
|
||||
#: core/models.py:536
|
||||
msgid "deleted"
|
||||
msgstr "smazáno"
|
||||
|
||||
#: core/tables.py:8 core/templates/core/information.html:8
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:187
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:179
|
||||
#: extensions/admin/templates/admin/domains_table.html:5
|
||||
#: extensions/admin/templates/admin/editdomainform.html:13
|
||||
#: extensions/admin/templates/admin/identities_table.html:5
|
||||
@@ -523,7 +523,7 @@ msgstr "Aktualizovat osobní informace"
|
||||
#: core/templates/core/user_profile.html:8
|
||||
#: extensions/admin/templates/admin/forward.html:8
|
||||
#: extensions/admin/views/alias.py:112 extensions/admin/views/domain.py:168
|
||||
#: extensions/admin/views/identity.py:200
|
||||
#: extensions/admin/views/identity.py:204
|
||||
#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
|
||||
#: extensions/postfix_relay_domains/views.py:66
|
||||
#: extensions/sievefilters/views.py:166 extensions/webmail/views.py:172
|
||||
@@ -652,7 +652,7 @@ msgstr "Přeposlat"
|
||||
msgid "Account import failed (%s): domain does not exist"
|
||||
msgstr "Import účtu nebyl úspěšný (%s): doména neexistuje"
|
||||
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:196
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:197
|
||||
#, python-format
|
||||
msgid "Mailbox %s already exists"
|
||||
msgstr "Schránka %s již existuje"
|
||||
@@ -662,6 +662,13 @@ msgstr "Schránka %s již existuje"
|
||||
msgid "Account import failed (%s): wrong quota value"
|
||||
msgstr "Import účtu nebyl úspěšný (%s): doména neexistuje"
|
||||
|
||||
#: extensions/admin/__init__.py:212 extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
#, fuzzy
|
||||
msgid "domain alias"
|
||||
msgstr "Doménové aliasy"
|
||||
|
||||
#: extensions/admin/app_settings.py:13
|
||||
#: extensions/admin/templates/admin/editdomainform.html:25
|
||||
#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
|
||||
@@ -710,7 +717,7 @@ msgid "When a mailbox is removed, also remove the associated account"
|
||||
msgstr "Když je schránka odstraněná, odstranit také přiřazený účet uživatele"
|
||||
|
||||
#: extensions/admin/app_settings.py:81 extensions/admin/forms/account.py:178
|
||||
#: extensions/admin/forms/domain.py:56
|
||||
#: extensions/admin/forms/domain.py:57
|
||||
msgid "Must be a positive integer"
|
||||
msgstr ""
|
||||
|
||||
@@ -758,7 +765,7 @@ msgstr "Nemůžete zakázat váš vlastní účet"
|
||||
msgid "E-mail"
|
||||
msgstr "E-mail"
|
||||
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:17
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:18
|
||||
msgid "Quota"
|
||||
msgstr "Kvóta"
|
||||
|
||||
@@ -772,7 +779,7 @@ msgstr ""
|
||||
"hodnotu domény. Ponechejte prázdné pro neomezenou kvótu (není povoleno "
|
||||
"správcům domény)."
|
||||
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:26
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:27
|
||||
#: extensions/admin/templates/admin/domains_table.html:6
|
||||
#: extensions/postfix_relay_domains/forms.py:12
|
||||
msgid "Alias(es)"
|
||||
@@ -788,25 +795,25 @@ msgstr ""
|
||||
"pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte '*' (např. "
|
||||
"*@domena.cz)."
|
||||
|
||||
#: extensions/admin/forms/account.py:187 extensions/admin/forms/account.py:217
|
||||
#: extensions/admin/forms/account.py:188 extensions/admin/forms/account.py:218
|
||||
#: extensions/admin/forms/alias.py:65
|
||||
msgid "Domain does not exist"
|
||||
msgstr "Doména neexistuje"
|
||||
|
||||
#: extensions/admin/forms/account.py:284
|
||||
#: extensions/admin/forms/account.py:285
|
||||
msgid "Domain(s)"
|
||||
msgstr "Doména(y)"
|
||||
|
||||
#: extensions/admin/forms/account.py:286
|
||||
#: extensions/admin/forms/account.py:287
|
||||
msgid "Domain(s) that user administrates"
|
||||
msgstr "Doména(y) pod správou uživatele"
|
||||
|
||||
#: extensions/admin/forms/account.py:328
|
||||
#: extensions/admin/views/identity.py:132
|
||||
#: extensions/admin/forms/account.py:329
|
||||
#: extensions/admin/views/identity.py:136
|
||||
msgid "Mail"
|
||||
msgstr "Mail"
|
||||
|
||||
#: extensions/admin/forms/account.py:330
|
||||
#: extensions/admin/forms/account.py:331
|
||||
msgid "Permissions"
|
||||
msgstr "Oprávnění"
|
||||
|
||||
@@ -857,14 +864,14 @@ msgstr "Příjemce %s je již vložen"
|
||||
msgid "No recipient defined"
|
||||
msgstr "Nebyl určen příjemce"
|
||||
|
||||
#: extensions/admin/forms/domain.py:20
|
||||
#: extensions/admin/forms/domain.py:21
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Default quota in MB applied to mailboxes. Leave empty to use the default "
|
||||
"value."
|
||||
msgstr "Výchozí kvóta schránek v MB"
|
||||
|
||||
#: extensions/admin/forms/domain.py:29
|
||||
#: extensions/admin/forms/domain.py:30
|
||||
msgid ""
|
||||
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
|
||||
"add a new input."
|
||||
@@ -872,55 +879,48 @@ msgstr ""
|
||||
"Alias(y) této domény. Uveďte na řádek pouze jeden alias; pro vložení dalšího "
|
||||
"aliasu stiskněte po vložení ENTER."
|
||||
|
||||
#: extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
#, fuzzy
|
||||
msgid "domain alias"
|
||||
msgstr "Doménové aliasy"
|
||||
|
||||
#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
|
||||
#: extensions/admin/forms/domain.py:78 extensions/admin/forms/domain.py:92
|
||||
#: extensions/postfix_relay_domains/forms.py:58
|
||||
#: extensions/postfix_relay_domains/forms.py:78
|
||||
#, fuzzy, python-format
|
||||
msgid "A %s with this name already exists"
|
||||
msgstr "Alias s tímto názvem již existuje"
|
||||
|
||||
#: extensions/admin/forms/domain.py:92
|
||||
#: extensions/admin/forms/domain.py:89
|
||||
#: extensions/postfix_relay_domains/forms.py:49
|
||||
#: extensions/postfix_relay_domains/forms.py:71
|
||||
#, fuzzy
|
||||
msgid "domain"
|
||||
msgstr "Domény"
|
||||
|
||||
#: extensions/admin/forms/domain.py:181
|
||||
#: extensions/admin/forms/domain.py:173
|
||||
msgid "Create a domain administrator"
|
||||
msgstr "Vytvořit správce domény"
|
||||
|
||||
#: extensions/admin/forms/domain.py:183
|
||||
#: extensions/admin/forms/domain.py:175
|
||||
msgid "Automatically create an administrator for this domain"
|
||||
msgstr "Automaticky vytvořit správce této domény"
|
||||
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
#: extensions/admin/forms/domain.py:182
|
||||
msgid ""
|
||||
"The administrator's name. Don't include the domain's name here, it will be "
|
||||
"automatically appended."
|
||||
msgstr ""
|
||||
"Jméno správce. Nevkládejte sem název domény, název bude automaticky doplněn."
|
||||
|
||||
#: extensions/admin/forms/domain.py:198
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
msgid "Create aliases"
|
||||
msgstr "Vytvořit aliasy"
|
||||
|
||||
#: extensions/admin/forms/domain.py:200
|
||||
#: extensions/admin/forms/domain.py:192
|
||||
msgid "Automatically create standard aliases for this domain"
|
||||
msgstr "Automaticky vytvořit běžné aliasy pro tuto doménu"
|
||||
|
||||
#: extensions/admin/forms/domain.py:216
|
||||
#: extensions/admin/forms/domain.py:208
|
||||
msgid "Invalid format"
|
||||
msgstr "Neplatný formát"
|
||||
|
||||
#: extensions/admin/forms/domain.py:230
|
||||
#: extensions/admin/forms/domain.py:222
|
||||
#, python-format
|
||||
msgid "User '%s' already exists"
|
||||
msgstr "Uživatel '%s' již existuje"
|
||||
@@ -957,7 +957,7 @@ msgstr ""
|
||||
"Nemůžete nastavit přeposílání na místní adresu. Požádejte správce o "
|
||||
"vytvoření aliasu."
|
||||
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:198
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:200
|
||||
msgid "Select a file"
|
||||
msgstr "Vybrat soubor"
|
||||
|
||||
@@ -977,7 +977,7 @@ msgstr "Zašifrovat hesla"
|
||||
msgid "Check this option if passwords contained in your file are not crypted"
|
||||
msgstr "Zatrhněte toto pole, pokud hesla ve vašem souboru nejsou zašifrována"
|
||||
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:62
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:74
|
||||
msgid "address"
|
||||
msgstr "adresa"
|
||||
|
||||
@@ -1076,21 +1076,21 @@ msgstr "Doména, na kterou tento alias odkazuje"
|
||||
msgid "Unknown domain %s"
|
||||
msgstr "Neznámá doména %s"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:63
|
||||
#: extensions/admin/models/mailbox.py:75
|
||||
msgid "Mailbox address (without the @domain.tld part)"
|
||||
msgstr "Adresa schránky (bez části @doména.tld)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:125
|
||||
#: extensions/admin/models/mailbox.py:136
|
||||
#, python-format
|
||||
msgid "Failed to retrieve mailbox location (%s)"
|
||||
msgstr "Nebylo možné zjistit umístění schránky (%s)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:194
|
||||
#: extensions/admin/models/mailbox.py:221
|
||||
#, python-format
|
||||
msgid "Quota is greater than the allowed domain's limit (%dM)"
|
||||
msgstr "Zvolená kvóta je větší než povolené omezení domény (%dM)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:199
|
||||
#: extensions/admin/models/mailbox.py:227
|
||||
msgid "A quota is required"
|
||||
msgstr "Kvóta je vyžadována"
|
||||
|
||||
@@ -1163,7 +1163,7 @@ msgid "Importing..."
|
||||
msgstr "Importuji..."
|
||||
|
||||
#: extensions/admin/templates/admin/listing.html:14
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
#: extensions/stats/templates/stats/index.html:23
|
||||
msgid "Filter"
|
||||
msgstr "Filtr"
|
||||
|
||||
@@ -1265,8 +1265,8 @@ msgid "Alias with this name already exists"
|
||||
msgstr "Alias s tímto názvem již existuje"
|
||||
|
||||
#: extensions/admin/views/alias.py:50 extensions/admin/views/domain.py:102
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:133
|
||||
#: extensions/admin/views/identity.py:160
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:137
|
||||
#: extensions/admin/views/identity.py:164
|
||||
#: extensions/postfix_relay_domains/views.py:34
|
||||
#: extensions/sievefilters/views.py:144 extensions/sievefilters/views.py:233
|
||||
#: extensions/webmail/views.py:153
|
||||
@@ -1309,7 +1309,7 @@ msgstr "Přeposílání upraveno"
|
||||
msgid "Alias modified"
|
||||
msgstr "Alias upraven"
|
||||
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:130
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:134
|
||||
msgid "Next"
|
||||
msgstr "Další"
|
||||
|
||||
@@ -1317,7 +1317,7 @@ msgstr "Další"
|
||||
msgid "Options"
|
||||
msgstr "Možnosti"
|
||||
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:134
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:138
|
||||
msgid "Previous"
|
||||
msgstr "Předchozí"
|
||||
|
||||
@@ -1352,11 +1352,11 @@ msgstr "Exportovat identity"
|
||||
msgid "Export domains"
|
||||
msgstr "Exportovat domény"
|
||||
|
||||
#: extensions/admin/views/identity.py:104
|
||||
#: extensions/admin/views/identity.py:227
|
||||
#: extensions/admin/views/identity.py:232 extensions/amavis/views.py:144
|
||||
#: extensions/amavis/views.py:148 extensions/amavis/views.py:181
|
||||
#: extensions/amavis/views.py:186 extensions/amavis/views.py:188
|
||||
#: extensions/admin/views/identity.py:108
|
||||
#: extensions/admin/views/identity.py:231
|
||||
#: extensions/admin/views/identity.py:236 extensions/amavis/views.py:172
|
||||
#: extensions/amavis/views.py:176 extensions/amavis/views.py:207
|
||||
#: extensions/amavis/views.py:212 extensions/amavis/views.py:214
|
||||
#: extensions/webmail/views.py:49 extensions/webmail/views.py:67
|
||||
#: extensions/webmail/views.py:81 extensions/webmail/views.py:99
|
||||
#: extensions/webmail/views.py:116 extensions/webmail/views.py:202
|
||||
@@ -1367,19 +1367,19 @@ msgstr "Exportovat domény"
|
||||
msgid "Invalid request"
|
||||
msgstr "Neplatný požadavek"
|
||||
|
||||
#: extensions/admin/views/identity.py:151
|
||||
#: extensions/admin/views/identity.py:155
|
||||
msgid "Account created"
|
||||
msgstr "Účet vytvořen"
|
||||
|
||||
#: extensions/admin/views/identity.py:157
|
||||
#: extensions/admin/views/identity.py:161
|
||||
msgid "New account"
|
||||
msgstr "Nový účet"
|
||||
|
||||
#: extensions/admin/views/identity.py:193
|
||||
#: extensions/admin/views/identity.py:197
|
||||
msgid "Account updated"
|
||||
msgstr "Účet aktualizován"
|
||||
|
||||
#: extensions/admin/views/identity.py:217
|
||||
#: extensions/admin/views/identity.py:221
|
||||
msgid "Account deleted"
|
||||
msgid_plural "Accounts deleted"
|
||||
msgstr[0] "Účet smazán"
|
||||
@@ -1465,126 +1465,213 @@ msgstr "Přeposílání aktualizováno"
|
||||
msgid "Simple amavis management frontend"
|
||||
msgstr "Jednoduché rozhraní pro správu amavis"
|
||||
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:18
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:20
|
||||
msgid "Quarantine"
|
||||
msgstr "Karanténa"
|
||||
|
||||
#: extensions/amavis/app_settings.py:11
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
msgid "Quarantine settings"
|
||||
msgstr "Nastavení karantény"
|
||||
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
#: extensions/amavis/app_settings.py:17
|
||||
msgid "Maximum message age"
|
||||
msgstr "Maximální stáří zprávy"
|
||||
|
||||
#: extensions/amavis/app_settings.py:16
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
msgid "Quarantine messages maximum age (in days) before deletion"
|
||||
msgstr "Maximální doba karantény zpráv (ve dnech) před jejich smazáním"
|
||||
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
msgid "Messages releasing"
|
||||
msgstr "Odblokování zpráv"
|
||||
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
#: extensions/amavis/app_settings.py:25
|
||||
msgid "Remove released messages"
|
||||
msgstr "Odstranit odblokované zprávy"
|
||||
|
||||
#: extensions/amavis/app_settings.py:24
|
||||
#: extensions/amavis/app_settings.py:27
|
||||
msgid "Remove messages marked as released while cleaning up the database"
|
||||
msgstr ""
|
||||
"Odstranit zprávy, které jsou označeny jako odblokované, při čištění databáze"
|
||||
|
||||
#: extensions/amavis/app_settings.py:28
|
||||
#: extensions/amavis/app_settings.py:32
|
||||
msgid "Amavis connection mode"
|
||||
msgstr "Režim připojení amavis"
|
||||
|
||||
#: extensions/amavis/app_settings.py:31
|
||||
#: extensions/amavis/app_settings.py:35
|
||||
msgid "Mode used to access the PDP server"
|
||||
msgstr "Používaný režim pro přístup k PDP serveru"
|
||||
|
||||
#: extensions/amavis/app_settings.py:36
|
||||
#: extensions/amavis/app_settings.py:40
|
||||
msgid "PDP server address"
|
||||
msgstr "adresa PDP serveru"
|
||||
|
||||
#: extensions/amavis/app_settings.py:38
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
msgid "PDP server address (if inet mode)"
|
||||
msgstr "adresa PDP serveru (v režimu inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
#: extensions/amavis/app_settings.py:46
|
||||
msgid "PDP server port"
|
||||
msgstr "port PDP serveru"
|
||||
|
||||
#: extensions/amavis/app_settings.py:44
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
msgid "PDP server port (if inet mode)"
|
||||
msgstr "port PDP serveru (v režimu inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
#: extensions/amavis/app_settings.py:52
|
||||
msgid "PDP server socket"
|
||||
msgstr "socket PDP serveru"
|
||||
|
||||
#: extensions/amavis/app_settings.py:50
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
msgid "Path to the PDP server socket (if unix mode)"
|
||||
msgstr "Cesta k socketu PDP serveru (v režimu unix)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
#: extensions/amavis/app_settings.py:58
|
||||
msgid "Check requests interval"
|
||||
msgstr "Interval kontroly požadavků"
|
||||
|
||||
#: extensions/amavis/app_settings.py:56
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
msgid "Interval between two release requests checks"
|
||||
msgstr ""
|
||||
"Časový interval mezi jednotlivými kontrolami na požadavky pro odblokování"
|
||||
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
#: extensions/amavis/app_settings.py:64
|
||||
msgid "Allow direct release"
|
||||
msgstr "Umožnit přímé odbokování"
|
||||
|
||||
#: extensions/amavis/app_settings.py:62
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
msgid "Allow users to directly release their messages"
|
||||
msgstr "Umožnit napřímo uživatelům doblokovat jejich zprávy"
|
||||
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
#: extensions/amavis/app_settings.py:70
|
||||
msgid "Enable self-service mode"
|
||||
msgstr "Povolit samoobslužný režim"
|
||||
|
||||
#: extensions/amavis/app_settings.py:68
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
msgid "Activate the 'self-service' mode"
|
||||
msgstr "Aktivovat samoobslužný režim"
|
||||
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
#: extensions/amavis/app_settings.py:76
|
||||
msgid "Notifications sender"
|
||||
msgstr "Odesílatel upozornění"
|
||||
|
||||
#: extensions/amavis/app_settings.py:74
|
||||
#: extensions/amavis/app_settings.py:78
|
||||
msgid "The e-mail address used to send notitications"
|
||||
msgstr "E-mailová adresa používaná k zasílání upozornění"
|
||||
|
||||
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
|
||||
#: extensions/amavis/app_settings.py:81
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:28
|
||||
msgid "Manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:84
|
||||
msgid "Enable manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:87
|
||||
msgid "Allow super administrators to manually train Spamassassin"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
msgid "Is Spamassassin local?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:95
|
||||
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:100
|
||||
#, fuzzy
|
||||
msgid "Default user"
|
||||
msgstr "Výchozí editor"
|
||||
|
||||
#: extensions/amavis/app_settings.py:103
|
||||
msgid "Name of the user owning the default bayesian database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:108
|
||||
#, fuzzy
|
||||
msgid "Spamd address"
|
||||
msgstr "Z adresy"
|
||||
|
||||
#: extensions/amavis/app_settings.py:110
|
||||
msgid "The IP address where spamd can be reached"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:114
|
||||
#, fuzzy
|
||||
msgid "Spamd port"
|
||||
msgstr "Spam"
|
||||
|
||||
#: extensions/amavis/app_settings.py:116
|
||||
msgid "The TCP port spamd is listening on"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:120
|
||||
msgid "Enable per-domain manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:123
|
||||
msgid ""
|
||||
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
||||
"domain databases)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:129
|
||||
msgid "Enable per-user manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:132
|
||||
msgid ""
|
||||
"Allow simple users to personally train Spamassassin (within a dedicated "
|
||||
"database)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:161 extensions/webmail/app_settings.py:91
|
||||
msgid "Number of displayed emails per page"
|
||||
msgstr "Počet zobrazených zpráv na stránce"
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
#: extensions/amavis/app_settings.py:162
|
||||
msgid "Set the maximum number of messages displayed in a page"
|
||||
msgstr "Nastavit maximální počet zobrazených zpráv na stránce"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:82
|
||||
#: extensions/amavis/forms.py:83
|
||||
msgid "Global database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/forms.py:89
|
||||
#, fuzzy
|
||||
msgid "Domain's database"
|
||||
msgstr "Doménové aliasy"
|
||||
|
||||
#: extensions/amavis/forms.py:91
|
||||
#, fuzzy
|
||||
msgid "User's database"
|
||||
msgstr "Základna struktury"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:136
|
||||
msgid "pending requests"
|
||||
msgstr "nevyřízené požadavky"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:125
|
||||
#: extensions/amavis/general_callbacks.py:179
|
||||
#, fuzzy
|
||||
msgid "Pending requests"
|
||||
msgstr "nevyřízené požadavky"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:135
|
||||
#: extensions/amavis/general_callbacks.py:189
|
||||
msgid "Content filter"
|
||||
msgstr "Filtr obsahu"
|
||||
|
||||
#: extensions/amavis/lib.py:56
|
||||
#: extensions/amavis/lib.py:62
|
||||
#, python-format
|
||||
msgid "Connection to amavis failed: %s"
|
||||
msgstr "Spojení s amavis selhalo: %s"
|
||||
|
||||
#: extensions/amavis/lib.py:131
|
||||
#, fuzzy
|
||||
msgid "No recipient found"
|
||||
msgstr "Nebyl určen příjemce"
|
||||
|
||||
#: extensions/amavis/models.py:93
|
||||
msgid "Virus filter"
|
||||
msgstr "Filtr virů"
|
||||
@@ -1648,8 +1735,8 @@ msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/sql_listing.py:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:75
|
||||
#: extensions/webmail/forms.py:82
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:106
|
||||
#: extensions/webmail/forms.py:83
|
||||
msgid "To"
|
||||
msgstr "Komu"
|
||||
|
||||
@@ -1660,21 +1747,21 @@ msgid "From"
|
||||
msgstr "Od"
|
||||
|
||||
#: extensions/amavis/sql_listing.py:40 extensions/sievefilters/forms.py:77
|
||||
#: extensions/webmail/forms.py:86 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/forms.py:87 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/lib/listing.py:27 extensions/webmail/lib/tables.py:26
|
||||
#: templates/common/email_searchbar.html:6
|
||||
msgid "Subject"
|
||||
msgstr "Předmět"
|
||||
|
||||
#: extensions/amavis/views.py:27
|
||||
#: extensions/amavis/views.py:31
|
||||
msgid "Empty quarantine"
|
||||
msgstr "Vyprázdnit karanténu"
|
||||
|
||||
#: extensions/amavis/views.py:149
|
||||
#: extensions/amavis/views.py:177
|
||||
msgid "Message deleted"
|
||||
msgstr "Zpráva smazána"
|
||||
|
||||
#: extensions/amavis/views.py:168
|
||||
#: extensions/amavis/views.py:194
|
||||
#, python-format
|
||||
msgid "%(count)d message deleted successfully"
|
||||
msgid_plural "%(count)d messages deleted successfully"
|
||||
@@ -1682,15 +1769,15 @@ msgstr[0] "%(count)d zpráva úspěšně smazána"
|
||||
msgstr[1] "%(count)d zprávy úspěšně smazány"
|
||||
msgstr[2] "%(count)d zpráv úspěšně smazáno"
|
||||
|
||||
#: extensions/amavis/views.py:191
|
||||
#: extensions/amavis/views.py:217
|
||||
msgid "Request sent"
|
||||
msgstr "Požadavek odeslán"
|
||||
|
||||
#: extensions/amavis/views.py:197
|
||||
#: extensions/amavis/views.py:223
|
||||
msgid "Message released"
|
||||
msgstr "Zprávy odblokována"
|
||||
|
||||
#: extensions/amavis/views.py:225
|
||||
#: extensions/amavis/views.py:250
|
||||
#, python-format
|
||||
msgid "%(count)d request sent"
|
||||
msgid_plural "%(count)d requests sent"
|
||||
@@ -1698,7 +1785,7 @@ msgstr[0] "%(count)d požadavek odeslán"
|
||||
msgstr[1] "%(count)d požadavky odeslány"
|
||||
msgstr[2] "%(count)d požadavků odesláno"
|
||||
|
||||
#: extensions/amavis/views.py:246
|
||||
#: extensions/amavis/views.py:271
|
||||
#, python-format
|
||||
msgid "%(count)d message released successfully"
|
||||
msgid_plural "%(count)d messages released successfully"
|
||||
@@ -1706,6 +1793,23 @@ msgstr[0] "%(count)d zpráva úspěšně odblokována"
|
||||
msgstr[1] "%(count)d zprávy úspěšně odblokovány"
|
||||
msgstr[2] "%(count)d zpráv úspěšně odblokováno"
|
||||
|
||||
#: extensions/amavis/views.py:309
|
||||
#, fuzzy, python-format
|
||||
msgid "%(count)d message processed successfully"
|
||||
msgid_plural "%(count)d messages processed successfully"
|
||||
msgstr[0] "%(count)d zpráva úspěšně odblokována"
|
||||
msgstr[1] "%(count)d zprávy úspěšně odblokovány"
|
||||
msgstr[2] "%(count)d zpráv úspěšně odblokováno"
|
||||
|
||||
#: extensions/amavis/views.py:341
|
||||
#, fuzzy
|
||||
msgid "Select a database"
|
||||
msgstr "Vybrat soubor"
|
||||
|
||||
#: extensions/amavis/views.py:345
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/management/commands/amnotify.py:61
|
||||
msgid "[modoboa] Pending release requests"
|
||||
msgstr "[modoboa] Nevyřízené požadavky na odblokování"
|
||||
@@ -1732,70 +1836,90 @@ msgid "Select"
|
||||
msgstr "Vybrat soubor"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:9
|
||||
msgid "Clean"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
msgid "Spam"
|
||||
msgstr "Spam"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
msgid "Virus"
|
||||
msgstr "Vir"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#, fuzzy
|
||||
msgid "Bad Header"
|
||||
msgstr "Chybné záhlaví"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
msgid "Bad MIME"
|
||||
msgstr "Špatný MIME"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:14
|
||||
#, fuzzy
|
||||
msgid "Banned"
|
||||
msgstr "Filtr zakázané pošty"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:18
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:54
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:85
|
||||
msgid "Release"
|
||||
msgstr "Odblokovat"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:23
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:25
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:61
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:30
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:92
|
||||
#: extensions/webmail/templatetags/webmail_tags.py:32
|
||||
msgid "Delete"
|
||||
msgstr "Smazat"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:44
|
||||
#, fuzzy
|
||||
msgid "Mark as spam"
|
||||
msgstr "Označit zprávy"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:52
|
||||
msgid "Mark as non-spam"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
#: extensions/sievefilters/forms.py:64
|
||||
msgid "All messages"
|
||||
msgstr "Všechny zprávy"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:32
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:45
|
||||
#, fuzzy
|
||||
msgid "Clean only"
|
||||
msgstr "Filtr zakázané pošty"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:47
|
||||
#, fuzzy
|
||||
msgid "Spam only"
|
||||
msgstr "Spam"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:48
|
||||
#, fuzzy
|
||||
msgid "Virus only"
|
||||
msgstr "Vir"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:49
|
||||
#, fuzzy
|
||||
msgid "Bad Header only"
|
||||
msgstr "Chybné záhlaví"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:35
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:50
|
||||
#, fuzzy
|
||||
msgid "Bad MIME only"
|
||||
msgstr "Špatný MIME"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:36
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:51
|
||||
#, fuzzy
|
||||
msgid "Banned only"
|
||||
msgstr "Filtr zakázané pošty"
|
||||
@@ -1847,7 +1971,7 @@ msgstr "Úkony na zprávě:"
|
||||
msgid "Please visit %(listingurl)s for a full listing."
|
||||
msgstr "Navštivte stránku %(listingurl)s pro zobrazení kompletního seznamu."
|
||||
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:28
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:35
|
||||
msgid "View full headers"
|
||||
msgstr "Zobrazit úplné záhlaví"
|
||||
|
||||
@@ -2302,7 +2426,7 @@ msgstr "Odesílatel"
|
||||
msgid "Recipient"
|
||||
msgstr "Příjemce"
|
||||
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:83
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:84
|
||||
msgid "Cc"
|
||||
msgstr "Kopie"
|
||||
|
||||
@@ -2559,19 +2683,19 @@ msgstr "Nastaveno neznámé zobrazení"
|
||||
msgid "Bad custom period"
|
||||
msgstr "Neplatně nastavený vlastní časový interval"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:33
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
msgid "Search a domain"
|
||||
msgstr "Hledat doménu"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:37
|
||||
#: extensions/stats/templates/stats/index.html:32
|
||||
msgid "Predefined time ranges"
|
||||
msgstr "Předdefinované časové intervaly"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:44
|
||||
#: extensions/stats/templates/stats/index.html:39
|
||||
msgid "Custom time range"
|
||||
msgstr "Vlastní časový interval"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:57
|
||||
#: extensions/stats/templates/stats/index.html:52
|
||||
msgid "Apply"
|
||||
msgstr "Uložit"
|
||||
|
||||
@@ -2729,7 +2853,7 @@ msgstr "Odpověď serveru"
|
||||
msgid "Unknown action"
|
||||
msgstr "Neznámá akce"
|
||||
|
||||
#: extensions/webmail/forms.py:84
|
||||
#: extensions/webmail/forms.py:85
|
||||
msgid "Cci"
|
||||
msgstr "BCC"
|
||||
|
||||
@@ -2938,15 +3062,15 @@ msgstr "Ne"
|
||||
msgid "Failed to update password: %s"
|
||||
msgstr "Nebylo možné změnit heslo: %s"
|
||||
|
||||
#: lib/permissions.py:20
|
||||
#: lib/permissions.py:19
|
||||
msgid "Simple user"
|
||||
msgstr "Uživatel"
|
||||
|
||||
#: lib/permissions.py:22
|
||||
#: lib/permissions.py:21
|
||||
msgid "Super administrator"
|
||||
msgstr "Super správce"
|
||||
|
||||
#: lib/permissions.py:28
|
||||
#: lib/permissions.py:27
|
||||
msgid "Domain administrator"
|
||||
msgstr "Správce domény"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: modoboa-1.0.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:33+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:22+0100\n"
|
||||
"PO-Revision-Date: 2013-09-29 22:13+0100\n"
|
||||
"Last-Translator: Miroslav Abrahám <miris@kunago.com>\n"
|
||||
"Language-Team: CS <miris@kunago.com>\n"
|
||||
@@ -41,33 +41,51 @@ msgstr ""
|
||||
msgid "No domain administrator defined"
|
||||
msgstr "Není určen správce domény"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr "Nemazat adresář schránky"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr "Odblokovat tento výběr?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr "Smazat tento výběr?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr "Odblokovat tento výběr?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr "Odblokovat tento výběr?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr "Odblokovat tuto zprávu?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr "Smazat tuto zprávu?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr "Zobrazit úplné záhlaví"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr "Skrýt záhlaví"
|
||||
|
||||
@@ -96,7 +114,7 @@ msgstr "Aktivovat tuto sadu filtrů?"
|
||||
msgid "active"
|
||||
msgstr "aktivní"
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr "Vyhledat doménu"
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,21 +1,22 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Patrick Koetter <p@state-of-mind.de>, 2010
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:32+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:22+0100\n"
|
||||
"PO-Revision-Date: 2013-12-15 09:23+0000\n"
|
||||
"Last-Translator: Antoine Nguyen <tonio@ngyn.org>\n"
|
||||
"Language-Team: German (http://www.transifex.com/projects/p/modoboa/language/de/)\n"
|
||||
"Language-Team: German (http://www.transifex.com/projects/p/modoboa/language/"
|
||||
"de/)\n"
|
||||
"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"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:32
|
||||
@@ -34,39 +35,59 @@ msgstr "Diese Aktion wird ALLE mit der Domain verbundenen Daten löschen."
|
||||
msgid ""
|
||||
"This operation will remove all data associated to this domain, excepting "
|
||||
"accounts."
|
||||
msgstr "Diese Aktion wird ALLE mit der Domain verbundenen Daten löschen - ausser Mailkonten."
|
||||
msgstr ""
|
||||
"Diese Aktion wird ALLE mit der Domain verbundenen Daten löschen - ausser "
|
||||
"Mailkonten."
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:222
|
||||
msgid "No domain administrator defined"
|
||||
msgstr "Domain-Administrator fehlt"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr "Verzeichnis der Mailbox nicht löschen"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr "Diese Auswahl freilassen?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr "Diese Auswahl löschen?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr "Diese Auswahl freilassen?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr "Diese Auswahl freilassen?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr "Diese Nachricht freilassen?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr "Diese Nachricht löschen?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr "Vollansicht Header anzeigen"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr "Vollansicht Header ausblenden"
|
||||
|
||||
@@ -95,7 +116,7 @@ msgstr "Diesen Filter aktivieren?"
|
||||
msgid "active"
|
||||
msgstr "aktiv"
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr "Domain suchen"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:29+0200\n"
|
||||
"POT-Creation-Date: 2014-11-04 11:51+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -18,8 +18,8 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: core/__init__.py:52 core/__init__.py:53
|
||||
#: extensions/admin/forms/account.py:326 extensions/admin/forms/domain.py:256
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:129
|
||||
#: extensions/admin/forms/account.py:327 extensions/admin/forms/domain.py:248
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:133
|
||||
#: extensions/postfix_autoreply/app_settings.py:11
|
||||
#: extensions/postfix_relay_domains/forms.py:138
|
||||
#: extensions/sievefilters/app_settings.py:50
|
||||
@@ -271,8 +271,8 @@ msgstr ""
|
||||
msgid "This field is required"
|
||||
msgstr ""
|
||||
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:87
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:29
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:157
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:41
|
||||
#: extensions/webmail/app_settings.py:73
|
||||
msgid "Display"
|
||||
msgstr ""
|
||||
@@ -326,36 +326,36 @@ msgstr ""
|
||||
msgid "You can't delete your own account"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:117
|
||||
#: core/models.py:130
|
||||
msgid "Failed to update password: LDAP module not installed"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:170
|
||||
#: core/models.py:183
|
||||
msgid "account"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:321 extensions/admin/models/domain.py:144
|
||||
#: core/models.py:334 extensions/admin/models/domain.py:144
|
||||
#: extensions/admin/models/domain_alias.py:39
|
||||
#: extensions/postfix_relay_domains/models.py:134
|
||||
#: extensions/postfix_relay_domains/models.py:190
|
||||
msgid "Invalid line"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:325
|
||||
#: core/models.py:338
|
||||
msgid "You can't import an account with a role greater than yours"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:337
|
||||
#: core/models.py:350
|
||||
#, python-format
|
||||
msgid "The simple user '%s' must have a valid email address"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:341
|
||||
#: core/models.py:354
|
||||
#, python-format
|
||||
msgid "username and email fields must not differ for '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:410 extensions/admin/models/alias.py:35
|
||||
#: core/models.py:423 extensions/admin/models/alias.py:35
|
||||
#: extensions/admin/models/domain.py:32
|
||||
#: extensions/admin/models/domain_alias.py:17
|
||||
#: extensions/postfix_autoreply/models.py:28
|
||||
@@ -364,29 +364,29 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:411
|
||||
#: core/models.py:424
|
||||
msgid "Check to enable this extension"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:491
|
||||
#: core/models.py:504
|
||||
msgid "added"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:494
|
||||
#: core/models.py:507
|
||||
msgid "modified"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:496 core/models.py:521
|
||||
#: core/models.py:509 core/models.py:534
|
||||
#, python-format
|
||||
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
|
||||
msgstr ""
|
||||
|
||||
#: core/models.py:523
|
||||
#: core/models.py:536
|
||||
msgid "deleted"
|
||||
msgstr ""
|
||||
|
||||
#: core/tables.py:8 core/templates/core/information.html:8
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:187
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:179
|
||||
#: extensions/admin/templates/admin/domains_table.html:5
|
||||
#: extensions/admin/templates/admin/editdomainform.html:13
|
||||
#: extensions/admin/templates/admin/identities_table.html:5
|
||||
@@ -502,7 +502,7 @@ msgstr ""
|
||||
#: core/templates/core/user_profile.html:8
|
||||
#: extensions/admin/templates/admin/forward.html:8
|
||||
#: extensions/admin/views/alias.py:112 extensions/admin/views/domain.py:168
|
||||
#: extensions/admin/views/identity.py:200
|
||||
#: extensions/admin/views/identity.py:204
|
||||
#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
|
||||
#: extensions/postfix_relay_domains/views.py:66
|
||||
#: extensions/sievefilters/views.py:166 extensions/webmail/views.py:172
|
||||
@@ -615,7 +615,7 @@ msgstr ""
|
||||
msgid "Account import failed (%s): domain does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:196
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:197
|
||||
#, python-format
|
||||
msgid "Mailbox %s already exists"
|
||||
msgstr ""
|
||||
@@ -625,6 +625,12 @@ msgstr ""
|
||||
msgid "Account import failed (%s): wrong quota value"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/__init__.py:212 extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/app_settings.py:13
|
||||
#: extensions/admin/templates/admin/editdomainform.html:25
|
||||
#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
|
||||
@@ -670,7 +676,7 @@ msgid "When a mailbox is removed, also remove the associated account"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/app_settings.py:81 extensions/admin/forms/account.py:178
|
||||
#: extensions/admin/forms/domain.py:56
|
||||
#: extensions/admin/forms/domain.py:57
|
||||
msgid "Must be a positive integer"
|
||||
msgstr ""
|
||||
|
||||
@@ -716,7 +722,7 @@ msgstr ""
|
||||
msgid "E-mail"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:17
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:18
|
||||
msgid "Quota"
|
||||
msgstr ""
|
||||
|
||||
@@ -727,7 +733,7 @@ msgid ""
|
||||
"administrators)."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:26
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:27
|
||||
#: extensions/admin/templates/admin/domains_table.html:6
|
||||
#: extensions/postfix_relay_domains/forms.py:12
|
||||
msgid "Alias(es)"
|
||||
@@ -740,25 +746,25 @@ msgid ""
|
||||
"*@domain.tld)."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/account.py:187 extensions/admin/forms/account.py:217
|
||||
#: extensions/admin/forms/account.py:188 extensions/admin/forms/account.py:218
|
||||
#: extensions/admin/forms/alias.py:65
|
||||
msgid "Domain does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/account.py:284
|
||||
#: extensions/admin/forms/account.py:285
|
||||
msgid "Domain(s)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/account.py:286
|
||||
#: extensions/admin/forms/account.py:287
|
||||
msgid "Domain(s) that user administrates"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/account.py:328
|
||||
#: extensions/admin/views/identity.py:132
|
||||
#: extensions/admin/forms/account.py:329
|
||||
#: extensions/admin/views/identity.py:136
|
||||
msgid "Mail"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/account.py:330
|
||||
#: extensions/admin/forms/account.py:331
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
@@ -804,64 +810,58 @@ msgstr ""
|
||||
msgid "No recipient defined"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:20
|
||||
#: extensions/admin/forms/domain.py:21
|
||||
msgid ""
|
||||
"Default quota in MB applied to mailboxes. Leave empty to use the default "
|
||||
"value."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:29
|
||||
#: extensions/admin/forms/domain.py:30
|
||||
msgid ""
|
||||
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
|
||||
"add a new input."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
|
||||
#: extensions/admin/forms/domain.py:78 extensions/admin/forms/domain.py:92
|
||||
#: extensions/postfix_relay_domains/forms.py:58
|
||||
#: extensions/postfix_relay_domains/forms.py:78
|
||||
#, python-format
|
||||
msgid "A %s with this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:92
|
||||
#: extensions/admin/forms/domain.py:89
|
||||
#: extensions/postfix_relay_domains/forms.py:49
|
||||
#: extensions/postfix_relay_domains/forms.py:71
|
||||
msgid "domain"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:181
|
||||
#: extensions/admin/forms/domain.py:173
|
||||
msgid "Create a domain administrator"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:183
|
||||
#: extensions/admin/forms/domain.py:175
|
||||
msgid "Automatically create an administrator for this domain"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
#: extensions/admin/forms/domain.py:182
|
||||
msgid ""
|
||||
"The administrator's name. Don't include the domain's name here, it will be "
|
||||
"automatically appended."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:198
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
msgid "Create aliases"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:200
|
||||
#: extensions/admin/forms/domain.py:192
|
||||
msgid "Automatically create standard aliases for this domain"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:216
|
||||
#: extensions/admin/forms/domain.py:208
|
||||
msgid "Invalid format"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:230
|
||||
#: extensions/admin/forms/domain.py:222
|
||||
#, python-format
|
||||
msgid "User '%s' already exists"
|
||||
msgstr ""
|
||||
@@ -896,7 +896,7 @@ msgid ""
|
||||
"administrator to create an alias instead."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:198
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:200
|
||||
msgid "Select a file"
|
||||
msgstr ""
|
||||
|
||||
@@ -916,7 +916,7 @@ msgstr ""
|
||||
msgid "Check this option if passwords contained in your file are not crypted"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:62
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:74
|
||||
msgid "address"
|
||||
msgstr ""
|
||||
|
||||
@@ -1012,21 +1012,21 @@ msgstr ""
|
||||
msgid "Unknown domain %s"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/models/mailbox.py:63
|
||||
#: extensions/admin/models/mailbox.py:75
|
||||
msgid "Mailbox address (without the @domain.tld part)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/models/mailbox.py:125
|
||||
#: extensions/admin/models/mailbox.py:136
|
||||
#, python-format
|
||||
msgid "Failed to retrieve mailbox location (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/models/mailbox.py:194
|
||||
#: extensions/admin/models/mailbox.py:221
|
||||
#, python-format
|
||||
msgid "Quota is greater than the allowed domain's limit (%dM)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/models/mailbox.py:199
|
||||
#: extensions/admin/models/mailbox.py:227
|
||||
msgid "A quota is required"
|
||||
msgstr ""
|
||||
|
||||
@@ -1098,7 +1098,7 @@ msgid "Importing..."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/templates/admin/listing.html:14
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
#: extensions/stats/templates/stats/index.html:23
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
@@ -1200,8 +1200,8 @@ msgid "Alias with this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/views/alias.py:50 extensions/admin/views/domain.py:102
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:133
|
||||
#: extensions/admin/views/identity.py:160
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:137
|
||||
#: extensions/admin/views/identity.py:164
|
||||
#: extensions/postfix_relay_domains/views.py:34
|
||||
#: extensions/sievefilters/views.py:144 extensions/sievefilters/views.py:233
|
||||
#: extensions/webmail/views.py:153
|
||||
@@ -1244,7 +1244,7 @@ msgstr ""
|
||||
msgid "Alias modified"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:130
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:134
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
@@ -1252,7 +1252,7 @@ msgstr ""
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:134
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:138
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
@@ -1286,11 +1286,11 @@ msgstr ""
|
||||
msgid "Export domains"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/views/identity.py:104
|
||||
#: extensions/admin/views/identity.py:227
|
||||
#: extensions/admin/views/identity.py:232 extensions/amavis/views.py:144
|
||||
#: extensions/amavis/views.py:148 extensions/amavis/views.py:181
|
||||
#: extensions/amavis/views.py:186 extensions/amavis/views.py:188
|
||||
#: extensions/admin/views/identity.py:108
|
||||
#: extensions/admin/views/identity.py:231
|
||||
#: extensions/admin/views/identity.py:236 extensions/amavis/views.py:172
|
||||
#: extensions/amavis/views.py:176 extensions/amavis/views.py:207
|
||||
#: extensions/amavis/views.py:212 extensions/amavis/views.py:214
|
||||
#: extensions/webmail/views.py:49 extensions/webmail/views.py:67
|
||||
#: extensions/webmail/views.py:81 extensions/webmail/views.py:99
|
||||
#: extensions/webmail/views.py:116 extensions/webmail/views.py:202
|
||||
@@ -1301,19 +1301,19 @@ msgstr ""
|
||||
msgid "Invalid request"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/views/identity.py:151
|
||||
#: extensions/admin/views/identity.py:155
|
||||
msgid "Account created"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/views/identity.py:157
|
||||
#: extensions/admin/views/identity.py:161
|
||||
msgid "New account"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/views/identity.py:193
|
||||
#: extensions/admin/views/identity.py:197
|
||||
msgid "Account updated"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/views/identity.py:217
|
||||
#: extensions/admin/views/identity.py:221
|
||||
msgid "Account deleted"
|
||||
msgid_plural "Accounts deleted"
|
||||
msgstr[0] ""
|
||||
@@ -1375,123 +1375,204 @@ msgstr ""
|
||||
msgid "Simple amavis management frontend"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:18
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:20
|
||||
msgid "Quarantine"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:11
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
msgid "Quarantine settings"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
#: extensions/amavis/app_settings.py:17
|
||||
msgid "Maximum message age"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:16
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
msgid "Quarantine messages maximum age (in days) before deletion"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
msgid "Messages releasing"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
#: extensions/amavis/app_settings.py:25
|
||||
msgid "Remove released messages"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:24
|
||||
#: extensions/amavis/app_settings.py:27
|
||||
msgid "Remove messages marked as released while cleaning up the database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:28
|
||||
#: extensions/amavis/app_settings.py:32
|
||||
msgid "Amavis connection mode"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:31
|
||||
#: extensions/amavis/app_settings.py:35
|
||||
msgid "Mode used to access the PDP server"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:36
|
||||
#: extensions/amavis/app_settings.py:40
|
||||
msgid "PDP server address"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:38
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
msgid "PDP server address (if inet mode)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
#: extensions/amavis/app_settings.py:46
|
||||
msgid "PDP server port"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:44
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
msgid "PDP server port (if inet mode)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
#: extensions/amavis/app_settings.py:52
|
||||
msgid "PDP server socket"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:50
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
msgid "Path to the PDP server socket (if unix mode)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
#: extensions/amavis/app_settings.py:58
|
||||
msgid "Check requests interval"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:56
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
msgid "Interval between two release requests checks"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
#: extensions/amavis/app_settings.py:64
|
||||
msgid "Allow direct release"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:62
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
msgid "Allow users to directly release their messages"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
#: extensions/amavis/app_settings.py:70
|
||||
msgid "Enable self-service mode"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:68
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
msgid "Activate the 'self-service' mode"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
#: extensions/amavis/app_settings.py:76
|
||||
msgid "Notifications sender"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:74
|
||||
#: extensions/amavis/app_settings.py:78
|
||||
msgid "The e-mail address used to send notitications"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
|
||||
msgid "Number of displayed emails per page"
|
||||
#: extensions/amavis/app_settings.py:81
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:28
|
||||
msgid "Manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:84
|
||||
msgid "Enable manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:87
|
||||
msgid "Allow super administrators to manually train Spamassassin"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
msgid "Is Spamassassin local?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:95
|
||||
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:100
|
||||
msgid "Default user"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:103
|
||||
msgid "Name of the user owning the default bayesian database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:108
|
||||
msgid "Spamd address"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:110
|
||||
msgid "The IP address where spamd can be reached"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:114
|
||||
msgid "Spamd port"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:116
|
||||
msgid "The TCP port spamd is listening on"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:120
|
||||
msgid "Enable per-domain manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:123
|
||||
msgid ""
|
||||
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
||||
"domain databases)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:129
|
||||
msgid "Enable per-user manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:132
|
||||
msgid ""
|
||||
"Allow simple users to personally train Spamassassin (within a dedicated "
|
||||
"database)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:161 extensions/webmail/app_settings.py:91
|
||||
msgid "Number of displayed emails per page"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:162
|
||||
msgid "Set the maximum number of messages displayed in a page"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:82
|
||||
#: extensions/amavis/forms.py:83
|
||||
msgid "Global database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/forms.py:89
|
||||
msgid "Domain's database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/forms.py:91
|
||||
msgid "User's database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:136
|
||||
msgid "pending requests"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:125
|
||||
#: extensions/amavis/general_callbacks.py:179
|
||||
msgid "Pending requests"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:135
|
||||
#: extensions/amavis/general_callbacks.py:189
|
||||
msgid "Content filter"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/lib.py:56
|
||||
#: extensions/amavis/lib.py:62
|
||||
#, python-format
|
||||
msgid "Connection to amavis failed: %s"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/lib.py:131
|
||||
msgid "No recipient found"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/models.py:93
|
||||
msgid "Virus filter"
|
||||
msgstr ""
|
||||
@@ -1547,8 +1628,8 @@ msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/sql_listing.py:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:75
|
||||
#: extensions/webmail/forms.py:82
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:106
|
||||
#: extensions/webmail/forms.py:83
|
||||
msgid "To"
|
||||
msgstr ""
|
||||
|
||||
@@ -1559,49 +1640,64 @@ msgid "From"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/sql_listing.py:40 extensions/sievefilters/forms.py:77
|
||||
#: extensions/webmail/forms.py:86 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/forms.py:87 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/lib/listing.py:27 extensions/webmail/lib/tables.py:26
|
||||
#: templates/common/email_searchbar.html:6
|
||||
msgid "Subject"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/views.py:27
|
||||
#: extensions/amavis/views.py:31
|
||||
msgid "Empty quarantine"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/views.py:149
|
||||
#: extensions/amavis/views.py:177
|
||||
msgid "Message deleted"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/views.py:168
|
||||
#: extensions/amavis/views.py:194
|
||||
#, python-format
|
||||
msgid "%(count)d message deleted successfully"
|
||||
msgid_plural "%(count)d messages deleted successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: extensions/amavis/views.py:191
|
||||
#: extensions/amavis/views.py:217
|
||||
msgid "Request sent"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/views.py:197
|
||||
#: extensions/amavis/views.py:223
|
||||
msgid "Message released"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/views.py:225
|
||||
#: extensions/amavis/views.py:250
|
||||
#, python-format
|
||||
msgid "%(count)d request sent"
|
||||
msgid_plural "%(count)d requests sent"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: extensions/amavis/views.py:246
|
||||
#: extensions/amavis/views.py:271
|
||||
#, python-format
|
||||
msgid "%(count)d message released successfully"
|
||||
msgid_plural "%(count)d messages released successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: extensions/amavis/views.py:309
|
||||
#, python-format
|
||||
msgid "%(count)d message processed successfully"
|
||||
msgid_plural "%(count)d messages processed successfully"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: extensions/amavis/views.py:341
|
||||
msgid "Select a database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/views.py:345
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/management/commands/amnotify.py:61
|
||||
msgid "[modoboa] Pending release requests"
|
||||
msgstr ""
|
||||
@@ -1627,64 +1723,82 @@ msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:9
|
||||
msgid "Spam"
|
||||
msgid "Clean"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
msgid "Virus"
|
||||
msgid "Spam"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
msgid "Bad Header"
|
||||
msgid "Virus"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
msgid "Bad MIME"
|
||||
msgid "Bad Header"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
msgid "Bad MIME"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:14
|
||||
msgid "Banned"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:18
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:54
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:85
|
||||
msgid "Release"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:23
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:25
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:61
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:30
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:92
|
||||
#: extensions/webmail/templatetags/webmail_tags.py:32
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:44
|
||||
msgid "Mark as spam"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:52
|
||||
msgid "Mark as non-spam"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
#: extensions/sievefilters/forms.py:64
|
||||
msgid "All messages"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:32
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:45
|
||||
msgid "Clean only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:47
|
||||
msgid "Spam only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:48
|
||||
msgid "Virus only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:49
|
||||
msgid "Bad Header only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:35
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:50
|
||||
msgid "Bad MIME only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:36
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:51
|
||||
msgid "Banned only"
|
||||
msgstr ""
|
||||
|
||||
@@ -1728,7 +1842,7 @@ msgstr ""
|
||||
msgid "Please visit %(listingurl)s for a full listing."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:28
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:35
|
||||
msgid "View full headers"
|
||||
msgstr ""
|
||||
|
||||
@@ -2147,7 +2261,7 @@ msgstr ""
|
||||
msgid "Recipient"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:83
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:84
|
||||
msgid "Cc"
|
||||
msgstr ""
|
||||
|
||||
@@ -2400,19 +2514,19 @@ msgstr ""
|
||||
msgid "Bad custom period"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:33
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
msgid "Search a domain"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:37
|
||||
#: extensions/stats/templates/stats/index.html:32
|
||||
msgid "Predefined time ranges"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:44
|
||||
#: extensions/stats/templates/stats/index.html:39
|
||||
msgid "Custom time range"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:57
|
||||
#: extensions/stats/templates/stats/index.html:52
|
||||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
@@ -2568,7 +2682,7 @@ msgstr ""
|
||||
msgid "Unknown action"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/webmail/forms.py:84
|
||||
#: extensions/webmail/forms.py:85
|
||||
msgid "Cci"
|
||||
msgstr ""
|
||||
|
||||
@@ -2775,15 +2889,15 @@ msgstr ""
|
||||
msgid "Failed to update password: %s"
|
||||
msgstr ""
|
||||
|
||||
#: lib/permissions.py:20
|
||||
#: lib/permissions.py:19
|
||||
msgid "Simple user"
|
||||
msgstr ""
|
||||
|
||||
#: lib/permissions.py:22
|
||||
#: lib/permissions.py:21
|
||||
msgid "Super administrator"
|
||||
msgstr ""
|
||||
|
||||
#: lib/permissions.py:28
|
||||
#: lib/permissions.py:27
|
||||
msgid "Domain administrator"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:32+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:22+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -39,33 +39,49 @@ msgstr ""
|
||||
msgid "No domain administrator defined"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr ""
|
||||
|
||||
@@ -94,7 +110,7 @@ msgstr ""
|
||||
msgid "active"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:29+0200\n"
|
||||
"POT-Creation-Date: 2014-11-04 11:51+0100\n"
|
||||
"PO-Revision-Date: 2013-10-01 09:56+0000\n"
|
||||
"Last-Translator: Pedro Gracia <lasarux@neuroomante.com>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/"
|
||||
@@ -21,8 +21,8 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: core/__init__.py:52 core/__init__.py:53
|
||||
#: extensions/admin/forms/account.py:326 extensions/admin/forms/domain.py:256
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:129
|
||||
#: extensions/admin/forms/account.py:327 extensions/admin/forms/domain.py:248
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:133
|
||||
#: extensions/postfix_autoreply/app_settings.py:11
|
||||
#: extensions/postfix_relay_domains/forms.py:138
|
||||
#: extensions/sievefilters/app_settings.py:50
|
||||
@@ -289,8 +289,8 @@ msgstr "Petición inválida"
|
||||
msgid "This field is required"
|
||||
msgstr "Este campo es obligatorio"
|
||||
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:87
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:29
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:157
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:41
|
||||
#: extensions/webmail/app_settings.py:73
|
||||
msgid "Display"
|
||||
msgstr "Mostrar"
|
||||
@@ -346,37 +346,37 @@ msgstr "Última entrada"
|
||||
msgid "You can't delete your own account"
|
||||
msgstr "No puede eliminar su propia cuenta"
|
||||
|
||||
#: core/models.py:117
|
||||
#: core/models.py:130
|
||||
msgid "Failed to update password: LDAP module not installed"
|
||||
msgstr "Falló al actualizar la contraseña: módulo LDAP no instalado"
|
||||
|
||||
#: core/models.py:170
|
||||
#: core/models.py:183
|
||||
msgid "account"
|
||||
msgstr "cuenta"
|
||||
|
||||
#: core/models.py:321 extensions/admin/models/domain.py:144
|
||||
#: core/models.py:334 extensions/admin/models/domain.py:144
|
||||
#: extensions/admin/models/domain_alias.py:39
|
||||
#: extensions/postfix_relay_domains/models.py:134
|
||||
#: extensions/postfix_relay_domains/models.py:190
|
||||
msgid "Invalid line"
|
||||
msgstr "Línea inválida"
|
||||
|
||||
#: core/models.py:325
|
||||
#: core/models.py:338
|
||||
msgid "You can't import an account with a role greater than yours"
|
||||
msgstr "No puede importar una cuenta con un rol mayor que el suyo"
|
||||
|
||||
#: core/models.py:337
|
||||
#: core/models.py:350
|
||||
#, python-format
|
||||
msgid "The simple user '%s' must have a valid email address"
|
||||
msgstr "El usuario normal '%s' debe tener una dirección de email válida"
|
||||
|
||||
#: core/models.py:341
|
||||
#: core/models.py:354
|
||||
#, python-format
|
||||
msgid "username and email fields must not differ for '%s'"
|
||||
msgstr ""
|
||||
"Los campos de nombre de usuario y de email no deben ser diferentes para '%s'"
|
||||
|
||||
#: core/models.py:410 extensions/admin/models/alias.py:35
|
||||
#: core/models.py:423 extensions/admin/models/alias.py:35
|
||||
#: extensions/admin/models/domain.py:32
|
||||
#: extensions/admin/models/domain_alias.py:17
|
||||
#: extensions/postfix_autoreply/models.py:28
|
||||
@@ -385,29 +385,29 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "activado"
|
||||
|
||||
#: core/models.py:411
|
||||
#: core/models.py:424
|
||||
msgid "Check to enable this extension"
|
||||
msgstr "Marcar para activar esta extensión"
|
||||
|
||||
#: core/models.py:491
|
||||
#: core/models.py:504
|
||||
msgid "added"
|
||||
msgstr "añadido"
|
||||
|
||||
#: core/models.py:494
|
||||
#: core/models.py:507
|
||||
msgid "modified"
|
||||
msgstr "modificado"
|
||||
|
||||
#: core/models.py:496 core/models.py:521
|
||||
#: core/models.py:509 core/models.py:534
|
||||
#, python-format
|
||||
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
|
||||
msgstr "%(object)s '%(name)s' %(action)s por el usuario %(user)s"
|
||||
|
||||
#: core/models.py:523
|
||||
#: core/models.py:536
|
||||
msgid "deleted"
|
||||
msgstr "eliminado"
|
||||
|
||||
#: core/tables.py:8 core/templates/core/information.html:8
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:187
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:179
|
||||
#: extensions/admin/templates/admin/domains_table.html:5
|
||||
#: extensions/admin/templates/admin/editdomainform.html:13
|
||||
#: extensions/admin/templates/admin/identities_table.html:5
|
||||
@@ -523,7 +523,7 @@ msgstr "Actualizar su información personal"
|
||||
#: core/templates/core/user_profile.html:8
|
||||
#: extensions/admin/templates/admin/forward.html:8
|
||||
#: extensions/admin/views/alias.py:112 extensions/admin/views/domain.py:168
|
||||
#: extensions/admin/views/identity.py:200
|
||||
#: extensions/admin/views/identity.py:204
|
||||
#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
|
||||
#: extensions/postfix_relay_domains/views.py:66
|
||||
#: extensions/sievefilters/views.py:166 extensions/webmail/views.py:172
|
||||
@@ -654,7 +654,7 @@ msgstr "Siguiente"
|
||||
msgid "Account import failed (%s): domain does not exist"
|
||||
msgstr "Falló la importación de la cuenta (%s): el dominio no existe"
|
||||
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:196
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:197
|
||||
#, python-format
|
||||
msgid "Mailbox %s already exists"
|
||||
msgstr "El mailbox %s ya existe"
|
||||
@@ -664,6 +664,13 @@ msgstr "El mailbox %s ya existe"
|
||||
msgid "Account import failed (%s): wrong quota value"
|
||||
msgstr "Falló la importación de la cuenta (%s): el dominio no existe"
|
||||
|
||||
#: extensions/admin/__init__.py:212 extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
#, fuzzy
|
||||
msgid "domain alias"
|
||||
msgstr "Alias del dominio"
|
||||
|
||||
#: extensions/admin/app_settings.py:13
|
||||
#: extensions/admin/templates/admin/editdomainform.html:25
|
||||
#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
|
||||
@@ -712,7 +719,7 @@ msgid "When a mailbox is removed, also remove the associated account"
|
||||
msgstr "Cuando un mailbox es eliminado, también lo es su cuenta asociada."
|
||||
|
||||
#: extensions/admin/app_settings.py:81 extensions/admin/forms/account.py:178
|
||||
#: extensions/admin/forms/domain.py:56
|
||||
#: extensions/admin/forms/domain.py:57
|
||||
msgid "Must be a positive integer"
|
||||
msgstr ""
|
||||
|
||||
@@ -760,7 +767,7 @@ msgstr "No puede deshabilitar su propia cuenta"
|
||||
msgid "E-mail"
|
||||
msgstr "Email"
|
||||
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:17
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:18
|
||||
msgid "Quota"
|
||||
msgstr "Cuota"
|
||||
|
||||
@@ -774,7 +781,7 @@ msgstr ""
|
||||
"dominio por defecto. Déjelo vacío para definir un valor ilimitado (no "
|
||||
"permitido para los administradores del dominio)"
|
||||
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:26
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:27
|
||||
#: extensions/admin/templates/admin/domains_table.html:6
|
||||
#: extensions/postfix_relay_domains/forms.py:12
|
||||
msgid "Alias(es)"
|
||||
@@ -790,25 +797,25 @@ msgstr ""
|
||||
"ENTER para añadir una nueva entrada. Use el carácter '*' para crear una "
|
||||
"dirección 'catchall' (recogerlos todos, ej. *@domain.tld)"
|
||||
|
||||
#: extensions/admin/forms/account.py:187 extensions/admin/forms/account.py:217
|
||||
#: extensions/admin/forms/account.py:188 extensions/admin/forms/account.py:218
|
||||
#: extensions/admin/forms/alias.py:65
|
||||
msgid "Domain does not exist"
|
||||
msgstr "El dominio no existe"
|
||||
|
||||
#: extensions/admin/forms/account.py:284
|
||||
#: extensions/admin/forms/account.py:285
|
||||
msgid "Domain(s)"
|
||||
msgstr "Dominio(s)"
|
||||
|
||||
#: extensions/admin/forms/account.py:286
|
||||
#: extensions/admin/forms/account.py:287
|
||||
msgid "Domain(s) that user administrates"
|
||||
msgstr "Dominio(s) que el usuario administra"
|
||||
|
||||
#: extensions/admin/forms/account.py:328
|
||||
#: extensions/admin/views/identity.py:132
|
||||
#: extensions/admin/forms/account.py:329
|
||||
#: extensions/admin/views/identity.py:136
|
||||
msgid "Mail"
|
||||
msgstr "Correo"
|
||||
|
||||
#: extensions/admin/forms/account.py:330
|
||||
#: extensions/admin/forms/account.py:331
|
||||
msgid "Permissions"
|
||||
msgstr "Permisos"
|
||||
|
||||
@@ -858,14 +865,14 @@ msgstr "EL destinatario %s ya existe"
|
||||
msgid "No recipient defined"
|
||||
msgstr "No ha puesto destinatario"
|
||||
|
||||
#: extensions/admin/forms/domain.py:20
|
||||
#: extensions/admin/forms/domain.py:21
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Default quota in MB applied to mailboxes. Leave empty to use the default "
|
||||
"value."
|
||||
msgstr "Cuota por defecto en MB que se aplicará a los mailboxes"
|
||||
|
||||
#: extensions/admin/forms/domain.py:29
|
||||
#: extensions/admin/forms/domain.py:30
|
||||
msgid ""
|
||||
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
|
||||
"add a new input."
|
||||
@@ -873,36 +880,29 @@ msgstr ""
|
||||
"Alia(s) de este dominio. Indique únicamente un nombre por entrada, presione "
|
||||
"ENTER para añadir una nueva entrada."
|
||||
|
||||
#: extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
#, fuzzy
|
||||
msgid "domain alias"
|
||||
msgstr "Alias del dominio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
|
||||
#: extensions/admin/forms/domain.py:78 extensions/admin/forms/domain.py:92
|
||||
#: extensions/postfix_relay_domains/forms.py:58
|
||||
#: extensions/postfix_relay_domains/forms.py:78
|
||||
#, fuzzy, python-format
|
||||
msgid "A %s with this name already exists"
|
||||
msgstr "Ya existe un alias con este nombre"
|
||||
|
||||
#: extensions/admin/forms/domain.py:92
|
||||
#: extensions/admin/forms/domain.py:89
|
||||
#: extensions/postfix_relay_domains/forms.py:49
|
||||
#: extensions/postfix_relay_domains/forms.py:71
|
||||
#, fuzzy
|
||||
msgid "domain"
|
||||
msgstr "Dominios"
|
||||
|
||||
#: extensions/admin/forms/domain.py:181
|
||||
#: extensions/admin/forms/domain.py:173
|
||||
msgid "Create a domain administrator"
|
||||
msgstr "Crear un administrador del dominio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:183
|
||||
#: extensions/admin/forms/domain.py:175
|
||||
msgid "Automatically create an administrator for this domain"
|
||||
msgstr "Automáticamente crear una administrador para este dominio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
#: extensions/admin/forms/domain.py:182
|
||||
msgid ""
|
||||
"The administrator's name. Don't include the domain's name here, it will be "
|
||||
"automatically appended."
|
||||
@@ -910,19 +910,19 @@ msgstr ""
|
||||
"El nombre del administrador. No incluya el nombre del dominio aquí, será "
|
||||
"añadido automáticamente."
|
||||
|
||||
#: extensions/admin/forms/domain.py:198
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
msgid "Create aliases"
|
||||
msgstr "Crear alias"
|
||||
|
||||
#: extensions/admin/forms/domain.py:200
|
||||
#: extensions/admin/forms/domain.py:192
|
||||
msgid "Automatically create standard aliases for this domain"
|
||||
msgstr "Automáticamente crear alias estándar para este dominio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:216
|
||||
#: extensions/admin/forms/domain.py:208
|
||||
msgid "Invalid format"
|
||||
msgstr "Formato inválido"
|
||||
|
||||
#: extensions/admin/forms/domain.py:230
|
||||
#: extensions/admin/forms/domain.py:222
|
||||
#, python-format
|
||||
msgid "User '%s' already exists"
|
||||
msgstr "El usuario '%s' ya existe"
|
||||
@@ -959,7 +959,7 @@ msgstr ""
|
||||
"No puede definir un reenvío a un destino local. Por favor, pregunte a su "
|
||||
"administrador para crear un alias en su lugar."
|
||||
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:198
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:200
|
||||
msgid "Select a file"
|
||||
msgstr "Seleccione un fichero"
|
||||
|
||||
@@ -981,7 +981,7 @@ msgstr ""
|
||||
"Marque esta opción si las contraseñas que contiene su fichero no están "
|
||||
"cifradas"
|
||||
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:62
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:74
|
||||
msgid "address"
|
||||
msgstr "dirección"
|
||||
|
||||
@@ -1080,21 +1080,21 @@ msgstr "El dominio al que este alias apunta"
|
||||
msgid "Unknown domain %s"
|
||||
msgstr "Dominio desconocido %s"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:63
|
||||
#: extensions/admin/models/mailbox.py:75
|
||||
msgid "Mailbox address (without the @domain.tld part)"
|
||||
msgstr "Dirección del mailbox (sin la parte @dominio.tld)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:125
|
||||
#: extensions/admin/models/mailbox.py:136
|
||||
#, python-format
|
||||
msgid "Failed to retrieve mailbox location (%s)"
|
||||
msgstr "Fallo al recuperar la localización del mailbox (%s)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:194
|
||||
#: extensions/admin/models/mailbox.py:221
|
||||
#, python-format
|
||||
msgid "Quota is greater than the allowed domain's limit (%dM)"
|
||||
msgstr "La cuota es mayor que el límite permitido para el dominio (%dM)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:199
|
||||
#: extensions/admin/models/mailbox.py:227
|
||||
msgid "A quota is required"
|
||||
msgstr "Una cuota es obligatoria"
|
||||
|
||||
@@ -1167,7 +1167,7 @@ msgid "Importing..."
|
||||
msgstr "Importando..."
|
||||
|
||||
#: extensions/admin/templates/admin/listing.html:14
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
#: extensions/stats/templates/stats/index.html:23
|
||||
msgid "Filter"
|
||||
msgstr "FIltro"
|
||||
|
||||
@@ -1269,8 +1269,8 @@ msgid "Alias with this name already exists"
|
||||
msgstr "Ya existe un alias con este nombre"
|
||||
|
||||
#: extensions/admin/views/alias.py:50 extensions/admin/views/domain.py:102
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:133
|
||||
#: extensions/admin/views/identity.py:160
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:137
|
||||
#: extensions/admin/views/identity.py:164
|
||||
#: extensions/postfix_relay_domains/views.py:34
|
||||
#: extensions/sievefilters/views.py:144 extensions/sievefilters/views.py:233
|
||||
#: extensions/webmail/views.py:153
|
||||
@@ -1313,7 +1313,7 @@ msgstr "Reenvío modificado"
|
||||
msgid "Alias modified"
|
||||
msgstr "Alias modificado"
|
||||
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:130
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:134
|
||||
msgid "Next"
|
||||
msgstr "Siguiente"
|
||||
|
||||
@@ -1321,7 +1321,7 @@ msgstr "Siguiente"
|
||||
msgid "Options"
|
||||
msgstr "Opciones"
|
||||
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:134
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:138
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
@@ -1355,11 +1355,11 @@ msgstr "Exportar identidades"
|
||||
msgid "Export domains"
|
||||
msgstr "Exportar dominios"
|
||||
|
||||
#: extensions/admin/views/identity.py:104
|
||||
#: extensions/admin/views/identity.py:227
|
||||
#: extensions/admin/views/identity.py:232 extensions/amavis/views.py:144
|
||||
#: extensions/amavis/views.py:148 extensions/amavis/views.py:181
|
||||
#: extensions/amavis/views.py:186 extensions/amavis/views.py:188
|
||||
#: extensions/admin/views/identity.py:108
|
||||
#: extensions/admin/views/identity.py:231
|
||||
#: extensions/admin/views/identity.py:236 extensions/amavis/views.py:172
|
||||
#: extensions/amavis/views.py:176 extensions/amavis/views.py:207
|
||||
#: extensions/amavis/views.py:212 extensions/amavis/views.py:214
|
||||
#: extensions/webmail/views.py:49 extensions/webmail/views.py:67
|
||||
#: extensions/webmail/views.py:81 extensions/webmail/views.py:99
|
||||
#: extensions/webmail/views.py:116 extensions/webmail/views.py:202
|
||||
@@ -1370,19 +1370,19 @@ msgstr "Exportar dominios"
|
||||
msgid "Invalid request"
|
||||
msgstr "Petición inválida"
|
||||
|
||||
#: extensions/admin/views/identity.py:151
|
||||
#: extensions/admin/views/identity.py:155
|
||||
msgid "Account created"
|
||||
msgstr "Cuenta creada"
|
||||
|
||||
#: extensions/admin/views/identity.py:157
|
||||
#: extensions/admin/views/identity.py:161
|
||||
msgid "New account"
|
||||
msgstr "Nueva cuenta"
|
||||
|
||||
#: extensions/admin/views/identity.py:193
|
||||
#: extensions/admin/views/identity.py:197
|
||||
msgid "Account updated"
|
||||
msgstr "Cuenta actualizada"
|
||||
|
||||
#: extensions/admin/views/identity.py:217
|
||||
#: extensions/admin/views/identity.py:221
|
||||
msgid "Account deleted"
|
||||
msgid_plural "Accounts deleted"
|
||||
msgstr[0] "Cuenta eliminada"
|
||||
@@ -1464,128 +1464,215 @@ msgstr "Reenvío actualizado"
|
||||
msgid "Simple amavis management frontend"
|
||||
msgstr "Panel de gestión sencilla para amavis"
|
||||
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:18
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:20
|
||||
msgid "Quarantine"
|
||||
msgstr "Cuarentena"
|
||||
|
||||
#: extensions/amavis/app_settings.py:11
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
msgid "Quarantine settings"
|
||||
msgstr "Configuración de la cuarentena"
|
||||
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
#: extensions/amavis/app_settings.py:17
|
||||
msgid "Maximum message age"
|
||||
msgstr "Tiempo máximo del mensaje"
|
||||
|
||||
#: extensions/amavis/app_settings.py:16
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
msgid "Quarantine messages maximum age (in days) before deletion"
|
||||
msgstr ""
|
||||
"Máxima edad (en días) de los mensajes de cuarentena antes de proceder a su "
|
||||
"eliminación"
|
||||
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
msgid "Messages releasing"
|
||||
msgstr "Publicando mensajes"
|
||||
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
#: extensions/amavis/app_settings.py:25
|
||||
msgid "Remove released messages"
|
||||
msgstr "Eliminar mensajes publicados"
|
||||
|
||||
#: extensions/amavis/app_settings.py:24
|
||||
#: extensions/amavis/app_settings.py:27
|
||||
msgid "Remove messages marked as released while cleaning up the database"
|
||||
msgstr ""
|
||||
"Eliminar los mensajes marcados como publicados cuando se haga limpieza de la "
|
||||
"base de datos"
|
||||
|
||||
#: extensions/amavis/app_settings.py:28
|
||||
#: extensions/amavis/app_settings.py:32
|
||||
msgid "Amavis connection mode"
|
||||
msgstr "Modo de conexión con Amavis"
|
||||
|
||||
#: extensions/amavis/app_settings.py:31
|
||||
#: extensions/amavis/app_settings.py:35
|
||||
msgid "Mode used to access the PDP server"
|
||||
msgstr "Modo usado para acceder al servidor PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:36
|
||||
#: extensions/amavis/app_settings.py:40
|
||||
msgid "PDP server address"
|
||||
msgstr "Dirección del servidor PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:38
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
msgid "PDP server address (if inet mode)"
|
||||
msgstr "Dirección del servidor de PDP (si está en modo inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
#: extensions/amavis/app_settings.py:46
|
||||
msgid "PDP server port"
|
||||
msgstr "Puerto del servidor PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:44
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
msgid "PDP server port (if inet mode)"
|
||||
msgstr "Puerto del servidor de PDP (si está en modo inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
#: extensions/amavis/app_settings.py:52
|
||||
msgid "PDP server socket"
|
||||
msgstr "socket del servidor PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:50
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
msgid "Path to the PDP server socket (if unix mode)"
|
||||
msgstr "Dirección del socket del servidor de PDP (si están en modo unix)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
#: extensions/amavis/app_settings.py:58
|
||||
msgid "Check requests interval"
|
||||
msgstr "Intervalo de las peticiones de chequeo"
|
||||
|
||||
#: extensions/amavis/app_settings.py:56
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
msgid "Interval between two release requests checks"
|
||||
msgstr "Intervalo entre dos peticiones de chequeo"
|
||||
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
#: extensions/amavis/app_settings.py:64
|
||||
msgid "Allow direct release"
|
||||
msgstr "Permitir publicación directa"
|
||||
|
||||
#: extensions/amavis/app_settings.py:62
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
msgid "Allow users to directly release their messages"
|
||||
msgstr "Permitir a los usuarios enviar directamente sus mensajes"
|
||||
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
#: extensions/amavis/app_settings.py:70
|
||||
msgid "Enable self-service mode"
|
||||
msgstr "Activar modo de autoservicio"
|
||||
|
||||
#: extensions/amavis/app_settings.py:68
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
msgid "Activate the 'self-service' mode"
|
||||
msgstr "Activar el modo 'auto-servicio'"
|
||||
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
#: extensions/amavis/app_settings.py:76
|
||||
msgid "Notifications sender"
|
||||
msgstr "Notificaciones al remitente"
|
||||
|
||||
#: extensions/amavis/app_settings.py:74
|
||||
#: extensions/amavis/app_settings.py:78
|
||||
msgid "The e-mail address used to send notitications"
|
||||
msgstr "La dirección de correo usada para enviar notificaciones"
|
||||
|
||||
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
|
||||
#: extensions/amavis/app_settings.py:81
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:28
|
||||
msgid "Manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:84
|
||||
msgid "Enable manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:87
|
||||
msgid "Allow super administrators to manually train Spamassassin"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
msgid "Is Spamassassin local?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:95
|
||||
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:100
|
||||
#, fuzzy
|
||||
msgid "Default user"
|
||||
msgstr "Editor por defecto"
|
||||
|
||||
#: extensions/amavis/app_settings.py:103
|
||||
msgid "Name of the user owning the default bayesian database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:108
|
||||
#, fuzzy
|
||||
msgid "Spamd address"
|
||||
msgstr "De la dirección"
|
||||
|
||||
#: extensions/amavis/app_settings.py:110
|
||||
msgid "The IP address where spamd can be reached"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:114
|
||||
#, fuzzy
|
||||
msgid "Spamd port"
|
||||
msgstr "Correo basura"
|
||||
|
||||
#: extensions/amavis/app_settings.py:116
|
||||
msgid "The TCP port spamd is listening on"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:120
|
||||
msgid "Enable per-domain manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:123
|
||||
msgid ""
|
||||
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
||||
"domain databases)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:129
|
||||
msgid "Enable per-user manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:132
|
||||
msgid ""
|
||||
"Allow simple users to personally train Spamassassin (within a dedicated "
|
||||
"database)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:161 extensions/webmail/app_settings.py:91
|
||||
msgid "Number of displayed emails per page"
|
||||
msgstr "Número de emails mostrados por página"
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
#: extensions/amavis/app_settings.py:162
|
||||
msgid "Set the maximum number of messages displayed in a page"
|
||||
msgstr "Fijar el número máxima de mensajes mostrados en una página"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:82
|
||||
#: extensions/amavis/forms.py:83
|
||||
msgid "Global database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/forms.py:89
|
||||
#, fuzzy
|
||||
msgid "Domain's database"
|
||||
msgstr "Alias del dominio"
|
||||
|
||||
#: extensions/amavis/forms.py:91
|
||||
#, fuzzy
|
||||
msgid "User's database"
|
||||
msgstr "Buscar base"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:136
|
||||
msgid "pending requests"
|
||||
msgstr "Peticiones pendientes"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:125
|
||||
#: extensions/amavis/general_callbacks.py:179
|
||||
#, fuzzy
|
||||
msgid "Pending requests"
|
||||
msgstr "Peticiones pendientes"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:135
|
||||
#: extensions/amavis/general_callbacks.py:189
|
||||
msgid "Content filter"
|
||||
msgstr "Filtro de contenido"
|
||||
|
||||
#: extensions/amavis/lib.py:56
|
||||
#: extensions/amavis/lib.py:62
|
||||
#, python-format
|
||||
msgid "Connection to amavis failed: %s"
|
||||
msgstr "La conexión con amavis falló: %s"
|
||||
|
||||
#: extensions/amavis/lib.py:131
|
||||
#, fuzzy
|
||||
msgid "No recipient found"
|
||||
msgstr "No ha puesto destinatario"
|
||||
|
||||
#: extensions/amavis/models.py:93
|
||||
msgid "Virus filter"
|
||||
msgstr "Filtro de virus"
|
||||
@@ -1649,8 +1736,8 @@ msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/sql_listing.py:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:75
|
||||
#: extensions/webmail/forms.py:82
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:106
|
||||
#: extensions/webmail/forms.py:83
|
||||
msgid "To"
|
||||
msgstr "A"
|
||||
|
||||
@@ -1661,49 +1748,65 @@ msgid "From"
|
||||
msgstr "Desde"
|
||||
|
||||
#: extensions/amavis/sql_listing.py:40 extensions/sievefilters/forms.py:77
|
||||
#: extensions/webmail/forms.py:86 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/forms.py:87 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/lib/listing.py:27 extensions/webmail/lib/tables.py:26
|
||||
#: templates/common/email_searchbar.html:6
|
||||
msgid "Subject"
|
||||
msgstr "Tema"
|
||||
|
||||
#: extensions/amavis/views.py:27
|
||||
#: extensions/amavis/views.py:31
|
||||
msgid "Empty quarantine"
|
||||
msgstr "Vaciar cuarentena"
|
||||
|
||||
#: extensions/amavis/views.py:149
|
||||
#: extensions/amavis/views.py:177
|
||||
msgid "Message deleted"
|
||||
msgstr "Mensaje eliminado"
|
||||
|
||||
#: extensions/amavis/views.py:168
|
||||
#: extensions/amavis/views.py:194
|
||||
#, python-format
|
||||
msgid "%(count)d message deleted successfully"
|
||||
msgid_plural "%(count)d messages deleted successfully"
|
||||
msgstr[0] "%(count)d mensaje eliminado correctamente"
|
||||
msgstr[1] "%(count)d mensajes eliminados correctamente"
|
||||
|
||||
#: extensions/amavis/views.py:191
|
||||
#: extensions/amavis/views.py:217
|
||||
msgid "Request sent"
|
||||
msgstr "Petición enviada"
|
||||
|
||||
#: extensions/amavis/views.py:197
|
||||
#: extensions/amavis/views.py:223
|
||||
msgid "Message released"
|
||||
msgstr "Mensaje publicado"
|
||||
|
||||
#: extensions/amavis/views.py:225
|
||||
#: extensions/amavis/views.py:250
|
||||
#, python-format
|
||||
msgid "%(count)d request sent"
|
||||
msgid_plural "%(count)d requests sent"
|
||||
msgstr[0] "%(count)d petición enviada"
|
||||
msgstr[1] "%(count)d peticiones enviadas"
|
||||
|
||||
#: extensions/amavis/views.py:246
|
||||
#: extensions/amavis/views.py:271
|
||||
#, python-format
|
||||
msgid "%(count)d message released successfully"
|
||||
msgid_plural "%(count)d messages released successfully"
|
||||
msgstr[0] "%(count)d mensaje publicado correctamente"
|
||||
msgstr[1] "%(count)d mensajes publicados correctamente"
|
||||
|
||||
#: extensions/amavis/views.py:309
|
||||
#, fuzzy, python-format
|
||||
msgid "%(count)d message processed successfully"
|
||||
msgid_plural "%(count)d messages processed successfully"
|
||||
msgstr[0] "%(count)d mensaje publicado correctamente"
|
||||
msgstr[1] "%(count)d mensajes publicados correctamente"
|
||||
|
||||
#: extensions/amavis/views.py:341
|
||||
#, fuzzy
|
||||
msgid "Select a database"
|
||||
msgstr "Seleccione un fichero"
|
||||
|
||||
#: extensions/amavis/views.py:345
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/management/commands/amnotify.py:61
|
||||
msgid "[modoboa] Pending release requests"
|
||||
msgstr "[modoboa] Pendiente de publicar las peticiones"
|
||||
@@ -1730,70 +1833,90 @@ msgid "Select"
|
||||
msgstr "Seleccione un fichero"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:9
|
||||
msgid "Clean"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
msgid "Spam"
|
||||
msgstr "Correo basura"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
msgid "Virus"
|
||||
msgstr "Virus"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#, fuzzy
|
||||
msgid "Bad Header"
|
||||
msgstr "Mala cabecera"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
msgid "Bad MIME"
|
||||
msgstr "Mal MIME"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:14
|
||||
#, fuzzy
|
||||
msgid "Banned"
|
||||
msgstr "Filtro de expulsados"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:18
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:54
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:85
|
||||
msgid "Release"
|
||||
msgstr "Publicar"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:23
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:25
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:61
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:30
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:92
|
||||
#: extensions/webmail/templatetags/webmail_tags.py:32
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:44
|
||||
#, fuzzy
|
||||
msgid "Mark as spam"
|
||||
msgstr "Marcar mensajes"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:52
|
||||
msgid "Mark as non-spam"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
#: extensions/sievefilters/forms.py:64
|
||||
msgid "All messages"
|
||||
msgstr "Todos los mensajes"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:32
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:45
|
||||
#, fuzzy
|
||||
msgid "Clean only"
|
||||
msgstr "Filtro de expulsados"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:47
|
||||
#, fuzzy
|
||||
msgid "Spam only"
|
||||
msgstr "Correo basura"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:48
|
||||
#, fuzzy
|
||||
msgid "Virus only"
|
||||
msgstr "Virus"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:49
|
||||
#, fuzzy
|
||||
msgid "Bad Header only"
|
||||
msgstr "Mala cabecera"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:35
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:50
|
||||
#, fuzzy
|
||||
msgid "Bad MIME only"
|
||||
msgstr "Mal MIME"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:36
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:51
|
||||
#, fuzzy
|
||||
msgid "Banned only"
|
||||
msgstr "Filtro de expulsados"
|
||||
@@ -1842,7 +1965,7 @@ msgstr "Actuar sobre este mensaje"
|
||||
msgid "Please visit %(listingurl)s for a full listing."
|
||||
msgstr "Por favor, visite %(listingurl)s para un listado completo."
|
||||
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:28
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:35
|
||||
msgid "View full headers"
|
||||
msgstr "Ver todas las cabeceras"
|
||||
|
||||
@@ -2295,7 +2418,7 @@ msgstr "Remitente"
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatario"
|
||||
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:83
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:84
|
||||
msgid "Cc"
|
||||
msgstr "Cc"
|
||||
|
||||
@@ -2551,19 +2674,19 @@ msgstr "Conjunto gráfico desconocido"
|
||||
msgid "Bad custom period"
|
||||
msgstr "Período elegido erróneo"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:33
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
msgid "Search a domain"
|
||||
msgstr "Buscar un dominio"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:37
|
||||
#: extensions/stats/templates/stats/index.html:32
|
||||
msgid "Predefined time ranges"
|
||||
msgstr "Rangos de tiempo predefinidos"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:44
|
||||
#: extensions/stats/templates/stats/index.html:39
|
||||
msgid "Custom time range"
|
||||
msgstr "Rango de tiempo definido"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:57
|
||||
#: extensions/stats/templates/stats/index.html:52
|
||||
msgid "Apply"
|
||||
msgstr "Aplicar"
|
||||
|
||||
@@ -2720,7 +2843,7 @@ msgstr "Respuesta del servidor"
|
||||
msgid "Unknown action"
|
||||
msgstr "Acción desconocida"
|
||||
|
||||
#: extensions/webmail/forms.py:84
|
||||
#: extensions/webmail/forms.py:85
|
||||
msgid "Cci"
|
||||
msgstr "Cco"
|
||||
|
||||
@@ -2927,15 +3050,15 @@ msgstr "No "
|
||||
msgid "Failed to update password: %s"
|
||||
msgstr "Falló la actualización de la contraseña: %s"
|
||||
|
||||
#: lib/permissions.py:20
|
||||
#: lib/permissions.py:19
|
||||
msgid "Simple user"
|
||||
msgstr "Usuario normal"
|
||||
|
||||
#: lib/permissions.py:22
|
||||
#: lib/permissions.py:21
|
||||
msgid "Super administrator"
|
||||
msgstr "Super administrador"
|
||||
|
||||
#: lib/permissions.py:28
|
||||
#: lib/permissions.py:27
|
||||
msgid "Domain administrator"
|
||||
msgstr "Administrador de dominio"
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:32+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:22+0100\n"
|
||||
"PO-Revision-Date: 2013-06-03 16:32+0000\n"
|
||||
"Last-Translator: Pedro Gracia <lasarux@neuroomante.com>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/"
|
||||
@@ -44,33 +44,51 @@ msgstr ""
|
||||
msgid "No domain administrator defined"
|
||||
msgstr "No hay un administrador de dominio definido"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr "No eliminar el directorio del mailbox"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr "¿Publicar esta selección?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr "¿Eliminar esta selección?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr "¿Publicar esta selección?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr "¿Publicar esta selección?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr "¿Publicar este mensaje?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr "¿Eliminar este mensaje?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr "Ver todas las cabeceras"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr "Esconder todas las cabeceras"
|
||||
|
||||
@@ -99,7 +117,7 @@ msgstr "¿Activar este conjunto de filtros?"
|
||||
msgid "active"
|
||||
msgstr "activo"
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr "Buscar un dominio"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: modoboa-1.1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:29+0200\n"
|
||||
"POT-Creation-Date: 2014-11-04 11:51+0100\n"
|
||||
"PO-Revision-Date: 2011-01-07 10:00+100\n"
|
||||
"Last-Translator: Antoine Nguyen <tonio@ngyn.org>\n"
|
||||
"Language-Team: FR <tonio@ngyn.org>\n"
|
||||
@@ -18,8 +18,8 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: core/__init__.py:52 core/__init__.py:53
|
||||
#: extensions/admin/forms/account.py:326 extensions/admin/forms/domain.py:256
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:129
|
||||
#: extensions/admin/forms/account.py:327 extensions/admin/forms/domain.py:248
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:133
|
||||
#: extensions/postfix_autoreply/app_settings.py:11
|
||||
#: extensions/postfix_relay_domains/forms.py:138
|
||||
#: extensions/sievefilters/app_settings.py:50
|
||||
@@ -243,8 +243,8 @@ msgid ""
|
||||
"Automatically create a domain and a mailbox when a new user is created just "
|
||||
"after the first successful authentication."
|
||||
msgstr ""
|
||||
"Créer automatiquement un domaine et une boite aux lettres quand un "
|
||||
"nouvel utilisateur est créé après la première authenfication réussie."
|
||||
"Créer automatiquement un domaine et une boite aux lettres quand un nouvel "
|
||||
"utilisateur est créé après la première authenfication réussie."
|
||||
|
||||
#: core/app_settings.py:201
|
||||
#: extensions/admin/templates/admin/editdomainform.html:7
|
||||
@@ -292,8 +292,8 @@ msgstr "Nombre invalide de tours"
|
||||
msgid "This field is required"
|
||||
msgstr "Ce champ est requis"
|
||||
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:87
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:29
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:157
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:41
|
||||
#: extensions/webmail/app_settings.py:73
|
||||
msgid "Display"
|
||||
msgstr "Afficher"
|
||||
@@ -347,37 +347,37 @@ msgstr "dernière connexion"
|
||||
msgid "You can't delete your own account"
|
||||
msgstr "Vous ne pouvez pas supprimer votre propre compte"
|
||||
|
||||
#: core/models.py:117
|
||||
#: core/models.py:130
|
||||
msgid "Failed to update password: LDAP module not installed"
|
||||
msgstr ""
|
||||
"Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé"
|
||||
|
||||
#: core/models.py:170
|
||||
#: core/models.py:183
|
||||
msgid "account"
|
||||
msgstr "compte"
|
||||
|
||||
#: core/models.py:321 extensions/admin/models/domain.py:144
|
||||
#: core/models.py:334 extensions/admin/models/domain.py:144
|
||||
#: extensions/admin/models/domain_alias.py:39
|
||||
#: extensions/postfix_relay_domains/models.py:134
|
||||
#: extensions/postfix_relay_domains/models.py:190
|
||||
msgid "Invalid line"
|
||||
msgstr "Ligne invalide"
|
||||
|
||||
#: core/models.py:325
|
||||
#: core/models.py:338
|
||||
msgid "You can't import an account with a role greater than yours"
|
||||
msgstr "Vous ne pouvez pas importer un compte avec un rôle supérieur au votre"
|
||||
|
||||
#: core/models.py:337
|
||||
#: core/models.py:350
|
||||
#, python-format
|
||||
msgid "The simple user '%s' must have a valid email address"
|
||||
msgstr "L'utilisateur simple '%s' doit avoir une adresse email valide"
|
||||
|
||||
#: core/models.py:341
|
||||
#: core/models.py:354
|
||||
#, python-format
|
||||
msgid "username and email fields must not differ for '%s'"
|
||||
msgstr "Les champs username et email de '%s' ne doivent pas différer"
|
||||
|
||||
#: core/models.py:410 extensions/admin/models/alias.py:35
|
||||
#: core/models.py:423 extensions/admin/models/alias.py:35
|
||||
#: extensions/admin/models/domain.py:32
|
||||
#: extensions/admin/models/domain_alias.py:17
|
||||
#: extensions/postfix_autoreply/models.py:28
|
||||
@@ -386,29 +386,29 @@ msgstr "Les champs username et email de '%s' ne doivent pas différer"
|
||||
msgid "enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#: core/models.py:411
|
||||
#: core/models.py:424
|
||||
msgid "Check to enable this extension"
|
||||
msgstr "Cocher pour activer cette extension"
|
||||
|
||||
#: core/models.py:491
|
||||
#: core/models.py:504
|
||||
msgid "added"
|
||||
msgstr "ajouté"
|
||||
|
||||
#: core/models.py:494
|
||||
#: core/models.py:507
|
||||
msgid "modified"
|
||||
msgstr "modifié"
|
||||
|
||||
#: core/models.py:496 core/models.py:521
|
||||
#: core/models.py:509 core/models.py:534
|
||||
#, python-format
|
||||
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
|
||||
msgstr "%(object)s '%(name)s' %(action)s par l'utilisateur %(user)s"
|
||||
|
||||
#: core/models.py:523
|
||||
#: core/models.py:536
|
||||
msgid "deleted"
|
||||
msgstr "Supprimé"
|
||||
|
||||
#: core/tables.py:8 core/templates/core/information.html:8
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:187
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:179
|
||||
#: extensions/admin/templates/admin/domains_table.html:5
|
||||
#: extensions/admin/templates/admin/editdomainform.html:13
|
||||
#: extensions/admin/templates/admin/identities_table.html:5
|
||||
@@ -524,7 +524,7 @@ msgstr "Mettez à jour vos informations personnelles"
|
||||
#: core/templates/core/user_profile.html:8
|
||||
#: extensions/admin/templates/admin/forward.html:8
|
||||
#: extensions/admin/views/alias.py:112 extensions/admin/views/domain.py:168
|
||||
#: extensions/admin/views/identity.py:200
|
||||
#: extensions/admin/views/identity.py:204
|
||||
#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
|
||||
#: extensions/postfix_relay_domains/views.py:66
|
||||
#: extensions/sievefilters/views.py:166 extensions/webmail/views.py:172
|
||||
@@ -653,7 +653,7 @@ msgstr "Transfert"
|
||||
msgid "Account import failed (%s): domain does not exist"
|
||||
msgstr "L'import du compte a échoué (%s): le domaine n'existe pas"
|
||||
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:196
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:197
|
||||
#, python-format
|
||||
msgid "Mailbox %s already exists"
|
||||
msgstr "La boite %s existe déjà"
|
||||
@@ -663,6 +663,12 @@ msgstr "La boite %s existe déjà"
|
||||
msgid "Account import failed (%s): wrong quota value"
|
||||
msgstr "L'import du compte a échoué (%s): mauvais quota"
|
||||
|
||||
#: extensions/admin/__init__.py:212 extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr "alias de domaine"
|
||||
|
||||
#: extensions/admin/app_settings.py:13
|
||||
#: extensions/admin/templates/admin/editdomainform.html:25
|
||||
#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
|
||||
@@ -714,7 +720,7 @@ msgstr ""
|
||||
"même temps"
|
||||
|
||||
#: extensions/admin/app_settings.py:81 extensions/admin/forms/account.py:178
|
||||
#: extensions/admin/forms/domain.py:56
|
||||
#: extensions/admin/forms/domain.py:57
|
||||
msgid "Must be a positive integer"
|
||||
msgstr "Doit être un entier positif"
|
||||
|
||||
@@ -762,7 +768,7 @@ msgstr "Vous ne pouvez pas désactiver votre propre compte"
|
||||
msgid "E-mail"
|
||||
msgstr "E-mail"
|
||||
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:17
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:18
|
||||
msgid "Quota"
|
||||
msgstr "Quota"
|
||||
|
||||
@@ -776,7 +782,7 @@ msgstr ""
|
||||
"valeur par défaut du domaine. Laisser vide pour définir une valeur illimitée "
|
||||
"(interdit pour les admins. de domaine)."
|
||||
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:26
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:27
|
||||
#: extensions/admin/templates/admin/domains_table.html:6
|
||||
#: extensions/postfix_relay_domains/forms.py:12
|
||||
msgid "Alias(es)"
|
||||
@@ -792,25 +798,25 @@ msgstr ""
|
||||
"ENTREE pour ajouter un nouveau champ. Utiliser le caractère '*' pour créer "
|
||||
"une adresse 'attrape tout' (ex: *@domain.tld)."
|
||||
|
||||
#: extensions/admin/forms/account.py:187 extensions/admin/forms/account.py:217
|
||||
#: extensions/admin/forms/account.py:188 extensions/admin/forms/account.py:218
|
||||
#: extensions/admin/forms/alias.py:65
|
||||
msgid "Domain does not exist"
|
||||
msgstr "Domain inexistant"
|
||||
msgstr "Domaine inexistant"
|
||||
|
||||
#: extensions/admin/forms/account.py:284
|
||||
#: extensions/admin/forms/account.py:285
|
||||
msgid "Domain(s)"
|
||||
msgstr "Domaine(s)"
|
||||
|
||||
#: extensions/admin/forms/account.py:286
|
||||
#: extensions/admin/forms/account.py:287
|
||||
msgid "Domain(s) that user administrates"
|
||||
msgstr "Domaine(s) que cet utilisateur administre"
|
||||
|
||||
#: extensions/admin/forms/account.py:328
|
||||
#: extensions/admin/views/identity.py:132
|
||||
#: extensions/admin/forms/account.py:329
|
||||
#: extensions/admin/views/identity.py:136
|
||||
msgid "Mail"
|
||||
msgstr "Courrier"
|
||||
|
||||
#: extensions/admin/forms/account.py:330
|
||||
#: extensions/admin/forms/account.py:331
|
||||
msgid "Permissions"
|
||||
msgstr "Permissions"
|
||||
|
||||
@@ -860,7 +866,7 @@ msgstr "Destinataire %s déjà présent"
|
||||
msgid "No recipient defined"
|
||||
msgstr "Aucune destinataire défini"
|
||||
|
||||
#: extensions/admin/forms/domain.py:20
|
||||
#: extensions/admin/forms/domain.py:21
|
||||
msgid ""
|
||||
"Default quota in MB applied to mailboxes. Leave empty to use the default "
|
||||
"value."
|
||||
@@ -868,7 +874,7 @@ msgstr ""
|
||||
"Quota par défaut en Mo appliqué aux boites aux lettres. Laisser vide pour "
|
||||
"utiliser la valeur par défaut."
|
||||
|
||||
#: extensions/admin/forms/domain.py:29
|
||||
#: extensions/admin/forms/domain.py:30
|
||||
msgid ""
|
||||
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
|
||||
"add a new input."
|
||||
@@ -876,34 +882,28 @@ msgstr ""
|
||||
"Alias de ce domaine. Indiquer seulement un nom par champ, appuyer sur ENTREE "
|
||||
"pour ajouter un nouveau champ."
|
||||
|
||||
#: extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr "alias de domaine"
|
||||
|
||||
#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
|
||||
#: extensions/admin/forms/domain.py:78 extensions/admin/forms/domain.py:92
|
||||
#: extensions/postfix_relay_domains/forms.py:58
|
||||
#: extensions/postfix_relay_domains/forms.py:78
|
||||
#, python-format
|
||||
msgid "A %s with this name already exists"
|
||||
msgstr "Un %s de ce nom existe déjà"
|
||||
|
||||
#: extensions/admin/forms/domain.py:92
|
||||
#: extensions/admin/forms/domain.py:89
|
||||
#: extensions/postfix_relay_domains/forms.py:49
|
||||
#: extensions/postfix_relay_domains/forms.py:71
|
||||
msgid "domain"
|
||||
msgstr "domaine"
|
||||
|
||||
#: extensions/admin/forms/domain.py:181
|
||||
#: extensions/admin/forms/domain.py:173
|
||||
msgid "Create a domain administrator"
|
||||
msgstr "Créer un administrateur de domaine"
|
||||
|
||||
#: extensions/admin/forms/domain.py:183
|
||||
#: extensions/admin/forms/domain.py:175
|
||||
msgid "Automatically create an administrator for this domain"
|
||||
msgstr "Créer automatiquement un administrateur pour ce domaine"
|
||||
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
#: extensions/admin/forms/domain.py:182
|
||||
msgid ""
|
||||
"The administrator's name. Don't include the domain's name here, it will be "
|
||||
"automatically appended."
|
||||
@@ -911,19 +911,19 @@ msgstr ""
|
||||
"Le nom de l'administrateur. Ne pas include un nom de domaine ici, il sera "
|
||||
"ajouté automatiquement."
|
||||
|
||||
#: extensions/admin/forms/domain.py:198
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
msgid "Create aliases"
|
||||
msgstr "Créer des alias"
|
||||
|
||||
#: extensions/admin/forms/domain.py:200
|
||||
#: extensions/admin/forms/domain.py:192
|
||||
msgid "Automatically create standard aliases for this domain"
|
||||
msgstr "Créer automatiquement des alias standard pour ce domaine"
|
||||
|
||||
#: extensions/admin/forms/domain.py:216
|
||||
#: extensions/admin/forms/domain.py:208
|
||||
msgid "Invalid format"
|
||||
msgstr "Format invalide"
|
||||
|
||||
#: extensions/admin/forms/domain.py:230
|
||||
#: extensions/admin/forms/domain.py:222
|
||||
#, python-format
|
||||
msgid "User '%s' already exists"
|
||||
msgstr "L'utilisateur '%s' existe déjà"
|
||||
@@ -960,7 +960,7 @@ msgstr ""
|
||||
"Vous ne pouvez pas définir un transfert vers une destination locale. "
|
||||
"Veuillez plutôt demander à votre administrateur de créer un alias"
|
||||
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:198
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:200
|
||||
msgid "Select a file"
|
||||
msgstr "Sélectionner un fichier"
|
||||
|
||||
@@ -982,7 +982,7 @@ msgstr ""
|
||||
"Cocher cette option si les mots de passe contenus dans votre fichier ne sont "
|
||||
"pas chiffrés"
|
||||
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:62
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:74
|
||||
msgid "address"
|
||||
msgstr "Adresse"
|
||||
|
||||
@@ -1032,7 +1032,7 @@ msgstr "Ligne invalide : %s"
|
||||
#: extensions/admin/models/alias.py:157
|
||||
#, python-format
|
||||
msgid "Domain '%s' does not exist"
|
||||
msgstr "Domain '%s' inexistant"
|
||||
msgstr "Domaine '%s' inexistant"
|
||||
|
||||
#: extensions/admin/models/domain.py:28
|
||||
#: extensions/admin/models/domain_alias.py:10
|
||||
@@ -1078,23 +1078,23 @@ msgstr "Le domaine vers lequel cet alias pointe"
|
||||
#: extensions/admin/models/domain_alias.py:52
|
||||
#, python-format
|
||||
msgid "Unknown domain %s"
|
||||
msgstr "Domain %s inconnu"
|
||||
msgstr "Domaine %s inconnu"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:63
|
||||
#: extensions/admin/models/mailbox.py:75
|
||||
msgid "Mailbox address (without the @domain.tld part)"
|
||||
msgstr "Adresse de la boite aux lettres (sans la partie @domain.tld)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:125
|
||||
#: extensions/admin/models/mailbox.py:136
|
||||
#, python-format
|
||||
msgid "Failed to retrieve mailbox location (%s)"
|
||||
msgstr "Impossible de récuperer l'emplacement de la boite (%s)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:194
|
||||
#: extensions/admin/models/mailbox.py:221
|
||||
#, python-format
|
||||
msgid "Quota is greater than the allowed domain's limit (%dM)"
|
||||
msgstr "Le quota est supérieur à la limité autorisée pour le domaine (%dM)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:199
|
||||
#: extensions/admin/models/mailbox.py:227
|
||||
msgid "A quota is required"
|
||||
msgstr "Un quota est requis"
|
||||
|
||||
@@ -1166,7 +1166,7 @@ msgid "Importing..."
|
||||
msgstr "Import en cours..."
|
||||
|
||||
#: extensions/admin/templates/admin/listing.html:14
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
#: extensions/stats/templates/stats/index.html:23
|
||||
msgid "Filter"
|
||||
msgstr "Filter"
|
||||
|
||||
@@ -1268,8 +1268,8 @@ msgid "Alias with this name already exists"
|
||||
msgstr "Un alias de ce nom existe déjà"
|
||||
|
||||
#: extensions/admin/views/alias.py:50 extensions/admin/views/domain.py:102
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:133
|
||||
#: extensions/admin/views/identity.py:160
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:137
|
||||
#: extensions/admin/views/identity.py:164
|
||||
#: extensions/postfix_relay_domains/views.py:34
|
||||
#: extensions/sievefilters/views.py:144 extensions/sievefilters/views.py:233
|
||||
#: extensions/webmail/views.py:153
|
||||
@@ -1312,17 +1312,17 @@ msgstr "Transfert modifié"
|
||||
msgid "Alias modified"
|
||||
msgstr "Alias modifié"
|
||||
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:130
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:134
|
||||
msgid "Next"
|
||||
msgstr "Suivante"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: extensions/admin/views/domain.py:101
|
||||
msgid "Options"
|
||||
msgstr "Options"
|
||||
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:134
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:138
|
||||
msgid "Previous"
|
||||
msgstr "Précédente"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: extensions/admin/views/domain.py:125
|
||||
msgid "Domain created"
|
||||
@@ -1354,11 +1354,11 @@ msgstr "Export d'identités"
|
||||
msgid "Export domains"
|
||||
msgstr "Export de domaines"
|
||||
|
||||
#: extensions/admin/views/identity.py:104
|
||||
#: extensions/admin/views/identity.py:227
|
||||
#: extensions/admin/views/identity.py:232 extensions/amavis/views.py:144
|
||||
#: extensions/amavis/views.py:148 extensions/amavis/views.py:181
|
||||
#: extensions/amavis/views.py:186 extensions/amavis/views.py:188
|
||||
#: extensions/admin/views/identity.py:108
|
||||
#: extensions/admin/views/identity.py:231
|
||||
#: extensions/admin/views/identity.py:236 extensions/amavis/views.py:172
|
||||
#: extensions/amavis/views.py:176 extensions/amavis/views.py:207
|
||||
#: extensions/amavis/views.py:212 extensions/amavis/views.py:214
|
||||
#: extensions/webmail/views.py:49 extensions/webmail/views.py:67
|
||||
#: extensions/webmail/views.py:81 extensions/webmail/views.py:99
|
||||
#: extensions/webmail/views.py:116 extensions/webmail/views.py:202
|
||||
@@ -1369,19 +1369,19 @@ msgstr "Export de domaines"
|
||||
msgid "Invalid request"
|
||||
msgstr "Requête invalide"
|
||||
|
||||
#: extensions/admin/views/identity.py:151
|
||||
#: extensions/admin/views/identity.py:155
|
||||
msgid "Account created"
|
||||
msgstr "Compte créé"
|
||||
|
||||
#: extensions/admin/views/identity.py:157
|
||||
#: extensions/admin/views/identity.py:161
|
||||
msgid "New account"
|
||||
msgstr "Nouveau compte"
|
||||
|
||||
#: extensions/admin/views/identity.py:193
|
||||
#: extensions/admin/views/identity.py:197
|
||||
msgid "Account updated"
|
||||
msgstr "Compte mis à jour"
|
||||
|
||||
#: extensions/admin/views/identity.py:217
|
||||
#: extensions/admin/views/identity.py:221
|
||||
msgid "Account deleted"
|
||||
msgid_plural "Accounts deleted"
|
||||
msgstr[0] "Compte supprimé"
|
||||
@@ -1464,125 +1464,211 @@ msgstr "Transfert mis à jour"
|
||||
msgid "Simple amavis management frontend"
|
||||
msgstr "Interface simplifiée pour la gestion d'amavis"
|
||||
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:18
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:20
|
||||
msgid "Quarantine"
|
||||
msgstr "Quarantaine"
|
||||
|
||||
#: extensions/amavis/app_settings.py:11
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
msgid "Quarantine settings"
|
||||
msgstr "Paramètres de quarantaine"
|
||||
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
#: extensions/amavis/app_settings.py:17
|
||||
msgid "Maximum message age"
|
||||
msgstr "Age maximal des messages"
|
||||
|
||||
#: extensions/amavis/app_settings.py:16
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
msgid "Quarantine messages maximum age (in days) before deletion"
|
||||
msgstr "Age maximum (en jours) des messages en quarantaine avant suppression"
|
||||
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
msgid "Messages releasing"
|
||||
msgstr "Libération des messages"
|
||||
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
#: extensions/amavis/app_settings.py:25
|
||||
msgid "Remove released messages"
|
||||
msgstr "Supprimer les messages libérés"
|
||||
|
||||
#: extensions/amavis/app_settings.py:24
|
||||
#: extensions/amavis/app_settings.py:27
|
||||
msgid "Remove messages marked as released while cleaning up the database"
|
||||
msgstr ""
|
||||
"Supprimer les messages marqués comme relâchés pendant le nettoyage de la "
|
||||
"base de données"
|
||||
|
||||
#: extensions/amavis/app_settings.py:28
|
||||
#: extensions/amavis/app_settings.py:32
|
||||
msgid "Amavis connection mode"
|
||||
msgstr "Mode de connexion à Amavis"
|
||||
|
||||
#: extensions/amavis/app_settings.py:31
|
||||
#: extensions/amavis/app_settings.py:35
|
||||
msgid "Mode used to access the PDP server"
|
||||
msgstr "Mode utilisé pour accéder au serveur PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:36
|
||||
#: extensions/amavis/app_settings.py:40
|
||||
msgid "PDP server address"
|
||||
msgstr "Adresse du serveur PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:38
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
msgid "PDP server address (if inet mode)"
|
||||
msgstr "Adresse du serveur PDP (en mode inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
#: extensions/amavis/app_settings.py:46
|
||||
msgid "PDP server port"
|
||||
msgstr "Port du serveur PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:44
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
msgid "PDP server port (if inet mode)"
|
||||
msgstr "Port du serveur PDP (en mode inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
#: extensions/amavis/app_settings.py:52
|
||||
msgid "PDP server socket"
|
||||
msgstr "Socket du serveur PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:50
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
msgid "Path to the PDP server socket (if unix mode)"
|
||||
msgstr "Emplacement de la socket du serveur PDP (en mode unix)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
#: extensions/amavis/app_settings.py:58
|
||||
msgid "Check requests interval"
|
||||
msgstr "Intervalle entre deux requêtes de vérification"
|
||||
|
||||
#: extensions/amavis/app_settings.py:56
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
msgid "Interval between two release requests checks"
|
||||
msgstr "Intervalle entre deux vérifications de requêtes en attente"
|
||||
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
#: extensions/amavis/app_settings.py:64
|
||||
msgid "Allow direct release"
|
||||
msgstr "Autoriser la libération directe"
|
||||
|
||||
#: extensions/amavis/app_settings.py:62
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
msgid "Allow users to directly release their messages"
|
||||
msgstr "Autoriser les utilisateurs à relâcher directement leurs messages"
|
||||
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
#: extensions/amavis/app_settings.py:70
|
||||
msgid "Enable self-service mode"
|
||||
msgstr "Activer le mode 'libre service'"
|
||||
|
||||
#: extensions/amavis/app_settings.py:68
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
msgid "Activate the 'self-service' mode"
|
||||
msgstr "Activer le mode 'libre service'"
|
||||
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
#: extensions/amavis/app_settings.py:76
|
||||
msgid "Notifications sender"
|
||||
msgstr "Emetteur des notifications"
|
||||
|
||||
#: extensions/amavis/app_settings.py:74
|
||||
#: extensions/amavis/app_settings.py:78
|
||||
msgid "The e-mail address used to send notitications"
|
||||
msgstr "L'adresse e-mail utilisée pour envoyer les notifications"
|
||||
|
||||
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
|
||||
#: extensions/amavis/app_settings.py:81
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:28
|
||||
msgid "Manual learning"
|
||||
msgstr "Apprentissage manuel"
|
||||
|
||||
#: extensions/amavis/app_settings.py:84
|
||||
msgid "Enable manual learning"
|
||||
msgstr "Activer l'apprentissage manuel"
|
||||
|
||||
#: extensions/amavis/app_settings.py:87
|
||||
msgid "Allow super administrators to manually train Spamassassin"
|
||||
msgstr ""
|
||||
"Autorise les super administrateurs à entrainer manuellement Spamassassin"
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
msgid "Is Spamassassin local?"
|
||||
msgstr "Spamassassin est il local?"
|
||||
|
||||
#: extensions/amavis/app_settings.py:95
|
||||
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
||||
msgstr "Indique si Spamassassin tourne sur le même serveur que Modoboa"
|
||||
|
||||
#: extensions/amavis/app_settings.py:100
|
||||
msgid "Default user"
|
||||
msgstr "Utilisateur par défaut"
|
||||
|
||||
#: extensions/amavis/app_settings.py:103
|
||||
msgid "Name of the user owning the default bayesian database"
|
||||
msgstr "Nom de l'utilisateur possédant la base bayesienne par défaut"
|
||||
|
||||
#: extensions/amavis/app_settings.py:108
|
||||
msgid "Spamd address"
|
||||
msgstr "Adresse de spamd"
|
||||
|
||||
#: extensions/amavis/app_settings.py:110
|
||||
msgid "The IP address where spamd can be reached"
|
||||
msgstr "L'adresse IP à laquelle spamd peut etre joint"
|
||||
|
||||
#: extensions/amavis/app_settings.py:114
|
||||
msgid "Spamd port"
|
||||
msgstr "Port de spamd"
|
||||
|
||||
#: extensions/amavis/app_settings.py:116
|
||||
msgid "The TCP port spamd is listening on"
|
||||
msgstr "Le port TCP sur lequel écoute spamd"
|
||||
|
||||
#: extensions/amavis/app_settings.py:120
|
||||
msgid "Enable per-domain manual learning"
|
||||
msgstr "Activer l'apprentissage manuel niveau domaine"
|
||||
|
||||
#: extensions/amavis/app_settings.py:123
|
||||
msgid ""
|
||||
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
||||
"domain databases)"
|
||||
msgstr ""
|
||||
"Autorise les administrateurs de domaine à entrainer Spamassassin (au sein de "
|
||||
"bases dédiées par domaine)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:129
|
||||
msgid "Enable per-user manual learning"
|
||||
msgstr "Activer l'apprentissage manuel par utilisateur"
|
||||
|
||||
#: extensions/amavis/app_settings.py:132
|
||||
msgid ""
|
||||
"Allow simple users to personally train Spamassassin (within a dedicated "
|
||||
"database)"
|
||||
msgstr ""
|
||||
"Autorise les utilisateur à entrainer personnellement Spamassassin (au sein "
|
||||
"d'une base dédiée)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:161 extensions/webmail/app_settings.py:91
|
||||
msgid "Number of displayed emails per page"
|
||||
msgstr "Nombre d'emails affichés par page"
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
#: extensions/amavis/app_settings.py:162
|
||||
msgid "Set the maximum number of messages displayed in a page"
|
||||
msgstr "Définir le nombre maximal de messages affichés dans une page"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:82
|
||||
#: extensions/amavis/forms.py:83
|
||||
msgid "Global database"
|
||||
msgstr "Base globale"
|
||||
|
||||
#: extensions/amavis/forms.py:89
|
||||
msgid "Domain's database"
|
||||
msgstr "Base du domaine"
|
||||
|
||||
#: extensions/amavis/forms.py:91
|
||||
msgid "User's database"
|
||||
msgstr "Base de l'utilisateur"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:136
|
||||
msgid "pending requests"
|
||||
msgstr "requêtes en attente"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:125
|
||||
#: extensions/amavis/general_callbacks.py:179
|
||||
msgid "Pending requests"
|
||||
msgstr "Requêtes en attente"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:135
|
||||
#: extensions/amavis/general_callbacks.py:189
|
||||
msgid "Content filter"
|
||||
msgstr "Filtrage de contenu"
|
||||
|
||||
#: extensions/amavis/lib.py:56
|
||||
#: extensions/amavis/lib.py:62
|
||||
#, python-format
|
||||
msgid "Connection to amavis failed: %s"
|
||||
msgstr "La connexion avec amavis a échoué : %s"
|
||||
|
||||
#: extensions/amavis/lib.py:131
|
||||
msgid "No recipient found"
|
||||
msgstr "Aucun destinataire trouvé"
|
||||
|
||||
#: extensions/amavis/models.py:93
|
||||
msgid "Virus filter"
|
||||
msgstr "Filtrage des virus"
|
||||
@@ -1646,8 +1732,8 @@ msgid "Score"
|
||||
msgstr "Score"
|
||||
|
||||
#: extensions/amavis/sql_listing.py:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:75
|
||||
#: extensions/webmail/forms.py:82
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:106
|
||||
#: extensions/webmail/forms.py:83
|
||||
msgid "To"
|
||||
msgstr "A"
|
||||
|
||||
@@ -1658,49 +1744,64 @@ msgid "From"
|
||||
msgstr "De"
|
||||
|
||||
#: extensions/amavis/sql_listing.py:40 extensions/sievefilters/forms.py:77
|
||||
#: extensions/webmail/forms.py:86 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/forms.py:87 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/lib/listing.py:27 extensions/webmail/lib/tables.py:26
|
||||
#: templates/common/email_searchbar.html:6
|
||||
msgid "Subject"
|
||||
msgstr "Sujet"
|
||||
|
||||
#: extensions/amavis/views.py:27
|
||||
#: extensions/amavis/views.py:31
|
||||
msgid "Empty quarantine"
|
||||
msgstr "Quarantaine vide"
|
||||
|
||||
#: extensions/amavis/views.py:149
|
||||
#: extensions/amavis/views.py:177
|
||||
msgid "Message deleted"
|
||||
msgstr "Message supprimé"
|
||||
|
||||
#: extensions/amavis/views.py:168
|
||||
#: extensions/amavis/views.py:194
|
||||
#, python-format
|
||||
msgid "%(count)d message deleted successfully"
|
||||
msgid_plural "%(count)d messages deleted successfully"
|
||||
msgstr[0] "%(count)d message supprimé correctement"
|
||||
msgstr[1] "%(count)d messages supprimés correctement"
|
||||
|
||||
#: extensions/amavis/views.py:191
|
||||
#: extensions/amavis/views.py:217
|
||||
msgid "Request sent"
|
||||
msgstr "Requête envoyée"
|
||||
|
||||
#: extensions/amavis/views.py:197
|
||||
#: extensions/amavis/views.py:223
|
||||
msgid "Message released"
|
||||
msgstr "Message relâché"
|
||||
|
||||
#: extensions/amavis/views.py:225
|
||||
#: extensions/amavis/views.py:250
|
||||
#, python-format
|
||||
msgid "%(count)d request sent"
|
||||
msgid_plural "%(count)d requests sent"
|
||||
msgstr[0] "%(count)d requête envoyée"
|
||||
msgstr[1] "%(count)d requêtes envoyées"
|
||||
|
||||
#: extensions/amavis/views.py:246
|
||||
#: extensions/amavis/views.py:271
|
||||
#, python-format
|
||||
msgid "%(count)d message released successfully"
|
||||
msgid_plural "%(count)d messages released successfully"
|
||||
msgstr[0] "%(count)d message relâché correctement"
|
||||
msgstr[1] "%(count)d messages relâchés correctement"
|
||||
|
||||
#: extensions/amavis/views.py:309
|
||||
#, python-format
|
||||
msgid "%(count)d message processed successfully"
|
||||
msgid_plural "%(count)d messages processed successfully"
|
||||
msgstr[0] "%(count)d message traité correctement"
|
||||
msgstr[1] "%(count)d messages traités correctement"
|
||||
|
||||
#: extensions/amavis/views.py:341
|
||||
msgid "Select a database"
|
||||
msgstr "Sélectionner une base"
|
||||
|
||||
#: extensions/amavis/views.py:345
|
||||
msgid "Validate"
|
||||
msgstr "Valider"
|
||||
|
||||
#: extensions/amavis/management/commands/amnotify.py:61
|
||||
msgid "[modoboa] Pending release requests"
|
||||
msgstr "[modoboa] requêtes de libération en attente"
|
||||
@@ -1726,64 +1827,82 @@ msgid "Select"
|
||||
msgstr "Sélectionner"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:9
|
||||
msgid "Clean"
|
||||
msgstr "Propre"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
msgid "Spam"
|
||||
msgstr "Spam"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
msgid "Virus"
|
||||
msgstr "Virus"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
msgid "Bad Header"
|
||||
msgstr "Mauvais entête"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
msgid "Bad MIME"
|
||||
msgstr "Mauvais type MIME"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:14
|
||||
msgid "Banned"
|
||||
msgstr "Banni"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:18
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:54
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:85
|
||||
msgid "Release"
|
||||
msgstr "Relâcher"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:23
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:25
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:61
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:30
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:92
|
||||
#: extensions/webmail/templatetags/webmail_tags.py:32
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:44
|
||||
msgid "Mark as spam"
|
||||
msgstr "Marquer comme spam"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:52
|
||||
msgid "Mark as non-spam"
|
||||
msgstr "Marquer comme non-spam"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
#: extensions/sievefilters/forms.py:64
|
||||
msgid "All messages"
|
||||
msgstr "Tous les messages"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
msgid "All"
|
||||
msgstr "Tout"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:32
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:45
|
||||
msgid "Clean only"
|
||||
msgstr "Seulement les propres"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:47
|
||||
msgid "Spam only"
|
||||
msgstr "Seulement le spam"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:48
|
||||
msgid "Virus only"
|
||||
msgstr "Seulement les virus"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:49
|
||||
msgid "Bad Header only"
|
||||
msgstr "Seulement les mauvais entêtes"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:35
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:50
|
||||
msgid "Bad MIME only"
|
||||
msgstr "Seulement les mauvais types MIME"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:36
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:51
|
||||
msgid "Banned only"
|
||||
msgstr "Seulement les bannis"
|
||||
|
||||
@@ -1831,7 +1950,7 @@ msgstr "Agir sur ce message :"
|
||||
msgid "Please visit %(listingurl)s for a full listing."
|
||||
msgstr "Veuillez visiter %(listingurl)s pour une liste complète."
|
||||
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:28
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:35
|
||||
msgid "View full headers"
|
||||
msgstr "Afficher tous les entêtes"
|
||||
|
||||
@@ -2269,7 +2388,7 @@ msgstr "Expéditeur"
|
||||
msgid "Recipient"
|
||||
msgstr "Destinataire"
|
||||
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:83
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:84
|
||||
msgid "Cc"
|
||||
msgstr "Cc"
|
||||
|
||||
@@ -2526,19 +2645,19 @@ msgstr "Jeu de graphiques inconnu"
|
||||
msgid "Bad custom period"
|
||||
msgstr "Mauvaise période personnalisée"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:33
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
msgid "Search a domain"
|
||||
msgstr "Chercher un domaine"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:37
|
||||
#: extensions/stats/templates/stats/index.html:32
|
||||
msgid "Predefined time ranges"
|
||||
msgstr "Période de temps pré-définie"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:44
|
||||
#: extensions/stats/templates/stats/index.html:39
|
||||
msgid "Custom time range"
|
||||
msgstr "Période de temps personnalisée"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:57
|
||||
#: extensions/stats/templates/stats/index.html:52
|
||||
msgid "Apply"
|
||||
msgstr "Appliquer"
|
||||
|
||||
@@ -2694,7 +2813,7 @@ msgstr "Réponse du serveur"
|
||||
msgid "Unknown action"
|
||||
msgstr "Action inconnue"
|
||||
|
||||
#: extensions/webmail/forms.py:84
|
||||
#: extensions/webmail/forms.py:85
|
||||
msgid "Cci"
|
||||
msgstr "Cci"
|
||||
|
||||
@@ -2901,15 +3020,15 @@ msgstr "Non"
|
||||
msgid "Failed to update password: %s"
|
||||
msgstr "Echec de la mise à jour du mot de passe : %s"
|
||||
|
||||
#: lib/permissions.py:20
|
||||
#: lib/permissions.py:19
|
||||
msgid "Simple user"
|
||||
msgstr "Utilisateur simple"
|
||||
|
||||
#: lib/permissions.py:22
|
||||
#: lib/permissions.py:21
|
||||
msgid "Super administrator"
|
||||
msgstr "Super administrateur"
|
||||
|
||||
#: lib/permissions.py:28
|
||||
#: lib/permissions.py:27
|
||||
msgid "Domain administrator"
|
||||
msgstr "Administrateur de domaine"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: modoboa-1.0.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:33+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:22+0100\n"
|
||||
"PO-Revision-Date: 2011-01-07 10:00+0100\n"
|
||||
"Last-Translator: Antoine Nguyen <tonio@ngyn.org>\n"
|
||||
"Language-Team: FR <tonio@ngyn.org>\n"
|
||||
@@ -41,33 +41,49 @@ msgstr ""
|
||||
msgid "No domain administrator defined"
|
||||
msgstr "Aucun administrateur de domaine défini"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr "Ne pas supprimer le répertoire de la boite aux lettres"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr "Relâcher cette sélection?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr "Supprimer cette sélection?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr "Marquer cette sélection comme étant du spam?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr "Marquer cette sélection comme n'étant pas du spam?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr "Relâcher cette message?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr "Supprimer ce message?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
msgid "View full headers"
|
||||
msgstr "Voir les entêtes complets"
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr "Marquer comme spam?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr "Marquer comme non-spam?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr "Afficher tous les entêtes"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr "Cacher les entêtes complets"
|
||||
|
||||
@@ -96,7 +112,7 @@ msgstr "Activer ce jeu de filtres?"
|
||||
msgid "active"
|
||||
msgstr "actif"
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr "Checher un domaine"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:29+0200\n"
|
||||
"POT-Creation-Date: 2014-11-04 11:51+0100\n"
|
||||
"PO-Revision-Date: 2013-12-23 00:56+0100\n"
|
||||
"Last-Translator: Alberto Berti <alberto@metapensiero.it>\n"
|
||||
"Language-Team: ITALIANO <LL@li.org>\n"
|
||||
@@ -18,8 +18,8 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: core/__init__.py:52 core/__init__.py:53
|
||||
#: extensions/admin/forms/account.py:326 extensions/admin/forms/domain.py:256
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:129
|
||||
#: extensions/admin/forms/account.py:327 extensions/admin/forms/domain.py:248
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:133
|
||||
#: extensions/postfix_autoreply/app_settings.py:11
|
||||
#: extensions/postfix_relay_domains/forms.py:138
|
||||
#: extensions/sievefilters/app_settings.py:50
|
||||
@@ -291,8 +291,8 @@ msgstr "Numero di cicli non valido"
|
||||
msgid "This field is required"
|
||||
msgstr "Questo campo è obbligatorio"
|
||||
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:87
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:29
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:157
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:41
|
||||
#: extensions/webmail/app_settings.py:73
|
||||
msgid "Display"
|
||||
msgstr "Mostra"
|
||||
@@ -346,36 +346,36 @@ msgstr "ultimo login"
|
||||
msgid "You can't delete your own account"
|
||||
msgstr "Non puoi cancellare il tuo account"
|
||||
|
||||
#: core/models.py:117
|
||||
#: core/models.py:130
|
||||
msgid "Failed to update password: LDAP module not installed"
|
||||
msgstr "Aggiornamento della password fallito: il modulo LDAP non è installato"
|
||||
|
||||
#: core/models.py:170
|
||||
#: core/models.py:183
|
||||
msgid "account"
|
||||
msgstr "account"
|
||||
|
||||
#: core/models.py:321 extensions/admin/models/domain.py:144
|
||||
#: core/models.py:334 extensions/admin/models/domain.py:144
|
||||
#: extensions/admin/models/domain_alias.py:39
|
||||
#: extensions/postfix_relay_domains/models.py:134
|
||||
#: extensions/postfix_relay_domains/models.py:190
|
||||
msgid "Invalid line"
|
||||
msgstr "Riga non valida"
|
||||
|
||||
#: core/models.py:325
|
||||
#: core/models.py:338
|
||||
msgid "You can't import an account with a role greater than yours"
|
||||
msgstr "Non puoi importare un account con un ruolo superiore al tuo"
|
||||
|
||||
#: core/models.py:337
|
||||
#: core/models.py:350
|
||||
#, python-format
|
||||
msgid "The simple user '%s' must have a valid email address"
|
||||
msgstr "L'utente '%s' deve avere un indirizzo email valido"
|
||||
|
||||
#: core/models.py:341
|
||||
#: core/models.py:354
|
||||
#, python-format
|
||||
msgid "username and email fields must not differ for '%s'"
|
||||
msgstr "I campi nome utente e email di '%s' devono avere lo stesso valore"
|
||||
|
||||
#: core/models.py:410 extensions/admin/models/alias.py:35
|
||||
#: core/models.py:423 extensions/admin/models/alias.py:35
|
||||
#: extensions/admin/models/domain.py:32
|
||||
#: extensions/admin/models/domain_alias.py:17
|
||||
#: extensions/postfix_autoreply/models.py:28
|
||||
@@ -384,29 +384,29 @@ msgstr "I campi nome utente e email di '%s' devono avere lo stesso valore"
|
||||
msgid "enabled"
|
||||
msgstr "Attivato"
|
||||
|
||||
#: core/models.py:411
|
||||
#: core/models.py:424
|
||||
msgid "Check to enable this extension"
|
||||
msgstr "Seleziona per abilitare questa estensione"
|
||||
|
||||
#: core/models.py:491
|
||||
#: core/models.py:504
|
||||
msgid "added"
|
||||
msgstr "aggiunto"
|
||||
|
||||
#: core/models.py:494
|
||||
#: core/models.py:507
|
||||
msgid "modified"
|
||||
msgstr "modificato"
|
||||
|
||||
#: core/models.py:496 core/models.py:521
|
||||
#: core/models.py:509 core/models.py:534
|
||||
#, python-format
|
||||
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
|
||||
msgstr "%(object)s '%(name)s' %(action)s dell'utente %(user)s"
|
||||
|
||||
#: core/models.py:523
|
||||
#: core/models.py:536
|
||||
msgid "deleted"
|
||||
msgstr "cancellato"
|
||||
|
||||
#: core/tables.py:8 core/templates/core/information.html:8
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:187
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:179
|
||||
#: extensions/admin/templates/admin/domains_table.html:5
|
||||
#: extensions/admin/templates/admin/editdomainform.html:13
|
||||
#: extensions/admin/templates/admin/identities_table.html:5
|
||||
@@ -522,7 +522,7 @@ msgstr "Aggiorna le informazioni personali"
|
||||
#: core/templates/core/user_profile.html:8
|
||||
#: extensions/admin/templates/admin/forward.html:8
|
||||
#: extensions/admin/views/alias.py:112 extensions/admin/views/domain.py:168
|
||||
#: extensions/admin/views/identity.py:200
|
||||
#: extensions/admin/views/identity.py:204
|
||||
#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
|
||||
#: extensions/postfix_relay_domains/views.py:66
|
||||
#: extensions/sievefilters/views.py:166 extensions/webmail/views.py:172
|
||||
@@ -650,7 +650,7 @@ msgstr "Inoltra"
|
||||
msgid "Account import failed (%s): domain does not exist"
|
||||
msgstr "Importazione dell'account fallito (%s): il dominio non esiste"
|
||||
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:196
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:197
|
||||
#, python-format
|
||||
msgid "Mailbox %s already exists"
|
||||
msgstr "La casella di posta %s esiste già"
|
||||
@@ -660,6 +660,12 @@ msgstr "La casella di posta %s esiste già"
|
||||
msgid "Account import failed (%s): wrong quota value"
|
||||
msgstr "Importazione dell'account fallito (%s): il dominio non esiste"
|
||||
|
||||
#: extensions/admin/__init__.py:212 extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr "alias del dominio"
|
||||
|
||||
#: extensions/admin/app_settings.py:13
|
||||
#: extensions/admin/templates/admin/editdomainform.html:25
|
||||
#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
|
||||
@@ -710,7 +716,7 @@ msgstr ""
|
||||
"Quando una casella postale viene rimossa rimuovi anche l'account associato"
|
||||
|
||||
#: extensions/admin/app_settings.py:81 extensions/admin/forms/account.py:178
|
||||
#: extensions/admin/forms/domain.py:56
|
||||
#: extensions/admin/forms/domain.py:57
|
||||
msgid "Must be a positive integer"
|
||||
msgstr "Dev'essere un intero positivo"
|
||||
|
||||
@@ -759,7 +765,7 @@ msgstr "Tu non puoi disabilitare il tuo account"
|
||||
msgid "E-mail"
|
||||
msgstr "E-mail"
|
||||
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:17
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:18
|
||||
msgid "Quota"
|
||||
msgstr "Quota"
|
||||
|
||||
@@ -773,7 +779,7 @@ msgstr ""
|
||||
"quello predefinito. Lasciare vuoto per non impostare limiti (non consentito "
|
||||
"per gli amministratori di dominio)."
|
||||
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:26
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:27
|
||||
#: extensions/admin/templates/admin/domains_table.html:6
|
||||
#: extensions/postfix_relay_domains/forms.py:12
|
||||
msgid "Alias(es)"
|
||||
@@ -789,25 +795,25 @@ msgstr ""
|
||||
"premere INVIO per aggiungere un nuovo elemento. Utilizzare il carattere '*' "
|
||||
"per creare un alias 'prenditutto' (p.es.: *@dominio.org)."
|
||||
|
||||
#: extensions/admin/forms/account.py:187 extensions/admin/forms/account.py:217
|
||||
#: extensions/admin/forms/account.py:188 extensions/admin/forms/account.py:218
|
||||
#: extensions/admin/forms/alias.py:65
|
||||
msgid "Domain does not exist"
|
||||
msgstr "Il dominio non esiste"
|
||||
|
||||
#: extensions/admin/forms/account.py:284
|
||||
#: extensions/admin/forms/account.py:285
|
||||
msgid "Domain(s)"
|
||||
msgstr "Dominio(i)"
|
||||
|
||||
#: extensions/admin/forms/account.py:286
|
||||
#: extensions/admin/forms/account.py:287
|
||||
msgid "Domain(s) that user administrates"
|
||||
msgstr "Dominio(i) amministrato(i) dall'utente"
|
||||
|
||||
#: extensions/admin/forms/account.py:328
|
||||
#: extensions/admin/views/identity.py:132
|
||||
#: extensions/admin/forms/account.py:329
|
||||
#: extensions/admin/views/identity.py:136
|
||||
msgid "Mail"
|
||||
msgstr "Posta"
|
||||
|
||||
#: extensions/admin/forms/account.py:330
|
||||
#: extensions/admin/forms/account.py:331
|
||||
msgid "Permissions"
|
||||
msgstr "Permessi"
|
||||
|
||||
@@ -855,7 +861,7 @@ msgstr "Il destinatario %s è già esistente"
|
||||
msgid "No recipient defined"
|
||||
msgstr "Non è stato definito un destinatario"
|
||||
|
||||
#: extensions/admin/forms/domain.py:20
|
||||
#: extensions/admin/forms/domain.py:21
|
||||
msgid ""
|
||||
"Default quota in MB applied to mailboxes. Leave empty to use the default "
|
||||
"value."
|
||||
@@ -863,7 +869,7 @@ msgstr ""
|
||||
"Quota in MB predefinita applicata alle caselle di posta. Lascialo vuoto se "
|
||||
"vuoi applicare il valore predefinito."
|
||||
|
||||
#: extensions/admin/forms/domain.py:29
|
||||
#: extensions/admin/forms/domain.py:30
|
||||
msgid ""
|
||||
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
|
||||
"add a new input."
|
||||
@@ -871,34 +877,28 @@ msgstr ""
|
||||
"Alias per questo dominio. Inserire un solo nome alla volta, premere INVIO "
|
||||
"per aggiungere un nuovo elemento"
|
||||
|
||||
#: extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr "alias del dominio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
|
||||
#: extensions/admin/forms/domain.py:78 extensions/admin/forms/domain.py:92
|
||||
#: extensions/postfix_relay_domains/forms.py:58
|
||||
#: extensions/postfix_relay_domains/forms.py:78
|
||||
#, python-format
|
||||
msgid "A %s with this name already exists"
|
||||
msgstr "Un %s con questo nome esiste già"
|
||||
|
||||
#: extensions/admin/forms/domain.py:92
|
||||
#: extensions/admin/forms/domain.py:89
|
||||
#: extensions/postfix_relay_domains/forms.py:49
|
||||
#: extensions/postfix_relay_domains/forms.py:71
|
||||
msgid "domain"
|
||||
msgstr "dominio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:181
|
||||
#: extensions/admin/forms/domain.py:173
|
||||
msgid "Create a domain administrator"
|
||||
msgstr "Crea un amministratore di dominio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:183
|
||||
#: extensions/admin/forms/domain.py:175
|
||||
msgid "Automatically create an administrator for this domain"
|
||||
msgstr "Crea automaticamente un amministratore per questo dominio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
#: extensions/admin/forms/domain.py:182
|
||||
msgid ""
|
||||
"The administrator's name. Don't include the domain's name here, it will be "
|
||||
"automatically appended."
|
||||
@@ -906,19 +906,19 @@ msgstr ""
|
||||
"Il nome dell'amministratore. Non includere il nome del dominio, verrà "
|
||||
"aggiunto automaticamente."
|
||||
|
||||
#: extensions/admin/forms/domain.py:198
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
msgid "Create aliases"
|
||||
msgstr "Crea alias"
|
||||
|
||||
#: extensions/admin/forms/domain.py:200
|
||||
#: extensions/admin/forms/domain.py:192
|
||||
msgid "Automatically create standard aliases for this domain"
|
||||
msgstr "Crea automaticamente gli alias standard per questo dominio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:216
|
||||
#: extensions/admin/forms/domain.py:208
|
||||
msgid "Invalid format"
|
||||
msgstr "Formato non valido"
|
||||
|
||||
#: extensions/admin/forms/domain.py:230
|
||||
#: extensions/admin/forms/domain.py:222
|
||||
#, python-format
|
||||
msgid "User '%s' already exists"
|
||||
msgstr "L'utente '%s' esiste già"
|
||||
@@ -956,7 +956,7 @@ msgstr ""
|
||||
"Non puoi definire l'inoltro con destinazione una cartella locale. Chiedi "
|
||||
"piuttosto all'amministratore di creare un alias."
|
||||
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:198
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:200
|
||||
msgid "Select a file"
|
||||
msgstr "Seleziona un file"
|
||||
|
||||
@@ -977,7 +977,7 @@ msgid "Check this option if passwords contained in your file are not crypted"
|
||||
msgstr ""
|
||||
"Seleziona questa opzione se le password contenute nel file non sono criptate"
|
||||
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:62
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:74
|
||||
msgid "address"
|
||||
msgstr "indirizzo"
|
||||
|
||||
@@ -1075,21 +1075,21 @@ msgstr "Il dominio a cui punta questo alias"
|
||||
msgid "Unknown domain %s"
|
||||
msgstr "Dominio sconosciuto %s"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:63
|
||||
#: extensions/admin/models/mailbox.py:75
|
||||
msgid "Mailbox address (without the @domain.tld part)"
|
||||
msgstr "Indirizzo della casella di posta (senza la parte @dominio.org)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:125
|
||||
#: extensions/admin/models/mailbox.py:136
|
||||
#, python-format
|
||||
msgid "Failed to retrieve mailbox location (%s)"
|
||||
msgstr "Impossibile recuperare la posizione della casella di posta (%s)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:194
|
||||
#: extensions/admin/models/mailbox.py:221
|
||||
#, python-format
|
||||
msgid "Quota is greater than the allowed domain's limit (%dM)"
|
||||
msgstr "La quota è maggiore del limite stabilito per il dominio (%dM)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:199
|
||||
#: extensions/admin/models/mailbox.py:227
|
||||
msgid "A quota is required"
|
||||
msgstr "È richiesta una quota"
|
||||
|
||||
@@ -1161,7 +1161,7 @@ msgid "Importing..."
|
||||
msgstr "Importazione..."
|
||||
|
||||
#: extensions/admin/templates/admin/listing.html:14
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
#: extensions/stats/templates/stats/index.html:23
|
||||
msgid "Filter"
|
||||
msgstr "Filtro"
|
||||
|
||||
@@ -1263,8 +1263,8 @@ msgid "Alias with this name already exists"
|
||||
msgstr "Un alias con questo nome esiste già"
|
||||
|
||||
#: extensions/admin/views/alias.py:50 extensions/admin/views/domain.py:102
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:133
|
||||
#: extensions/admin/views/identity.py:160
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:137
|
||||
#: extensions/admin/views/identity.py:164
|
||||
#: extensions/postfix_relay_domains/views.py:34
|
||||
#: extensions/sievefilters/views.py:144 extensions/sievefilters/views.py:233
|
||||
#: extensions/webmail/views.py:153
|
||||
@@ -1307,7 +1307,7 @@ msgstr "Inoltro modificato"
|
||||
msgid "Alias modified"
|
||||
msgstr "Alias modificato"
|
||||
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:130
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:134
|
||||
msgid "Next"
|
||||
msgstr "Successivo"
|
||||
|
||||
@@ -1315,7 +1315,7 @@ msgstr "Successivo"
|
||||
msgid "Options"
|
||||
msgstr "Opzioni"
|
||||
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:134
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:138
|
||||
msgid "Previous"
|
||||
msgstr "Precedente"
|
||||
|
||||
@@ -1349,11 +1349,11 @@ msgstr "Identità di esportazione"
|
||||
msgid "Export domains"
|
||||
msgstr "Esporta domini"
|
||||
|
||||
#: extensions/admin/views/identity.py:104
|
||||
#: extensions/admin/views/identity.py:227
|
||||
#: extensions/admin/views/identity.py:232 extensions/amavis/views.py:144
|
||||
#: extensions/amavis/views.py:148 extensions/amavis/views.py:181
|
||||
#: extensions/amavis/views.py:186 extensions/amavis/views.py:188
|
||||
#: extensions/admin/views/identity.py:108
|
||||
#: extensions/admin/views/identity.py:231
|
||||
#: extensions/admin/views/identity.py:236 extensions/amavis/views.py:172
|
||||
#: extensions/amavis/views.py:176 extensions/amavis/views.py:207
|
||||
#: extensions/amavis/views.py:212 extensions/amavis/views.py:214
|
||||
#: extensions/webmail/views.py:49 extensions/webmail/views.py:67
|
||||
#: extensions/webmail/views.py:81 extensions/webmail/views.py:99
|
||||
#: extensions/webmail/views.py:116 extensions/webmail/views.py:202
|
||||
@@ -1364,19 +1364,19 @@ msgstr "Esporta domini"
|
||||
msgid "Invalid request"
|
||||
msgstr "Richiesta non valida"
|
||||
|
||||
#: extensions/admin/views/identity.py:151
|
||||
#: extensions/admin/views/identity.py:155
|
||||
msgid "Account created"
|
||||
msgstr "Account creato"
|
||||
|
||||
#: extensions/admin/views/identity.py:157
|
||||
#: extensions/admin/views/identity.py:161
|
||||
msgid "New account"
|
||||
msgstr "Nuovo account"
|
||||
|
||||
#: extensions/admin/views/identity.py:193
|
||||
#: extensions/admin/views/identity.py:197
|
||||
msgid "Account updated"
|
||||
msgstr "Account aggiornato"
|
||||
|
||||
#: extensions/admin/views/identity.py:217
|
||||
#: extensions/admin/views/identity.py:221
|
||||
msgid "Account deleted"
|
||||
msgid_plural "Accounts deleted"
|
||||
msgstr[0] "Account cancellato"
|
||||
@@ -1461,124 +1461,211 @@ msgstr "Inoltro aggiornato"
|
||||
msgid "Simple amavis management frontend"
|
||||
msgstr "Interfaccia di gestione amavis semplice"
|
||||
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:18
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:20
|
||||
msgid "Quarantine"
|
||||
msgstr "Quarantena"
|
||||
|
||||
#: extensions/amavis/app_settings.py:11
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
msgid "Quarantine settings"
|
||||
msgstr "Impostazioni quarantena"
|
||||
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
#: extensions/amavis/app_settings.py:17
|
||||
msgid "Maximum message age"
|
||||
msgstr "Età massima dei messaggi"
|
||||
|
||||
#: extensions/amavis/app_settings.py:16
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
msgid "Quarantine messages maximum age (in days) before deletion"
|
||||
msgstr "Età massima dei messaggi in quarantena"
|
||||
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
msgid "Messages releasing"
|
||||
msgstr "Rilascio messaggi"
|
||||
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
#: extensions/amavis/app_settings.py:25
|
||||
msgid "Remove released messages"
|
||||
msgstr "Rimozione dei messaggi rilasciati"
|
||||
|
||||
#: extensions/amavis/app_settings.py:24
|
||||
#: extensions/amavis/app_settings.py:27
|
||||
msgid "Remove messages marked as released while cleaning up the database"
|
||||
msgstr ""
|
||||
"Rimuovi i messaggi marcati come rilasciati durante la pulizia del database"
|
||||
|
||||
#: extensions/amavis/app_settings.py:28
|
||||
#: extensions/amavis/app_settings.py:32
|
||||
msgid "Amavis connection mode"
|
||||
msgstr "Modalità di connessione Amavis"
|
||||
|
||||
#: extensions/amavis/app_settings.py:31
|
||||
#: extensions/amavis/app_settings.py:35
|
||||
msgid "Mode used to access the PDP server"
|
||||
msgstr "Modalità utilizzata per accedere al server PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:36
|
||||
#: extensions/amavis/app_settings.py:40
|
||||
msgid "PDP server address"
|
||||
msgstr "Indirizzo del server PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:38
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
msgid "PDP server address (if inet mode)"
|
||||
msgstr "Indirizzo del server PDP (se in modalità inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
#: extensions/amavis/app_settings.py:46
|
||||
msgid "PDP server port"
|
||||
msgstr "Porta del server PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:44
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
msgid "PDP server port (if inet mode)"
|
||||
msgstr "Porta del server PDP (se in modalità inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
#: extensions/amavis/app_settings.py:52
|
||||
msgid "PDP server socket"
|
||||
msgstr "Socket del server PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:50
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
msgid "Path to the PDP server socket (if unix mode)"
|
||||
msgstr "Percorso al socket del server PDP (se in modalità UNIX)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
#: extensions/amavis/app_settings.py:58
|
||||
msgid "Check requests interval"
|
||||
msgstr "Intervallo di controllo delle request "
|
||||
|
||||
#: extensions/amavis/app_settings.py:56
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
msgid "Interval between two release requests checks"
|
||||
msgstr "Intervallo tra due controlli delle request di rilascio "
|
||||
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
#: extensions/amavis/app_settings.py:64
|
||||
msgid "Allow direct release"
|
||||
msgstr "Consenti il rilascio diretto"
|
||||
|
||||
#: extensions/amavis/app_settings.py:62
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
msgid "Allow users to directly release their messages"
|
||||
msgstr "Consenti agli utenti di rilasciare direttamente i loro messaggi"
|
||||
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
#: extensions/amavis/app_settings.py:70
|
||||
msgid "Enable self-service mode"
|
||||
msgstr "Attiva la modalità self-service"
|
||||
|
||||
#: extensions/amavis/app_settings.py:68
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
msgid "Activate the 'self-service' mode"
|
||||
msgstr "Attivazione della modalità 'self-service'"
|
||||
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
#: extensions/amavis/app_settings.py:76
|
||||
msgid "Notifications sender"
|
||||
msgstr "Spedizione notifiche"
|
||||
|
||||
#: extensions/amavis/app_settings.py:74
|
||||
#: extensions/amavis/app_settings.py:78
|
||||
msgid "The e-mail address used to send notitications"
|
||||
msgstr "L'indirizzo e-mail utilizzato per l'invio di notifiche"
|
||||
|
||||
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
|
||||
#: extensions/amavis/app_settings.py:81
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:28
|
||||
msgid "Manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:84
|
||||
msgid "Enable manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:87
|
||||
msgid "Allow super administrators to manually train Spamassassin"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
msgid "Is Spamassassin local?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:95
|
||||
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:100
|
||||
#, fuzzy
|
||||
msgid "Default user"
|
||||
msgstr "Editor predefinito"
|
||||
|
||||
#: extensions/amavis/app_settings.py:103
|
||||
msgid "Name of the user owning the default bayesian database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:108
|
||||
#, fuzzy
|
||||
msgid "Spamd address"
|
||||
msgstr "Mittente"
|
||||
|
||||
#: extensions/amavis/app_settings.py:110
|
||||
msgid "The IP address where spamd can be reached"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:114
|
||||
#, fuzzy
|
||||
msgid "Spamd port"
|
||||
msgstr "Solo messaggi di spam"
|
||||
|
||||
#: extensions/amavis/app_settings.py:116
|
||||
msgid "The TCP port spamd is listening on"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:120
|
||||
msgid "Enable per-domain manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:123
|
||||
msgid ""
|
||||
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
||||
"domain databases)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:129
|
||||
msgid "Enable per-user manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:132
|
||||
msgid ""
|
||||
"Allow simple users to personally train Spamassassin (within a dedicated "
|
||||
"database)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:161 extensions/webmail/app_settings.py:91
|
||||
msgid "Number of displayed emails per page"
|
||||
msgstr "Numero di e-mail mostrate in ogni pagina"
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
#: extensions/amavis/app_settings.py:162
|
||||
msgid "Set the maximum number of messages displayed in a page"
|
||||
msgstr "Imposta il numero massimo di messaggi mostrati in una pagina"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:82
|
||||
#: extensions/amavis/forms.py:83
|
||||
msgid "Global database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/forms.py:89
|
||||
#, fuzzy
|
||||
msgid "Domain's database"
|
||||
msgstr "Alias del dominio"
|
||||
|
||||
#: extensions/amavis/forms.py:91
|
||||
#, fuzzy
|
||||
msgid "User's database"
|
||||
msgstr "Base ricerca per gli utenti"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:136
|
||||
msgid "pending requests"
|
||||
msgstr "richieste in sospeso"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:125
|
||||
#: extensions/amavis/general_callbacks.py:179
|
||||
msgid "Pending requests"
|
||||
msgstr "Richieste in sospeso"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:135
|
||||
#: extensions/amavis/general_callbacks.py:189
|
||||
msgid "Content filter"
|
||||
msgstr "Filtro sui contenuti"
|
||||
|
||||
#: extensions/amavis/lib.py:56
|
||||
#: extensions/amavis/lib.py:62
|
||||
#, python-format
|
||||
msgid "Connection to amavis failed: %s"
|
||||
msgstr "Connessione ad amavis fallita: %s"
|
||||
|
||||
#: extensions/amavis/lib.py:131
|
||||
#, fuzzy
|
||||
msgid "No recipient found"
|
||||
msgstr "Non è stato definito un destinatario"
|
||||
|
||||
#: extensions/amavis/models.py:93
|
||||
msgid "Virus filter"
|
||||
msgstr "Filtro virus"
|
||||
@@ -1642,8 +1729,8 @@ msgid "Score"
|
||||
msgstr "Punteggio"
|
||||
|
||||
#: extensions/amavis/sql_listing.py:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:75
|
||||
#: extensions/webmail/forms.py:82
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:106
|
||||
#: extensions/webmail/forms.py:83
|
||||
msgid "To"
|
||||
msgstr "A"
|
||||
|
||||
@@ -1654,49 +1741,65 @@ msgid "From"
|
||||
msgstr "Da"
|
||||
|
||||
#: extensions/amavis/sql_listing.py:40 extensions/sievefilters/forms.py:77
|
||||
#: extensions/webmail/forms.py:86 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/forms.py:87 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/lib/listing.py:27 extensions/webmail/lib/tables.py:26
|
||||
#: templates/common/email_searchbar.html:6
|
||||
msgid "Subject"
|
||||
msgstr "Oggetto"
|
||||
|
||||
#: extensions/amavis/views.py:27
|
||||
#: extensions/amavis/views.py:31
|
||||
msgid "Empty quarantine"
|
||||
msgstr "Svuota quarantena"
|
||||
|
||||
#: extensions/amavis/views.py:149
|
||||
#: extensions/amavis/views.py:177
|
||||
msgid "Message deleted"
|
||||
msgstr "Messaggio eliminato"
|
||||
|
||||
#: extensions/amavis/views.py:168
|
||||
#: extensions/amavis/views.py:194
|
||||
#, python-format
|
||||
msgid "%(count)d message deleted successfully"
|
||||
msgid_plural "%(count)d messages deleted successfully"
|
||||
msgstr[0] "%(count)d messaggio eliminato con successo"
|
||||
msgstr[1] "%(count)d messaggi eliminati con successo"
|
||||
|
||||
#: extensions/amavis/views.py:191
|
||||
#: extensions/amavis/views.py:217
|
||||
msgid "Request sent"
|
||||
msgstr "Request inviata"
|
||||
|
||||
#: extensions/amavis/views.py:197
|
||||
#: extensions/amavis/views.py:223
|
||||
msgid "Message released"
|
||||
msgstr "Messaggio rilasciato"
|
||||
|
||||
#: extensions/amavis/views.py:225
|
||||
#: extensions/amavis/views.py:250
|
||||
#, python-format
|
||||
msgid "%(count)d request sent"
|
||||
msgid_plural "%(count)d requests sent"
|
||||
msgstr[0] "%(count)d request inviata"
|
||||
msgstr[1] "%(count)d request inviate"
|
||||
|
||||
#: extensions/amavis/views.py:246
|
||||
#: extensions/amavis/views.py:271
|
||||
#, python-format
|
||||
msgid "%(count)d message released successfully"
|
||||
msgid_plural "%(count)d messages released successfully"
|
||||
msgstr[0] "%(count)d messaggio rilasciato con successo"
|
||||
msgstr[1] "%(count)d messaggi rilasciati con successo "
|
||||
|
||||
#: extensions/amavis/views.py:309
|
||||
#, fuzzy, python-format
|
||||
msgid "%(count)d message processed successfully"
|
||||
msgid_plural "%(count)d messages processed successfully"
|
||||
msgstr[0] "%(count)d messaggio rilasciato con successo"
|
||||
msgstr[1] "%(count)d messaggi rilasciati con successo "
|
||||
|
||||
#: extensions/amavis/views.py:341
|
||||
#, fuzzy
|
||||
msgid "Select a database"
|
||||
msgstr "Seleziona un file"
|
||||
|
||||
#: extensions/amavis/views.py:345
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/management/commands/amnotify.py:61
|
||||
msgid "[modoboa] Pending release requests"
|
||||
msgstr "[modoboa] Richieste di rilascio in sospeso"
|
||||
@@ -1722,64 +1825,84 @@ msgid "Select"
|
||||
msgstr "Seleziona"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:9
|
||||
msgid "Clean"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
msgid "Spam"
|
||||
msgstr "Spam"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
msgid "Virus"
|
||||
msgstr "Virus"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
msgid "Bad Header"
|
||||
msgstr "Intestazione errata"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
msgid "Bad MIME"
|
||||
msgstr "MIME errato"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:14
|
||||
msgid "Banned"
|
||||
msgstr "Banditi"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:18
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:54
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:85
|
||||
msgid "Release"
|
||||
msgstr "Rilascia"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:23
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:25
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:61
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:30
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:92
|
||||
#: extensions/webmail/templatetags/webmail_tags.py:32
|
||||
msgid "Delete"
|
||||
msgstr "Elimina"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:44
|
||||
#, fuzzy
|
||||
msgid "Mark as spam"
|
||||
msgstr "Contrassegna i messaggi"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:52
|
||||
msgid "Mark as non-spam"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
#: extensions/sievefilters/forms.py:64
|
||||
msgid "All messages"
|
||||
msgstr "Tutti i messaggi"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
msgid "All"
|
||||
msgstr "Tutti"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:32
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:45
|
||||
#, fuzzy
|
||||
msgid "Clean only"
|
||||
msgstr "Solo messaggi banditi"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:47
|
||||
msgid "Spam only"
|
||||
msgstr "Solo messaggi di spam"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:48
|
||||
msgid "Virus only"
|
||||
msgstr "Solo messaggi con virus"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:49
|
||||
msgid "Bad Header only"
|
||||
msgstr "Solo messaggi con intestazione errata"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:35
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:50
|
||||
msgid "Bad MIME only"
|
||||
msgstr "Solo messaggi con struttura MIME errata"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:36
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:51
|
||||
msgid "Banned only"
|
||||
msgstr "Solo messaggi banditi"
|
||||
|
||||
@@ -1827,7 +1950,7 @@ msgstr "Agisci su questo messaggio:"
|
||||
msgid "Please visit %(listingurl)s for a full listing."
|
||||
msgstr "Per un elenco completo prova a visitare %(listingurl)s"
|
||||
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:28
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:35
|
||||
msgid "View full headers"
|
||||
msgstr "Visualizza tutte le intestazioni"
|
||||
|
||||
@@ -2271,7 +2394,7 @@ msgstr "Mittente"
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatario"
|
||||
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:83
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:84
|
||||
msgid "Cc"
|
||||
msgstr "Cc"
|
||||
|
||||
@@ -2528,19 +2651,19 @@ msgstr "Impostazione grafica sconosciuta"
|
||||
msgid "Bad custom period"
|
||||
msgstr "Periodo personalizzato sbagliato"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:33
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
msgid "Search a domain"
|
||||
msgstr "Ricerca un dominio"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:37
|
||||
#: extensions/stats/templates/stats/index.html:32
|
||||
msgid "Predefined time ranges"
|
||||
msgstr "Intervalli di tempo predefiniti"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:44
|
||||
#: extensions/stats/templates/stats/index.html:39
|
||||
msgid "Custom time range"
|
||||
msgstr "Intervallo di tempo personalizzato"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:57
|
||||
#: extensions/stats/templates/stats/index.html:52
|
||||
msgid "Apply"
|
||||
msgstr "Applica"
|
||||
|
||||
@@ -2698,7 +2821,7 @@ msgstr "Risposta del server"
|
||||
msgid "Unknown action"
|
||||
msgstr "Azione sconosciuta"
|
||||
|
||||
#: extensions/webmail/forms.py:84
|
||||
#: extensions/webmail/forms.py:85
|
||||
msgid "Cci"
|
||||
msgstr "Cci"
|
||||
|
||||
@@ -2905,15 +3028,15 @@ msgstr "No"
|
||||
msgid "Failed to update password: %s"
|
||||
msgstr "Aggiornamento della password fallito: %s"
|
||||
|
||||
#: lib/permissions.py:20
|
||||
#: lib/permissions.py:19
|
||||
msgid "Simple user"
|
||||
msgstr "Utente semplice"
|
||||
|
||||
#: lib/permissions.py:22
|
||||
#: lib/permissions.py:21
|
||||
msgid "Super administrator"
|
||||
msgstr "Super amministratore"
|
||||
|
||||
#: lib/permissions.py:28
|
||||
#: lib/permissions.py:27
|
||||
msgid "Domain administrator"
|
||||
msgstr "Amministratore di domini"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:32+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:22+0100\n"
|
||||
"PO-Revision-Date: 2013-12-23 00:58+0100\n"
|
||||
"Last-Translator: Alberto Berti <alberto@metapensiero.it>\n"
|
||||
"Language-Team: Italiano <LL@li.org>\n"
|
||||
@@ -41,33 +41,51 @@ msgstr ""
|
||||
msgid "No domain administrator defined"
|
||||
msgstr "Non è stato definito un amministratore di dominio"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr "Non eliminare la cartella della casella posta"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr "Rilasciare questa selezione?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr "Eliminare questa selezione?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr "Rilasciare questa selezione?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr "Rilasciare questa selezione?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr "Rilasciare questo messaggio?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr "Eliminare questo messaggio?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr "Visualizza tutte le intestazioni"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr "Nascondi le intestazioni"
|
||||
|
||||
@@ -96,7 +114,7 @@ msgstr "Attivare il gruppo di filtri?"
|
||||
msgid "active"
|
||||
msgstr "attivo"
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr "Cerca un dominio"
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# TuxBrother <vrijwilligerswerk@wij.rs>, 2014
|
||||
# TuxBrother <vrijwilligerswerk@wij.rs>, 2014
|
||||
@@ -9,14 +9,15 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:32+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:22+0100\n"
|
||||
"PO-Revision-Date: 2014-04-16 12:58+0000\n"
|
||||
"Last-Translator: TuxBrother <vrijwilligerswerk@wij.rs>\n"
|
||||
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/modoboa/language/nl_NL/)\n"
|
||||
"Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/"
|
||||
"modoboa/language/nl_NL/)\n"
|
||||
"Language: nl_NL\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl_NL\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:32
|
||||
@@ -29,45 +30,67 @@ msgstr "De map van dit domein niet verwijderen (Zal de data ervan behouden)"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:173
|
||||
msgid "This operation will remove ALL data associated to this domain."
|
||||
msgstr "Deze actie zal ALLE data verwijderen die bij dit domein hoort. Wilt u doorgaan?"
|
||||
msgstr ""
|
||||
"Deze actie zal ALLE data verwijderen die bij dit domein hoort. Wilt u "
|
||||
"doorgaan?"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:174
|
||||
msgid ""
|
||||
"This operation will remove all data associated to this domain, excepting "
|
||||
"accounts."
|
||||
msgstr "Deze actie zal alle data die bij dit domein hoort verwijderen, behalve de gebruikers."
|
||||
msgstr ""
|
||||
"Deze actie zal alle data die bij dit domein hoort verwijderen, behalve de "
|
||||
"gebruikers."
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:222
|
||||
msgid "No domain administrator defined"
|
||||
msgstr "Geen administrator toegewezen"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr "Verwijder de map van deze mailbox niet (zal de data ervan behouden)"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr "Wilt u deze selectie loslaten?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr "Selectie verwijderen?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr "Wilt u deze selectie loslaten?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr "Wilt u deze selectie loslaten?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr "Dit bericht loslaten?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr "Dit bericht verwijderen?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr "Volledige headers weergeven"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr "Volledige headers verbergen"
|
||||
|
||||
@@ -96,7 +119,7 @@ msgstr "Wilt u deze filterset activeren?"
|
||||
msgid "active"
|
||||
msgstr "activeren"
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr "Zoek een domein"
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:29+0200\n"
|
||||
"POT-Creation-Date: 2014-11-04 11:51+0100\n"
|
||||
"PO-Revision-Date: 2013-12-23 11:25+0000\n"
|
||||
"Last-Translator: lusitan <lusitan@hushmail.com>\n"
|
||||
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/"
|
||||
@@ -25,8 +25,8 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: core/__init__.py:52 core/__init__.py:53
|
||||
#: extensions/admin/forms/account.py:326 extensions/admin/forms/domain.py:256
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:129
|
||||
#: extensions/admin/forms/account.py:327 extensions/admin/forms/domain.py:248
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:133
|
||||
#: extensions/postfix_autoreply/app_settings.py:11
|
||||
#: extensions/postfix_relay_domains/forms.py:138
|
||||
#: extensions/sievefilters/app_settings.py:50
|
||||
@@ -288,8 +288,8 @@ msgstr ""
|
||||
msgid "This field is required"
|
||||
msgstr "Este campo é obrigatório"
|
||||
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:87
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:29
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:157
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:41
|
||||
#: extensions/webmail/app_settings.py:73
|
||||
msgid "Display"
|
||||
msgstr "Exibir"
|
||||
@@ -343,38 +343,38 @@ msgstr ""
|
||||
msgid "You can't delete your own account"
|
||||
msgstr "Não pode apagar a sua própria conta"
|
||||
|
||||
#: core/models.py:117
|
||||
#: core/models.py:130
|
||||
msgid "Failed to update password: LDAP module not installed"
|
||||
msgstr "Falha ao actualizar password: Modulo LDAP não instalado"
|
||||
|
||||
#: core/models.py:170
|
||||
#: core/models.py:183
|
||||
msgid "account"
|
||||
msgstr "conta"
|
||||
|
||||
#: core/models.py:321 extensions/admin/models/domain.py:144
|
||||
#: core/models.py:334 extensions/admin/models/domain.py:144
|
||||
#: extensions/admin/models/domain_alias.py:39
|
||||
#: extensions/postfix_relay_domains/models.py:134
|
||||
#: extensions/postfix_relay_domains/models.py:190
|
||||
msgid "Invalid line"
|
||||
msgstr "Linha inválida"
|
||||
|
||||
#: core/models.py:325
|
||||
#: core/models.py:338
|
||||
msgid "You can't import an account with a role greater than yours"
|
||||
msgstr "Não é possível importa uma conta com permissões superiores"
|
||||
|
||||
#: core/models.py:337
|
||||
#: core/models.py:350
|
||||
#, python-format
|
||||
msgid "The simple user '%s' must have a valid email address"
|
||||
msgstr "O simple utilizador '%s' deve ter endereço de e-mail válido"
|
||||
|
||||
#: core/models.py:341
|
||||
#: core/models.py:354
|
||||
#, python-format
|
||||
msgid "username and email fields must not differ for '%s'"
|
||||
msgstr ""
|
||||
"Os campos nome de utilizador e endereço de email não deve ser diferente para "
|
||||
"'%s'"
|
||||
|
||||
#: core/models.py:410 extensions/admin/models/alias.py:35
|
||||
#: core/models.py:423 extensions/admin/models/alias.py:35
|
||||
#: extensions/admin/models/domain.py:32
|
||||
#: extensions/admin/models/domain_alias.py:17
|
||||
#: extensions/postfix_autoreply/models.py:28
|
||||
@@ -383,29 +383,29 @@ msgstr ""
|
||||
msgid "enabled"
|
||||
msgstr "ativo"
|
||||
|
||||
#: core/models.py:411
|
||||
#: core/models.py:424
|
||||
msgid "Check to enable this extension"
|
||||
msgstr "Marque para ativar esta extensão"
|
||||
|
||||
#: core/models.py:491
|
||||
#: core/models.py:504
|
||||
msgid "added"
|
||||
msgstr "acrescentado"
|
||||
|
||||
#: core/models.py:494
|
||||
#: core/models.py:507
|
||||
msgid "modified"
|
||||
msgstr "modificado"
|
||||
|
||||
#: core/models.py:496 core/models.py:521
|
||||
#: core/models.py:509 core/models.py:534
|
||||
#, python-format
|
||||
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
|
||||
msgstr "%(object)s '%(name)s' %(action)s pelo utilizador %(user)s"
|
||||
|
||||
#: core/models.py:523
|
||||
#: core/models.py:536
|
||||
msgid "deleted"
|
||||
msgstr "apagado"
|
||||
|
||||
#: core/tables.py:8 core/templates/core/information.html:8
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:187
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:179
|
||||
#: extensions/admin/templates/admin/domains_table.html:5
|
||||
#: extensions/admin/templates/admin/editdomainform.html:13
|
||||
#: extensions/admin/templates/admin/identities_table.html:5
|
||||
@@ -521,7 +521,7 @@ msgstr "Atualizar o sua informação pessoal"
|
||||
#: core/templates/core/user_profile.html:8
|
||||
#: extensions/admin/templates/admin/forward.html:8
|
||||
#: extensions/admin/views/alias.py:112 extensions/admin/views/domain.py:168
|
||||
#: extensions/admin/views/identity.py:200
|
||||
#: extensions/admin/views/identity.py:204
|
||||
#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
|
||||
#: extensions/postfix_relay_domains/views.py:66
|
||||
#: extensions/sievefilters/views.py:166 extensions/webmail/views.py:172
|
||||
@@ -648,7 +648,7 @@ msgstr "Reencaminhar"
|
||||
msgid "Account import failed (%s): domain does not exist"
|
||||
msgstr "Importação da conta falhou (%s): domínio não existe"
|
||||
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:196
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:197
|
||||
#, python-format
|
||||
msgid "Mailbox %s already exists"
|
||||
msgstr "Caixa de correio %s já existe"
|
||||
@@ -658,6 +658,12 @@ msgstr "Caixa de correio %s já existe"
|
||||
msgid "Account import failed (%s): wrong quota value"
|
||||
msgstr "Importação da conta falhou (%s): domínio não existe"
|
||||
|
||||
#: extensions/admin/__init__.py:212 extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/app_settings.py:13
|
||||
#: extensions/admin/templates/admin/editdomainform.html:25
|
||||
#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
|
||||
@@ -706,7 +712,7 @@ msgstr ""
|
||||
"Ao remover uma caixa de correio estará também a remover a conta associada"
|
||||
|
||||
#: extensions/admin/app_settings.py:81 extensions/admin/forms/account.py:178
|
||||
#: extensions/admin/forms/domain.py:56
|
||||
#: extensions/admin/forms/domain.py:57
|
||||
msgid "Must be a positive integer"
|
||||
msgstr ""
|
||||
|
||||
@@ -752,7 +758,7 @@ msgstr "Não pode desativar a sua própria conta"
|
||||
msgid "E-mail"
|
||||
msgstr "E-mail"
|
||||
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:17
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:18
|
||||
msgid "Quota"
|
||||
msgstr "Quota"
|
||||
|
||||
@@ -766,7 +772,7 @@ msgstr ""
|
||||
"usar o valor predefinido pelo domínio. Deixar em branco para definir uma "
|
||||
"valor ilimitado (não permitido para administradores do domínio)."
|
||||
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:26
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:27
|
||||
#: extensions/admin/templates/admin/domains_table.html:6
|
||||
#: extensions/postfix_relay_domains/forms.py:12
|
||||
msgid "Alias(es)"
|
||||
@@ -782,25 +788,25 @@ msgstr ""
|
||||
"clique ENTER para adicionar uma nova entrada. Use o '*' para criar um alias "
|
||||
"'catchall' (ex: *@domain.tld)."
|
||||
|
||||
#: extensions/admin/forms/account.py:187 extensions/admin/forms/account.py:217
|
||||
#: extensions/admin/forms/account.py:188 extensions/admin/forms/account.py:218
|
||||
#: extensions/admin/forms/alias.py:65
|
||||
msgid "Domain does not exist"
|
||||
msgstr "O domínio não existe"
|
||||
|
||||
#: extensions/admin/forms/account.py:284
|
||||
#: extensions/admin/forms/account.py:285
|
||||
msgid "Domain(s)"
|
||||
msgstr "Domínio(s)"
|
||||
|
||||
#: extensions/admin/forms/account.py:286
|
||||
#: extensions/admin/forms/account.py:287
|
||||
msgid "Domain(s) that user administrates"
|
||||
msgstr "Domínio(s) administrado pelo utilizador"
|
||||
|
||||
#: extensions/admin/forms/account.py:328
|
||||
#: extensions/admin/views/identity.py:132
|
||||
#: extensions/admin/forms/account.py:329
|
||||
#: extensions/admin/views/identity.py:136
|
||||
msgid "Mail"
|
||||
msgstr "Correio"
|
||||
|
||||
#: extensions/admin/forms/account.py:330
|
||||
#: extensions/admin/forms/account.py:331
|
||||
msgid "Permissions"
|
||||
msgstr "Permissões"
|
||||
|
||||
@@ -850,13 +856,13 @@ msgstr "O destinatário %s já existe"
|
||||
msgid "No recipient defined"
|
||||
msgstr "Sem destinatário definido"
|
||||
|
||||
#: extensions/admin/forms/domain.py:20
|
||||
#: extensions/admin/forms/domain.py:21
|
||||
msgid ""
|
||||
"Default quota in MB applied to mailboxes. Leave empty to use the default "
|
||||
"value."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:29
|
||||
#: extensions/admin/forms/domain.py:30
|
||||
msgid ""
|
||||
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
|
||||
"add a new input."
|
||||
@@ -864,34 +870,28 @@ msgstr ""
|
||||
"Alias(es) deste domínio. Indicar apenas um nome por entrada, pressionar "
|
||||
"ENTER para acrescentar uma nova entrada."
|
||||
|
||||
#: extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
|
||||
#: extensions/admin/forms/domain.py:78 extensions/admin/forms/domain.py:92
|
||||
#: extensions/postfix_relay_domains/forms.py:58
|
||||
#: extensions/postfix_relay_domains/forms.py:78
|
||||
#, python-format
|
||||
msgid "A %s with this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:92
|
||||
#: extensions/admin/forms/domain.py:89
|
||||
#: extensions/postfix_relay_domains/forms.py:49
|
||||
#: extensions/postfix_relay_domains/forms.py:71
|
||||
msgid "domain"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:181
|
||||
#: extensions/admin/forms/domain.py:173
|
||||
msgid "Create a domain administrator"
|
||||
msgstr "Criar um administrador de domínio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:183
|
||||
#: extensions/admin/forms/domain.py:175
|
||||
msgid "Automatically create an administrator for this domain"
|
||||
msgstr "Criar automaticamente um administrador para este domínio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
#: extensions/admin/forms/domain.py:182
|
||||
msgid ""
|
||||
"The administrator's name. Don't include the domain's name here, it will be "
|
||||
"automatically appended."
|
||||
@@ -899,19 +899,19 @@ msgstr ""
|
||||
"O nome do administrador. Não inclua o nome do domínio já que este será "
|
||||
"automaticamente anexado."
|
||||
|
||||
#: extensions/admin/forms/domain.py:198
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
msgid "Create aliases"
|
||||
msgstr " Criar aliases"
|
||||
|
||||
#: extensions/admin/forms/domain.py:200
|
||||
#: extensions/admin/forms/domain.py:192
|
||||
msgid "Automatically create standard aliases for this domain"
|
||||
msgstr "Criar automaticamente aliases para este domínio"
|
||||
|
||||
#: extensions/admin/forms/domain.py:216
|
||||
#: extensions/admin/forms/domain.py:208
|
||||
msgid "Invalid format"
|
||||
msgstr "Formato inválido"
|
||||
|
||||
#: extensions/admin/forms/domain.py:230
|
||||
#: extensions/admin/forms/domain.py:222
|
||||
#, python-format
|
||||
msgid "User '%s' already exists"
|
||||
msgstr "O utilizador '%s' já existe"
|
||||
@@ -949,7 +949,7 @@ msgstr ""
|
||||
"Não é possível definir um reencaminhamento para um destino local. Por favor "
|
||||
"informe-se junto de um administrador para criar um alias."
|
||||
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:198
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:200
|
||||
msgid "Select a file"
|
||||
msgstr "Escolha um ficheiro"
|
||||
|
||||
@@ -969,7 +969,7 @@ msgstr "Passwords encriptadas"
|
||||
msgid "Check this option if passwords contained in your file are not crypted"
|
||||
msgstr "Marque esta opção se as senhas contidas no arquivo não são encriptadas"
|
||||
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:62
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:74
|
||||
msgid "address"
|
||||
msgstr "endereços"
|
||||
|
||||
@@ -1067,21 +1067,21 @@ msgstr "O domínio para o qual este alias irá apontar"
|
||||
msgid "Unknown domain %s"
|
||||
msgstr "Domínio desconhecido: %s"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:63
|
||||
#: extensions/admin/models/mailbox.py:75
|
||||
msgid "Mailbox address (without the @domain.tld part)"
|
||||
msgstr "Endereços das caixas de correio (sem a parte @domain.tld)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:125
|
||||
#: extensions/admin/models/mailbox.py:136
|
||||
#, python-format
|
||||
msgid "Failed to retrieve mailbox location (%s)"
|
||||
msgstr "Falha ao recuperar a localização da caixa de correio (%s)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:194
|
||||
#: extensions/admin/models/mailbox.py:221
|
||||
#, python-format
|
||||
msgid "Quota is greater than the allowed domain's limit (%dM)"
|
||||
msgstr "A quota excede o limite permitido pelo domínio (%dM)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:199
|
||||
#: extensions/admin/models/mailbox.py:227
|
||||
msgid "A quota is required"
|
||||
msgstr "É necessário uma quota"
|
||||
|
||||
@@ -1153,7 +1153,7 @@ msgid "Importing..."
|
||||
msgstr "A importar..."
|
||||
|
||||
#: extensions/admin/templates/admin/listing.html:14
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
#: extensions/stats/templates/stats/index.html:23
|
||||
msgid "Filter"
|
||||
msgstr "Filtro"
|
||||
|
||||
@@ -1255,8 +1255,8 @@ msgid "Alias with this name already exists"
|
||||
msgstr "Já existe um 'alias' com este nome"
|
||||
|
||||
#: extensions/admin/views/alias.py:50 extensions/admin/views/domain.py:102
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:133
|
||||
#: extensions/admin/views/identity.py:160
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:137
|
||||
#: extensions/admin/views/identity.py:164
|
||||
#: extensions/postfix_relay_domains/views.py:34
|
||||
#: extensions/sievefilters/views.py:144 extensions/sievefilters/views.py:233
|
||||
#: extensions/webmail/views.py:153
|
||||
@@ -1299,7 +1299,7 @@ msgstr "Reencaminhamento modificado"
|
||||
msgid "Alias modified"
|
||||
msgstr "'Alias' modificado"
|
||||
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:130
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:134
|
||||
msgid "Next"
|
||||
msgstr "Seguinte"
|
||||
|
||||
@@ -1307,7 +1307,7 @@ msgstr "Seguinte"
|
||||
msgid "Options"
|
||||
msgstr "Opções"
|
||||
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:134
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:138
|
||||
msgid "Previous"
|
||||
msgstr "Anterior"
|
||||
|
||||
@@ -1341,11 +1341,11 @@ msgstr "Exportar identidades"
|
||||
msgid "Export domains"
|
||||
msgstr "Exportar domínios"
|
||||
|
||||
#: extensions/admin/views/identity.py:104
|
||||
#: extensions/admin/views/identity.py:227
|
||||
#: extensions/admin/views/identity.py:232 extensions/amavis/views.py:144
|
||||
#: extensions/amavis/views.py:148 extensions/amavis/views.py:181
|
||||
#: extensions/amavis/views.py:186 extensions/amavis/views.py:188
|
||||
#: extensions/admin/views/identity.py:108
|
||||
#: extensions/admin/views/identity.py:231
|
||||
#: extensions/admin/views/identity.py:236 extensions/amavis/views.py:172
|
||||
#: extensions/amavis/views.py:176 extensions/amavis/views.py:207
|
||||
#: extensions/amavis/views.py:212 extensions/amavis/views.py:214
|
||||
#: extensions/webmail/views.py:49 extensions/webmail/views.py:67
|
||||
#: extensions/webmail/views.py:81 extensions/webmail/views.py:99
|
||||
#: extensions/webmail/views.py:116 extensions/webmail/views.py:202
|
||||
@@ -1356,19 +1356,19 @@ msgstr "Exportar domínios"
|
||||
msgid "Invalid request"
|
||||
msgstr "Pedido inválido"
|
||||
|
||||
#: extensions/admin/views/identity.py:151
|
||||
#: extensions/admin/views/identity.py:155
|
||||
msgid "Account created"
|
||||
msgstr "Conta criada"
|
||||
|
||||
#: extensions/admin/views/identity.py:157
|
||||
#: extensions/admin/views/identity.py:161
|
||||
msgid "New account"
|
||||
msgstr "Nova conta"
|
||||
|
||||
#: extensions/admin/views/identity.py:193
|
||||
#: extensions/admin/views/identity.py:197
|
||||
msgid "Account updated"
|
||||
msgstr "Conta actualizada"
|
||||
|
||||
#: extensions/admin/views/identity.py:217
|
||||
#: extensions/admin/views/identity.py:221
|
||||
msgid "Account deleted"
|
||||
msgid_plural "Accounts deleted"
|
||||
msgstr[0] "Conta eliminada"
|
||||
@@ -1430,127 +1430,213 @@ msgstr "Reencaminhamento atualizado"
|
||||
msgid "Simple amavis management frontend"
|
||||
msgstr "Interface de gestão básica do amavis"
|
||||
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:18
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:20
|
||||
msgid "Quarantine"
|
||||
msgstr "Quarentena"
|
||||
|
||||
#: extensions/amavis/app_settings.py:11
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
msgid "Quarantine settings"
|
||||
msgstr "Definições de quarentena"
|
||||
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
#: extensions/amavis/app_settings.py:17
|
||||
msgid "Maximum message age"
|
||||
msgstr "Idade maxima da messagem"
|
||||
|
||||
#: extensions/amavis/app_settings.py:16
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
msgid "Quarantine messages maximum age (in days) before deletion"
|
||||
msgstr ""
|
||||
"Tempo máximo que as mensagens ficam na quarentena (em dias) até serem "
|
||||
"eliminadas"
|
||||
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
msgid "Messages releasing"
|
||||
msgstr "Libertar mensagens"
|
||||
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
#: extensions/amavis/app_settings.py:25
|
||||
msgid "Remove released messages"
|
||||
msgstr "Remover mensagens libertadas"
|
||||
|
||||
#: extensions/amavis/app_settings.py:24
|
||||
#: extensions/amavis/app_settings.py:27
|
||||
msgid "Remove messages marked as released while cleaning up the database"
|
||||
msgstr ""
|
||||
"Remova as mensagens, marcadas como enviadas, durante a limpeza da base de "
|
||||
"dados"
|
||||
|
||||
#: extensions/amavis/app_settings.py:28
|
||||
#: extensions/amavis/app_settings.py:32
|
||||
msgid "Amavis connection mode"
|
||||
msgstr "Modo de ligação ao amavis"
|
||||
|
||||
#: extensions/amavis/app_settings.py:31
|
||||
#: extensions/amavis/app_settings.py:35
|
||||
msgid "Mode used to access the PDP server"
|
||||
msgstr "Método usado para aceder ao servidor PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:36
|
||||
#: extensions/amavis/app_settings.py:40
|
||||
msgid "PDP server address"
|
||||
msgstr "Endereço do servidor PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:38
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
msgid "PDP server address (if inet mode)"
|
||||
msgstr "Endereço do servidor PDP (método inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
#: extensions/amavis/app_settings.py:46
|
||||
msgid "PDP server port"
|
||||
msgstr "Porta do servidor PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:44
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
msgid "PDP server port (if inet mode)"
|
||||
msgstr "Porta do servidor PDP (método inet)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
#: extensions/amavis/app_settings.py:52
|
||||
msgid "PDP server socket"
|
||||
msgstr "Socket do servidor PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:50
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
msgid "Path to the PDP server socket (if unix mode)"
|
||||
msgstr "Caminho para a socket do servidor PDP (método unix)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
#: extensions/amavis/app_settings.py:58
|
||||
msgid "Check requests interval"
|
||||
msgstr "Intervalo de verificação de pedidos"
|
||||
|
||||
#: extensions/amavis/app_settings.py:56
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
msgid "Interval between two release requests checks"
|
||||
msgstr "Intervalo entre dois pedidos "
|
||||
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
#: extensions/amavis/app_settings.py:64
|
||||
msgid "Allow direct release"
|
||||
msgstr "Permitir envio direto"
|
||||
|
||||
#: extensions/amavis/app_settings.py:62
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
msgid "Allow users to directly release their messages"
|
||||
msgstr "Permitir que aos utilizadores libertar mensagens diretamente"
|
||||
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
#: extensions/amavis/app_settings.py:70
|
||||
msgid "Enable self-service mode"
|
||||
msgstr "Ativar o modo de self-service"
|
||||
|
||||
#: extensions/amavis/app_settings.py:68
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
msgid "Activate the 'self-service' mode"
|
||||
msgstr "Ativar o modo 'self-service'"
|
||||
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
#: extensions/amavis/app_settings.py:76
|
||||
msgid "Notifications sender"
|
||||
msgstr "Notificações de remetente"
|
||||
|
||||
#: extensions/amavis/app_settings.py:74
|
||||
#: extensions/amavis/app_settings.py:78
|
||||
msgid "The e-mail address used to send notitications"
|
||||
msgstr "O endereço de e-mail usado para enviar notificações"
|
||||
|
||||
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
|
||||
#: extensions/amavis/app_settings.py:81
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:28
|
||||
msgid "Manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:84
|
||||
msgid "Enable manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:87
|
||||
msgid "Allow super administrators to manually train Spamassassin"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
msgid "Is Spamassassin local?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:95
|
||||
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:100
|
||||
#, fuzzy
|
||||
msgid "Default user"
|
||||
msgstr "Editor predefinido"
|
||||
|
||||
#: extensions/amavis/app_settings.py:103
|
||||
msgid "Name of the user owning the default bayesian database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:108
|
||||
#, fuzzy
|
||||
msgid "Spamd address"
|
||||
msgstr "Do endereço"
|
||||
|
||||
#: extensions/amavis/app_settings.py:110
|
||||
msgid "The IP address where spamd can be reached"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:114
|
||||
#, fuzzy
|
||||
msgid "Spamd port"
|
||||
msgstr "Importar"
|
||||
|
||||
#: extensions/amavis/app_settings.py:116
|
||||
msgid "The TCP port spamd is listening on"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:120
|
||||
msgid "Enable per-domain manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:123
|
||||
msgid ""
|
||||
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
||||
"domain databases)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:129
|
||||
msgid "Enable per-user manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:132
|
||||
msgid ""
|
||||
"Allow simple users to personally train Spamassassin (within a dedicated "
|
||||
"database)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:161 extensions/webmail/app_settings.py:91
|
||||
msgid "Number of displayed emails per page"
|
||||
msgstr "Número de e-mails a visíveis por página"
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
#: extensions/amavis/app_settings.py:162
|
||||
msgid "Set the maximum number of messages displayed in a page"
|
||||
msgstr "Definir o número máximo de mensagens apresentadas por página"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:82
|
||||
#: extensions/amavis/forms.py:83
|
||||
msgid "Global database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/forms.py:89
|
||||
#, fuzzy
|
||||
msgid "Domain's database"
|
||||
msgstr "Aliases de domínio"
|
||||
|
||||
#: extensions/amavis/forms.py:91
|
||||
msgid "User's database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:136
|
||||
msgid "pending requests"
|
||||
msgstr "pedidos pendentes"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:125
|
||||
#: extensions/amavis/general_callbacks.py:179
|
||||
msgid "Pending requests"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:135
|
||||
#: extensions/amavis/general_callbacks.py:189
|
||||
msgid "Content filter"
|
||||
msgstr "Filtro de conteúdo"
|
||||
|
||||
#: extensions/amavis/lib.py:56
|
||||
#: extensions/amavis/lib.py:62
|
||||
#, python-format
|
||||
msgid "Connection to amavis failed: %s"
|
||||
msgstr "Não foi possível estabelecer ligação com o amavis: %s"
|
||||
|
||||
#: extensions/amavis/lib.py:131
|
||||
#, fuzzy
|
||||
msgid "No recipient found"
|
||||
msgstr "Sem destinatário definido"
|
||||
|
||||
#: extensions/amavis/models.py:93
|
||||
msgid "Virus filter"
|
||||
msgstr "Filtro de vírus"
|
||||
@@ -1614,8 +1700,8 @@ msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/sql_listing.py:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:75
|
||||
#: extensions/webmail/forms.py:82
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:106
|
||||
#: extensions/webmail/forms.py:83
|
||||
msgid "To"
|
||||
msgstr "Para"
|
||||
|
||||
@@ -1626,49 +1712,65 @@ msgid "From"
|
||||
msgstr "De"
|
||||
|
||||
#: extensions/amavis/sql_listing.py:40 extensions/sievefilters/forms.py:77
|
||||
#: extensions/webmail/forms.py:86 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/forms.py:87 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/lib/listing.py:27 extensions/webmail/lib/tables.py:26
|
||||
#: templates/common/email_searchbar.html:6
|
||||
msgid "Subject"
|
||||
msgstr "Assunto"
|
||||
|
||||
#: extensions/amavis/views.py:27
|
||||
#: extensions/amavis/views.py:31
|
||||
msgid "Empty quarantine"
|
||||
msgstr "Quarentena vazia"
|
||||
|
||||
#: extensions/amavis/views.py:149
|
||||
#: extensions/amavis/views.py:177
|
||||
msgid "Message deleted"
|
||||
msgstr "Mensagem apagada"
|
||||
|
||||
#: extensions/amavis/views.py:168
|
||||
#: extensions/amavis/views.py:194
|
||||
#, python-format
|
||||
msgid "%(count)d message deleted successfully"
|
||||
msgid_plural "%(count)d messages deleted successfully"
|
||||
msgstr[0] "%(count)d mensagem eliminada com sucesso"
|
||||
msgstr[1] "%(count)d mensagens eliminadas com sucesso"
|
||||
|
||||
#: extensions/amavis/views.py:191
|
||||
#: extensions/amavis/views.py:217
|
||||
msgid "Request sent"
|
||||
msgstr "Pedido enviado"
|
||||
|
||||
#: extensions/amavis/views.py:197
|
||||
#: extensions/amavis/views.py:223
|
||||
msgid "Message released"
|
||||
msgstr "Mensagem libertada"
|
||||
|
||||
#: extensions/amavis/views.py:225
|
||||
#: extensions/amavis/views.py:250
|
||||
#, python-format
|
||||
msgid "%(count)d request sent"
|
||||
msgid_plural "%(count)d requests sent"
|
||||
msgstr[0] "%(count)d pedido enviado"
|
||||
msgstr[1] "%(count)d pedidos enviados"
|
||||
|
||||
#: extensions/amavis/views.py:246
|
||||
#: extensions/amavis/views.py:271
|
||||
#, python-format
|
||||
msgid "%(count)d message released successfully"
|
||||
msgid_plural "%(count)d messages released successfully"
|
||||
msgstr[0] "%(count)d mensagem libertada com sucesso"
|
||||
msgstr[1] "%(count)d mensagens libertadas com sucesso"
|
||||
|
||||
#: extensions/amavis/views.py:309
|
||||
#, fuzzy, python-format
|
||||
msgid "%(count)d message processed successfully"
|
||||
msgid_plural "%(count)d messages processed successfully"
|
||||
msgstr[0] "%(count)d mensagem libertada com sucesso"
|
||||
msgstr[1] "%(count)d mensagens libertadas com sucesso"
|
||||
|
||||
#: extensions/amavis/views.py:341
|
||||
#, fuzzy
|
||||
msgid "Select a database"
|
||||
msgstr "Escolha um ficheiro"
|
||||
|
||||
#: extensions/amavis/views.py:345
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/management/commands/amnotify.py:61
|
||||
msgid "[modoboa] Pending release requests"
|
||||
msgstr "[modoboa] Pedidos de laçamento pendentes"
|
||||
@@ -1694,64 +1796,83 @@ msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:9
|
||||
msgid "Clean"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
msgid "Spam"
|
||||
msgstr "Spam"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
msgid "Virus"
|
||||
msgstr "Vírus"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
msgid "Bad Header"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
msgid "Bad MIME"
|
||||
msgstr "Formato MIME inválido"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:14
|
||||
msgid "Banned"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:18
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:54
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:85
|
||||
msgid "Release"
|
||||
msgstr "Libertar"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:23
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:25
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:61
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:30
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:92
|
||||
#: extensions/webmail/templatetags/webmail_tags.py:32
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:44
|
||||
#, fuzzy
|
||||
msgid "Mark as spam"
|
||||
msgstr "Marcar mensagens"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:52
|
||||
msgid "Mark as non-spam"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
#: extensions/sievefilters/forms.py:64
|
||||
msgid "All messages"
|
||||
msgstr "Todas as mensagens"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:32
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:45
|
||||
msgid "Clean only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:47
|
||||
msgid "Spam only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:48
|
||||
msgid "Virus only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:49
|
||||
msgid "Bad Header only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:35
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:50
|
||||
msgid "Bad MIME only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:36
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:51
|
||||
msgid "Banned only"
|
||||
msgstr ""
|
||||
|
||||
@@ -1799,7 +1920,7 @@ msgstr "Atuar nesta mensagem:"
|
||||
msgid "Please visit %(listingurl)s for a full listing."
|
||||
msgstr "Por favor visitar %(listingurl)s para uma listagem completa."
|
||||
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:28
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:35
|
||||
msgid "View full headers"
|
||||
msgstr "Ver todos os cabeçalhos"
|
||||
|
||||
@@ -2225,7 +2346,7 @@ msgstr "Remetente"
|
||||
msgid "Recipient"
|
||||
msgstr "Destinatário"
|
||||
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:83
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:84
|
||||
msgid "Cc"
|
||||
msgstr "Cc"
|
||||
|
||||
@@ -2480,19 +2601,19 @@ msgstr "Conjunto de gráficos desconhecido"
|
||||
msgid "Bad custom period"
|
||||
msgstr "Período personalizado inválido"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:33
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
msgid "Search a domain"
|
||||
msgstr "Procurar um domínio"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:37
|
||||
#: extensions/stats/templates/stats/index.html:32
|
||||
msgid "Predefined time ranges"
|
||||
msgstr "Intervalos de tempo pré-definidos"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:44
|
||||
#: extensions/stats/templates/stats/index.html:39
|
||||
msgid "Custom time range"
|
||||
msgstr "Intervalo de tempo personalizado"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:57
|
||||
#: extensions/stats/templates/stats/index.html:52
|
||||
msgid "Apply"
|
||||
msgstr "Aplicar"
|
||||
|
||||
@@ -2648,7 +2769,7 @@ msgstr "Resposta do servidor"
|
||||
msgid "Unknown action"
|
||||
msgstr "Acção desconhecida"
|
||||
|
||||
#: extensions/webmail/forms.py:84
|
||||
#: extensions/webmail/forms.py:85
|
||||
msgid "Cci"
|
||||
msgstr "Cci"
|
||||
|
||||
@@ -2855,15 +2976,15 @@ msgstr "Não"
|
||||
msgid "Failed to update password: %s"
|
||||
msgstr "Falha ao actualizar a password: %s"
|
||||
|
||||
#: lib/permissions.py:20
|
||||
#: lib/permissions.py:19
|
||||
msgid "Simple user"
|
||||
msgstr "Utilizador simples"
|
||||
|
||||
#: lib/permissions.py:22
|
||||
#: lib/permissions.py:21
|
||||
msgid "Super administrator"
|
||||
msgstr "Super Administrador"
|
||||
|
||||
#: lib/permissions.py:28
|
||||
#: lib/permissions.py:27
|
||||
msgid "Domain administrator"
|
||||
msgstr "Administrador de domínio"
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:33+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:23+0100\n"
|
||||
"PO-Revision-Date: 2013-12-23 11:22+0000\n"
|
||||
"Last-Translator: lusitan <lusitan@hushmail.com>\n"
|
||||
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/"
|
||||
@@ -45,33 +45,51 @@ msgstr ""
|
||||
msgid "No domain administrator defined"
|
||||
msgstr "Não está definido nenhum administrador para o domínio"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr "Não excluir o diretório da caixa de correio"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr "Libertar itens seleccionados?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr "Eliminar itens seleccionados?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr "Libertar itens seleccionados?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr "Libertar itens seleccionados?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr "Libertar esta mensagem?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr "Eliminar esta mensagem?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr "Ver cabeçalho completo"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr "Esconder cabeçalho completo"
|
||||
|
||||
@@ -100,7 +118,7 @@ msgstr "Activar estes filtros?"
|
||||
msgid "active"
|
||||
msgstr "activo"
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr "Pesquisar domínio"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:28+0200\n"
|
||||
"POT-Creation-Date: 2014-11-04 11:51+0100\n"
|
||||
"PO-Revision-Date: 2013-12-03 09:35+0000\n"
|
||||
"Last-Translator: Antoine Nguyen <tonio@ngyn.org>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/projects/p/modoboa/language/"
|
||||
@@ -20,8 +20,8 @@ msgstr ""
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#: core/__init__.py:52 core/__init__.py:53
|
||||
#: extensions/admin/forms/account.py:326 extensions/admin/forms/domain.py:256
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:129
|
||||
#: extensions/admin/forms/account.py:327 extensions/admin/forms/domain.py:248
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:133
|
||||
#: extensions/postfix_autoreply/app_settings.py:11
|
||||
#: extensions/postfix_relay_domains/forms.py:138
|
||||
#: extensions/sievefilters/app_settings.py:50
|
||||
@@ -280,8 +280,8 @@ msgstr ""
|
||||
msgid "This field is required"
|
||||
msgstr "Это поле обязательно для заполнеия"
|
||||
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:87
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:29
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:157
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:41
|
||||
#: extensions/webmail/app_settings.py:73
|
||||
msgid "Display"
|
||||
msgstr "Отображение"
|
||||
@@ -335,36 +335,36 @@ msgstr ""
|
||||
msgid "You can't delete your own account"
|
||||
msgstr "Вы не можете удалить собственный аккаунт"
|
||||
|
||||
#: core/models.py:117
|
||||
#: core/models.py:130
|
||||
msgid "Failed to update password: LDAP module not installed"
|
||||
msgstr "Ошибка обновления пароля: модуль LDAP не установлен"
|
||||
|
||||
#: core/models.py:170
|
||||
#: core/models.py:183
|
||||
msgid "account"
|
||||
msgstr "Аккаунт"
|
||||
|
||||
#: core/models.py:321 extensions/admin/models/domain.py:144
|
||||
#: core/models.py:334 extensions/admin/models/domain.py:144
|
||||
#: extensions/admin/models/domain_alias.py:39
|
||||
#: extensions/postfix_relay_domains/models.py:134
|
||||
#: extensions/postfix_relay_domains/models.py:190
|
||||
msgid "Invalid line"
|
||||
msgstr "Ошибочная строка"
|
||||
|
||||
#: core/models.py:325
|
||||
#: core/models.py:338
|
||||
msgid "You can't import an account with a role greater than yours"
|
||||
msgstr "Вы не можете импортировать аккаунт с ролью старше чем у вас"
|
||||
|
||||
#: core/models.py:337
|
||||
#: core/models.py:350
|
||||
#, python-format
|
||||
msgid "The simple user '%s' must have a valid email address"
|
||||
msgstr "Пользователь '%s' должен иметь действительный почтовый адрес"
|
||||
|
||||
#: core/models.py:341
|
||||
#: core/models.py:354
|
||||
#, python-format
|
||||
msgid "username and email fields must not differ for '%s'"
|
||||
msgstr "Имя пользователя и адрес не должны отличатся для пользователя '%s'"
|
||||
|
||||
#: core/models.py:410 extensions/admin/models/alias.py:35
|
||||
#: core/models.py:423 extensions/admin/models/alias.py:35
|
||||
#: extensions/admin/models/domain.py:32
|
||||
#: extensions/admin/models/domain_alias.py:17
|
||||
#: extensions/postfix_autoreply/models.py:28
|
||||
@@ -373,29 +373,29 @@ msgstr "Имя пользователя и адрес не должны отли
|
||||
msgid "enabled"
|
||||
msgstr "Разрешен"
|
||||
|
||||
#: core/models.py:411
|
||||
#: core/models.py:424
|
||||
msgid "Check to enable this extension"
|
||||
msgstr "Отметить для разрешения этого расширения"
|
||||
|
||||
#: core/models.py:491
|
||||
#: core/models.py:504
|
||||
msgid "added"
|
||||
msgstr "добавлено"
|
||||
|
||||
#: core/models.py:494
|
||||
#: core/models.py:507
|
||||
msgid "modified"
|
||||
msgstr "изменено"
|
||||
|
||||
#: core/models.py:496 core/models.py:521
|
||||
#: core/models.py:509 core/models.py:534
|
||||
#, python-format
|
||||
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
|
||||
msgstr "%(object)s '%(name)s' %(action)s пользователем %(user)s"
|
||||
|
||||
#: core/models.py:523
|
||||
#: core/models.py:536
|
||||
msgid "deleted"
|
||||
msgstr "удалено"
|
||||
|
||||
#: core/tables.py:8 core/templates/core/information.html:8
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:187
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:179
|
||||
#: extensions/admin/templates/admin/domains_table.html:5
|
||||
#: extensions/admin/templates/admin/editdomainform.html:13
|
||||
#: extensions/admin/templates/admin/identities_table.html:5
|
||||
@@ -511,7 +511,7 @@ msgstr "Обновить личную информацию"
|
||||
#: core/templates/core/user_profile.html:8
|
||||
#: extensions/admin/templates/admin/forward.html:8
|
||||
#: extensions/admin/views/alias.py:112 extensions/admin/views/domain.py:168
|
||||
#: extensions/admin/views/identity.py:200
|
||||
#: extensions/admin/views/identity.py:204
|
||||
#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
|
||||
#: extensions/postfix_relay_domains/views.py:66
|
||||
#: extensions/sievefilters/views.py:166 extensions/webmail/views.py:172
|
||||
@@ -637,7 +637,7 @@ msgstr "Перенаправленые"
|
||||
msgid "Account import failed (%s): domain does not exist"
|
||||
msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
|
||||
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:196
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:197
|
||||
#, python-format
|
||||
msgid "Mailbox %s already exists"
|
||||
msgstr "Почтовый ящик %s существует"
|
||||
@@ -647,6 +647,12 @@ msgstr "Почтовый ящик %s существует"
|
||||
msgid "Account import failed (%s): wrong quota value"
|
||||
msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
|
||||
|
||||
#: extensions/admin/__init__.py:212 extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/app_settings.py:13
|
||||
#: extensions/admin/templates/admin/editdomainform.html:25
|
||||
#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
|
||||
@@ -694,7 +700,7 @@ msgid "When a mailbox is removed, also remove the associated account"
|
||||
msgstr "При удалении почтового ящика, так же удалять и аккаунт владельца"
|
||||
|
||||
#: extensions/admin/app_settings.py:81 extensions/admin/forms/account.py:178
|
||||
#: extensions/admin/forms/domain.py:56
|
||||
#: extensions/admin/forms/domain.py:57
|
||||
msgid "Must be a positive integer"
|
||||
msgstr ""
|
||||
|
||||
@@ -740,7 +746,7 @@ msgstr "Вы не можете запретить собственный акк
|
||||
msgid "E-mail"
|
||||
msgstr "Е-майл"
|
||||
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:17
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:18
|
||||
msgid "Quota"
|
||||
msgstr "Квота"
|
||||
|
||||
@@ -755,7 +761,7 @@ msgstr ""
|
||||
"Оставьте пустым для неограниченного значения. (Не разрешено администраторам "
|
||||
"домена)"
|
||||
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:26
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:27
|
||||
#: extensions/admin/templates/admin/domains_table.html:6
|
||||
#: extensions/postfix_relay_domains/forms.py:12
|
||||
msgid "Alias(es)"
|
||||
@@ -770,25 +776,25 @@ msgstr ""
|
||||
"Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для "
|
||||
"добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)"
|
||||
|
||||
#: extensions/admin/forms/account.py:187 extensions/admin/forms/account.py:217
|
||||
#: extensions/admin/forms/account.py:188 extensions/admin/forms/account.py:218
|
||||
#: extensions/admin/forms/alias.py:65
|
||||
msgid "Domain does not exist"
|
||||
msgstr "Домен не существует"
|
||||
|
||||
#: extensions/admin/forms/account.py:284
|
||||
#: extensions/admin/forms/account.py:285
|
||||
msgid "Domain(s)"
|
||||
msgstr "Домен(ы)"
|
||||
|
||||
#: extensions/admin/forms/account.py:286
|
||||
#: extensions/admin/forms/account.py:287
|
||||
msgid "Domain(s) that user administrates"
|
||||
msgstr "Домен(ы) администрируемые пользователем"
|
||||
|
||||
#: extensions/admin/forms/account.py:328
|
||||
#: extensions/admin/views/identity.py:132
|
||||
#: extensions/admin/forms/account.py:329
|
||||
#: extensions/admin/views/identity.py:136
|
||||
msgid "Mail"
|
||||
msgstr "Почта"
|
||||
|
||||
#: extensions/admin/forms/account.py:330
|
||||
#: extensions/admin/forms/account.py:331
|
||||
msgid "Permissions"
|
||||
msgstr "Права"
|
||||
|
||||
@@ -838,13 +844,13 @@ msgstr "Получатель %s уже присутвует"
|
||||
msgid "No recipient defined"
|
||||
msgstr "Получатель не определен"
|
||||
|
||||
#: extensions/admin/forms/domain.py:20
|
||||
#: extensions/admin/forms/domain.py:21
|
||||
msgid ""
|
||||
"Default quota in MB applied to mailboxes. Leave empty to use the default "
|
||||
"value."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:29
|
||||
#: extensions/admin/forms/domain.py:30
|
||||
msgid ""
|
||||
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
|
||||
"add a new input."
|
||||
@@ -852,34 +858,28 @@ msgstr ""
|
||||
"Синоним(ы) этого домена. Вводите одно имя за раз. Нажмите ENTER для "
|
||||
"добавления."
|
||||
|
||||
#: extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
msgid "domain alias"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
|
||||
#: extensions/admin/forms/domain.py:78 extensions/admin/forms/domain.py:92
|
||||
#: extensions/postfix_relay_domains/forms.py:58
|
||||
#: extensions/postfix_relay_domains/forms.py:78
|
||||
#, python-format
|
||||
msgid "A %s with this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:92
|
||||
#: extensions/admin/forms/domain.py:89
|
||||
#: extensions/postfix_relay_domains/forms.py:49
|
||||
#: extensions/postfix_relay_domains/forms.py:71
|
||||
msgid "domain"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/admin/forms/domain.py:181
|
||||
#: extensions/admin/forms/domain.py:173
|
||||
msgid "Create a domain administrator"
|
||||
msgstr "Создание администратора домена"
|
||||
|
||||
#: extensions/admin/forms/domain.py:183
|
||||
#: extensions/admin/forms/domain.py:175
|
||||
msgid "Automatically create an administrator for this domain"
|
||||
msgstr "Автоматически создаст администратора для этого домена"
|
||||
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
#: extensions/admin/forms/domain.py:182
|
||||
msgid ""
|
||||
"The administrator's name. Don't include the domain's name here, it will be "
|
||||
"automatically appended."
|
||||
@@ -887,19 +887,19 @@ msgstr ""
|
||||
"Имя администратора. Не включайте имя домена оно будет добавлено "
|
||||
"автоматически."
|
||||
|
||||
#: extensions/admin/forms/domain.py:198
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
msgid "Create aliases"
|
||||
msgstr "Создание синонимов"
|
||||
|
||||
#: extensions/admin/forms/domain.py:200
|
||||
#: extensions/admin/forms/domain.py:192
|
||||
msgid "Automatically create standard aliases for this domain"
|
||||
msgstr "Автоматически создает стандартные синонимы для этого домена"
|
||||
|
||||
#: extensions/admin/forms/domain.py:216
|
||||
#: extensions/admin/forms/domain.py:208
|
||||
msgid "Invalid format"
|
||||
msgstr "Неверный формат"
|
||||
|
||||
#: extensions/admin/forms/domain.py:230
|
||||
#: extensions/admin/forms/domain.py:222
|
||||
#, python-format
|
||||
msgid "User '%s' already exists"
|
||||
msgstr "Пользователь '%s' уже существует"
|
||||
@@ -938,7 +938,7 @@ msgstr ""
|
||||
"Вы не можете определить перенаправление на локальный адрес. Пожалуйста, "
|
||||
"попросите администратора создать синоним"
|
||||
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:198
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:200
|
||||
msgid "Select a file"
|
||||
msgstr "Выберите файл"
|
||||
|
||||
@@ -958,7 +958,7 @@ msgstr "Шифровать пароль"
|
||||
msgid "Check this option if passwords contained in your file are not crypted"
|
||||
msgstr "Выберите эту опцию если пароль в вашем файле не зашифрован "
|
||||
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:62
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:74
|
||||
msgid "address"
|
||||
msgstr "адрес"
|
||||
|
||||
@@ -1056,21 +1056,21 @@ msgstr "Домен этого синонима указывает на"
|
||||
msgid "Unknown domain %s"
|
||||
msgstr "Неизвестный домен %s"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:63
|
||||
#: extensions/admin/models/mailbox.py:75
|
||||
msgid "Mailbox address (without the @domain.tld part)"
|
||||
msgstr "Адрес почтового ящика (без @domain.tld)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:125
|
||||
#: extensions/admin/models/mailbox.py:136
|
||||
#, python-format
|
||||
msgid "Failed to retrieve mailbox location (%s)"
|
||||
msgstr "Ошибка получения места находжения почтового ящика (%s)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:194
|
||||
#: extensions/admin/models/mailbox.py:221
|
||||
#, python-format
|
||||
msgid "Quota is greater than the allowed domain's limit (%dM)"
|
||||
msgstr "Квота больше чем разрешено на уровне домена (%dM)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:199
|
||||
#: extensions/admin/models/mailbox.py:227
|
||||
msgid "A quota is required"
|
||||
msgstr "Требуется квота"
|
||||
|
||||
@@ -1142,7 +1142,7 @@ msgid "Importing..."
|
||||
msgstr "Импорт..."
|
||||
|
||||
#: extensions/admin/templates/admin/listing.html:14
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
#: extensions/stats/templates/stats/index.html:23
|
||||
msgid "Filter"
|
||||
msgstr "Фильтр"
|
||||
|
||||
@@ -1244,8 +1244,8 @@ msgid "Alias with this name already exists"
|
||||
msgstr "Синоним с таким именем уже есть"
|
||||
|
||||
#: extensions/admin/views/alias.py:50 extensions/admin/views/domain.py:102
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:133
|
||||
#: extensions/admin/views/identity.py:160
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:137
|
||||
#: extensions/admin/views/identity.py:164
|
||||
#: extensions/postfix_relay_domains/views.py:34
|
||||
#: extensions/sievefilters/views.py:144 extensions/sievefilters/views.py:233
|
||||
#: extensions/webmail/views.py:153
|
||||
@@ -1288,7 +1288,7 @@ msgstr "Пересылка изменена"
|
||||
msgid "Alias modified"
|
||||
msgstr "Синоним изменен"
|
||||
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:130
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:134
|
||||
msgid "Next"
|
||||
msgstr "Следующая"
|
||||
|
||||
@@ -1296,7 +1296,7 @@ msgstr "Следующая"
|
||||
msgid "Options"
|
||||
msgstr "Опции"
|
||||
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:134
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:138
|
||||
msgid "Previous"
|
||||
msgstr "Предыдущая"
|
||||
|
||||
@@ -1331,11 +1331,11 @@ msgstr "Экспорт пользователя"
|
||||
msgid "Export domains"
|
||||
msgstr "Экспорт доменов"
|
||||
|
||||
#: extensions/admin/views/identity.py:104
|
||||
#: extensions/admin/views/identity.py:227
|
||||
#: extensions/admin/views/identity.py:232 extensions/amavis/views.py:144
|
||||
#: extensions/amavis/views.py:148 extensions/amavis/views.py:181
|
||||
#: extensions/amavis/views.py:186 extensions/amavis/views.py:188
|
||||
#: extensions/admin/views/identity.py:108
|
||||
#: extensions/admin/views/identity.py:231
|
||||
#: extensions/admin/views/identity.py:236 extensions/amavis/views.py:172
|
||||
#: extensions/amavis/views.py:176 extensions/amavis/views.py:207
|
||||
#: extensions/amavis/views.py:212 extensions/amavis/views.py:214
|
||||
#: extensions/webmail/views.py:49 extensions/webmail/views.py:67
|
||||
#: extensions/webmail/views.py:81 extensions/webmail/views.py:99
|
||||
#: extensions/webmail/views.py:116 extensions/webmail/views.py:202
|
||||
@@ -1346,19 +1346,19 @@ msgstr "Экспорт доменов"
|
||||
msgid "Invalid request"
|
||||
msgstr "Ошибочный запрос"
|
||||
|
||||
#: extensions/admin/views/identity.py:151
|
||||
#: extensions/admin/views/identity.py:155
|
||||
msgid "Account created"
|
||||
msgstr "Аккаунт создан"
|
||||
|
||||
#: extensions/admin/views/identity.py:157
|
||||
#: extensions/admin/views/identity.py:161
|
||||
msgid "New account"
|
||||
msgstr "Новый аккаунт"
|
||||
|
||||
#: extensions/admin/views/identity.py:193
|
||||
#: extensions/admin/views/identity.py:197
|
||||
msgid "Account updated"
|
||||
msgstr "аккаунт изменен"
|
||||
|
||||
#: extensions/admin/views/identity.py:217
|
||||
#: extensions/admin/views/identity.py:221
|
||||
msgid "Account deleted"
|
||||
msgid_plural "Accounts deleted"
|
||||
msgstr[0] "Аккаунт удален"
|
||||
@@ -1421,125 +1421,211 @@ msgstr "Перенаправление обновлено"
|
||||
msgid "Simple amavis management frontend"
|
||||
msgstr "Простой интерфейс управления AMaViS"
|
||||
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:18
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:20
|
||||
msgid "Quarantine"
|
||||
msgstr "Карантин"
|
||||
|
||||
#: extensions/amavis/app_settings.py:11
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
msgid "Quarantine settings"
|
||||
msgstr "Настройки карантина"
|
||||
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
#: extensions/amavis/app_settings.py:17
|
||||
msgid "Maximum message age"
|
||||
msgstr "Максимальное время жизни сообщения"
|
||||
|
||||
#: extensions/amavis/app_settings.py:16
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
msgid "Quarantine messages maximum age (in days) before deletion"
|
||||
msgstr ""
|
||||
"Максимальный срок хранения сообщений в карантине (в днях) перед удалением"
|
||||
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
msgid "Messages releasing"
|
||||
msgstr "Сообщение деблокировано"
|
||||
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
#: extensions/amavis/app_settings.py:25
|
||||
msgid "Remove released messages"
|
||||
msgstr "Удалить деблокированные сообщения"
|
||||
|
||||
#: extensions/amavis/app_settings.py:24
|
||||
#: extensions/amavis/app_settings.py:27
|
||||
msgid "Remove messages marked as released while cleaning up the database"
|
||||
msgstr "Удалить сообщения отмеченные как деблокированные при очистке базы"
|
||||
|
||||
#: extensions/amavis/app_settings.py:28
|
||||
#: extensions/amavis/app_settings.py:32
|
||||
msgid "Amavis connection mode"
|
||||
msgstr "Режим подключения Amavis"
|
||||
|
||||
#: extensions/amavis/app_settings.py:31
|
||||
#: extensions/amavis/app_settings.py:35
|
||||
msgid "Mode used to access the PDP server"
|
||||
msgstr "Режим подключения к PDP серверу"
|
||||
|
||||
#: extensions/amavis/app_settings.py:36
|
||||
#: extensions/amavis/app_settings.py:40
|
||||
msgid "PDP server address"
|
||||
msgstr "Адрес сервера PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:38
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
msgid "PDP server address (if inet mode)"
|
||||
msgstr "Адрес PDP сервера (интернет режим)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
#: extensions/amavis/app_settings.py:46
|
||||
msgid "PDP server port"
|
||||
msgstr "Порт сервера PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:44
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
msgid "PDP server port (if inet mode)"
|
||||
msgstr "Порт PDP сервера (интернет режим)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
#: extensions/amavis/app_settings.py:52
|
||||
msgid "PDP server socket"
|
||||
msgstr "Сокет сервера PDP"
|
||||
|
||||
#: extensions/amavis/app_settings.py:50
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
msgid "Path to the PDP server socket (if unix mode)"
|
||||
msgstr "Путь к PDP сокету сервера (для UNIX режима)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
#: extensions/amavis/app_settings.py:58
|
||||
msgid "Check requests interval"
|
||||
msgstr "Интервал проверки запросов"
|
||||
|
||||
#: extensions/amavis/app_settings.py:56
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
msgid "Interval between two release requests checks"
|
||||
msgstr "Интервал между запросами на деблокирование для доставки"
|
||||
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
#: extensions/amavis/app_settings.py:64
|
||||
msgid "Allow direct release"
|
||||
msgstr "Разрешить прямое деблокирование"
|
||||
|
||||
#: extensions/amavis/app_settings.py:62
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
msgid "Allow users to directly release their messages"
|
||||
msgstr ""
|
||||
"Позволить пользователю самостоятельно деблокировать сообщения для доставки"
|
||||
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
#: extensions/amavis/app_settings.py:70
|
||||
msgid "Enable self-service mode"
|
||||
msgstr "Разрешить режим самообслуживания"
|
||||
|
||||
#: extensions/amavis/app_settings.py:68
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
msgid "Activate the 'self-service' mode"
|
||||
msgstr "Активировать режим 'самообслуживания'"
|
||||
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
#: extensions/amavis/app_settings.py:76
|
||||
msgid "Notifications sender"
|
||||
msgstr "Уведомления отправителю"
|
||||
|
||||
#: extensions/amavis/app_settings.py:74
|
||||
#: extensions/amavis/app_settings.py:78
|
||||
msgid "The e-mail address used to send notitications"
|
||||
msgstr "Адрес для отправки уведомлений"
|
||||
|
||||
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
|
||||
#: extensions/amavis/app_settings.py:81
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:28
|
||||
msgid "Manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:84
|
||||
msgid "Enable manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:87
|
||||
msgid "Allow super administrators to manually train Spamassassin"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
msgid "Is Spamassassin local?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:95
|
||||
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:100
|
||||
#, fuzzy
|
||||
msgid "Default user"
|
||||
msgstr "Редактор по умолчанию"
|
||||
|
||||
#: extensions/amavis/app_settings.py:103
|
||||
msgid "Name of the user owning the default bayesian database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:108
|
||||
#, fuzzy
|
||||
msgid "Spamd address"
|
||||
msgstr "Адрес отправителя"
|
||||
|
||||
#: extensions/amavis/app_settings.py:110
|
||||
msgid "The IP address where spamd can be reached"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:114
|
||||
#, fuzzy
|
||||
msgid "Spamd port"
|
||||
msgstr "Импорт"
|
||||
|
||||
#: extensions/amavis/app_settings.py:116
|
||||
msgid "The TCP port spamd is listening on"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:120
|
||||
msgid "Enable per-domain manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:123
|
||||
msgid ""
|
||||
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
||||
"domain databases)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:129
|
||||
msgid "Enable per-user manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:132
|
||||
msgid ""
|
||||
"Allow simple users to personally train Spamassassin (within a dedicated "
|
||||
"database)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:161 extensions/webmail/app_settings.py:91
|
||||
msgid "Number of displayed emails per page"
|
||||
msgstr "Количество отображаемых сообщений на странице"
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
#: extensions/amavis/app_settings.py:162
|
||||
msgid "Set the maximum number of messages displayed in a page"
|
||||
msgstr "Установить максимальное количество сообщений показываемых на странице"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:82
|
||||
#: extensions/amavis/forms.py:83
|
||||
msgid "Global database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/forms.py:89
|
||||
#, fuzzy
|
||||
msgid "Domain's database"
|
||||
msgstr "Синонимы доменов"
|
||||
|
||||
#: extensions/amavis/forms.py:91
|
||||
msgid "User's database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:136
|
||||
msgid "pending requests"
|
||||
msgstr "ожидающие запросы"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:125
|
||||
#: extensions/amavis/general_callbacks.py:179
|
||||
msgid "Pending requests"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:135
|
||||
#: extensions/amavis/general_callbacks.py:189
|
||||
msgid "Content filter"
|
||||
msgstr "Фильтр содержания"
|
||||
|
||||
#: extensions/amavis/lib.py:56
|
||||
#: extensions/amavis/lib.py:62
|
||||
#, python-format
|
||||
msgid "Connection to amavis failed: %s"
|
||||
msgstr "Ошибка соединания с Amavis %s"
|
||||
|
||||
#: extensions/amavis/lib.py:131
|
||||
#, fuzzy
|
||||
msgid "No recipient found"
|
||||
msgstr "Получатель не определен"
|
||||
|
||||
#: extensions/amavis/models.py:93
|
||||
msgid "Virus filter"
|
||||
msgstr "Фильтр вирусов"
|
||||
@@ -1603,8 +1689,8 @@ msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/sql_listing.py:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:75
|
||||
#: extensions/webmail/forms.py:82
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:106
|
||||
#: extensions/webmail/forms.py:83
|
||||
msgid "To"
|
||||
msgstr "Кому"
|
||||
|
||||
@@ -1615,21 +1701,21 @@ msgid "From"
|
||||
msgstr "От кого"
|
||||
|
||||
#: extensions/amavis/sql_listing.py:40 extensions/sievefilters/forms.py:77
|
||||
#: extensions/webmail/forms.py:86 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/forms.py:87 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/lib/listing.py:27 extensions/webmail/lib/tables.py:26
|
||||
#: templates/common/email_searchbar.html:6
|
||||
msgid "Subject"
|
||||
msgstr "Тема"
|
||||
|
||||
#: extensions/amavis/views.py:27
|
||||
#: extensions/amavis/views.py:31
|
||||
msgid "Empty quarantine"
|
||||
msgstr "очистить карантин"
|
||||
|
||||
#: extensions/amavis/views.py:149
|
||||
#: extensions/amavis/views.py:177
|
||||
msgid "Message deleted"
|
||||
msgstr "Сообщение удалено"
|
||||
|
||||
#: extensions/amavis/views.py:168
|
||||
#: extensions/amavis/views.py:194
|
||||
#, python-format
|
||||
msgid "%(count)d message deleted successfully"
|
||||
msgid_plural "%(count)d messages deleted successfully"
|
||||
@@ -1637,15 +1723,15 @@ msgstr[0] "%(count)d сообщение успешно удалено"
|
||||
msgstr[1] "%(count)d сообщения успешно удалено"
|
||||
msgstr[2] "%(count)d сообщений успешно удалено"
|
||||
|
||||
#: extensions/amavis/views.py:191
|
||||
#: extensions/amavis/views.py:217
|
||||
msgid "Request sent"
|
||||
msgstr "Запрос послан"
|
||||
|
||||
#: extensions/amavis/views.py:197
|
||||
#: extensions/amavis/views.py:223
|
||||
msgid "Message released"
|
||||
msgstr "Сообщение деблокировано"
|
||||
|
||||
#: extensions/amavis/views.py:225
|
||||
#: extensions/amavis/views.py:250
|
||||
#, python-format
|
||||
msgid "%(count)d request sent"
|
||||
msgid_plural "%(count)d requests sent"
|
||||
@@ -1653,7 +1739,7 @@ msgstr[0] "%(count)d запрос послан"
|
||||
msgstr[1] "%(count)d запроса полано"
|
||||
msgstr[2] "%(count)d запросов послано"
|
||||
|
||||
#: extensions/amavis/views.py:246
|
||||
#: extensions/amavis/views.py:271
|
||||
#, python-format
|
||||
msgid "%(count)d message released successfully"
|
||||
msgid_plural "%(count)d messages released successfully"
|
||||
@@ -1661,6 +1747,23 @@ msgstr[0] "%(count)d сообщение успешно деблокирован
|
||||
msgstr[1] "%(count)d сообщения успешно деблокировано"
|
||||
msgstr[2] "%(count)d сообщений успешно деблокировано"
|
||||
|
||||
#: extensions/amavis/views.py:309
|
||||
#, fuzzy, python-format
|
||||
msgid "%(count)d message processed successfully"
|
||||
msgid_plural "%(count)d messages processed successfully"
|
||||
msgstr[0] "%(count)d сообщение успешно деблокировано"
|
||||
msgstr[1] "%(count)d сообщения успешно деблокировано"
|
||||
msgstr[2] "%(count)d сообщений успешно деблокировано"
|
||||
|
||||
#: extensions/amavis/views.py:341
|
||||
#, fuzzy
|
||||
msgid "Select a database"
|
||||
msgstr "Выберите файл"
|
||||
|
||||
#: extensions/amavis/views.py:345
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/management/commands/amnotify.py:61
|
||||
msgid "[modoboa] Pending release requests"
|
||||
msgstr "[modoboa] Заявки для включения в следующий релиз"
|
||||
@@ -1686,64 +1789,83 @@ msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:9
|
||||
msgid "Clean"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
msgid "Spam"
|
||||
msgstr "Спам"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
msgid "Virus"
|
||||
msgstr "Вирус"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
msgid "Bad Header"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
msgid "Bad MIME"
|
||||
msgstr "Ошибка MIME"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:14
|
||||
msgid "Banned"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:18
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:54
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:85
|
||||
msgid "Release"
|
||||
msgstr "Деблокировать"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:23
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:25
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:61
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:30
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:92
|
||||
#: extensions/webmail/templatetags/webmail_tags.py:32
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:44
|
||||
#, fuzzy
|
||||
msgid "Mark as spam"
|
||||
msgstr "Пометить сообщение"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:52
|
||||
msgid "Mark as non-spam"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
#: extensions/sievefilters/forms.py:64
|
||||
msgid "All messages"
|
||||
msgstr "Все сообщения"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:32
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:45
|
||||
msgid "Clean only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:47
|
||||
msgid "Spam only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:48
|
||||
msgid "Virus only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:49
|
||||
msgid "Bad Header only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:35
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:50
|
||||
msgid "Bad MIME only"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:36
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:51
|
||||
msgid "Banned only"
|
||||
msgstr ""
|
||||
|
||||
@@ -1794,7 +1916,7 @@ msgstr "Действуйте согласно этого сообщения"
|
||||
msgid "Please visit %(listingurl)s for a full listing."
|
||||
msgstr "Для просмотра листинга посетите %(listingurl)s"
|
||||
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:28
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:35
|
||||
msgid "View full headers"
|
||||
msgstr "Просмотр заголовков"
|
||||
|
||||
@@ -2221,7 +2343,7 @@ msgstr "Отправитель"
|
||||
msgid "Recipient"
|
||||
msgstr "Получатель"
|
||||
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:83
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:84
|
||||
msgid "Cc"
|
||||
msgstr "Копия"
|
||||
|
||||
@@ -2475,19 +2597,19 @@ msgstr "Неизвестный графический набор "
|
||||
msgid "Bad custom period"
|
||||
msgstr "Не верный выбор периода"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:33
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
msgid "Search a domain"
|
||||
msgstr "Искать домен"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:37
|
||||
#: extensions/stats/templates/stats/index.html:32
|
||||
msgid "Predefined time ranges"
|
||||
msgstr "Предопределенные временные диапазоны"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:44
|
||||
#: extensions/stats/templates/stats/index.html:39
|
||||
msgid "Custom time range"
|
||||
msgstr "Пользовательские временные диапазоны"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:57
|
||||
#: extensions/stats/templates/stats/index.html:52
|
||||
msgid "Apply"
|
||||
msgstr "Применить"
|
||||
|
||||
@@ -2644,7 +2766,7 @@ msgstr "Ответ сервера"
|
||||
msgid "Unknown action"
|
||||
msgstr "Неизвестное действие"
|
||||
|
||||
#: extensions/webmail/forms.py:84
|
||||
#: extensions/webmail/forms.py:85
|
||||
msgid "Cci"
|
||||
msgstr "Скрытая копия"
|
||||
|
||||
@@ -2853,15 +2975,15 @@ msgstr "Нет"
|
||||
msgid "Failed to update password: %s"
|
||||
msgstr "Ошибка обновления пароля: %s"
|
||||
|
||||
#: lib/permissions.py:20
|
||||
#: lib/permissions.py:19
|
||||
msgid "Simple user"
|
||||
msgstr "Обычный пользователь"
|
||||
|
||||
#: lib/permissions.py:22
|
||||
#: lib/permissions.py:21
|
||||
msgid "Super administrator"
|
||||
msgstr "Супер администратор"
|
||||
|
||||
#: lib/permissions.py:28
|
||||
#: lib/permissions.py:27
|
||||
msgid "Domain administrator"
|
||||
msgstr "Администратор домена"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:32+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:22+0100\n"
|
||||
"PO-Revision-Date: 2013-12-03 09:35+0000\n"
|
||||
"Last-Translator: Antoine Nguyen <tonio@ngyn.org>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/projects/p/modoboa/language/"
|
||||
@@ -43,33 +43,51 @@ msgstr ""
|
||||
msgid "No domain administrator defined"
|
||||
msgstr "Не указан администратор домена"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr "Не удаляйте каталог почтовых ящиков"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr "Деблокировать отмеченные?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr "Удалить отмеченные?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr "Деблокировать отмеченные?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr "Деблокировать отмеченные?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr "Деблокировать сообщение?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr "Удалить сообщение?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr "Просмотр всех заголовков"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr "Скрыть все заголовки"
|
||||
|
||||
@@ -98,7 +116,7 @@ msgstr "Активировать набор фильтров?"
|
||||
msgid "active"
|
||||
msgstr "активно"
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr "Найти домен"
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:28+0200\n"
|
||||
"POT-Creation-Date: 2014-11-04 11:51+0100\n"
|
||||
"PO-Revision-Date: 2013-09-27 08:19+0000\n"
|
||||
"Last-Translator: ogg1980 <olle@dalnix.se>\n"
|
||||
"Language-Team: Swedish (http://www.transifex.com/projects/p/modoboa/language/"
|
||||
@@ -21,8 +21,8 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: core/__init__.py:52 core/__init__.py:53
|
||||
#: extensions/admin/forms/account.py:326 extensions/admin/forms/domain.py:256
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:129
|
||||
#: extensions/admin/forms/account.py:327 extensions/admin/forms/domain.py:248
|
||||
#: extensions/admin/views/domain.py:97 extensions/admin/views/identity.py:133
|
||||
#: extensions/postfix_autoreply/app_settings.py:11
|
||||
#: extensions/postfix_relay_domains/forms.py:138
|
||||
#: extensions/sievefilters/app_settings.py:50
|
||||
@@ -288,8 +288,8 @@ msgstr "Ogiltig förfrågan"
|
||||
msgid "This field is required"
|
||||
msgstr "Detta fält är obligatoriskt"
|
||||
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:87
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:29
|
||||
#: core/app_settings.py:349 extensions/amavis/app_settings.py:157
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:41
|
||||
#: extensions/webmail/app_settings.py:73
|
||||
msgid "Display"
|
||||
msgstr "Visning"
|
||||
@@ -345,36 +345,36 @@ msgstr "Senaste inloggad"
|
||||
msgid "You can't delete your own account"
|
||||
msgstr "Du kan inte radera ditt eget konto"
|
||||
|
||||
#: core/models.py:117
|
||||
#: core/models.py:130
|
||||
msgid "Failed to update password: LDAP module not installed"
|
||||
msgstr "Misslyckades med att uppdatera lösenord: LDAP modul ej installerad"
|
||||
|
||||
#: core/models.py:170
|
||||
#: core/models.py:183
|
||||
msgid "account"
|
||||
msgstr "konto"
|
||||
|
||||
#: core/models.py:321 extensions/admin/models/domain.py:144
|
||||
#: core/models.py:334 extensions/admin/models/domain.py:144
|
||||
#: extensions/admin/models/domain_alias.py:39
|
||||
#: extensions/postfix_relay_domains/models.py:134
|
||||
#: extensions/postfix_relay_domains/models.py:190
|
||||
msgid "Invalid line"
|
||||
msgstr "Ogiltig rad"
|
||||
|
||||
#: core/models.py:325
|
||||
#: core/models.py:338
|
||||
msgid "You can't import an account with a role greater than yours"
|
||||
msgstr "Du kan inte importera konto med en roll större än din"
|
||||
|
||||
#: core/models.py:337
|
||||
#: core/models.py:350
|
||||
#, python-format
|
||||
msgid "The simple user '%s' must have a valid email address"
|
||||
msgstr "Den enkla användaren '%s' måste ha en gällande e-postadress"
|
||||
|
||||
#: core/models.py:341
|
||||
#: core/models.py:354
|
||||
#, python-format
|
||||
msgid "username and email fields must not differ for '%s'"
|
||||
msgstr "användarnamn och e-post fält får inte avvika för '%s'"
|
||||
|
||||
#: core/models.py:410 extensions/admin/models/alias.py:35
|
||||
#: core/models.py:423 extensions/admin/models/alias.py:35
|
||||
#: extensions/admin/models/domain.py:32
|
||||
#: extensions/admin/models/domain_alias.py:17
|
||||
#: extensions/postfix_autoreply/models.py:28
|
||||
@@ -383,29 +383,29 @@ msgstr "användarnamn och e-post fält får inte avvika för '%s'"
|
||||
msgid "enabled"
|
||||
msgstr "aktiverad"
|
||||
|
||||
#: core/models.py:411
|
||||
#: core/models.py:424
|
||||
msgid "Check to enable this extension"
|
||||
msgstr "Markera för att aktivera detta tillägg"
|
||||
|
||||
#: core/models.py:491
|
||||
#: core/models.py:504
|
||||
msgid "added"
|
||||
msgstr "tillagd"
|
||||
|
||||
#: core/models.py:494
|
||||
#: core/models.py:507
|
||||
msgid "modified"
|
||||
msgstr "ändrad"
|
||||
|
||||
#: core/models.py:496 core/models.py:521
|
||||
#: core/models.py:509 core/models.py:534
|
||||
#, python-format
|
||||
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
|
||||
msgstr "%(object)s '%(name)s' %(action)s av användare %(user)s"
|
||||
|
||||
#: core/models.py:523
|
||||
#: core/models.py:536
|
||||
msgid "deleted"
|
||||
msgstr "raderad"
|
||||
|
||||
#: core/tables.py:8 core/templates/core/information.html:8
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:187
|
||||
#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:179
|
||||
#: extensions/admin/templates/admin/domains_table.html:5
|
||||
#: extensions/admin/templates/admin/editdomainform.html:13
|
||||
#: extensions/admin/templates/admin/identities_table.html:5
|
||||
@@ -521,7 +521,7 @@ msgstr "Uppdatera personlig information"
|
||||
#: core/templates/core/user_profile.html:8
|
||||
#: extensions/admin/templates/admin/forward.html:8
|
||||
#: extensions/admin/views/alias.py:112 extensions/admin/views/domain.py:168
|
||||
#: extensions/admin/views/identity.py:200
|
||||
#: extensions/admin/views/identity.py:204
|
||||
#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
|
||||
#: extensions/postfix_relay_domains/views.py:66
|
||||
#: extensions/sievefilters/views.py:166 extensions/webmail/views.py:172
|
||||
@@ -648,7 +648,7 @@ msgstr "Vidarebefordra"
|
||||
msgid "Account import failed (%s): domain does not exist"
|
||||
msgstr "Konto import misslyckades (%s): domänen existerar inte"
|
||||
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:196
|
||||
#: extensions/admin/__init__.py:172 extensions/admin/forms/account.py:197
|
||||
#, python-format
|
||||
msgid "Mailbox %s already exists"
|
||||
msgstr "Brevlåda %s finns redan"
|
||||
@@ -658,6 +658,13 @@ msgstr "Brevlåda %s finns redan"
|
||||
msgid "Account import failed (%s): wrong quota value"
|
||||
msgstr "Konto import misslyckades (%s): domänen existerar inte"
|
||||
|
||||
#: extensions/admin/__init__.py:212 extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
#, fuzzy
|
||||
msgid "domain alias"
|
||||
msgstr "Domän alias"
|
||||
|
||||
#: extensions/admin/app_settings.py:13
|
||||
#: extensions/admin/templates/admin/editdomainform.html:25
|
||||
#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
|
||||
@@ -706,7 +713,7 @@ msgid "When a mailbox is removed, also remove the associated account"
|
||||
msgstr "När en brevlåda raderas, radera också tillhörande konto"
|
||||
|
||||
#: extensions/admin/app_settings.py:81 extensions/admin/forms/account.py:178
|
||||
#: extensions/admin/forms/domain.py:56
|
||||
#: extensions/admin/forms/domain.py:57
|
||||
msgid "Must be a positive integer"
|
||||
msgstr ""
|
||||
|
||||
@@ -754,7 +761,7 @@ msgstr "Du kan inte inaktivera ditt eget konto"
|
||||
msgid "E-mail"
|
||||
msgstr "E-post"
|
||||
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:17
|
||||
#: extensions/admin/forms/account.py:113 extensions/admin/forms/domain.py:18
|
||||
msgid "Quota"
|
||||
msgstr "Kvota"
|
||||
|
||||
@@ -768,7 +775,7 @@ msgstr ""
|
||||
"domänens förvalda. Lämna tomt för att definiera ett obegränsat värde (ej "
|
||||
"tillåtet för domänadministratörer)."
|
||||
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:26
|
||||
#: extensions/admin/forms/account.py:123 extensions/admin/forms/domain.py:27
|
||||
#: extensions/admin/templates/admin/domains_table.html:6
|
||||
#: extensions/postfix_relay_domains/forms.py:12
|
||||
msgid "Alias(es)"
|
||||
@@ -784,25 +791,25 @@ msgstr ""
|
||||
"lägga till ny rad. Använd '*' för att skapa ett 'catchall' alias (ex: "
|
||||
"*@domain.tld)."
|
||||
|
||||
#: extensions/admin/forms/account.py:187 extensions/admin/forms/account.py:217
|
||||
#: extensions/admin/forms/account.py:188 extensions/admin/forms/account.py:218
|
||||
#: extensions/admin/forms/alias.py:65
|
||||
msgid "Domain does not exist"
|
||||
msgstr "Domän existerar inte"
|
||||
|
||||
#: extensions/admin/forms/account.py:284
|
||||
#: extensions/admin/forms/account.py:285
|
||||
msgid "Domain(s)"
|
||||
msgstr "Domän(er)"
|
||||
|
||||
#: extensions/admin/forms/account.py:286
|
||||
#: extensions/admin/forms/account.py:287
|
||||
msgid "Domain(s) that user administrates"
|
||||
msgstr "Domän(er) användaren administrerar"
|
||||
|
||||
#: extensions/admin/forms/account.py:328
|
||||
#: extensions/admin/views/identity.py:132
|
||||
#: extensions/admin/forms/account.py:329
|
||||
#: extensions/admin/views/identity.py:136
|
||||
msgid "Mail"
|
||||
msgstr "Post"
|
||||
|
||||
#: extensions/admin/forms/account.py:330
|
||||
#: extensions/admin/forms/account.py:331
|
||||
msgid "Permissions"
|
||||
msgstr "Rättigheter"
|
||||
|
||||
@@ -852,14 +859,14 @@ msgstr "Mottagare %s finns redan"
|
||||
msgid "No recipient defined"
|
||||
msgstr "Ingen mottagare definierad"
|
||||
|
||||
#: extensions/admin/forms/domain.py:20
|
||||
#: extensions/admin/forms/domain.py:21
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Default quota in MB applied to mailboxes. Leave empty to use the default "
|
||||
"value."
|
||||
msgstr "Standard kvota i MB applicerad för brevlådor"
|
||||
|
||||
#: extensions/admin/forms/domain.py:29
|
||||
#: extensions/admin/forms/domain.py:30
|
||||
msgid ""
|
||||
"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
|
||||
"add a new input."
|
||||
@@ -867,36 +874,29 @@ msgstr ""
|
||||
"Alias för denna domän. Ange endast ett namn per rad, tryck ENTER för att "
|
||||
"lägga till en rad."
|
||||
|
||||
#: extensions/admin/forms/domain.py:75
|
||||
#: extensions/postfix_relay_domains/forms.py:50
|
||||
#: extensions/postfix_relay_domains/forms.py:70
|
||||
#, fuzzy
|
||||
msgid "domain alias"
|
||||
msgstr "Domän alias"
|
||||
|
||||
#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
|
||||
#: extensions/admin/forms/domain.py:78 extensions/admin/forms/domain.py:92
|
||||
#: extensions/postfix_relay_domains/forms.py:58
|
||||
#: extensions/postfix_relay_domains/forms.py:78
|
||||
#, fuzzy, python-format
|
||||
msgid "A %s with this name already exists"
|
||||
msgstr "Alias med detta namn existerar redan"
|
||||
|
||||
#: extensions/admin/forms/domain.py:92
|
||||
#: extensions/admin/forms/domain.py:89
|
||||
#: extensions/postfix_relay_domains/forms.py:49
|
||||
#: extensions/postfix_relay_domains/forms.py:71
|
||||
#, fuzzy
|
||||
msgid "domain"
|
||||
msgstr "Domäner"
|
||||
|
||||
#: extensions/admin/forms/domain.py:181
|
||||
#: extensions/admin/forms/domain.py:173
|
||||
msgid "Create a domain administrator"
|
||||
msgstr "Skapa en domän administratör"
|
||||
|
||||
#: extensions/admin/forms/domain.py:183
|
||||
#: extensions/admin/forms/domain.py:175
|
||||
msgid "Automatically create an administrator for this domain"
|
||||
msgstr "Skapa en domän administratör automatiskt för denna domän"
|
||||
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
#: extensions/admin/forms/domain.py:182
|
||||
msgid ""
|
||||
"The administrator's name. Don't include the domain's name here, it will be "
|
||||
"automatically appended."
|
||||
@@ -904,19 +904,19 @@ msgstr ""
|
||||
"Administratörens namn. Inkludera inte domänens namn här, den kommer att "
|
||||
"läggas till automatiskt."
|
||||
|
||||
#: extensions/admin/forms/domain.py:198
|
||||
#: extensions/admin/forms/domain.py:190
|
||||
msgid "Create aliases"
|
||||
msgstr "Skapa alias."
|
||||
|
||||
#: extensions/admin/forms/domain.py:200
|
||||
#: extensions/admin/forms/domain.py:192
|
||||
msgid "Automatically create standard aliases for this domain"
|
||||
msgstr "Skapa automatiskt standard alias för den här domänen"
|
||||
|
||||
#: extensions/admin/forms/domain.py:216
|
||||
#: extensions/admin/forms/domain.py:208
|
||||
msgid "Invalid format"
|
||||
msgstr "Ogiltigt format"
|
||||
|
||||
#: extensions/admin/forms/domain.py:230
|
||||
#: extensions/admin/forms/domain.py:222
|
||||
#, python-format
|
||||
msgid "User '%s' already exists"
|
||||
msgstr "Användare '%s' finns redan"
|
||||
@@ -953,7 +953,7 @@ msgstr ""
|
||||
"Du kan inte definiera en vidarebefordring till en lokal destination. Be din "
|
||||
"administratör att skapa ett alias istället."
|
||||
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:198
|
||||
#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:200
|
||||
msgid "Select a file"
|
||||
msgstr "Välj en fil"
|
||||
|
||||
@@ -973,7 +973,7 @@ msgstr "Krypterade lösenord"
|
||||
msgid "Check this option if passwords contained in your file are not crypted"
|
||||
msgstr "Markera det här alternativet om lösenord i filen inte är krypterad"
|
||||
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:62
|
||||
#: extensions/admin/models/alias.py:18 extensions/admin/models/mailbox.py:74
|
||||
msgid "address"
|
||||
msgstr "adress"
|
||||
|
||||
@@ -1072,21 +1072,21 @@ msgstr "Domän dit detta alias pekar mot"
|
||||
msgid "Unknown domain %s"
|
||||
msgstr "Okänt kommando %s"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:63
|
||||
#: extensions/admin/models/mailbox.py:75
|
||||
msgid "Mailbox address (without the @domain.tld part)"
|
||||
msgstr "Brevlåde adress (utan @domain.tld)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:125
|
||||
#: extensions/admin/models/mailbox.py:136
|
||||
#, python-format
|
||||
msgid "Failed to retrieve mailbox location (%s)"
|
||||
msgstr "Kunde inte hitta brevlådans sökväg (%s)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:194
|
||||
#: extensions/admin/models/mailbox.py:221
|
||||
#, python-format
|
||||
msgid "Quota is greater than the allowed domain's limit (%dM)"
|
||||
msgstr "Kvotan är större än domänens gräns (%dM)"
|
||||
|
||||
#: extensions/admin/models/mailbox.py:199
|
||||
#: extensions/admin/models/mailbox.py:227
|
||||
msgid "A quota is required"
|
||||
msgstr "En kvota krävs"
|
||||
|
||||
@@ -1159,7 +1159,7 @@ msgid "Importing..."
|
||||
msgstr "Importerar..."
|
||||
|
||||
#: extensions/admin/templates/admin/listing.html:14
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
#: extensions/stats/templates/stats/index.html:23
|
||||
msgid "Filter"
|
||||
msgstr "Filter"
|
||||
|
||||
@@ -1261,8 +1261,8 @@ msgid "Alias with this name already exists"
|
||||
msgstr "Alias med detta namn existerar redan"
|
||||
|
||||
#: extensions/admin/views/alias.py:50 extensions/admin/views/domain.py:102
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:133
|
||||
#: extensions/admin/views/identity.py:160
|
||||
#: extensions/admin/views/domain.py:131 extensions/admin/views/identity.py:137
|
||||
#: extensions/admin/views/identity.py:164
|
||||
#: extensions/postfix_relay_domains/views.py:34
|
||||
#: extensions/sievefilters/views.py:144 extensions/sievefilters/views.py:233
|
||||
#: extensions/webmail/views.py:153
|
||||
@@ -1305,7 +1305,7 @@ msgstr "Vidarebefodring ändrad"
|
||||
msgid "Alias modified"
|
||||
msgstr "Alias ändrat"
|
||||
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:130
|
||||
#: extensions/admin/views/domain.py:98 extensions/admin/views/identity.py:134
|
||||
msgid "Next"
|
||||
msgstr "Nästa"
|
||||
|
||||
@@ -1313,7 +1313,7 @@ msgstr "Nästa"
|
||||
msgid "Options"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:134
|
||||
#: extensions/admin/views/domain.py:103 extensions/admin/views/identity.py:138
|
||||
msgid "Previous"
|
||||
msgstr "Föregående"
|
||||
|
||||
@@ -1347,11 +1347,11 @@ msgstr "Exportera konton"
|
||||
msgid "Export domains"
|
||||
msgstr "Exportera domäner"
|
||||
|
||||
#: extensions/admin/views/identity.py:104
|
||||
#: extensions/admin/views/identity.py:227
|
||||
#: extensions/admin/views/identity.py:232 extensions/amavis/views.py:144
|
||||
#: extensions/amavis/views.py:148 extensions/amavis/views.py:181
|
||||
#: extensions/amavis/views.py:186 extensions/amavis/views.py:188
|
||||
#: extensions/admin/views/identity.py:108
|
||||
#: extensions/admin/views/identity.py:231
|
||||
#: extensions/admin/views/identity.py:236 extensions/amavis/views.py:172
|
||||
#: extensions/amavis/views.py:176 extensions/amavis/views.py:207
|
||||
#: extensions/amavis/views.py:212 extensions/amavis/views.py:214
|
||||
#: extensions/webmail/views.py:49 extensions/webmail/views.py:67
|
||||
#: extensions/webmail/views.py:81 extensions/webmail/views.py:99
|
||||
#: extensions/webmail/views.py:116 extensions/webmail/views.py:202
|
||||
@@ -1362,19 +1362,19 @@ msgstr "Exportera domäner"
|
||||
msgid "Invalid request"
|
||||
msgstr "Ogiltig förfrågan"
|
||||
|
||||
#: extensions/admin/views/identity.py:151
|
||||
#: extensions/admin/views/identity.py:155
|
||||
msgid "Account created"
|
||||
msgstr "Konto skapat"
|
||||
|
||||
#: extensions/admin/views/identity.py:157
|
||||
#: extensions/admin/views/identity.py:161
|
||||
msgid "New account"
|
||||
msgstr "Nytt konto"
|
||||
|
||||
#: extensions/admin/views/identity.py:193
|
||||
#: extensions/admin/views/identity.py:197
|
||||
msgid "Account updated"
|
||||
msgstr "Konto uppdaterat"
|
||||
|
||||
#: extensions/admin/views/identity.py:217
|
||||
#: extensions/admin/views/identity.py:221
|
||||
msgid "Account deleted"
|
||||
msgid_plural "Accounts deleted"
|
||||
msgstr[0] "Konto raderat"
|
||||
@@ -1457,124 +1457,211 @@ msgstr "Vidarebefordring uppdaterad"
|
||||
msgid "Simple amavis management frontend"
|
||||
msgstr "Enkel amavis hantering frontend"
|
||||
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:18
|
||||
#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:20
|
||||
msgid "Quarantine"
|
||||
msgstr "Karantän"
|
||||
|
||||
#: extensions/amavis/app_settings.py:11
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
msgid "Quarantine settings"
|
||||
msgstr "Karantän inställningar"
|
||||
|
||||
#: extensions/amavis/app_settings.py:14
|
||||
#: extensions/amavis/app_settings.py:17
|
||||
msgid "Maximum message age"
|
||||
msgstr "Maximal meddelandeålder"
|
||||
|
||||
#: extensions/amavis/app_settings.py:16
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
msgid "Quarantine messages maximum age (in days) before deletion"
|
||||
msgstr "Maximalt antal dagar meddelanden behålls i karantän innan radering"
|
||||
|
||||
#: extensions/amavis/app_settings.py:19
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
msgid "Messages releasing"
|
||||
msgstr "Meddelanden frisläppta"
|
||||
|
||||
#: extensions/amavis/app_settings.py:22
|
||||
#: extensions/amavis/app_settings.py:25
|
||||
msgid "Remove released messages"
|
||||
msgstr "Radera frisläppta meddelanden"
|
||||
|
||||
#: extensions/amavis/app_settings.py:24
|
||||
#: extensions/amavis/app_settings.py:27
|
||||
msgid "Remove messages marked as released while cleaning up the database"
|
||||
msgstr "Ta bort meddelanden markerade som släppta när vi städar databasen"
|
||||
|
||||
#: extensions/amavis/app_settings.py:28
|
||||
#: extensions/amavis/app_settings.py:32
|
||||
msgid "Amavis connection mode"
|
||||
msgstr "Amavis anslutningsläge"
|
||||
|
||||
#: extensions/amavis/app_settings.py:31
|
||||
#: extensions/amavis/app_settings.py:35
|
||||
msgid "Mode used to access the PDP server"
|
||||
msgstr "Läge som används för att komma åt PDP-servern"
|
||||
|
||||
#: extensions/amavis/app_settings.py:36
|
||||
#: extensions/amavis/app_settings.py:40
|
||||
msgid "PDP server address"
|
||||
msgstr "PDP server adress"
|
||||
|
||||
#: extensions/amavis/app_settings.py:38
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
msgid "PDP server address (if inet mode)"
|
||||
msgstr "PDP-server adress (om inet läge)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:42
|
||||
#: extensions/amavis/app_settings.py:46
|
||||
msgid "PDP server port"
|
||||
msgstr "PDP server port"
|
||||
|
||||
#: extensions/amavis/app_settings.py:44
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
msgid "PDP server port (if inet mode)"
|
||||
msgstr "PDP serverport (om inet läge)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:48
|
||||
#: extensions/amavis/app_settings.py:52
|
||||
msgid "PDP server socket"
|
||||
msgstr "PDP server socket"
|
||||
|
||||
#: extensions/amavis/app_settings.py:50
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
msgid "Path to the PDP server socket (if unix mode)"
|
||||
msgstr "Sökväg till PDP-servern uttaget (om Unix-läge)"
|
||||
|
||||
#: extensions/amavis/app_settings.py:54
|
||||
#: extensions/amavis/app_settings.py:58
|
||||
msgid "Check requests interval"
|
||||
msgstr "Intervall kontroll begäran"
|
||||
|
||||
#: extensions/amavis/app_settings.py:56
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
msgid "Interval between two release requests checks"
|
||||
msgstr "Intervall mellan frisläppskontroller"
|
||||
|
||||
#: extensions/amavis/app_settings.py:60
|
||||
#: extensions/amavis/app_settings.py:64
|
||||
msgid "Allow direct release"
|
||||
msgstr "Möjliggör direkt frisläpp"
|
||||
|
||||
#: extensions/amavis/app_settings.py:62
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
msgid "Allow users to directly release their messages"
|
||||
msgstr "Tillåt användare att frisläppa sina meddelanden"
|
||||
|
||||
#: extensions/amavis/app_settings.py:66
|
||||
#: extensions/amavis/app_settings.py:70
|
||||
msgid "Enable self-service mode"
|
||||
msgstr "Aktivera \"själv-service\" läge"
|
||||
|
||||
#: extensions/amavis/app_settings.py:68
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
msgid "Activate the 'self-service' mode"
|
||||
msgstr "Aktivera \"själv-service\" läge"
|
||||
|
||||
#: extensions/amavis/app_settings.py:72
|
||||
#: extensions/amavis/app_settings.py:76
|
||||
msgid "Notifications sender"
|
||||
msgstr "Notifierings avsändare"
|
||||
|
||||
#: extensions/amavis/app_settings.py:74
|
||||
#: extensions/amavis/app_settings.py:78
|
||||
msgid "The e-mail address used to send notitications"
|
||||
msgstr "E-postadress att använda för att skicka notifikationer"
|
||||
|
||||
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
|
||||
#: extensions/amavis/app_settings.py:81
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:28
|
||||
msgid "Manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:84
|
||||
msgid "Enable manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:87
|
||||
msgid "Allow super administrators to manually train Spamassassin"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
msgid "Is Spamassassin local?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:95
|
||||
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:100
|
||||
#, fuzzy
|
||||
msgid "Default user"
|
||||
msgstr "Standard editor"
|
||||
|
||||
#: extensions/amavis/app_settings.py:103
|
||||
msgid "Name of the user owning the default bayesian database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:108
|
||||
#, fuzzy
|
||||
msgid "Spamd address"
|
||||
msgstr "Från adress"
|
||||
|
||||
#: extensions/amavis/app_settings.py:110
|
||||
msgid "The IP address where spamd can be reached"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:114
|
||||
#, fuzzy
|
||||
msgid "Spamd port"
|
||||
msgstr "Skräp"
|
||||
|
||||
#: extensions/amavis/app_settings.py:116
|
||||
msgid "The TCP port spamd is listening on"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:120
|
||||
msgid "Enable per-domain manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:123
|
||||
msgid ""
|
||||
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
||||
"domain databases)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:129
|
||||
msgid "Enable per-user manual learning"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:132
|
||||
msgid ""
|
||||
"Allow simple users to personally train Spamassassin (within a dedicated "
|
||||
"database)"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/app_settings.py:161 extensions/webmail/app_settings.py:91
|
||||
msgid "Number of displayed emails per page"
|
||||
msgstr "Antalet visade e-postmeddelanden per sida"
|
||||
|
||||
#: extensions/amavis/app_settings.py:92
|
||||
#: extensions/amavis/app_settings.py:162
|
||||
msgid "Set the maximum number of messages displayed in a page"
|
||||
msgstr "Anger det maximala antalet meddelanden som visas på en sida"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:82
|
||||
#: extensions/amavis/forms.py:83
|
||||
msgid "Global database"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/forms.py:89
|
||||
#, fuzzy
|
||||
msgid "Domain's database"
|
||||
msgstr "Domän alias"
|
||||
|
||||
#: extensions/amavis/forms.py:91
|
||||
#, fuzzy
|
||||
msgid "User's database"
|
||||
msgstr "Sök bas"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:136
|
||||
msgid "pending requests"
|
||||
msgstr "väntande förfrågningar"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:125
|
||||
#: extensions/amavis/general_callbacks.py:179
|
||||
#, fuzzy
|
||||
msgid "Pending requests"
|
||||
msgstr "väntande förfrågningar"
|
||||
|
||||
#: extensions/amavis/general_callbacks.py:135
|
||||
#: extensions/amavis/general_callbacks.py:189
|
||||
msgid "Content filter"
|
||||
msgstr "Innehålls filter"
|
||||
|
||||
#: extensions/amavis/lib.py:56
|
||||
#: extensions/amavis/lib.py:62
|
||||
#, python-format
|
||||
msgid "Connection to amavis failed: %s"
|
||||
msgstr "Anslutning till amavis misslyckades: %s"
|
||||
|
||||
#: extensions/amavis/lib.py:131
|
||||
#, fuzzy
|
||||
msgid "No recipient found"
|
||||
msgstr "Ingen mottagare definierad"
|
||||
|
||||
#: extensions/amavis/models.py:93
|
||||
msgid "Virus filter"
|
||||
msgstr "Virus filter"
|
||||
@@ -1638,8 +1725,8 @@ msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/sql_listing.py:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:75
|
||||
#: extensions/webmail/forms.py:82
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:106
|
||||
#: extensions/webmail/forms.py:83
|
||||
msgid "To"
|
||||
msgstr "Till"
|
||||
|
||||
@@ -1650,49 +1737,65 @@ msgid "From"
|
||||
msgstr "Från"
|
||||
|
||||
#: extensions/amavis/sql_listing.py:40 extensions/sievefilters/forms.py:77
|
||||
#: extensions/webmail/forms.py:86 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/forms.py:87 extensions/webmail/lib/imapemail.py:288
|
||||
#: extensions/webmail/lib/listing.py:27 extensions/webmail/lib/tables.py:26
|
||||
#: templates/common/email_searchbar.html:6
|
||||
msgid "Subject"
|
||||
msgstr "Ämne"
|
||||
|
||||
#: extensions/amavis/views.py:27
|
||||
#: extensions/amavis/views.py:31
|
||||
msgid "Empty quarantine"
|
||||
msgstr "Karantän tom"
|
||||
|
||||
#: extensions/amavis/views.py:149
|
||||
#: extensions/amavis/views.py:177
|
||||
msgid "Message deleted"
|
||||
msgstr "Meddelande raderat"
|
||||
|
||||
#: extensions/amavis/views.py:168
|
||||
#: extensions/amavis/views.py:194
|
||||
#, python-format
|
||||
msgid "%(count)d message deleted successfully"
|
||||
msgid_plural "%(count)d messages deleted successfully"
|
||||
msgstr[0] "%(count)d meddelande raderadat"
|
||||
msgstr[1] "%(count)d meddelanden raderade"
|
||||
|
||||
#: extensions/amavis/views.py:191
|
||||
#: extensions/amavis/views.py:217
|
||||
msgid "Request sent"
|
||||
msgstr "Begäran skickad"
|
||||
|
||||
#: extensions/amavis/views.py:197
|
||||
#: extensions/amavis/views.py:223
|
||||
msgid "Message released"
|
||||
msgstr "Meddelande släppt"
|
||||
|
||||
#: extensions/amavis/views.py:225
|
||||
#: extensions/amavis/views.py:250
|
||||
#, python-format
|
||||
msgid "%(count)d request sent"
|
||||
msgid_plural "%(count)d requests sent"
|
||||
msgstr[0] "%(count)d förfrågning skickad"
|
||||
msgstr[1] "%(count)d förfrågningar skickadade"
|
||||
|
||||
#: extensions/amavis/views.py:246
|
||||
#: extensions/amavis/views.py:271
|
||||
#, python-format
|
||||
msgid "%(count)d message released successfully"
|
||||
msgid_plural "%(count)d messages released successfully"
|
||||
msgstr[0] "%(count)d meddelande frisläppt"
|
||||
msgstr[1] "%(count)d meddelanden frisläppta"
|
||||
|
||||
#: extensions/amavis/views.py:309
|
||||
#, fuzzy, python-format
|
||||
msgid "%(count)d message processed successfully"
|
||||
msgid_plural "%(count)d messages processed successfully"
|
||||
msgstr[0] "%(count)d meddelande frisläppt"
|
||||
msgstr[1] "%(count)d meddelanden frisläppta"
|
||||
|
||||
#: extensions/amavis/views.py:341
|
||||
#, fuzzy
|
||||
msgid "Select a database"
|
||||
msgstr "Välj en fil"
|
||||
|
||||
#: extensions/amavis/views.py:345
|
||||
msgid "Validate"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/management/commands/amnotify.py:61
|
||||
msgid "[modoboa] Pending release requests"
|
||||
msgstr "[modoboa] Väntande release förfrågningar"
|
||||
@@ -1719,70 +1822,90 @@ msgid "Select"
|
||||
msgstr "Välj en fil"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:9
|
||||
msgid "Clean"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
msgid "Spam"
|
||||
msgstr "Skräp"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:10
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
msgid "Virus"
|
||||
msgstr "Virus"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:11
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#, fuzzy
|
||||
msgid "Bad Header"
|
||||
msgstr "Dålig rubrik"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:12
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
msgid "Bad MIME"
|
||||
msgstr "Dålig MIME"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:13
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:14
|
||||
#, fuzzy
|
||||
msgid "Banned"
|
||||
msgstr "Förbjudna filter"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:18
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:54
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:19
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:85
|
||||
msgid "Release"
|
||||
msgstr "Släpp"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:23
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:25
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:61
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:24
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:30
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:92
|
||||
#: extensions/webmail/templatetags/webmail_tags.py:32
|
||||
msgid "Delete"
|
||||
msgstr "Radera"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:44
|
||||
#, fuzzy
|
||||
msgid "Mark as spam"
|
||||
msgstr "Markera meddelande"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:52
|
||||
msgid "Mark as non-spam"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
#: extensions/sievefilters/forms.py:64
|
||||
msgid "All messages"
|
||||
msgstr "Alla meddelanden"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:31
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:43
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:32
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:45
|
||||
#, fuzzy
|
||||
msgid "Clean only"
|
||||
msgstr "Förbjudna filter"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:47
|
||||
#, fuzzy
|
||||
msgid "Spam only"
|
||||
msgstr "Skräp"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:33
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:48
|
||||
#, fuzzy
|
||||
msgid "Virus only"
|
||||
msgstr "Virus"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:34
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:49
|
||||
#, fuzzy
|
||||
msgid "Bad Header only"
|
||||
msgstr "Dålig rubrik"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:35
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:50
|
||||
#, fuzzy
|
||||
msgid "Bad MIME only"
|
||||
msgstr "Dålig MIME"
|
||||
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:36
|
||||
#: extensions/amavis/templates/amavis/main_action_bar.html:51
|
||||
#, fuzzy
|
||||
msgid "Banned only"
|
||||
msgstr "Förbjudna filter"
|
||||
@@ -1831,7 +1954,7 @@ msgstr "Agera på detta meddelande:"
|
||||
msgid "Please visit %(listingurl)s for a full listing."
|
||||
msgstr "Besök %(listingurl)s för full lista."
|
||||
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:28
|
||||
#: extensions/amavis/templatetags/amavis_tags.py:35
|
||||
msgid "View full headers"
|
||||
msgstr "Visa meddelandehuvuden"
|
||||
|
||||
@@ -2278,7 +2401,7 @@ msgstr "Avsändare"
|
||||
msgid "Recipient"
|
||||
msgstr "Mottagare"
|
||||
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:83
|
||||
#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:84
|
||||
msgid "Cc"
|
||||
msgstr "Cc"
|
||||
|
||||
@@ -2536,19 +2659,19 @@ msgstr "Okänt grafisk uppsättning"
|
||||
msgid "Bad custom period"
|
||||
msgstr "Ogiltig anpassad tid"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:33
|
||||
#: extensions/stats/templates/stats/index.html:28
|
||||
msgid "Search a domain"
|
||||
msgstr "Sök en domän"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:37
|
||||
#: extensions/stats/templates/stats/index.html:32
|
||||
msgid "Predefined time ranges"
|
||||
msgstr "Fördefinierade tidsområden"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:44
|
||||
#: extensions/stats/templates/stats/index.html:39
|
||||
msgid "Custom time range"
|
||||
msgstr "Anpassat tidsintervall"
|
||||
|
||||
#: extensions/stats/templates/stats/index.html:57
|
||||
#: extensions/stats/templates/stats/index.html:52
|
||||
msgid "Apply"
|
||||
msgstr "Applicera"
|
||||
|
||||
@@ -2705,7 +2828,7 @@ msgstr "Server svar"
|
||||
msgid "Unknown action"
|
||||
msgstr "Okänd åtgärd"
|
||||
|
||||
#: extensions/webmail/forms.py:84
|
||||
#: extensions/webmail/forms.py:85
|
||||
msgid "Cci"
|
||||
msgstr "BCC"
|
||||
|
||||
@@ -2912,15 +3035,15 @@ msgstr "Nej"
|
||||
msgid "Failed to update password: %s"
|
||||
msgstr "Misslyckades med att uppdatera lösenord: %s"
|
||||
|
||||
#: lib/permissions.py:20
|
||||
#: lib/permissions.py:19
|
||||
msgid "Simple user"
|
||||
msgstr "Enkel användare"
|
||||
|
||||
#: lib/permissions.py:22
|
||||
#: lib/permissions.py:21
|
||||
msgid "Super administrator"
|
||||
msgstr "Super administratör"
|
||||
|
||||
#: lib/permissions.py:28
|
||||
#: lib/permissions.py:27
|
||||
msgid "Domain administrator"
|
||||
msgstr "Domän administratör"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Modoboa\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-08-24 12:32+0200\n"
|
||||
"POT-Creation-Date: 2014-10-29 20:22+0100\n"
|
||||
"PO-Revision-Date: 2013-05-23 08:22+0000\n"
|
||||
"Last-Translator: ogg1980 <olle@dalnix.se>\n"
|
||||
"Language-Team: Swedish (http://www.transifex.com/projects/p/modoboa/language/"
|
||||
@@ -43,33 +43,51 @@ msgstr ""
|
||||
msgid "No domain administrator defined"
|
||||
msgstr "Ingen domänadministratör definierad"
|
||||
|
||||
#: extensions/admin/static/admin/js/admin.js:291
|
||||
#: extensions/admin/static/admin/js/admin.js:292
|
||||
msgid "Do not delete mailbox directory"
|
||||
msgstr "Radera inte brevlådans katalog"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:180
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:211
|
||||
msgid "Release this selection?"
|
||||
msgstr "Släpp markerat urval?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:184
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:215
|
||||
msgid "Delete this selection?"
|
||||
msgstr "Radera markerat urval?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:203
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:255
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as spam?"
|
||||
msgstr "Släpp markerat urval?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:270
|
||||
#, fuzzy
|
||||
msgid "Mark this selection as non-spam?"
|
||||
msgstr "Släpp markerat urval?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:295
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:17
|
||||
msgid "Release this message?"
|
||||
msgstr "Släpp detta meddelande?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:207
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:299
|
||||
#: extensions/amavis/static/amavis/js/selfservice.js:21
|
||||
msgid "Delete this message?"
|
||||
msgstr "Radera detta meddelande?"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:224
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:314
|
||||
msgid "Mark as spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:330
|
||||
msgid "Mark as non-spam?"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:348
|
||||
msgid "View full headers"
|
||||
msgstr "Visa meddelandehuvud"
|
||||
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:229
|
||||
#: extensions/amavis/static/amavis/js/quarantine.js:353
|
||||
msgid "Hide full headers"
|
||||
msgstr "Göm meddelandehuvud"
|
||||
|
||||
@@ -98,7 +116,7 @@ msgstr "Aktivera filteruppsättning?"
|
||||
msgid "active"
|
||||
msgstr "aktivera"
|
||||
|
||||
#: extensions/stats/static/stats/js/stats.js:37
|
||||
#: extensions/stats/static/stats/js/stats.js:38
|
||||
msgid "Search a domain"
|
||||
msgstr "Sök domän"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user