diff --git a/README.rst b/README.rst
index c9631545a..add7e40b2 100644
--- a/README.rst
+++ b/README.rst
@@ -1,6 +1,6 @@
-#######
-Modoboa
-#######
+################################
+`Modoboa `_
+################################
|travis| |latest-version| |downloads|
@@ -40,14 +40,6 @@ Documentation
A detailled `documentation `_ will help you
to install, use or extend Modoboa.
-******
-Issues
-******
-
-Modoboa is currently using redmine for project management and issues
-tracking. Report issues and/or ask for enhancements on
-`dev.modoboa.org `_.
-
*************
External code
*************
diff --git a/doc/getting_started/plugins.rst b/doc/getting_started/plugins.rst
index 1bc6c2def..2b47858e7 100644
--- a/doc/getting_started/plugins.rst
+++ b/doc/getting_started/plugins.rst
@@ -36,16 +36,27 @@ the *Modoboa > Parameters > Limits* page.
Postfix relay domains support
*****************************
-This plugin adds the support for relay domains using postfix. This
-feature is useful when the MTA managed by Modoboa is not the final
-destination of one or many domains.
+This plugin adds the support for relay domains using postfix. You can
+use it when the MTA managed by Modoboa is not the final destination of
+one or several domains.
-If activated, two new objects will be available from the *domains*
+If activated, two new objects will be available from the *Domains*
listing page: *relay domain* and *relay domain alias*.
-This extension is compatible with the *amavis* and *limits*
+The extension is compatible with the *amavis* and *limits*
ones. Resellers will be able to create both new objects.
+To tell Postfix this feature exists, you must generate two new map
+files and then update your configuration.
+
+To generate the map files, run the following command::
+
+ $ modoboa-admin.py postfix_maps --categories relaydomains --dbtype
+
+Replace values between ``<>`` by yours.
+
+Edit the :file:`/etc/postfix/main.cf` file.
+
.. _amavis_frontend:
********************
diff --git a/doc/getting_started/upgrade.rst b/doc/getting_started/upgrade.rst
index 0e968d949..013e9fb56 100644
--- a/doc/getting_started/upgrade.rst
+++ b/doc/getting_started/upgrade.rst
@@ -53,8 +53,6 @@ Finally, follow the common procedure::
1.1.0: FIXME
============
-#. Add ``'modoboa.extensions.postfix_relay_domains'`` to ``MODOBOA_APPS``
-
Due to code refactoring, some modifications need to be done into
:file:`settings.py`:
@@ -74,6 +72,8 @@ Due to code refactoring, some modifications need to be done into
'modoboa.extensions.sievefilters',
)
+#. Add ``'modoboa.extensions.postfix_relay_domains'`` to ``MODOBOA_APPS``
+
#. ``AUTH_USER_MODEL`` must be set to ``core.User``
#. Into ``LOGGING``, replace ``modoboa.lib.logutils.SQLHandler`` by
@@ -85,6 +85,8 @@ Then, run the following commands to migrate your installation::
$ python manage.py migrate
$ python manage.py collectstatic
+Finally, update both :ref:`Dovecot ` and
+:ref:`Postfix ` queries.
1.0.1: operations on mailboxes
==============================
diff --git a/doc/integration/imap_and_smtp.rst b/doc/integration/imap_and_smtp.rst
index 0eef997d5..5c66009fa 100644
--- a/doc/integration/imap_and_smtp.rst
+++ b/doc/integration/imap_and_smtp.rst
@@ -89,6 +89,7 @@ And add the following line inside::
The result of each order is recorded into Modoboa's log. Go to
*Modoboa > Logs* to consult them.
+.. _dovecot_authentication:
Authentication
==============
diff --git a/modoboa/core/__init__.py b/modoboa/core/__init__.py
index db00fdef5..ec4208b38 100644
--- a/modoboa/core/__init__.py
+++ b/modoboa/core/__init__.py
@@ -37,7 +37,7 @@ base_events = [
"GetExtraParameters",
"ExtraFormFields",
- "SaveExtraFormFields"
+ "SaveExtraFormFields",
]
diff --git a/modoboa/core/app_settings.py b/modoboa/core/app_settings.py
index 6ed5b9178..006509811 100644
--- a/modoboa/core/app_settings.py
+++ b/modoboa/core/app_settings.py
@@ -322,6 +322,7 @@ class UserSettings(parameters.UserParametersForm):
choices=[("cs", "čeština"), ("de", "deutsch"),
("en", "english"), ("es", "español"),
("fr", "français"), ("it", "italiano"),
- ("pt", "português"), ("sv", "svenska")],
+ ("pt", "português"), ("ru", "русский"),
+ ("sv", "svenska")],
help_text=ugettext_lazy("Prefered language to display pages")
)
diff --git a/modoboa/core/commands/postfix_maps.py b/modoboa/core/commands/postfix_maps.py
index 021ceae9b..c9c0ca184 100644
--- a/modoboa/core/commands/postfix_maps.py
+++ b/modoboa/core/commands/postfix_maps.py
@@ -26,6 +26,43 @@ query = {{ query|safe }}
if not self.tpl_context['dbhost']:
self.tpl_context['dbhost'] = '127.0.0.1'
+ def __render_map(self, args, mapobject):
+ """Render a map file.
+
+ :param args: command line arguments
+ :param mapobject: a ``MapFile`` subclass
+ """
+ content = self.template.render(
+ Context(dict(
+ self.tpl_context.items(),
+ query=getattr(mapobject, args.dbtype)
+ ))
+ )
+ with open("%s/%s" % (args.destdir, mapobject.filename), "w") as fp:
+ print >> fp, """# This file was generated on %s by running:
+# %s %s
+# DO NOT EDIT!
+""" % (datetime.datetime.now().isoformat(),
+ os.path.basename(sys.argv[0]),
+ ' '.join(sys.argv[1:]))
+ print >> fp, content
+
+ def __render_std_maps(self, args):
+ """Render standard map files.
+
+ (ie. the ones belonging to the 'std' category)
+
+ :param args: command line arguments
+ """
+ for v in globals().values():
+ if not inspect.isclass(v) or not issubclass(v, MapFile):
+ continue
+ if v is MapFile:
+ continue
+ if not v.category in args.categories:
+ continue
+ self.__render_map(args, v)
+
def render(self, args):
"""Render all map files.
@@ -35,26 +72,7 @@ query = {{ query|safe }}
os.mkdir(args.destdir)
except OSError:
pass
-
- for v in globals().values():
- if not inspect.isclass(v) or not issubclass(v, MapFile):
- continue
- if v is MapFile:
- continue
- if not v.category in args.categories:
- continue
- content = self.template.render(
- Context(dict(self.tpl_context.items(),
- query=getattr(v, args.dbtype)))
- )
- with open("%s/%s" % (args.destdir, v.filename), "w") as fp:
- print >> fp, """# This file was generated on %s by running:
-# %s %s
-# DO NOT EDIT!
-""" % (datetime.datetime.now().isoformat(),
- os.path.basename(sys.argv[0]),
- ' '.join(sys.argv[1:]))
- print >> fp, content
+ self.__render_std_maps(args)
class SQLiteMapFilesGenerator(MapFilesGenerator):
@@ -88,9 +106,9 @@ class DomainsAliasesMap(MapFile):
class MailboxesMap(MapFile):
filename = 'sql-mailboxes.cf'
- mysql = "SELECT 1 FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN admin_user user ON mb.user_id=user.id WHERE dom.enabled=1 AND dom.name='%d' AND user.is_active=1 AND mb.address='%u'"
- postgres = "SELECT 1 FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN admin_user u ON mb.user_id=u.id WHERE dom.enabled AND dom.name='%d' AND u.is_active AND mb.address='%u'"
- sqlite = "SELECT 1 FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN admin_user user ON mb.user_id=user.id WHERE dom.enabled=1 AND dom.name='%d' AND user.is_active=1 AND mb.address='%u'"
+ mysql = "SELECT 1 FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN core_user user ON mb.user_id=user.id WHERE dom.enabled=1 AND dom.name='%d' AND user.is_active=1 AND mb.address='%u'"
+ postgres = "SELECT 1 FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN core_user u ON mb.user_id=u.id WHERE dom.enabled AND dom.name='%d' AND u.is_active AND mb.address='%u'"
+ sqlite = "SELECT 1 FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id INNER JOIN core_user user ON mb.user_id=user.id WHERE dom.enabled=1 AND dom.name='%d' AND user.is_active=1 AND mb.address='%u'"
class AliasesMap(MapFile):
@@ -137,6 +155,22 @@ class AutoRepliesMap(MapFile):
sqlite = "SELECT full_address, autoreply_address FROM postfix_autoreply_alias WHERE full_address='%s'"
+class RelayDomainsTransportMap(MapFile):
+ category = "relaydomains"
+ filename = "sql-relaydomains-transport.cf"
+ mysql = "SELECT CONCAT(srv.name, ':') FROM postfix_relaydomains_service AS srv INNER JOIN postfix_relaydomains_relaydomain AS rdom ON rdom.service_id=srv.id WHERE rdom.enabled=1 AND rdom.name='%s'"
+ postgres = "SELECT srv.name || ':' FROM postfix_relaydomains_service AS srv INNER JOIN postfix_relaydomains_relaydomain AS rdom ON rdom.service_id=srv.id WHERE rdom.enabled AND rdom.name='%s'"
+ sqlite = "SELECT srv.name || ':' FROM postfix_relaydomains_service AS srv INNER JOIN postfix_relaydomains_relaydomain AS rdom ON rdom.service_id=srv.id WHERE rdom.enabled=1 AND rdom.name='%s'"
+
+
+class RelayDomainAliasesTransportMap(MapFile):
+ category = "relaydomains"
+ filename = "sql-relaydomain-aliases-transport.cf"
+ mysql = "SELECT CONCAT(srv.name, ':') FROM postfix_relaydomains_service AS srv INNER JOIN postfix_relaydomains_relaydomain AS rdom ON rdom.service_id=srv.id INNER JOIN postfix_relaydomains_relaydomainalias AS rdomalias ON rdom.id=rdomalias.target_id WHERE rdom.enabled=1 AND rdomalias.enabled=1 AND rdomalias.name='%s'"
+ postgres = "SELECT srv.name || ':' FROM postfix_relaydomains_service AS srv INNER JOIN postfix_relaydomains_relaydomain AS rdom ON rdom.service_id=srv.id INNER JOIN postfix_relaydomains_relaydomainalias AS rdomalias ON rdom.id=rdomalias.target_id WHERE rdom.enabled AND rdomalias.enabled AND rdomalias.name='%s'"
+ sqlite = "SELECT srv.name || ':' FROM postfix_relaydomains_service AS srv INNER JOIN postfix_relaydomains_relaydomain AS rdom ON rdom.service_id=srv.id INNER JOIN postfix_relaydomains_relaydomainalias AS rdomalias ON rdom.id=rdomalias.target_id WHERE rdom.enabled=1 AND rdomalias.enabled=1 AND rdomalias.name='%s'"
+
+
class PostfixMapsCommand(Command):
help = "Generate ready-to-use postfix map files"
diff --git a/modoboa/core/password_hashers/base.py b/modoboa/core/password_hashers/base.py
index f264fd2d2..156a35616 100644
--- a/modoboa/core/password_hashers/base.py
+++ b/modoboa/core/password_hashers/base.py
@@ -55,7 +55,7 @@ class PasswordHasher(object):
:return: True if passwords match, False otherwise
"""
return constant_time_compare(
- self._encrypt(clearvalue, hashed_value),
+ self._b64encode(self._encrypt(clearvalue, hashed_value)),
hashed_value
)
diff --git a/modoboa/extensions/admin/app_settings.py b/modoboa/extensions/admin/app_settings.py
index 0ab9f3106..377ce5ebb 100644
--- a/modoboa/extensions/admin/app_settings.py
+++ b/modoboa/extensions/admin/app_settings.py
@@ -22,10 +22,20 @@ class AdminParametersForm(parameters.AdminParametersForm):
help_text=ugettext_lazy("The UNIX account who owns mailboxes on the filesystem")
)
+ default_domain_quota = forms.IntegerField(
+ label=ugettext_lazy("Default domain quota"),
+ initial=0,
+ help_text=ugettext_lazy(
+ "Default quota (in MB) applied to freshly created domains with no "
+ "value specified. A value of 0 means no quota."
+ ),
+ widget=forms.TextInput(attrs={'class': 'span2'})
+ )
+
auto_account_removal = YesNoField(
label=ugettext_lazy("Automatic account removal"),
initial="no",
- help_text=ugettext_lazy("When a mailbox is removed, also remove the associated account"),
+ help_text=ugettext_lazy("When a mailbox is removed, also remove the associated account")
)
# Visibility rules
@@ -36,13 +46,26 @@ class AdminParametersForm(parameters.AdminParametersForm):
def __init__(self, *args, **kwargs):
super(AdminParametersForm, self).__init__(*args, **kwargs)
hide_fields = False
- try:
- code, version = exec_cmd("dovecot --version")
- except OSError:
- hide_fields = True
- else:
- if code or not version.strip().startswith("2"):
+ code, output = exec_cmd("which dovecot")
+ if not code:
+ dpath = output.strip()
+ try:
+ code, version = exec_cmd("%s --version" % dpath)
+ except OSError:
hide_fields = True
+ else:
+ if code or not version.strip().startswith("2"):
+ hide_fields = True
+ else:
+ hide_fields = True
if hide_fields:
del self.fields["handle_mailboxes"]
del self.fields["mailboxes_owner"]
+
+ def clean_default_domain_quota(self):
+ """Ensure quota is a positive integer."""
+ if self.cleaned_data['default_domain_quota'] < 0:
+ raise forms.ValidationError(
+ ugettext_lazy('Must be a positive integer')
+ )
+ return self.cleaned_data['default_domain_quota']
diff --git a/modoboa/extensions/admin/forms/account.py b/modoboa/extensions/admin/forms/account.py
index 187a96894..0da12ec09 100644
--- a/modoboa/extensions/admin/forms/account.py
+++ b/modoboa/extensions/admin/forms/account.py
@@ -162,6 +162,22 @@ class AccountFormMail(forms.Form, DynamicForm):
"""Ensure lower case emails"""
return self.cleaned_data["email"].lower()
+ def clean(self):
+ """Custom fields validation.
+
+ Check if quota is >= 0 only when the domain value is not used.
+ """
+ super(AccountFormMail, self).clean()
+ if self._errors:
+ raise forms.ValidationError(self._errors)
+ if not self.cleaned_data["quota_act"] \
+ and self.cleaned_data['quota'] is not None:
+ if self.cleaned_data["quota"] < 0:
+ self._errors["quota"] = self.error_class(
+ [_("Must be a positive integer")])
+ del self.cleaned_data["quota"]
+ return self.cleaned_data
+
def create_mailbox(self, user, account):
locpart, domname = split_mailbox(self.cleaned_data["email"])
try:
diff --git a/modoboa/extensions/admin/forms/domain.py b/modoboa/extensions/admin/forms/domain.py
index c19b60d68..9bdfe81c5 100644
--- a/modoboa/extensions/admin/forms/domain.py
+++ b/modoboa/extensions/admin/forms/domain.py
@@ -1,7 +1,7 @@
from django import forms
from django.http import QueryDict
from django.utils.translation import ugettext as _, ugettext_lazy
-from modoboa.lib import events
+from modoboa.lib import events, parameters
from modoboa.lib.exceptions import Conflict
from modoboa.lib.formutils import (
DomainNameField, YesNoField, DynamicForm, TabForms
@@ -13,6 +13,15 @@ from modoboa.extensions.admin.models import (
class DomainFormGeneral(forms.ModelForm, DynamicForm):
+ quota = forms.IntegerField(
+ label=ugettext_lazy("Quota"),
+ required=False,
+ help_text=ugettext_lazy(
+ "Default quota in MB applied to mailboxes. Leave empty to use the "
+ "default value."
+ ),
+ widget=forms.TextInput(attrs={"class": "span1"})
+ )
aliases = DomainNameField(
label=ugettext_lazy("Alias(es)"),
required=False,
@@ -25,9 +34,6 @@ class DomainFormGeneral(forms.ModelForm, DynamicForm):
class Meta:
model = Domain
fields = ("name", "quota", "aliases", "enabled")
- widgets = dict(
- quota=forms.widgets.TextInput(attrs={"class": "span1"})
- )
def __init__(self, *args, **kwargs):
self.oldname = None
@@ -43,6 +49,13 @@ class DomainFormGeneral(forms.ModelForm, DynamicForm):
name = "aliases_%d" % (pos + 1)
self._create_field(forms.CharField, name, dalias.name, 3)
+ def clean_quota(self):
+ if self.cleaned_data['quota'] is None:
+ return int(parameters.get_admin('DEFAULT_DOMAIN_QUOTA'))
+ if self.cleaned_data['quota'] < 0:
+ raise forms.ValidationError(_("Must be a positive integer"))
+ return self.cleaned_data['quota']
+
def clean(self):
"""Custom fields validation.
diff --git a/modoboa/extensions/admin/models/alias.py b/modoboa/extensions/admin/models/alias.py
index e8720ef5e..327e4bf0c 100644
--- a/modoboa/extensions/admin/models/alias.py
+++ b/modoboa/extensions/admin/models/alias.py
@@ -117,14 +117,18 @@ class Alias(AdminObject):
if not t in int_rcpts:
self.mboxes.remove(t)
- def get_recipients(self):
- """Return the recipients list
+ def get_recipients(self, with_external=True):
+ """Return the recipients list.
Internal and external addresses are mixed into a single list.
+
+ :param bool with_external: include external addresses or not
+ :rtype: list
+ :return: a list of addresses
"""
result = [al.full_address for al in self.aliases.all()]
result += [mb.full_address for mb in self.mboxes.all()]
- if self.extmboxes != "":
+ if with_external and self.extmboxes != "":
result += self.extmboxes.split(',')
return result
diff --git a/modoboa/extensions/admin/models/domain.py b/modoboa/extensions/admin/models/domain.py
index e7467d592..7c19710dd 100644
--- a/modoboa/extensions/admin/models/domain.py
+++ b/modoboa/extensions/admin/models/domain.py
@@ -27,9 +27,7 @@ class Domain(AdminObject):
"""
name = models.CharField(ugettext_lazy('name'), max_length=100, unique=True,
help_text=ugettext_lazy("The domain name"))
- quota = models.IntegerField(
- help_text=ugettext_lazy("Default quota in MB applied to mailboxes")
- )
+ quota = models.IntegerField()
enabled = models.BooleanField(
ugettext_lazy('enabled'),
help_text=ugettext_lazy("Check to activate this domain")
diff --git a/modoboa/extensions/admin/models/mailbox.py b/modoboa/extensions/admin/models/mailbox.py
index ed61adcbe..82abbc13a 100644
--- a/modoboa/extensions/admin/models/mailbox.py
+++ b/modoboa/extensions/admin/models/mailbox.py
@@ -114,6 +114,17 @@ class Mailbox(AdminObject):
self.__mail_home = output.strip()
return self.__mail_home
+ @property
+ def alias_addresses(self):
+ """Return all alias address of this mailbox.
+
+ :rtype: list of string
+ """
+ aliases = []
+ for alias in self.alias_set.all():
+ aliases += [alias.full_address]
+ return aliases
+
def rename_dir(self, old_mail_home):
hm = parameters.get_admin("HANDLE_MAILBOXES", raise_error=False)
if hm is None or hm == "no":
diff --git a/modoboa/extensions/admin/tests/account.py b/modoboa/extensions/admin/tests/account.py
index 547e170ab..8a79674bf 100644
--- a/modoboa/extensions/admin/tests/account.py
+++ b/modoboa/extensions/admin/tests/account.py
@@ -85,7 +85,8 @@ class PermissionsTestCase(ModoTestCase):
self.user = User.objects.get(username='user@test.com')
self.values = dict(
username=self.user.username, role="DomainAdmins",
- is_active=self.user.is_active, email="user@test.com"
+ is_active=self.user.is_active, email="user@test.com",
+ quota_act=True
)
def tearDown(self):
diff --git a/modoboa/extensions/admin/tests/domain.py b/modoboa/extensions/admin/tests/domain.py
index 929afd3c8..9e3fba111 100644
--- a/modoboa/extensions/admin/tests/domain.py
+++ b/modoboa/extensions/admin/tests/domain.py
@@ -1,5 +1,6 @@
from django.core.urlresolvers import reverse
from modoboa.core.models import User
+from modoboa.lib import parameters
from modoboa.lib.tests import ModoTestCase
from modoboa.extensions.admin.models import (
Domain, Alias
@@ -66,6 +67,22 @@ class DomainTestCase(ModoTestCase):
self.assertIn(da.mailbox_set.all()[0], al.mboxes.all())
self.assertTrue(da.can_access(al))
+ def test_create_using_default_quota(self):
+ parameters.save_admin('DEFAULT_DOMAIN_QUOTA', 50, app='admin')
+ values = {
+ "name": "pouet.com", "create_dom_admin": "yes",
+ "dom_admin_username": "toto", "create_aliases": "yes",
+ "stepid": 'step2'
+ }
+ self.ajax_post(
+ reverse("modoboa.extensions.admin.views.domain.newdomain"),
+ values
+ )
+ dom = Domain.objects.get(name="pouet.com")
+ self.assertEqual(dom.quota, 50)
+ da = User.objects.get(username="toto@pouet.com")
+ self.assertEqual(da.mailbox_set.all()[0].quota, 50)
+
def test_modify(self):
"""Test the modification of a domain
diff --git a/modoboa/extensions/amavis/general_callbacks.py b/modoboa/extensions/amavis/general_callbacks.py
index 8d9ad4ec6..1246c7202 100644
--- a/modoboa/extensions/amavis/general_callbacks.py
+++ b/modoboa/extensions/amavis/general_callbacks.py
@@ -60,11 +60,14 @@ $(document).ready(function() {
interval: {{ interval }},
success_cb: function(data) {
var $link = $("#nbrequests");
+ var $maincounter = $("#alerts-counter");
+
if (data.requests > 0) {
- $link.html(data.requests + " " + "{{ text }}");
- $link.parent().removeClass('hidden');
+ $maincounter.html(data.requests);
+ $link.children("span").html(data.requests);
+ $maincounter.closest('div').removeClass('hidden');
} else {
- $link.parent().addClass('hidden');
+ $maincounter.closest('div').addClass('hidden');
}
}
});
@@ -102,10 +105,24 @@ def display_requests(user):
url = reverse("modoboa.extensions.amavis.views.index")
url += "#listing/?viewrequests=1"
- tpl = Template('')
+ tpl = Template("""""")
css = "hidden" if nbrequests == 0 else ""
return [tpl.render(Context(dict(
- label=_("%d pending requests" % nbrequests), url=url, css=css
+ label=_("Pending requests"), url=url, css=css,
+ nbrequests=nbrequests
)))]
diff --git a/modoboa/extensions/amavis/lib.py b/modoboa/extensions/amavis/lib.py
index f33e77249..e098f7513 100644
--- a/modoboa/extensions/amavis/lib.py
+++ b/modoboa/extensions/amavis/lib.py
@@ -8,9 +8,11 @@ from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from modoboa.lib import parameters
from modoboa.lib.exceptions import InternalError
+from modoboa.lib.webutils import NavigationParameters
from modoboa.extensions.amavis.models import Users, Policy
+
def selfservice(ssfunc=None):
"""Decorator used to expose views to the 'self-service' feature
@@ -79,6 +81,38 @@ recipient=%s
return False
+class QuarantineNavigationParameters(NavigationParameters):
+ """
+ Specific NavigationParameters subclass for the quarantine.
+ """
+ def __init__(self, request):
+ super(QuarantineNavigationParameters, self).__init__(
+ request, 'quarantine_navparams'
+ )
+ self.parameters += [('msgtype', None, False)]
+
+ def back_to_listing(self):
+ """Return the current listing URL.
+
+ Looks into the user's session and the current request to build
+ the URL.
+
+ :return: a string
+ """
+ url = "listing"
+ params = []
+ navparams = self.request.session[self.sessionkey]
+ if "page" in navparams:
+ params += ["page=%s" % navparams["page"]]
+ if "order" in navparams:
+ params += ["sort_order=%s" % navparams["order"]]
+ params += ["%s=%s" % (p[0], navparams[p[0]])
+ for p in self.parameters if p[0] in navparams]
+ if params:
+ url += "?%s" % ("&".join(params))
+ return url
+
+
def create_user_and_policy(name):
"""Create records.
diff --git a/modoboa/extensions/amavis/sql_listing.py b/modoboa/extensions/amavis/sql_listing.py
index 4a40ad332..71c2cd5aa 100644
--- a/modoboa/extensions/amavis/sql_listing.py
+++ b/modoboa/extensions/amavis/sql_listing.py
@@ -9,7 +9,7 @@ from modoboa.lib.webutils import static_url
from modoboa.lib.email_listing import MBconnector, EmailListing
from modoboa.lib.emailutils import Email
from modoboa.lib.dbutils import db_type
-from modoboa.extensions.admin.models import Domain
+from modoboa.extensions.admin.models import Domain, Alias
from .models import Quarantine, Msgrcpt
@@ -18,30 +18,60 @@ class Qtable(tables.Table):
styles = "table-condensed"
idkey = "mailid"
- type = tables.Column(
- "type", align="center", width="30px",
+ selection = tables.SelectionColumn(
+ "selection", safe=True, width='5px', header=None, sortable=False
)
- rstatus = tables.ImgColumn("rstatus", width='25px')
- from_ = tables.Column("from", label=ugettext_lazy("From"), limit=30)
- subject = tables.Column("subject", label=ugettext_lazy("Subject"), limit=40)
- time = tables.Column("date", label=ugettext_lazy("Date"))
- to = tables.Column("to", label=ugettext_lazy("To"), sortable=False)
+ type = tables.Column(
+ "type", align="center", width="30px", sort_order="type", safe=True
+ )
+ rstatus = tables.ImgColumn(
+ "rstatus", width='25px', sortable=False
+ )
+ score = tables.Column(
+ "score", label=ugettext_lazy("Score"), limit=6,
+ sort_order="score", cssclass="openable"
+ )
+ to = tables.Column(
+ "to", label=ugettext_lazy("To"), sort_order="to", cssclass="openable"
+ )
+ from_ = tables.Column(
+ "from", label=ugettext_lazy("From"), limit=30,
+ sort_order="from", cssclass="openable"
+ )
+ subject = tables.Column(
+ "subject", label=ugettext_lazy("Subject"), limit=40,
+ sort_order="subject", cssclass="openable"
+ )
+ time = tables.Column(
+ "date", label=ugettext_lazy("Date"), sort_order="date",
+ cssclass="openable"
+ )
+
+ cols_order = [
+ 'selection', 'type', 'rstatus', 'score', 'to', 'from_', 'subject', 'time'
+ ]
- cols_order = []
+ def parse_type(self, value):
+ color = 'important' if value in ['S', 'V'] else 'warning'
+ return '%s ' % (color, value)
def parse_date(self, value):
return datetime.fromtimestamp(value)
class SQLconnector(MBconnector):
- orders = {
- "from": "mail__from_addr",
+ order_translation_table = {
+ "type": "mail__msgrcpt__content",
+ "score": "mail__msgrcpt__bspam_level",
+ "date": "mail__time_num",
"subject": "mail__subject",
- "date": "mail__time_num"
+ "from": "mail__from_addr",
+ "to": "mail__msgrcpt__rid__email"
}
def __init__(self, mail_ids=None, filter=None):
self.count = None
+ self.messages = None
self.mail_ids = mail_ids
self.filter = filter
@@ -52,35 +82,46 @@ class SQLconnector(MBconnector):
filter &= Q(mail__in=self.mail_ids)
if self.filter:
filter &= self.filter
- self.messages = Quarantine.objects.filter(filter)
+ self.messages = Quarantine.objects.filter(filter).values(
+ "mail__from_addr",
+ "mail__msgrcpt__rid__email",
+ "mail__subject",
+ "mail__mail_id",
+ "mail__time_num",
+ "mail__msgrcpt__content",
+ "mail__msgrcpt__bspam_level",
+ "mail__msgrcpt__rs"
+ )
if "order" in kwargs:
- totranslate = kwargs["order"][1:]
- sign = kwargs["order"][:1]
- if sign == " ":
- sign = ""
- order = sign + self.orders[totranslate]
- self.messages = self.messages.order_by(order)
- self.count = self.messages.count()
+ order = kwargs["order"]
+ sign = ""
+ if order[0] == "-":
+ sign = "-"
+ order = order[1:]
+ order = self.order_translation_table[order]
+ self.messages = self.messages.order_by(sign + order)
+
+ self.count = len(self.messages)
return self.count
def fetch(self, start=None, stop=None, **kwargs):
- messages = self.messages[start - 1:stop]
emails = []
- for qm in messages:
- for rcpt in qm.mail.msgrcpt_set.all():
- m = {"from": qm.mail.from_addr,
- "to": rcpt.rid.email,
- "subject": qm.mail.subject,
- "mailid": qm.mail_id,
- "date": qm.mail.time_num,
- "type": rcpt.content}
- if rcpt.rs == '':
- m["class"] = "unseen"
- elif rcpt.rs == 'R':
- m["img_rstatus"] = static_url("pics/release.png")
- elif rcpt.rs == 'p':
- m["class"] = "pending"
- emails.append(m)
+ for qm in self.messages[start - 1:stop]:
+ m = {"from": qm["mail__from_addr"],
+ "to": qm["mail__msgrcpt__rid__email"],
+ "subject": qm["mail__subject"],
+ "mailid": qm["mail__mail_id"],
+ "date": qm["mail__time_num"],
+ "type": qm["mail__msgrcpt__content"],
+ "score": qm["mail__msgrcpt__bspam_level"]}
+ rs = qm["mail__msgrcpt__rs"]
+ if rs == '':
+ m["class"] = "unseen"
+ elif rs == 'R':
+ m["img_rstatus"] = static_url("pics/release.png")
+ elif rs == 'p':
+ m["class"] = "pending"
+ emails.append(m)
return emails
@@ -98,22 +139,25 @@ class SQLWrapper(object):
"""
def get_mails(self, request, rcptfilter=None):
- if request.GET.get("viewrequests", None) == "1":
- q = Q(rs='p')
- else:
- q = ~Q(rs='D')
+ """Retrieve all messages visible by a user.
+ Simple users can only see the messages
+
+ :rtype: QuerySet
+ """
+ q = Q(rs='p') \
+ if request.GET.get("viewrequests", None) == "1" else ~Q(rs='D')
if request.user.group == 'SimpleUsers':
- q &= Q(rid__email=request.user.email)
- else:
- if not request.user.is_superuser:
- doms = Domain.objects.get_for_admin(request.user)
- regexp = "(%s)" % '|'.join([dom.name for dom in doms])
- doms_q = Q(rid__email__regex=regexp)
- q &= doms_q
- if rcptfilter is not None:
- q &= Q(rid__email__contains=rcptfilter)
-
+ rcpts = [request.user.email] \
+ + request.user.mailbox_set.all()[0].alias_addresses
+ q &= Q(rid__email__in=rcpts)
+ elif not request.user.is_superuser:
+ doms = Domain.objects.get_for_admin(request.user)
+ regexp = "(%s)" % '|'.join([dom.name for dom in doms])
+ doms_q = Q(rid__email__regex=regexp)
+ q &= doms_q
+ if rcptfilter is not None:
+ q &= Q(rid__email__contains=rcptfilter)
return Msgrcpt.objects.filter(q).values("mail_id")
def get_recipient_message(self, address, mailid):
@@ -153,24 +197,23 @@ class PgWrapper(SQLWrapper):
"""
def get_mails(self, request, rcptfilter=None):
- if request.GET.get("viewrequests", None) == "1":
- q = Q(rs='p')
- else:
- q = ~Q(rs='D')
+ q = Q(rs='p') \
+ if request.GET.get("viewrequests", None) == "1" else ~Q(rs='D')
where = ["U0.rid=maddr.id"]
if request.user.group == 'SimpleUsers':
- where.append("convert_from(maddr.email, 'UTF8') = '%s'" % request.user.email)
- return Msgrcpt.objects.filter(q).extra(
- where=where, tables=['maddr']
- )
-
- if not request.user.is_superuser:
+ rcpts = [request.user.email] \
+ + request.user.mailbox_set.all()[0].alias_addresses
+ where.append("convert_from(maddr.email, 'UTF8') IN (%s)" \
+ % (','.join(["'%s'" % rcpt for rcpt in rcpts])))
+ elif not request.user.is_superuser:
doms = Domain.objects.get_for_admin(request.user)
regexp = "(%s)" % '|'.join([dom.name for dom in doms])
where.append("convert_from(maddr.email, 'UTF8') ~ '%s'" % regexp)
if rcptfilter is not None:
- where.append("convert_from(maddr.email, 'UTF8') LIKE '%%%s%%'" % rcptfilter)
- return Msgrcpt.objects.filter(q).extra(where=where, tables=['maddr']).values("mail_id")
+ where.append("convert_from(maddr.email, 'UTF8') LIKE '%%%s%%'"
+ % rcptfilter)
+ return Msgrcpt.objects.filter(q)\
+ .extra(where=where, tables=['maddr']).values("mail_id")
def get_recipient_message(self, address, mailid):
qset = Msgrcpt.objects.filter(mail=mailid).extra(
@@ -229,10 +272,6 @@ class SQLlisting(EmailListing):
reset_wm_url = True
def __init__(self, user, msgs, filter, **kwargs):
- if user.group == 'SimpleUsers':
- Qtable.cols_order = ['type', 'rstatus', 'from_', 'subject', 'time']
- else:
- Qtable.cols_order = ['type', 'rstatus', 'to', 'from_', 'subject', 'time']
self.mbc = SQLconnector(msgs, filter)
super(SQLlisting, self).__init__(**kwargs)
self.show_listing_headers = True
diff --git a/modoboa/extensions/amavis/static/amavis/css/quarantine.css b/modoboa/extensions/amavis/static/amavis/css/quarantine.css
index 6302936d9..2ee4aeab5 100644
--- a/modoboa/extensions/amavis/static/amavis/css/quarantine.css
+++ b/modoboa/extensions/amavis/static/amavis/css/quarantine.css
@@ -8,6 +8,10 @@
z-index: 10;
}
+#menubar input[type="checkbox"] {
+ margin: 0;
+}
+
#listing {
position: fixed;
padding: 0 15px;
@@ -27,15 +31,32 @@
color: #0088cc;
}
+#filters_bar {
+ /*padding-top: 5px;*/
+ padding-left: 15px;
+}
+
thead tr {
position: relative;
z-index: 1;
}
+td > input[type=checkbox] {
+ margin: 0;
+}
+
+td[name=type] span {
+ cursor: pointer;
+}
+
td.unseen {
font-weight: bold;
}
-td.pending {
+td[class*=pending] {
font-style: italic;
+}
+
+td[class*=openable] {
+ cursor: pointer;
}
\ No newline at end of file
diff --git a/modoboa/extensions/amavis/static/amavis/js/quarantine.js b/modoboa/extensions/amavis/static/amavis/js/quarantine.js
index bb4b8ff57..41e25c253 100644
--- a/modoboa/extensions/amavis/static/amavis/js/quarantine.js
+++ b/modoboa/extensions/amavis/static/amavis/js/quarantine.js
@@ -1,21 +1,42 @@
var Quarantine = function(options) {
- this.initialize(options);
+ Listing.call(this, options);
};
Quarantine.prototype = {
constructor: Quarantine,
defaults: {
- deflocation: "listing",
- defcallback: "listing_cb"
+ deflocation: "listing"
},
initialize: function(options) {
- this.options = $.extend({}, this.defaults, options);
+ Listing.prototype.initialize.call(this, options);
+ this.options = $.extend({}, this.defaults, this.options);
+ this.options.defcallback = $.proxy(this.listing_cb, this);
this.navobj = new History(this.options);
this.register_navcallbacks();
this.listen();
+ this.set_msgtype();
+
+ $(document).on('click', '#selectall', this.toggle_selection);
+ $("#searchfield").searchbar({navobj: this.navobj});
+ },
+
+ /*
+ * Activate the button corresponding to the current message type
+ * filter. If no message type is found, the 'All' button is
+ * selected.
+ */
+ set_msgtype: function() {
+ var msgtype = this.navobj.getparam('msgtype');
+
+ $("button[name*=msgtype]").removeClass('active');
+ if (msgtype != undefined) {
+ $("button[name=msgtype_" + msgtype + "]").addClass('active');
+ } else {
+ $("button[name=msgtype_all]").addClass('active');
+ }
},
update_page: function(data) {
@@ -23,9 +44,6 @@ Quarantine.prototype = {
$("#menubar").html(data.menu);
$("#searchfield").searchbar({navobj: this.navobj});
}
- if (data.navbar) {
- $("#bottom-bar-right").html(data.navbar);
- }
if (data.listing != undefined) {
$("#listing").html(data.listing);
$("#listing").css({
@@ -34,10 +52,11 @@ Quarantine.prototype = {
overflow: "auto"
});
}
+ this.update_listing(data);
},
listen: function() {
- $(document).on("dblclick", "tbody>tr", $.proxy(this.viewmail_loader, this));
+ $(document).on("click", "td[class*=openable]", $.proxy(this.viewmail_loader, this));
$(document).on("click", "a[name=selectmsgs]", $.proxy(this.selectmsgs, this));
$(document).on("click", "a[name=release-multi]",
$.proxy(this.release_selection, this));
@@ -45,19 +64,16 @@ Quarantine.prototype = {
$.proxy(this.delete_selection, this));
$(document).on("click", "a[name=viewrequests]",
$.proxy(this.view_requests, this));
- $(document).on("click", "#bottom-bar a", $.proxy(this.load_page, 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=headers]", $.proxy(this.headers, this));
+ $(document).on("click", "td[name=type] span", $.proxy(this.filter_by_type, this));
+ $(document).on("click", "#filters button", $.proxy(this.filter_by_type, this));
},
load_page: function(e) {
- e.preventDefault();
- var $link = $(e.target).parent();
-
- this.navobj.delparam("rcpt");
- this.navobj.parse_string($link.attr("href")).update();
+ Listing.prototype.load_page.apply(this, arguments);
+ this.navobj.delparam("rcpt").update();
},
view_requests: function(e) {
@@ -77,20 +93,59 @@ Quarantine.prototype = {
this.navobj.update();
},
- selectmsgs: function(e) {
- e.preventDefault();
- var type = $(e.target).attr("href");
-
- if (type == "") {
+ /*
+ * Toggle message selection when the top checkbox's state is
+ * modified.
+ *
+ * If it is checked, all messages are selected. Otherwise, the
+ * current selection is resetted.
+ */
+ toggle_selection: function(e) {
+ if (!$('#selectall').prop('checked')) {
$("#emails").htmltable("clear_selection");
return;
}
+ $("td[name*=selection]").each(function() {
+ var $input = $(this).children('input');
+ $input.prop('checked', true);
+ $('#emails').htmltable('select_row', $(this).parent());
+ });
+ },
+
+ /*
+ * Select all messages of a specific type.
+ */
+ selectmsgs: function(e) {
+ e.preventDefault();
+ var type = get_target(e, 'a').attr("href");
+ var counter = 0;
+
$("td[name=type]").each(function() {
var $this = $(this);
- if ($this.html().trim() == type) {
- $("#emails").htmltable("select_row", $this.parent());
+ if ($this.find('span').html().trim() == type) {
+ var $input = $this.parent().children('td[name=selection]').children('input');
+ $input.prop('checked', true);
+ $('#emails').htmltable('select_row', $this.parent());
+ counter++;
}
});
+ if (counter) {
+ $("#selectall").prop('checked', true);
+ }
+ },
+
+ /*
+ * Filter listing by message type (spam, virus, etc.)
+ */
+ filter_by_type: function(evt) {
+ var msgtype = $(evt.target).html().trim();
+
+ if (msgtype != 'All') {
+ this.navobj.setparam('msgtype', msgtype);
+ } else {
+ this.navobj.delparam('msgtype');
+ }
+ this.navobj.update();
},
_send_selection: function(e, name, message) {
@@ -138,7 +193,9 @@ Quarantine.prototype = {
}
$.ajax({
url: $link.attr("href"),
- dataType: 'json'
+ dataType: 'json',
+ type: 'POST',
+ data: {rcpt: get_parameter_by_name($link.attr("href"), 'rcpt')}
}).done($.proxy(this.action_cb, this));
},
@@ -196,10 +253,30 @@ Quarantine.prototype = {
$.proxy(this.viewmail_cb, this));
},
+ activate_buttons: function($tr) {
+ $("a[name=release-multi]").removeClass('disabled');
+ $("a[name=delete-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');
+ $("#selectall").prop('checked', false);
+ }
+ },
+
listing_cb: function(data) {
this.update_page(data);
- $("#emails").htmltable();
+ this.navobj.delparam("rcpt").update();
+ this.set_msgtype();
+ $("#emails").htmltable({
+ tr_selected_event: this.activate_buttons,
+ tr_unselected_event: $.proxy(this.deactivate_buttons, this)
+ });
this.htmltable = $("#emails").data("htmltable");
+ this.deactivate_buttons();
},
viewmail_cb: function(data) {
@@ -215,4 +292,6 @@ Quarantine.prototype = {
$("body").notify("error", data.respmsg);
}
}
-};
\ No newline at end of file
+};
+
+Quarantine.prototype = $.extend({}, Listing.prototype, Quarantine.prototype);
diff --git a/modoboa/extensions/amavis/templates/amavis/index.html b/modoboa/extensions/amavis/templates/amavis/index.html
index fb2081389..aceed6622 100644
--- a/modoboa/extensions/amavis/templates/amavis/index.html
+++ b/modoboa/extensions/amavis/templates/amavis/index.html
@@ -1,10 +1,13 @@
-{% extends "fixed.html" %}{% load i18n %}
+{% extends "fixed.html" %}{% load i18n amavis_tags %}
{% block pagetitle %}{% trans "Quarantine management" %}{% endblock %}
{% block html_head %}
+
+
+
{% endblock %}
{% block fixed_content %}
-
+
{% endblock %}
diff --git a/modoboa/extensions/amavis/templates/amavis/main_action_bar.html b/modoboa/extensions/amavis/templates/amavis/main_action_bar.html
new file mode 100644
index 000000000..709460220
--- /dev/null
+++ b/modoboa/extensions/amavis/templates/amavis/main_action_bar.html
@@ -0,0 +1,38 @@
+{% load lib_tags i18n %}
+
+
diff --git a/modoboa/extensions/amavis/templatetags/amavis_tags.py b/modoboa/extensions/amavis/templatetags/amavis_tags.py
index ab75ef7f1..d5b0ec620 100644
--- a/modoboa/extensions/amavis/templatetags/amavis_tags.py
+++ b/modoboa/extensions/amavis/templatetags/amavis_tags.py
@@ -3,12 +3,13 @@ from django.template.loader import render_to_string
from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse
from django.conf import settings
+from modoboa.lib.webutils import _render_to_string
register = template.Library()
@register.simple_tag
-def viewm_menu(user, mail_id, rcpt):
+def viewm_menu(mail_id, rcpt):
entries = [
{"name": "release",
"img": "icon-white icon-ok",
@@ -65,49 +66,13 @@ def viewm_menu_simple(user, mail_id, rcpt, secret_id=""):
@register.simple_tag
-def quar_menu(user):
- entries = [
- {"name": "release-multi",
- "url": reverse('modoboa.extensions.amavis.views.process'),
- "img": "icon-white icon-ok",
- "class": "btn-success",
- "label": _("Release")},
- {"name": "delete-multi",
- "img": "icon-white icon-trash",
- "class": "btn-danger",
- "url": reverse('modoboa.extensions.amavis.views.process'),
- "label": _("Delete")},
- {"name": "select",
- "url": "",
- "label": _("Content Class"),
- "menu": [
- {"name": "selectmsgs",
- "url": "",
- "label": _("Nothing")},
- {"name": "selectmsgs",
- "url": "S",
- "label": _("Spam")},
- {"name": "selectmsgs",
- "url": "V",
- "label": _("Virus")},
- {"name": "selectmsgs",
- "url": "H",
- "label": _("Bad header")},
- {"name": "selectmsgs",
- "url": "M",
- "label": _("Bad MIME")}
- ]}
- ]
+def quar_menu():
+ """Render the quarantine listing menu.
- if user.group != 'SimpleUsers':
- extraopts = [{"name": "to", "label": _("To")}]
- else:
- extraopts = []
- extracontent = render_to_string('common/email_searchbar.html', {
- "STATIC_URL": settings.STATIC_URL,
- "extraopts": extraopts
+ :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('common/buttons_list.html', dict(
- entries=entries, extracontent=extracontent
- ))
diff --git a/modoboa/extensions/amavis/views.py b/modoboa/extensions/amavis/views.py
index ba89903ee..91b3d52fb 100644
--- a/modoboa/extensions/amavis/views.py
+++ b/modoboa/extensions/amavis/views.py
@@ -13,41 +13,19 @@ from modoboa.lib.exceptions import BadRequest
from modoboa.lib.webutils import (
getctx, ajax_response, render_to_json_response
)
-from modoboa.lib.email_listing import parse_search_parameters
+from modoboa.lib.templatetags.lib_tags import pagination_bar
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
+from .lib import selfservice, AMrelease, QuarantineNavigationParameters
from .sql_listing import SQLlisting, SQLemail, get_wrapper
from .models import Msgrcpt
-def __back_to_listing(request):
- """Return the current listing URL.
-
- Looks into the user's session and the current request to build the
- URL.
-
- :param request: a ``Request`` object
- :return: a string
- """
- url = "listing"
- params = []
- if "page" in request.session:
- params += ["page=%s" % request.session["page"]]
-
- params += ["%s=%s" % (p, request.session[p])
- for p in ["criteria", "pattern"] if p in request.session]
- if params:
- url += "?%s" % ("&".join(params))
- return url
-
-
def empty_quarantine(request):
content = "%s
" % _("Empty quarantine")
- ctx = getctx("ok", level=2, listing=content, navbar="",
- menu=quar_menu(request.user))
+ ctx = getctx("ok", level=2, listing=content)
return render_to_json_response(ctx)
@@ -61,58 +39,56 @@ def _listing(request):
if not Domain.objects.get_for_admin(request.user).count():
return empty_quarantine(request)
- order = request.GET.get("order", "-date")
- if not "navparams" in request.session:
- request.session["navparams"] = {}
- request.session["navparams"]["order"] = order
-
- parse_search_parameters(request)
- if "pattern" in request.session:
- criteria = request.session["criteria"]
+ navparams = QuarantineNavigationParameters(request)
+ navparams.store()
+ pattern = navparams.get('pattern', '')
+ if pattern:
+ criteria = navparams.get('criteria')
if criteria == "both":
criteria = "from_addr,subject,to"
for c in criteria.split(","):
if c == "from_addr":
- nfilter = Q(mail__from_addr__contains=request.session["pattern"])
+ nfilter = Q(mail__from_addr__contains=pattern)
elif c == "subject":
- nfilter = Q(mail__subject__contains=request.session["pattern"])
+ nfilter = Q(mail__subject__contains=pattern)
elif c == "to":
- rcptfilter = request.session["pattern"]
+ rcptfilter = pattern
continue
else:
raise BadRequest("unsupported search criteria %s" % c)
flt = nfilter if flt is None else flt | nfilter
+ msgtype = navparams.get('msgtype', None)
+ if msgtype is not None:
+ nfilter = Q(mail__msgrcpt__content=msgtype)
+ flt = flt | nfilter if flt is not None else nfilter
+
msgs = get_wrapper().get_mails(request, rcptfilter)
-
- if "page" in request.GET:
- request.session["page"] = request.GET["page"]
- pageid = int(request.session["page"])
- else:
- if "page" in request.session:
- del request.session["page"]
- pageid = 1
-
+ page = navparams.get('page')
lst = SQLlisting(
request.user, msgs, flt,
- navparams=request.session["navparams"],
+ navparams=request.session["quarantine_navparams"],
elems_per_page=int(parameters.get_user(request.user, "MESSAGES_PER_PAGE"))
)
- page = lst.paginator.getpage(pageid)
+ page = lst.paginator.getpage(page)
if not page:
return empty_quarantine(request)
content = lst.fetch(request, page.id_start, page.id_stop)
- navbar = lst.render_navbar(page, "listing/?")
- ctx = getctx("ok", listing=content, navbar=navbar,
- menu=quar_menu(request.user))
+ ctx = getctx(
+ "ok", listing=content, paginbar=pagination_bar(page), page=page.number
+ )
+ if request.session.get('location', 'listing') != 'listing':
+ ctx['menu'] = quar_menu()
+ request.session['location'] = 'listing'
return render_to_json_response(ctx)
@login_required
def index(request):
return render(request, "amavis/index.html", dict(
- deflocation="listing/", defcallback="listing_cb", selection="quarantine"
+ deflocation="listing/?sort_order=-date", defcallback="listing_cb",
+ selection="quarantine"
))
@@ -160,23 +136,20 @@ def viewmail_selfservice(request, mail_id,
@selfservice(viewmail_selfservice)
def viewmail(request, mail_id):
- if request.user.group != 'SimpleUsers':
- rcpt = request.GET["rcpt"]
- else:
- rcpt = None
-
+ rcpt = request.GET["rcpt"]
if request.user.mailbox_set.count():
mb = Mailbox.objects.get(user=request.user)
- if not rcpt or rcpt == mb.full_address:
- msgrcpt = get_wrapper().get_recipient_message(mb.full_address, mail_id)
+ if rcpt in mb.alias_addresses:
+ msgrcpt = get_wrapper().get_recipient_message(rcpt, mail_id)
msgrcpt.rs = 'V'
msgrcpt.save()
content = Template("""
""").render(Context({"url": reverse(getmailcontent, args=[mail_id])}))
- menu = viewm_menu(request.user, mail_id, rcpt)
+ menu = viewm_menu(mail_id, rcpt)
ctx = getctx("ok", menu=menu, listing=content)
+ request.session['location'] = 'viewmail'
return render_to_json_response(ctx)
@@ -193,8 +166,8 @@ def viewheaders(request, mail_id):
def check_mail_id(request, mail_id):
if type(mail_id) in [str, unicode]:
- if "rcpt" in request.GET:
- mail_id = ["%s %s" % (request.GET["rcpt"], mail_id)]
+ if "rcpt" in request.POST:
+ mail_id = ["%s %s" % (request.POST["rcpt"], mail_id)]
else:
mail_id = [mail_id]
return mail_id
@@ -215,27 +188,29 @@ def delete_selfservice(request, mail_id):
@selfservice(delete_selfservice)
def delete(request, mail_id):
- mail_id = check_mail_id(request, mail_id)
- if request.user.group == 'SimpleUsers':
- mb = Mailbox.objects.get(user=request.user)
- msgrcpts = get_wrapper().get_recipient_messages(mb.full_address, mail_id)
- #msgrcpts.update(rs='D')
- for msgrcpt in msgrcpts:
- msgrcpt.rs = 'D'
- msgrcpt.save()
- else:
- wrapper = get_wrapper()
- for mid in mail_id:
- r, i = mid.split()
- msgrcpt = wrapper.get_recipient_message(r, i)
- msgrcpt.rs = 'D'
- msgrcpt.save()
+ """Delete message selection.
+ :param str mail_id: message unique identifier
+ """
+ mail_id = check_mail_id(request, mail_id)
+ wrapper = get_wrapper()
+ mb = Mailbox.objects.get(user=request.user) \
+ if request.user.group == 'SimpleUsers' else None
+ for mid in mail_id:
+ r, i = mid.split()
+ if mb is not None and r != mb.full_address \
+ and not r in mb.alias_addresses:
+ continue
+ msgrcpt = wrapper.get_recipient_message(r, i)
+ msgrcpt.rs = 'D'
+ msgrcpt.save()
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=__back_to_listing(request))
+ return ajax_response(
+ request, respmsg=message,
+ url=QuarantineNavigationParameters(request).back_to_listing()
+ )
def release_selfservice(request, mail_id):
@@ -266,30 +241,37 @@ def release_selfservice(request, mail_id):
@selfservice(release_selfservice)
def release(request, mail_id):
+ """Release message selection.
+
+ :param str mail_id: message unique identifier
+ """
mail_id = check_mail_id(request, mail_id)
- if request.user.group == 'SimpleUsers':
- mb = Mailbox.objects.get(user=request.user)
- msgrcpts = get_wrapper().get_recipient_messages(mb.full_address, mail_id)
- if parameters.get_admin("USER_CAN_RELEASE") == "no":
- # FIXME : can't use this syntax because extra SQL (using
- # .extra() for postgres) is not propagated (the 'tables'
- # parameter is lost somewhere...)
- #
- # msgrcpts.update(rs='p')
- for msgrcpt in msgrcpts:
- msgrcpt.rs = 'p'
- msgrcpt.save()
- 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=__back_to_listing(request))
- else:
- msgrcpts = []
- wrapper = get_wrapper()
- for mid in mail_id:
- r, i = mid.split()
- msgrcpts += [wrapper.get_recipient_message(r, i)]
+ msgrcpts = []
+ wrapper = get_wrapper()
+ mb = Mailbox.objects.get(user=request.user) \
+ if request.user.group == 'SimpleUsers' else None
+ for mid in mail_id:
+ r, i = mid.split()
+ if mb is not None and r != mb.full_address \
+ and not r in mb.alias_addresses:
+ continue
+ msgrcpts += [wrapper.get_recipient_message(r, i)]
+ if mb is not None and parameters.get_admin("USER_CAN_RELEASE") == "no":
+ # FIXME : can't use this syntax because extra SQL (using
+ # .extra() for postgres) is not propagated (the 'tables'
+ # parameter is lost somewhere...)
+ #
+ # msgrcpts.update(rs='p')
+ for msgrcpt in msgrcpts:
+ msgrcpt.rs = 'p'
+ msgrcpt.save()
+ 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()
+ )
amr = AMrelease()
error = None
@@ -308,8 +290,10 @@ 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=__back_to_listing(request))
+ return ajax_response(
+ request, "ko" if error else "ok", respmsg=message,
+ url=QuarantineNavigationParameters(request).back_to_listing()
+ )
@login_required
diff --git a/modoboa/extensions/postfix_autoreply/app_settings.py b/modoboa/extensions/postfix_autoreply/app_settings.py
index 464c226df..defef01ac 100644
--- a/modoboa/extensions/postfix_autoreply/app_settings.py
+++ b/modoboa/extensions/postfix_autoreply/app_settings.py
@@ -33,7 +33,7 @@ Best regards,
%(name)s
"""),
help_text=ugettext_lazy(
- "Default content user when an auto-reply message is created "
+ "Default content used when an auto-reply message is created "
"automatically. The '%(name)s' macro will be replaced by the "
"user's full name."
),
diff --git a/modoboa/extensions/postfix_autoreply/general_callbacks.py b/modoboa/extensions/postfix_autoreply/general_callbacks.py
index 2cf11a2b9..1d60f689f 100644
--- a/modoboa/extensions/postfix_autoreply/general_callbacks.py
+++ b/modoboa/extensions/postfix_autoreply/general_callbacks.py
@@ -86,6 +86,8 @@ def onMailboxDeleted(mailboxes):
@events.observe("MailboxModified")
def onMailboxModified(mailbox):
+ if not hasattr(mailbox, 'old_full_address'):
+ return
if mailbox.full_address == mailbox.old_full_address:
return
alias = Alias.objects.get(full_address=mailbox.old_full_address)
diff --git a/modoboa/extensions/stats/templates/stats/index.html b/modoboa/extensions/stats/templates/stats/index.html
index b70947d06..9aec1d1ef 100644
--- a/modoboa/extensions/stats/templates/stats/index.html
+++ b/modoboa/extensions/stats/templates/stats/index.html
@@ -47,10 +47,12 @@ $(document).ready(function() {
\n"
-#: extensions/amavis/__init__.py:22
+#: extensions/admin/__init__.py:48
+msgid "Administration console"
+msgstr "Konzola správce"
+
+#: extensions/admin/__init__.py:50
+msgid "Web based console to manage domains, accounts and aliases"
+msgstr "Webová konzola pro správu domén, účtů a aliasů"
+
+#: extensions/admin/__init__.py:55
+#, fuzzy
+msgid "Administration"
+msgstr "Správci"
+
+#: extensions/admin/__init__.py:79
+#: extensions/admin/templates/admin/domains.html:2
+#: extensions/limits/app_settings.py:19 extensions/limits/models.py:17
+msgid "Domains"
+msgstr "Domény"
+
+#: extensions/admin/__init__.py:85
+#: extensions/admin/templates/admin/identities.html:2
+msgid "Identities"
+msgstr "Identity"
+
+#: extensions/admin/__init__.py:100
+#: extensions/admin/templates/admin/forward.html:2
+#: extensions/webmail/templatetags/webmail_tags.py:28
+msgid "Forward"
+msgstr "Přeposlat"
+
+#: extensions/admin/__init__.py:163
+#, python-format
+msgid "Account import failed (%s): domain does not exist"
+msgstr "Import účtu nebyl úspěšný (%s): doména neexistuje"
+
+#: extensions/admin/app_settings.py:11
+#: extensions/admin/templates/admin/editdomainform.html:25
+#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
+#: extensions/webmail/app_settings.py:101
+#: extensions/webmail/templates/webmail/folders.html:4
+msgid "Mailboxes"
+msgstr "Schránky"
+
+#: extensions/admin/app_settings.py:14
+msgid "Handle mailboxes on filesystem"
+msgstr "Spravovat schránky v souborovém systému"
+
+#: extensions/admin/app_settings.py:16
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Přejmenovat nebo odstranit schránky v souborovém systému, pokud jsou "
+"přejmenovány nebo odstraněny v Modoboa"
+
+#: extensions/admin/app_settings.py:20
+msgid "Mailboxes ower"
+msgstr "Vlastník schránek"
+
+#: extensions/admin/app_settings.py:22
+msgid "The UNIX account who owns mailboxes on the filesystem"
+msgstr "Účet UNIXu, který vlastní schránky v souborovém systému"
+
+#: extensions/admin/app_settings.py:26
+#, fuzzy
+msgid "Default domain quota"
+msgstr "Výchozí omezení"
+
+#: extensions/admin/app_settings.py:29
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+
+#: extensions/admin/app_settings.py:36
+msgid "Automatic account removal"
+msgstr "Automatické odstranění účtu"
+
+#: extensions/admin/app_settings.py:38
+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:64 extensions/admin/forms/account.py:177
+#: extensions/admin/forms/domain.py:56
+msgid "Must be a positive integer"
+msgstr ""
+
+#: extensions/admin/lib.py:28
+#, fuzzy
+msgid "A mailbox is required"
+msgstr "Kvóta je vyžadována"
+
+#: extensions/admin/forms/account.py:21
+#, fuzzy
+msgid "The user's name. Must be a valid e-mail address for simple users."
+msgstr "Uživatel '%s' musí mít nastavenou platnou emailovou adresu"
+
+#: extensions/admin/forms/account.py:25
+msgid "Role"
+msgstr "Role"
+
+#: extensions/admin/forms/account.py:26 extensions/admin/forms/account.py:54
+msgid "Choose"
+msgstr "Vybrat"
+
+#: extensions/admin/forms/account.py:27
+msgid "What level of permission this user will have"
+msgstr "Jaká úroveň oprávnění bude tomuto uživateli nastavena"
+
+#: extensions/admin/forms/account.py:35
+msgid "Enter the same password as above, for verification."
+msgstr "Vložte stejné heslo jako v poli výše, pro jeho ověření."
+
+#: extensions/admin/forms/account.py:46
+msgid "Enabled"
+msgstr "Povoleno"
+
+#: extensions/admin/forms/account.py:93
+msgid "The two password fields didn't match."
+msgstr "Obě pole s heslem se neshodují."
+
+#: extensions/admin/forms/account.py:99
+msgid "You can't disable your own account"
+msgstr "Nemůžete zakázat váš vlastní účet"
+
+#: extensions/admin/forms/account.py:110
+msgid "E-mail"
+msgstr "E-mail"
+
+#: extensions/admin/forms/account.py:112 extensions/admin/forms/domain.py:17
+msgid "Quota"
+msgstr "Kvóta"
+
+#: extensions/admin/forms/account.py:114
+msgid ""
+"Quota in MB for this mailbox. Define a custom value or use domain's default "
+"one. Leave empty to define an unlimited value (not allowed for domain "
+"administrators)."
+msgstr ""
+"Kvóta pro tuto chránku v MB. Definujte vlastní hodnotu nebo použijte výchozí "
+"hodnotu domény. Ponechejte prázdné pro neomezenou kvótu (není povoleno "
+"správcům domény)."
+
+#: extensions/admin/forms/account.py:122 extensions/admin/forms/domain.py:26
+#: extensions/admin/templates/admin/domains_table.html:6
+#: extensions/postfix_relay_domains/forms.py:12
+msgid "Alias(es)"
+msgstr "Alias(y)"
+
+#: extensions/admin/forms/account.py:125
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+"*@domain.tld)."
+msgstr ""
+"Alias(y) této schránky. Vložte pouze jeden alias na řádek, stiskněte ENTER "
+"pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte '*' (např. "
+"*@domena.cz)."
+
+#: extensions/admin/forms/account.py:186 extensions/admin/forms/account.py:216
+#: extensions/admin/forms/alias.py:65
+msgid "Domain does not exist"
+msgstr "Doména neexistuje"
+
+#: extensions/admin/forms/account.py:195
+#, python-format
+msgid "Mailbox %s already exists"
+msgstr "Schránka %s již existuje"
+
+#: extensions/admin/forms/account.py:283
+msgid "Domain(s)"
+msgstr "Doména(y)"
+
+#: extensions/admin/forms/account.py:285
+msgid "Domain(s) that user administrates"
+msgstr "Doména(y) pod správou uživatele"
+
+#: extensions/admin/forms/account.py:327
+#: extensions/admin/views/identity.py:130
+msgid "Mail"
+msgstr "Mail"
+
+#: extensions/admin/forms/account.py:329
+msgid "Permissions"
+msgstr "Oprávnění"
+
+#: extensions/admin/forms/alias.py:16
+msgid "Email address"
+msgstr "Emailová adresa"
+
+#: extensions/admin/forms/alias.py:18
+msgid ""
+"The distribution list address. Use the '*' character to create a 'catchall' "
+"address (ex: *@domain.tld)."
+msgstr ""
+"Distribuční seznam adres. Pro vytvoření doménového koše vložte znak "
+"'*' (např. *@domena.cz)."
+
+#: extensions/admin/forms/alias.py:23
+msgid "Recipients"
+msgstr "Příjemci"
+
+#: extensions/admin/forms/alias.py:25
+msgid ""
+"Mailbox(es) this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Schránka/Schránky, na kterou/které bude tento alias odkazovat. Uveďte na "
+"řádek pouze jednu adresu; pro vložení další adresy stiskněte po vložení "
+"ENTER."
+
+#: extensions/admin/forms/alias.py:68
+msgid "You don't have access to this domain"
+msgstr "Nemáte oprávnění k přístupu k této doméně"
+
+#: extensions/admin/forms/alias.py:90
+msgid "Invalid mailbox"
+msgstr "Neplatná schránka"
+
+#: extensions/admin/forms/alias.py:108 extensions/admin/models/alias.py:182
+#, python-format
+msgid "Local recipient %s not found"
+msgstr "Místní příjemce %s nebyl nalezen"
+
+#: extensions/admin/forms/alias.py:112 extensions/admin/forms/alias.py:120
+#, python-format
+msgid "Recipient %s already present"
+msgstr "Příjemce %s je již vložen"
+
+#: extensions/admin/forms/alias.py:126
+msgid "No recipient defined"
+msgstr "Nebyl určen příjemce"
+
+#: extensions/admin/forms/domain.py:20
+#, 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
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+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/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/postfix_relay_domains/forms.py:49
+#: extensions/postfix_relay_domains/forms.py:71
+#, fuzzy
+msgid "domain"
+msgstr "Domény"
+
+#: extensions/admin/forms/domain.py:176
+msgid "Create a domain administrator"
+msgstr "Vytvořit správce domény"
+
+#: extensions/admin/forms/domain.py:178
+msgid "Automatically create an administrator for this domain"
+msgstr "Automaticky vytvořit správce této domény"
+
+#: extensions/admin/forms/domain.py:185
+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:193
+msgid "Create aliases"
+msgstr "Vytvořit aliasy"
+
+#: extensions/admin/forms/domain.py:195
+msgid "Automatically create standard aliases for this domain"
+msgstr "Automaticky vytvořit běžné aliasy pro tuto doménu"
+
+#: extensions/admin/forms/domain.py:211
+msgid "Invalid format"
+msgstr "Neplatný formát"
+
+#: extensions/admin/forms/domain.py:225
+#, python-format
+msgid "User '%s' already exists"
+msgstr "Uživatel '%s' již existuje"
+
+#: extensions/admin/forms/export.py:7
+msgid "File name"
+msgstr "Název souboru"
+
+#: extensions/admin/forms/export.py:10 extensions/admin/forms/import_.py:8
+msgid "Separator"
+msgstr "Oddělovač"
+
+#: extensions/admin/forms/forward.py:12
+msgid "Recipient(s)"
+msgstr "Příjemce(i)"
+
+#: extensions/admin/forms/forward.py:15
+msgid "Indicate one or more recipients separated by a ','"
+msgstr "Uveďte jednoho nebo více příjemců oddělených pomocí ','"
+
+#: extensions/admin/forms/forward.py:18
+msgid "Keep local copies"
+msgstr "Ponechat místní kopie"
+
+#: extensions/admin/forms/forward.py:20
+msgid "Forward messages and store copies into your local mailbox"
+msgstr "Přeposílat zprávy a ukládat kopie do místní schránky"
+
+#: extensions/admin/forms/forward.py:38
+msgid ""
+"You can't define a forward to a local destination. Please ask your "
+"administrator to create an alias instead."
+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:26
+msgid "Select a file"
+msgstr "Vybrat soubor"
+
+#: extensions/admin/forms/import_.py:11
+msgid "Continue on error"
+msgstr "Při výskytu chyby pokračovat"
+
+#: extensions/admin/forms/import_.py:12
+msgid "Don't treat duplicated objects as error"
+msgstr "Nepovažovat duplikáty objektů za chybu"
+
+#: extensions/admin/forms/import_.py:27
+msgid "Crypt passwords"
+msgstr "Zašifrovat hesla"
+
+#: extensions/admin/forms/import_.py:28
+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:16 extensions/admin/models/mailbox.py:51
+msgid "address"
+msgstr "adresa"
+
+#: extensions/admin/models/alias.py:18
+msgid ""
+"The alias address (without the domain part). For a 'catch-all' address, just "
+"enter an * character."
+msgstr ""
+"Alias adresy (bez části označující doménu). Pro vytvoření doménového koše "
+"vložte znak '*'."
+
+#: extensions/admin/models/alias.py:24
+msgid "mailboxes"
+msgstr "schránky"
+
+#: extensions/admin/models/alias.py:25
+msgid "The mailboxes this alias points to"
+msgstr "Schránky, na které tento alias odkazuje"
+
+#: extensions/admin/models/alias.py:29
+msgid "The aliases this alias points to"
+msgstr "Aliasy, na které tento alias odkazuje"
+
+#: extensions/admin/models/alias.py:34
+#: extensions/admin/models/domain_alias.py:18
+#: extensions/postfix_relay_domains/models.py:168
+msgid "Check to activate this alias"
+msgstr "Zatrhněte pole pro povolení tohoto aliasu"
+
+#: extensions/admin/models/alias.py:79
+msgid "distribution list"
+msgstr "distribuční seznam"
+
+#: extensions/admin/models/alias.py:80
+msgid "forward"
+msgstr "přeposlat"
+
+#: extensions/admin/models/alias.py:81
+msgid "alias"
+msgstr "alias"
+
+#: extensions/admin/models/alias.py:150
+#, python-format
+msgid "Invalid line: %s"
+msgstr "Neplatný řádek: %s"
+
+#: extensions/admin/models/alias.py:155
+#, python-format
+msgid "Domain '%s' does not exist"
+msgstr "Doména '%s' neexistuje"
+
+#: extensions/admin/models/domain.py:28
+#: extensions/admin/models/domain_alias.py:10
+#: extensions/postfix_relay_domains/models.py:58
+#: extensions/postfix_relay_domains/models.py:76
+#: extensions/postfix_relay_domains/models.py:159
+msgid "name"
+msgstr "název"
+
+#: extensions/admin/models/domain.py:29
+#: extensions/postfix_relay_domains/models.py:77
+msgid "The domain name"
+msgstr "Doménové jméno"
+
+#: extensions/admin/models/domain.py:33
+#: extensions/postfix_relay_domains/models.py:86
+msgid "Check to activate this domain"
+msgstr "Zatrhněte pole pro povolení této domény"
+
+#: extensions/admin/models/domain.py:61
+#, fuzzy
+msgid "Domain"
+msgstr "Domény"
+
+#: extensions/admin/models/domain.py:140
+#, python-format
+msgid "Invalid quota value for domain '%s'"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:11
+#: extensions/postfix_relay_domains/models.py:160
+msgid "The alias name"
+msgstr "Název aliasu"
+
+#: extensions/admin/models/domain_alias.py:13
+#: extensions/postfix_relay_domains/models.py:163
+msgid "target"
+msgstr "cíl"
+
+#: extensions/admin/models/domain_alias.py:14
+msgid "The domain this alias points to"
+msgstr "Doména, na kterou tento alias odkazuje"
+
+#: extensions/admin/models/domain_alias.py:46
+#, fuzzy, python-format
+msgid "A domain %s already exists"
+msgstr "Schránka %s již existuje"
+
+#: extensions/admin/models/domain_alias.py:51
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Neznámá doména %s"
+
+#: extensions/admin/models/mailbox.py:52
+msgid "Mailbox address (without the @domain.tld part)"
+msgstr "Adresa schránky (bez části @doména.tld)"
+
+#: extensions/admin/models/mailbox.py:113
+#, 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:173
+#, 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:178
+msgid "A quota is required"
+msgstr "Kvóta je vyžadována"
+
+#: extensions/admin/templates/admin/domain_general_form.html:3
+#: extensions/admin/templates/admin/mailform.html:3
+#: extensions/admin/templates/admin/newdomainform.html:3
+msgid "MB"
+msgstr "MB"
+
+#: extensions/admin/templates/admin/domain_options_form.html:5
+#, fuzzy
+msgid "You can't create a new domain administrator"
+msgstr "Vytvořit správce domény"
+
+#: extensions/admin/templates/admin/domains_table.html:7
+#: extensions/admin/templates/admin/identities_table.html:7
+msgid "Tags"
+msgstr "Značky"
+
+#: extensions/admin/templates/admin/domains_table.html:8
+#: extensions/admin/templates/admin/identities_table.html:8
+#: extensions/admin/templates/admin/listing.html:17
+#: extensions/sievefilters/views.py:93
+#: extensions/sievefilters/templates/sievefilters/filter.html:17
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
+#: extensions/webmail/templatetags/webmail_tags.py:101
+msgid "Actions"
+msgstr "Akce"
+
+#: extensions/admin/templates/admin/editdomainform.html:4
+msgid "Administrators"
+msgstr "Správci"
+
+#: extensions/admin/templates/admin/editdomainform.html:19
+msgid "No domain administrator defined"
+msgstr " Nebyl určen správce domény"
+
+#: extensions/admin/templates/admin/editdomainform.html:22
+msgid "Creation date"
+msgstr "Datum vytvoření"
+
+#: extensions/admin/templates/admin/editdomainform.html:23
+msgid "Last modification date"
+msgstr "Datum poslední změny"
+
+#: extensions/admin/templates/admin/editdomainform.html:24
+#: extensions/limits/app_settings.py:25 extensions/limits/models.py:20
+msgid "Domain aliases"
+msgstr "Doménové aliasy"
+
+#: extensions/admin/templates/admin/editdomainform.html:26
+#: extensions/limits/app_settings.py:37 extensions/limits/models.py:25
+msgid "Mailbox aliases"
+msgstr "Aliasy schránek"
+
+#: extensions/admin/templates/admin/forward.html:2
+msgid "Automatically forward emails to another address"
+msgstr "Automaticky přesměrovat emaily na jinou adresu"
+
+#: extensions/admin/templates/admin/identities_table.html:6
+msgid "Fullname/Recipient"
+msgstr "Celé jméno/Příjemce"
+
+#: extensions/admin/templates/admin/importform.html:5
+msgid "Help"
+msgstr "Nápověda"
+
+#: extensions/admin/templates/admin/importform.html:12
+msgid "Importing..."
+msgstr "Importuji..."
+
+#: extensions/admin/templates/admin/listing.html:14
+#: extensions/stats/templates/stats/index.html:28
+msgid "Filter"
+msgstr "Filtr"
+
+#: extensions/admin/templates/admin/mailboxes_raw.html:3
+msgid "Choose a value"
+msgstr "Zvolte hodnotu"
+
+#: extensions/admin/templates/admin/mailform.html:3
+msgid "Use domain default value"
+msgstr "Použít výchozí hodnotu domény"
+
+#: extensions/admin/templates/admin/quotas.html:5
+msgid "Address"
+msgstr "Adresa"
+
+#: extensions/admin/templates/admin/quotas.html:6
+msgid "Value"
+msgstr "Hodnota"
+
+#: extensions/admin/templates/admin/quotas.html:7
+msgid "Limit"
+msgstr "Omezení"
+
+#: extensions/admin/templates/admin/quotas.html:8
+#, python-format
+msgid "Usage (%%)"
+msgstr "Využití (%%)"
+
+#: extensions/admin/templates/admin/searchform.html:6
+msgid "Search"
+msgstr "Hledat"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_m"
+msgstr "Aktivovaný"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_f"
+msgstr "Aktivovaná"
+
+#: extensions/admin/templatetags/admin_tags.py:33
+msgid "Add domain"
+msgstr "Přidat doménu"
+
+#: extensions/admin/templatetags/admin_tags.py:42
+#: extensions/admin/templatetags/admin_tags.py:106
+#: extensions/admin/views/import.py:51 extensions/admin/views/import.py:166
+msgid "Import"
+msgstr "Import"
+
+#: extensions/admin/templatetags/admin_tags.py:48
+#: extensions/admin/templatetags/admin_tags.py:112
+#: extensions/admin/views/export.py:38 extensions/admin/views/export.py:64
+msgid "Export"
+msgstr "Export"
+
+#: extensions/admin/templatetags/admin_tags.py:72
+msgid "List identities"
+msgstr "Seznam identit"
+
+#: extensions/admin/templatetags/admin_tags.py:77
+msgid "List quotas"
+msgstr "Seznam kvót"
+
+#: extensions/admin/templatetags/admin_tags.py:82
+msgid "Add account"
+msgstr "Přidat účet"
+
+#: extensions/admin/templatetags/admin_tags.py:88
+msgid "Add alias"
+msgstr "Přidat alias"
+
+#: extensions/admin/templatetags/admin_tags.py:94
+msgid "Add forward"
+msgstr "Přidat přeposílání"
+
+#: extensions/admin/templatetags/admin_tags.py:100
+msgid "Add distribution list"
+msgstr "Přidat distribuční seznam"
+
+#: extensions/admin/templatetags/admin_tags.py:133
+msgid "View the domain's identities"
+msgstr "Zobrazit seznam identit domény"
+
+#: extensions/admin/templatetags/admin_tags.py:143
+#: extensions/admin/templatetags/admin_tags.py:162
+#: extensions/admin/templatetags/admin_tags.py:169
+#: extensions/postfix_relay_domains/general_callbacks.py:84
+#, python-format
+msgid "Delete %s?"
+msgstr "Smazat %s?"
+
+#: extensions/admin/templatetags/admin_tags.py:239
+msgid "Remove this permission"
+msgstr "Odstranit toto oprávnění"
+
+#: extensions/admin/views/alias.py:25
+msgid "Alias with this name already exists"
+msgstr "Alias s tímto názvem již existuje"
+
+#: extensions/admin/views/alias.py:49 extensions/admin/views/domain.py:100
+#: extensions/admin/views/domain.py:129 extensions/admin/views/identity.py:131
+#: extensions/admin/views/identity.py:158
+#: extensions/postfix_relay_domains/views.py:32
+#: extensions/sievefilters/views.py:141 extensions/sievefilters/views.py:230
+#: extensions/webmail/views.py:151
+msgid "Create"
+msgstr "Vytvořit"
+
+#: extensions/admin/views/alias.py:61
+msgid "New distribution list"
+msgstr "Nový distribuční seznam"
+
+#: extensions/admin/views/alias.py:62
+msgid "Distribution list created"
+msgstr "Distribuční seznam vytvořen"
+
+#: extensions/admin/views/alias.py:71
+msgid "New alias"
+msgstr "Nový alias"
+
+#: extensions/admin/views/alias.py:72
+msgid "Alias created"
+msgstr "Alias vytvořen"
+
+#: extensions/admin/views/alias.py:81
+msgid "New forward"
+msgstr "Nové přeposílání"
+
+#: extensions/admin/views/alias.py:82
+msgid "Forward created"
+msgstr "Přeposílání vytvořeno"
+
+#: extensions/admin/views/alias.py:95
+msgid "Distribution list modified"
+msgstr "Distribuční seznam upraven"
+
+#: extensions/admin/views/alias.py:97
+msgid "Forward modified"
+msgstr "Přeposílání upraveno"
+
+#: extensions/admin/views/alias.py:99
+msgid "Alias modified"
+msgstr "Alias upraven"
+
+#: extensions/admin/views/domain.py:96 extensions/admin/views/identity.py:128
+msgid "Next"
+msgstr "Další"
+
+#: extensions/admin/views/domain.py:99
+msgid "Options"
+msgstr "Možnosti"
+
+#: extensions/admin/views/domain.py:101 extensions/admin/views/identity.py:132
+msgid "Previous"
+msgstr "Předchozí"
+
+#: extensions/admin/views/domain.py:123
+msgid "Domain created"
+msgstr "Doména vytvořena"
+
+#: extensions/admin/views/domain.py:128
+msgid "New domain"
+msgstr "Nová doména"
+
+#: extensions/admin/views/domain.py:155
+msgid "Domain modified"
+msgstr "Doména upravena"
+
+#: extensions/admin/views/domain.py:189
+msgid "You can't delete your own domain"
+msgstr "Nemůžete smazat vlastní doménu"
+
+#: extensions/admin/views/domain.py:192
+msgid "Domain deleted"
+msgid_plural "Domains deleted"
+msgstr[0] "Doména smazána"
+msgstr[1] "Domény smazány"
+msgstr[2] "Domén smazáno"
+
+#: extensions/admin/views/export.py:37
+msgid "Export identities"
+msgstr "Exportovat identity"
+
+#: extensions/admin/views/export.py:63
+msgid "Export domains"
+msgstr "Exportovat domény"
+
+#: extensions/admin/views/identity.py:103
+#: extensions/admin/views/identity.py:224
+#: extensions/admin/views/identity.py:229 extensions/amavis/views.py:179
+#: extensions/amavis/views.py:185 extensions/amavis/views.py:220
+#: extensions/amavis/views.py:224 extensions/amavis/views.py:226
+#: extensions/webmail/views.py:47 extensions/webmail/views.py:65
+#: extensions/webmail/views.py:79 extensions/webmail/views.py:97
+#: extensions/webmail/views.py:114 extensions/webmail/views.py:200
+#: extensions/webmail/views.py:223 extensions/webmail/views.py:396
+#: extensions/webmail/views.py:430 extensions/webmail/views.py:443
+#: extensions/webmail/views.py:472 extensions/webmail/views.py:513
+#: lib/formutils.py:44 lib/formutils.py:49
+msgid "Invalid request"
+msgstr "Neplatný požadavek"
+
+#: extensions/admin/views/identity.py:149
+msgid "Account created"
+msgstr "Účet vytvořen"
+
+#: extensions/admin/views/identity.py:155
+msgid "New account"
+msgstr "Nový účet"
+
+#: extensions/admin/views/identity.py:190
+msgid "Account updated"
+msgstr "Účet aktualizován"
+
+#: extensions/admin/views/identity.py:214
+msgid "Account deleted"
+msgid_plural "Accounts deleted"
+msgstr[0] "Účet smazán"
+msgstr[1] "Účty smazány"
+msgstr[2] "Účtů smazáno"
+
+#: extensions/admin/views/import.py:39
+#, fuzzy, python-format
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených "
+"formátů:\n"
+"\n"
+" domain; název; kvóta; povoleno \n"
+" domainalias; název; cílová doména; povoleno \n"
+" \n"
+"První element každého řádku je povinný a musí být shodný s některou z "
+"předchozích hodnot.
\n"
+"Můžete také použít odlišný oddělovač hodnot.
\n"
+
+#: extensions/admin/views/import.py:50
+msgid "Import domains"
+msgstr "Importovat domény"
+
+#: extensions/admin/views/import.py:129
+#, python-format
+msgid "Object already exists: %s"
+msgstr "Objekt již existuje: %s"
+
+#: extensions/admin/views/import.py:133
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d objektů úspěšně importováno"
+
+#: extensions/admin/views/import.py:153
+#, fuzzy
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených "
+"formátů:\n"
+"\n"
+"account; přihlašovacíjméno; heslo; křestní jméno; příjmení; "
+"povoleno; skupina; adresa[, doména, ...] \n"
+"alias; adresa; povoleno; interní příjemce \n"
+"forward; adresa; povoleno; externí příjemce \n"
+"dlist; adresa; povoleno; příjemce; příjemce; ... \n"
+" \n"
+"První element každého řádku je povinný a musí být shodný s některou z "
+"předchozích hodnot.
\n"
+"\n"
+"Můžete také použít odlišný oddělovač hodnot.
\n"
+
+#: extensions/admin/views/import.py:165
+msgid "Import identities"
+msgstr "Importovat identity"
+
+#: extensions/admin/views/user.py:37
+msgid "Forward updated"
+msgstr "Přeposílání aktualizováno"
+
+#: extensions/amavis/__init__.py:21
msgid "Simple amavis management frontend"
msgstr "Jednoduché rozhraní pro správu amavis"
-#: extensions/amavis/__init__.py:45 extensions/amavis/__init__.py:61
+#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:17
msgid "Quarantine"
msgstr "Karanténa"
-#: extensions/amavis/__init__.py:129
-msgid "pending requests"
-msgstr "nevyřízené požadavky"
-
-#: extensions/amavis/__init__.py:149
-#, python-format
-msgid "%d pending requests"
-msgstr "%d nevyřízených požadavků"
-
-#: extensions/amavis/__init__.py:161
-msgid "Content filter"
-msgstr "Filtr obsahu"
-
#: extensions/amavis/app_settings.py:11
msgid "Quarantine settings"
msgstr "Nastavení karantény"
@@ -1303,11 +1545,6 @@ msgstr "Odesílatel upozornění"
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:87 extensions/webmail/app_settings.py:73
-#: userprefs/app_settings.py:18
-msgid "Display"
-msgstr "Zobrazení"
-
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
msgid "Number of displayed emails per page"
msgstr "Počet zobrazených zpráv na stránce"
@@ -1316,7 +1553,20 @@ msgstr "Počet zobrazených zpráv na stránce"
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/lib.py:53
+#: extensions/amavis/general_callbacks.py:81
+msgid "pending requests"
+msgstr "nevyřízené požadavky"
+
+#: extensions/amavis/general_callbacks.py:124
+#, fuzzy
+msgid "Pending requests"
+msgstr "nevyřízené požadavky"
+
+#: extensions/amavis/general_callbacks.py:134
+msgid "Content filter"
+msgstr "Filtr obsahu"
+
+#: extensions/amavis/lib.py:57
#, python-format
msgid "Connection to amavis failed: %s"
msgstr "Spojení s amavis selhalo: %s"
@@ -1326,12 +1576,12 @@ msgid "Virus filter"
msgstr "Filtr virů"
#: extensions/amavis/models.py:94 extensions/amavis/models.py:102
-#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:281
+#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:290
msgid "yes"
msgstr "ano"
#: extensions/amavis/models.py:95 extensions/amavis/models.py:103
-#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:285
+#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:294
msgid "no"
msgstr "ne"
@@ -1379,31 +1629,36 @@ msgstr ""
"Upravit předmět nevyžádané zprávy uvedeným textem. Pro zachování globálního "
"nastavení serveru zatrhněte 'výchozí'."
-#: extensions/amavis/sql_listing.py:23 extensions/webmail/lib.py:37
-msgid "From"
-msgstr "Od"
+#: extensions/amavis/sql_listing.py:31
+msgid "Score"
+msgstr ""
-#: extensions/amavis/sql_listing.py:24 extensions/sievefilters/forms.py:68
-#: extensions/webmail/forms.py:10 extensions/webmail/lib.py:36
-#: extensions/webmail/lib.py:409 templates/common/email_searchbar.html:6
-msgid "Subject"
-msgstr "Předmět"
-
-#: extensions/amavis/sql_listing.py:26
-#: extensions/amavis/templatetags/amextras.py:102
+#: extensions/amavis/sql_listing.py:35
+#: extensions/amavis/templatetags/amavis_tags.py:75
#: extensions/webmail/forms.py:7
msgid "To"
msgstr "Komu"
-#: extensions/amavis/views.py:43
+#: extensions/amavis/sql_listing.py:38
+#: extensions/postfix_autoreply/forms.py:11 extensions/webmail/lib.py:44
+msgid "From"
+msgstr "Od"
+
+#: extensions/amavis/sql_listing.py:42 extensions/sievefilters/forms.py:77
+#: extensions/webmail/forms.py:11 extensions/webmail/lib.py:40
+#: extensions/webmail/lib.py:423 templates/common/email_searchbar.html:6
+msgid "Subject"
+msgstr "Předmět"
+
+#: extensions/amavis/views.py:27
msgid "Empty quarantine"
msgstr "Vyprázdnit karanténu"
-#: extensions/amavis/views.py:211
+#: extensions/amavis/views.py:186
msgid "Message deleted"
msgstr "Zpráva smazána"
-#: extensions/amavis/views.py:232
+#: extensions/amavis/views.py:207
#, python-format
msgid "%(count)d message deleted successfully"
msgid_plural "%(count)d messages deleted successfully"
@@ -1411,15 +1666,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:252
+#: extensions/amavis/views.py:229
msgid "Request sent"
msgstr "Požadavek odeslán"
-#: extensions/amavis/views.py:258
+#: extensions/amavis/views.py:235
msgid "Message released"
msgstr "Zprávy odblokována"
-#: extensions/amavis/views.py:280
+#: extensions/amavis/views.py:268
#, python-format
msgid "%(count)d request sent"
msgid_plural "%(count)d requests sent"
@@ -1427,7 +1682,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:304
+#: extensions/amavis/views.py:288
#, python-format
msgid "%(count)d message released successfully"
msgid_plural "%(count)d messages released successfully"
@@ -1455,6 +1710,80 @@ msgstr "nebo více zahodí spam zprávu"
msgid "Quarantine management"
msgstr "Nastavení karantény"
+#: extensions/amavis/templates/amavis/main_action_bar.html:3
+#, fuzzy
+msgid "Select"
+msgstr "Vybrat soubor"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:9
+msgid "Spam"
+msgstr "Spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:10
+msgid "Virus"
+msgstr "Vir"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:11
+#, fuzzy
+msgid "Bad Header"
+msgstr "Chybné záhlaví"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:12
+msgid "Bad MIME"
+msgstr "Špatný MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:13
+#, 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
+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/webmail/templatetags/webmail_tags.py:32
+msgid "Delete"
+msgstr "Smazat"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+#: extensions/sievefilters/forms.py:64
+msgid "All messages"
+msgstr "Všechny zprávy"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+msgid "All"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:32
+#, fuzzy
+msgid "Spam only"
+msgstr "Spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:33
+#, fuzzy
+msgid "Virus only"
+msgstr "Vir"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:34
+#, fuzzy
+msgid "Bad Header only"
+msgstr "Chybné záhlaví"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:35
+#, fuzzy
+msgid "Bad MIME only"
+msgstr "Špatný MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:36
+#, fuzzy
+msgid "Banned only"
+msgstr "Filtr zakázané pošty"
+
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:1
#, python-format
msgid ""
@@ -1502,72 +1831,26 @@ 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/amextras.py:20
-#: extensions/amavis/templatetags/amextras.py:52
-#: extensions/amavis/templatetags/amextras.py:72
-msgid "Release"
-msgstr "Odblokovat"
-
-#: extensions/amavis/templatetags/amextras.py:26
-#: extensions/amavis/templatetags/amextras.py:59
-#: extensions/amavis/templatetags/amextras.py:77
-#: extensions/webmail/templatetags/webextras.py:31
-msgid "Delete"
-msgstr "Smazat"
-
-#: extensions/amavis/templatetags/amextras.py:29
+#: extensions/amavis/templatetags/amavis_tags.py:28
msgid "View full headers"
msgstr "Zobrazit úplné záhlaví"
-#: extensions/amavis/templatetags/amextras.py:80
-msgid "Content Class"
-msgstr "Třída obsahu"
-
-#: extensions/amavis/templatetags/amextras.py:84
-msgid "Nothing"
-msgstr "Nic"
-
-#: extensions/amavis/templatetags/amextras.py:87
-msgid "Spam"
-msgstr "Spam"
-
-#: extensions/amavis/templatetags/amextras.py:90
-msgid "Virus"
-msgstr "Vir"
-
-#: extensions/amavis/templatetags/amextras.py:93
-msgid "Bad header"
-msgstr "Chybné záhlaví"
-
-#: extensions/amavis/templatetags/amextras.py:96
-msgid "Bad MIME"
-msgstr "Špatný MIME"
-
-#: extensions/limits/__init__.py:23
+#: extensions/limits/__init__.py:25
msgid ""
"Per administrator resources to limit the number of objects they can create"
msgstr ""
"Každému správci dostupné zdroje omezující počet objektů, které mohou správci "
"vytvořit"
-#: extensions/limits/__init__.py:54
+#: extensions/limits/__init__.py:56
msgid "Limits"
msgstr "Omezení"
-#: extensions/limits/__init__.py:65
-msgid "Reseller"
-msgstr "Distributor"
-
-#: extensions/limits/__init__.py:94
-msgid "Resources"
-msgstr "Zdroje"
-
#: extensions/limits/app_settings.py:10
msgid "Default limits"
msgstr "Výchozí omezení"
-#: extensions/limits/app_settings.py:13 extensions/limits/forms.py:12
-#: extensions/limits/models.py:11
+#: extensions/limits/app_settings.py:13 extensions/limits/models.py:14
msgid "Domain admins"
msgstr "Správci domén"
@@ -1591,56 +1874,64 @@ msgstr "Maximální povolený počet schránek (nastavení nového správce)"
msgid "Maximum number of allowed aliases for a new administrator"
msgstr "Maximální povolený počet aliasů (nastavení nového správce)"
-#: extensions/limits/forms.py:13
+#: extensions/limits/forms.py:28 extensions/limits/forms.py:35
+msgid "Invalid limit"
+msgstr "Neplatné omezení"
+
+#: extensions/limits/forms.py:57
+msgid "Your resources are not initialized yet"
+msgstr "Vaše zdroje nebyly dosud definovány"
+
+#: extensions/limits/forms.py:61
+msgid "You're not allowed to define unlimited values"
+msgstr "Nemáte oprávnění nastavovat neomezené hodnoty"
+
+#: extensions/limits/general_callbacks.py:10
+msgid "Reseller"
+msgstr "Distributor"
+
+#: extensions/limits/general_callbacks.py:48
+msgid "Resources"
+msgstr "Zdroje"
+
+#: extensions/limits/lib.py:19
+#, python-format
+msgid "%s: limit reached"
+msgstr "%s: limit byl dosažen"
+
+#: extensions/limits/lib.py:29
+msgid "Not enough resources"
+msgstr "Nedostatek zdrojů"
+
+#: extensions/limits/models.py:15
msgid "Maximum number of domain administrators this user can create"
msgstr ""
"Maximální povolený počet správců domény, které může tento uživatel vytvořit"
-#: extensions/limits/forms.py:17
+#: extensions/limits/models.py:18
msgid "Maximum number of domains this user can create"
msgstr "Maximální povolený počet domén, které může tento uživatel vytvořit"
-#: extensions/limits/forms.py:21
+#: extensions/limits/models.py:21
msgid "Maximum number of domain aliases this user can create"
msgstr ""
"Maximální povolený počet doménových aliasů, které může tento uživatel "
"vytvořit"
-#: extensions/limits/forms.py:25
+#: extensions/limits/models.py:24
msgid "Maximum number of mailboxes this user can create"
msgstr "Maximální povolený počet schránek, které může tento uživatel vytvořit"
-#: extensions/limits/forms.py:29
+#: extensions/limits/models.py:26
msgid "Maximum number of mailbox aliases this user can create"
msgstr ""
"Maximální povolený počet aliasů chránek, které může tento uživatel vytvořit"
-#: extensions/limits/forms.py:46
-msgid "Invalid limit"
-msgstr "Neplatné omezení"
-
-#: extensions/limits/forms.py:74
-msgid "Your resources are not initialized yet"
-msgstr "Vaše zdroje nebyly dosud definovány"
-
-#: extensions/limits/forms.py:78
-msgid "You're not allowed to define unlimited values"
-msgstr "Nemáte oprávnění nastavovat neomezené hodnoty"
-
-#: extensions/limits/lib.py:16
-#, python-format
-msgid "%s: limit reached"
-msgstr "%s: limit byl dosažen"
-
-#: extensions/limits/lib.py:23
-msgid "Not enough resources"
-msgstr "Nedostatek zdrojů"
-
-#: extensions/limits/models.py:103
+#: extensions/limits/models.py:136
msgid "undefined"
msgstr "nedefinováno"
-#: extensions/limits/models.py:105
+#: extensions/limits/models.py:138
msgid "unlimited"
msgstr "neomezeno"
@@ -1648,19 +1939,14 @@ msgstr "neomezeno"
msgid "Resources usage"
msgstr "Využití zdrojů"
-#: extensions/postfix_autoreply/__init__.py:20
+#: extensions/postfix_autoreply/__init__.py:26
msgid "Auto-reply (vacation) functionality using Postfix"
msgstr "Funkce automatické odpovědi (vacation) Postfix"
-#: extensions/postfix_autoreply/__init__.py:41
+#: extensions/postfix_autoreply/__init__.py:47
msgid "Automatic replies"
msgstr "Automatické odpovědi"
-#: extensions/postfix_autoreply/__init__.py:79
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
-msgid "Auto-reply message"
-msgstr "Automatická odpověď"
-
#: extensions/postfix_autoreply/app_settings.py:14
msgid "Automatic reply timeout"
msgstr "Interval automatické odpovědi"
@@ -1670,39 +1956,98 @@ msgid "Timeout in seconds between two auto-replies to the same recipient"
msgstr ""
"Interval v sekundách mezi dvěmi automatickými odpověďmi stejnému příjemci"
-#: extensions/postfix_autoreply/forms.py:9
+#: extensions/postfix_autoreply/app_settings.py:20
+#, fuzzy
+msgid "Default subject"
+msgstr "Výchozí editor"
+
+#: extensions/postfix_autoreply/app_settings.py:21
+msgid "I'm off"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:23
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:28
+#, fuzzy
+msgid "Default content"
+msgstr "Výchozí editor"
+
+#: extensions/postfix_autoreply/app_settings.py:30
+#, python-format
+msgid ""
+"I'm currently off. I'll answer as soon as I come back.\n"
+"\n"
+"Best regards,\n"
+"%(name)s\n"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:36
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: extensions/postfix_autoreply/forms.py:13
+#, fuzzy
+msgid "Activate your auto reply from this date"
+msgstr "Povolit automatické odpovědi až do uvedeného data"
+
+#: extensions/postfix_autoreply/forms.py:19
msgid "Until"
msgstr "Do"
-#: extensions/postfix_autoreply/forms.py:11
+#: extensions/postfix_autoreply/forms.py:21
msgid "Activate your auto reply until this date"
msgstr "Povolit automatické odpovědi až do uvedeného data"
-#: extensions/postfix_autoreply/forms.py:25
+#: extensions/postfix_autoreply/forms.py:49
+#: extensions/postfix_autoreply/forms.py:55
msgid "This date is over"
msgstr "Zvolené datum je v minulosti"
-#: extensions/postfix_autoreply/models.py:19
+#: extensions/postfix_autoreply/forms.py:59
+#, fuzzy
+msgid "Must be greater than start date"
+msgstr "Je větší než"
+
+#: extensions/postfix_autoreply/general_callbacks.py:33
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Auto-reply message"
+msgstr "Automatická odpověď"
+
+#: extensions/postfix_autoreply/general_callbacks.py:118
+msgid "Enable auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:120
+msgid "Enable or disable Postfix auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/models.py:20
msgid "subject"
msgstr "předmět"
-#: extensions/postfix_autoreply/models.py:20
+#: extensions/postfix_autoreply/models.py:21
msgid "The subject that will appear in sent emails"
msgstr "Předmět, který se vloží do odesílaných emailů"
-#: extensions/postfix_autoreply/models.py:23
+#: extensions/postfix_autoreply/models.py:24
msgid "content"
msgstr "obsah"
-#: extensions/postfix_autoreply/models.py:24
+#: extensions/postfix_autoreply/models.py:25
msgid "The content that will appear in sent emails"
msgstr "Obsah, který se vloží do odesílaných emailů"
-#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_autoreply/models.py:29
msgid "Activate/Deactivate your auto reply"
msgstr "Povolit/Zakázat automatickou odpověď"
-#: extensions/postfix_autoreply/views.py:37
+#: extensions/postfix_autoreply/views.py:34
msgid "Auto reply message updated successfully."
msgstr "Automatická odpověď byla aktualizována."
@@ -1710,16 +2055,161 @@ msgstr "Automatická odpověď byla aktualizována."
msgid "Define a message to automatically send when you are off"
msgstr "Vložte zprávu, která se během vaší nepřítomnosti automaticky odešle"
+#: extensions/postfix_relay_domains/__init__.py:72
+msgid "Relay domains support for Postfix"
+msgstr ""
+
+#: extensions/postfix_relay_domains/__init__.py:89
+#: extensions/postfix_relay_domains/general_callbacks.py:100
+#: extensions/postfix_relay_domains/limits_callbacks.py:16
+#, fuzzy
+msgid "Relay domains"
+msgstr "Nová doména"
+
+#: extensions/postfix_relay_domains/app_settings.py:10
+msgid "Postfix's master.cf path"
+msgstr ""
+
+#: extensions/postfix_relay_domains/app_settings.py:12
+#, fuzzy
+msgid "Path to the master.cf configuration file"
+msgstr "Cesta k souboru záznamů"
+
+#: extensions/postfix_relay_domains/forms.py:15
+#, fuzzy
+msgid ""
+"Alias(es) of this relay domain. Indicate only one name per input, press "
+"ENTER to add a new input."
+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/postfix_relay_domains/forms.py:51
+#: extensions/postfix_relay_domains/general_callbacks.py:93
+#, fuzzy
+msgid "relay domain alias"
+msgstr "Doménové aliasy"
+
+#: extensions/postfix_relay_domains/forms.py:69
+#: extensions/postfix_relay_domains/general_callbacks.py:92
+#, fuzzy
+msgid "relay domain"
+msgstr "Nová doména"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:35
+#, fuzzy
+msgid "Add relay domain"
+msgstr "Přidat doménu"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:101
+#, fuzzy
+msgid "Maximum number of relay domains this user can create"
+msgstr "Maximální povolený počet domén, které může tento uživatel vytvořit"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:103
+#: extensions/postfix_relay_domains/limits_callbacks.py:24
+#, fuzzy
+msgid "Relay domain aliases"
+msgstr "Doménové aliasy"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:104
+#, fuzzy
+msgid "Maximum number of relay domain aliases this user can create"
+msgstr ""
+"Maximální povolený počet doménových aliasů, které může tento uživatel "
+"vytvořit"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:111
+msgid ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients"
+"em> \n"
+"relaydomainalias; name; target; enabled \n"
+msgstr ""
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:19
+#, fuzzy
+msgid "Maximum number of allowed relay domains for a new administrator"
+msgstr "Maximální povolený počet domén (nastavení nového správce)"
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:27
+#, fuzzy
+msgid "Maximum number of allowed relay domain aliases for a new administrator"
+msgstr "Maximální povolený počet doménových aliasů (nastavení nového správce)"
+
+#: extensions/postfix_relay_domains/models.py:59
+#, fuzzy
+msgid "The service name"
+msgstr "Název aliasu"
+
+#: extensions/postfix_relay_domains/models.py:80
+#, fuzzy
+msgid "target host"
+msgstr "cíl"
+
+#: extensions/postfix_relay_domains/models.py:81
+#, fuzzy
+msgid "Remote destination of this domain"
+msgstr "Zatrhněte pole pro povolení této domény"
+
+#: extensions/postfix_relay_domains/models.py:89
+#, fuzzy
+msgid "verify recipients"
+msgstr "Příjemci"
+
+#: extensions/postfix_relay_domains/models.py:90
+msgid "Check for valid recipients"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:103
+#, fuzzy
+msgid "Relay Domain"
+msgstr "Nová doména"
+
+#: extensions/postfix_relay_domains/models.py:164
+#, fuzzy
+msgid "The relay domain this alias points to"
+msgstr "Doména, na kterou tento alias odkazuje"
+
+#: extensions/postfix_relay_domains/models.py:195
+#, fuzzy, python-format
+msgid "Relay domain %s does not exist"
+msgstr "Doména '%s' neexistuje"
+
+#: extensions/postfix_relay_domains/views.py:26
+#, fuzzy
+msgid "Relay domain created"
+msgstr "Doména vytvořena"
+
+#: extensions/postfix_relay_domains/views.py:31
+#, fuzzy
+msgid "New relay domain"
+msgstr "Nová doména"
+
+#: extensions/postfix_relay_domains/views.py:54
+#, fuzzy
+msgid "Relay domain modified"
+msgstr "Doména upravena"
+
+#: extensions/postfix_relay_domains/views.py:77
+#, fuzzy
+msgid "Relay domain deleted"
+msgstr "Doména smazána"
+
+#: extensions/postfix_relay_domains/templates/postfix_relay_domains/service_field.html:2
+msgid "Scan"
+msgstr ""
+
#: extensions/sievefilters/__init__.py:12
msgid "Plugin to easily create server-side filters"
msgstr "Doplněk pro jednoduchou tvorbu filtrů zpráv na serveru"
-#: extensions/sievefilters/__init__.py:17
+#: extensions/sievefilters/__init__.py:18
msgid "Sieve filters"
msgstr "Sieve filtry"
-#: extensions/sievefilters/__init__.py:18
-#: extensions/sievefilters/__init__.py:36
+#: extensions/sievefilters/__init__.py:19
+#: extensions/sievefilters/general_callbacks.py:14
#: extensions/sievefilters/templates/sievefilters/index.html:2
msgid "Message filters"
msgstr "Filtry zpráv"
@@ -1760,125 +2250,121 @@ msgstr "Režim úpravy"
msgid "Select the mode you want the editor to work in"
msgstr "Zvolte režim editoru textu, ve kterém si přejete pracovat"
-#: extensions/sievefilters/forms.py:14
+#: extensions/sievefilters/forms.py:16
msgid "Check to activate this filters set"
msgstr "Zatrhněte pole pro povolení této sady filtrů"
-#: extensions/sievefilters/forms.py:55
+#: extensions/sievefilters/forms.py:62
msgid "All of the following"
msgstr "Všechna pravidla"
-#: extensions/sievefilters/forms.py:56
+#: extensions/sievefilters/forms.py:63
msgid "Any of the following"
msgstr "Alespoň jedno z pravidel"
-#: extensions/sievefilters/forms.py:57
-msgid "All messages"
-msgstr "Všechny zprávy"
-
-#: extensions/sievefilters/forms.py:62
+#: extensions/sievefilters/forms.py:70
msgid "contains"
msgstr "obsahuje"
-#: extensions/sievefilters/forms.py:63
+#: extensions/sievefilters/forms.py:71
msgid "does not contain"
msgstr "neobsahuje"
-#: extensions/sievefilters/forms.py:64
+#: extensions/sievefilters/forms.py:72
msgid "is"
msgstr "je"
-#: extensions/sievefilters/forms.py:65
+#: extensions/sievefilters/forms.py:73
msgid "is not"
msgstr "není"
-#: extensions/sievefilters/forms.py:69
+#: extensions/sievefilters/forms.py:78
msgid "Sender"
msgstr "Odesílatel"
-#: extensions/sievefilters/forms.py:70
+#: extensions/sievefilters/forms.py:79
msgid "Recipient"
msgstr "Příjemce"
-#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:8
+#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:8
msgid "Cc"
msgstr "Kopie"
-#: extensions/sievefilters/forms.py:72
+#: extensions/sievefilters/forms.py:81
msgid "Size"
msgstr "Velikost"
-#: extensions/sievefilters/forms.py:73
+#: extensions/sievefilters/forms.py:82
msgid "is greater than"
msgstr "Je větší než"
-#: extensions/sievefilters/forms.py:74
+#: extensions/sievefilters/forms.py:83
msgid "is less than"
msgstr "Je menší než"
-#: extensions/sievefilters/forms.py:78
+#: extensions/sievefilters/forms.py:87
msgid "Move message to"
msgstr "Přesunout zprávu do"
-#: extensions/sievefilters/forms.py:80
+#: extensions/sievefilters/forms.py:89
msgid "Redirect message to"
msgstr "Přesměrovat zprávu na"
-#: extensions/sievefilters/lib.py:37
+#: extensions/sievefilters/lib.py:40
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "Spojení se serverem ManageSieve selhalo, zkontrolujte nastavení"
-#: extensions/sievefilters/lib.py:82
+#: extensions/sievefilters/lib.py:85
msgid "Not enough space on server"
msgstr "Nedostatek prostoru na serveru"
-#: extensions/sievefilters/views.py:68
+#: extensions/sievefilters/views.py:78
msgid "Failed to retrieve filters set"
msgstr "Nebylo možné získat sadu filtrů"
-#: extensions/sievefilters/views.py:126
+#: extensions/sievefilters/views.py:138
#: extensions/sievefilters/templatetags/sfilters_tags.py:33
msgid "New filter"
msgstr "Nový filtr"
-#: extensions/sievefilters/views.py:133
+#: extensions/sievefilters/views.py:146
msgid "Filter created"
msgstr "Filtr vytvořen"
-#: extensions/sievefilters/views.py:145
-#: extensions/sievefilters/templatetags/sfilters_tags.py:77
+#: extensions/sievefilters/views.py:160
+#: extensions/sievefilters/templatetags/sfilters_tags.py:78
msgid "Edit filter"
msgstr "Upravit filtr"
-#: extensions/sievefilters/views.py:154
+#: extensions/sievefilters/views.py:169
msgid "Filter modified"
msgstr "Filtr upraven"
-#: extensions/sievefilters/views.py:176
+#: extensions/sievefilters/views.py:192
msgid "Filter removed"
msgstr "Filtr odstraněn"
-#: extensions/sievefilters/views.py:177
+#: extensions/sievefilters/views.py:193
msgid "Failed to remove filter"
msgstr "Nezdařilo se odstranit filtr"
-#: extensions/sievefilters/views.py:191
+#: extensions/sievefilters/views.py:208
msgid "Filters set saved"
msgstr "Sada filtrů uložena"
-#: extensions/sievefilters/views.py:196
-msgid "Create a new filters set"
-msgstr "Vytvořit novou sadu filtrů"
-
-#: extensions/sievefilters/views.py:219
+#: extensions/sievefilters/views.py:224
msgid "Filters set created"
msgstr "Sada filtrů vytvořena"
-#: extensions/sievefilters/views.py:240
+#: extensions/sievefilters/views.py:228
+msgid "Create a new filters set"
+msgstr "Vytvořit novou sadu filtrů"
+
+#: extensions/sievefilters/views.py:247
msgid "Filters set deleted"
msgstr "Sada filtrů vymazána"
-#: extensions/sievefilters/views.py:252
+#: extensions/sievefilters/views.py:260
msgid "Filters set activated"
msgstr "Sada filtrů povolena"
@@ -1894,22 +2380,22 @@ msgstr "Aktivní"
msgid "No filter defined yet"
msgstr "Dosud nebyl vytvořen žádný filtr"
-#: extensions/sievefilters/templates/sievefilters/index.html:56
+#: extensions/sievefilters/templates/sievefilters/index.html:76
msgid "Filter sets"
msgstr "Sady filtrů"
-#: extensions/sievefilters/templates/sievefilters/index.html:60
+#: extensions/sievefilters/templates/sievefilters/index.html:80
msgid "active"
msgstr "aktivní"
-#: extensions/sievefilters/templates/sievefilters/index.html:74
+#: extensions/sievefilters/templates/sievefilters/index.html:94
msgid ""
"No filters set defined yet. You must create one in order to define filters."
msgstr ""
"Dosud nebyla vytvořena žádná sada filtrů. Aby bylo možné vytvořit filtry, je "
"nejprve potřeba vytvořit sadu filtrů."
-#: extensions/sievefilters/templatetags/sfilters_tags.py:16
+#: extensions/sievefilters/templatetags/sfilters_tags.py:15
msgid "New filters set"
msgstr "Nová sada filtrů"
@@ -1929,31 +2415,27 @@ msgstr "Odstranit sadu filtrů"
msgid "Download"
msgstr "Stáhnout"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:85
+#: extensions/sievefilters/templatetags/sfilters_tags.py:86
msgid "Remove this filter"
msgstr "Odstranit tento filtr"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:93
+#: extensions/sievefilters/templatetags/sfilters_tags.py:94
msgid "Move this filter up"
msgstr "Posunout tento filtr nahoru"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:101
+#: extensions/sievefilters/templatetags/sfilters_tags.py:102
msgid "Move this filter down"
msgstr "Posunout tento filtr dolů"
-#: extensions/stats/__init__.py:20
+#: extensions/stats/__init__.py:21
msgid "Graphical statistics about emails traffic using RRDtool"
msgstr "Grafické statistiky emailového provozu s použitím RRDtool"
-#: extensions/stats/__init__.py:26
+#: extensions/stats/__init__.py:29
#: extensions/stats/templates/stats/index.html:2
msgid "Graphical statistics"
msgstr "Grafické statistiky"
-#: extensions/stats/__init__.py:40
-msgid "Statistics"
-msgstr "Statistiky"
-
#: extensions/stats/app_settings.py:14
msgid "Path to the log file"
msgstr "Cesta k souboru záznamů"
@@ -1979,84 +2461,88 @@ msgstr "Adresář pro ukládání PNG souborů"
msgid "Path to directory where PNG files are stored"
msgstr "Cesta k adresáři, ve kterém budou ukládány PNG soubory"
-#: extensions/stats/graph_templates.py:20
+#: extensions/stats/general_callbacks.py:12
+msgid "Statistics"
+msgstr "Statistiky"
+
+#: extensions/stats/graph_templates.py:22
msgid "Average normal traffic"
msgstr "Průměrný běžný provoz"
-#: extensions/stats/graph_templates.py:21
-#: extensions/stats/graph_templates.py:33
+#: extensions/stats/graph_templates.py:23
+#: extensions/stats/graph_templates.py:36
msgid "msgs/min"
msgstr "zpráv/min"
-#: extensions/stats/graph_templates.py:26
+#: extensions/stats/graph_templates.py:28
msgid "sent messages"
msgstr "odeslané zprávy"
-#: extensions/stats/graph_templates.py:28
+#: extensions/stats/graph_templates.py:30
msgid "received messages"
msgstr "přijaté zprávy"
-#: extensions/stats/graph_templates.py:32
+#: extensions/stats/graph_templates.py:35
msgid "Average bad traffic"
msgstr "Průměrný závadný provoz"
-#: extensions/stats/graph_templates.py:38
+#: extensions/stats/graph_templates.py:41
msgid "bounced messages"
msgstr "nedoručené zprávy"
-#: extensions/stats/graph_templates.py:40
+#: extensions/stats/graph_templates.py:43
msgid "rejected messages"
msgstr "odmítnuté zprávy"
-#: extensions/stats/graph_templates.py:44
+#: extensions/stats/graph_templates.py:48
msgid "Average normal traffic size"
msgstr "Průměrná velikost běžného provozu"
-#: extensions/stats/graph_templates.py:45
+#: extensions/stats/graph_templates.py:49
msgid "bytes/min"
msgstr "Bajtů/min"
-#: extensions/stats/graph_templates.py:50
+#: extensions/stats/graph_templates.py:54
msgid "received size"
msgstr "doručená velikost"
-#: extensions/stats/graph_templates.py:52
+#: extensions/stats/graph_templates.py:56
msgid "sent size"
msgstr "odeslaná velikost"
-#: extensions/stats/graph_templates.py:73
+#: extensions/stats/graph_templates.py:78
msgid "Mail traffic"
msgstr "Provoz emailů"
-#: extensions/stats/grapher.py:9
+#: extensions/stats/grapher.py:8
msgid "Day"
msgstr "Den"
-#: extensions/stats/grapher.py:10
+#: extensions/stats/grapher.py:9
msgid "Week"
msgstr "Týden"
-#: extensions/stats/grapher.py:11
+#: extensions/stats/grapher.py:10
msgid "Month"
msgstr "Měsíc"
-#: extensions/stats/grapher.py:12
+#: extensions/stats/grapher.py:11
msgid "Year"
msgstr "Rok"
-#: extensions/stats/grapher.py:59
+#: extensions/stats/grapher.py:60
msgid "Total"
msgstr "Celkem"
-#: extensions/stats/views.py:21 extensions/stats/templates/stats/graphs.html:4
+#: extensions/stats/views.py:28 extensions/stats/templates/stats/graphs.html:4
msgid "No statistics available"
msgstr "Žádné statistiky nejsou dostupné"
-#: extensions/stats/views.py:39
+#: extensions/stats/views.py:47
msgid "Unknown graphic set"
msgstr "Nastaveno neznámé zobrazení"
-#: extensions/stats/views.py:61
+#: extensions/stats/views.py:70
msgid "Bad custom period"
msgstr "Neplatně nastavený vlastní časový interval"
@@ -2076,14 +2562,10 @@ msgstr "Vlastní časový interval"
msgid "Apply"
msgstr "Uložit"
-#: extensions/webmail/__init__.py:12
+#: extensions/webmail/__init__.py:13
msgid "Simple IMAP webmail"
msgstr "Jednoduchý IMAP webmail"
-#: extensions/webmail/__init__.py:35
-msgid "Webmail"
-msgstr "Webmail"
-
#: extensions/webmail/app_settings.py:14
msgid "Maximum attachment size"
msgstr "Maximální velikost přílohy"
@@ -2213,32 +2695,40 @@ msgstr "Text podpisu"
msgid "User defined email signature"
msgstr "Emailový podpis uživatele"
-#: extensions/webmail/exceptions.py:19
+#: extensions/webmail/exceptions.py:20
msgid "Server response"
msgstr "Odpověď serveru"
+#: extensions/webmail/exceptions.py:34
+msgid "Unknown action"
+msgstr "Neznámá akce"
+
#: extensions/webmail/forms.py:9
msgid "Cci"
msgstr "BCC"
-#: extensions/webmail/imaputils.py:237
+#: extensions/webmail/general_callbacks.py:14
+msgid "Webmail"
+msgstr "Webmail"
+
+#: extensions/webmail/imaputils.py:242
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Nebylo možné zjistit hierarchický oddělovač"
-#: extensions/webmail/imaputils.py:278
+#: extensions/webmail/imaputils.py:283
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Spojení se serverem IMAP selhalo: %s"
-#: extensions/webmail/lib.py:358
+#: extensions/webmail/lib.py:371
msgid "wrote:"
msgstr "napsal/a:"
-#: extensions/webmail/lib.py:423 extensions/webmail/lib.py:427
+#: extensions/webmail/lib.py:437 extensions/webmail/lib.py:441
msgid "Original message"
msgstr "Původní zpráva"
-#: extensions/webmail/views.py:86
+#: extensions/webmail/views.py:85
#, python-format
msgid "%(count)d message deleted"
msgid_plural "%(count)d messages deleted"
@@ -2246,67 +2736,54 @@ msgstr[0] "%(count)d zpráva smazána"
msgstr[1] "%(count)d zprávy smazány"
msgstr[2] "%(count)d zpráv smazáno"
-#: extensions/webmail/views.py:103
-msgid "Unknown action"
-msgstr "Neznámá akce"
-
-#: extensions/webmail/views.py:116 lib/email_listing.py:137
+#: extensions/webmail/views.py:116 lib/email_listing.py:138
msgid "Empty mailbox"
msgstr "Vyprázdnit schránku"
-#: extensions/webmail/views.py:133
-#: extensions/webmail/templatetags/webextras.py:170
-msgid "Create a new mailbox"
-msgstr "Vytvořit novou schránku"
-
-#: extensions/webmail/views.py:149
+#: extensions/webmail/views.py:142
msgid "Mailbox created"
msgstr "Schránka vytvořena"
-#: extensions/webmail/views.py:165
+#: extensions/webmail/views.py:148
+#: extensions/webmail/templatetags/webmail_tags.py:175
+msgid "Create a new mailbox"
+msgstr "Vytvořit novou schránku"
+
+#: extensions/webmail/views.py:167 extensions/webmail/views.py:202
msgid "Edit mailbox"
msgstr "Upravit schránku"
-#: extensions/webmail/views.py:180
+#: extensions/webmail/views.py:183
msgid "Mailbox updated"
msgstr "Schránka aktualizována"
-#: extensions/webmail/views.py:214 extensions/webmail/views.py:396
-#: extensions/webmail/views.py:505
-msgid "Bad request"
-msgstr "Neplatný požadavek"
-
-#: extensions/webmail/views.py:246
+#: extensions/webmail/views.py:255
msgid "Failed to save attachment: "
msgstr "Nebylo možné uložit přílohu:"
-#: extensions/webmail/views.py:249
+#: extensions/webmail/views.py:258
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Příloha je příliš velká (omezení: %s)"
-#: extensions/webmail/views.py:255
+#: extensions/webmail/views.py:264
#: extensions/webmail/templates/webmail/compose.html:15
#: extensions/webmail/templates/webmail/headers.html:4
msgid "Attachments"
msgstr "Přílohy"
-#: extensions/webmail/views.py:271
+#: extensions/webmail/views.py:281
msgid "Bad query"
msgstr "Neplatný dotaz"
-#: extensions/webmail/views.py:281
+#: extensions/webmail/views.py:293
msgid "Failed to remove attachment: "
msgstr "Nebylo možné odstranit přílohu:"
-#: extensions/webmail/views.py:286
+#: extensions/webmail/views.py:298
msgid "Unknown attachment"
msgstr "Neznámá příloha"
-#: extensions/webmail/views.py:501
-msgid "Undefined action"
-msgstr "Neznámá akce"
-
#: extensions/webmail/templates/webmail/attachments.html:6
msgid "Attach"
msgstr "Připojit"
@@ -2339,111 +2816,123 @@ msgstr "Nadřazená schránka"
msgid "Mailbox quota"
msgstr "Kvóta schránky"
-#: extensions/webmail/templatetags/webextras.py:19
+#: extensions/webmail/templatetags/webmail_tags.py:20
msgid "Reply"
msgstr "Odpovědět"
-#: extensions/webmail/templatetags/webextras.py:23
+#: extensions/webmail/templatetags/webmail_tags.py:24
msgid "Reply all"
msgstr "Odpovědět všem"
-#: extensions/webmail/templatetags/webextras.py:27
-#: userprefs/templates/userprefs/forward.html:2
-#: userprefs/templatetags/uprefs_extras.py:27
-msgid "Forward"
-msgstr "Přeposlat"
-
-#: extensions/webmail/templatetags/webextras.py:33
+#: extensions/webmail/templatetags/webmail_tags.py:34
msgid "Display options"
msgstr "Možnosti zobrazení"
-#: extensions/webmail/templatetags/webextras.py:36
+#: extensions/webmail/templatetags/webmail_tags.py:37
msgid "Activate links"
msgstr "Povolit odkazy"
-#: extensions/webmail/templatetags/webextras.py:38
+#: extensions/webmail/templatetags/webmail_tags.py:39
msgid "Disable links"
msgstr "Zakákaz odkazy"
-#: extensions/webmail/templatetags/webextras.py:47
+#: extensions/webmail/templatetags/webmail_tags.py:48
msgid "Close this message"
msgstr "Zavřít tuto zprávu"
-#: extensions/webmail/templatetags/webextras.py:60
+#: extensions/webmail/templatetags/webmail_tags.py:63
msgid "Back"
msgstr "Zpět"
-#: extensions/webmail/templatetags/webextras.py:64
+#: extensions/webmail/templatetags/webmail_tags.py:67
msgid "Send"
msgstr "Odeslat"
-#: extensions/webmail/templatetags/webextras.py:76
+#: extensions/webmail/templatetags/webmail_tags.py:80
msgid "New message"
msgstr "Nová zpráva"
-#: extensions/webmail/templatetags/webextras.py:85
+#: extensions/webmail/templatetags/webmail_tags.py:89
msgid "Mark messages"
msgstr "Označit zprávy"
-#: extensions/webmail/templatetags/webextras.py:89
+#: extensions/webmail/templatetags/webmail_tags.py:93
msgid "As read"
msgstr "Jako přečtené"
-#: extensions/webmail/templatetags/webextras.py:92
+#: extensions/webmail/templatetags/webmail_tags.py:96
msgid "As unread"
msgstr "Jako nepřečtené"
-#: extensions/webmail/templatetags/webextras.py:101
+#: extensions/webmail/templatetags/webmail_tags.py:105
msgid "Compress folder"
msgstr "Stlačit složku"
-#: extensions/webmail/templatetags/webextras.py:110
+#: extensions/webmail/templatetags/webmail_tags.py:114
msgid "Empty folder"
msgstr "Vyprázdnit složku"
-#: extensions/webmail/templatetags/webextras.py:178
+#: extensions/webmail/templatetags/webmail_tags.py:183
msgid "Edit the selected mailbox"
msgstr "Upravit vybranou schránku"
-#: extensions/webmail/templatetags/webextras.py:183
+#: extensions/webmail/templatetags/webmail_tags.py:188
msgid "Remove the selected mailbox"
msgstr "Odstranit označené schránky"
-#: lib/exceptions.py:18
+#: lib/dbutils.py:36
+#, fuzzy, python-format
+msgid "Connection to database %s not configured"
+msgstr "Spojení s amavis selhalo: %s"
+
+#: lib/exceptions.py:67
#, python-format
msgid "Permission denied: %s"
msgstr "Přístup zamítnut: %s"
-#: lib/exceptions.py:19
+#: lib/exceptions.py:68
msgid "Permission denied"
msgstr "Přístup zamítnut"
-#: lib/formutils.py:157 lib/formutils.py:165
+#: lib/formutils.py:187 lib/formutils.py:195
msgid "Enter a valid domain name"
msgstr "Vložte platné doménové jméno"
-#: lib/permissions.py:27
+#: lib/formutils.py:244
+msgid "Yes"
+msgstr "Ano"
+
+#: lib/formutils.py:244
+msgid "No"
+msgstr "Ne"
+
+#: lib/ldaputils.py:111
+#, python-format
+msgid "Failed to update password: %s"
+msgstr "Nebylo možné změnit heslo: %s"
+
+#: lib/permissions.py:20
msgid "Simple user"
msgstr "Uživatel"
-#: lib/permissions.py:29
+#: lib/permissions.py:22
msgid "Super administrator"
msgstr "Super správce"
-#: lib/permissions.py:31
+#: lib/permissions.py:28
msgid "Domain administrator"
msgstr "Správce domény"
-#: lib/permissions.py:75
+#: lib/permissions.py:73
#, python-format
msgid "Failed to grant access (%s)"
msgstr "Nebylo možné povolit přístup (%s)"
-#: lib/tables.py:241
+#: lib/tables.py:251
msgid "No entries to display"
msgstr "Žádné položky k zobrazení"
-#: lib/templatetags/libextras.py:108
+#: lib/templatetags/lib_tags.py:59
msgid "activate"
msgstr "aktivovat"
@@ -2501,105 +2990,35 @@ msgstr "Zapamatovat si"
msgid "Log in"
msgstr "Přihlásit"
-#: userprefs/__init__.py:8
-msgid "User preferences"
-msgstr "Uživatelské možnosti"
+#~ msgid "An alias with this name already exists"
+#~ msgstr "Alias s tímto názvem již existuje"
-#: userprefs/__init__.py:10
-msgid "Per-user settings"
-msgstr "Uživatelské nastavení"
+#~ msgid "A domain with this name already exists"
+#~ msgstr "Doména s tímto názvem již existuje"
-#: userprefs/app_settings.py:22
-msgid "Prefered language"
-msgstr "Preferovaný jazyk"
+#~ msgid "Edit domain"
+#~ msgstr "Upravit doménu"
-#: userprefs/app_settings.py:27
-msgid "Prefered language to display pages"
-msgstr "Preferovaný jazyk pro zobrazení stránek"
+#~ msgid "%d pending requests"
+#~ msgstr "%d nevyřízených požadavků"
-#: userprefs/forms.py:14
-msgid "Old password"
-msgstr "Původní heslo"
+#~ msgid "Content Class"
+#~ msgstr "Třída obsahu"
-#: userprefs/forms.py:16
-msgid "New password"
-msgstr "Nové heslo"
+#~ msgid "Nothing"
+#~ msgstr "Nic"
-#: userprefs/forms.py:40
-msgid "Old password mismatchs"
-msgstr "Původní heslo se neshoduje"
+#~ msgid "Bad request"
+#~ msgstr "Neplatný požadavek"
-#: userprefs/forms.py:45
-msgid "Passwords mismatch"
-msgstr "Hesla se neshodují"
+#~ msgid "Undefined action"
+#~ msgstr "Neznámá akce"
-#: userprefs/forms.py:59
-msgid "Recipient(s)"
-msgstr "Příjemce(i)"
+#~ msgid "User preferences"
+#~ msgstr "Uživatelské možnosti"
-#: userprefs/forms.py:62
-msgid "Indicate one or more recipients separated by a ','"
-msgstr "Uveďte jednoho nebo více příjemců oddělených pomocí ','"
+#~ msgid "Per-user settings"
+#~ msgstr "Uživatelské nastavení"
-#: userprefs/forms.py:65
-msgid "Keep local copies"
-msgstr "Ponechat místní kopie"
-
-#: userprefs/forms.py:67
-msgid "Forward messages and store copies into your local mailbox"
-msgstr "Přeposílat zprávy a ukládat kopie do místní schránky"
-
-#: userprefs/forms.py:84
-msgid ""
-"You can't define a forward to a local destination. Please ask your "
-"administrator to create an alias instead."
-msgstr ""
-"Nemůžete nastavit přeposílání na místní adresu. Požádejte správce o "
-"vytvoření aliasu."
-
-#: userprefs/views.py:32
-msgid "You need a mailbox in order to define a forward"
-msgstr "Pro nastavení přeposílání nejprve potřebujete schránku"
-
-#: userprefs/views.py:56
-msgid "Forward updated"
-msgstr "Přeposílání aktualizováno"
-
-#: userprefs/views.py:98
-msgid "Profile updated"
-msgstr "Profil aktualizován"
-
-#: userprefs/views.py:127
-msgid "Preferences saved"
-msgstr "Možnosti uloženy"
-
-#: userprefs/templates/userprefs/forward.html:2
-msgid "Automatically forward emails to another address"
-msgstr "Automaticky přesměrovat emaily na jinou adresu"
-
-#: userprefs/templates/userprefs/index.html:2
-#: userprefs/templatetags/uprefs_extras.py:48
-msgid "Settings"
-msgstr "Nastavení"
-
-#: userprefs/templates/userprefs/preferences.html:2
-#: userprefs/templatetags/uprefs_extras.py:21
-msgid "Preferences"
-msgstr "Možnosti"
-
-#: userprefs/templates/userprefs/preferences.html:2
-msgid "Customize Modoboa"
-msgstr "Nastavit Modoboa"
-
-#: userprefs/templates/userprefs/profile.html:2
-#: userprefs/templatetags/uprefs_extras.py:17
-msgid "Profile"
-msgstr "Profil"
-
-#: userprefs/templates/userprefs/profile.html:2
-msgid "Update your personal information"
-msgstr "Aktualizovat osobní informace"
-
-#: userprefs/templatetags/uprefs_extras.py:57
-msgid "Logout"
-msgstr "Odhlásit se"
+#~ msgid "You need a mailbox in order to define a forward"
+#~ msgstr "Pro nastavení přeposílání nejprve potřebujete schránku"
diff --git a/modoboa/locale/cs_CZ/LC_MESSAGES/djangojs.po b/modoboa/locale/cs_CZ/LC_MESSAGES/djangojs.po
index 473badd33..ae27af9f1 100644
--- a/modoboa/locale/cs_CZ/LC_MESSAGES/djangojs.po
+++ b/modoboa/locale/cs_CZ/LC_MESSAGES/djangojs.po
@@ -6,8 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: modoboa-1.0.0\n"
-"Report-Msgid-Bugs-To: miris@kunago.com\n"
-"POT-Creation-Date: 2013-09-20 22:30+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: 2013-09-29 22:13+0100\n"
"Last-Translator: Miroslav Abrahám \n"
"Language-Team: CS \n"
@@ -18,97 +18,81 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Poedit 1.5.7\n"
-#: admin/static/admin/js/admin.js:26
+#: extensions/admin/static/admin/js/admin.js:32
msgid "Search"
msgstr "Hledat"
-#: admin/static/admin/js/admin.js:110
+#: extensions/admin/static/admin/js/admin.js:170
msgid "Do not delete domain directory"
msgstr "Nemazat adresář domény"
-#: admin/static/admin/js/admin.js:113
+#: extensions/admin/static/admin/js/admin.js:173
msgid "This operation will remove ALL data associated to this domain."
msgstr "Tento krok odstraní VŠECHNA data související s touto doménou."
-#: admin/static/admin/js/admin.js:114
+#: extensions/admin/static/admin/js/admin.js:174
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
msgstr ""
"Tento krok odstraní VŠECHNA data související s touto doménou, vyjma účtů."
-#: admin/static/admin/js/admin.js:117
-msgid "Delete this domain?"
-msgstr "Smazat tuto doménu?"
-
-#: admin/static/admin/js/admin.js:161
+#: extensions/admin/static/admin/js/admin.js:222
msgid "No domain administrator defined"
msgstr "Není určen správce domény"
-#: admin/static/admin/js/admin.js:238
+#: extensions/admin/static/admin/js/admin.js:291
msgid "Do not delete mailbox directory"
msgstr "Nemazat adresář schránky"
-#: admin/static/admin/js/admin.js:243
-msgid "Delete this account?"
-msgstr "Smazat tento účet?"
-
-#: admin/static/admin/js/admin.js:249
-msgid "Delete this list?"
-msgstr "Smazat tento seznam?"
-
-#: admin/static/admin/js/admin.js:254
-msgid "Delete this forward?"
-msgstr "Smazat toto přeposílání?"
-
-#: admin/static/admin/js/admin.js:259
-msgid "Delete this alias?"
-msgstr "Smazat tento alias?"
-
-#: extensions/amavis/static/amavis/js/quarantine.js:126
+#: extensions/amavis/static/amavis/js/quarantine.js:180
msgid "Release this selection?"
msgstr "Odblokovat tento výběr?"
-#: extensions/amavis/static/amavis/js/quarantine.js:130
+#: extensions/amavis/static/amavis/js/quarantine.js:184
msgid "Delete this selection?"
msgstr "Smazat tento výběr?"
-#: extensions/amavis/static/amavis/js/quarantine.js:148
-#: extensions/amavis/static/amavis/js/selfservice.js:22
+#: extensions/amavis/static/amavis/js/quarantine.js:203
+#: extensions/amavis/static/amavis/js/selfservice.js:17
msgid "Release this message?"
msgstr "Odblokovat tuto zprávu?"
-#: extensions/amavis/static/amavis/js/quarantine.js:152
-#: extensions/amavis/static/amavis/js/selfservice.js:26
+#: extensions/amavis/static/amavis/js/quarantine.js:207
+#: extensions/amavis/static/amavis/js/selfservice.js:21
msgid "Delete this message?"
msgstr "Smazat tuto zprávu?"
-#: extensions/amavis/static/amavis/js/quarantine.js:169
+#: extensions/amavis/static/amavis/js/quarantine.js:224
msgid "View full headers"
msgstr "Zobrazit úplné záhlaví"
-#: extensions/amavis/static/amavis/js/quarantine.js:174
+#: extensions/amavis/static/amavis/js/quarantine.js:229
msgid "Hide full headers"
msgstr "Skrýt záhlaví"
+#: extensions/postfix_relay_domains/static/postfix_relay_domains/js/relay_domains.js:49
+msgid "Services updated"
+msgstr ""
+
#: extensions/sievefilters/static/sievefilters/js/lib.js:14
msgid "Remove this filter?"
msgstr "Odstranit tento filtr?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:117
+#: extensions/sievefilters/static/sievefilters/js/lib.js:107
msgid "Save changes?"
msgstr "Uložit změny?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:144
+#: extensions/sievefilters/static/sievefilters/js/lib.js:129
msgid "Remove filters set?"
msgstr "Smazat sadu filtrů?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:161
+#: extensions/sievefilters/static/sievefilters/js/lib.js:146
msgid "Activate this filters set?"
msgstr "Aktivovat tuto sadu filtrů?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:169
-#: extensions/sievefilters/static/sievefilters/js/lib.js:224
+#: extensions/sievefilters/static/sievefilters/js/lib.js:154
+#: extensions/sievefilters/static/sievefilters/js/lib.js:203
msgid "active"
msgstr "aktivní"
@@ -116,19 +100,19 @@ msgstr "aktivní"
msgid "Search a domain"
msgstr "Vyhledat doménu"
-#: extensions/webmail/static/webmail/js/webmail.js:485
+#: extensions/webmail/static/webmail/js/webmail.js:472
msgid "Remove the selected mailbox?"
msgstr "Odstranit vybranou schránku?"
-#: extensions/webmail/static/webmail/js/webmail.js:499
+#: extensions/webmail/static/webmail/js/webmail.js:485
msgid "Mailbox removed"
msgstr "Schránka odstraněna"
-#: extensions/webmail/static/webmail/js/webmail.js:823
+#: extensions/webmail/static/webmail/js/webmail.js:727
msgid "Message sent"
msgstr "Zpráva odeslána"
-#: extensions/webmail/static/webmail/js/webmail.js:856
+#: extensions/webmail/static/webmail/js/webmail.js:854
msgid "Message deleted"
msgstr "Zpráva smazána"
@@ -148,18 +132,34 @@ msgstr[0] "Přesunuji %s zprávu"
msgstr[1] "Přesunuji %s zprávy"
msgstr[2] "Přesunuji %s zpráv"
-#: static/js/confirmation.js:48
+#: static/js/confirmation.js:50
msgid "Warning"
msgstr "Upozornění"
-#: static/js/confirmation.js:57
+#: static/js/confirmation.js:59
msgid "Cancel"
msgstr "Zrušit"
-#: static/js/confirmation.js:99 static/js/history.js:239
-msgid "Internal Error"
+#: static/js/global.js:314
+#, fuzzy
+msgid "Internal error"
msgstr "Interní chyba"
#: static/js/searchbar.js:20
msgid "Search..."
msgstr "Hledat..."
+
+#~ msgid "Delete this domain?"
+#~ msgstr "Smazat tuto doménu?"
+
+#~ msgid "Delete this account?"
+#~ msgstr "Smazat tento účet?"
+
+#~ msgid "Delete this list?"
+#~ msgstr "Smazat tento seznam?"
+
+#~ msgid "Delete this forward?"
+#~ msgstr "Smazat toto přeposílání?"
+
+#~ msgid "Delete this alias?"
+#~ msgstr "Smazat tento alias?"
diff --git a/modoboa/locale/de/LC_MESSAGES/django.po b/modoboa/locale/de/LC_MESSAGES/django.po
index f79002853..7e403f492 100644
--- a/modoboa/locale/de/LC_MESSAGES/django.po
+++ b/modoboa/locale/de/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa-0.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-20 22:30+0200\n"
-"PO-Revision-Date: 2013-10-02 21:51+0100\n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
+"PO-Revision-Date: 2013-12-08 23:33+0100\n"
"Last-Translator: Patrick Ben Koetter \n"
"Language-Team: DE
\n"
"Language: de\n"
@@ -20,1140 +20,548 @@ msgstr ""
"X-Poedit-Country: GERMANY\n"
"X-Poedit-SourceCharset: utf-8\n"
-#: admin/__init__.py:9
-msgid "Administration console"
-msgstr "Verwaltungskonsole"
-
-#: admin/__init__.py:11
-msgid "Web based console to manage domains, accounts and aliases"
-msgstr "Webinterface zur Verwaltung von Domains, Mailkonten und -aliasen"
-
-#: admin/__init__.py:16
-#: admin/forms.py:211
-#: admin/forms.py:652
-#: admin/views.py:94
-#: admin/views.py:447
+#: core/__init__.py:52
+#: core/__init__.py:53
+#: extensions/admin/forms/account.py:325
+#: extensions/admin/forms/domain.py:251
+#: extensions/admin/views/domain.py:95
+#: extensions/admin/views/identity.py:127
#: extensions/postfix_autoreply/app_settings.py:11
+#: extensions/postfix_relay_domains/forms.py:138
#: extensions/sievefilters/app_settings.py:50
#: extensions/stats/app_settings.py:11
#: extensions/webmail/app_settings.py:11
-#: userprefs/__init__.py:15
msgid "General"
msgstr "Grundsätzlich"
-#: admin/app_settings.py:31
+#: core/app_settings.py:36
msgid "Authentication"
msgstr "Authentifizierung"
-#: admin/app_settings.py:34
+#: core/app_settings.py:39
msgid "Authentication type"
msgstr "Authentifizierungstyp"
-#: admin/app_settings.py:35
+#: core/app_settings.py:40
msgid "Local"
msgstr "Lokal"
-#: admin/app_settings.py:38
+#: core/app_settings.py:43
msgid "The backend used for authentication"
msgstr "Das backend, das zur Authentifizierung genutzt wird"
-#: admin/app_settings.py:43
+#: core/app_settings.py:48
msgid "Default password scheme"
msgstr "Standard Passwort-Schema"
-#: admin/app_settings.py:50
+#: core/app_settings.py:51
+msgid "md5crypt (weak)"
+msgstr "md5crypt (schwach)"
+
+#: core/app_settings.py:52
+msgid "sha256 (weak)"
+msgstr "sha256 (schwach)"
+
+#: core/app_settings.py:53
+msgid "md5 (weak)"
+msgstr "md5 (schwach)"
+
+#: core/app_settings.py:54
+msgid "crypt (weak)"
+msgstr "crypt (schwach)"
+
+#: core/app_settings.py:55
+msgid "plain (weak)"
+msgstr "plain (schwach)"
+
+#: core/app_settings.py:57
msgid "Scheme used to crypt mailbox passwords"
msgstr "Verschlüsselungsschema der Mailbox-Passworte"
-#: admin/app_settings.py:54
+#: core/app_settings.py:61
+msgid "Rounds"
+msgstr "Runden"
+
+#: core/app_settings.py:64
+msgid "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be between 1000 and 999999999, inclusive."
+msgstr "Anzahl zu verwendender Runden (nur für sha256crypt und sha512crypt). Zahl muss zwischen 1000 und 999999999 liegen."
+
+#: core/app_settings.py:70
msgid "Secret key"
msgstr "Geheimer Schlüssel"
-#: admin/app_settings.py:56
+#: core/app_settings.py:72
msgid "Key used to encrypt/decrypt passwords"
msgstr "Verwendeter Schlüssel, um Passworte zu ver-/entschlüsseln"
-#: admin/app_settings.py:60
+#: core/app_settings.py:76
msgid "LDAP settings"
msgstr "LDAP-Einstellungen"
-#: admin/app_settings.py:63
+#: core/app_settings.py:79
#: extensions/sievefilters/app_settings.py:22
#: extensions/webmail/app_settings.py:22
#: extensions/webmail/app_settings.py:42
msgid "Server address"
msgstr "Server-Adresse"
-#: admin/app_settings.py:65
+#: core/app_settings.py:81
msgid "The IP address of the DNS name of the LDAP server"
msgstr "Die IP-Adresse des LDAP-Server Hostnamens"
-#: admin/app_settings.py:69
+#: core/app_settings.py:85
#: extensions/sievefilters/app_settings.py:28
#: extensions/webmail/app_settings.py:34
#: extensions/webmail/app_settings.py:58
msgid "Server port"
msgstr "Server-Port"
-#: admin/app_settings.py:71
+#: core/app_settings.py:87
msgid "The TCP port number used by the LDAP server"
msgstr "Der TCP Port des LDAP-Servers"
-#: admin/app_settings.py:75
+#: core/app_settings.py:91
#: extensions/webmail/app_settings.py:28
msgid "Use a secured connection"
msgstr "Gesicherte Verbindung verwenden"
-#: admin/app_settings.py:77
+#: core/app_settings.py:93
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "SSL/TLS-Verbindung für Zugriff auf LDAP-Server verwenden"
-#: admin/app_settings.py:81
+#: core/app_settings.py:97
msgid "Authentication method"
msgstr "Authentifizierungsmethode"
-#: admin/app_settings.py:82
+#: core/app_settings.py:98
msgid "Search and bind"
msgstr "Suchen und Bind anwenden"
-#: admin/app_settings.py:83
+#: core/app_settings.py:99
msgid "Direct bind"
msgstr "Direkter Bind"
-#: admin/app_settings.py:85
+#: core/app_settings.py:101
msgid "Choose the authentication method to use"
msgstr "Wählen Sie die Authentifizierungsmethode aus"
-#: admin/app_settings.py:90
+#: core/app_settings.py:106
msgid "Bind DN"
msgstr "Bind DN"
-#: admin/app_settings.py:92
+#: core/app_settings.py:108
msgid "The distinguished name to use when binding to the LDAP server. Leave empty for an anonymous bind"
msgstr "Der DN für einen Bind an den LDAP-Server. Nichts eingeben für anonymen Bind."
-#: admin/app_settings.py:97
+#: core/app_settings.py:113
msgid "Bind password"
msgstr "Bind Passwort"
-#: admin/app_settings.py:99
+#: core/app_settings.py:115
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
msgstr "Das Kennwort wenn mit dem Bind DN angemeldet wird."
-#: admin/app_settings.py:105
-msgid "Search base"
-msgstr "Search Base"
+#: core/app_settings.py:121
+msgid "Users search base"
+msgstr "Anwender Search Base"
-#: admin/app_settings.py:107
-msgid "The distinguished name of the search base"
-msgstr "Der DN der Search Base"
+#: core/app_settings.py:123
+msgid "The distinguished name of the search base used to find users"
+msgstr "Der DN der Search Base mit der Anwenderkonten gefunden werden"
-#: admin/app_settings.py:112
+#: core/app_settings.py:128
msgid "Search filter"
msgstr "Suchfilter"
-#: admin/app_settings.py:114
+#: core/app_settings.py:130
msgid "An optional filter string (e.g. '(objectClass=person)'). In order to be valid, it must be enclosed in parentheses."
msgstr "Ein optionaler Filter z.B. (objectClass=person). Das Filter muss entsprechend der LDAP-Konvention in Klammern gesetzt werden."
-#: admin/app_settings.py:119
+#: core/app_settings.py:135
msgid "User DN template"
msgstr "Vorlage für User DN"
-#: admin/app_settings.py:121
+#: core/app_settings.py:137
#, python-format
msgid "The template used to construct a user's DN. It should contain one placeholder (ie. %(user)s)"
msgstr "Die Vorlage für einen User DN. Sie sollte einen Platzhalter z.B. %(user)s enthalten."
-#: admin/app_settings.py:126
+#: core/app_settings.py:142
msgid "Password attribute"
msgstr "Passwort-Attribut"
-#: admin/app_settings.py:128
+#: core/app_settings.py:144
msgid "The attribute used to store user passwords"
msgstr "Das Attribut für Benutzerpassworte"
-#: admin/app_settings.py:132
+#: core/app_settings.py:148
msgid "Active Directory"
msgstr "Active Directory"
-#: admin/app_settings.py:134
+#: core/app_settings.py:150
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "Auswählen wenn der LDAP-Server ein Active Directory ist."
-#: admin/app_settings.py:137
-#: admin/templates/admin/editdomainform.html:25
-#: extensions/limits/app_settings.py:31
-#: extensions/limits/forms.py:24
-#: extensions/limits/models.py:14
-#: extensions/webmail/app_settings.py:101
-#: extensions/webmail/templates/webmail/folders.html:4
-msgid "Mailboxes"
-msgstr "Mailboxen"
+#: core/app_settings.py:154
+msgid "Administrator groups"
+msgstr "Administrator-Gruppen"
-#: admin/app_settings.py:140
-msgid "Handle mailboxes on filesystem"
-msgstr "Mailbox im Dateisystem verwalten"
+#: core/app_settings.py:157
+msgid "Members of those LDAP Posix groups will be created as domain administrators. Use ';' characters to separate groups."
+msgstr "Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren angelegt werden. Nutzen sie ';', um Gruppen zu separieren."
-#: admin/app_settings.py:142
-msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
-msgstr "Mailboxen auch in Dateisystem umbenennen oder entfernen wenn sie in Modoboa umbenannt oder entfernt werden"
+#: core/app_settings.py:164
+msgid "Groups search base"
+msgstr "Gruppen Search Base"
-#: admin/app_settings.py:146
-msgid "Mailboxes ower"
-msgstr "Mailbox-Besitzer"
+#: core/app_settings.py:167
+msgid "The distinguished name of the search base used to find groups"
+msgstr "Der DN der Search Base mit Gruppen gefunden werden"
-#: admin/app_settings.py:148
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "UID des virtuellen Benutzers, der Besitzer der Domains, Mailboxen und Nachrichten im Dateisystem ist."
-
-#: admin/app_settings.py:152
-msgid "Automatic account removal"
-msgstr "Automatische Konto-Entfernung"
-
-#: admin/app_settings.py:154
-msgid "When a mailbox is removed, also remove the associated account"
-msgstr "Beim Löschen der Mailbox auch das Konto entfernen."
-
-#: admin/app_settings.py:157
-#: admin/templates/admin/editdomainform.html:7
+#: core/app_settings.py:172
+#: extensions/admin/templates/admin/editdomainform.html:7
msgid "Miscellaneous"
msgstr "Verschiedenes"
-#: admin/app_settings.py:160
+#: core/app_settings.py:175
msgid "Maximum log record age"
msgstr "Maximales Alter eines Log-Eintrags"
-#: admin/app_settings.py:162
+#: core/app_settings.py:177
msgid "The maximum age in days of a log record"
msgstr "Das maximale Alter eines Log-Eintrags (in Tagen)"
-#: admin/app_settings.py:166
+#: core/app_settings.py:181
msgid "Items per page"
msgstr "Einträge pro Seite"
-#: admin/app_settings.py:168
+#: core/app_settings.py:183
msgid "Number of displayed items per page"
msgstr "Anzahl dargestellter Einträge pro Seite"
-#: admin/app_settings.py:172
+#: core/app_settings.py:187
msgid "Default top redirection"
msgstr "Standard Top-Redirect"
-#: admin/app_settings.py:175
+#: core/app_settings.py:190
msgid "The default redirection used when no application is specified"
msgstr "Die Standardumleitung wenn kein Programm angegeben wurde"
-#: admin/app_settings.py:213
+#: core/app_settings.py:218
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr "Schlüssel muss 16, 24 oder 32 Byte lang sein"
-#: admin/app_settings.py:222
+#: core/app_settings.py:227
+#: extensions/postfix_autoreply/app_settings.py:53
msgid "Invalid syntax"
msgstr "Ungültige Syntax"
-#: admin/app_settings.py:245
+#: core/app_settings.py:233
+msgid "Invalid rounds number"
+msgstr "Ungültige Zahl für Runden"
+
+#: core/app_settings.py:256
msgid "This field is required"
msgstr "Dieses Feld ist erforderlich"
-#: admin/forms.py:20
-#: admin/forms.py:497
-#: admin/tables.py:18
-msgid "Alias(es)"
-msgstr "Aliase"
+#: core/app_settings.py:317
+#: extensions/amavis/app_settings.py:87
+#: extensions/amavis/templates/amavis/main_action_bar.html:29
+#: extensions/webmail/app_settings.py:73
+msgid "Display"
+msgstr "Darstellung"
-#: admin/forms.py:22
-msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
-msgstr "Alias(e) für diese Mailbox. Geben Sie jeweils nur eine Adresse pro Eingabefeld an. Bestätigen Sie mit ENTER, um ein neues Eingabefeld zu erhalten."
+#: core/app_settings.py:321
+msgid "Prefered language"
+msgstr "Bevorzugte Sprache"
-#: admin/forms.py:59
-msgid "An alias with this name already exists"
-msgstr "Ein Alias mit diesem Namen existiert bereits"
+#: core/app_settings.py:326
+msgid "Prefered language to display pages"
+msgstr "Bevorzugte Sprache für Seitendarstellung"
-#: admin/forms.py:73
-msgid "A domain with this name already exists"
-msgstr "Eine Domäne mit diesem Namen existiert bereits"
-
-#: admin/forms.py:146
-msgid "Create a domain administrator"
-msgstr "Domänen-Administrator erstellen"
-
-#: admin/forms.py:148
-msgid "Automatically create an administrator for this domain"
-msgstr "Automatisch Administrator für diese Domain anlegen"
-
-#: admin/forms.py:152
-#: admin/tables.py:12
-#: admin/tables.py:47
-#: admin/templates/admin/editdomainform.html:13
-#: admin/templates/admin/identities_table.html:5
-#: admin/templates/admin/information.html:8
-#: extensions/sievefilters/forms.py:53
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
-msgid "Name"
-msgstr "Name"
-
-#: admin/forms.py:154
-msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
-msgstr "Name des Administrators. Geben Sie nicht den Domainnamen mit an. Er wird automatisch hinzugefügt."
-
-#: admin/forms.py:160
-msgid "Create aliases"
-msgstr "Aliase erstellen"
-
-#: admin/forms.py:162
-msgid "Automatically create standard aliases for this domain"
-msgstr "Automatisch Standard-Aliase für Domain anlegen"
-
-#: admin/forms.py:175
-msgid "Invalid format"
-msgstr "Ungültiges Format"
-
-#: admin/forms.py:187
-#, python-format
-msgid "User '%s' already exists"
-msgstr "Identität %s existiert bereits"
-
-#: admin/forms.py:235
-msgid "Email address"
-msgstr "E-Mail Adresse"
-
-#: admin/forms.py:236
-msgid "The distribution list address. Use the '*' character to create a 'catchall' address (ex: *@domain.tld)."
-msgstr "Adresse einer Verteilerliste. Geben Sie '*' an, um einen 'catchall'-Alias (Bsp: *@example.com) zu erstellen."
-
-#: admin/forms.py:239
-msgid "Recipients"
-msgstr "Empfänger"
-
-#: admin/forms.py:240
-msgid "Mailbox(es) this alias will point to. Indicate only one address per input, press ENTER to add a new input."
-msgstr "Mailboxen auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein und bestätigen Sie mit ENTER."
-
-#: admin/forms.py:278
-#: admin/forms.py:542
-#: admin/forms.py:568
-msgid "Domain does not exist"
-msgstr "Domain existiert nicht"
-
-#: admin/forms.py:280
-msgid "You don't have access to this domain"
-msgstr "Der Zugriff auf diese Domain ist ihnen nicht gestattet"
-
-#: admin/forms.py:300
-msgid "Invalid mailbox"
-msgstr "Ungültige Mailbox"
-
-#: admin/forms.py:316
-#: admin/models.py:1202
-#, python-format
-msgid "Local recipient %s not found"
-msgstr "Lokaler Empfänger %s nicht gefunden"
-
-#: admin/forms.py:318
-#: admin/forms.py:324
-#, python-format
-msgid "Recipient %s already present"
-msgstr "Empfänger %s existiert bereits"
-
-#: admin/forms.py:329
-msgid "No recipient defined"
-msgstr "Keine Empfänger angegeben"
-
-#: admin/forms.py:343
-#: extensions/webmail/forms.py:19
-msgid "Select a file"
-msgstr "Wählen Sie eine Datei"
-
-#: admin/forms.py:345
-#: admin/forms.py:373
-msgid "Separator"
-msgstr "Separator"
-
-#: admin/forms.py:348
-msgid "Continue on error"
-msgstr "Bei Fehler fortfahren"
-
-#: admin/forms.py:349
-msgid "Don't treat duplicated objects as error"
-msgstr "Doppelte Objekte nicht als Fehler behandeln"
-
-#: admin/forms.py:364
-msgid "Crypt passwords"
-msgstr "Passworte verschlüsseln"
-
-#: admin/forms.py:365
-msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Auswählen wenn Kennwörter in Datei nicht verschlüsselt sind"
-
-#: admin/forms.py:371
-msgid "File name"
-msgstr "Dateiname"
-
-#: admin/forms.py:403
-#: admin/templates/admin/editdomainform.html:13
-#: auth/forms.py:7
+#: core/forms.py:10
+#: extensions/admin/forms/account.py:19
+#: extensions/admin/templates/admin/editdomainform.html:13
msgid "Username"
msgstr "Benutzername"
-#: admin/forms.py:405
-msgid "Role"
-msgstr "Rolle"
-
-#: admin/forms.py:406
-#: admin/forms.py:433
-msgid "Choose"
-msgstr "Auswählen"
-
-#: admin/forms.py:407
-msgid "What level of permission this user will have"
-msgstr "Rechte, die der Benutzer haben wird"
-
-#: admin/forms.py:409
-#: auth/forms.py:11
+#: core/forms.py:14
+#: extensions/admin/forms/account.py:30
msgid "Password"
msgstr "Passwort"
-#: admin/forms.py:411
-#: userprefs/forms.py:18
+#: core/forms.py:25
+msgid "Old password"
+msgstr "Altes Passwort"
+
+#: core/forms.py:29
+msgid "New password"
+msgstr "Neues Passwort"
+
+#: core/forms.py:33
+#: extensions/admin/forms/account.py:33
msgid "Confirmation"
msgstr "Bestätigung"
-#: admin/forms.py:413
-msgid "Enter the same password as above, for verification."
-msgstr "Kennwort bestätigen"
+#: core/forms.py:56
+msgid "Old password mismatchs"
+msgstr "Altes Passwort stimmt nicht überein"
-#: admin/forms.py:424
-msgid "Enabled"
-msgstr "Aktiviert"
+#: core/forms.py:61
+msgid "Passwords mismatch"
+msgstr "Passwörter stimmen nicht überein"
-#: admin/forms.py:471
-msgid "The two password fields didn't match."
-msgstr "Die angegebenen Kennworte stimmen nicht überein"
+#: core/models.py:49
+msgid "password"
+msgstr "Passwort"
-#: admin/forms.py:477
-msgid "You can't disable your own account"
-msgstr "Sie können Ihr eigenes Konto nicht deaktivieren"
+#: core/models.py:51
+msgid "last login"
+msgstr "Letzte Anmeldung"
-#: admin/forms.py:488
-msgid "E-mail"
-msgstr "E-Mail"
-
-#: admin/forms.py:490
-msgid "Quota"
-msgstr "Quota"
-
-#: admin/forms.py:492
-msgid "Quota in MB for this mailbox. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
-msgstr "Quota in MB für diese Mailbox. Geben Sie einen eigenen Wert an oder nutzen Sie den Standardwert der Domain. Lassen Sie das Feld leer für unbegrenztes Quota - Domänen-Administratoren ist dies nicht gestattet."
-
-#: admin/forms.py:499
-msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. Use the '*' character to create a 'catchall' alias (ex: *@domain.tld)."
-msgstr "Alias(e) für diese Mailbox. Geben Sie jeweils nur eine Adresse pro Eingabe an. Bestätigen Sie mit ENTER um die Eingabe zu bestätigen. Geben Sie '*' an, um einen 'catchall'-Alias (Bsp: *@example.com) zu erstellen."
-
-#: admin/forms.py:550
-#, python-format
-msgid "Mailbox %s already exists"
-msgstr "Mailbox %s existiert bereits"
-
-#: admin/forms.py:610
-msgid "Domain(s)"
-msgstr "Domain(s)"
-
-#: admin/forms.py:612
-msgid "Domain(s) that user administrates"
-msgstr "Domänen, die dieser Anwender administriert"
-
-#: admin/forms.py:654
-#: admin/views.py:450
-msgid "Mail"
-msgstr "E-Mail"
-
-#: admin/forms.py:656
-msgid "Permissions"
-msgstr "Berechtigungen"
-
-#: admin/models.py:80
+#: core/models.py:80
msgid "You can't delete your own account"
msgstr "Sie können Ihr eigenes Konto nicht entfernen"
-#: admin/models.py:161
+#: core/models.py:116
msgid "Failed to update password: LDAP module not installed"
msgstr "Konnte Kennwort nicht aktualisieren: LDAP-Modul nicht installiert"
-#: admin/models.py:167
-#, python-format
-msgid "Failed to update password: %s"
-msgstr "Konnte Kennwort nicht aktualisieren: %s"
-
-#: admin/models.py:194
+#: core/models.py:169
msgid "account"
msgstr "Konto"
-#: admin/models.py:496
-#: admin/models.py:733
-#: admin/models.py:795
+#: core/models.py:320
+#: extensions/admin/models/domain.py:135
+#: 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 "Ungültige Zeile"
-#: admin/models.py:500
+#: core/models.py:324
msgid "You can't import an account with a role greater than yours"
msgstr "Sie können kein Konto einer höheren Rolle importieren"
-#: admin/models.py:506
+#: core/models.py:330
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "Der normale Benutzer '%s' muss eine gültige E-Mail-Adresse besitzen"
-#: admin/models.py:510
+#: core/models.py:334
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr "Die Felder für Benutzername und E-Mail für '%s' dürfen sich nicht unterscheiden"
-#: admin/models.py:534
-#, python-format
-msgid "Account import failed (%s): domain does not exist"
-msgstr "Kann Konto nicht importieren (%s): Die Domain existiert nicht"
-
-#: admin/models.py:624
-#: admin/models.py:746
-msgid "name"
-msgstr "Name"
-
-#: admin/models.py:625
-msgid "The domain name"
-msgstr "Name der Domäne"
-
-#: admin/models.py:627
-msgid "Default quota in MB applied to mailboxes"
-msgstr "Standard-Quota für Mailboxen (in MB)"
-
-#: admin/models.py:630
-#: admin/models.py:753
-#: admin/models.py:1045
-#: admin/models.py:1217
-#: extensions/postfix_autoreply/models.py:27
+#: core/models.py:403
+#: extensions/admin/models/alias.py:33
+#: extensions/admin/models/domain.py:32
+#: extensions/admin/models/domain_alias.py:17
+#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_relay_domains/models.py:85
+#: extensions/postfix_relay_domains/models.py:167
msgid "enabled"
msgstr "aktiviert"
-#: admin/models.py:631
-msgid "Check to activate this domain"
-msgstr "Auswählen, um diese Domäne zu aktivieren"
-
-#: admin/models.py:747
-msgid "The alias name"
-msgstr "Der Alias-Name"
-
-#: admin/models.py:749
-msgid "target"
-msgstr "Ziel"
-
-#: admin/models.py:750
-msgid "The domain this alias points to"
-msgstr "Domäne auf die dieser Alias verweist"
-
-#: admin/models.py:754
-#: admin/models.py:1046
-msgid "Check to activate this alias"
-msgstr "Auswählen um den Alias zu aktivieren"
-
-#: admin/models.py:801
-#, python-format
-msgid "Unknown domain %s"
-msgstr "Unbekannte Domain %s"
-
-#: admin/models.py:818
-#: admin/models.py:1031
-msgid "address"
-msgstr "Adresse"
-
-#: admin/models.py:819
-msgid "Mailbox address (without the @domain.tld part)"
-msgstr "Mailbox-Adresse (ohne den @domain.tld-Anteil)"
-
-#: admin/models.py:877
-#, python-format
-msgid "Failed to retrieve mailbox location (%s)"
-msgstr "Konnte Speicherort der Mailbox (%s) nicht bestimmen"
-
-#: admin/models.py:921
-#, python-format
-msgid "Quota is greater than the allowed domain's limit (%dM)"
-msgstr "Das Quota ist größer als das maximale Quota der Domain (%dM)"
-
-#: admin/models.py:926
-msgid "A quota is required"
-msgstr "Ein Quota ist erforderlich"
-
-#: admin/models.py:1032
-msgid "The alias address (without the domain part). For a 'catch-all' address, just enter an * character."
-msgstr "Die Alias-Adresse (ohne den Domain-Anteil). Geben sie für eine Adresse an, die alles annimmt, * an."
-
-#: admin/models.py:1036
-msgid "mailboxes"
-msgstr "Mailboxen"
-
-#: admin/models.py:1037
-msgid "The mailboxes this alias points to"
-msgstr "Mailbox auf den dieser Alias verweist"
-
-#: admin/models.py:1041
-msgid "The aliases this alias points to"
-msgstr "Aliase auf die dieser Alias verweist"
-
-#: admin/models.py:1089
-msgid "distribution list"
-msgstr "Verteilerliste"
-
-#: admin/models.py:1090
-msgid "forward"
-msgstr "Weiterleitung"
-
-#: admin/models.py:1091
-msgid "alias"
-msgstr "Alias"
-
-#: admin/models.py:1170
-#, python-format
-msgid "Invalid line: %s"
-msgstr "Ungültige Zeile: %s"
-
-#: admin/models.py:1175
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "Domain '%s' existiert nicht"
-
-#: admin/models.py:1218
+#: core/models.py:404
msgid "Check to enable this extension"
msgstr "Auswählen, um diese Erweiterung zu aktivieren"
-#: admin/models.py:1318
+#: core/models.py:474
msgid "added"
msgstr "hinzugefügt"
-#: admin/models.py:1321
+#: core/models.py:477
msgid "modified"
msgstr "verändert"
-#: admin/models.py:1324
-msgid "deleted"
-msgstr "entfernt"
-
-#: admin/models.py:1326
+#: core/models.py:479
+#: core/models.py:503
#, python-format
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s der Identität %(user)s"
-#: admin/tables.py:14
-msgid "Edit domain"
-msgstr "Domäne bearbeiten"
+#: core/models.py:505
+msgid "deleted"
+msgstr "entfernt"
-#: admin/tables.py:21
-#: admin/templates/admin/identities_table.html:8
-#: admin/templates/admin/listing.html:17
-#: extensions/sievefilters/views.py:83
-#: extensions/sievefilters/templates/sievefilters/filter.html:17
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
-#: extensions/webmail/templatetags/webextras.py:97
-msgid "Actions"
-msgstr "Aktionen"
+#: core/tables.py:8
+#: core/templates/core/information.html:8
+#: extensions/admin/tables.py:9
+#: extensions/admin/forms/domain.py:182
+#: extensions/admin/templates/admin/domains_table.html:5
+#: extensions/admin/templates/admin/editdomainform.html:13
+#: extensions/admin/templates/admin/identities_table.html:5
+#: extensions/sievefilters/forms.py:60
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
+msgid "Name"
+msgstr "Name"
-#: admin/tables.py:48
+#: core/tables.py:10
+#: extensions/admin/tables.py:11
msgid "Version"
msgstr "Version"
-#: admin/tables.py:49
+#: core/tables.py:12
+#: extensions/admin/tables.py:13
msgid "Description"
msgstr "Beschreibung"
-#: admin/views.py:88
-msgid "New domain"
-msgstr "Neue Domäne"
-
-#: admin/views.py:89
-#: admin/views.py:98
-#: admin/views.py:228
-#: admin/views.py:444
-#: admin/views.py:451
-#: extensions/sievefilters/views.py:129
-#: extensions/sievefilters/views.py:198
-#: extensions/webmail/views.py:136
-msgid "Create"
-msgstr "Erstellen"
-
-#: admin/views.py:95
-#: admin/views.py:448
-msgid "Next"
-msgstr "Nächstes"
-
-#: admin/views.py:97
-msgid "Options"
-msgstr "optionen"
-
-#: admin/views.py:99
-#: admin/views.py:452
-msgid "Previous"
-msgstr "Vorheriges"
-
-#: admin/views.py:112
-msgid "Domain created"
-msgstr "Domäne erstellt."
-
-#: admin/views.py:146
-#: admin/views.py:285
-#: admin/views.py:498
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
-#: extensions/sievefilters/views.py:148
-#: extensions/webmail/views.py:168
-#: userprefs/templates/userprefs/forward.html:8
-#: userprefs/templates/userprefs/profile.html:8
-msgid "Update"
-msgstr "Aktualisieren"
-
-#: admin/views.py:162
-msgid "Domain modified"
-msgstr "Domäne verändert"
-
-#: admin/views.py:189
-msgid "You can't delete your own domain"
-msgstr "Sie können Ihre eigene Domäne nicht löschen"
-
-#: admin/views.py:192
-msgid "Domain deleted"
-msgid_plural "Domains deleted"
-msgstr[0] "Domäne gelöscht"
-msgstr[1] "Domänen gelöscht"
-
-#: admin/views.py:207
-msgid "Alias with this name already exists"
-msgstr "Ein Alias mit diesem Namen existiert bereits"
-
-#: admin/views.py:250
-msgid "New distribution list"
-msgstr "Neue Verteilerliste"
-
-#: admin/views.py:251
-msgid "Distribution list created"
-msgstr "Verteilerliste erstellt"
-
-#: admin/views.py:260
-msgid "New alias"
-msgstr "Neuer Alias"
-
-#: admin/views.py:261
-msgid "Alias created"
-msgstr "Alias erstellt"
-
-#: admin/views.py:270
-msgid "New forward"
-msgstr "Neue Weiterleitung"
-
-#: admin/views.py:271
-msgid "Forward created"
-msgstr "Weiterleitung erstellt"
-
-#: admin/views.py:289
-msgid "Distribution list modified"
-msgstr "Verteilerliste verändert"
-
-#: admin/views.py:291
-msgid "Forward modified"
-msgstr "Weiterleitung verändert"
-
-#: admin/views.py:293
-msgid "Alias modified"
-msgstr "Alias verändert"
-
-#: admin/views.py:402
-#: admin/views.py:545
-#: admin/views.py:550
-#: extensions/amavis/views.py:204
-#: extensions/amavis/views.py:210
-#: extensions/amavis/views.py:243
-#: extensions/amavis/views.py:247
-#: extensions/amavis/views.py:249
-#: extensions/webmail/views.py:41
-#: extensions/webmail/views.py:68
-#: extensions/webmail/views.py:81
-#: extensions/webmail/views.py:98
-#: extensions/webmail/views.py:114
-#: extensions/webmail/views.py:200
-#: extensions/webmail/views.py:427
-#: extensions/webmail/views.py:438
-#: extensions/webmail/views.py:465
-#: lib/formutils.py:32
-#: lib/formutils.py:37
-msgid "Invalid request"
-msgstr "Ungültige Anfrage"
-
-#: admin/views.py:441
-msgid "New account"
-msgstr "Neues Konto"
-
-#: admin/views.py:465
-msgid "Account created"
-msgstr "Konto erstellt"
-
-#: admin/views.py:513
-msgid "Account updated"
-msgstr "Konto aktualisiert"
-
-#: admin/views.py:535
-msgid "Account deleted"
-msgid_plural "Accounts deleted"
-msgstr[0] "Konto gelöscht"
-msgstr[1] "Konten gelöscht"
-
-#: admin/views.py:590
-msgid "Parameters saved"
-msgstr "Parameter gespeichert"
-
-#: admin/views.py:636
-msgid "Modifications applied."
-msgstr "Änderungen übernommen."
-
-#: admin/views.py:743
-#, python-format
-msgid "Object already exists: %s"
-msgstr "Objekt existiert bereits: %s"
-
-#: admin/views.py:745
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d Objekte erfolgreich importiert"
-
-#: admin/views.py:763
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"
\n"
-"account; loginname; password; first name; last name; enabled; group; address[, domain, ...] \n"
-"alias; address; enabled; internal recipient \n"
-"forward; address; enabled; external recipient \n"
-"dlist; address; enabled; recipient; recipient; ... \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
-"\n"
-"You can use a different character as separator.
\n"
-msgstr ""
-"CSV-Datei in einem der folgenden Formate hinzufügen:\n"
-"\n"
-"account; loginname; password; first name; last name; enabled; group; address[, domain, ...] \n"
-"alias; address; enabled; internal recipient \n"
-"forward; address; enabled; external recipient \n"
-"dlist; address; enabled; recipient; recipient; ... \n"
-" \n"
-"Das erste Element einer Zeile ist zwingend und muss gleich mit einem der vorhergehenden sein.
\n"
-"\n"
-"Ein anderes Zeichen als Separator ist gestattet.
\n"
-
-#: admin/views.py:775
-msgid "Import identities"
-msgstr "Identitäten importieren"
-
-#: admin/views.py:776
-#: admin/views.py:846
-#: admin/templatetags/admin_extras.py:87
-#: admin/templatetags/admin_extras.py:144
-msgid "Import"
-msgstr "Importiere"
-
-#: admin/views.py:806
-msgid "Export identities"
-msgstr "Identitäten exportieren"
-
-#: admin/views.py:807
-#: admin/views.py:863
-#: admin/templatetags/admin_extras.py:93
-#: admin/templatetags/admin_extras.py:150
-msgid "Export"
-msgstr "Exportiere"
-
-#: admin/views.py:835
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-" domain; name; quota; enabled \n"
-" domainalias; name; targeted domain; enabled \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
-"You can use a different character as separator.
\n"
-msgstr ""
-"CSV-Datei in einem der folgenden Formate hinzufügen:\n"
-"\n"
-" domain; name; quota; enabled \n"
-" domainalias; name; targeted domain; enabled \n"
-" \n"
-"Das erste Element einer Zeile ist zwinged und muss gleich zum vorhergehenden sein.
\n"
-"Ein anderes Zeichen als Trenner ist gestattet.
\n"
-
-#: admin/views.py:845
-msgid "Import domains"
-msgstr "Domains importieren"
-
-#: admin/views.py:862
-msgid "Export domains"
-msgstr "Domains exportieren"
-
-#: admin/templates/admin/domain_general_form.html:3
-#: admin/templates/admin/mailform.html:3
-#: admin/templates/admin/newdomainform.html:3
-msgid "MB"
-msgstr "MB"
-
-#: admin/templates/admin/domains.html:2
-#: admin/templatetags/admin_extras.py:23
-#: extensions/limits/app_settings.py:19
-#: extensions/limits/forms.py:16
-#: extensions/limits/models.py:12
-msgid "Domains"
-msgstr "Domänen"
-
-#: admin/templates/admin/editdomainform.html:4
-msgid "Administrators"
-msgstr "Administratoren"
-
-#: admin/templates/admin/editdomainform.html:19
-msgid "No domain administrator defined"
-msgstr "Domänen-Administrator fehlt"
-
-#: admin/templates/admin/editdomainform.html:22
-msgid "Creation date"
-msgstr "Erstellungsdatum"
-
-#: admin/templates/admin/editdomainform.html:23
-msgid "Last modification date"
-msgstr "Datum der letzten Änderung"
-
-#: admin/templates/admin/editdomainform.html:24
-#: extensions/limits/app_settings.py:25
-#: extensions/limits/forms.py:20
-#: extensions/limits/models.py:13
-msgid "Domain aliases"
-msgstr "Domänen-Aliase"
-
-#: admin/templates/admin/editdomainform.html:26
-#: extensions/limits/app_settings.py:37
-#: extensions/limits/forms.py:28
-#: extensions/limits/models.py:15
-msgid "Mailbox aliases"
-msgstr "Mailboxen-Aliase"
-
-#: admin/templates/admin/extensions.html:2
-#: admin/templatetags/admin_extras.py:51
+#: core/templates/core/extensions.html:2
+#: core/templatetags/core_tags.py:48
msgid "Extensions"
msgstr "Erweiterungen"
-#: admin/templates/admin/extensions.html:2
+#: core/templates/core/extensions.html:2
msgid "Choose the extension(s) to use"
msgstr "Extension auswählen"
-#: admin/templates/admin/extensions.html:6
-#: admin/templates/admin/parameters.html:8
-#: userprefs/templates/userprefs/preferences.html:8
+#: core/templates/core/extensions.html:6
+#: core/templates/core/parameters.html:7
+#: core/templates/core/user_preferences.html:8
msgid "Save"
msgstr "Speichern"
-#: admin/templates/admin/identities.html:2
-#: admin/templatetags/admin_extras.py:31
-msgid "Identities"
-msgstr "Identitäten"
-
-#: admin/templates/admin/identities_table.html:6
-msgid "Fullname/Recipient"
-msgstr "Name/Empfänger"
-
-#: admin/templates/admin/identities_table.html:7
-msgid "Tags"
-msgstr "Tags"
-
-#: admin/templates/admin/importform.html:5
-#: admin/templatetags/admin_extras.py:290
-msgid "Help"
-msgstr "Hilfe"
-
-#: admin/templates/admin/importform.html:12
-msgid "Importing..."
-msgstr "Importiere …"
-
-#: admin/templates/admin/information.html:2
-#: admin/templatetags/admin_extras.py:56
+#: core/templates/core/information.html:2
+#: core/templatetags/core_tags.py:53
msgid "Information"
msgstr "Information"
-#: admin/templates/admin/information.html:2
+#: core/templates/core/information.html:2
msgid "Various information about Modoboa"
msgstr "Verschiedene Informationen über Modoboa"
-#: admin/templates/admin/information.html:3
+#: core/templates/core/information.html:3
msgid "is currently in use."
msgstr "ist momentan in Gebrauch."
-#: admin/templates/admin/information.html:5
+#: core/templates/core/information.html:5
msgid "Active users"
msgstr "Aktive Benutzer"
-#: admin/templates/admin/information.html:9
+#: core/templates/core/information.html:9
msgid "Group name"
msgstr "Gruppenname"
-#: admin/templates/admin/information.html:10
+#: core/templates/core/information.html:10
msgid "Last login"
msgstr "Letzte Anmeldung"
-#: admin/templates/admin/listing.html:14
-#: extensions/stats/templates/stats/index.html:28
-msgid "Filter"
-msgstr "Filter"
-
-#: admin/templates/admin/logs.html:2
-#: admin/templatetags/admin_extras.py:60
+#: core/templates/core/logs.html:2
+#: core/templatetags/core_tags.py:57
msgid "Logs"
msgstr "Logs"
-#: admin/templates/admin/logs.html:2
+#: core/templates/core/logs.html:2
msgid "Previously on Modoboa..."
msgstr "Vorher auf Modoboa…"
-#: admin/templates/admin/logs.html:6
-#: extensions/amavis/sql_listing.py:25
-#: extensions/webmail/lib.py:38
-#: extensions/webmail/lib.py:411
+#: core/templates/core/logs.html:6
+#: extensions/amavis/sql_listing.py:46
+#: extensions/webmail/lib.py:48
+#: extensions/webmail/lib.py:425
msgid "Date"
msgstr "Datum"
-#: admin/templates/admin/logs.html:7
+#: core/templates/core/logs.html:7
msgid "Level"
msgstr "Level"
-#: admin/templates/admin/logs.html:8
+#: core/templates/core/logs.html:8
msgid "Logger"
msgstr "Logger"
-#: admin/templates/admin/logs.html:9
+#: core/templates/core/logs.html:9
msgid "Message"
msgstr "Nachricht"
-#: admin/templates/admin/mailboxes_raw.html:3
-msgid "Choose a value"
-msgstr "Wert auswählen"
-
-#: admin/templates/admin/mailform.html:3
-msgid "Use domain default value"
-msgstr "Standardwert der Domain verwenden"
-
-#: admin/templates/admin/parameters.html:3
-#: admin/templatetags/admin_extras.py:65
+#: core/templates/core/parameters.html:2
+#: core/templatetags/core_tags.py:62
msgid "Parameters"
msgstr "Parameter"
-#: admin/templates/admin/parameters.html:3
+#: core/templates/core/parameters.html:2
msgid "Configure Modoboa"
msgstr "Modoboa konfigurieren"
-#: admin/templates/admin/quotas.html:5
-msgid "Address"
-msgstr "Adresse"
-
-#: admin/templates/admin/quotas.html:6
-msgid "Value"
-msgstr "Wert"
-
-#: admin/templates/admin/quotas.html:7
-msgid "Limit"
-msgstr "Limit"
-
-#: admin/templates/admin/quotas.html:8
-#, python-format
-msgid "Usage (%%)"
-msgstr "Verwendung (%%)"
-
-#: admin/templates/admin/searchform.html:6
-msgid "Search"
-msgstr "Suchen"
-
-#: admin/templates/admin/settings_header.html:3
+#: core/templates/core/settings_header.html:3
msgid "Modoboa settings"
msgstr "Modoboa-Einstellungen"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_m"
-msgstr "aktiviert_m"
+#: core/templates/core/user_index.html:2
+#: core/templatetags/core_tags.py:81
+msgid "Settings"
+msgstr "Einstellungen"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_f"
-msgstr "aktiviert_f"
+#: core/templates/core/user_preferences.html:2
+#: core/templatetags/core_tags.py:108
+msgid "Preferences"
+msgstr "Einstellungen"
-#: admin/templatetags/admin_extras.py:36
+#: core/templates/core/user_preferences.html:2
+msgid "Customize Modoboa"
+msgstr "Modoboa anpassen"
+
+#: core/templates/core/user_profile.html:2
+#: core/templatetags/core_tags.py:104
+msgid "Profile"
+msgstr "Profil"
+
+#: core/templates/core/user_profile.html:2
+msgid "Update your personal information"
+msgstr "Aktualisieren sie ihre persönlichen Daten"
+
+#: core/templates/core/user_profile.html:8
+#: extensions/admin/templates/admin/forward.html:8
+#: extensions/admin/views/alias.py:107
+#: extensions/admin/views/domain.py:165
+#: extensions/admin/views/identity.py:197
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
+#: extensions/postfix_relay_domains/views.py:63
+#: extensions/sievefilters/views.py:163
+#: extensions/webmail/views.py:170
+#: extensions/webmail/views.py:205
+msgid "Update"
+msgstr "Aktualisieren"
+
+#: core/templatetags/core_tags.py:21
msgid "Modoboa"
msgstr "Modoboa"
-#: admin/templatetags/admin_extras.py:81
-msgid "Add domain"
-msgstr "Domain hinzufügen"
+#: core/templatetags/core_tags.py:90
+msgid "Logout"
+msgstr "Logout"
-#: admin/templatetags/admin_extras.py:110
-msgid "List identities"
-msgstr "Identitäten auflisten"
+#: core/views/admin.py:47
+msgid "Parameters saved"
+msgstr "Parameter gespeichert"
-#: admin/templatetags/admin_extras.py:115
-msgid "List quotas"
-msgstr "List-Quotas"
+#: core/views/admin.py:90
+msgid "Modifications applied."
+msgstr "Änderungen übernommen."
-#: admin/templatetags/admin_extras.py:120
-msgid "Add account"
-msgstr "Konto hinzufügen"
-
-#: admin/templatetags/admin_extras.py:126
-msgid "Add alias"
-msgstr "Alias hinzufügen"
-
-#: admin/templatetags/admin_extras.py:132
-msgid "Add forward"
-msgstr "Weiterleitung hinzufügen"
-
-#: admin/templatetags/admin_extras.py:138
-msgid "Add distribution list"
-msgstr "Verteilerliste hinzufügen"
-
-#: admin/templatetags/admin_extras.py:171
-msgid "View the domain's identities"
-msgstr "Domain-Identitäten anzeigen"
-
-#: admin/templatetags/admin_extras.py:178
-#: admin/templatetags/admin_extras.py:194
-#: admin/templatetags/admin_extras.py:201
-#, python-format
-msgid "Delete %s?"
-msgstr "%s löschen?"
-
-#: admin/templatetags/admin_extras.py:223
-msgid "Remove this permission"
-msgstr "Berechtigung entfernen"
-
-#: admin/templatetags/admin_extras.py:264
-#: lib/formutils.py:206
-msgid "Yes"
-msgstr "Ja"
-
-#: admin/templatetags/admin_extras.py:264
-#: lib/formutils.py:206
-msgid "No"
-msgstr "Nein"
-
-#: auth/views.py:32
+#: core/views/auth.py:30
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Identität '%s' hat sich erfolgreich angemeldet"
-#: auth/views.py:44
+#: core/views/auth.py:43
msgid "Your username and password didn't match. Please try again."
msgstr "Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie es noch einmal."
-#: auth/views.py:67
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' logged out"
msgstr "Identität '%s' hat sich abgemeldet"
+#: core/views/user.py:35
+msgid "Profile updated"
+msgstr "Profil aktualisiert"
+
+#: core/views/user.py:58
+msgid "Preferences saved"
+msgstr "Einstellungen gespeichert"
+
#: demo/__init__.py:17
msgid "Test messages"
msgstr "Test-Nachrichten"
@@ -1166,8 +574,8 @@ msgstr "Virus senden"
msgid "Send spam"
msgstr "Spam senden"
-#: demo/views.py:17
-#: demo/views.py:41
+#: demo/views.py:18
+#: demo/views.py:43
msgid "Message sent"
msgstr "Nachricht gesendet"
@@ -1197,28 +605,826 @@ msgstr ""
"Probleme und Anregungen bitte an die\n"
" Mailingliste berichten.
\n"
-#: extensions/amavis/__init__.py:22
+#: extensions/admin/__init__.py:48
+msgid "Administration console"
+msgstr "Verwaltungskonsole"
+
+#: extensions/admin/__init__.py:50
+msgid "Web based console to manage domains, accounts and aliases"
+msgstr "Webinterface zur Verwaltung von Domains, Mailkonten und -aliasen"
+
+#: extensions/admin/__init__.py:55
+msgid "Administration"
+msgstr "Administration"
+
+#: extensions/admin/__init__.py:79
+#: extensions/admin/templates/admin/domains.html:2
+#: extensions/limits/app_settings.py:19
+#: extensions/limits/models.py:17
+msgid "Domains"
+msgstr "Domänen"
+
+#: extensions/admin/__init__.py:85
+#: extensions/admin/templates/admin/identities.html:2
+msgid "Identities"
+msgstr "Identitäten"
+
+#: extensions/admin/__init__.py:100
+#: extensions/admin/templates/admin/forward.html:2
+#: extensions/webmail/templatetags/webmail_tags.py:28
+msgid "Forward"
+msgstr "Weiterleiten"
+
+#: extensions/admin/__init__.py:163
+#, python-format
+msgid "Account import failed (%s): domain does not exist"
+msgstr "Kann Konto nicht importieren (%s): Die Domain existiert nicht"
+
+#: extensions/admin/app_settings.py:11
+#: extensions/admin/templates/admin/editdomainform.html:25
+#: extensions/limits/app_settings.py:31
+#: extensions/limits/models.py:23
+#: extensions/webmail/app_settings.py:101
+#: extensions/webmail/templates/webmail/folders.html:4
+msgid "Mailboxes"
+msgstr "Mailboxen"
+
+#: extensions/admin/app_settings.py:14
+msgid "Handle mailboxes on filesystem"
+msgstr "Mailbox im Dateisystem verwalten"
+
+#: extensions/admin/app_settings.py:16
+msgid "Rename or remove mailboxes on the filesystem when they get renamed or removed within Modoboa"
+msgstr "Mailboxen auch in Dateisystem umbenennen oder entfernen wenn sie in Modoboa umbenannt oder entfernt werden"
+
+#: extensions/admin/app_settings.py:20
+msgid "Mailboxes ower"
+msgstr "Mailbox-Besitzer"
+
+#: extensions/admin/app_settings.py:22
+msgid "The UNIX account who owns mailboxes on the filesystem"
+msgstr "UID des virtuellen Benutzers, der Besitzer der Domains, Mailboxen und Nachrichten im Dateisystem ist."
+
+#: extensions/admin/app_settings.py:26
+msgid "Default domain quota"
+msgstr "Standard Domainquota"
+
+#: extensions/admin/app_settings.py:29
+msgid "Default quota (in MB) applied to freshly created domains with no value specified. A value of 0 means no quota."
+msgstr "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. Der Wert 0 bedeutet „Kein Quota“"
+
+#: extensions/admin/app_settings.py:36
+msgid "Automatic account removal"
+msgstr "Automatische Konto-Entfernung"
+
+#: extensions/admin/app_settings.py:38
+msgid "When a mailbox is removed, also remove the associated account"
+msgstr "Beim Löschen der Mailbox auch das Konto entfernen."
+
+#: extensions/admin/app_settings.py:64
+#: extensions/admin/forms/account.py:177
+#: extensions/admin/forms/domain.py:56
+msgid "Must be a positive integer"
+msgstr "Muss eine positive Integer sein"
+
+#: extensions/admin/lib.py:28
+msgid "A mailbox is required"
+msgstr "Ein Mailbox ist erforderlich"
+
+#: extensions/admin/forms/account.py:21
+msgid "The user's name. Must be a valid e-mail address for simple users."
+msgstr "Der Anwendername. Muss eine gültige E-Mail-Adresse für 'simple users' sein."
+
+#: extensions/admin/forms/account.py:25
+msgid "Role"
+msgstr "Rolle"
+
+#: extensions/admin/forms/account.py:26
+#: extensions/admin/forms/account.py:54
+msgid "Choose"
+msgstr "Auswählen"
+
+#: extensions/admin/forms/account.py:27
+msgid "What level of permission this user will have"
+msgstr "Rechte, die der Benutzer haben wird"
+
+#: extensions/admin/forms/account.py:35
+msgid "Enter the same password as above, for verification."
+msgstr "Kennwort bestätigen"
+
+#: extensions/admin/forms/account.py:46
+msgid "Enabled"
+msgstr "Aktiviert"
+
+#: extensions/admin/forms/account.py:93
+msgid "The two password fields didn't match."
+msgstr "Die angegebenen Kennworte stimmen nicht überein"
+
+#: extensions/admin/forms/account.py:99
+msgid "You can't disable your own account"
+msgstr "Sie können Ihr eigenes Konto nicht deaktivieren"
+
+#: extensions/admin/forms/account.py:110
+msgid "E-mail"
+msgstr "E-Mail"
+
+#: extensions/admin/forms/account.py:112
+#: extensions/admin/forms/domain.py:17
+msgid "Quota"
+msgstr "Quota"
+
+#: extensions/admin/forms/account.py:114
+msgid "Quota in MB for this mailbox. Define a custom value or use domain's default one. Leave empty to define an unlimited value (not allowed for domain administrators)."
+msgstr "Quota in MB für diese Mailbox. Geben Sie einen eigenen Wert an oder nutzen Sie den Standardwert der Domain. Lassen Sie das Feld leer für unbegrenztes Quota - Domänen-Administratoren ist dies nicht gestattet."
+
+#: extensions/admin/forms/account.py:122
+#: extensions/admin/forms/domain.py:26
+#: extensions/admin/templates/admin/domains_table.html:6
+#: extensions/postfix_relay_domains/forms.py:12
+msgid "Alias(es)"
+msgstr "Aliase"
+
+#: extensions/admin/forms/account.py:125
+msgid "Alias(es) of this mailbox. Indicate only one address per input, press ENTER to add a new input. Use the '*' character to create a 'catchall' alias (ex: *@domain.tld)."
+msgstr "Alias(e) für diese Mailbox. Geben Sie jeweils nur eine Adresse pro Eingabe an. Bestätigen Sie mit ENTER um die Eingabe zu bestätigen. Geben Sie '*' an, um einen 'catchall'-Alias (Bsp: *@example.com) zu erstellen."
+
+#: extensions/admin/forms/account.py:186
+#: extensions/admin/forms/account.py:216
+#: extensions/admin/forms/alias.py:65
+msgid "Domain does not exist"
+msgstr "Domain existiert nicht"
+
+#: extensions/admin/forms/account.py:195
+#, python-format
+msgid "Mailbox %s already exists"
+msgstr "Mailbox %s existiert bereits"
+
+#: extensions/admin/forms/account.py:283
+msgid "Domain(s)"
+msgstr "Domain(s)"
+
+#: extensions/admin/forms/account.py:285
+msgid "Domain(s) that user administrates"
+msgstr "Domänen, die dieser Anwender administriert"
+
+#: extensions/admin/forms/account.py:327
+#: extensions/admin/views/identity.py:130
+msgid "Mail"
+msgstr "E-Mail"
+
+#: extensions/admin/forms/account.py:329
+msgid "Permissions"
+msgstr "Berechtigungen"
+
+#: extensions/admin/forms/alias.py:16
+msgid "Email address"
+msgstr "E-Mail Adresse"
+
+#: extensions/admin/forms/alias.py:18
+msgid "The distribution list address. Use the '*' character to create a 'catchall' address (ex: *@domain.tld)."
+msgstr "Adresse einer Verteilerliste. Geben Sie '*' an, um einen 'catchall'-Alias (Bsp: *@example.com) zu erstellen."
+
+#: extensions/admin/forms/alias.py:23
+msgid "Recipients"
+msgstr "Empfänger"
+
+#: extensions/admin/forms/alias.py:25
+msgid "Mailbox(es) this alias will point to. Indicate only one address per input, press ENTER to add a new input."
+msgstr "Mailboxen auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein und bestätigen Sie mit ENTER."
+
+#: extensions/admin/forms/alias.py:68
+msgid "You don't have access to this domain"
+msgstr "Der Zugriff auf diese Domain ist ihnen nicht gestattet"
+
+#: extensions/admin/forms/alias.py:90
+msgid "Invalid mailbox"
+msgstr "Ungültige Mailbox"
+
+#: extensions/admin/forms/alias.py:108
+#: extensions/admin/models/alias.py:182
+#, python-format
+msgid "Local recipient %s not found"
+msgstr "Lokaler Empfänger %s nicht gefunden"
+
+#: extensions/admin/forms/alias.py:112
+#: extensions/admin/forms/alias.py:120
+#, python-format
+msgid "Recipient %s already present"
+msgstr "Empfänger %s existiert bereits"
+
+#: extensions/admin/forms/alias.py:126
+msgid "No recipient defined"
+msgstr "Keine Empfänger angegeben"
+
+#: extensions/admin/forms/domain.py:20
+msgid "Default quota in MB applied to mailboxes. Leave empty to use the default value."
+msgstr "Standardquota in MB für Mailboxen. Bei leerem Feld wird der Domain-Standard genutzt."
+
+#: extensions/admin/forms/domain.py:29
+msgid "Alias(es) of this domain. Indicate only one name per input, press ENTER to add a new input."
+msgstr "Alias(e) für diese Mailbox. Geben Sie jeweils nur eine Adresse pro Eingabefeld an. Bestätigen Sie mit ENTER, um ein neues Eingabefeld zu erhalten."
+
+#: extensions/admin/forms/domain.py:75
+#: extensions/postfix_relay_domains/forms.py:50
+#: extensions/postfix_relay_domains/forms.py:70
+msgid "domain alias"
+msgstr "Domain-Alias"
+
+#: extensions/admin/forms/domain.py:82
+#: extensions/admin/forms/domain.py:98
+#: 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 "Ein %s mit diesem Namen existiert bereits"
+
+#: extensions/admin/forms/domain.py:92
+#: extensions/postfix_relay_domains/forms.py:49
+#: extensions/postfix_relay_domains/forms.py:71
+msgid "domain"
+msgstr "Domain"
+
+#: extensions/admin/forms/domain.py:176
+msgid "Create a domain administrator"
+msgstr "Domänen-Administrator erstellen"
+
+#: extensions/admin/forms/domain.py:178
+msgid "Automatically create an administrator for this domain"
+msgstr "Automatisch Administrator für diese Domain anlegen"
+
+#: extensions/admin/forms/domain.py:185
+msgid "The administrator's name. Don't include the domain's name here, it will be automatically appended."
+msgstr "Name des Administrators. Geben Sie nicht den Domainnamen mit an. Er wird automatisch hinzugefügt."
+
+#: extensions/admin/forms/domain.py:193
+msgid "Create aliases"
+msgstr "Aliase erstellen"
+
+#: extensions/admin/forms/domain.py:195
+msgid "Automatically create standard aliases for this domain"
+msgstr "Automatisch Standard-Aliase für Domain anlegen"
+
+#: extensions/admin/forms/domain.py:211
+msgid "Invalid format"
+msgstr "Ungültiges Format"
+
+#: extensions/admin/forms/domain.py:225
+#, python-format
+msgid "User '%s' already exists"
+msgstr "Identität %s existiert bereits"
+
+#: extensions/admin/forms/export.py:7
+msgid "File name"
+msgstr "Dateiname"
+
+#: extensions/admin/forms/export.py:10
+#: extensions/admin/forms/import_.py:8
+msgid "Separator"
+msgstr "Separator"
+
+#: extensions/admin/forms/forward.py:12
+msgid "Recipient(s)"
+msgstr "Empfänger"
+
+#: extensions/admin/forms/forward.py:15
+msgid "Indicate one or more recipients separated by a ','"
+msgstr "Geben sie einen oder mehrere, durch Komma ',' separierte Empfänger an"
+
+#: extensions/admin/forms/forward.py:18
+msgid "Keep local copies"
+msgstr "Lokale Kopien behalten"
+
+#: extensions/admin/forms/forward.py:20
+msgid "Forward messages and store copies into your local mailbox"
+msgstr "Nachricht weiterleiten und Kopie in Mailbox ablegen"
+
+#: extensions/admin/forms/forward.py:38
+msgid "You can't define a forward to a local destination. Please ask your administrator to create an alias instead."
+msgstr "Sie können keine Weiterleitung auf ein lokales Ziel anlegen. Bitten Sie Ihren Administrator stattdessen einen Alias anzulegen."
+
+#: extensions/admin/forms/import_.py:6
+#: extensions/webmail/forms.py:26
+msgid "Select a file"
+msgstr "Wählen Sie eine Datei"
+
+#: extensions/admin/forms/import_.py:11
+msgid "Continue on error"
+msgstr "Bei Fehler fortfahren"
+
+#: extensions/admin/forms/import_.py:12
+msgid "Don't treat duplicated objects as error"
+msgstr "Doppelte Objekte nicht als Fehler behandeln"
+
+#: extensions/admin/forms/import_.py:27
+msgid "Crypt passwords"
+msgstr "Passworte verschlüsseln"
+
+#: extensions/admin/forms/import_.py:28
+msgid "Check this option if passwords contained in your file are not crypted"
+msgstr "Auswählen wenn Kennwörter in Datei nicht verschlüsselt sind"
+
+#: extensions/admin/models/alias.py:16
+#: extensions/admin/models/mailbox.py:51
+msgid "address"
+msgstr "Adresse"
+
+#: extensions/admin/models/alias.py:18
+msgid "The alias address (without the domain part). For a 'catch-all' address, just enter an * character."
+msgstr "Die Alias-Adresse (ohne den Domain-Anteil). Geben sie für eine Adresse an, die alles annimmt, * an."
+
+#: extensions/admin/models/alias.py:24
+msgid "mailboxes"
+msgstr "Mailboxen"
+
+#: extensions/admin/models/alias.py:25
+msgid "The mailboxes this alias points to"
+msgstr "Mailbox auf den dieser Alias verweist"
+
+#: extensions/admin/models/alias.py:29
+msgid "The aliases this alias points to"
+msgstr "Aliase auf die dieser Alias verweist"
+
+#: extensions/admin/models/alias.py:34
+#: extensions/admin/models/domain_alias.py:18
+#: extensions/postfix_relay_domains/models.py:168
+msgid "Check to activate this alias"
+msgstr "Auswählen um den Alias zu aktivieren"
+
+#: extensions/admin/models/alias.py:79
+msgid "distribution list"
+msgstr "Verteilerliste"
+
+#: extensions/admin/models/alias.py:80
+msgid "forward"
+msgstr "Weiterleitung"
+
+#: extensions/admin/models/alias.py:81
+msgid "alias"
+msgstr "Alias"
+
+#: extensions/admin/models/alias.py:150
+#, python-format
+msgid "Invalid line: %s"
+msgstr "Ungültige Zeile: %s"
+
+#: extensions/admin/models/alias.py:155
+#, python-format
+msgid "Domain '%s' does not exist"
+msgstr "Domain '%s' existiert nicht"
+
+#: extensions/admin/models/domain.py:28
+#: extensions/admin/models/domain_alias.py:10
+#: extensions/postfix_relay_domains/models.py:58
+#: extensions/postfix_relay_domains/models.py:76
+#: extensions/postfix_relay_domains/models.py:159
+msgid "name"
+msgstr "Name"
+
+#: extensions/admin/models/domain.py:29
+#: extensions/postfix_relay_domains/models.py:77
+msgid "The domain name"
+msgstr "Name der Domäne"
+
+#: extensions/admin/models/domain.py:33
+#: extensions/postfix_relay_domains/models.py:86
+msgid "Check to activate this domain"
+msgstr "Auswählen, um diese Domäne zu aktivieren"
+
+#: extensions/admin/models/domain.py:61
+msgid "Domain"
+msgstr "Domain"
+
+#: extensions/admin/models/domain.py:140
+#, python-format
+msgid "Invalid quota value for domain '%s'"
+msgstr "Ungültiger Quota-Wert für Domain '%s'"
+
+#: extensions/admin/models/domain_alias.py:11
+#: extensions/postfix_relay_domains/models.py:160
+msgid "The alias name"
+msgstr "Der Alias-Name"
+
+#: extensions/admin/models/domain_alias.py:13
+#: extensions/postfix_relay_domains/models.py:163
+msgid "target"
+msgstr "Ziel"
+
+#: extensions/admin/models/domain_alias.py:14
+msgid "The domain this alias points to"
+msgstr "Domäne auf die dieser Alias verweist"
+
+#: extensions/admin/models/domain_alias.py:46
+#, python-format
+msgid "A domain %s already exists"
+msgstr "Eine Domain %s existiert bereits"
+
+#: extensions/admin/models/domain_alias.py:51
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Unbekannte Domain %s"
+
+#: extensions/admin/models/mailbox.py:52
+msgid "Mailbox address (without the @domain.tld part)"
+msgstr "Mailbox-Adresse (ohne den @domain.tld-Anteil)"
+
+#: extensions/admin/models/mailbox.py:113
+#, python-format
+msgid "Failed to retrieve mailbox location (%s)"
+msgstr "Konnte Speicherort der Mailbox (%s) nicht bestimmen"
+
+#: extensions/admin/models/mailbox.py:173
+#, python-format
+msgid "Quota is greater than the allowed domain's limit (%dM)"
+msgstr "Das Quota ist größer als das maximale Quota der Domain (%dM)"
+
+#: extensions/admin/models/mailbox.py:178
+msgid "A quota is required"
+msgstr "Ein Quota ist erforderlich"
+
+#: extensions/admin/templates/admin/domain_general_form.html:3
+#: extensions/admin/templates/admin/mailform.html:3
+#: extensions/admin/templates/admin/newdomainform.html:3
+msgid "MB"
+msgstr "MB"
+
+#: extensions/admin/templates/admin/domain_options_form.html:5
+msgid "You can't create a new domain administrator"
+msgstr "Sie können keinen neuen Domänen-Administrator erstellen"
+
+#: extensions/admin/templates/admin/domains_table.html:7
+#: extensions/admin/templates/admin/identities_table.html:7
+msgid "Tags"
+msgstr "Tags"
+
+#: extensions/admin/templates/admin/domains_table.html:8
+#: extensions/admin/templates/admin/identities_table.html:8
+#: extensions/admin/templates/admin/listing.html:17
+#: extensions/sievefilters/views.py:93
+#: extensions/sievefilters/templates/sievefilters/filter.html:17
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
+#: extensions/webmail/templatetags/webmail_tags.py:101
+msgid "Actions"
+msgstr "Aktionen"
+
+#: extensions/admin/templates/admin/editdomainform.html:4
+msgid "Administrators"
+msgstr "Administratoren"
+
+#: extensions/admin/templates/admin/editdomainform.html:19
+msgid "No domain administrator defined"
+msgstr "Domänen-Administrator fehlt"
+
+#: extensions/admin/templates/admin/editdomainform.html:22
+msgid "Creation date"
+msgstr "Erstellungsdatum"
+
+#: extensions/admin/templates/admin/editdomainform.html:23
+msgid "Last modification date"
+msgstr "Datum der letzten Änderung"
+
+#: extensions/admin/templates/admin/editdomainform.html:24
+#: extensions/limits/app_settings.py:25
+#: extensions/limits/models.py:20
+msgid "Domain aliases"
+msgstr "Domänen-Aliase"
+
+#: extensions/admin/templates/admin/editdomainform.html:26
+#: extensions/limits/app_settings.py:37
+#: extensions/limits/models.py:25
+msgid "Mailbox aliases"
+msgstr "Mailboxen-Aliase"
+
+#: extensions/admin/templates/admin/forward.html:2
+msgid "Automatically forward emails to another address"
+msgstr "Nachrichten automatisch an andere Adresse weiterleiten"
+
+#: extensions/admin/templates/admin/identities_table.html:6
+msgid "Fullname/Recipient"
+msgstr "Name/Empfänger"
+
+#: extensions/admin/templates/admin/importform.html:5
+msgid "Help"
+msgstr "Hilfe"
+
+#: extensions/admin/templates/admin/importform.html:12
+msgid "Importing..."
+msgstr "Importiere …"
+
+#: extensions/admin/templates/admin/listing.html:14
+#: extensions/stats/templates/stats/index.html:28
+msgid "Filter"
+msgstr "Filter"
+
+#: extensions/admin/templates/admin/mailboxes_raw.html:3
+msgid "Choose a value"
+msgstr "Wert auswählen"
+
+#: extensions/admin/templates/admin/mailform.html:3
+msgid "Use domain default value"
+msgstr "Standardwert der Domain verwenden"
+
+#: extensions/admin/templates/admin/quotas.html:5
+msgid "Address"
+msgstr "Adresse"
+
+#: extensions/admin/templates/admin/quotas.html:6
+msgid "Value"
+msgstr "Wert"
+
+#: extensions/admin/templates/admin/quotas.html:7
+msgid "Limit"
+msgstr "Limit"
+
+#: extensions/admin/templates/admin/quotas.html:8
+#, python-format
+msgid "Usage (%%)"
+msgstr "Verwendung (%%)"
+
+#: extensions/admin/templates/admin/searchform.html:6
+msgid "Search"
+msgstr "Suchen"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_m"
+msgstr "aktiviert_m"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_f"
+msgstr "aktiviert_f"
+
+#: extensions/admin/templatetags/admin_tags.py:33
+msgid "Add domain"
+msgstr "Domain hinzufügen"
+
+#: extensions/admin/templatetags/admin_tags.py:42
+#: extensions/admin/templatetags/admin_tags.py:106
+#: extensions/admin/views/import.py:51
+#: extensions/admin/views/import.py:166
+msgid "Import"
+msgstr "Importiere"
+
+#: extensions/admin/templatetags/admin_tags.py:48
+#: extensions/admin/templatetags/admin_tags.py:112
+#: extensions/admin/views/export.py:38
+#: extensions/admin/views/export.py:64
+msgid "Export"
+msgstr "Exportiere"
+
+#: extensions/admin/templatetags/admin_tags.py:72
+msgid "List identities"
+msgstr "Identitäten auflisten"
+
+#: extensions/admin/templatetags/admin_tags.py:77
+msgid "List quotas"
+msgstr "List-Quotas"
+
+#: extensions/admin/templatetags/admin_tags.py:82
+msgid "Add account"
+msgstr "Konto hinzufügen"
+
+#: extensions/admin/templatetags/admin_tags.py:88
+msgid "Add alias"
+msgstr "Alias hinzufügen"
+
+#: extensions/admin/templatetags/admin_tags.py:94
+msgid "Add forward"
+msgstr "Weiterleitung hinzufügen"
+
+#: extensions/admin/templatetags/admin_tags.py:100
+msgid "Add distribution list"
+msgstr "Verteilerliste hinzufügen"
+
+#: extensions/admin/templatetags/admin_tags.py:133
+msgid "View the domain's identities"
+msgstr "Domain-Identitäten anzeigen"
+
+#: extensions/admin/templatetags/admin_tags.py:143
+#: extensions/admin/templatetags/admin_tags.py:162
+#: extensions/admin/templatetags/admin_tags.py:169
+#: extensions/postfix_relay_domains/general_callbacks.py:84
+#, python-format
+msgid "Delete %s?"
+msgstr "%s löschen?"
+
+#: extensions/admin/templatetags/admin_tags.py:239
+msgid "Remove this permission"
+msgstr "Berechtigung entfernen"
+
+#: extensions/admin/views/alias.py:25
+msgid "Alias with this name already exists"
+msgstr "Ein Alias mit diesem Namen existiert bereits"
+
+#: extensions/admin/views/alias.py:49
+#: extensions/admin/views/domain.py:100
+#: extensions/admin/views/domain.py:129
+#: extensions/admin/views/identity.py:131
+#: extensions/admin/views/identity.py:158
+#: extensions/postfix_relay_domains/views.py:32
+#: extensions/sievefilters/views.py:141
+#: extensions/sievefilters/views.py:230
+#: extensions/webmail/views.py:151
+msgid "Create"
+msgstr "Erstellen"
+
+#: extensions/admin/views/alias.py:61
+msgid "New distribution list"
+msgstr "Neue Verteilerliste"
+
+#: extensions/admin/views/alias.py:62
+msgid "Distribution list created"
+msgstr "Verteilerliste erstellt"
+
+#: extensions/admin/views/alias.py:71
+msgid "New alias"
+msgstr "Neuer Alias"
+
+#: extensions/admin/views/alias.py:72
+msgid "Alias created"
+msgstr "Alias erstellt"
+
+#: extensions/admin/views/alias.py:81
+msgid "New forward"
+msgstr "Neue Weiterleitung"
+
+#: extensions/admin/views/alias.py:82
+msgid "Forward created"
+msgstr "Weiterleitung erstellt"
+
+#: extensions/admin/views/alias.py:95
+msgid "Distribution list modified"
+msgstr "Verteilerliste verändert"
+
+#: extensions/admin/views/alias.py:97
+msgid "Forward modified"
+msgstr "Weiterleitung verändert"
+
+#: extensions/admin/views/alias.py:99
+msgid "Alias modified"
+msgstr "Alias verändert"
+
+#: extensions/admin/views/domain.py:96
+#: extensions/admin/views/identity.py:128
+msgid "Next"
+msgstr "Nächstes"
+
+#: extensions/admin/views/domain.py:99
+msgid "Options"
+msgstr "optionen"
+
+#: extensions/admin/views/domain.py:101
+#: extensions/admin/views/identity.py:132
+msgid "Previous"
+msgstr "Vorheriges"
+
+#: extensions/admin/views/domain.py:123
+msgid "Domain created"
+msgstr "Domäne erstellt."
+
+#: extensions/admin/views/domain.py:128
+msgid "New domain"
+msgstr "Neue Domäne"
+
+#: extensions/admin/views/domain.py:155
+msgid "Domain modified"
+msgstr "Domäne verändert"
+
+#: extensions/admin/views/domain.py:189
+msgid "You can't delete your own domain"
+msgstr "Sie können Ihre eigene Domäne nicht löschen"
+
+#: extensions/admin/views/domain.py:192
+msgid "Domain deleted"
+msgid_plural "Domains deleted"
+msgstr[0] "Domäne gelöscht"
+msgstr[1] "Domänen gelöscht"
+
+#: extensions/admin/views/export.py:37
+msgid "Export identities"
+msgstr "Identitäten exportieren"
+
+#: extensions/admin/views/export.py:63
+msgid "Export domains"
+msgstr "Domains exportieren"
+
+#: extensions/admin/views/identity.py:103
+#: extensions/admin/views/identity.py:224
+#: extensions/admin/views/identity.py:229
+#: extensions/amavis/views.py:179
+#: extensions/amavis/views.py:185
+#: extensions/amavis/views.py:220
+#: extensions/amavis/views.py:224
+#: extensions/amavis/views.py:226
+#: extensions/webmail/views.py:47
+#: extensions/webmail/views.py:65
+#: extensions/webmail/views.py:79
+#: extensions/webmail/views.py:97
+#: extensions/webmail/views.py:114
+#: extensions/webmail/views.py:200
+#: extensions/webmail/views.py:223
+#: extensions/webmail/views.py:396
+#: extensions/webmail/views.py:430
+#: extensions/webmail/views.py:443
+#: extensions/webmail/views.py:472
+#: extensions/webmail/views.py:513
+#: lib/formutils.py:44
+#: lib/formutils.py:49
+msgid "Invalid request"
+msgstr "Ungültige Anfrage"
+
+#: extensions/admin/views/identity.py:149
+msgid "Account created"
+msgstr "Konto erstellt"
+
+#: extensions/admin/views/identity.py:155
+msgid "New account"
+msgstr "Neues Konto"
+
+#: extensions/admin/views/identity.py:190
+msgid "Account updated"
+msgstr "Konto aktualisiert"
+
+#: extensions/admin/views/identity.py:214
+msgid "Account deleted"
+msgid_plural "Accounts deleted"
+msgstr[0] "Konto gelöscht"
+msgstr[1] "Konten gelöscht"
+
+#: extensions/admin/views/import.py:39
+#, python-format
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Verwenden sie eine CSV-Datei mit einem der folgenden Formate:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"Das erste Element jeder Zeile ist zwingend und muss gleich zum vorhergehenden sein.
\n"
+"Ein anderes Zeichen als Trenner ist gestattet.
\n"
+
+#: extensions/admin/views/import.py:50
+msgid "Import domains"
+msgstr "Domains importieren"
+
+#: extensions/admin/views/import.py:129
+#, python-format
+msgid "Object already exists: %s"
+msgstr "Objekt existiert bereits: %s"
+
+#: extensions/admin/views/import.py:133
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d Objekte erfolgreich importiert"
+
+#: extensions/admin/views/import.py:153
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
+"\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Verwenden sie eine CSV-Datei in einem der folgenden Formate:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"Das erste Element einer Zeile ist zwingend und muss gleich mit einem der vorhergehenden sein.
\n"
+"\n"
+"Ein anderes Zeichen als Separator ist gestattet.
\n"
+
+#: extensions/admin/views/import.py:165
+msgid "Import identities"
+msgstr "Identitäten importieren"
+
+#: extensions/admin/views/user.py:37
+msgid "Forward updated"
+msgstr "Weiterleitung aktualisiert"
+
+#: extensions/amavis/__init__.py:21
msgid "Simple amavis management frontend"
msgstr "Einfache amavis Management Oberfläche"
-#: extensions/amavis/__init__.py:45
-#: extensions/amavis/__init__.py:61
+#: extensions/amavis/__init__.py:52
+#: extensions/amavis/general_callbacks.py:17
msgid "Quarantine"
msgstr "Quarantäne"
-#: extensions/amavis/__init__.py:129
-msgid "pending requests"
-msgstr "Offene Anfragen"
-
-#: extensions/amavis/__init__.py:149
-#, python-format
-msgid "%d pending requests"
-msgstr "%d offene Anfragen"
-
-#: extensions/amavis/__init__.py:161
-msgid "Content filter"
-msgstr "Inhaltsfilter"
-
#: extensions/amavis/app_settings.py:11
msgid "Quarantine settings"
msgstr "Quarantäne-Einstellungen"
@@ -1307,12 +1513,6 @@ msgstr "Absender von Benachrichtigungen"
msgid "The e-mail address used to send notitications"
msgstr "Die Mailadresse, die verwendet wird, um Benachrichtigungen zu versenden"
-#: extensions/amavis/app_settings.py:87
-#: extensions/webmail/app_settings.py:73
-#: userprefs/app_settings.py:18
-msgid "Display"
-msgstr "Darstellung"
-
#: extensions/amavis/app_settings.py:91
#: extensions/webmail/app_settings.py:91
msgid "Number of displayed emails per page"
@@ -1322,7 +1522,19 @@ msgstr "Anzahl dargestellter Nachrichten pro Seite"
msgid "Set the maximum number of messages displayed in a page"
msgstr "Legt die maximale Anzahl von Nachrichten fest, die in einer Seite dargestellt werden"
-#: extensions/amavis/lib.py:53
+#: extensions/amavis/general_callbacks.py:81
+msgid "pending requests"
+msgstr "Offene Anfragen"
+
+#: extensions/amavis/general_callbacks.py:124
+msgid "Pending requests"
+msgstr "Offene Anfragen"
+
+#: extensions/amavis/general_callbacks.py:134
+msgid "Content filter"
+msgstr "Inhaltsfilter"
+
+#: extensions/amavis/lib.py:57
#, python-format
msgid "Connection to amavis failed: %s"
msgstr "Verbindung zu amavis fehlgeschlagen: %s"
@@ -1334,14 +1546,14 @@ msgstr "Virusfilter"
#: extensions/amavis/models.py:94
#: extensions/amavis/models.py:102
#: extensions/amavis/models.py:110
-#: extensions/sievefilters/views.py:281
+#: extensions/sievefilters/views.py:290
msgid "yes"
msgstr "Ja"
#: extensions/amavis/models.py:95
#: extensions/amavis/models.py:103
#: extensions/amavis/models.py:111
-#: extensions/sievefilters/views.py:285
+#: extensions/sievefilters/views.py:294
msgid "no"
msgstr "Nein"
@@ -1380,57 +1592,62 @@ msgstr "SPAM-Markierung"
msgid "Modify spam subject using the specified text. Choose 'default' to use global settings."
msgstr "Betreff:-Zeile einer Spam-Nachricht mit dem angegebenen Text ergänzen. Wählen Sie 'Standard' für den systemweiten Standard."
-#: extensions/amavis/sql_listing.py:23
-#: extensions/webmail/lib.py:37
-msgid "From"
-msgstr "Von"
+#: extensions/amavis/sql_listing.py:31
+msgid "Score"
+msgstr "Punktzahl"
-#: extensions/amavis/sql_listing.py:24
-#: extensions/sievefilters/forms.py:68
-#: extensions/webmail/forms.py:10
-#: extensions/webmail/lib.py:36
-#: extensions/webmail/lib.py:409
-#: templates/common/email_searchbar.html:6
-msgid "Subject"
-msgstr "Betreff"
-
-#: extensions/amavis/sql_listing.py:26
-#: extensions/amavis/templatetags/amextras.py:102
+#: extensions/amavis/sql_listing.py:35
+#: extensions/amavis/templatetags/amavis_tags.py:75
#: extensions/webmail/forms.py:7
msgid "To"
msgstr "An"
-#: extensions/amavis/views.py:43
+#: extensions/amavis/sql_listing.py:38
+#: extensions/postfix_autoreply/forms.py:11
+#: extensions/webmail/lib.py:44
+msgid "From"
+msgstr "Von"
+
+#: extensions/amavis/sql_listing.py:42
+#: extensions/sievefilters/forms.py:77
+#: extensions/webmail/forms.py:11
+#: extensions/webmail/lib.py:40
+#: extensions/webmail/lib.py:423
+#: templates/common/email_searchbar.html:6
+msgid "Subject"
+msgstr "Betreff"
+
+#: extensions/amavis/views.py:27
msgid "Empty quarantine"
msgstr "Quarantäne leeren"
-#: extensions/amavis/views.py:211
+#: extensions/amavis/views.py:186
msgid "Message deleted"
msgstr "Nachricht gelöscht"
-#: extensions/amavis/views.py:232
+#: extensions/amavis/views.py:207
#, python-format
msgid "%(count)d message deleted successfully"
msgid_plural "%(count)d messages deleted successfully"
msgstr[0] "%(count)d Nachricht erfolgreich gelöscht"
msgstr[1] "%(count)d Nachrichten erfolgreich gelöscht"
-#: extensions/amavis/views.py:252
+#: extensions/amavis/views.py:229
msgid "Request sent"
msgstr "Anfrage gesendet"
-#: extensions/amavis/views.py:258
+#: extensions/amavis/views.py:235
msgid "Message released"
msgstr "Nachricht freigegeben"
-#: extensions/amavis/views.py:280
+#: extensions/amavis/views.py:268
#, python-format
msgid "%(count)d request sent"
msgid_plural "%(count)d requests sent"
msgstr[0] "%(count)d Anfrage gesendet"
msgstr[1] "%(count)d Anfragen gesendet"
-#: extensions/amavis/views.py:304
+#: extensions/amavis/views.py:288
#, python-format
msgid "%(count)d message released successfully"
msgid_plural "%(count)d messages released successfully"
@@ -1457,6 +1674,72 @@ msgstr "oder mehr soll SPAM-Nachricht verwerfen"
msgid "Quarantine management"
msgstr "Quarantäne-Management"
+#: extensions/amavis/templates/amavis/main_action_bar.html:3
+msgid "Select"
+msgstr "Auswählen"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:9
+msgid "Spam"
+msgstr "Spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:10
+msgid "Virus"
+msgstr "Virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:11
+msgid "Bad Header"
+msgstr "Fehlerhafte Header"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:12
+msgid "Bad MIME"
+msgstr "Schlechtes MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:13
+msgid "Banned"
+msgstr "Unerwünschte Dateien"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:18
+#: extensions/amavis/templatetags/amavis_tags.py:19
+#: extensions/amavis/templatetags/amavis_tags.py:54
+msgid "Release"
+msgstr "Freigeben"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:23
+#: extensions/amavis/templatetags/amavis_tags.py:25
+#: extensions/amavis/templatetags/amavis_tags.py:61
+#: extensions/webmail/templatetags/webmail_tags.py:32
+msgid "Delete"
+msgstr "Löschen"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+#: extensions/sievefilters/forms.py:64
+msgid "All messages"
+msgstr "Alle Nachrichten"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+msgid "All"
+msgstr "Alle"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:32
+msgid "Spam only"
+msgstr "Nur Spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:33
+msgid "Virus only"
+msgstr "Nur Virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:34
+msgid "Bad Header only"
+msgstr "Nur Fehlerhafte Header"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:35
+msgid "Bad MIME only"
+msgstr "Nur Fehlerhaftes MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:36
+msgid "Banned only"
+msgstr "Nur Unerwünschte Dateien"
+
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:1
#, python-format
msgid ""
@@ -1501,70 +1784,24 @@ msgstr "Rektion auf diese Nachricht:"
msgid "Please visit %(listingurl)s for a full listing."
msgstr "Bitte besuchen sie %(listingurl)s um eine vollständige Ausgabe zu erhalten."
-#: extensions/amavis/templatetags/amextras.py:20
-#: extensions/amavis/templatetags/amextras.py:52
-#: extensions/amavis/templatetags/amextras.py:72
-msgid "Release"
-msgstr "Freigeben"
-
-#: extensions/amavis/templatetags/amextras.py:26
-#: extensions/amavis/templatetags/amextras.py:59
-#: extensions/amavis/templatetags/amextras.py:77
-#: extensions/webmail/templatetags/webextras.py:31
-msgid "Delete"
-msgstr "Löschen"
-
-#: extensions/amavis/templatetags/amextras.py:29
+#: extensions/amavis/templatetags/amavis_tags.py:28
msgid "View full headers"
msgstr "Alle Mail-Header ansehen"
-#: extensions/amavis/templatetags/amextras.py:80
-msgid "Content Class"
-msgstr "Inhaltsklasse"
-
-#: extensions/amavis/templatetags/amextras.py:84
-msgid "Nothing"
-msgstr "Nichts"
-
-#: extensions/amavis/templatetags/amextras.py:87
-msgid "Spam"
-msgstr "Spam"
-
-#: extensions/amavis/templatetags/amextras.py:90
-msgid "Virus"
-msgstr "Virus"
-
-#: extensions/amavis/templatetags/amextras.py:93
-msgid "Bad header"
-msgstr "Schlechte Header"
-
-#: extensions/amavis/templatetags/amextras.py:96
-msgid "Bad MIME"
-msgstr "Schlechtes MIME"
-
-#: extensions/limits/__init__.py:23
+#: extensions/limits/__init__.py:25
msgid "Per administrator resources to limit the number of objects they can create"
msgstr "Administrator-Ressourcen, um die Anzahl erstellbarer Objekte einzuschränken"
-#: extensions/limits/__init__.py:54
+#: extensions/limits/__init__.py:56
msgid "Limits"
msgstr "Grenzwerte"
-#: extensions/limits/__init__.py:65
-msgid "Reseller"
-msgstr "Reseller"
-
-#: extensions/limits/__init__.py:94
-msgid "Resources"
-msgstr "Ressourcen"
-
#: extensions/limits/app_settings.py:10
msgid "Default limits"
msgstr "Standard-Grenzwerte"
#: extensions/limits/app_settings.py:13
-#: extensions/limits/forms.py:12
-#: extensions/limits/models.py:11
+#: extensions/limits/models.py:14
msgid "Domain admins"
msgstr "Domänen-Administratoren"
@@ -1588,52 +1825,61 @@ msgstr "Maximale Anzahl Mailboxen, die ein neuer Administrator erstellen darf"
msgid "Maximum number of allowed aliases for a new administrator"
msgstr "Maximale Anzahl Aliase, die ein neuer Administrator erstellen darf"
-#: extensions/limits/forms.py:13
-msgid "Maximum number of domain administrators this user can create"
-msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf"
-
-#: extensions/limits/forms.py:17
-msgid "Maximum number of domains this user can create"
-msgstr "Maximale Anzahl Domains, die dieser Anwender erstellen darf"
-
-#: extensions/limits/forms.py:21
-msgid "Maximum number of domain aliases this user can create"
-msgstr "Maximale Anzahl Domain Aliase, die dieser Anwender erstellen darf"
-
-#: extensions/limits/forms.py:25
-msgid "Maximum number of mailboxes this user can create"
-msgstr "Maximale Anzahl Mailboxen, die dieser Anwender erstellen darf"
-
-#: extensions/limits/forms.py:29
-msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Anwender erstellen darf"
-
-#: extensions/limits/forms.py:46
+#: extensions/limits/forms.py:28
+#: extensions/limits/forms.py:35
msgid "Invalid limit"
msgstr "Ungültiger Grenzwert"
-#: extensions/limits/forms.py:74
+#: extensions/limits/forms.py:57
msgid "Your resources are not initialized yet"
msgstr "Ihre Ressourcen wurde noch nicht initialisiert"
-#: extensions/limits/forms.py:78
+#: extensions/limits/forms.py:61
msgid "You're not allowed to define unlimited values"
msgstr "Sie verfügen nicht über ausreichend Rechte, um unbegrenzte Werte anzugeben"
-#: extensions/limits/lib.py:16
+#: extensions/limits/general_callbacks.py:10
+msgid "Reseller"
+msgstr "Reseller"
+
+#: extensions/limits/general_callbacks.py:48
+msgid "Resources"
+msgstr "Ressourcen"
+
+#: extensions/limits/lib.py:19
#, python-format
msgid "%s: limit reached"
msgstr "%s: Grenze erreicht"
-#: extensions/limits/lib.py:23
+#: extensions/limits/lib.py:29
msgid "Not enough resources"
msgstr "Nicht ausreichend Ressourcen"
-#: extensions/limits/models.py:103
+#: extensions/limits/models.py:15
+msgid "Maximum number of domain administrators this user can create"
+msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf"
+
+#: extensions/limits/models.py:18
+msgid "Maximum number of domains this user can create"
+msgstr "Maximale Anzahl Domains, die dieser Anwender erstellen darf"
+
+#: extensions/limits/models.py:21
+msgid "Maximum number of domain aliases this user can create"
+msgstr "Maximale Anzahl Domain Aliase, die dieser Anwender erstellen darf"
+
+#: extensions/limits/models.py:24
+msgid "Maximum number of mailboxes this user can create"
+msgstr "Maximale Anzahl Mailboxen, die dieser Anwender erstellen darf"
+
+#: extensions/limits/models.py:26
+msgid "Maximum number of mailbox aliases this user can create"
+msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Anwender erstellen darf"
+
+#: extensions/limits/models.py:136
msgid "undefined"
msgstr "unbestimmt"
-#: extensions/limits/models.py:105
+#: extensions/limits/models.py:138
msgid "unlimited"
msgstr "unbegrenzt"
@@ -1641,19 +1887,14 @@ msgstr "unbegrenzt"
msgid "Resources usage"
msgstr "Ressourcen-Verbrauch"
-#: extensions/postfix_autoreply/__init__.py:20
+#: extensions/postfix_autoreply/__init__.py:26
msgid "Auto-reply (vacation) functionality using Postfix"
msgstr "Automatische Antwort (Abwesenheitsbenachrichtigung) über Postfix-Programm"
-#: extensions/postfix_autoreply/__init__.py:41
+#: extensions/postfix_autoreply/__init__.py:47
msgid "Automatic replies"
msgstr "Automatische Antworten"
-#: extensions/postfix_autoreply/__init__.py:79
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
-msgid "Auto-reply message"
-msgstr "Automatische Antwort"
-
#: extensions/postfix_autoreply/app_settings.py:14
msgid "Automatic reply timeout"
msgstr "Zeitüberschreitung für automatische Antworten"
@@ -1662,39 +1903,95 @@ msgstr "Zeitüberschreitung für automatische Antworten"
msgid "Timeout in seconds between two auto-replies to the same recipient"
msgstr "Zeit in Sekunden zwischen zwei automatisierten Antworten an denselben Empfänger"
-#: extensions/postfix_autoreply/forms.py:9
+#: extensions/postfix_autoreply/app_settings.py:20
+msgid "Default subject"
+msgstr "Standard-Betreff"
+
+#: extensions/postfix_autoreply/app_settings.py:21
+msgid "I'm off"
+msgstr "Ich bin weg"
+
+#: extensions/postfix_autoreply/app_settings.py:23
+msgid "Default subject used when an auto-reply message is created automatically"
+msgstr "Standardbetreff wenn eine Antwortnachricht automatisch generiert wird"
+
+#: extensions/postfix_autoreply/app_settings.py:28
+msgid "Default content"
+msgstr "Standard-Inhalt"
+
+#: extensions/postfix_autoreply/app_settings.py:30
+#, python-format
+msgid ""
+"I'm currently off. I'll answer as soon as I come back.\n"
+"\n"
+"Best regards,\n"
+"%(name)s\n"
+msgstr ""
+"Ich bin im Moment weg und werde antworten sobald ich zurück bin.\n"
+"\n"
+"Mit freundlichen Grüßen\n"
+"%(name)s\n"
+
+#: extensions/postfix_autoreply/app_settings.py:36
+#, python-format
+msgid "Default content used when an auto-reply message is created automatically. The '%(name)s' macro will be replaced by the user's full name."
+msgstr "Standardinhalt wenn eine Antwort automatisch erstellt wird. Das '%(name)s' Makro wird gegen den vollen Anwendernamen ersetzt."
+
+#: extensions/postfix_autoreply/forms.py:13
+msgid "Activate your auto reply from this date"
+msgstr "Automatisierte Antwort beginnend mit diesem Datum aktivieren"
+
+#: extensions/postfix_autoreply/forms.py:19
msgid "Until"
msgstr "Bis"
-#: extensions/postfix_autoreply/forms.py:11
+#: extensions/postfix_autoreply/forms.py:21
msgid "Activate your auto reply until this date"
msgstr "Aktivieren Sie ihre automatisierte Antwort bis zu diesem Datum"
-#: extensions/postfix_autoreply/forms.py:25
+#: extensions/postfix_autoreply/forms.py:49
+#: extensions/postfix_autoreply/forms.py:55
msgid "This date is over"
msgstr "Das Datum ist vorbei"
-#: extensions/postfix_autoreply/models.py:19
+#: extensions/postfix_autoreply/forms.py:59
+msgid "Must be greater than start date"
+msgstr "Muss größer als Wert des Startdatums sein"
+
+#: extensions/postfix_autoreply/general_callbacks.py:33
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Auto-reply message"
+msgstr "Automatische Antwort"
+
+#: extensions/postfix_autoreply/general_callbacks.py:118
+msgid "Enable auto-reply"
+msgstr "Automatische Antwort aktivieren"
+
+#: extensions/postfix_autoreply/general_callbacks.py:120
+msgid "Enable or disable Postfix auto-reply"
+msgstr "Automatische Postfix-Antwort (de)aktivieren"
+
+#: extensions/postfix_autoreply/models.py:20
msgid "subject"
msgstr "Betreff"
-#: extensions/postfix_autoreply/models.py:20
+#: extensions/postfix_autoreply/models.py:21
msgid "The subject that will appear in sent emails"
msgstr "Der Betreff, der in den versendeten Nachrichten verwendet wird"
-#: extensions/postfix_autoreply/models.py:23
+#: extensions/postfix_autoreply/models.py:24
msgid "content"
msgstr "Inhalt"
-#: extensions/postfix_autoreply/models.py:24
+#: extensions/postfix_autoreply/models.py:25
msgid "The content that will appear in sent emails"
msgstr "Der Inhalt, der in den versendeten Nachrichten verwendet wird"
-#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_autoreply/models.py:29
msgid "Activate/Deactivate your auto reply"
msgstr "Aktivieren/Deaktivieren Sie die automatisierte Antwort"
-#: extensions/postfix_autoreply/views.py:37
+#: extensions/postfix_autoreply/views.py:34
msgid "Auto reply message updated successfully."
msgstr "Automatische Antwort erfolgreich aktualisiert."
@@ -1702,16 +1999,136 @@ msgstr "Automatische Antwort erfolgreich aktualisiert."
msgid "Define a message to automatically send when you are off"
msgstr "Gegen sie eine Nachricht an, die gesendet werden soll, wenn Sie nicht erreichbar sind"
+#: extensions/postfix_relay_domains/__init__.py:72
+msgid "Relay domains support for Postfix"
+msgstr "Relaydomain-Unterstützung für Postfix"
+
+#: extensions/postfix_relay_domains/__init__.py:89
+#: extensions/postfix_relay_domains/general_callbacks.py:100
+#: extensions/postfix_relay_domains/limits_callbacks.py:16
+msgid "Relay domains"
+msgstr "Relaydomain"
+
+#: extensions/postfix_relay_domains/app_settings.py:10
+msgid "Postfix's master.cf path"
+msgstr "Pfad zu Postfix master.cf-Datei"
+
+#: extensions/postfix_relay_domains/app_settings.py:12
+msgid "Path to the master.cf configuration file"
+msgstr "Pfad zur master.cf Konfigurationsdatei"
+
+#: extensions/postfix_relay_domains/forms.py:15
+msgid "Alias(es) of this relay domain. Indicate only one name per input, press ENTER to add a new input."
+msgstr "Alias(e) für diese Relaydomain. Geben Sie jeweils nur einen pro Eingabefeld an. Bestätigen Sie mit ENTER, um ein weiteres Eingabefeld zu erhalten."
+
+#: extensions/postfix_relay_domains/forms.py:51
+#: extensions/postfix_relay_domains/general_callbacks.py:93
+msgid "relay domain alias"
+msgstr "Relaydomain-Alias"
+
+#: extensions/postfix_relay_domains/forms.py:69
+#: extensions/postfix_relay_domains/general_callbacks.py:92
+msgid "relay domain"
+msgstr "Relaydomain"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:35
+msgid "Add relay domain"
+msgstr "Relaydomain hinzufügen"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:101
+msgid "Maximum number of relay domains this user can create"
+msgstr "Maximale Anzahl Relaydomains, die dieser Anwender erstellen darf"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:103
+#: extensions/postfix_relay_domains/limits_callbacks.py:24
+msgid "Relay domain aliases"
+msgstr "Relaydomain-Aliase"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:104
+msgid "Maximum number of relay domain aliases this user can create"
+msgstr "Maximale Anzahl Relaydomain-Aliase, die dieser Anwender erstellen darf"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:111
+msgid ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients \n"
+"relaydomainalias; name; target; enabled \n"
+msgstr ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients \n"
+"relaydomainalias; name; target; enabled \n"
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:19
+msgid "Maximum number of allowed relay domains for a new administrator"
+msgstr "Maximale Anzahl Relaydomains, die ein neuer Administrator erstellen darf"
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:27
+msgid "Maximum number of allowed relay domain aliases for a new administrator"
+msgstr "Maximale Anzahl Relaydomain-Aliase, die ein neuer Administrator erstellen darf"
+
+#: extensions/postfix_relay_domains/models.py:59
+msgid "The service name"
+msgstr "Der 'service'-Name"
+
+#: extensions/postfix_relay_domains/models.py:80
+msgid "target host"
+msgstr "Ziel-Host"
+
+#: extensions/postfix_relay_domains/models.py:81
+msgid "Remote destination of this domain"
+msgstr "Entfernte Destination für diese Domain"
+
+#: extensions/postfix_relay_domains/models.py:89
+msgid "verify recipients"
+msgstr "Empfänger verifizieren"
+
+#: extensions/postfix_relay_domains/models.py:90
+msgid "Check for valid recipients"
+msgstr "Auf gültige Empfänger prüfen"
+
+#: extensions/postfix_relay_domains/models.py:103
+msgid "Relay Domain"
+msgstr "Relaydomain"
+
+#: extensions/postfix_relay_domains/models.py:164
+msgid "The relay domain this alias points to"
+msgstr "Die Relaydomain auf die dieser Alias verweist"
+
+#: extensions/postfix_relay_domains/models.py:195
+#, python-format
+msgid "Relay domain %s does not exist"
+msgstr "Relaydomain '%s' existiert nicht"
+
+#: extensions/postfix_relay_domains/views.py:26
+msgid "Relay domain created"
+msgstr "Relaydomain erstellt"
+
+#: extensions/postfix_relay_domains/views.py:31
+msgid "New relay domain"
+msgstr "Neue Relaydomain"
+
+#: extensions/postfix_relay_domains/views.py:54
+msgid "Relay domain modified"
+msgstr "Relaydomain geändert"
+
+#: extensions/postfix_relay_domains/views.py:77
+msgid "Relay domain deleted"
+msgstr "Relaydomain gelöscht"
+
+#: extensions/postfix_relay_domains/templates/postfix_relay_domains/service_field.html:2
+msgid "Scan"
+msgstr "Scanne"
+
#: extensions/sievefilters/__init__.py:12
msgid "Plugin to easily create server-side filters"
msgstr "Plugin, um auf einfache Weise server-seitige Filter zu erstellen"
-#: extensions/sievefilters/__init__.py:17
+#: extensions/sievefilters/__init__.py:18
msgid "Sieve filters"
msgstr "SIEVE-Filter"
-#: extensions/sievefilters/__init__.py:18
-#: extensions/sievefilters/__init__.py:36
+#: extensions/sievefilters/__init__.py:19
+#: extensions/sievefilters/general_callbacks.py:14
#: extensions/sievefilters/templates/sievefilters/index.html:2
msgid "Message filters"
msgstr "Nachrichten-Filter"
@@ -1752,126 +2169,122 @@ msgstr "Editor-Modus"
msgid "Select the mode you want the editor to work in"
msgstr "Wählen Sie den Modus aus in dem der Editor arbeiten soll"
-#: extensions/sievefilters/forms.py:14
+#: extensions/sievefilters/forms.py:16
msgid "Check to activate this filters set"
msgstr "Häckchen setzen, damit Filter aktiv wird"
-#: extensions/sievefilters/forms.py:55
+#: extensions/sievefilters/forms.py:62
msgid "All of the following"
msgstr "Alle folgende"
-#: extensions/sievefilters/forms.py:56
+#: extensions/sievefilters/forms.py:63
msgid "Any of the following"
msgstr "Irgendeines der folgenden"
-#: extensions/sievefilters/forms.py:57
-msgid "All messages"
-msgstr "Alle Nachrichten"
-
-#: extensions/sievefilters/forms.py:62
+#: extensions/sievefilters/forms.py:70
msgid "contains"
msgstr "enthält"
-#: extensions/sievefilters/forms.py:63
+#: extensions/sievefilters/forms.py:71
msgid "does not contain"
msgstr "enthält nicht"
-#: extensions/sievefilters/forms.py:64
+#: extensions/sievefilters/forms.py:72
msgid "is"
msgstr "ist"
-#: extensions/sievefilters/forms.py:65
+#: extensions/sievefilters/forms.py:73
msgid "is not"
msgstr "ist nicht"
-#: extensions/sievefilters/forms.py:69
+#: extensions/sievefilters/forms.py:78
msgid "Sender"
msgstr "Sender"
-#: extensions/sievefilters/forms.py:70
+#: extensions/sievefilters/forms.py:79
msgid "Recipient"
msgstr "Empfänger"
-#: extensions/sievefilters/forms.py:71
+#: extensions/sievefilters/forms.py:80
#: extensions/webmail/forms.py:8
msgid "Cc"
msgstr "Cc"
-#: extensions/sievefilters/forms.py:72
+#: extensions/sievefilters/forms.py:81
msgid "Size"
msgstr "Größe"
-#: extensions/sievefilters/forms.py:73
+#: extensions/sievefilters/forms.py:82
msgid "is greater than"
msgstr "ist größer als"
-#: extensions/sievefilters/forms.py:74
+#: extensions/sievefilters/forms.py:83
msgid "is less than"
msgstr "ist weniger als"
-#: extensions/sievefilters/forms.py:78
+#: extensions/sievefilters/forms.py:87
msgid "Move message to"
msgstr "Verschiebe Nachricht nach"
-#: extensions/sievefilters/forms.py:80
+#: extensions/sievefilters/forms.py:89
msgid "Redirect message to"
msgstr "Leite Nachricht um zu"
-#: extensions/sievefilters/lib.py:37
+#: extensions/sievefilters/lib.py:40
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "Verbindung zu MANAGESIEVE-Server fehlgeschlagen. Überprüfen Sie Ihre Konfiguration."
-#: extensions/sievefilters/lib.py:82
+#: extensions/sievefilters/lib.py:85
msgid "Not enough space on server"
msgstr "Kein weiterer Platz auf Server verfügbar"
-#: extensions/sievefilters/views.py:68
+#: extensions/sievefilters/views.py:78
msgid "Failed to retrieve filters set"
msgstr "Konnte Filter-Satz nicht laden"
-#: extensions/sievefilters/views.py:126
+#: extensions/sievefilters/views.py:138
#: extensions/sievefilters/templatetags/sfilters_tags.py:33
msgid "New filter"
msgstr "Neuer Filter"
-#: extensions/sievefilters/views.py:133
+#: extensions/sievefilters/views.py:146
msgid "Filter created"
msgstr "Filter erstellt"
-#: extensions/sievefilters/views.py:145
-#: extensions/sievefilters/templatetags/sfilters_tags.py:77
+#: extensions/sievefilters/views.py:160
+#: extensions/sievefilters/templatetags/sfilters_tags.py:78
msgid "Edit filter"
msgstr "Filter bearbeiten"
-#: extensions/sievefilters/views.py:154
+#: extensions/sievefilters/views.py:169
msgid "Filter modified"
msgstr "Filter verändert"
-#: extensions/sievefilters/views.py:176
+#: extensions/sievefilters/views.py:192
msgid "Filter removed"
msgstr "Filter entfernt"
-#: extensions/sievefilters/views.py:177
+#: extensions/sievefilters/views.py:193
msgid "Failed to remove filter"
msgstr "Konnte Filter nicht entfernen"
-#: extensions/sievefilters/views.py:191
+#: extensions/sievefilters/views.py:208
msgid "Filters set saved"
msgstr "Filter-Satz gespeichert"
-#: extensions/sievefilters/views.py:196
-msgid "Create a new filters set"
-msgstr "Neuen Filter-Satz erstellen"
-
-#: extensions/sievefilters/views.py:219
+#: extensions/sievefilters/views.py:224
msgid "Filters set created"
msgstr "Filter erstellt"
-#: extensions/sievefilters/views.py:240
+#: extensions/sievefilters/views.py:228
+msgid "Create a new filters set"
+msgstr "Neuen Filter-Satz erstellen"
+
+#: extensions/sievefilters/views.py:247
msgid "Filters set deleted"
msgstr "Filter entfernt"
-#: extensions/sievefilters/views.py:252
+#: extensions/sievefilters/views.py:260
msgid "Filters set activated"
msgstr "Filter-Satz aktiviert"
@@ -1887,19 +2300,19 @@ msgstr "Aktiv"
msgid "No filter defined yet"
msgstr "Noch keine Filter definiert"
-#: extensions/sievefilters/templates/sievefilters/index.html:56
+#: extensions/sievefilters/templates/sievefilters/index.html:76
msgid "Filter sets"
msgstr "Filter-Sätze"
-#: extensions/sievefilters/templates/sievefilters/index.html:60
+#: extensions/sievefilters/templates/sievefilters/index.html:80
msgid "active"
msgstr "aktiv"
-#: extensions/sievefilters/templates/sievefilters/index.html:74
+#: extensions/sievefilters/templates/sievefilters/index.html:94
msgid "No filters set defined yet. You must create one in order to define filters."
msgstr "Nich keine Filter-Sätze definiert. Sie müssen einen erstellen, damit sie Filter erstellen können."
-#: extensions/sievefilters/templatetags/sfilters_tags.py:16
+#: extensions/sievefilters/templatetags/sfilters_tags.py:15
msgid "New filters set"
msgstr "Neuer Filter-Satz"
@@ -1919,31 +2332,27 @@ msgstr "Filter-Satz entfernen"
msgid "Download"
msgstr "Herunterladen"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:85
+#: extensions/sievefilters/templatetags/sfilters_tags.py:86
msgid "Remove this filter"
msgstr "Filter entfernen"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:93
+#: extensions/sievefilters/templatetags/sfilters_tags.py:94
msgid "Move this filter up"
msgstr "Filter nach oben verschieben"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:101
+#: extensions/sievefilters/templatetags/sfilters_tags.py:102
msgid "Move this filter down"
msgstr "Filter nach unten verschieben"
-#: extensions/stats/__init__.py:20
+#: extensions/stats/__init__.py:21
msgid "Graphical statistics about emails traffic using RRDtool"
msgstr "Grafische E-Mail-Statistik (setzt RRDtool ein)"
-#: extensions/stats/__init__.py:26
+#: extensions/stats/__init__.py:29
#: extensions/stats/templates/stats/index.html:2
msgid "Graphical statistics"
msgstr "Grafische Statistiken"
-#: extensions/stats/__init__.py:40
-msgid "Statistics"
-msgstr "Statistiken"
-
#: extensions/stats/app_settings.py:14
msgid "Path to the log file"
msgstr "Pfad zur Log-Datei"
@@ -1968,85 +2377,89 @@ msgstr "Ablageverzeichnis für PNG-Dateien"
msgid "Path to directory where PNG files are stored"
msgstr "Pfad zu dem Verzeichnis in dem PNG-Dateien abgelegt werden"
-#: extensions/stats/graph_templates.py:20
+#: extensions/stats/general_callbacks.py:12
+msgid "Statistics"
+msgstr "Statistiken"
+
+#: extensions/stats/graph_templates.py:22
msgid "Average normal traffic"
msgstr "Durchschnittlicher normaler Datenverkehr"
-#: extensions/stats/graph_templates.py:21
-#: extensions/stats/graph_templates.py:33
+#: extensions/stats/graph_templates.py:23
+#: extensions/stats/graph_templates.py:36
msgid "msgs/min"
msgstr "E-Mails/min"
-#: extensions/stats/graph_templates.py:26
+#: extensions/stats/graph_templates.py:28
msgid "sent messages"
msgstr "Gesendete Nachrichten"
-#: extensions/stats/graph_templates.py:28
+#: extensions/stats/graph_templates.py:30
msgid "received messages"
msgstr "Empfangene Nachrichten"
-#: extensions/stats/graph_templates.py:32
+#: extensions/stats/graph_templates.py:35
msgid "Average bad traffic"
msgstr "Durchschnittlicher schlechter Datenverkehr"
-#: extensions/stats/graph_templates.py:38
+#: extensions/stats/graph_templates.py:41
msgid "bounced messages"
msgstr "Zurückgeworfene Nachrichten"
-#: extensions/stats/graph_templates.py:40
+#: extensions/stats/graph_templates.py:43
msgid "rejected messages"
msgstr "Abgewiesene Nachrichten"
-#: extensions/stats/graph_templates.py:44
+#: extensions/stats/graph_templates.py:48
msgid "Average normal traffic size"
msgstr "Durchschnittliche Grösse normaler Datenverkehr"
-#: extensions/stats/graph_templates.py:45
+#: extensions/stats/graph_templates.py:49
msgid "bytes/min"
msgstr "Bytes/min"
-#: extensions/stats/graph_templates.py:50
+#: extensions/stats/graph_templates.py:54
msgid "received size"
msgstr "Empfangsgrösse"
-#: extensions/stats/graph_templates.py:52
+#: extensions/stats/graph_templates.py:56
msgid "sent size"
msgstr "Versendegrösse"
-#: extensions/stats/graph_templates.py:73
+#: extensions/stats/graph_templates.py:78
msgid "Mail traffic"
msgstr "Mailverkehr"
-#: extensions/stats/grapher.py:9
+#: extensions/stats/grapher.py:8
msgid "Day"
msgstr "Tag"
-#: extensions/stats/grapher.py:10
+#: extensions/stats/grapher.py:9
msgid "Week"
msgstr "Woche"
-#: extensions/stats/grapher.py:11
+#: extensions/stats/grapher.py:10
msgid "Month"
msgstr "Monat"
-#: extensions/stats/grapher.py:12
+#: extensions/stats/grapher.py:11
msgid "Year"
msgstr "Jahr"
-#: extensions/stats/grapher.py:59
+#: extensions/stats/grapher.py:60
msgid "Total"
msgstr "Gesamt"
-#: extensions/stats/views.py:21
+#: extensions/stats/views.py:28
#: extensions/stats/templates/stats/graphs.html:4
msgid "No statistics available"
msgstr "Keine Statistik-Daten verfügbar"
-#: extensions/stats/views.py:39
+#: extensions/stats/views.py:47
msgid "Unknown graphic set"
msgstr "Unbekanntes graphisches Set"
-#: extensions/stats/views.py:61
+#: extensions/stats/views.py:70
msgid "Bad custom period"
msgstr "Ungültiger individueller Zeitraum"
@@ -2066,14 +2479,10 @@ msgstr "Individueller Zeitraum"
msgid "Apply"
msgstr "Antworten"
-#: extensions/webmail/__init__.py:12
+#: extensions/webmail/__init__.py:13
msgid "Simple IMAP webmail"
msgstr "Einfaches IMAP-Webmail"
-#: extensions/webmail/__init__.py:35
-msgid "Webmail"
-msgstr "Webmail"
-
#: extensions/webmail/app_settings.py:14
msgid "Maximum attachment size"
msgstr "Maximale Anhang-Grösse"
@@ -2202,102 +2611,97 @@ msgstr "Signatur"
msgid "User defined email signature"
msgstr "Benutzerdefinierte E-Mail-Signatur"
-#: extensions/webmail/exceptions.py:19
+#: extensions/webmail/exceptions.py:20
msgid "Server response"
msgstr "Server-Antwort"
+#: extensions/webmail/exceptions.py:34
+msgid "Unknown action"
+msgstr "Unbekannte Aktion"
+
#: extensions/webmail/forms.py:9
msgid "Cci"
msgstr "Cci"
-#: extensions/webmail/imaputils.py:237
+#: extensions/webmail/general_callbacks.py:14
+msgid "Webmail"
+msgstr "Webmail"
+
+#: extensions/webmail/imaputils.py:242
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Konnte Trenner für Hierarchie nicht in Erfahrung bringen"
-#: extensions/webmail/imaputils.py:278
+#: extensions/webmail/imaputils.py:283
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Verbindung zu IMAP-Server fehlgeschlagen: %s"
-#: extensions/webmail/lib.py:358
+#: extensions/webmail/lib.py:371
msgid "wrote:"
msgstr "schrieb:"
-#: extensions/webmail/lib.py:423
-#: extensions/webmail/lib.py:427
+#: extensions/webmail/lib.py:437
+#: extensions/webmail/lib.py:441
msgid "Original message"
msgstr "Gesendete Nachrichten"
-#: extensions/webmail/views.py:86
+#: extensions/webmail/views.py:85
#, python-format
msgid "%(count)d message deleted"
msgid_plural "%(count)d messages deleted"
msgstr[0] "%(count)d Nachricht gelöscht"
msgstr[1] "%(count)d Nachrichten gelöscht"
-#: extensions/webmail/views.py:103
-msgid "Unknown action"
-msgstr "Unbekannte Aktion"
-
#: extensions/webmail/views.py:116
-#: lib/email_listing.py:137
+#: lib/email_listing.py:138
msgid "Empty mailbox"
msgstr "Mailbox leer"
-#: extensions/webmail/views.py:133
-#: extensions/webmail/templatetags/webextras.py:170
-msgid "Create a new mailbox"
-msgstr "Neue Mailbox erstellen"
-
-#: extensions/webmail/views.py:149
+#: extensions/webmail/views.py:142
msgid "Mailbox created"
msgstr "Mailbox erstellt."
-#: extensions/webmail/views.py:165
+#: extensions/webmail/views.py:148
+#: extensions/webmail/templatetags/webmail_tags.py:175
+msgid "Create a new mailbox"
+msgstr "Neue Mailbox erstellen"
+
+#: extensions/webmail/views.py:167
+#: extensions/webmail/views.py:202
msgid "Edit mailbox"
msgstr "Mailbox bearbeiten"
-#: extensions/webmail/views.py:180
+#: extensions/webmail/views.py:183
msgid "Mailbox updated"
msgstr "Mailbox aktualisiert"
-#: extensions/webmail/views.py:214
-#: extensions/webmail/views.py:396
-#: extensions/webmail/views.py:505
-msgid "Bad request"
-msgstr "Fehlerhafte Anfrage"
-
-#: extensions/webmail/views.py:246
+#: extensions/webmail/views.py:255
msgid "Failed to save attachment: "
msgstr "Konnte Anhang nicht speichern"
-#: extensions/webmail/views.py:249
+#: extensions/webmail/views.py:258
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Anhang ist zu groß (Limit: %s)"
-#: extensions/webmail/views.py:255
+#: extensions/webmail/views.py:264
#: extensions/webmail/templates/webmail/compose.html:15
#: extensions/webmail/templates/webmail/headers.html:4
msgid "Attachments"
msgstr "Dateianhänge"
-#: extensions/webmail/views.py:271
+#: extensions/webmail/views.py:281
msgid "Bad query"
msgstr "Fehlerhafte Anfrage"
-#: extensions/webmail/views.py:281
+#: extensions/webmail/views.py:293
msgid "Failed to remove attachment: "
msgstr "Konnte Anhang nicht entfernen:"
-#: extensions/webmail/views.py:286
+#: extensions/webmail/views.py:298
msgid "Unknown attachment"
msgstr "Unbekannter Anhang"
-#: extensions/webmail/views.py:501
-msgid "Undefined action"
-msgstr "Undefinierte Aktion"
-
#: extensions/webmail/templates/webmail/attachments.html:6
msgid "Attach"
msgstr "Anhängen"
@@ -2329,112 +2733,124 @@ msgstr "Eltern-Mailbox"
msgid "Mailbox quota"
msgstr "Mailbox Quota"
-#: extensions/webmail/templatetags/webextras.py:19
+#: extensions/webmail/templatetags/webmail_tags.py:20
msgid "Reply"
msgstr "Antworten"
-#: extensions/webmail/templatetags/webextras.py:23
+#: extensions/webmail/templatetags/webmail_tags.py:24
msgid "Reply all"
msgstr "Allen Antworten"
-#: extensions/webmail/templatetags/webextras.py:27
-#: userprefs/templates/userprefs/forward.html:2
-#: userprefs/templatetags/uprefs_extras.py:27
-msgid "Forward"
-msgstr "Weiterleiten"
-
-#: extensions/webmail/templatetags/webextras.py:33
+#: extensions/webmail/templatetags/webmail_tags.py:34
msgid "Display options"
msgstr "Optionen darstellen"
-#: extensions/webmail/templatetags/webextras.py:36
+#: extensions/webmail/templatetags/webmail_tags.py:37
msgid "Activate links"
msgstr "Links aktivieren"
-#: extensions/webmail/templatetags/webextras.py:38
+#: extensions/webmail/templatetags/webmail_tags.py:39
msgid "Disable links"
msgstr "Links aktivieren"
-#: extensions/webmail/templatetags/webextras.py:47
+#: extensions/webmail/templatetags/webmail_tags.py:48
msgid "Close this message"
msgstr "Nachricht schliessen"
-#: extensions/webmail/templatetags/webextras.py:60
+#: extensions/webmail/templatetags/webmail_tags.py:63
msgid "Back"
msgstr "Zurück"
-#: extensions/webmail/templatetags/webextras.py:64
+#: extensions/webmail/templatetags/webmail_tags.py:67
msgid "Send"
msgstr "Senden"
-#: extensions/webmail/templatetags/webextras.py:76
+#: extensions/webmail/templatetags/webmail_tags.py:80
msgid "New message"
msgstr "Neue Nachrichten"
-#: extensions/webmail/templatetags/webextras.py:85
+#: extensions/webmail/templatetags/webmail_tags.py:89
msgid "Mark messages"
msgstr "Markiere Nachrichten"
-#: extensions/webmail/templatetags/webextras.py:89
+#: extensions/webmail/templatetags/webmail_tags.py:93
msgid "As read"
msgstr "Als gelesen"
-#: extensions/webmail/templatetags/webextras.py:92
+#: extensions/webmail/templatetags/webmail_tags.py:96
msgid "As unread"
msgstr "Als ungelesen"
-#: extensions/webmail/templatetags/webextras.py:101
+#: extensions/webmail/templatetags/webmail_tags.py:105
msgid "Compress folder"
msgstr "Ordner komprimieren"
-#: extensions/webmail/templatetags/webextras.py:110
+#: extensions/webmail/templatetags/webmail_tags.py:114
msgid "Empty folder"
msgstr "Leerer Ordner"
-#: extensions/webmail/templatetags/webextras.py:178
+#: extensions/webmail/templatetags/webmail_tags.py:183
msgid "Edit the selected mailbox"
msgstr "Ausgewählte Mailbox bearbeiten"
-#: extensions/webmail/templatetags/webextras.py:183
+#: extensions/webmail/templatetags/webmail_tags.py:188
msgid "Remove the selected mailbox"
msgstr "Markierte Mailbox entfernen"
-#: lib/exceptions.py:18
+#: lib/dbutils.py:36
+#, python-format
+msgid "Connection to database %s not configured"
+msgstr "Verbindung zu Datenbank %s nicht konfiguriert"
+
+#: lib/exceptions.py:67
#, python-format
msgid "Permission denied: %s"
msgstr "Erlaubnis verweigert: %s"
-#: lib/exceptions.py:19
+#: lib/exceptions.py:68
msgid "Permission denied"
msgstr "Berechtigung verweigert"
-#: lib/formutils.py:157
-#: lib/formutils.py:165
+#: lib/formutils.py:187
+#: lib/formutils.py:195
msgid "Enter a valid domain name"
msgstr "Geben Sie einen gültigen Domain-Namen an"
-#: lib/permissions.py:27
+#: lib/formutils.py:244
+msgid "Yes"
+msgstr "Ja"
+
+#: lib/formutils.py:244
+msgid "No"
+msgstr "Nein"
+
+#: lib/ldaputils.py:111
+#, python-format
+msgid "Failed to update password: %s"
+msgstr "Konnte Kennwort nicht aktualisieren: %s"
+
+#: lib/permissions.py:20
msgid "Simple user"
msgstr "Normaler Anwender"
-#: lib/permissions.py:29
+#: lib/permissions.py:22
msgid "Super administrator"
msgstr "Super-Administrator"
-#: lib/permissions.py:31
+#: lib/permissions.py:28
msgid "Domain administrator"
msgstr "Domänen-Administrator"
-#: lib/permissions.py:75
+#: lib/permissions.py:73
#, python-format
msgid "Failed to grant access (%s)"
msgstr "Konnte Zugriff nicht gewähren: %s"
-#: lib/tables.py:241
+#: lib/tables.py:251
msgid "No entries to display"
msgstr "Keine Einträge darzustellen"
-#: lib/templatetags/libextras.py:108
+#: lib/templatetags/lib_tags.py:59
msgid "activate"
msgstr "aktivieren"
@@ -2493,104 +2909,41 @@ msgstr "Erinnere mich"
msgid "Log in"
msgstr "Anmelden"
-#: userprefs/__init__.py:8
-msgid "User preferences"
-msgstr "Benutzer-Einstellungen"
+#~ msgid "An alias with this name already exists"
+#~ msgstr "Ein Alias mit diesem Namen existiert bereits"
-#: userprefs/__init__.py:10
-msgid "Per-user settings"
-msgstr "Anwenderspezifische Einstellungen"
+#~ msgid "A domain with this name already exists"
+#~ msgstr "Eine Domäne mit diesem Namen existiert bereits"
-#: userprefs/app_settings.py:22
-msgid "Prefered language"
-msgstr "Bevorzugte Sprache"
+#~ msgid "Default quota in MB applied to mailboxes"
+#~ msgstr "Standard-Quota für Mailboxen (in MB)"
-#: userprefs/app_settings.py:27
-msgid "Prefered language to display pages"
-msgstr "Bevorzugte Sprache für Seitendarstellung"
+#~ msgid "Edit domain"
+#~ msgstr "Domäne bearbeiten"
-#: userprefs/forms.py:14
-msgid "Old password"
-msgstr "Altes Passwort"
+#~ msgid "%d pending requests"
+#~ msgstr "%d offene Anfragen"
-#: userprefs/forms.py:16
-msgid "New password"
-msgstr "Neues Passwort"
+#~ msgid "Content Class"
+#~ msgstr "Inhaltsklasse"
-#: userprefs/forms.py:40
-msgid "Old password mismatchs"
-msgstr "Altes Passwort stimmt nicht überein"
+#~ msgid "Nothing"
+#~ msgstr "Nichts"
-#: userprefs/forms.py:45
-msgid "Passwords mismatch"
-msgstr "Passwörter stimmen nicht überein"
+#~ msgid "Bad request"
+#~ msgstr "Fehlerhafte Anfrage"
-#: userprefs/forms.py:59
-msgid "Recipient(s)"
-msgstr "Empfänger"
+#~ msgid "Undefined action"
+#~ msgstr "Undefinierte Aktion"
-#: userprefs/forms.py:62
-msgid "Indicate one or more recipients separated by a ','"
-msgstr "Geben sie einen oder mehrere, durch Komma ',' separierte Empfänger an"
+#~ msgid "User preferences"
+#~ msgstr "Benutzer-Einstellungen"
-#: userprefs/forms.py:65
-msgid "Keep local copies"
-msgstr "Lokale Kopien behalten"
+#~ msgid "Per-user settings"
+#~ msgstr "Anwenderspezifische Einstellungen"
-#: userprefs/forms.py:67
-msgid "Forward messages and store copies into your local mailbox"
-msgstr "Nachricht weiterleiten und Kopie in Mailbox ablegen"
-
-#: userprefs/forms.py:84
-msgid "You can't define a forward to a local destination. Please ask your administrator to create an alias instead."
-msgstr "Sie können keine Weiterleitung auf ein lokales Ziel anlegen. Bitten Sie Ihren Administrator stattdessen einen Alias anzulegen."
-
-#: userprefs/views.py:32
-msgid "You need a mailbox in order to define a forward"
-msgstr "Sie benötigen eine Mailbox, um eine Weiterleitung anlegen zu können"
-
-#: userprefs/views.py:56
-msgid "Forward updated"
-msgstr "Weiterleitung aktualisiert"
-
-#: userprefs/views.py:98
-msgid "Profile updated"
-msgstr "Profil aktualisiert"
-
-#: userprefs/views.py:127
-msgid "Preferences saved"
-msgstr "Einstellungen gespeichert"
-
-#: userprefs/templates/userprefs/forward.html:2
-msgid "Automatically forward emails to another address"
-msgstr "Nachrichten automatisch an andere Adresse weiterleiten"
-
-#: userprefs/templates/userprefs/index.html:2
-#: userprefs/templatetags/uprefs_extras.py:48
-msgid "Settings"
-msgstr "Einstellungen"
-
-#: userprefs/templates/userprefs/preferences.html:2
-#: userprefs/templatetags/uprefs_extras.py:21
-msgid "Preferences"
-msgstr "Einstellungen"
-
-#: userprefs/templates/userprefs/preferences.html:2
-msgid "Customize Modoboa"
-msgstr "Modoboa anpassen"
-
-#: userprefs/templates/userprefs/profile.html:2
-#: userprefs/templatetags/uprefs_extras.py:17
-msgid "Profile"
-msgstr "Profil"
-
-#: userprefs/templates/userprefs/profile.html:2
-msgid "Update your personal information"
-msgstr "Aktualisieren sie ihre persönlichen Daten"
-
-#: userprefs/templatetags/uprefs_extras.py:57
-msgid "Logout"
-msgstr "Logout"
+#~ msgid "You need a mailbox in order to define a forward"
+#~ msgstr "Sie benötigen eine Mailbox, um eine Weiterleitung anlegen zu können"
#~ msgid "Failed to rename mailbox: %s"
#~ msgstr "Mailbox konnte nicht umbenannt werden: %s"
@@ -2662,13 +3015,6 @@ msgstr "Logout"
#~ msgid "An external recipient address"
#~ msgstr "Adresse eines externen Empfängers"
-#~ msgid ""
-#~ "Quota in MB for this mailbox. Leave empty to use the value defined at "
-#~ "domain level."
-#~ msgstr ""
-#~ "Quota in MB für diese Mailbox. Geben Sie, um den Domain-Standard zu "
-#~ "nutzen, keinen individuellen Wert an."
-
#~ msgid "Unknown object type"
#~ msgstr "Unbekannter Objekt-Typ"
@@ -2730,10 +3076,6 @@ msgstr "Logout"
#~ msgid "Alias(es) of this domain"
#~ msgstr "Aliase dieser Domain"
-#, fuzzy
-#~ msgid "tag subject"
-#~ msgstr "Betreff"
-
#~ msgid "Mailbox(es) this alias will point to"
#~ msgstr "Mailbox(en) auf den der Alias verweisen wird"
diff --git a/modoboa/locale/de/LC_MESSAGES/djangojs.po b/modoboa/locale/de/LC_MESSAGES/djangojs.po
index d95492295..9bd40e491 100644
--- a/modoboa/locale/de/LC_MESSAGES/djangojs.po
+++ b/modoboa/locale/de/LC_MESSAGES/djangojs.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa-0.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-05-22 17:39+0200\n"
-"PO-Revision-Date: 2013-05-24 22:38+0100\n"
+"POT-Creation-Date: 2013-12-03 10:33+0100\n"
+"PO-Revision-Date: 2013-12-08 23:34+0100\n"
"Last-Translator: Patrick Ben Koetter \n"
"Language-Team: DE
\n"
"Language: de\n"
@@ -17,94 +17,78 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-#: admin/static/admin/js/admin.js:26
+#: extensions/admin/static/admin/js/admin.js:32
msgid "Search"
msgstr "Suche"
-#: admin/static/admin/js/admin.js:110
+#: extensions/admin/static/admin/js/admin.js:170
msgid "Do not delete domain directory"
msgstr "Verzeichnis der Domain nicht löschen"
-#: admin/static/admin/js/admin.js:113
+#: extensions/admin/static/admin/js/admin.js:173
msgid "This operation will remove ALL data associated to this domain."
msgstr "Diese Aktion wird ALLE mit der Domain verbundenen Daten löschen."
-#: admin/static/admin/js/admin.js:114
+#: extensions/admin/static/admin/js/admin.js:174
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."
-#: admin/static/admin/js/admin.js:117
-msgid "Delete this domain?"
-msgstr "Diese Domain löschen?"
-
-#: admin/static/admin/js/admin.js:161
+#: extensions/admin/static/admin/js/admin.js:222
msgid "No domain administrator defined"
msgstr "Domain-Administrator fehlt"
-#: admin/static/admin/js/admin.js:238
+#: extensions/admin/static/admin/js/admin.js:291
msgid "Do not delete mailbox directory"
msgstr "Verzeichnis der Mailbox nicht löschen"
-#: admin/static/admin/js/admin.js:243
-msgid "Delete this account?"
-msgstr "Diese Konto löschen?"
-
-#: admin/static/admin/js/admin.js:249
-msgid "Delete this list?"
-msgstr "Diese Liste löschen?"
-
-#: admin/static/admin/js/admin.js:254
-msgid "Delete this forward?"
-msgstr "Diese Weiterleitung löschen?"
-
-#: admin/static/admin/js/admin.js:259
-msgid "Delete this alias?"
-msgstr "Diesen Alias löschen?"
-
-#: extensions/amavis/static/amavis/js/quarantine.js:126
+#: extensions/amavis/static/amavis/js/quarantine.js:180
msgid "Release this selection?"
msgstr "Diese Auswahl freilassen?"
-#: extensions/amavis/static/amavis/js/quarantine.js:130
+#: extensions/amavis/static/amavis/js/quarantine.js:184
msgid "Delete this selection?"
msgstr "Diese Auswahl löschen?"
-#: extensions/amavis/static/amavis/js/quarantine.js:148
-#: extensions/amavis/static/amavis/js/selfservice.js:22
+#: extensions/amavis/static/amavis/js/quarantine.js:203
+#: extensions/amavis/static/amavis/js/selfservice.js:17
msgid "Release this message?"
msgstr "Diese Nachricht freilassen?"
-#: extensions/amavis/static/amavis/js/quarantine.js:152
-#: extensions/amavis/static/amavis/js/selfservice.js:26
+#: extensions/amavis/static/amavis/js/quarantine.js:207
+#: extensions/amavis/static/amavis/js/selfservice.js:21
msgid "Delete this message?"
msgstr "Diese Nachricht löschen?"
-#: extensions/amavis/static/amavis/js/quarantine.js:169
+#: extensions/amavis/static/amavis/js/quarantine.js:224
msgid "View full headers"
msgstr "Vollansicht Header anzeigen"
-#: extensions/amavis/static/amavis/js/quarantine.js:174
+#: extensions/amavis/static/amavis/js/quarantine.js:229
msgid "Hide full headers"
msgstr "Vollansicht Header ausblenden"
+#: extensions/postfix_relay_domains/static/postfix_relay_domains/js/relay_domains.js:49
+msgid "Services updated"
+msgstr "'service'-Liste aktualisiert"
+
#: extensions/sievefilters/static/sievefilters/js/lib.js:14
msgid "Remove this filter?"
msgstr "Diesen Filter entfernen?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:117
+#: extensions/sievefilters/static/sievefilters/js/lib.js:107
msgid "Save changes?"
msgstr "Änderungen speichern?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:144
+#: extensions/sievefilters/static/sievefilters/js/lib.js:129
msgid "Remove filters set?"
msgstr "Diesen Filter entfernen?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:161
+#: extensions/sievefilters/static/sievefilters/js/lib.js:146
msgid "Activate this filters set?"
msgstr "Diesen Filter aktivieren?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:169
-#: extensions/sievefilters/static/sievefilters/js/lib.js:224
+#: extensions/sievefilters/static/sievefilters/js/lib.js:154
+#: extensions/sievefilters/static/sievefilters/js/lib.js:203
msgid "active"
msgstr "aktiv"
@@ -112,19 +96,19 @@ msgstr "aktiv"
msgid "Search a domain"
msgstr "Domain suchen"
-#: extensions/webmail/static/webmail/js/webmail.js:485
+#: extensions/webmail/static/webmail/js/webmail.js:472
msgid "Remove the selected mailbox?"
msgstr "Ausgewählte Mailbox entfernen?"
-#: extensions/webmail/static/webmail/js/webmail.js:499
+#: extensions/webmail/static/webmail/js/webmail.js:485
msgid "Mailbox removed"
msgstr "Mailbox entfernt"
-#: extensions/webmail/static/webmail/js/webmail.js:823
+#: extensions/webmail/static/webmail/js/webmail.js:727
msgid "Message sent"
msgstr "Nachricht gesendet"
-#: extensions/webmail/static/webmail/js/webmail.js:856
+#: extensions/webmail/static/webmail/js/webmail.js:854
msgid "Message deleted"
msgstr "Nachricht gelöscht"
@@ -142,22 +126,36 @@ msgid_plural "Moving %s messages"
msgstr[0] "Verschiebe %s Nachricht"
msgstr[1] "Verschiebe %s Nachrichten"
-#: static/js/confirmation.js:48
+#: static/js/confirmation.js:50
msgid "Warning"
msgstr "Warnung"
-#: static/js/confirmation.js:57
+#: static/js/confirmation.js:59
msgid "Cancel"
msgstr "Abbrechen"
-#: static/js/confirmation.js:99
-#: static/js/history.js:239
-msgid "Internal Error"
+#: static/js/global.js:314
+msgid "Internal error"
msgstr "Interner Fehler"
#: static/js/searchbar.js:20
msgid "Search..."
msgstr "Suchen..."
+#~ msgid "Delete this domain?"
+#~ msgstr "Diese Domain löschen?"
+
+#~ msgid "Delete this account?"
+#~ msgstr "Diese Konto löschen?"
+
+#~ msgid "Delete this list?"
+#~ msgstr "Diese Liste löschen?"
+
+#~ msgid "Delete this forward?"
+#~ msgstr "Diese Weiterleitung löschen?"
+
+#~ msgid "Delete this alias?"
+#~ msgstr "Diesen Alias löschen?"
+
#~ msgid "Loading..."
#~ msgstr "Lade..."
diff --git a/modoboa/locale/en/LC_MESSAGES/django.po b/modoboa/locale/en/LC_MESSAGES/django.po
index 30fda01ce..fd00b95a3 100644
--- a/modoboa/locale/en/LC_MESSAGES/django.po
+++ b/modoboa/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-20 22:30+0200\n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,1079 +17,526 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: admin/__init__.py:9
-msgid "Administration console"
-msgstr ""
-
-#: admin/__init__.py:11
-msgid "Web based console to manage domains, accounts and aliases"
-msgstr ""
-
-#: admin/__init__.py:16 admin/forms.py:211 admin/forms.py:652
-#: admin/views.py:94 admin/views.py:447
+#: core/__init__.py:52 core/__init__.py:53
+#: extensions/admin/forms/account.py:325 extensions/admin/forms/domain.py:251
+#: extensions/admin/views/domain.py:95 extensions/admin/views/identity.py:127
#: extensions/postfix_autoreply/app_settings.py:11
+#: extensions/postfix_relay_domains/forms.py:138
#: extensions/sievefilters/app_settings.py:50
#: extensions/stats/app_settings.py:11 extensions/webmail/app_settings.py:11
-#: userprefs/__init__.py:15
msgid "General"
msgstr ""
-#: admin/app_settings.py:31
+#: core/app_settings.py:36
msgid "Authentication"
msgstr ""
-#: admin/app_settings.py:34
+#: core/app_settings.py:39
msgid "Authentication type"
msgstr ""
-#: admin/app_settings.py:35
+#: core/app_settings.py:40
msgid "Local"
msgstr ""
-#: admin/app_settings.py:38
+#: core/app_settings.py:43
msgid "The backend used for authentication"
msgstr ""
-#: admin/app_settings.py:43
+#: core/app_settings.py:48
msgid "Default password scheme"
msgstr ""
-#: admin/app_settings.py:50
+#: core/app_settings.py:51
+msgid "md5crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:52
+msgid "sha256 (weak)"
+msgstr ""
+
+#: core/app_settings.py:53
+msgid "md5 (weak)"
+msgstr ""
+
+#: core/app_settings.py:54
+msgid "crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:55
+msgid "plain (weak)"
+msgstr ""
+
+#: core/app_settings.py:57
msgid "Scheme used to crypt mailbox passwords"
msgstr ""
-#: admin/app_settings.py:54
+#: core/app_settings.py:61
+msgid "Rounds"
+msgstr ""
+
+#: core/app_settings.py:64
+msgid ""
+"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
+"between 1000 and 999999999, inclusive."
+msgstr ""
+
+#: core/app_settings.py:70
msgid "Secret key"
msgstr ""
-#: admin/app_settings.py:56
+#: core/app_settings.py:72
msgid "Key used to encrypt/decrypt passwords"
msgstr ""
-#: admin/app_settings.py:60
+#: core/app_settings.py:76
msgid "LDAP settings"
msgstr ""
-#: admin/app_settings.py:63 extensions/sievefilters/app_settings.py:22
+#: core/app_settings.py:79 extensions/sievefilters/app_settings.py:22
#: extensions/webmail/app_settings.py:22 extensions/webmail/app_settings.py:42
msgid "Server address"
msgstr ""
-#: admin/app_settings.py:65
+#: core/app_settings.py:81
msgid "The IP address of the DNS name of the LDAP server"
msgstr ""
-#: admin/app_settings.py:69 extensions/sievefilters/app_settings.py:28
+#: core/app_settings.py:85 extensions/sievefilters/app_settings.py:28
#: extensions/webmail/app_settings.py:34 extensions/webmail/app_settings.py:58
msgid "Server port"
msgstr ""
-#: admin/app_settings.py:71
+#: core/app_settings.py:87
msgid "The TCP port number used by the LDAP server"
msgstr ""
-#: admin/app_settings.py:75 extensions/webmail/app_settings.py:28
+#: core/app_settings.py:91 extensions/webmail/app_settings.py:28
msgid "Use a secured connection"
msgstr ""
-#: admin/app_settings.py:77
+#: core/app_settings.py:93
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr ""
-#: admin/app_settings.py:81
+#: core/app_settings.py:97
msgid "Authentication method"
msgstr ""
-#: admin/app_settings.py:82
+#: core/app_settings.py:98
msgid "Search and bind"
msgstr ""
-#: admin/app_settings.py:83
+#: core/app_settings.py:99
msgid "Direct bind"
msgstr ""
-#: admin/app_settings.py:85
+#: core/app_settings.py:101
msgid "Choose the authentication method to use"
msgstr ""
-#: admin/app_settings.py:90
+#: core/app_settings.py:106
msgid "Bind DN"
msgstr ""
-#: admin/app_settings.py:92
+#: core/app_settings.py:108
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
msgstr ""
-#: admin/app_settings.py:97
+#: core/app_settings.py:113
msgid "Bind password"
msgstr ""
-#: admin/app_settings.py:99
+#: core/app_settings.py:115
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
msgstr ""
-#: admin/app_settings.py:105
-msgid "Search base"
+#: core/app_settings.py:121
+msgid "Users search base"
msgstr ""
-#: admin/app_settings.py:107
-msgid "The distinguished name of the search base"
+#: core/app_settings.py:123
+msgid "The distinguished name of the search base used to find users"
msgstr ""
-#: admin/app_settings.py:112
+#: core/app_settings.py:128
msgid "Search filter"
msgstr ""
-#: admin/app_settings.py:114
+#: core/app_settings.py:130
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
msgstr ""
-#: admin/app_settings.py:119
+#: core/app_settings.py:135
msgid "User DN template"
msgstr ""
-#: admin/app_settings.py:121
+#: core/app_settings.py:137
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
msgstr ""
-#: admin/app_settings.py:126
+#: core/app_settings.py:142
msgid "Password attribute"
msgstr ""
-#: admin/app_settings.py:128
+#: core/app_settings.py:144
msgid "The attribute used to store user passwords"
msgstr ""
-#: admin/app_settings.py:132
+#: core/app_settings.py:148
msgid "Active Directory"
msgstr ""
-#: admin/app_settings.py:134
+#: core/app_settings.py:150
msgid "Tell if the LDAP server is an Active Directory one"
msgstr ""
-#: admin/app_settings.py:137 admin/templates/admin/editdomainform.html:25
-#: extensions/limits/app_settings.py:31 extensions/limits/forms.py:24
-#: extensions/limits/models.py:14 extensions/webmail/app_settings.py:101
-#: extensions/webmail/templates/webmail/folders.html:4
-msgid "Mailboxes"
+#: core/app_settings.py:154
+msgid "Administrator groups"
msgstr ""
-#: admin/app_settings.py:140
-msgid "Handle mailboxes on filesystem"
-msgstr ""
-
-#: admin/app_settings.py:142
+#: core/app_settings.py:157
msgid ""
-"Rename or remove mailboxes on the filesystem when they get renamed or "
-"removed within Modoboa"
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
-#: admin/app_settings.py:146
-msgid "Mailboxes ower"
+#: core/app_settings.py:164
+msgid "Groups search base"
msgstr ""
-#: admin/app_settings.py:148
-msgid "The UNIX account who owns mailboxes on the filesystem"
+#: core/app_settings.py:167
+msgid "The distinguished name of the search base used to find groups"
msgstr ""
-#: admin/app_settings.py:152
-msgid "Automatic account removal"
-msgstr ""
-
-#: admin/app_settings.py:154
-msgid "When a mailbox is removed, also remove the associated account"
-msgstr ""
-
-#: admin/app_settings.py:157 admin/templates/admin/editdomainform.html:7
+#: core/app_settings.py:172
+#: extensions/admin/templates/admin/editdomainform.html:7
msgid "Miscellaneous"
msgstr ""
-#: admin/app_settings.py:160
+#: core/app_settings.py:175
msgid "Maximum log record age"
msgstr ""
-#: admin/app_settings.py:162
+#: core/app_settings.py:177
msgid "The maximum age in days of a log record"
msgstr ""
-#: admin/app_settings.py:166
+#: core/app_settings.py:181
msgid "Items per page"
msgstr ""
-#: admin/app_settings.py:168
+#: core/app_settings.py:183
msgid "Number of displayed items per page"
msgstr ""
-#: admin/app_settings.py:172
+#: core/app_settings.py:187
msgid "Default top redirection"
msgstr ""
-#: admin/app_settings.py:175
+#: core/app_settings.py:190
msgid "The default redirection used when no application is specified"
msgstr ""
-#: admin/app_settings.py:213
+#: core/app_settings.py:218
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr ""
-#: admin/app_settings.py:222
+#: core/app_settings.py:227 extensions/postfix_autoreply/app_settings.py:53
msgid "Invalid syntax"
msgstr ""
-#: admin/app_settings.py:245
+#: core/app_settings.py:233
+msgid "Invalid rounds number"
+msgstr ""
+
+#: core/app_settings.py:256
msgid "This field is required"
msgstr ""
-#: admin/forms.py:20 admin/forms.py:497 admin/tables.py:18
-msgid "Alias(es)"
+#: core/app_settings.py:317 extensions/amavis/app_settings.py:87
+#: extensions/amavis/templates/amavis/main_action_bar.html:29
+#: extensions/webmail/app_settings.py:73
+msgid "Display"
msgstr ""
-#: admin/forms.py:22
-msgid ""
-"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
-"add a new input."
+#: core/app_settings.py:321
+msgid "Prefered language"
msgstr ""
-#: admin/forms.py:59
-msgid "An alias with this name already exists"
+#: core/app_settings.py:326
+msgid "Prefered language to display pages"
msgstr ""
-#: admin/forms.py:73
-msgid "A domain with this name already exists"
-msgstr ""
-
-#: admin/forms.py:146
-msgid "Create a domain administrator"
-msgstr ""
-
-#: admin/forms.py:148
-msgid "Automatically create an administrator for this domain"
-msgstr ""
-
-#: admin/forms.py:152 admin/tables.py:12 admin/tables.py:47
-#: admin/templates/admin/editdomainform.html:13
-#: admin/templates/admin/identities_table.html:5
-#: admin/templates/admin/information.html:8
-#: extensions/sievefilters/forms.py:53
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
-msgid "Name"
-msgstr ""
-
-#: admin/forms.py:154
-msgid ""
-"The administrator's name. Don't include the domain's name here, it will be "
-"automatically appended."
-msgstr ""
-
-#: admin/forms.py:160
-msgid "Create aliases"
-msgstr ""
-
-#: admin/forms.py:162
-msgid "Automatically create standard aliases for this domain"
-msgstr ""
-
-#: admin/forms.py:175
-msgid "Invalid format"
-msgstr ""
-
-#: admin/forms.py:187
-#, python-format
-msgid "User '%s' already exists"
-msgstr ""
-
-#: admin/forms.py:235
-msgid "Email address"
-msgstr ""
-
-#: admin/forms.py:236
-msgid ""
-"The distribution list address. Use the '*' character to create a 'catchall' "
-"address (ex: *@domain.tld)."
-msgstr ""
-
-#: admin/forms.py:239
-msgid "Recipients"
-msgstr ""
-
-#: admin/forms.py:240
-msgid ""
-"Mailbox(es) this alias will point to. Indicate only one address per input, "
-"press ENTER to add a new input."
-msgstr ""
-
-#: admin/forms.py:278 admin/forms.py:542 admin/forms.py:568
-msgid "Domain does not exist"
-msgstr ""
-
-#: admin/forms.py:280
-msgid "You don't have access to this domain"
-msgstr ""
-
-#: admin/forms.py:300
-msgid "Invalid mailbox"
-msgstr ""
-
-#: admin/forms.py:316 admin/models.py:1202
-#, python-format
-msgid "Local recipient %s not found"
-msgstr ""
-
-#: admin/forms.py:318 admin/forms.py:324
-#, python-format
-msgid "Recipient %s already present"
-msgstr ""
-
-#: admin/forms.py:329
-msgid "No recipient defined"
-msgstr ""
-
-#: admin/forms.py:343 extensions/webmail/forms.py:19
-msgid "Select a file"
-msgstr ""
-
-#: admin/forms.py:345 admin/forms.py:373
-msgid "Separator"
-msgstr ""
-
-#: admin/forms.py:348
-msgid "Continue on error"
-msgstr ""
-
-#: admin/forms.py:349
-msgid "Don't treat duplicated objects as error"
-msgstr ""
-
-#: admin/forms.py:364
-msgid "Crypt passwords"
-msgstr ""
-
-#: admin/forms.py:365
-msgid "Check this option if passwords contained in your file are not crypted"
-msgstr ""
-
-#: admin/forms.py:371
-msgid "File name"
-msgstr ""
-
-#: admin/forms.py:403 admin/templates/admin/editdomainform.html:13
-#: auth/forms.py:7
+#: core/forms.py:10 extensions/admin/forms/account.py:19
+#: extensions/admin/templates/admin/editdomainform.html:13
msgid "Username"
msgstr ""
-#: admin/forms.py:405
-msgid "Role"
-msgstr ""
-
-#: admin/forms.py:406 admin/forms.py:433
-msgid "Choose"
-msgstr ""
-
-#: admin/forms.py:407
-msgid "What level of permission this user will have"
-msgstr ""
-
-#: admin/forms.py:409 auth/forms.py:11
+#: core/forms.py:14 extensions/admin/forms/account.py:30
msgid "Password"
msgstr ""
-#: admin/forms.py:411 userprefs/forms.py:18
+#: core/forms.py:25
+msgid "Old password"
+msgstr ""
+
+#: core/forms.py:29
+msgid "New password"
+msgstr ""
+
+#: core/forms.py:33 extensions/admin/forms/account.py:33
msgid "Confirmation"
msgstr ""
-#: admin/forms.py:413
-msgid "Enter the same password as above, for verification."
+#: core/forms.py:56
+msgid "Old password mismatchs"
msgstr ""
-#: admin/forms.py:424
-msgid "Enabled"
+#: core/forms.py:61
+msgid "Passwords mismatch"
msgstr ""
-#: admin/forms.py:471
-msgid "The two password fields didn't match."
+#: core/models.py:49
+msgid "password"
msgstr ""
-#: admin/forms.py:477
-msgid "You can't disable your own account"
+#: core/models.py:51
+msgid "last login"
msgstr ""
-#: admin/forms.py:488
-msgid "E-mail"
-msgstr ""
-
-#: admin/forms.py:490
-msgid "Quota"
-msgstr ""
-
-#: admin/forms.py:492
-msgid ""
-"Quota in MB for this mailbox. Define a custom value or use domain's default "
-"one. Leave empty to define an unlimited value (not allowed for domain "
-"administrators)."
-msgstr ""
-
-#: admin/forms.py:499
-msgid ""
-"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
-"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
-"*@domain.tld)."
-msgstr ""
-
-#: admin/forms.py:550
-#, python-format
-msgid "Mailbox %s already exists"
-msgstr ""
-
-#: admin/forms.py:610
-msgid "Domain(s)"
-msgstr ""
-
-#: admin/forms.py:612
-msgid "Domain(s) that user administrates"
-msgstr ""
-
-#: admin/forms.py:654 admin/views.py:450
-msgid "Mail"
-msgstr ""
-
-#: admin/forms.py:656
-msgid "Permissions"
-msgstr ""
-
-#: admin/models.py:80
+#: core/models.py:80
msgid "You can't delete your own account"
msgstr ""
-#: admin/models.py:161
+#: core/models.py:116
msgid "Failed to update password: LDAP module not installed"
msgstr ""
-#: admin/models.py:167
-#, python-format
-msgid "Failed to update password: %s"
-msgstr ""
-
-#: admin/models.py:194
+#: core/models.py:169
msgid "account"
msgstr ""
-#: admin/models.py:496 admin/models.py:733 admin/models.py:795
+#: core/models.py:320 extensions/admin/models/domain.py:135
+#: 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 ""
-#: admin/models.py:500
+#: core/models.py:324
msgid "You can't import an account with a role greater than yours"
msgstr ""
-#: admin/models.py:506
+#: core/models.py:330
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr ""
-#: admin/models.py:510
+#: core/models.py:334
#, python-format
msgid "username and email fields must not differ for '%s'"
msgstr ""
-#: admin/models.py:534
-#, python-format
-msgid "Account import failed (%s): domain does not exist"
-msgstr ""
-
-#: admin/models.py:624 admin/models.py:746
-msgid "name"
-msgstr ""
-
-#: admin/models.py:625
-msgid "The domain name"
-msgstr ""
-
-#: admin/models.py:627
-msgid "Default quota in MB applied to mailboxes"
-msgstr ""
-
-#: admin/models.py:630 admin/models.py:753 admin/models.py:1045
-#: admin/models.py:1217 extensions/postfix_autoreply/models.py:27
+#: core/models.py:403 extensions/admin/models/alias.py:33
+#: extensions/admin/models/domain.py:32
+#: extensions/admin/models/domain_alias.py:17
+#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_relay_domains/models.py:85
+#: extensions/postfix_relay_domains/models.py:167
msgid "enabled"
msgstr ""
-#: admin/models.py:631
-msgid "Check to activate this domain"
-msgstr ""
-
-#: admin/models.py:747
-msgid "The alias name"
-msgstr ""
-
-#: admin/models.py:749
-msgid "target"
-msgstr ""
-
-#: admin/models.py:750
-msgid "The domain this alias points to"
-msgstr ""
-
-#: admin/models.py:754 admin/models.py:1046
-msgid "Check to activate this alias"
-msgstr ""
-
-#: admin/models.py:801
-#, python-format
-msgid "Unknown domain %s"
-msgstr ""
-
-#: admin/models.py:818 admin/models.py:1031
-msgid "address"
-msgstr ""
-
-#: admin/models.py:819
-msgid "Mailbox address (without the @domain.tld part)"
-msgstr ""
-
-#: admin/models.py:877
-#, python-format
-msgid "Failed to retrieve mailbox location (%s)"
-msgstr ""
-
-#: admin/models.py:921
-#, python-format
-msgid "Quota is greater than the allowed domain's limit (%dM)"
-msgstr ""
-
-#: admin/models.py:926
-msgid "A quota is required"
-msgstr ""
-
-#: admin/models.py:1032
-msgid ""
-"The alias address (without the domain part). For a 'catch-all' address, just "
-"enter an * character."
-msgstr ""
-
-#: admin/models.py:1036
-msgid "mailboxes"
-msgstr ""
-
-#: admin/models.py:1037
-msgid "The mailboxes this alias points to"
-msgstr ""
-
-#: admin/models.py:1041
-msgid "The aliases this alias points to"
-msgstr ""
-
-#: admin/models.py:1089
-msgid "distribution list"
-msgstr ""
-
-#: admin/models.py:1090
-msgid "forward"
-msgstr ""
-
-#: admin/models.py:1091
-msgid "alias"
-msgstr ""
-
-#: admin/models.py:1170
-#, python-format
-msgid "Invalid line: %s"
-msgstr ""
-
-#: admin/models.py:1175
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr ""
-
-#: admin/models.py:1218
+#: core/models.py:404
msgid "Check to enable this extension"
msgstr ""
-#: admin/models.py:1318
+#: core/models.py:474
msgid "added"
msgstr ""
-#: admin/models.py:1321
+#: core/models.py:477
msgid "modified"
msgstr ""
-#: admin/models.py:1324
-msgid "deleted"
-msgstr ""
-
-#: admin/models.py:1326
+#: core/models.py:479 core/models.py:503
#, python-format
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr ""
-#: admin/tables.py:14
-msgid "Edit domain"
+#: core/models.py:505
+msgid "deleted"
msgstr ""
-#: admin/tables.py:21 admin/templates/admin/identities_table.html:8
-#: admin/templates/admin/listing.html:17 extensions/sievefilters/views.py:83
-#: extensions/sievefilters/templates/sievefilters/filter.html:17
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
-#: extensions/webmail/templatetags/webextras.py:97
-msgid "Actions"
+#: core/tables.py:8 core/templates/core/information.html:8
+#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:182
+#: extensions/admin/templates/admin/domains_table.html:5
+#: extensions/admin/templates/admin/editdomainform.html:13
+#: extensions/admin/templates/admin/identities_table.html:5
+#: extensions/sievefilters/forms.py:60
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
+msgid "Name"
msgstr ""
-#: admin/tables.py:48
+#: core/tables.py:10 extensions/admin/tables.py:11
msgid "Version"
msgstr ""
-#: admin/tables.py:49
+#: core/tables.py:12 extensions/admin/tables.py:13
msgid "Description"
msgstr ""
-#: admin/views.py:88
-msgid "New domain"
-msgstr ""
-
-#: admin/views.py:89 admin/views.py:98 admin/views.py:228 admin/views.py:444
-#: admin/views.py:451 extensions/sievefilters/views.py:129
-#: extensions/sievefilters/views.py:198 extensions/webmail/views.py:136
-msgid "Create"
-msgstr ""
-
-#: admin/views.py:95 admin/views.py:448
-msgid "Next"
-msgstr ""
-
-#: admin/views.py:97
-msgid "Options"
-msgstr ""
-
-#: admin/views.py:99 admin/views.py:452
-msgid "Previous"
-msgstr ""
-
-#: admin/views.py:112
-msgid "Domain created"
-msgstr ""
-
-#: admin/views.py:146 admin/views.py:285 admin/views.py:498
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
-#: extensions/sievefilters/views.py:148 extensions/webmail/views.py:168
-#: userprefs/templates/userprefs/forward.html:8
-#: userprefs/templates/userprefs/profile.html:8
-msgid "Update"
-msgstr ""
-
-#: admin/views.py:162
-msgid "Domain modified"
-msgstr ""
-
-#: admin/views.py:189
-msgid "You can't delete your own domain"
-msgstr ""
-
-#: admin/views.py:192
-msgid "Domain deleted"
-msgid_plural "Domains deleted"
-msgstr[0] ""
-msgstr[1] ""
-
-#: admin/views.py:207
-msgid "Alias with this name already exists"
-msgstr ""
-
-#: admin/views.py:250
-msgid "New distribution list"
-msgstr ""
-
-#: admin/views.py:251
-msgid "Distribution list created"
-msgstr ""
-
-#: admin/views.py:260
-msgid "New alias"
-msgstr ""
-
-#: admin/views.py:261
-msgid "Alias created"
-msgstr ""
-
-#: admin/views.py:270
-msgid "New forward"
-msgstr ""
-
-#: admin/views.py:271
-msgid "Forward created"
-msgstr ""
-
-#: admin/views.py:289
-msgid "Distribution list modified"
-msgstr ""
-
-#: admin/views.py:291
-msgid "Forward modified"
-msgstr ""
-
-#: admin/views.py:293
-msgid "Alias modified"
-msgstr ""
-
-#: admin/views.py:402 admin/views.py:545 admin/views.py:550
-#: extensions/amavis/views.py:204 extensions/amavis/views.py:210
-#: extensions/amavis/views.py:243 extensions/amavis/views.py:247
-#: extensions/amavis/views.py:249 extensions/webmail/views.py:41
-#: extensions/webmail/views.py:68 extensions/webmail/views.py:81
-#: extensions/webmail/views.py:98 extensions/webmail/views.py:114
-#: extensions/webmail/views.py:200 extensions/webmail/views.py:427
-#: extensions/webmail/views.py:438 extensions/webmail/views.py:465
-#: lib/formutils.py:32 lib/formutils.py:37
-msgid "Invalid request"
-msgstr ""
-
-#: admin/views.py:441
-msgid "New account"
-msgstr ""
-
-#: admin/views.py:465
-msgid "Account created"
-msgstr ""
-
-#: admin/views.py:513
-msgid "Account updated"
-msgstr ""
-
-#: admin/views.py:535
-msgid "Account deleted"
-msgid_plural "Accounts deleted"
-msgstr[0] ""
-msgstr[1] ""
-
-#: admin/views.py:590
-msgid "Parameters saved"
-msgstr ""
-
-#: admin/views.py:636
-msgid "Modifications applied."
-msgstr ""
-
-#: admin/views.py:743
-#, python-format
-msgid "Object already exists: %s"
-msgstr ""
-
-#: admin/views.py:745
-#, python-format
-msgid "%d objects imported successfully"
-msgstr ""
-
-#: admin/views.py:763
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-"account; loginname; password; first name; last name; enabled; group; "
-"address[, domain, ...] \n"
-"alias; address; enabled; internal recipient \n"
-"forward; address; enabled; external recipient \n"
-"dlist; address; enabled; recipient; recipient; ... \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of "
-"the previous values.
\n"
-"\n"
-"You can use a different character as separator.
\n"
-msgstr ""
-
-#: admin/views.py:775
-msgid "Import identities"
-msgstr ""
-
-#: admin/views.py:776 admin/views.py:846 admin/templatetags/admin_extras.py:87
-#: admin/templatetags/admin_extras.py:144
-msgid "Import"
-msgstr ""
-
-#: admin/views.py:806
-msgid "Export identities"
-msgstr ""
-
-#: admin/views.py:807 admin/views.py:863 admin/templatetags/admin_extras.py:93
-#: admin/templatetags/admin_extras.py:150
-msgid "Export"
-msgstr ""
-
-#: admin/views.py:835
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-" domain; name; quota; enabled \n"
-" domainalias; name; targeted domain; enabled \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of "
-"the previous values.
\n"
-"You can use a different character as separator.
\n"
-msgstr ""
-
-#: admin/views.py:845
-msgid "Import domains"
-msgstr ""
-
-#: admin/views.py:862
-msgid "Export domains"
-msgstr ""
-
-#: admin/templates/admin/domain_general_form.html:3
-#: admin/templates/admin/mailform.html:3
-#: admin/templates/admin/newdomainform.html:3
-msgid "MB"
-msgstr ""
-
-#: admin/templates/admin/domains.html:2 admin/templatetags/admin_extras.py:23
-#: extensions/limits/app_settings.py:19 extensions/limits/forms.py:16
-#: extensions/limits/models.py:12
-msgid "Domains"
-msgstr ""
-
-#: admin/templates/admin/editdomainform.html:4
-msgid "Administrators"
-msgstr ""
-
-#: admin/templates/admin/editdomainform.html:19
-msgid "No domain administrator defined"
-msgstr ""
-
-#: admin/templates/admin/editdomainform.html:22
-msgid "Creation date"
-msgstr ""
-
-#: admin/templates/admin/editdomainform.html:23
-msgid "Last modification date"
-msgstr ""
-
-#: admin/templates/admin/editdomainform.html:24
-#: extensions/limits/app_settings.py:25 extensions/limits/forms.py:20
-#: extensions/limits/models.py:13
-msgid "Domain aliases"
-msgstr ""
-
-#: admin/templates/admin/editdomainform.html:26
-#: extensions/limits/app_settings.py:37 extensions/limits/forms.py:28
-#: extensions/limits/models.py:15
-msgid "Mailbox aliases"
-msgstr ""
-
-#: admin/templates/admin/extensions.html:2
-#: admin/templatetags/admin_extras.py:51
+#: core/templates/core/extensions.html:2 core/templatetags/core_tags.py:48
msgid "Extensions"
msgstr ""
-#: admin/templates/admin/extensions.html:2
+#: core/templates/core/extensions.html:2
msgid "Choose the extension(s) to use"
msgstr ""
-#: admin/templates/admin/extensions.html:6
-#: admin/templates/admin/parameters.html:8
-#: userprefs/templates/userprefs/preferences.html:8
+#: core/templates/core/extensions.html:6 core/templates/core/parameters.html:7
+#: core/templates/core/user_preferences.html:8
msgid "Save"
msgstr ""
-#: admin/templates/admin/identities.html:2
-#: admin/templatetags/admin_extras.py:31
-msgid "Identities"
-msgstr ""
-
-#: admin/templates/admin/identities_table.html:6
-msgid "Fullname/Recipient"
-msgstr ""
-
-#: admin/templates/admin/identities_table.html:7
-msgid "Tags"
-msgstr ""
-
-#: admin/templates/admin/importform.html:5
-#: admin/templatetags/admin_extras.py:290
-msgid "Help"
-msgstr ""
-
-#: admin/templates/admin/importform.html:12
-msgid "Importing..."
-msgstr ""
-
-#: admin/templates/admin/information.html:2
-#: admin/templatetags/admin_extras.py:56
+#: core/templates/core/information.html:2 core/templatetags/core_tags.py:53
msgid "Information"
msgstr ""
-#: admin/templates/admin/information.html:2
+#: core/templates/core/information.html:2
msgid "Various information about Modoboa"
msgstr ""
-#: admin/templates/admin/information.html:3
+#: core/templates/core/information.html:3
msgid "is currently in use."
msgstr ""
-#: admin/templates/admin/information.html:5
+#: core/templates/core/information.html:5
msgid "Active users"
msgstr ""
-#: admin/templates/admin/information.html:9
+#: core/templates/core/information.html:9
msgid "Group name"
msgstr ""
-#: admin/templates/admin/information.html:10
+#: core/templates/core/information.html:10
msgid "Last login"
msgstr ""
-#: admin/templates/admin/listing.html:14
-#: extensions/stats/templates/stats/index.html:28
-msgid "Filter"
-msgstr ""
-
-#: admin/templates/admin/logs.html:2 admin/templatetags/admin_extras.py:60
+#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:57
msgid "Logs"
msgstr ""
-#: admin/templates/admin/logs.html:2
+#: core/templates/core/logs.html:2
msgid "Previously on Modoboa..."
msgstr ""
-#: admin/templates/admin/logs.html:6 extensions/amavis/sql_listing.py:25
-#: extensions/webmail/lib.py:38 extensions/webmail/lib.py:411
+#: core/templates/core/logs.html:6 extensions/amavis/sql_listing.py:46
+#: extensions/webmail/lib.py:48 extensions/webmail/lib.py:425
msgid "Date"
msgstr ""
-#: admin/templates/admin/logs.html:7
+#: core/templates/core/logs.html:7
msgid "Level"
msgstr ""
-#: admin/templates/admin/logs.html:8
+#: core/templates/core/logs.html:8
msgid "Logger"
msgstr ""
-#: admin/templates/admin/logs.html:9
+#: core/templates/core/logs.html:9
msgid "Message"
msgstr ""
-#: admin/templates/admin/mailboxes_raw.html:3
-msgid "Choose a value"
-msgstr ""
-
-#: admin/templates/admin/mailform.html:3
-msgid "Use domain default value"
-msgstr ""
-
-#: admin/templates/admin/parameters.html:3
-#: admin/templatetags/admin_extras.py:65
+#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:62
msgid "Parameters"
msgstr ""
-#: admin/templates/admin/parameters.html:3
+#: core/templates/core/parameters.html:2
msgid "Configure Modoboa"
msgstr ""
-#: admin/templates/admin/quotas.html:5
-msgid "Address"
-msgstr ""
-
-#: admin/templates/admin/quotas.html:6
-msgid "Value"
-msgstr ""
-
-#: admin/templates/admin/quotas.html:7
-msgid "Limit"
-msgstr ""
-
-#: admin/templates/admin/quotas.html:8
-#, python-format
-msgid "Usage (%%)"
-msgstr ""
-
-#: admin/templates/admin/searchform.html:6
-msgid "Search"
-msgstr ""
-
-#: admin/templates/admin/settings_header.html:3
+#: core/templates/core/settings_header.html:3
msgid "Modoboa settings"
msgstr ""
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_m"
+#: core/templates/core/user_index.html:2 core/templatetags/core_tags.py:81
+msgid "Settings"
msgstr ""
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_f"
+#: core/templates/core/user_preferences.html:2
+#: core/templatetags/core_tags.py:108
+msgid "Preferences"
msgstr ""
-#: admin/templatetags/admin_extras.py:36
+#: core/templates/core/user_preferences.html:2
+msgid "Customize Modoboa"
+msgstr ""
+
+#: core/templates/core/user_profile.html:2 core/templatetags/core_tags.py:104
+msgid "Profile"
+msgstr ""
+
+#: core/templates/core/user_profile.html:2
+msgid "Update your personal information"
+msgstr ""
+
+#: core/templates/core/user_profile.html:8
+#: extensions/admin/templates/admin/forward.html:8
+#: extensions/admin/views/alias.py:107 extensions/admin/views/domain.py:165
+#: extensions/admin/views/identity.py:197
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
+#: extensions/postfix_relay_domains/views.py:63
+#: extensions/sievefilters/views.py:163 extensions/webmail/views.py:170
+#: extensions/webmail/views.py:205
+msgid "Update"
+msgstr ""
+
+#: core/templatetags/core_tags.py:21
msgid "Modoboa"
msgstr ""
-#: admin/templatetags/admin_extras.py:81
-msgid "Add domain"
+#: core/templatetags/core_tags.py:90
+msgid "Logout"
msgstr ""
-#: admin/templatetags/admin_extras.py:110
-msgid "List identities"
+#: core/views/admin.py:47
+msgid "Parameters saved"
msgstr ""
-#: admin/templatetags/admin_extras.py:115
-msgid "List quotas"
+#: core/views/admin.py:90
+msgid "Modifications applied."
msgstr ""
-#: admin/templatetags/admin_extras.py:120
-msgid "Add account"
-msgstr ""
-
-#: admin/templatetags/admin_extras.py:126
-msgid "Add alias"
-msgstr ""
-
-#: admin/templatetags/admin_extras.py:132
-msgid "Add forward"
-msgstr ""
-
-#: admin/templatetags/admin_extras.py:138
-msgid "Add distribution list"
-msgstr ""
-
-#: admin/templatetags/admin_extras.py:171
-msgid "View the domain's identities"
-msgstr ""
-
-#: admin/templatetags/admin_extras.py:178
-#: admin/templatetags/admin_extras.py:194
-#: admin/templatetags/admin_extras.py:201
-#, python-format
-msgid "Delete %s?"
-msgstr ""
-
-#: admin/templatetags/admin_extras.py:223
-msgid "Remove this permission"
-msgstr ""
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "Yes"
-msgstr ""
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "No"
-msgstr ""
-
-#: auth/views.py:32
+#: core/views/auth.py:30
#, python-format
msgid "User '%s' successfully logged in"
msgstr ""
-#: auth/views.py:44
+#: core/views/auth.py:43
msgid "Your username and password didn't match. Please try again."
msgstr ""
-#: auth/views.py:67
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' logged out"
msgstr ""
+#: core/views/user.py:35
+msgid "Profile updated"
+msgstr ""
+
+#: core/views/user.py:58
+msgid "Preferences saved"
+msgstr ""
+
#: demo/__init__.py:17
msgid "Test messages"
msgstr ""
@@ -1102,7 +549,7 @@ msgstr ""
msgid "Send spam"
msgstr ""
-#: demo/views.py:17 demo/views.py:41
+#: demo/views.py:18 demo/views.py:43
msgid "Message sent"
msgstr ""
@@ -1123,27 +570,802 @@ msgid ""
"mailing list.
\n"
msgstr ""
-#: extensions/amavis/__init__.py:22
+#: extensions/admin/__init__.py:48
+msgid "Administration console"
+msgstr ""
+
+#: extensions/admin/__init__.py:50
+msgid "Web based console to manage domains, accounts and aliases"
+msgstr ""
+
+#: extensions/admin/__init__.py:55
+msgid "Administration"
+msgstr ""
+
+#: extensions/admin/__init__.py:79
+#: extensions/admin/templates/admin/domains.html:2
+#: extensions/limits/app_settings.py:19 extensions/limits/models.py:17
+msgid "Domains"
+msgstr ""
+
+#: extensions/admin/__init__.py:85
+#: extensions/admin/templates/admin/identities.html:2
+msgid "Identities"
+msgstr ""
+
+#: extensions/admin/__init__.py:100
+#: extensions/admin/templates/admin/forward.html:2
+#: extensions/webmail/templatetags/webmail_tags.py:28
+msgid "Forward"
+msgstr ""
+
+#: extensions/admin/__init__.py:163
+#, python-format
+msgid "Account import failed (%s): domain does not exist"
+msgstr ""
+
+#: extensions/admin/app_settings.py:11
+#: extensions/admin/templates/admin/editdomainform.html:25
+#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
+#: extensions/webmail/app_settings.py:101
+#: extensions/webmail/templates/webmail/folders.html:4
+msgid "Mailboxes"
+msgstr ""
+
+#: extensions/admin/app_settings.py:14
+msgid "Handle mailboxes on filesystem"
+msgstr ""
+
+#: extensions/admin/app_settings.py:16
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+
+#: extensions/admin/app_settings.py:20
+msgid "Mailboxes ower"
+msgstr ""
+
+#: extensions/admin/app_settings.py:22
+msgid "The UNIX account who owns mailboxes on the filesystem"
+msgstr ""
+
+#: extensions/admin/app_settings.py:26
+msgid "Default domain quota"
+msgstr ""
+
+#: extensions/admin/app_settings.py:29
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+
+#: extensions/admin/app_settings.py:36
+msgid "Automatic account removal"
+msgstr ""
+
+#: extensions/admin/app_settings.py:38
+msgid "When a mailbox is removed, also remove the associated account"
+msgstr ""
+
+#: extensions/admin/app_settings.py:64 extensions/admin/forms/account.py:177
+#: extensions/admin/forms/domain.py:56
+msgid "Must be a positive integer"
+msgstr ""
+
+#: extensions/admin/lib.py:28
+msgid "A mailbox is required"
+msgstr ""
+
+#: extensions/admin/forms/account.py:21
+msgid "The user's name. Must be a valid e-mail address for simple users."
+msgstr ""
+
+#: extensions/admin/forms/account.py:25
+msgid "Role"
+msgstr ""
+
+#: extensions/admin/forms/account.py:26 extensions/admin/forms/account.py:54
+msgid "Choose"
+msgstr ""
+
+#: extensions/admin/forms/account.py:27
+msgid "What level of permission this user will have"
+msgstr ""
+
+#: extensions/admin/forms/account.py:35
+msgid "Enter the same password as above, for verification."
+msgstr ""
+
+#: extensions/admin/forms/account.py:46
+msgid "Enabled"
+msgstr ""
+
+#: extensions/admin/forms/account.py:93
+msgid "The two password fields didn't match."
+msgstr ""
+
+#: extensions/admin/forms/account.py:99
+msgid "You can't disable your own account"
+msgstr ""
+
+#: extensions/admin/forms/account.py:110
+msgid "E-mail"
+msgstr ""
+
+#: extensions/admin/forms/account.py:112 extensions/admin/forms/domain.py:17
+msgid "Quota"
+msgstr ""
+
+#: extensions/admin/forms/account.py:114
+msgid ""
+"Quota in MB for this mailbox. Define a custom value or use domain's default "
+"one. Leave empty to define an unlimited value (not allowed for domain "
+"administrators)."
+msgstr ""
+
+#: extensions/admin/forms/account.py:122 extensions/admin/forms/domain.py:26
+#: extensions/admin/templates/admin/domains_table.html:6
+#: extensions/postfix_relay_domains/forms.py:12
+msgid "Alias(es)"
+msgstr ""
+
+#: extensions/admin/forms/account.py:125
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+"*@domain.tld)."
+msgstr ""
+
+#: extensions/admin/forms/account.py:186 extensions/admin/forms/account.py:216
+#: extensions/admin/forms/alias.py:65
+msgid "Domain does not exist"
+msgstr ""
+
+#: extensions/admin/forms/account.py:195
+#, python-format
+msgid "Mailbox %s already exists"
+msgstr ""
+
+#: extensions/admin/forms/account.py:283
+msgid "Domain(s)"
+msgstr ""
+
+#: extensions/admin/forms/account.py:285
+msgid "Domain(s) that user administrates"
+msgstr ""
+
+#: extensions/admin/forms/account.py:327
+#: extensions/admin/views/identity.py:130
+msgid "Mail"
+msgstr ""
+
+#: extensions/admin/forms/account.py:329
+msgid "Permissions"
+msgstr ""
+
+#: extensions/admin/forms/alias.py:16
+msgid "Email address"
+msgstr ""
+
+#: extensions/admin/forms/alias.py:18
+msgid ""
+"The distribution list address. Use the '*' character to create a 'catchall' "
+"address (ex: *@domain.tld)."
+msgstr ""
+
+#: extensions/admin/forms/alias.py:23
+msgid "Recipients"
+msgstr ""
+
+#: extensions/admin/forms/alias.py:25
+msgid ""
+"Mailbox(es) this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+
+#: extensions/admin/forms/alias.py:68
+msgid "You don't have access to this domain"
+msgstr ""
+
+#: extensions/admin/forms/alias.py:90
+msgid "Invalid mailbox"
+msgstr ""
+
+#: extensions/admin/forms/alias.py:108 extensions/admin/models/alias.py:182
+#, python-format
+msgid "Local recipient %s not found"
+msgstr ""
+
+#: extensions/admin/forms/alias.py:112 extensions/admin/forms/alias.py:120
+#, python-format
+msgid "Recipient %s already present"
+msgstr ""
+
+#: extensions/admin/forms/alias.py:126
+msgid "No recipient defined"
+msgstr ""
+
+#: extensions/admin/forms/domain.py:20
+msgid ""
+"Default quota in MB applied to mailboxes. Leave empty to use the default "
+"value."
+msgstr ""
+
+#: extensions/admin/forms/domain.py:29
+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/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/postfix_relay_domains/forms.py:49
+#: extensions/postfix_relay_domains/forms.py:71
+msgid "domain"
+msgstr ""
+
+#: extensions/admin/forms/domain.py:176
+msgid "Create a domain administrator"
+msgstr ""
+
+#: extensions/admin/forms/domain.py:178
+msgid "Automatically create an administrator for this domain"
+msgstr ""
+
+#: extensions/admin/forms/domain.py:185
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+
+#: extensions/admin/forms/domain.py:193
+msgid "Create aliases"
+msgstr ""
+
+#: extensions/admin/forms/domain.py:195
+msgid "Automatically create standard aliases for this domain"
+msgstr ""
+
+#: extensions/admin/forms/domain.py:211
+msgid "Invalid format"
+msgstr ""
+
+#: extensions/admin/forms/domain.py:225
+#, python-format
+msgid "User '%s' already exists"
+msgstr ""
+
+#: extensions/admin/forms/export.py:7
+msgid "File name"
+msgstr ""
+
+#: extensions/admin/forms/export.py:10 extensions/admin/forms/import_.py:8
+msgid "Separator"
+msgstr ""
+
+#: extensions/admin/forms/forward.py:12
+msgid "Recipient(s)"
+msgstr ""
+
+#: extensions/admin/forms/forward.py:15
+msgid "Indicate one or more recipients separated by a ','"
+msgstr ""
+
+#: extensions/admin/forms/forward.py:18
+msgid "Keep local copies"
+msgstr ""
+
+#: extensions/admin/forms/forward.py:20
+msgid "Forward messages and store copies into your local mailbox"
+msgstr ""
+
+#: extensions/admin/forms/forward.py:38
+msgid ""
+"You can't define a forward to a local destination. Please ask your "
+"administrator to create an alias instead."
+msgstr ""
+
+#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:26
+msgid "Select a file"
+msgstr ""
+
+#: extensions/admin/forms/import_.py:11
+msgid "Continue on error"
+msgstr ""
+
+#: extensions/admin/forms/import_.py:12
+msgid "Don't treat duplicated objects as error"
+msgstr ""
+
+#: extensions/admin/forms/import_.py:27
+msgid "Crypt passwords"
+msgstr ""
+
+#: extensions/admin/forms/import_.py:28
+msgid "Check this option if passwords contained in your file are not crypted"
+msgstr ""
+
+#: extensions/admin/models/alias.py:16 extensions/admin/models/mailbox.py:51
+msgid "address"
+msgstr ""
+
+#: extensions/admin/models/alias.py:18
+msgid ""
+"The alias address (without the domain part). For a 'catch-all' address, just "
+"enter an * character."
+msgstr ""
+
+#: extensions/admin/models/alias.py:24
+msgid "mailboxes"
+msgstr ""
+
+#: extensions/admin/models/alias.py:25
+msgid "The mailboxes this alias points to"
+msgstr ""
+
+#: extensions/admin/models/alias.py:29
+msgid "The aliases this alias points to"
+msgstr ""
+
+#: extensions/admin/models/alias.py:34
+#: extensions/admin/models/domain_alias.py:18
+#: extensions/postfix_relay_domains/models.py:168
+msgid "Check to activate this alias"
+msgstr ""
+
+#: extensions/admin/models/alias.py:79
+msgid "distribution list"
+msgstr ""
+
+#: extensions/admin/models/alias.py:80
+msgid "forward"
+msgstr ""
+
+#: extensions/admin/models/alias.py:81
+msgid "alias"
+msgstr ""
+
+#: extensions/admin/models/alias.py:150
+#, python-format
+msgid "Invalid line: %s"
+msgstr ""
+
+#: extensions/admin/models/alias.py:155
+#, python-format
+msgid "Domain '%s' does not exist"
+msgstr ""
+
+#: extensions/admin/models/domain.py:28
+#: extensions/admin/models/domain_alias.py:10
+#: extensions/postfix_relay_domains/models.py:58
+#: extensions/postfix_relay_domains/models.py:76
+#: extensions/postfix_relay_domains/models.py:159
+msgid "name"
+msgstr ""
+
+#: extensions/admin/models/domain.py:29
+#: extensions/postfix_relay_domains/models.py:77
+msgid "The domain name"
+msgstr ""
+
+#: extensions/admin/models/domain.py:33
+#: extensions/postfix_relay_domains/models.py:86
+msgid "Check to activate this domain"
+msgstr ""
+
+#: extensions/admin/models/domain.py:61
+msgid "Domain"
+msgstr ""
+
+#: extensions/admin/models/domain.py:140
+#, python-format
+msgid "Invalid quota value for domain '%s'"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:11
+#: extensions/postfix_relay_domains/models.py:160
+msgid "The alias name"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:13
+#: extensions/postfix_relay_domains/models.py:163
+msgid "target"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:14
+msgid "The domain this alias points to"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:46
+#, python-format
+msgid "A domain %s already exists"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:51
+#, python-format
+msgid "Unknown domain %s"
+msgstr ""
+
+#: extensions/admin/models/mailbox.py:52
+msgid "Mailbox address (without the @domain.tld part)"
+msgstr ""
+
+#: extensions/admin/models/mailbox.py:113
+#, python-format
+msgid "Failed to retrieve mailbox location (%s)"
+msgstr ""
+
+#: extensions/admin/models/mailbox.py:173
+#, python-format
+msgid "Quota is greater than the allowed domain's limit (%dM)"
+msgstr ""
+
+#: extensions/admin/models/mailbox.py:178
+msgid "A quota is required"
+msgstr ""
+
+#: extensions/admin/templates/admin/domain_general_form.html:3
+#: extensions/admin/templates/admin/mailform.html:3
+#: extensions/admin/templates/admin/newdomainform.html:3
+msgid "MB"
+msgstr ""
+
+#: extensions/admin/templates/admin/domain_options_form.html:5
+msgid "You can't create a new domain administrator"
+msgstr ""
+
+#: extensions/admin/templates/admin/domains_table.html:7
+#: extensions/admin/templates/admin/identities_table.html:7
+msgid "Tags"
+msgstr ""
+
+#: extensions/admin/templates/admin/domains_table.html:8
+#: extensions/admin/templates/admin/identities_table.html:8
+#: extensions/admin/templates/admin/listing.html:17
+#: extensions/sievefilters/views.py:93
+#: extensions/sievefilters/templates/sievefilters/filter.html:17
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
+#: extensions/webmail/templatetags/webmail_tags.py:101
+msgid "Actions"
+msgstr ""
+
+#: extensions/admin/templates/admin/editdomainform.html:4
+msgid "Administrators"
+msgstr ""
+
+#: extensions/admin/templates/admin/editdomainform.html:19
+msgid "No domain administrator defined"
+msgstr ""
+
+#: extensions/admin/templates/admin/editdomainform.html:22
+msgid "Creation date"
+msgstr ""
+
+#: extensions/admin/templates/admin/editdomainform.html:23
+msgid "Last modification date"
+msgstr ""
+
+#: extensions/admin/templates/admin/editdomainform.html:24
+#: extensions/limits/app_settings.py:25 extensions/limits/models.py:20
+msgid "Domain aliases"
+msgstr ""
+
+#: extensions/admin/templates/admin/editdomainform.html:26
+#: extensions/limits/app_settings.py:37 extensions/limits/models.py:25
+msgid "Mailbox aliases"
+msgstr ""
+
+#: extensions/admin/templates/admin/forward.html:2
+msgid "Automatically forward emails to another address"
+msgstr ""
+
+#: extensions/admin/templates/admin/identities_table.html:6
+msgid "Fullname/Recipient"
+msgstr ""
+
+#: extensions/admin/templates/admin/importform.html:5
+msgid "Help"
+msgstr ""
+
+#: extensions/admin/templates/admin/importform.html:12
+msgid "Importing..."
+msgstr ""
+
+#: extensions/admin/templates/admin/listing.html:14
+#: extensions/stats/templates/stats/index.html:28
+msgid "Filter"
+msgstr ""
+
+#: extensions/admin/templates/admin/mailboxes_raw.html:3
+msgid "Choose a value"
+msgstr ""
+
+#: extensions/admin/templates/admin/mailform.html:3
+msgid "Use domain default value"
+msgstr ""
+
+#: extensions/admin/templates/admin/quotas.html:5
+msgid "Address"
+msgstr ""
+
+#: extensions/admin/templates/admin/quotas.html:6
+msgid "Value"
+msgstr ""
+
+#: extensions/admin/templates/admin/quotas.html:7
+msgid "Limit"
+msgstr ""
+
+#: extensions/admin/templates/admin/quotas.html:8
+#, python-format
+msgid "Usage (%%)"
+msgstr ""
+
+#: extensions/admin/templates/admin/searchform.html:6
+msgid "Search"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_m"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_f"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:33
+msgid "Add domain"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:42
+#: extensions/admin/templatetags/admin_tags.py:106
+#: extensions/admin/views/import.py:51 extensions/admin/views/import.py:166
+msgid "Import"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:48
+#: extensions/admin/templatetags/admin_tags.py:112
+#: extensions/admin/views/export.py:38 extensions/admin/views/export.py:64
+msgid "Export"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:72
+msgid "List identities"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:77
+msgid "List quotas"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:82
+msgid "Add account"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:88
+msgid "Add alias"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:94
+msgid "Add forward"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:100
+msgid "Add distribution list"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:133
+msgid "View the domain's identities"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:143
+#: extensions/admin/templatetags/admin_tags.py:162
+#: extensions/admin/templatetags/admin_tags.py:169
+#: extensions/postfix_relay_domains/general_callbacks.py:84
+#, python-format
+msgid "Delete %s?"
+msgstr ""
+
+#: extensions/admin/templatetags/admin_tags.py:239
+msgid "Remove this permission"
+msgstr ""
+
+#: extensions/admin/views/alias.py:25
+msgid "Alias with this name already exists"
+msgstr ""
+
+#: extensions/admin/views/alias.py:49 extensions/admin/views/domain.py:100
+#: extensions/admin/views/domain.py:129 extensions/admin/views/identity.py:131
+#: extensions/admin/views/identity.py:158
+#: extensions/postfix_relay_domains/views.py:32
+#: extensions/sievefilters/views.py:141 extensions/sievefilters/views.py:230
+#: extensions/webmail/views.py:151
+msgid "Create"
+msgstr ""
+
+#: extensions/admin/views/alias.py:61
+msgid "New distribution list"
+msgstr ""
+
+#: extensions/admin/views/alias.py:62
+msgid "Distribution list created"
+msgstr ""
+
+#: extensions/admin/views/alias.py:71
+msgid "New alias"
+msgstr ""
+
+#: extensions/admin/views/alias.py:72
+msgid "Alias created"
+msgstr ""
+
+#: extensions/admin/views/alias.py:81
+msgid "New forward"
+msgstr ""
+
+#: extensions/admin/views/alias.py:82
+msgid "Forward created"
+msgstr ""
+
+#: extensions/admin/views/alias.py:95
+msgid "Distribution list modified"
+msgstr ""
+
+#: extensions/admin/views/alias.py:97
+msgid "Forward modified"
+msgstr ""
+
+#: extensions/admin/views/alias.py:99
+msgid "Alias modified"
+msgstr ""
+
+#: extensions/admin/views/domain.py:96 extensions/admin/views/identity.py:128
+msgid "Next"
+msgstr ""
+
+#: extensions/admin/views/domain.py:99
+msgid "Options"
+msgstr ""
+
+#: extensions/admin/views/domain.py:101 extensions/admin/views/identity.py:132
+msgid "Previous"
+msgstr ""
+
+#: extensions/admin/views/domain.py:123
+msgid "Domain created"
+msgstr ""
+
+#: extensions/admin/views/domain.py:128
+msgid "New domain"
+msgstr ""
+
+#: extensions/admin/views/domain.py:155
+msgid "Domain modified"
+msgstr ""
+
+#: extensions/admin/views/domain.py:189
+msgid "You can't delete your own domain"
+msgstr ""
+
+#: extensions/admin/views/domain.py:192
+msgid "Domain deleted"
+msgid_plural "Domains deleted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: extensions/admin/views/export.py:37
+msgid "Export identities"
+msgstr ""
+
+#: extensions/admin/views/export.py:63
+msgid "Export domains"
+msgstr ""
+
+#: extensions/admin/views/identity.py:103
+#: extensions/admin/views/identity.py:224
+#: extensions/admin/views/identity.py:229 extensions/amavis/views.py:179
+#: extensions/amavis/views.py:185 extensions/amavis/views.py:220
+#: extensions/amavis/views.py:224 extensions/amavis/views.py:226
+#: extensions/webmail/views.py:47 extensions/webmail/views.py:65
+#: extensions/webmail/views.py:79 extensions/webmail/views.py:97
+#: extensions/webmail/views.py:114 extensions/webmail/views.py:200
+#: extensions/webmail/views.py:223 extensions/webmail/views.py:396
+#: extensions/webmail/views.py:430 extensions/webmail/views.py:443
+#: extensions/webmail/views.py:472 extensions/webmail/views.py:513
+#: lib/formutils.py:44 lib/formutils.py:49
+msgid "Invalid request"
+msgstr ""
+
+#: extensions/admin/views/identity.py:149
+msgid "Account created"
+msgstr ""
+
+#: extensions/admin/views/identity.py:155
+msgid "New account"
+msgstr ""
+
+#: extensions/admin/views/identity.py:190
+msgid "Account updated"
+msgstr ""
+
+#: extensions/admin/views/identity.py:214
+msgid "Account deleted"
+msgid_plural "Accounts deleted"
+msgstr[0] ""
+msgstr[1] ""
+
+#: extensions/admin/views/import.py:39
+#, python-format
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+
+#: extensions/admin/views/import.py:50
+msgid "Import domains"
+msgstr ""
+
+#: extensions/admin/views/import.py:129
+#, python-format
+msgid "Object already exists: %s"
+msgstr ""
+
+#: extensions/admin/views/import.py:133
+#, python-format
+msgid "%d objects imported successfully"
+msgstr ""
+
+#: extensions/admin/views/import.py:153
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+
+#: extensions/admin/views/import.py:165
+msgid "Import identities"
+msgstr ""
+
+#: extensions/admin/views/user.py:37
+msgid "Forward updated"
+msgstr ""
+
+#: extensions/amavis/__init__.py:21
msgid "Simple amavis management frontend"
msgstr ""
-#: extensions/amavis/__init__.py:45 extensions/amavis/__init__.py:61
+#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:17
msgid "Quarantine"
msgstr ""
-#: extensions/amavis/__init__.py:129
-msgid "pending requests"
-msgstr ""
-
-#: extensions/amavis/__init__.py:149
-#, python-format
-msgid "%d pending requests"
-msgstr ""
-
-#: extensions/amavis/__init__.py:161
-msgid "Content filter"
-msgstr ""
-
#: extensions/amavis/app_settings.py:11
msgid "Quarantine settings"
msgstr ""
@@ -1232,11 +1454,6 @@ msgstr ""
msgid "The e-mail address used to send notitications"
msgstr ""
-#: extensions/amavis/app_settings.py:87 extensions/webmail/app_settings.py:73
-#: userprefs/app_settings.py:18
-msgid "Display"
-msgstr ""
-
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
msgid "Number of displayed emails per page"
msgstr ""
@@ -1245,7 +1462,19 @@ msgstr ""
msgid "Set the maximum number of messages displayed in a page"
msgstr ""
-#: extensions/amavis/lib.py:53
+#: extensions/amavis/general_callbacks.py:81
+msgid "pending requests"
+msgstr ""
+
+#: extensions/amavis/general_callbacks.py:124
+msgid "Pending requests"
+msgstr ""
+
+#: extensions/amavis/general_callbacks.py:134
+msgid "Content filter"
+msgstr ""
+
+#: extensions/amavis/lib.py:57
#, python-format
msgid "Connection to amavis failed: %s"
msgstr ""
@@ -1255,12 +1484,12 @@ msgid "Virus filter"
msgstr ""
#: extensions/amavis/models.py:94 extensions/amavis/models.py:102
-#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:281
+#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:290
msgid "yes"
msgstr ""
#: extensions/amavis/models.py:95 extensions/amavis/models.py:103
-#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:285
+#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:294
msgid "no"
msgstr ""
@@ -1300,53 +1529,58 @@ msgid ""
"settings."
msgstr ""
-#: extensions/amavis/sql_listing.py:23 extensions/webmail/lib.py:37
-msgid "From"
+#: extensions/amavis/sql_listing.py:31
+msgid "Score"
msgstr ""
-#: extensions/amavis/sql_listing.py:24 extensions/sievefilters/forms.py:68
-#: extensions/webmail/forms.py:10 extensions/webmail/lib.py:36
-#: extensions/webmail/lib.py:409 templates/common/email_searchbar.html:6
-msgid "Subject"
-msgstr ""
-
-#: extensions/amavis/sql_listing.py:26
-#: extensions/amavis/templatetags/amextras.py:102
+#: extensions/amavis/sql_listing.py:35
+#: extensions/amavis/templatetags/amavis_tags.py:75
#: extensions/webmail/forms.py:7
msgid "To"
msgstr ""
-#: extensions/amavis/views.py:43
+#: extensions/amavis/sql_listing.py:38
+#: extensions/postfix_autoreply/forms.py:11 extensions/webmail/lib.py:44
+msgid "From"
+msgstr ""
+
+#: extensions/amavis/sql_listing.py:42 extensions/sievefilters/forms.py:77
+#: extensions/webmail/forms.py:11 extensions/webmail/lib.py:40
+#: extensions/webmail/lib.py:423 templates/common/email_searchbar.html:6
+msgid "Subject"
+msgstr ""
+
+#: extensions/amavis/views.py:27
msgid "Empty quarantine"
msgstr ""
-#: extensions/amavis/views.py:211
+#: extensions/amavis/views.py:186
msgid "Message deleted"
msgstr ""
-#: extensions/amavis/views.py:232
+#: extensions/amavis/views.py:207
#, python-format
msgid "%(count)d message deleted successfully"
msgid_plural "%(count)d messages deleted successfully"
msgstr[0] ""
msgstr[1] ""
-#: extensions/amavis/views.py:252
+#: extensions/amavis/views.py:229
msgid "Request sent"
msgstr ""
-#: extensions/amavis/views.py:258
+#: extensions/amavis/views.py:235
msgid "Message released"
msgstr ""
-#: extensions/amavis/views.py:280
+#: extensions/amavis/views.py:268
#, python-format
msgid "%(count)d request sent"
msgid_plural "%(count)d requests sent"
msgstr[0] ""
msgstr[1] ""
-#: extensions/amavis/views.py:304
+#: extensions/amavis/views.py:288
#, python-format
msgid "%(count)d message released successfully"
msgid_plural "%(count)d messages released successfully"
@@ -1373,6 +1607,72 @@ msgstr ""
msgid "Quarantine management"
msgstr ""
+#: extensions/amavis/templates/amavis/main_action_bar.html:3
+msgid "Select"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:9
+msgid "Spam"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:10
+msgid "Virus"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:11
+msgid "Bad Header"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:12
+msgid "Bad MIME"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:13
+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
+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/webmail/templatetags/webmail_tags.py:32
+msgid "Delete"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+#: extensions/sievefilters/forms.py:64
+msgid "All messages"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+msgid "All"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:32
+msgid "Spam only"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:33
+msgid "Virus only"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:34
+msgid "Bad Header only"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:35
+msgid "Bad MIME only"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:36
+msgid "Banned only"
+msgstr ""
+
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:1
#, python-format
msgid ""
@@ -1413,70 +1713,24 @@ msgstr ""
msgid "Please visit %(listingurl)s for a full listing."
msgstr ""
-#: extensions/amavis/templatetags/amextras.py:20
-#: extensions/amavis/templatetags/amextras.py:52
-#: extensions/amavis/templatetags/amextras.py:72
-msgid "Release"
-msgstr ""
-
-#: extensions/amavis/templatetags/amextras.py:26
-#: extensions/amavis/templatetags/amextras.py:59
-#: extensions/amavis/templatetags/amextras.py:77
-#: extensions/webmail/templatetags/webextras.py:31
-msgid "Delete"
-msgstr ""
-
-#: extensions/amavis/templatetags/amextras.py:29
+#: extensions/amavis/templatetags/amavis_tags.py:28
msgid "View full headers"
msgstr ""
-#: extensions/amavis/templatetags/amextras.py:80
-msgid "Content Class"
-msgstr ""
-
-#: extensions/amavis/templatetags/amextras.py:84
-msgid "Nothing"
-msgstr ""
-
-#: extensions/amavis/templatetags/amextras.py:87
-msgid "Spam"
-msgstr ""
-
-#: extensions/amavis/templatetags/amextras.py:90
-msgid "Virus"
-msgstr ""
-
-#: extensions/amavis/templatetags/amextras.py:93
-msgid "Bad header"
-msgstr ""
-
-#: extensions/amavis/templatetags/amextras.py:96
-msgid "Bad MIME"
-msgstr ""
-
-#: extensions/limits/__init__.py:23
+#: extensions/limits/__init__.py:25
msgid ""
"Per administrator resources to limit the number of objects they can create"
msgstr ""
-#: extensions/limits/__init__.py:54
+#: extensions/limits/__init__.py:56
msgid "Limits"
msgstr ""
-#: extensions/limits/__init__.py:65
-msgid "Reseller"
-msgstr ""
-
-#: extensions/limits/__init__.py:94
-msgid "Resources"
-msgstr ""
-
#: extensions/limits/app_settings.py:10
msgid "Default limits"
msgstr ""
-#: extensions/limits/app_settings.py:13 extensions/limits/forms.py:12
-#: extensions/limits/models.py:11
+#: extensions/limits/app_settings.py:13 extensions/limits/models.py:14
msgid "Domain admins"
msgstr ""
@@ -1500,52 +1754,60 @@ msgstr ""
msgid "Maximum number of allowed aliases for a new administrator"
msgstr ""
-#: extensions/limits/forms.py:13
-msgid "Maximum number of domain administrators this user can create"
-msgstr ""
-
-#: extensions/limits/forms.py:17
-msgid "Maximum number of domains this user can create"
-msgstr ""
-
-#: extensions/limits/forms.py:21
-msgid "Maximum number of domain aliases this user can create"
-msgstr ""
-
-#: extensions/limits/forms.py:25
-msgid "Maximum number of mailboxes this user can create"
-msgstr ""
-
-#: extensions/limits/forms.py:29
-msgid "Maximum number of mailbox aliases this user can create"
-msgstr ""
-
-#: extensions/limits/forms.py:46
+#: extensions/limits/forms.py:28 extensions/limits/forms.py:35
msgid "Invalid limit"
msgstr ""
-#: extensions/limits/forms.py:74
+#: extensions/limits/forms.py:57
msgid "Your resources are not initialized yet"
msgstr ""
-#: extensions/limits/forms.py:78
+#: extensions/limits/forms.py:61
msgid "You're not allowed to define unlimited values"
msgstr ""
-#: extensions/limits/lib.py:16
+#: extensions/limits/general_callbacks.py:10
+msgid "Reseller"
+msgstr ""
+
+#: extensions/limits/general_callbacks.py:48
+msgid "Resources"
+msgstr ""
+
+#: extensions/limits/lib.py:19
#, python-format
msgid "%s: limit reached"
msgstr ""
-#: extensions/limits/lib.py:23
+#: extensions/limits/lib.py:29
msgid "Not enough resources"
msgstr ""
-#: extensions/limits/models.py:103
+#: extensions/limits/models.py:15
+msgid "Maximum number of domain administrators this user can create"
+msgstr ""
+
+#: extensions/limits/models.py:18
+msgid "Maximum number of domains this user can create"
+msgstr ""
+
+#: extensions/limits/models.py:21
+msgid "Maximum number of domain aliases this user can create"
+msgstr ""
+
+#: extensions/limits/models.py:24
+msgid "Maximum number of mailboxes this user can create"
+msgstr ""
+
+#: extensions/limits/models.py:26
+msgid "Maximum number of mailbox aliases this user can create"
+msgstr ""
+
+#: extensions/limits/models.py:136
msgid "undefined"
msgstr ""
-#: extensions/limits/models.py:105
+#: extensions/limits/models.py:138
msgid "unlimited"
msgstr ""
@@ -1553,19 +1815,14 @@ msgstr ""
msgid "Resources usage"
msgstr ""
-#: extensions/postfix_autoreply/__init__.py:20
+#: extensions/postfix_autoreply/__init__.py:26
msgid "Auto-reply (vacation) functionality using Postfix"
msgstr ""
-#: extensions/postfix_autoreply/__init__.py:41
+#: extensions/postfix_autoreply/__init__.py:47
msgid "Automatic replies"
msgstr ""
-#: extensions/postfix_autoreply/__init__.py:79
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
-msgid "Auto-reply message"
-msgstr ""
-
#: extensions/postfix_autoreply/app_settings.py:14
msgid "Automatic reply timeout"
msgstr ""
@@ -1574,39 +1831,94 @@ msgstr ""
msgid "Timeout in seconds between two auto-replies to the same recipient"
msgstr ""
-#: extensions/postfix_autoreply/forms.py:9
+#: extensions/postfix_autoreply/app_settings.py:20
+msgid "Default subject"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:21
+msgid "I'm off"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:23
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:28
+msgid "Default content"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:30
+#, python-format
+msgid ""
+"I'm currently off. I'll answer as soon as I come back.\n"
+"\n"
+"Best regards,\n"
+"%(name)s\n"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:36
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: extensions/postfix_autoreply/forms.py:13
+msgid "Activate your auto reply from this date"
+msgstr ""
+
+#: extensions/postfix_autoreply/forms.py:19
msgid "Until"
msgstr ""
-#: extensions/postfix_autoreply/forms.py:11
+#: extensions/postfix_autoreply/forms.py:21
msgid "Activate your auto reply until this date"
msgstr ""
-#: extensions/postfix_autoreply/forms.py:25
+#: extensions/postfix_autoreply/forms.py:49
+#: extensions/postfix_autoreply/forms.py:55
msgid "This date is over"
msgstr ""
-#: extensions/postfix_autoreply/models.py:19
-msgid "subject"
+#: extensions/postfix_autoreply/forms.py:59
+msgid "Must be greater than start date"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:33
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Auto-reply message"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:118
+msgid "Enable auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:120
+msgid "Enable or disable Postfix auto-reply"
msgstr ""
#: extensions/postfix_autoreply/models.py:20
+msgid "subject"
+msgstr ""
+
+#: extensions/postfix_autoreply/models.py:21
msgid "The subject that will appear in sent emails"
msgstr ""
-#: extensions/postfix_autoreply/models.py:23
+#: extensions/postfix_autoreply/models.py:24
msgid "content"
msgstr ""
-#: extensions/postfix_autoreply/models.py:24
+#: extensions/postfix_autoreply/models.py:25
msgid "The content that will appear in sent emails"
msgstr ""
-#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_autoreply/models.py:29
msgid "Activate/Deactivate your auto reply"
msgstr ""
-#: extensions/postfix_autoreply/views.py:37
+#: extensions/postfix_autoreply/views.py:34
msgid "Auto reply message updated successfully."
msgstr ""
@@ -1614,16 +1926,136 @@ msgstr ""
msgid "Define a message to automatically send when you are off"
msgstr ""
+#: extensions/postfix_relay_domains/__init__.py:72
+msgid "Relay domains support for Postfix"
+msgstr ""
+
+#: extensions/postfix_relay_domains/__init__.py:89
+#: extensions/postfix_relay_domains/general_callbacks.py:100
+#: extensions/postfix_relay_domains/limits_callbacks.py:16
+msgid "Relay domains"
+msgstr ""
+
+#: extensions/postfix_relay_domains/app_settings.py:10
+msgid "Postfix's master.cf path"
+msgstr ""
+
+#: extensions/postfix_relay_domains/app_settings.py:12
+msgid "Path to the master.cf configuration file"
+msgstr ""
+
+#: extensions/postfix_relay_domains/forms.py:15
+msgid ""
+"Alias(es) of this relay domain. Indicate only one name per input, press "
+"ENTER to add a new input."
+msgstr ""
+
+#: extensions/postfix_relay_domains/forms.py:51
+#: extensions/postfix_relay_domains/general_callbacks.py:93
+msgid "relay domain alias"
+msgstr ""
+
+#: extensions/postfix_relay_domains/forms.py:69
+#: extensions/postfix_relay_domains/general_callbacks.py:92
+msgid "relay domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:35
+msgid "Add relay domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:101
+msgid "Maximum number of relay domains this user can create"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:103
+#: extensions/postfix_relay_domains/limits_callbacks.py:24
+msgid "Relay domain aliases"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:104
+msgid "Maximum number of relay domain aliases this user can create"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:111
+msgid ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients"
+"em> \n"
+"relaydomainalias; name; target; enabled \n"
+msgstr ""
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:19
+msgid "Maximum number of allowed relay domains for a new administrator"
+msgstr ""
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:27
+msgid "Maximum number of allowed relay domain aliases for a new administrator"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:59
+msgid "The service name"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:80
+msgid "target host"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:81
+msgid "Remote destination of this domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:89
+msgid "verify recipients"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:90
+msgid "Check for valid recipients"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:103
+msgid "Relay Domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:164
+msgid "The relay domain this alias points to"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:195
+#, python-format
+msgid "Relay domain %s does not exist"
+msgstr ""
+
+#: extensions/postfix_relay_domains/views.py:26
+msgid "Relay domain created"
+msgstr ""
+
+#: extensions/postfix_relay_domains/views.py:31
+msgid "New relay domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/views.py:54
+msgid "Relay domain modified"
+msgstr ""
+
+#: extensions/postfix_relay_domains/views.py:77
+msgid "Relay domain deleted"
+msgstr ""
+
+#: extensions/postfix_relay_domains/templates/postfix_relay_domains/service_field.html:2
+msgid "Scan"
+msgstr ""
+
#: extensions/sievefilters/__init__.py:12
msgid "Plugin to easily create server-side filters"
msgstr ""
-#: extensions/sievefilters/__init__.py:17
+#: extensions/sievefilters/__init__.py:18
msgid "Sieve filters"
msgstr ""
-#: extensions/sievefilters/__init__.py:18
-#: extensions/sievefilters/__init__.py:36
+#: extensions/sievefilters/__init__.py:19
+#: extensions/sievefilters/general_callbacks.py:14
#: extensions/sievefilters/templates/sievefilters/index.html:2
msgid "Message filters"
msgstr ""
@@ -1664,125 +2096,121 @@ msgstr ""
msgid "Select the mode you want the editor to work in"
msgstr ""
-#: extensions/sievefilters/forms.py:14
+#: extensions/sievefilters/forms.py:16
msgid "Check to activate this filters set"
msgstr ""
-#: extensions/sievefilters/forms.py:55
+#: extensions/sievefilters/forms.py:62
msgid "All of the following"
msgstr ""
-#: extensions/sievefilters/forms.py:56
+#: extensions/sievefilters/forms.py:63
msgid "Any of the following"
msgstr ""
-#: extensions/sievefilters/forms.py:57
-msgid "All messages"
-msgstr ""
-
-#: extensions/sievefilters/forms.py:62
+#: extensions/sievefilters/forms.py:70
msgid "contains"
msgstr ""
-#: extensions/sievefilters/forms.py:63
+#: extensions/sievefilters/forms.py:71
msgid "does not contain"
msgstr ""
-#: extensions/sievefilters/forms.py:64
+#: extensions/sievefilters/forms.py:72
msgid "is"
msgstr ""
-#: extensions/sievefilters/forms.py:65
+#: extensions/sievefilters/forms.py:73
msgid "is not"
msgstr ""
-#: extensions/sievefilters/forms.py:69
+#: extensions/sievefilters/forms.py:78
msgid "Sender"
msgstr ""
-#: extensions/sievefilters/forms.py:70
+#: extensions/sievefilters/forms.py:79
msgid "Recipient"
msgstr ""
-#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:8
+#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:8
msgid "Cc"
msgstr ""
-#: extensions/sievefilters/forms.py:72
+#: extensions/sievefilters/forms.py:81
msgid "Size"
msgstr ""
-#: extensions/sievefilters/forms.py:73
+#: extensions/sievefilters/forms.py:82
msgid "is greater than"
msgstr ""
-#: extensions/sievefilters/forms.py:74
+#: extensions/sievefilters/forms.py:83
msgid "is less than"
msgstr ""
-#: extensions/sievefilters/forms.py:78
+#: extensions/sievefilters/forms.py:87
msgid "Move message to"
msgstr ""
-#: extensions/sievefilters/forms.py:80
+#: extensions/sievefilters/forms.py:89
msgid "Redirect message to"
msgstr ""
-#: extensions/sievefilters/lib.py:37
+#: extensions/sievefilters/lib.py:40
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
-#: extensions/sievefilters/lib.py:82
+#: extensions/sievefilters/lib.py:85
msgid "Not enough space on server"
msgstr ""
-#: extensions/sievefilters/views.py:68
+#: extensions/sievefilters/views.py:78
msgid "Failed to retrieve filters set"
msgstr ""
-#: extensions/sievefilters/views.py:126
+#: extensions/sievefilters/views.py:138
#: extensions/sievefilters/templatetags/sfilters_tags.py:33
msgid "New filter"
msgstr ""
-#: extensions/sievefilters/views.py:133
+#: extensions/sievefilters/views.py:146
msgid "Filter created"
msgstr ""
-#: extensions/sievefilters/views.py:145
-#: extensions/sievefilters/templatetags/sfilters_tags.py:77
+#: extensions/sievefilters/views.py:160
+#: extensions/sievefilters/templatetags/sfilters_tags.py:78
msgid "Edit filter"
msgstr ""
-#: extensions/sievefilters/views.py:154
+#: extensions/sievefilters/views.py:169
msgid "Filter modified"
msgstr ""
-#: extensions/sievefilters/views.py:176
+#: extensions/sievefilters/views.py:192
msgid "Filter removed"
msgstr ""
-#: extensions/sievefilters/views.py:177
+#: extensions/sievefilters/views.py:193
msgid "Failed to remove filter"
msgstr ""
-#: extensions/sievefilters/views.py:191
+#: extensions/sievefilters/views.py:208
msgid "Filters set saved"
msgstr ""
-#: extensions/sievefilters/views.py:196
-msgid "Create a new filters set"
-msgstr ""
-
-#: extensions/sievefilters/views.py:219
+#: extensions/sievefilters/views.py:224
msgid "Filters set created"
msgstr ""
-#: extensions/sievefilters/views.py:240
+#: extensions/sievefilters/views.py:228
+msgid "Create a new filters set"
+msgstr ""
+
+#: extensions/sievefilters/views.py:247
msgid "Filters set deleted"
msgstr ""
-#: extensions/sievefilters/views.py:252
+#: extensions/sievefilters/views.py:260
msgid "Filters set activated"
msgstr ""
@@ -1798,20 +2226,20 @@ msgstr ""
msgid "No filter defined yet"
msgstr ""
-#: extensions/sievefilters/templates/sievefilters/index.html:56
+#: extensions/sievefilters/templates/sievefilters/index.html:76
msgid "Filter sets"
msgstr ""
-#: extensions/sievefilters/templates/sievefilters/index.html:60
+#: extensions/sievefilters/templates/sievefilters/index.html:80
msgid "active"
msgstr ""
-#: extensions/sievefilters/templates/sievefilters/index.html:74
+#: extensions/sievefilters/templates/sievefilters/index.html:94
msgid ""
"No filters set defined yet. You must create one in order to define filters."
msgstr ""
-#: extensions/sievefilters/templatetags/sfilters_tags.py:16
+#: extensions/sievefilters/templatetags/sfilters_tags.py:15
msgid "New filters set"
msgstr ""
@@ -1831,31 +2259,27 @@ msgstr ""
msgid "Download"
msgstr ""
-#: extensions/sievefilters/templatetags/sfilters_tags.py:85
+#: extensions/sievefilters/templatetags/sfilters_tags.py:86
msgid "Remove this filter"
msgstr ""
-#: extensions/sievefilters/templatetags/sfilters_tags.py:93
+#: extensions/sievefilters/templatetags/sfilters_tags.py:94
msgid "Move this filter up"
msgstr ""
-#: extensions/sievefilters/templatetags/sfilters_tags.py:101
+#: extensions/sievefilters/templatetags/sfilters_tags.py:102
msgid "Move this filter down"
msgstr ""
-#: extensions/stats/__init__.py:20
+#: extensions/stats/__init__.py:21
msgid "Graphical statistics about emails traffic using RRDtool"
msgstr ""
-#: extensions/stats/__init__.py:26
+#: extensions/stats/__init__.py:29
#: extensions/stats/templates/stats/index.html:2
msgid "Graphical statistics"
msgstr ""
-#: extensions/stats/__init__.py:40
-msgid "Statistics"
-msgstr ""
-
#: extensions/stats/app_settings.py:14
msgid "Path to the log file"
msgstr ""
@@ -1880,84 +2304,88 @@ msgstr ""
msgid "Path to directory where PNG files are stored"
msgstr ""
-#: extensions/stats/graph_templates.py:20
+#: extensions/stats/general_callbacks.py:12
+msgid "Statistics"
+msgstr ""
+
+#: extensions/stats/graph_templates.py:22
msgid "Average normal traffic"
msgstr ""
-#: extensions/stats/graph_templates.py:21
-#: extensions/stats/graph_templates.py:33
+#: extensions/stats/graph_templates.py:23
+#: extensions/stats/graph_templates.py:36
msgid "msgs/min"
msgstr ""
-#: extensions/stats/graph_templates.py:26
+#: extensions/stats/graph_templates.py:28
msgid "sent messages"
msgstr ""
-#: extensions/stats/graph_templates.py:28
+#: extensions/stats/graph_templates.py:30
msgid "received messages"
msgstr ""
-#: extensions/stats/graph_templates.py:32
+#: extensions/stats/graph_templates.py:35
msgid "Average bad traffic"
msgstr ""
-#: extensions/stats/graph_templates.py:38
+#: extensions/stats/graph_templates.py:41
msgid "bounced messages"
msgstr ""
-#: extensions/stats/graph_templates.py:40
+#: extensions/stats/graph_templates.py:43
msgid "rejected messages"
msgstr ""
-#: extensions/stats/graph_templates.py:44
+#: extensions/stats/graph_templates.py:48
msgid "Average normal traffic size"
msgstr ""
-#: extensions/stats/graph_templates.py:45
+#: extensions/stats/graph_templates.py:49
msgid "bytes/min"
msgstr ""
-#: extensions/stats/graph_templates.py:50
+#: extensions/stats/graph_templates.py:54
msgid "received size"
msgstr ""
-#: extensions/stats/graph_templates.py:52
+#: extensions/stats/graph_templates.py:56
msgid "sent size"
msgstr ""
-#: extensions/stats/graph_templates.py:73
+#: extensions/stats/graph_templates.py:78
msgid "Mail traffic"
msgstr ""
-#: extensions/stats/grapher.py:9
+#: extensions/stats/grapher.py:8
msgid "Day"
msgstr ""
-#: extensions/stats/grapher.py:10
+#: extensions/stats/grapher.py:9
msgid "Week"
msgstr ""
-#: extensions/stats/grapher.py:11
+#: extensions/stats/grapher.py:10
msgid "Month"
msgstr ""
-#: extensions/stats/grapher.py:12
+#: extensions/stats/grapher.py:11
msgid "Year"
msgstr ""
-#: extensions/stats/grapher.py:59
+#: extensions/stats/grapher.py:60
msgid "Total"
msgstr ""
-#: extensions/stats/views.py:21 extensions/stats/templates/stats/graphs.html:4
+#: extensions/stats/views.py:28 extensions/stats/templates/stats/graphs.html:4
msgid "No statistics available"
msgstr ""
-#: extensions/stats/views.py:39
+#: extensions/stats/views.py:47
msgid "Unknown graphic set"
msgstr ""
-#: extensions/stats/views.py:61
+#: extensions/stats/views.py:70
msgid "Bad custom period"
msgstr ""
@@ -1977,14 +2405,10 @@ msgstr ""
msgid "Apply"
msgstr ""
-#: extensions/webmail/__init__.py:12
+#: extensions/webmail/__init__.py:13
msgid "Simple IMAP webmail"
msgstr ""
-#: extensions/webmail/__init__.py:35
-msgid "Webmail"
-msgstr ""
-
#: extensions/webmail/app_settings.py:14
msgid "Maximum attachment size"
msgstr ""
@@ -2113,99 +2537,94 @@ msgstr ""
msgid "User defined email signature"
msgstr ""
-#: extensions/webmail/exceptions.py:19
+#: extensions/webmail/exceptions.py:20
msgid "Server response"
msgstr ""
+#: extensions/webmail/exceptions.py:34
+msgid "Unknown action"
+msgstr ""
+
#: extensions/webmail/forms.py:9
msgid "Cci"
msgstr ""
-#: extensions/webmail/imaputils.py:237
+#: extensions/webmail/general_callbacks.py:14
+msgid "Webmail"
+msgstr ""
+
+#: extensions/webmail/imaputils.py:242
msgid "Failed to retrieve hierarchy delimiter"
msgstr ""
-#: extensions/webmail/imaputils.py:278
+#: extensions/webmail/imaputils.py:283
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr ""
-#: extensions/webmail/lib.py:358
+#: extensions/webmail/lib.py:371
msgid "wrote:"
msgstr ""
-#: extensions/webmail/lib.py:423 extensions/webmail/lib.py:427
+#: extensions/webmail/lib.py:437 extensions/webmail/lib.py:441
msgid "Original message"
msgstr ""
-#: extensions/webmail/views.py:86
+#: extensions/webmail/views.py:85
#, python-format
msgid "%(count)d message deleted"
msgid_plural "%(count)d messages deleted"
msgstr[0] ""
msgstr[1] ""
-#: extensions/webmail/views.py:103
-msgid "Unknown action"
-msgstr ""
-
-#: extensions/webmail/views.py:116 lib/email_listing.py:137
+#: extensions/webmail/views.py:116 lib/email_listing.py:138
msgid "Empty mailbox"
msgstr ""
-#: extensions/webmail/views.py:133
-#: extensions/webmail/templatetags/webextras.py:170
-msgid "Create a new mailbox"
-msgstr ""
-
-#: extensions/webmail/views.py:149
+#: extensions/webmail/views.py:142
msgid "Mailbox created"
msgstr ""
-#: extensions/webmail/views.py:165
+#: extensions/webmail/views.py:148
+#: extensions/webmail/templatetags/webmail_tags.py:175
+msgid "Create a new mailbox"
+msgstr ""
+
+#: extensions/webmail/views.py:167 extensions/webmail/views.py:202
msgid "Edit mailbox"
msgstr ""
-#: extensions/webmail/views.py:180
+#: extensions/webmail/views.py:183
msgid "Mailbox updated"
msgstr ""
-#: extensions/webmail/views.py:214 extensions/webmail/views.py:396
-#: extensions/webmail/views.py:505
-msgid "Bad request"
-msgstr ""
-
-#: extensions/webmail/views.py:246
+#: extensions/webmail/views.py:255
msgid "Failed to save attachment: "
msgstr ""
-#: extensions/webmail/views.py:249
+#: extensions/webmail/views.py:258
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr ""
-#: extensions/webmail/views.py:255
+#: extensions/webmail/views.py:264
#: extensions/webmail/templates/webmail/compose.html:15
#: extensions/webmail/templates/webmail/headers.html:4
msgid "Attachments"
msgstr ""
-#: extensions/webmail/views.py:271
+#: extensions/webmail/views.py:281
msgid "Bad query"
msgstr ""
-#: extensions/webmail/views.py:281
+#: extensions/webmail/views.py:293
msgid "Failed to remove attachment: "
msgstr ""
-#: extensions/webmail/views.py:286
+#: extensions/webmail/views.py:298
msgid "Unknown attachment"
msgstr ""
-#: extensions/webmail/views.py:501
-msgid "Undefined action"
-msgstr ""
-
#: extensions/webmail/templates/webmail/attachments.html:6
msgid "Attach"
msgstr ""
@@ -2237,111 +2656,123 @@ msgstr ""
msgid "Mailbox quota"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:19
+#: extensions/webmail/templatetags/webmail_tags.py:20
msgid "Reply"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:23
+#: extensions/webmail/templatetags/webmail_tags.py:24
msgid "Reply all"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:27
-#: userprefs/templates/userprefs/forward.html:2
-#: userprefs/templatetags/uprefs_extras.py:27
-msgid "Forward"
-msgstr ""
-
-#: extensions/webmail/templatetags/webextras.py:33
+#: extensions/webmail/templatetags/webmail_tags.py:34
msgid "Display options"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:36
+#: extensions/webmail/templatetags/webmail_tags.py:37
msgid "Activate links"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:38
+#: extensions/webmail/templatetags/webmail_tags.py:39
msgid "Disable links"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:47
+#: extensions/webmail/templatetags/webmail_tags.py:48
msgid "Close this message"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:60
+#: extensions/webmail/templatetags/webmail_tags.py:63
msgid "Back"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:64
+#: extensions/webmail/templatetags/webmail_tags.py:67
msgid "Send"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:76
+#: extensions/webmail/templatetags/webmail_tags.py:80
msgid "New message"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:85
+#: extensions/webmail/templatetags/webmail_tags.py:89
msgid "Mark messages"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:89
+#: extensions/webmail/templatetags/webmail_tags.py:93
msgid "As read"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:92
+#: extensions/webmail/templatetags/webmail_tags.py:96
msgid "As unread"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:101
+#: extensions/webmail/templatetags/webmail_tags.py:105
msgid "Compress folder"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:110
+#: extensions/webmail/templatetags/webmail_tags.py:114
msgid "Empty folder"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:178
+#: extensions/webmail/templatetags/webmail_tags.py:183
msgid "Edit the selected mailbox"
msgstr ""
-#: extensions/webmail/templatetags/webextras.py:183
+#: extensions/webmail/templatetags/webmail_tags.py:188
msgid "Remove the selected mailbox"
msgstr ""
-#: lib/exceptions.py:18
+#: lib/dbutils.py:36
+#, python-format
+msgid "Connection to database %s not configured"
+msgstr ""
+
+#: lib/exceptions.py:67
#, python-format
msgid "Permission denied: %s"
msgstr ""
-#: lib/exceptions.py:19
+#: lib/exceptions.py:68
msgid "Permission denied"
msgstr ""
-#: lib/formutils.py:157 lib/formutils.py:165
+#: lib/formutils.py:187 lib/formutils.py:195
msgid "Enter a valid domain name"
msgstr ""
-#: lib/permissions.py:27
+#: lib/formutils.py:244
+msgid "Yes"
+msgstr ""
+
+#: lib/formutils.py:244
+msgid "No"
+msgstr ""
+
+#: lib/ldaputils.py:111
+#, python-format
+msgid "Failed to update password: %s"
+msgstr ""
+
+#: lib/permissions.py:20
msgid "Simple user"
msgstr ""
-#: lib/permissions.py:29
+#: lib/permissions.py:22
msgid "Super administrator"
msgstr ""
-#: lib/permissions.py:31
+#: lib/permissions.py:28
msgid "Domain administrator"
msgstr ""
-#: lib/permissions.py:75
+#: lib/permissions.py:73
#, python-format
msgid "Failed to grant access (%s)"
msgstr ""
-#: lib/tables.py:241
+#: lib/tables.py:251
msgid "No entries to display"
msgstr ""
-#: lib/templatetags/libextras.py:108
+#: lib/templatetags/lib_tags.py:59
msgid "activate"
msgstr ""
@@ -2398,104 +2829,3 @@ msgstr ""
#: templates/registration/login.html:36
msgid "Log in"
msgstr ""
-
-#: userprefs/__init__.py:8
-msgid "User preferences"
-msgstr ""
-
-#: userprefs/__init__.py:10
-msgid "Per-user settings"
-msgstr ""
-
-#: userprefs/app_settings.py:22
-msgid "Prefered language"
-msgstr ""
-
-#: userprefs/app_settings.py:27
-msgid "Prefered language to display pages"
-msgstr ""
-
-#: userprefs/forms.py:14
-msgid "Old password"
-msgstr ""
-
-#: userprefs/forms.py:16
-msgid "New password"
-msgstr ""
-
-#: userprefs/forms.py:40
-msgid "Old password mismatchs"
-msgstr ""
-
-#: userprefs/forms.py:45
-msgid "Passwords mismatch"
-msgstr ""
-
-#: userprefs/forms.py:59
-msgid "Recipient(s)"
-msgstr ""
-
-#: userprefs/forms.py:62
-msgid "Indicate one or more recipients separated by a ','"
-msgstr ""
-
-#: userprefs/forms.py:65
-msgid "Keep local copies"
-msgstr ""
-
-#: userprefs/forms.py:67
-msgid "Forward messages and store copies into your local mailbox"
-msgstr ""
-
-#: userprefs/forms.py:84
-msgid ""
-"You can't define a forward to a local destination. Please ask your "
-"administrator to create an alias instead."
-msgstr ""
-
-#: userprefs/views.py:32
-msgid "You need a mailbox in order to define a forward"
-msgstr ""
-
-#: userprefs/views.py:56
-msgid "Forward updated"
-msgstr ""
-
-#: userprefs/views.py:98
-msgid "Profile updated"
-msgstr ""
-
-#: userprefs/views.py:127
-msgid "Preferences saved"
-msgstr ""
-
-#: userprefs/templates/userprefs/forward.html:2
-msgid "Automatically forward emails to another address"
-msgstr ""
-
-#: userprefs/templates/userprefs/index.html:2
-#: userprefs/templatetags/uprefs_extras.py:48
-msgid "Settings"
-msgstr ""
-
-#: userprefs/templates/userprefs/preferences.html:2
-#: userprefs/templatetags/uprefs_extras.py:21
-msgid "Preferences"
-msgstr ""
-
-#: userprefs/templates/userprefs/preferences.html:2
-msgid "Customize Modoboa"
-msgstr ""
-
-#: userprefs/templates/userprefs/profile.html:2
-#: userprefs/templatetags/uprefs_extras.py:17
-msgid "Profile"
-msgstr ""
-
-#: userprefs/templates/userprefs/profile.html:2
-msgid "Update your personal information"
-msgstr ""
-
-#: userprefs/templatetags/uprefs_extras.py:57
-msgid "Logout"
-msgstr ""
diff --git a/modoboa/locale/en/LC_MESSAGES/djangojs.po b/modoboa/locale/en/LC_MESSAGES/djangojs.po
index ae9ad0682..883870c39 100644
--- a/modoboa/locale/en/LC_MESSAGES/djangojs.po
+++ b/modoboa/locale/en/LC_MESSAGES/djangojs.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-05-22 17:39+0200\n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,96 +17,80 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: admin/static/admin/js/admin.js:26
+#: extensions/admin/static/admin/js/admin.js:32
msgid "Search"
msgstr ""
-#: admin/static/admin/js/admin.js:110
+#: extensions/admin/static/admin/js/admin.js:170
msgid "Do not delete domain directory"
msgstr ""
-#: admin/static/admin/js/admin.js:113
+#: extensions/admin/static/admin/js/admin.js:173
msgid "This operation will remove ALL data associated to this domain."
msgstr ""
-#: admin/static/admin/js/admin.js:114
+#: extensions/admin/static/admin/js/admin.js:174
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
msgstr ""
-#: admin/static/admin/js/admin.js:117
-msgid "Delete this domain?"
-msgstr ""
-
-#: admin/static/admin/js/admin.js:161
+#: extensions/admin/static/admin/js/admin.js:222
msgid "No domain administrator defined"
msgstr ""
-#: admin/static/admin/js/admin.js:238
+#: extensions/admin/static/admin/js/admin.js:291
msgid "Do not delete mailbox directory"
msgstr ""
-#: admin/static/admin/js/admin.js:243
-msgid "Delete this account?"
-msgstr ""
-
-#: admin/static/admin/js/admin.js:249
-msgid "Delete this list?"
-msgstr ""
-
-#: admin/static/admin/js/admin.js:254
-msgid "Delete this forward?"
-msgstr ""
-
-#: admin/static/admin/js/admin.js:259
-msgid "Delete this alias?"
-msgstr ""
-
-#: extensions/amavis/static/amavis/js/quarantine.js:126
+#: extensions/amavis/static/amavis/js/quarantine.js:180
msgid "Release this selection?"
msgstr ""
-#: extensions/amavis/static/amavis/js/quarantine.js:130
+#: extensions/amavis/static/amavis/js/quarantine.js:184
msgid "Delete this selection?"
msgstr ""
-#: extensions/amavis/static/amavis/js/quarantine.js:148
-#: extensions/amavis/static/amavis/js/selfservice.js:22
+#: extensions/amavis/static/amavis/js/quarantine.js:203
+#: extensions/amavis/static/amavis/js/selfservice.js:17
msgid "Release this message?"
msgstr ""
-#: extensions/amavis/static/amavis/js/quarantine.js:152
-#: extensions/amavis/static/amavis/js/selfservice.js:26
+#: extensions/amavis/static/amavis/js/quarantine.js:207
+#: extensions/amavis/static/amavis/js/selfservice.js:21
msgid "Delete this message?"
msgstr ""
-#: extensions/amavis/static/amavis/js/quarantine.js:169
+#: extensions/amavis/static/amavis/js/quarantine.js:224
msgid "View full headers"
msgstr ""
-#: extensions/amavis/static/amavis/js/quarantine.js:174
+#: extensions/amavis/static/amavis/js/quarantine.js:229
msgid "Hide full headers"
msgstr ""
+#: extensions/postfix_relay_domains/static/postfix_relay_domains/js/relay_domains.js:49
+msgid "Services updated"
+msgstr ""
+
#: extensions/sievefilters/static/sievefilters/js/lib.js:14
msgid "Remove this filter?"
msgstr ""
-#: extensions/sievefilters/static/sievefilters/js/lib.js:117
+#: extensions/sievefilters/static/sievefilters/js/lib.js:107
msgid "Save changes?"
msgstr ""
-#: extensions/sievefilters/static/sievefilters/js/lib.js:144
+#: extensions/sievefilters/static/sievefilters/js/lib.js:129
msgid "Remove filters set?"
msgstr ""
-#: extensions/sievefilters/static/sievefilters/js/lib.js:161
+#: extensions/sievefilters/static/sievefilters/js/lib.js:146
msgid "Activate this filters set?"
msgstr ""
-#: extensions/sievefilters/static/sievefilters/js/lib.js:169
-#: extensions/sievefilters/static/sievefilters/js/lib.js:224
+#: extensions/sievefilters/static/sievefilters/js/lib.js:154
+#: extensions/sievefilters/static/sievefilters/js/lib.js:203
msgid "active"
msgstr ""
@@ -114,19 +98,19 @@ msgstr ""
msgid "Search a domain"
msgstr ""
-#: extensions/webmail/static/webmail/js/webmail.js:485
+#: extensions/webmail/static/webmail/js/webmail.js:472
msgid "Remove the selected mailbox?"
msgstr ""
-#: extensions/webmail/static/webmail/js/webmail.js:499
+#: extensions/webmail/static/webmail/js/webmail.js:485
msgid "Mailbox removed"
msgstr ""
-#: extensions/webmail/static/webmail/js/webmail.js:823
+#: extensions/webmail/static/webmail/js/webmail.js:727
msgid "Message sent"
msgstr ""
-#: extensions/webmail/static/webmail/js/webmail.js:856
+#: extensions/webmail/static/webmail/js/webmail.js:854
msgid "Message deleted"
msgstr ""
@@ -144,16 +128,16 @@ msgid_plural "Moving %s messages"
msgstr[0] ""
msgstr[1] ""
-#: static/js/confirmation.js:48
+#: static/js/confirmation.js:50
msgid "Warning"
msgstr ""
-#: static/js/confirmation.js:57
+#: static/js/confirmation.js:59
msgid "Cancel"
msgstr ""
-#: static/js/confirmation.js:99 static/js/history.js:239
-msgid "Internal Error"
+#: static/js/global.js:314
+msgid "Internal error"
msgstr ""
#: static/js/searchbar.js:20
diff --git a/modoboa/locale/es/LC_MESSAGES/django.po b/modoboa/locale/es/LC_MESSAGES/django.po
index b29cc231a..28f859117 100644
--- a/modoboa/locale/es/LC_MESSAGES/django.po
+++ b/modoboa/locale/es/LC_MESSAGES/django.po
@@ -1,1094 +1,564 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Pedro Gracia , 2011-2013
# Pedro Gracia , 2010-2011
msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
-"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n"
-"POT-Creation-Date: 2013-09-20 22:30+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: 2013-10-01 09:56+0000\n"
"Last-Translator: Pedro Gracia \n"
-"Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/es/)\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/"
+"es/)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/__init__.py:9
-msgid "Administration console"
-msgstr "Consola de administración"
-
-#: admin/__init__.py:11
-msgid "Web based console to manage domains, accounts and aliases"
-msgstr "Consola web para administrar dominios, cuentas y alias"
-
-#: admin/__init__.py:16 admin/forms.py:211 admin/forms.py:652
-#: admin/views.py:94 admin/views.py:447
+#: core/__init__.py:52 core/__init__.py:53
+#: extensions/admin/forms/account.py:325 extensions/admin/forms/domain.py:251
+#: extensions/admin/views/domain.py:95 extensions/admin/views/identity.py:127
#: extensions/postfix_autoreply/app_settings.py:11
+#: extensions/postfix_relay_domains/forms.py:138
#: extensions/sievefilters/app_settings.py:50
#: extensions/stats/app_settings.py:11 extensions/webmail/app_settings.py:11
-#: userprefs/__init__.py:15
msgid "General"
msgstr "General"
-#: admin/app_settings.py:31
+#: core/app_settings.py:36
msgid "Authentication"
msgstr "Autenticación"
-#: admin/app_settings.py:34
+#: core/app_settings.py:39
msgid "Authentication type"
msgstr "Tipo de autenticación"
-#: admin/app_settings.py:35
+#: core/app_settings.py:40
msgid "Local"
msgstr "Local"
-#: admin/app_settings.py:38
+#: core/app_settings.py:43
msgid "The backend used for authentication"
msgstr "El sistema usado para autenticación"
-#: admin/app_settings.py:43
+#: core/app_settings.py:48
msgid "Default password scheme"
msgstr "Esquema de contraseña por defecto"
-#: admin/app_settings.py:50
+#: core/app_settings.py:51
+msgid "md5crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:52
+msgid "sha256 (weak)"
+msgstr ""
+
+#: core/app_settings.py:53
+msgid "md5 (weak)"
+msgstr ""
+
+#: core/app_settings.py:54
+msgid "crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:55
+msgid "plain (weak)"
+msgstr ""
+
+#: core/app_settings.py:57
msgid "Scheme used to crypt mailbox passwords"
msgstr "Esquema usado para cifrar las contraseñas del mailbox"
-#: admin/app_settings.py:54
+#: core/app_settings.py:61
+msgid "Rounds"
+msgstr ""
+
+#: core/app_settings.py:64
+msgid ""
+"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
+"between 1000 and 999999999, inclusive."
+msgstr ""
+
+#: core/app_settings.py:70
msgid "Secret key"
msgstr "Clave secreta"
-#: admin/app_settings.py:56
+#: core/app_settings.py:72
msgid "Key used to encrypt/decrypt passwords"
msgstr "Clave usada para cifrar/descifrar contraseñas"
-#: admin/app_settings.py:60
+#: core/app_settings.py:76
msgid "LDAP settings"
msgstr "Configuración de LDAP"
-#: admin/app_settings.py:63 extensions/sievefilters/app_settings.py:22
+#: core/app_settings.py:79 extensions/sievefilters/app_settings.py:22
#: extensions/webmail/app_settings.py:22 extensions/webmail/app_settings.py:42
msgid "Server address"
msgstr "Dirección del servidor"
-#: admin/app_settings.py:65
+#: core/app_settings.py:81
msgid "The IP address of the DNS name of the LDAP server"
msgstr "La dirección IP del servidor de nombres (DNS) del servidor LDAP"
-#: admin/app_settings.py:69 extensions/sievefilters/app_settings.py:28
+#: core/app_settings.py:85 extensions/sievefilters/app_settings.py:28
#: extensions/webmail/app_settings.py:34 extensions/webmail/app_settings.py:58
msgid "Server port"
msgstr "Puerto del servidor"
-#: admin/app_settings.py:71
+#: core/app_settings.py:87
msgid "The TCP port number used by the LDAP server"
msgstr "Número de puerto TCP usado por el servidor LDAP"
-#: admin/app_settings.py:75 extensions/webmail/app_settings.py:28
+#: core/app_settings.py:91 extensions/webmail/app_settings.py:28
msgid "Use a secured connection"
msgstr "Usa una conexión segura"
-#: admin/app_settings.py:77
+#: core/app_settings.py:93
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Usa una conexión SSL/TLS para acceder al servidor LDAP"
-#: admin/app_settings.py:81
+#: core/app_settings.py:97
msgid "Authentication method"
msgstr "Método de autenticación"
-#: admin/app_settings.py:82
+#: core/app_settings.py:98
msgid "Search and bind"
msgstr "Buscar y unir"
-#: admin/app_settings.py:83
+#: core/app_settings.py:99
msgid "Direct bind"
msgstr "Unión directa"
-#: admin/app_settings.py:85
+#: core/app_settings.py:101
msgid "Choose the authentication method to use"
msgstr "Elegir el método de autenticación a usar"
-#: admin/app_settings.py:90
+#: core/app_settings.py:106
msgid "Bind DN"
msgstr "Unir a DN"
-#: admin/app_settings.py:92
+#: core/app_settings.py:108
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
-msgstr "El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació para una unión anónima"
+msgstr ""
+"El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació "
+"para una unión anónima"
-#: admin/app_settings.py:97
+#: core/app_settings.py:113
msgid "Bind password"
msgstr "Unir contraseña"
-#: admin/app_settings.py:99
+#: core/app_settings.py:115
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
-msgstr "La contraseña a usar cuando nos unimos al servidor LDAP (con 'Unir a DN')"
+msgstr ""
+"La contraseña a usar cuando nos unimos al servidor LDAP (con 'Unir a DN')"
-#: admin/app_settings.py:105
-msgid "Search base"
+#: core/app_settings.py:121
+#, fuzzy
+msgid "Users search base"
msgstr "Buscar base"
-#: admin/app_settings.py:107
-msgid "The distinguished name of the search base"
+#: core/app_settings.py:123
+#, fuzzy
+msgid "The distinguished name of the search base used to find users"
msgstr "El nombre disgituido de la búsqueda base"
-#: admin/app_settings.py:112
+#: core/app_settings.py:128
msgid "Search filter"
msgstr "Filtro de búsqueda"
-#: admin/app_settings.py:114
+#: core/app_settings.py:130
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
-msgstr "Una cadena de filtro opcional (p.e. '(objectClass=person)'). Para que sea válido tiene que ser encerrado entre paréntesis."
+msgstr ""
+"Una cadena de filtro opcional (p.e. '(objectClass=person)'). Para que sea "
+"válido tiene que ser encerrado entre paréntesis."
-#: admin/app_settings.py:119
+#: core/app_settings.py:135
msgid "User DN template"
msgstr "Plantilla DN del usuario"
-#: admin/app_settings.py:121
+#: core/app_settings.py:137
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
-msgstr "La plantilla usada para contriunr un DN de usuario. Debería contener una cadena reemplazables (p.e. %(user)s)"
+msgstr ""
+"La plantilla usada para contriunr un DN de usuario. Debería contener una "
+"cadena reemplazables (p.e. %(user)s)"
-#: admin/app_settings.py:126
+#: core/app_settings.py:142
msgid "Password attribute"
msgstr "Atributo de la contraseña"
-#: admin/app_settings.py:128
+#: core/app_settings.py:144
msgid "The attribute used to store user passwords"
msgstr "El atributo usado para guardar las contraseñas del usuario"
-#: admin/app_settings.py:132
+#: core/app_settings.py:148
msgid "Active Directory"
msgstr "Directorio Activo"
-#: admin/app_settings.py:134
+#: core/app_settings.py:150
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "Decir si el servidor de LDAP es uno del tipo Directorio Activo"
-#: admin/app_settings.py:137 admin/templates/admin/editdomainform.html:25
-#: extensions/limits/app_settings.py:31 extensions/limits/forms.py:24
-#: extensions/limits/models.py:14 extensions/webmail/app_settings.py:101
-#: extensions/webmail/templates/webmail/folders.html:4
-msgid "Mailboxes"
-msgstr "Mailboxes"
+#: core/app_settings.py:154
+#, fuzzy
+msgid "Administrator groups"
+msgstr "Administradores"
-#: admin/app_settings.py:140
-msgid "Handle mailboxes on filesystem"
-msgstr "Manejar mailboxes en el sistema de fichero"
-
-#: admin/app_settings.py:142
+#: core/app_settings.py:157
msgid ""
-"Rename or remove mailboxes on the filesystem when they get renamed or "
-"removed within Modoboa"
-msgstr "Renombrar o eliminar mailboxes en el sistema de ficheros cuando sean renombrados o eliminados dentro de Modoboa"
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
+msgstr ""
-#: admin/app_settings.py:146
-msgid "Mailboxes ower"
-msgstr "Propietario de los mailboxes"
+#: core/app_settings.py:164
+#, fuzzy
+msgid "Groups search base"
+msgstr "Buscar base"
-#: admin/app_settings.py:148
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "Cuenta de UNIX que posee los mailboxes en el sistema de ficheros"
+#: core/app_settings.py:167
+#, fuzzy
+msgid "The distinguished name of the search base used to find groups"
+msgstr "El nombre disgituido de la búsqueda base"
-#: admin/app_settings.py:152
-msgid "Automatic account removal"
-msgstr "Elminar cuentas automáticamente"
-
-#: admin/app_settings.py:154
-msgid "When a mailbox is removed, also remove the associated account"
-msgstr "Cuando un mailbox es eliminado, también lo es su cuenta asociada."
-
-#: admin/app_settings.py:157 admin/templates/admin/editdomainform.html:7
+#: core/app_settings.py:172
+#: extensions/admin/templates/admin/editdomainform.html:7
msgid "Miscellaneous"
msgstr "Otros"
-#: admin/app_settings.py:160
+#: core/app_settings.py:175
msgid "Maximum log record age"
msgstr "Máximo tiempo de almacenamiento del log"
-#: admin/app_settings.py:162
+#: core/app_settings.py:177
msgid "The maximum age in days of a log record"
msgstr "El tiempo máximo de almacenamiento del log en días"
-#: admin/app_settings.py:166
+#: core/app_settings.py:181
msgid "Items per page"
msgstr "Items por página"
-#: admin/app_settings.py:168
+#: core/app_settings.py:183
msgid "Number of displayed items per page"
msgstr "Número de elementos mostrado por página"
-#: admin/app_settings.py:172
+#: core/app_settings.py:187
msgid "Default top redirection"
msgstr "Redirección principal por defecto"
-#: admin/app_settings.py:175
+#: core/app_settings.py:190
msgid "The default redirection used when no application is specified"
-msgstr "La redirección que será usada cuando ninguna aplicación sea especificada."
+msgstr ""
+"La redirección que será usada cuando ninguna aplicación sea especificada."
-#: admin/app_settings.py:213
+#: core/app_settings.py:218
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr "La clave debe tener 16, 24 o 32 bytes de longitud"
-#: admin/app_settings.py:222
+#: core/app_settings.py:227 extensions/postfix_autoreply/app_settings.py:53
msgid "Invalid syntax"
msgstr "Sintaxis inválida"
-#: admin/app_settings.py:245
+#: core/app_settings.py:233
+#, fuzzy
+msgid "Invalid rounds number"
+msgstr "Petición inválida"
+
+#: core/app_settings.py:256
msgid "This field is required"
msgstr "Este campo es obligatorio"
-#: admin/forms.py:20 admin/forms.py:497 admin/tables.py:18
-msgid "Alias(es)"
-msgstr "Alias"
+#: core/app_settings.py:317 extensions/amavis/app_settings.py:87
+#: extensions/amavis/templates/amavis/main_action_bar.html:29
+#: extensions/webmail/app_settings.py:73
+msgid "Display"
+msgstr "Mostrar"
-#: admin/forms.py:22
-msgid ""
-"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
-"add a new input."
-msgstr "Alia(s) de este dominio. Indique únicamente un nombre por entrada, presione ENTER para añadir una nueva entrada."
+#: core/app_settings.py:321
+msgid "Prefered language"
+msgstr "Idioma preferido"
-#: admin/forms.py:59
-msgid "An alias with this name already exists"
-msgstr "Ya existe un alias con este nombre"
+#: core/app_settings.py:326
+msgid "Prefered language to display pages"
+msgstr "Idioma preferido para mostrar las páginas"
-#: admin/forms.py:73
-msgid "A domain with this name already exists"
-msgstr "Ya existe un dominio con este nombre"
-
-#: admin/forms.py:146
-msgid "Create a domain administrator"
-msgstr "Crear un administrador del dominio"
-
-#: admin/forms.py:148
-msgid "Automatically create an administrator for this domain"
-msgstr "Automáticamente crear una administrador para este dominio"
-
-#: admin/forms.py:152 admin/tables.py:12 admin/tables.py:47
-#: admin/templates/admin/editdomainform.html:13
-#: admin/templates/admin/identities_table.html:5
-#: admin/templates/admin/information.html:8
-#: extensions/sievefilters/forms.py:53
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
-msgid "Name"
-msgstr "Nombre"
-
-#: admin/forms.py:154
-msgid ""
-"The administrator's name. Don't include the domain's name here, it will be "
-"automatically appended."
-msgstr "El nombre del administrador. No incluya el nombre del dominio aquí, será añadido automáticamente."
-
-#: admin/forms.py:160
-msgid "Create aliases"
-msgstr "Crear alias"
-
-#: admin/forms.py:162
-msgid "Automatically create standard aliases for this domain"
-msgstr "Automáticamente crear alias estándar para este dominio"
-
-#: admin/forms.py:175
-msgid "Invalid format"
-msgstr "Formato inválido"
-
-#: admin/forms.py:187
-#, python-format
-msgid "User '%s' already exists"
-msgstr "El usuario '%s' ya existe"
-
-#: admin/forms.py:235
-msgid "Email address"
-msgstr "Dirección de email"
-
-#: admin/forms.py:236
-msgid ""
-"The distribution list address. Use the '*' character to create a 'catchall' "
-"address (ex: *@domain.tld)."
-msgstr "La dirección de la lista de distribución. Use el carácter '*' para crear una dirección 'catchall' (recogerlos todos, ej. *@domain.tld)"
-
-#: admin/forms.py:239
-msgid "Recipients"
-msgstr "Destinatarios"
-
-#: admin/forms.py:240
-msgid ""
-"Mailbox(es) this alias will point to. Indicate only one address per input, "
-"press ENTER to add a new input."
-msgstr "Mailbox(es) a los que apuntará este alias. Indique únicamente una dirección por entrada, presione ENTER para añadir una nueva entrada."
-
-#: admin/forms.py:278 admin/forms.py:542 admin/forms.py:568
-msgid "Domain does not exist"
-msgstr "El dominio no existe"
-
-#: admin/forms.py:280
-msgid "You don't have access to this domain"
-msgstr "No tienes acceso a este dominio"
-
-#: admin/forms.py:300
-msgid "Invalid mailbox"
-msgstr "mailbox inválido"
-
-#: admin/forms.py:316 admin/models.py:1202
-#, python-format
-msgid "Local recipient %s not found"
-msgstr "Destinatario local %s no encontrado"
-
-#: admin/forms.py:318 admin/forms.py:324
-#, python-format
-msgid "Recipient %s already present"
-msgstr "EL destinatario %s ya existe"
-
-#: admin/forms.py:329
-msgid "No recipient defined"
-msgstr "No ha puesto destinatario"
-
-#: admin/forms.py:343 extensions/webmail/forms.py:19
-msgid "Select a file"
-msgstr "Seleccione un fichero"
-
-#: admin/forms.py:345 admin/forms.py:373
-msgid "Separator"
-msgstr "Separador"
-
-#: admin/forms.py:348
-msgid "Continue on error"
-msgstr "Continúe en error."
-
-#: admin/forms.py:349
-msgid "Don't treat duplicated objects as error"
-msgstr "No tratar objetos duplicados como error"
-
-#: admin/forms.py:364
-msgid "Crypt passwords"
-msgstr "Contraseñas cifradas"
-
-#: admin/forms.py:365
-msgid "Check this option if passwords contained in your file are not crypted"
-msgstr "Marque esta opción si las contraseñas que contiene su fichero no están cifradas"
-
-#: admin/forms.py:371
-msgid "File name"
-msgstr "Nombre del fichero"
-
-#: admin/forms.py:403 admin/templates/admin/editdomainform.html:13
-#: auth/forms.py:7
+#: core/forms.py:10 extensions/admin/forms/account.py:19
+#: extensions/admin/templates/admin/editdomainform.html:13
msgid "Username"
msgstr "Nombre de usuario"
-#: admin/forms.py:405
-msgid "Role"
-msgstr "Rol"
-
-#: admin/forms.py:406 admin/forms.py:433
-msgid "Choose"
-msgstr "Elija"
-
-#: admin/forms.py:407
-msgid "What level of permission this user will have"
-msgstr "Qué nivel de permiso tendrá este usuario"
-
-#: admin/forms.py:409 auth/forms.py:11
+#: core/forms.py:14 extensions/admin/forms/account.py:30
msgid "Password"
msgstr "Contraseña"
-#: admin/forms.py:411 userprefs/forms.py:18
+#: core/forms.py:25
+msgid "Old password"
+msgstr "Contraseña anterior"
+
+#: core/forms.py:29
+msgid "New password"
+msgstr "Nueva contraseña"
+
+#: core/forms.py:33 extensions/admin/forms/account.py:33
msgid "Confirmation"
msgstr "Confirmación"
-#: admin/forms.py:413
-msgid "Enter the same password as above, for verification."
-msgstr "Introduzca la misma contraseña que arriba, para verificación."
+#: core/forms.py:56
+msgid "Old password mismatchs"
+msgstr "La contraseña no concuerda con la anterior"
-#: admin/forms.py:424
-msgid "Enabled"
-msgstr "Activado"
+#: core/forms.py:61
+msgid "Passwords mismatch"
+msgstr "Las contraseñas no coinciden"
-#: admin/forms.py:471
-msgid "The two password fields didn't match."
-msgstr "Las contraseñas no concuerdan"
+#: core/models.py:49
+#, fuzzy
+msgid "password"
+msgstr "Contraseña"
-#: admin/forms.py:477
-msgid "You can't disable your own account"
-msgstr "No puede deshabilitar su propia cuenta"
+#: core/models.py:51
+#, fuzzy
+msgid "last login"
+msgstr "Última entrada"
-#: admin/forms.py:488
-msgid "E-mail"
-msgstr "Email"
-
-#: admin/forms.py:490
-msgid "Quota"
-msgstr "Cuota"
-
-#: admin/forms.py:492
-msgid ""
-"Quota in MB for this mailbox. Define a custom value or use domain's default "
-"one. Leave empty to define an unlimited value (not allowed for domain "
-"administrators)."
-msgstr "Cuota en MB para este mailbox. Defina un valor por defecto o use el del dominio por defecto. Déjelo vacío para definir un valor ilimitado (no permitido para los administradores del dominio)"
-
-#: admin/forms.py:499
-msgid ""
-"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
-"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
-"*@domain.tld)."
-msgstr "Alias de este mailbox. Indique sólo una dirección por entrada, presione ENTER para añadir una nueva entrada. Use el carácter '*' para crear una dirección 'catchall' (recogerlos todos, ej. *@domain.tld)"
-
-#: admin/forms.py:550
-#, python-format
-msgid "Mailbox %s already exists"
-msgstr "El mailbox %s ya existe"
-
-#: admin/forms.py:610
-msgid "Domain(s)"
-msgstr "Dominio(s)"
-
-#: admin/forms.py:612
-msgid "Domain(s) that user administrates"
-msgstr "Dominio(s) que el usuario administra"
-
-#: admin/forms.py:654 admin/views.py:450
-msgid "Mail"
-msgstr "Correo"
-
-#: admin/forms.py:656
-msgid "Permissions"
-msgstr "Permisos"
-
-#: admin/models.py:80
+#: core/models.py:80
msgid "You can't delete your own account"
msgstr "No puede eliminar su propia cuenta"
-#: admin/models.py:161
+#: core/models.py:116
msgid "Failed to update password: LDAP module not installed"
msgstr "Falló al actualizar la contraseña: módulo LDAP no instalado"
-#: admin/models.py:167
-#, python-format
-msgid "Failed to update password: %s"
-msgstr "Falló la actualización de la contraseña: %s"
-
-#: admin/models.py:194
+#: core/models.py:169
msgid "account"
msgstr "cuenta"
-#: admin/models.py:496 admin/models.py:733 admin/models.py:795
+#: core/models.py:320 extensions/admin/models/domain.py:135
+#: 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"
-#: admin/models.py:500
+#: core/models.py:324
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"
-#: admin/models.py:506
+#: core/models.py:330
#, 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"
-#: admin/models.py:510
+#: core/models.py:334
#, 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'"
+msgstr ""
+"Los campos de nombre de usuario y de email no deben ser diferentes para '%s'"
-#: admin/models.py:534
-#, python-format
-msgid "Account import failed (%s): domain does not exist"
-msgstr "Falló la importación de la cuenta (%s): el dominio no existe"
-
-#: admin/models.py:624 admin/models.py:746
-msgid "name"
-msgstr "nombre"
-
-#: admin/models.py:625
-msgid "The domain name"
-msgstr "Nombre del dominio"
-
-#: admin/models.py:627
-msgid "Default quota in MB applied to mailboxes"
-msgstr "Cuota por defecto en MB que se aplicará a los mailboxes"
-
-#: admin/models.py:630 admin/models.py:753 admin/models.py:1045
-#: admin/models.py:1217 extensions/postfix_autoreply/models.py:27
+#: core/models.py:403 extensions/admin/models/alias.py:33
+#: extensions/admin/models/domain.py:32
+#: extensions/admin/models/domain_alias.py:17
+#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_relay_domains/models.py:85
+#: extensions/postfix_relay_domains/models.py:167
msgid "enabled"
msgstr "activado"
-#: admin/models.py:631
-msgid "Check to activate this domain"
-msgstr "Marcar para activar este dominio"
-
-#: admin/models.py:747
-msgid "The alias name"
-msgstr "Nombre del alias"
-
-#: admin/models.py:749
-msgid "target"
-msgstr "objetivo"
-
-#: admin/models.py:750
-msgid "The domain this alias points to"
-msgstr "El dominio al que este alias apunta"
-
-#: admin/models.py:754 admin/models.py:1046
-msgid "Check to activate this alias"
-msgstr "Marcar para activar este alias"
-
-#: admin/models.py:801
-#, python-format
-msgid "Unknown domain %s"
-msgstr "Dominio desconocido %s"
-
-#: admin/models.py:818 admin/models.py:1031
-msgid "address"
-msgstr "dirección"
-
-#: admin/models.py:819
-msgid "Mailbox address (without the @domain.tld part)"
-msgstr "Dirección del mailbox (sin la parte @dominio.tld)"
-
-#: admin/models.py:877
-#, python-format
-msgid "Failed to retrieve mailbox location (%s)"
-msgstr "Fallo al recuperar la localización del mailbox (%s)"
-
-#: admin/models.py:921
-#, 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)"
-
-#: admin/models.py:926
-msgid "A quota is required"
-msgstr "Una cuota es obligatoria"
-
-#: admin/models.py:1032
-msgid ""
-"The alias address (without the domain part). For a 'catch-all' address, just"
-" enter an * character."
-msgstr "La dirección del alias (sin la parte del dominio). Para una dirección que lo recoja todo, ponga un asterisco (*)."
-
-#: admin/models.py:1036
-msgid "mailboxes"
-msgstr "mailboxes"
-
-#: admin/models.py:1037
-msgid "The mailboxes this alias points to"
-msgstr "Los 'mailboxes' de este alias apuntan a"
-
-#: admin/models.py:1041
-msgid "The aliases this alias points to"
-msgstr "Los alias de este alias apuntan a"
-
-#: admin/models.py:1089
-msgid "distribution list"
-msgstr "Lista de distribución"
-
-#: admin/models.py:1090
-msgid "forward"
-msgstr "reenvío"
-
-#: admin/models.py:1091
-msgid "alias"
-msgstr "alias"
-
-#: admin/models.py:1170
-#, python-format
-msgid "Invalid line: %s"
-msgstr "Línea inválida: %s"
-
-#: admin/models.py:1175
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "El dominio '%s' no existe"
-
-#: admin/models.py:1218
+#: core/models.py:404
msgid "Check to enable this extension"
msgstr "Marcar para activar esta extensión"
-#: admin/models.py:1318
+#: core/models.py:474
msgid "added"
msgstr "añadido"
-#: admin/models.py:1321
+#: core/models.py:477
msgid "modified"
msgstr "modificado"
-#: admin/models.py:1324
-msgid "deleted"
-msgstr "eliminado"
-
-#: admin/models.py:1326
+#: core/models.py:479 core/models.py:503
#, 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"
-#: admin/tables.py:14
-msgid "Edit domain"
-msgstr "Editar el dominio"
+#: core/models.py:505
+msgid "deleted"
+msgstr "eliminado"
-#: admin/tables.py:21 admin/templates/admin/identities_table.html:8
-#: admin/templates/admin/listing.html:17 extensions/sievefilters/views.py:83
-#: extensions/sievefilters/templates/sievefilters/filter.html:17
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
-#: extensions/webmail/templatetags/webextras.py:97
-msgid "Actions"
-msgstr "Acciones"
+#: core/tables.py:8 core/templates/core/information.html:8
+#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:182
+#: extensions/admin/templates/admin/domains_table.html:5
+#: extensions/admin/templates/admin/editdomainform.html:13
+#: extensions/admin/templates/admin/identities_table.html:5
+#: extensions/sievefilters/forms.py:60
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
+msgid "Name"
+msgstr "Nombre"
-#: admin/tables.py:48
+#: core/tables.py:10 extensions/admin/tables.py:11
msgid "Version"
msgstr "Versión"
-#: admin/tables.py:49
+#: core/tables.py:12 extensions/admin/tables.py:13
msgid "Description"
msgstr "Descripción"
-#: admin/views.py:88
-msgid "New domain"
-msgstr "Nuevo dominio"
-
-#: admin/views.py:89 admin/views.py:98 admin/views.py:228 admin/views.py:444
-#: admin/views.py:451 extensions/sievefilters/views.py:129
-#: extensions/sievefilters/views.py:198 extensions/webmail/views.py:136
-msgid "Create"
-msgstr "Crear"
-
-#: admin/views.py:95 admin/views.py:448
-msgid "Next"
-msgstr "Siguiente"
-
-#: admin/views.py:97
-msgid "Options"
-msgstr "Opciones"
-
-#: admin/views.py:99 admin/views.py:452
-msgid "Previous"
-msgstr "Anterior"
-
-#: admin/views.py:112
-msgid "Domain created"
-msgstr "Dominio creado"
-
-#: admin/views.py:146 admin/views.py:285 admin/views.py:498
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
-#: extensions/sievefilters/views.py:148 extensions/webmail/views.py:168
-#: userprefs/templates/userprefs/forward.html:8
-#: userprefs/templates/userprefs/profile.html:8
-msgid "Update"
-msgstr "Actualizar"
-
-#: admin/views.py:162
-msgid "Domain modified"
-msgstr "Dominio modificado"
-
-#: admin/views.py:189
-msgid "You can't delete your own domain"
-msgstr "No puedo eliminar su propio dominio"
-
-#: admin/views.py:192
-msgid "Domain deleted"
-msgid_plural "Domains deleted"
-msgstr[0] "Dominio eliminado"
-msgstr[1] "Dominios eliminados"
-
-#: admin/views.py:207
-msgid "Alias with this name already exists"
-msgstr "Ya existe un alias con este nombre"
-
-#: admin/views.py:250
-msgid "New distribution list"
-msgstr "Nueva lista de distribución"
-
-#: admin/views.py:251
-msgid "Distribution list created"
-msgstr "Lista de distribución creada"
-
-#: admin/views.py:260
-msgid "New alias"
-msgstr "Nuevo alias"
-
-#: admin/views.py:261
-msgid "Alias created"
-msgstr "Alias creado"
-
-#: admin/views.py:270
-msgid "New forward"
-msgstr "Nuevo reenvío"
-
-#: admin/views.py:271
-msgid "Forward created"
-msgstr "Reenvío creado"
-
-#: admin/views.py:289
-msgid "Distribution list modified"
-msgstr "Lista de distribución modificada"
-
-#: admin/views.py:291
-msgid "Forward modified"
-msgstr "Reenvío modificado"
-
-#: admin/views.py:293
-msgid "Alias modified"
-msgstr "Alias modificado"
-
-#: admin/views.py:402 admin/views.py:545 admin/views.py:550
-#: extensions/amavis/views.py:204 extensions/amavis/views.py:210
-#: extensions/amavis/views.py:243 extensions/amavis/views.py:247
-#: extensions/amavis/views.py:249 extensions/webmail/views.py:41
-#: extensions/webmail/views.py:68 extensions/webmail/views.py:81
-#: extensions/webmail/views.py:98 extensions/webmail/views.py:114
-#: extensions/webmail/views.py:200 extensions/webmail/views.py:427
-#: extensions/webmail/views.py:438 extensions/webmail/views.py:465
-#: lib/formutils.py:32 lib/formutils.py:37
-msgid "Invalid request"
-msgstr "Petición inválida"
-
-#: admin/views.py:441
-msgid "New account"
-msgstr "Nueva cuenta"
-
-#: admin/views.py:465
-msgid "Account created"
-msgstr "Cuenta creada"
-
-#: admin/views.py:513
-msgid "Account updated"
-msgstr "Cuenta actualizada"
-
-#: admin/views.py:535
-msgid "Account deleted"
-msgid_plural "Accounts deleted"
-msgstr[0] "Cuenta eliminada"
-msgstr[1] "Cuentas eliminadas"
-
-#: admin/views.py:590
-msgid "Parameters saved"
-msgstr "Parámetros guardados"
-
-#: admin/views.py:636
-msgid "Modifications applied."
-msgstr "Modificaciones aplicadas."
-
-#: admin/views.py:743
-#, python-format
-msgid "Object already exists: %s"
-msgstr "El objeto ya existe: %s"
-
-#: admin/views.py:745
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d objetos importados con éxito"
-
-#: admin/views.py:763
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-"account; loginname; password; first name; last name; enabled; group; address[, domain, ...] \n"
-"alias; address; enabled; internal recipient \n"
-"forward; address; enabled; external recipient \n"
-"dlist; address; enabled; recipient; recipient; ... \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
-"\n"
-"You can use a different character as separator.
\n"
-msgstr "Importe un fichero CSV dónde las líneas respetan uno de los siguientes formatos:\n\naccount; loginname; password; first name; last name; enabled; group; address[, domain, ...] ⏎\nalias; address; enabled; internal recipient ⏎\nforward; address; enabled; external recipient ⏎\ndlist; address; enabled; recipient; recipient; ... ⏎\n ⏎\nEl primer elemento de cada línea es obligatorio y debe ser igual al de los valores previos.
\n\nPuede usar un carácter diferente como separador.
\n"
-
-#: admin/views.py:775
-msgid "Import identities"
-msgstr "Importar identidades"
-
-#: admin/views.py:776 admin/views.py:846 admin/templatetags/admin_extras.py:87
-#: admin/templatetags/admin_extras.py:144
-msgid "Import"
-msgstr "Importar"
-
-#: admin/views.py:806
-msgid "Export identities"
-msgstr "Exportar identidades"
-
-#: admin/views.py:807 admin/views.py:863 admin/templatetags/admin_extras.py:93
-#: admin/templatetags/admin_extras.py:150
-msgid "Export"
-msgstr "Exportar"
-
-#: admin/views.py:835
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-" domain; name; quota; enabled \n"
-" domainalias; name; targeted domain; enabled \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
-"You can use a different character as separator.
\n"
-msgstr "Provea un fichero CSV dónde las líneas respetan uno de los siguientes formatos:⏎ ⏎ dominio; nombre; cuota; activado ⏎ aliasdeldominio; nombre; dominio objetivo; activado ⏎ ⏎ El primer elemento de cada línea es obligatorio y debe ser igual a uno de los valores anteriores.
⏎ Puede usar un carácter diferente como separador.
⏎\n"
-
-#: admin/views.py:845
-msgid "Import domains"
-msgstr "Importar dominios"
-
-#: admin/views.py:862
-msgid "Export domains"
-msgstr "Exportar dominios"
-
-#: admin/templates/admin/domain_general_form.html:3
-#: admin/templates/admin/mailform.html:3
-#: admin/templates/admin/newdomainform.html:3
-msgid "MB"
-msgstr "MB"
-
-#: admin/templates/admin/domains.html:2 admin/templatetags/admin_extras.py:23
-#: extensions/limits/app_settings.py:19 extensions/limits/forms.py:16
-#: extensions/limits/models.py:12
-msgid "Domains"
-msgstr "Dominios"
-
-#: admin/templates/admin/editdomainform.html:4
-msgid "Administrators"
-msgstr "Administradores"
-
-#: admin/templates/admin/editdomainform.html:19
-msgid "No domain administrator defined"
-msgstr "No hay un dominio de administrador definido "
-
-#: admin/templates/admin/editdomainform.html:22
-msgid "Creation date"
-msgstr "Fecha de creación"
-
-#: admin/templates/admin/editdomainform.html:23
-msgid "Last modification date"
-msgstr "Última fecha de modificación"
-
-#: admin/templates/admin/editdomainform.html:24
-#: extensions/limits/app_settings.py:25 extensions/limits/forms.py:20
-#: extensions/limits/models.py:13
-msgid "Domain aliases"
-msgstr "Alias del dominio"
-
-#: admin/templates/admin/editdomainform.html:26
-#: extensions/limits/app_settings.py:37 extensions/limits/forms.py:28
-#: extensions/limits/models.py:15
-msgid "Mailbox aliases"
-msgstr "Alias del mailbox"
-
-#: admin/templates/admin/extensions.html:2
-#: admin/templatetags/admin_extras.py:51
+#: core/templates/core/extensions.html:2 core/templatetags/core_tags.py:48
msgid "Extensions"
msgstr "Extensiones"
-#: admin/templates/admin/extensions.html:2
+#: core/templates/core/extensions.html:2
msgid "Choose the extension(s) to use"
msgstr "Elija las extensión(es) a usar"
-#: admin/templates/admin/extensions.html:6
-#: admin/templates/admin/parameters.html:8
-#: userprefs/templates/userprefs/preferences.html:8
+#: core/templates/core/extensions.html:6 core/templates/core/parameters.html:7
+#: core/templates/core/user_preferences.html:8
msgid "Save"
msgstr "Guardar"
-#: admin/templates/admin/identities.html:2
-#: admin/templatetags/admin_extras.py:31
-msgid "Identities"
-msgstr "Identidades"
-
-#: admin/templates/admin/identities_table.html:6
-msgid "Fullname/Recipient"
-msgstr "Nombre completo/Destinatario"
-
-#: admin/templates/admin/identities_table.html:7
-msgid "Tags"
-msgstr "Tags"
-
-#: admin/templates/admin/importform.html:5
-#: admin/templatetags/admin_extras.py:290
-msgid "Help"
-msgstr "Ayuda"
-
-#: admin/templates/admin/importform.html:12
-msgid "Importing..."
-msgstr "Importando..."
-
-#: admin/templates/admin/information.html:2
-#: admin/templatetags/admin_extras.py:56
+#: core/templates/core/information.html:2 core/templatetags/core_tags.py:53
msgid "Information"
msgstr "Información"
-#: admin/templates/admin/information.html:2
+#: core/templates/core/information.html:2
msgid "Various information about Modoboa"
msgstr "Información varia sobre Modoboa"
-#: admin/templates/admin/information.html:3
+#: core/templates/core/information.html:3
msgid "is currently in use."
msgstr "está actualmente en uso."
-#: admin/templates/admin/information.html:5
+#: core/templates/core/information.html:5
msgid "Active users"
msgstr "Usuarios activos"
-#: admin/templates/admin/information.html:9
+#: core/templates/core/information.html:9
msgid "Group name"
msgstr "Nombre del grupo"
-#: admin/templates/admin/information.html:10
+#: core/templates/core/information.html:10
msgid "Last login"
msgstr "Última entrada"
-#: admin/templates/admin/listing.html:14
-#: extensions/stats/templates/stats/index.html:28
-msgid "Filter"
-msgstr "FIltro"
-
-#: admin/templates/admin/logs.html:2 admin/templatetags/admin_extras.py:60
+#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:57
msgid "Logs"
msgstr "Logs"
-#: admin/templates/admin/logs.html:2
+#: core/templates/core/logs.html:2
msgid "Previously on Modoboa..."
msgstr "Anteriormente en Modoboa..."
-#: admin/templates/admin/logs.html:6 extensions/amavis/sql_listing.py:25
-#: extensions/webmail/lib.py:38 extensions/webmail/lib.py:411
+#: core/templates/core/logs.html:6 extensions/amavis/sql_listing.py:46
+#: extensions/webmail/lib.py:48 extensions/webmail/lib.py:425
msgid "Date"
msgstr "Fecha"
-#: admin/templates/admin/logs.html:7
+#: core/templates/core/logs.html:7
msgid "Level"
msgstr "Nivel"
-#: admin/templates/admin/logs.html:8
+#: core/templates/core/logs.html:8
msgid "Logger"
msgstr "Logger"
-#: admin/templates/admin/logs.html:9
+#: core/templates/core/logs.html:9
msgid "Message"
msgstr "Mensaje"
-#: admin/templates/admin/mailboxes_raw.html:3
-msgid "Choose a value"
-msgstr "Elija un valor"
-
-#: admin/templates/admin/mailform.html:3
-msgid "Use domain default value"
-msgstr "Usar el valor por defecto del dominio"
-
-#: admin/templates/admin/parameters.html:3
-#: admin/templatetags/admin_extras.py:65
+#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:62
msgid "Parameters"
msgstr "Parámetros"
-#: admin/templates/admin/parameters.html:3
+#: core/templates/core/parameters.html:2
msgid "Configure Modoboa"
msgstr "Configurar Modoboa"
-#: admin/templates/admin/quotas.html:5
-msgid "Address"
-msgstr "Dirección"
-
-#: admin/templates/admin/quotas.html:6
-msgid "Value"
-msgstr "Valor"
-
-#: admin/templates/admin/quotas.html:7
-msgid "Limit"
-msgstr "Límite"
-
-#: admin/templates/admin/quotas.html:8
-#, python-format
-msgid "Usage (%%)"
-msgstr "Uso (%%)"
-
-#: admin/templates/admin/searchform.html:6
-msgid "Search"
-msgstr "Buscar"
-
-#: admin/templates/admin/settings_header.html:3
+#: core/templates/core/settings_header.html:3
msgid "Modoboa settings"
msgstr "Configuración de Modoboa"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_m"
-msgstr "Activado"
+#: core/templates/core/user_index.html:2 core/templatetags/core_tags.py:81
+msgid "Settings"
+msgstr "Configuración"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_f"
-msgstr "Activado"
+#: core/templates/core/user_preferences.html:2
+#: core/templatetags/core_tags.py:108
+msgid "Preferences"
+msgstr "Preferencias"
-#: admin/templatetags/admin_extras.py:36
+#: core/templates/core/user_preferences.html:2
+msgid "Customize Modoboa"
+msgstr "Adaptar Modoboa"
+
+#: core/templates/core/user_profile.html:2 core/templatetags/core_tags.py:104
+msgid "Profile"
+msgstr "Perfil"
+
+#: core/templates/core/user_profile.html:2
+msgid "Update your personal information"
+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:107 extensions/admin/views/domain.py:165
+#: extensions/admin/views/identity.py:197
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
+#: extensions/postfix_relay_domains/views.py:63
+#: extensions/sievefilters/views.py:163 extensions/webmail/views.py:170
+#: extensions/webmail/views.py:205
+msgid "Update"
+msgstr "Actualizar"
+
+#: core/templatetags/core_tags.py:21
msgid "Modoboa"
msgstr "Modoboa"
-#: admin/templatetags/admin_extras.py:81
-msgid "Add domain"
-msgstr "Añadir dominio"
+#: core/templatetags/core_tags.py:90
+msgid "Logout"
+msgstr "Salir"
-#: admin/templatetags/admin_extras.py:110
-msgid "List identities"
-msgstr "Listar identidades"
+#: core/views/admin.py:47
+msgid "Parameters saved"
+msgstr "Parámetros guardados"
-#: admin/templatetags/admin_extras.py:115
-msgid "List quotas"
-msgstr "Listar cuotas"
+#: core/views/admin.py:90
+msgid "Modifications applied."
+msgstr "Modificaciones aplicadas."
-#: admin/templatetags/admin_extras.py:120
-msgid "Add account"
-msgstr "Añadir cuenta"
-
-#: admin/templatetags/admin_extras.py:126
-msgid "Add alias"
-msgstr "Añadir alias"
-
-#: admin/templatetags/admin_extras.py:132
-msgid "Add forward"
-msgstr "Añadir reenvío"
-
-#: admin/templatetags/admin_extras.py:138
-msgid "Add distribution list"
-msgstr "Añadir lista de distribución"
-
-#: admin/templatetags/admin_extras.py:171
-msgid "View the domain's identities"
-msgstr "Ver las identidades del dominio"
-
-#: admin/templatetags/admin_extras.py:178
-#: admin/templatetags/admin_extras.py:194
-#: admin/templatetags/admin_extras.py:201
-#, python-format
-msgid "Delete %s?"
-msgstr "¿Eliminar %s?"
-
-#: admin/templatetags/admin_extras.py:223
-msgid "Remove this permission"
-msgstr "Eliminar este permiso"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "Yes"
-msgstr "Sí"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "No"
-msgstr "No "
-
-#: auth/views.py:32
+#: core/views/auth.py:30
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Usuario '%s' ha entrado con éxito"
-#: auth/views.py:44
+#: core/views/auth.py:43
msgid "Your username and password didn't match. Please try again."
-msgstr "Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de nuevo."
+msgstr ""
+"Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de "
+"nuevo."
-#: auth/views.py:67
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' logged out"
msgstr "Usuario '%s' ha salido"
+#: core/views/user.py:35
+msgid "Profile updated"
+msgstr "Perfil actualizado"
+
+#: core/views/user.py:58
+msgid "Preferences saved"
+msgstr "Preferencias guardadas"
+
#: demo/__init__.py:17
msgid "Test messages"
msgstr "Mensajes de test"
@@ -1101,7 +571,7 @@ msgstr "Enviar virus"
msgid "Send spam"
msgstr "Enviar correo basura"
-#: demo/views.py:17 demo/views.py:41
+#: demo/views.py:18 demo/views.py:43
msgid "Message sent"
msgstr "Mensaje enviado"
@@ -1110,37 +580,880 @@ msgid ""
"\n"
"Welcome to the online demo! \n"
"Warning: the demo's concent is resetted every two hours.
\n"
-"To try the demo, the following users are available (username/password ):
\n"
+"To try the demo, the following users are available (username/password"
+"i>):
\n"
"\n"
" A super administrator : admin/password \n"
" A domain administrator : admin@demo.local/admin \n"
" A simple user : user@demo.local/user \n"
" \n"
"Please report any issue or give any suggestion to \n"
-" the mailing list .
\n"
-msgstr "\n¡Bienvendio a la demo! \nAviso: el contenido de la demo será inicializado cada dos horas.
\nPara probar la demo están disponibles los siguientes usuarios (usuario/contraseña ):
\n\n Un super administrador : admin/password \n Un administrador de dominio : admin@demo.local/admin \n Un usuario normal : user@demo.local/user \n \nPor favor, informe de cualquier incidencia o denos cualquier sugerencia a \n la lista de correo .
\n"
+" the "
+"mailing list .\n"
+msgstr ""
+"\n"
+"¡Bienvendio a la demo! \n"
+"Aviso: el contenido de la demo será inicializado cada dos horas."
+"p>\n"
+"
Para probar la demo están disponibles los siguientes usuarios (usuario/"
+"contraseña ):
\n"
+"\n"
+" Un super administrador : admin/password \n"
+" Un administrador de dominio : admin@demo.local/admin \n"
+" Un usuario normal : user@demo.local/user \n"
+" \n"
+"Por favor, informe de cualquier incidencia o denos cualquier sugerencia "
+"a \n"
+" la lista "
+"de correo .
\n"
-#: extensions/amavis/__init__.py:22
+#: extensions/admin/__init__.py:48
+msgid "Administration console"
+msgstr "Consola de administración"
+
+#: extensions/admin/__init__.py:50
+msgid "Web based console to manage domains, accounts and aliases"
+msgstr "Consola web para administrar dominios, cuentas y alias"
+
+#: extensions/admin/__init__.py:55
+#, fuzzy
+msgid "Administration"
+msgstr "Administradores"
+
+#: extensions/admin/__init__.py:79
+#: extensions/admin/templates/admin/domains.html:2
+#: extensions/limits/app_settings.py:19 extensions/limits/models.py:17
+msgid "Domains"
+msgstr "Dominios"
+
+#: extensions/admin/__init__.py:85
+#: extensions/admin/templates/admin/identities.html:2
+msgid "Identities"
+msgstr "Identidades"
+
+#: extensions/admin/__init__.py:100
+#: extensions/admin/templates/admin/forward.html:2
+#: extensions/webmail/templatetags/webmail_tags.py:28
+msgid "Forward"
+msgstr "Siguiente"
+
+#: extensions/admin/__init__.py:163
+#, python-format
+msgid "Account import failed (%s): domain does not exist"
+msgstr "Falló la importación de la cuenta (%s): el dominio no existe"
+
+#: extensions/admin/app_settings.py:11
+#: extensions/admin/templates/admin/editdomainform.html:25
+#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
+#: extensions/webmail/app_settings.py:101
+#: extensions/webmail/templates/webmail/folders.html:4
+msgid "Mailboxes"
+msgstr "Mailboxes"
+
+#: extensions/admin/app_settings.py:14
+msgid "Handle mailboxes on filesystem"
+msgstr "Manejar mailboxes en el sistema de fichero"
+
+#: extensions/admin/app_settings.py:16
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Renombrar o eliminar mailboxes en el sistema de ficheros cuando sean "
+"renombrados o eliminados dentro de Modoboa"
+
+#: extensions/admin/app_settings.py:20
+msgid "Mailboxes ower"
+msgstr "Propietario de los mailboxes"
+
+#: extensions/admin/app_settings.py:22
+msgid "The UNIX account who owns mailboxes on the filesystem"
+msgstr "Cuenta de UNIX que posee los mailboxes en el sistema de ficheros"
+
+#: extensions/admin/app_settings.py:26
+#, fuzzy
+msgid "Default domain quota"
+msgstr "Límites por defecto"
+
+#: extensions/admin/app_settings.py:29
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+
+#: extensions/admin/app_settings.py:36
+msgid "Automatic account removal"
+msgstr "Elminar cuentas automáticamente"
+
+#: extensions/admin/app_settings.py:38
+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:64 extensions/admin/forms/account.py:177
+#: extensions/admin/forms/domain.py:56
+msgid "Must be a positive integer"
+msgstr ""
+
+#: extensions/admin/lib.py:28
+#, fuzzy
+msgid "A mailbox is required"
+msgstr "Una cuota es obligatoria"
+
+#: extensions/admin/forms/account.py:21
+#, fuzzy
+msgid "The user's name. Must be a valid e-mail address for simple users."
+msgstr "El usuario normal '%s' debe tener una dirección de email válida"
+
+#: extensions/admin/forms/account.py:25
+msgid "Role"
+msgstr "Rol"
+
+#: extensions/admin/forms/account.py:26 extensions/admin/forms/account.py:54
+msgid "Choose"
+msgstr "Elija"
+
+#: extensions/admin/forms/account.py:27
+msgid "What level of permission this user will have"
+msgstr "Qué nivel de permiso tendrá este usuario"
+
+#: extensions/admin/forms/account.py:35
+msgid "Enter the same password as above, for verification."
+msgstr "Introduzca la misma contraseña que arriba, para verificación."
+
+#: extensions/admin/forms/account.py:46
+msgid "Enabled"
+msgstr "Activado"
+
+#: extensions/admin/forms/account.py:93
+msgid "The two password fields didn't match."
+msgstr "Las contraseñas no concuerdan"
+
+#: extensions/admin/forms/account.py:99
+msgid "You can't disable your own account"
+msgstr "No puede deshabilitar su propia cuenta"
+
+#: extensions/admin/forms/account.py:110
+msgid "E-mail"
+msgstr "Email"
+
+#: extensions/admin/forms/account.py:112 extensions/admin/forms/domain.py:17
+msgid "Quota"
+msgstr "Cuota"
+
+#: extensions/admin/forms/account.py:114
+msgid ""
+"Quota in MB for this mailbox. Define a custom value or use domain's default "
+"one. Leave empty to define an unlimited value (not allowed for domain "
+"administrators)."
+msgstr ""
+"Cuota en MB para este mailbox. Defina un valor por defecto o use el del "
+"dominio por defecto. Déjelo vacío para definir un valor ilimitado (no "
+"permitido para los administradores del dominio)"
+
+#: extensions/admin/forms/account.py:122 extensions/admin/forms/domain.py:26
+#: extensions/admin/templates/admin/domains_table.html:6
+#: extensions/postfix_relay_domains/forms.py:12
+msgid "Alias(es)"
+msgstr "Alias"
+
+#: extensions/admin/forms/account.py:125
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+"*@domain.tld)."
+msgstr ""
+"Alias de este mailbox. Indique sólo una dirección por entrada, presione "
+"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:186 extensions/admin/forms/account.py:216
+#: extensions/admin/forms/alias.py:65
+msgid "Domain does not exist"
+msgstr "El dominio no existe"
+
+#: extensions/admin/forms/account.py:195
+#, python-format
+msgid "Mailbox %s already exists"
+msgstr "El mailbox %s ya existe"
+
+#: extensions/admin/forms/account.py:283
+msgid "Domain(s)"
+msgstr "Dominio(s)"
+
+#: extensions/admin/forms/account.py:285
+msgid "Domain(s) that user administrates"
+msgstr "Dominio(s) que el usuario administra"
+
+#: extensions/admin/forms/account.py:327
+#: extensions/admin/views/identity.py:130
+msgid "Mail"
+msgstr "Correo"
+
+#: extensions/admin/forms/account.py:329
+msgid "Permissions"
+msgstr "Permisos"
+
+#: extensions/admin/forms/alias.py:16
+msgid "Email address"
+msgstr "Dirección de email"
+
+#: extensions/admin/forms/alias.py:18
+msgid ""
+"The distribution list address. Use the '*' character to create a 'catchall' "
+"address (ex: *@domain.tld)."
+msgstr ""
+"La dirección de la lista de distribución. Use el carácter '*' para crear una "
+"dirección 'catchall' (recogerlos todos, ej. *@domain.tld)"
+
+#: extensions/admin/forms/alias.py:23
+msgid "Recipients"
+msgstr "Destinatarios"
+
+#: extensions/admin/forms/alias.py:25
+msgid ""
+"Mailbox(es) this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Mailbox(es) a los que apuntará este alias. Indique únicamente una dirección "
+"por entrada, presione ENTER para añadir una nueva entrada."
+
+#: extensions/admin/forms/alias.py:68
+msgid "You don't have access to this domain"
+msgstr "No tienes acceso a este dominio"
+
+#: extensions/admin/forms/alias.py:90
+msgid "Invalid mailbox"
+msgstr "mailbox inválido"
+
+#: extensions/admin/forms/alias.py:108 extensions/admin/models/alias.py:182
+#, python-format
+msgid "Local recipient %s not found"
+msgstr "Destinatario local %s no encontrado"
+
+#: extensions/admin/forms/alias.py:112 extensions/admin/forms/alias.py:120
+#, python-format
+msgid "Recipient %s already present"
+msgstr "EL destinatario %s ya existe"
+
+#: extensions/admin/forms/alias.py:126
+msgid "No recipient defined"
+msgstr "No ha puesto destinatario"
+
+#: extensions/admin/forms/domain.py:20
+#, 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
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+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/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/postfix_relay_domains/forms.py:49
+#: extensions/postfix_relay_domains/forms.py:71
+#, fuzzy
+msgid "domain"
+msgstr "Dominios"
+
+#: extensions/admin/forms/domain.py:176
+msgid "Create a domain administrator"
+msgstr "Crear un administrador del dominio"
+
+#: extensions/admin/forms/domain.py:178
+msgid "Automatically create an administrator for this domain"
+msgstr "Automáticamente crear una administrador para este dominio"
+
+#: extensions/admin/forms/domain.py:185
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"El nombre del administrador. No incluya el nombre del dominio aquí, será "
+"añadido automáticamente."
+
+#: extensions/admin/forms/domain.py:193
+msgid "Create aliases"
+msgstr "Crear alias"
+
+#: extensions/admin/forms/domain.py:195
+msgid "Automatically create standard aliases for this domain"
+msgstr "Automáticamente crear alias estándar para este dominio"
+
+#: extensions/admin/forms/domain.py:211
+msgid "Invalid format"
+msgstr "Formato inválido"
+
+#: extensions/admin/forms/domain.py:225
+#, python-format
+msgid "User '%s' already exists"
+msgstr "El usuario '%s' ya existe"
+
+#: extensions/admin/forms/export.py:7
+msgid "File name"
+msgstr "Nombre del fichero"
+
+#: extensions/admin/forms/export.py:10 extensions/admin/forms/import_.py:8
+msgid "Separator"
+msgstr "Separador"
+
+#: extensions/admin/forms/forward.py:12
+msgid "Recipient(s)"
+msgstr "Destinatario(s)"
+
+#: extensions/admin/forms/forward.py:15
+msgid "Indicate one or more recipients separated by a ','"
+msgstr "Indique uno o más destinatarios separados por una ','"
+
+#: extensions/admin/forms/forward.py:18
+msgid "Keep local copies"
+msgstr "Mantener copias locales"
+
+#: extensions/admin/forms/forward.py:20
+msgid "Forward messages and store copies into your local mailbox"
+msgstr "Reenvía mensajes y guarda copias en su mailbox local"
+
+#: extensions/admin/forms/forward.py:38
+msgid ""
+"You can't define a forward to a local destination. Please ask your "
+"administrator to create an alias instead."
+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:26
+msgid "Select a file"
+msgstr "Seleccione un fichero"
+
+#: extensions/admin/forms/import_.py:11
+msgid "Continue on error"
+msgstr "Continúe en error."
+
+#: extensions/admin/forms/import_.py:12
+msgid "Don't treat duplicated objects as error"
+msgstr "No tratar objetos duplicados como error"
+
+#: extensions/admin/forms/import_.py:27
+msgid "Crypt passwords"
+msgstr "Contraseñas cifradas"
+
+#: extensions/admin/forms/import_.py:28
+msgid "Check this option if passwords contained in your file are not crypted"
+msgstr ""
+"Marque esta opción si las contraseñas que contiene su fichero no están "
+"cifradas"
+
+#: extensions/admin/models/alias.py:16 extensions/admin/models/mailbox.py:51
+msgid "address"
+msgstr "dirección"
+
+#: extensions/admin/models/alias.py:18
+msgid ""
+"The alias address (without the domain part). For a 'catch-all' address, just "
+"enter an * character."
+msgstr ""
+"La dirección del alias (sin la parte del dominio). Para una dirección que lo "
+"recoja todo, ponga un asterisco (*)."
+
+#: extensions/admin/models/alias.py:24
+msgid "mailboxes"
+msgstr "mailboxes"
+
+#: extensions/admin/models/alias.py:25
+msgid "The mailboxes this alias points to"
+msgstr "Los 'mailboxes' de este alias apuntan a"
+
+#: extensions/admin/models/alias.py:29
+msgid "The aliases this alias points to"
+msgstr "Los alias de este alias apuntan a"
+
+#: extensions/admin/models/alias.py:34
+#: extensions/admin/models/domain_alias.py:18
+#: extensions/postfix_relay_domains/models.py:168
+msgid "Check to activate this alias"
+msgstr "Marcar para activar este alias"
+
+#: extensions/admin/models/alias.py:79
+msgid "distribution list"
+msgstr "Lista de distribución"
+
+#: extensions/admin/models/alias.py:80
+msgid "forward"
+msgstr "reenvío"
+
+#: extensions/admin/models/alias.py:81
+msgid "alias"
+msgstr "alias"
+
+#: extensions/admin/models/alias.py:150
+#, python-format
+msgid "Invalid line: %s"
+msgstr "Línea inválida: %s"
+
+#: extensions/admin/models/alias.py:155
+#, python-format
+msgid "Domain '%s' does not exist"
+msgstr "El dominio '%s' no existe"
+
+#: extensions/admin/models/domain.py:28
+#: extensions/admin/models/domain_alias.py:10
+#: extensions/postfix_relay_domains/models.py:58
+#: extensions/postfix_relay_domains/models.py:76
+#: extensions/postfix_relay_domains/models.py:159
+msgid "name"
+msgstr "nombre"
+
+#: extensions/admin/models/domain.py:29
+#: extensions/postfix_relay_domains/models.py:77
+msgid "The domain name"
+msgstr "Nombre del dominio"
+
+#: extensions/admin/models/domain.py:33
+#: extensions/postfix_relay_domains/models.py:86
+msgid "Check to activate this domain"
+msgstr "Marcar para activar este dominio"
+
+#: extensions/admin/models/domain.py:61
+#, fuzzy
+msgid "Domain"
+msgstr "Dominios"
+
+#: extensions/admin/models/domain.py:140
+#, python-format
+msgid "Invalid quota value for domain '%s'"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:11
+#: extensions/postfix_relay_domains/models.py:160
+msgid "The alias name"
+msgstr "Nombre del alias"
+
+#: extensions/admin/models/domain_alias.py:13
+#: extensions/postfix_relay_domains/models.py:163
+msgid "target"
+msgstr "objetivo"
+
+#: extensions/admin/models/domain_alias.py:14
+msgid "The domain this alias points to"
+msgstr "El dominio al que este alias apunta"
+
+#: extensions/admin/models/domain_alias.py:46
+#, fuzzy, python-format
+msgid "A domain %s already exists"
+msgstr "El mailbox %s ya existe"
+
+#: extensions/admin/models/domain_alias.py:51
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Dominio desconocido %s"
+
+#: extensions/admin/models/mailbox.py:52
+msgid "Mailbox address (without the @domain.tld part)"
+msgstr "Dirección del mailbox (sin la parte @dominio.tld)"
+
+#: extensions/admin/models/mailbox.py:113
+#, python-format
+msgid "Failed to retrieve mailbox location (%s)"
+msgstr "Fallo al recuperar la localización del mailbox (%s)"
+
+#: extensions/admin/models/mailbox.py:173
+#, 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:178
+msgid "A quota is required"
+msgstr "Una cuota es obligatoria"
+
+#: extensions/admin/templates/admin/domain_general_form.html:3
+#: extensions/admin/templates/admin/mailform.html:3
+#: extensions/admin/templates/admin/newdomainform.html:3
+msgid "MB"
+msgstr "MB"
+
+#: extensions/admin/templates/admin/domain_options_form.html:5
+#, fuzzy
+msgid "You can't create a new domain administrator"
+msgstr "Crear un administrador del dominio"
+
+#: extensions/admin/templates/admin/domains_table.html:7
+#: extensions/admin/templates/admin/identities_table.html:7
+msgid "Tags"
+msgstr "Tags"
+
+#: extensions/admin/templates/admin/domains_table.html:8
+#: extensions/admin/templates/admin/identities_table.html:8
+#: extensions/admin/templates/admin/listing.html:17
+#: extensions/sievefilters/views.py:93
+#: extensions/sievefilters/templates/sievefilters/filter.html:17
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
+#: extensions/webmail/templatetags/webmail_tags.py:101
+msgid "Actions"
+msgstr "Acciones"
+
+#: extensions/admin/templates/admin/editdomainform.html:4
+msgid "Administrators"
+msgstr "Administradores"
+
+#: extensions/admin/templates/admin/editdomainform.html:19
+msgid "No domain administrator defined"
+msgstr "No hay un dominio de administrador definido "
+
+#: extensions/admin/templates/admin/editdomainform.html:22
+msgid "Creation date"
+msgstr "Fecha de creación"
+
+#: extensions/admin/templates/admin/editdomainform.html:23
+msgid "Last modification date"
+msgstr "Última fecha de modificación"
+
+#: extensions/admin/templates/admin/editdomainform.html:24
+#: extensions/limits/app_settings.py:25 extensions/limits/models.py:20
+msgid "Domain aliases"
+msgstr "Alias del dominio"
+
+#: extensions/admin/templates/admin/editdomainform.html:26
+#: extensions/limits/app_settings.py:37 extensions/limits/models.py:25
+msgid "Mailbox aliases"
+msgstr "Alias del mailbox"
+
+#: extensions/admin/templates/admin/forward.html:2
+msgid "Automatically forward emails to another address"
+msgstr "Reenvía automáticamente los correos a otra dirección"
+
+#: extensions/admin/templates/admin/identities_table.html:6
+msgid "Fullname/Recipient"
+msgstr "Nombre completo/Destinatario"
+
+#: extensions/admin/templates/admin/importform.html:5
+msgid "Help"
+msgstr "Ayuda"
+
+#: extensions/admin/templates/admin/importform.html:12
+msgid "Importing..."
+msgstr "Importando..."
+
+#: extensions/admin/templates/admin/listing.html:14
+#: extensions/stats/templates/stats/index.html:28
+msgid "Filter"
+msgstr "FIltro"
+
+#: extensions/admin/templates/admin/mailboxes_raw.html:3
+msgid "Choose a value"
+msgstr "Elija un valor"
+
+#: extensions/admin/templates/admin/mailform.html:3
+msgid "Use domain default value"
+msgstr "Usar el valor por defecto del dominio"
+
+#: extensions/admin/templates/admin/quotas.html:5
+msgid "Address"
+msgstr "Dirección"
+
+#: extensions/admin/templates/admin/quotas.html:6
+msgid "Value"
+msgstr "Valor"
+
+#: extensions/admin/templates/admin/quotas.html:7
+msgid "Limit"
+msgstr "Límite"
+
+#: extensions/admin/templates/admin/quotas.html:8
+#, python-format
+msgid "Usage (%%)"
+msgstr "Uso (%%)"
+
+#: extensions/admin/templates/admin/searchform.html:6
+msgid "Search"
+msgstr "Buscar"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_m"
+msgstr "Activado"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_f"
+msgstr "Activado"
+
+#: extensions/admin/templatetags/admin_tags.py:33
+msgid "Add domain"
+msgstr "Añadir dominio"
+
+#: extensions/admin/templatetags/admin_tags.py:42
+#: extensions/admin/templatetags/admin_tags.py:106
+#: extensions/admin/views/import.py:51 extensions/admin/views/import.py:166
+msgid "Import"
+msgstr "Importar"
+
+#: extensions/admin/templatetags/admin_tags.py:48
+#: extensions/admin/templatetags/admin_tags.py:112
+#: extensions/admin/views/export.py:38 extensions/admin/views/export.py:64
+msgid "Export"
+msgstr "Exportar"
+
+#: extensions/admin/templatetags/admin_tags.py:72
+msgid "List identities"
+msgstr "Listar identidades"
+
+#: extensions/admin/templatetags/admin_tags.py:77
+msgid "List quotas"
+msgstr "Listar cuotas"
+
+#: extensions/admin/templatetags/admin_tags.py:82
+msgid "Add account"
+msgstr "Añadir cuenta"
+
+#: extensions/admin/templatetags/admin_tags.py:88
+msgid "Add alias"
+msgstr "Añadir alias"
+
+#: extensions/admin/templatetags/admin_tags.py:94
+msgid "Add forward"
+msgstr "Añadir reenvío"
+
+#: extensions/admin/templatetags/admin_tags.py:100
+msgid "Add distribution list"
+msgstr "Añadir lista de distribución"
+
+#: extensions/admin/templatetags/admin_tags.py:133
+msgid "View the domain's identities"
+msgstr "Ver las identidades del dominio"
+
+#: extensions/admin/templatetags/admin_tags.py:143
+#: extensions/admin/templatetags/admin_tags.py:162
+#: extensions/admin/templatetags/admin_tags.py:169
+#: extensions/postfix_relay_domains/general_callbacks.py:84
+#, python-format
+msgid "Delete %s?"
+msgstr "¿Eliminar %s?"
+
+#: extensions/admin/templatetags/admin_tags.py:239
+msgid "Remove this permission"
+msgstr "Eliminar este permiso"
+
+#: extensions/admin/views/alias.py:25
+msgid "Alias with this name already exists"
+msgstr "Ya existe un alias con este nombre"
+
+#: extensions/admin/views/alias.py:49 extensions/admin/views/domain.py:100
+#: extensions/admin/views/domain.py:129 extensions/admin/views/identity.py:131
+#: extensions/admin/views/identity.py:158
+#: extensions/postfix_relay_domains/views.py:32
+#: extensions/sievefilters/views.py:141 extensions/sievefilters/views.py:230
+#: extensions/webmail/views.py:151
+msgid "Create"
+msgstr "Crear"
+
+#: extensions/admin/views/alias.py:61
+msgid "New distribution list"
+msgstr "Nueva lista de distribución"
+
+#: extensions/admin/views/alias.py:62
+msgid "Distribution list created"
+msgstr "Lista de distribución creada"
+
+#: extensions/admin/views/alias.py:71
+msgid "New alias"
+msgstr "Nuevo alias"
+
+#: extensions/admin/views/alias.py:72
+msgid "Alias created"
+msgstr "Alias creado"
+
+#: extensions/admin/views/alias.py:81
+msgid "New forward"
+msgstr "Nuevo reenvío"
+
+#: extensions/admin/views/alias.py:82
+msgid "Forward created"
+msgstr "Reenvío creado"
+
+#: extensions/admin/views/alias.py:95
+msgid "Distribution list modified"
+msgstr "Lista de distribución modificada"
+
+#: extensions/admin/views/alias.py:97
+msgid "Forward modified"
+msgstr "Reenvío modificado"
+
+#: extensions/admin/views/alias.py:99
+msgid "Alias modified"
+msgstr "Alias modificado"
+
+#: extensions/admin/views/domain.py:96 extensions/admin/views/identity.py:128
+msgid "Next"
+msgstr "Siguiente"
+
+#: extensions/admin/views/domain.py:99
+msgid "Options"
+msgstr "Opciones"
+
+#: extensions/admin/views/domain.py:101 extensions/admin/views/identity.py:132
+msgid "Previous"
+msgstr "Anterior"
+
+#: extensions/admin/views/domain.py:123
+msgid "Domain created"
+msgstr "Dominio creado"
+
+#: extensions/admin/views/domain.py:128
+msgid "New domain"
+msgstr "Nuevo dominio"
+
+#: extensions/admin/views/domain.py:155
+msgid "Domain modified"
+msgstr "Dominio modificado"
+
+#: extensions/admin/views/domain.py:189
+msgid "You can't delete your own domain"
+msgstr "No puedo eliminar su propio dominio"
+
+#: extensions/admin/views/domain.py:192
+msgid "Domain deleted"
+msgid_plural "Domains deleted"
+msgstr[0] "Dominio eliminado"
+msgstr[1] "Dominios eliminados"
+
+#: extensions/admin/views/export.py:37
+msgid "Export identities"
+msgstr "Exportar identidades"
+
+#: extensions/admin/views/export.py:63
+msgid "Export domains"
+msgstr "Exportar dominios"
+
+#: extensions/admin/views/identity.py:103
+#: extensions/admin/views/identity.py:224
+#: extensions/admin/views/identity.py:229 extensions/amavis/views.py:179
+#: extensions/amavis/views.py:185 extensions/amavis/views.py:220
+#: extensions/amavis/views.py:224 extensions/amavis/views.py:226
+#: extensions/webmail/views.py:47 extensions/webmail/views.py:65
+#: extensions/webmail/views.py:79 extensions/webmail/views.py:97
+#: extensions/webmail/views.py:114 extensions/webmail/views.py:200
+#: extensions/webmail/views.py:223 extensions/webmail/views.py:396
+#: extensions/webmail/views.py:430 extensions/webmail/views.py:443
+#: extensions/webmail/views.py:472 extensions/webmail/views.py:513
+#: lib/formutils.py:44 lib/formutils.py:49
+msgid "Invalid request"
+msgstr "Petición inválida"
+
+#: extensions/admin/views/identity.py:149
+msgid "Account created"
+msgstr "Cuenta creada"
+
+#: extensions/admin/views/identity.py:155
+msgid "New account"
+msgstr "Nueva cuenta"
+
+#: extensions/admin/views/identity.py:190
+msgid "Account updated"
+msgstr "Cuenta actualizada"
+
+#: extensions/admin/views/identity.py:214
+msgid "Account deleted"
+msgid_plural "Accounts deleted"
+msgstr[0] "Cuenta eliminada"
+msgstr[1] "Cuentas eliminadas"
+
+#: extensions/admin/views/import.py:39
+#, fuzzy, python-format
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Provea un fichero CSV dónde las líneas respetan uno de los siguientes "
+"formatos:⏎ ⏎ dominio; nombre; cuota; activado ⏎ "
+"aliasdeldominio; nombre; dominio objetivo; activado ⏎ "
+"ul>⏎ El primer elemento de cada línea es obligatorio y debe ser igual a "
+"uno de los valores anteriores.
⏎ Puede usar un carácter diferente como "
+"separador.
⏎\n"
+
+#: extensions/admin/views/import.py:50
+msgid "Import domains"
+msgstr "Importar dominios"
+
+#: extensions/admin/views/import.py:129
+#, python-format
+msgid "Object already exists: %s"
+msgstr "El objeto ya existe: %s"
+
+#: extensions/admin/views/import.py:133
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d objetos importados con éxito"
+
+#: extensions/admin/views/import.py:153
+#, fuzzy
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Importe un fichero CSV dónde las líneas respetan uno de los siguientes "
+"formatos:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address[, domain, ...] ⏎\n"
+"alias; address; enabled; internal recipient ⏎\n"
+"forward; address; enabled; external recipient ⏎\n"
+"dlist; address; enabled; recipient; recipient; ... ⏎\n"
+" ⏎\n"
+"El primer elemento de cada línea es obligatorio y debe ser igual al de "
+"los valores previos.
\n"
+"\n"
+"Puede usar un carácter diferente como separador.
\n"
+
+#: extensions/admin/views/import.py:165
+msgid "Import identities"
+msgstr "Importar identidades"
+
+#: extensions/admin/views/user.py:37
+msgid "Forward updated"
+msgstr "Reenvío actualizado"
+
+#: extensions/amavis/__init__.py:21
msgid "Simple amavis management frontend"
msgstr "Panel de gestión sencilla para amavis"
-#: extensions/amavis/__init__.py:45 extensions/amavis/__init__.py:61
+#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:17
msgid "Quarantine"
msgstr "Cuarentena"
-#: extensions/amavis/__init__.py:129
-msgid "pending requests"
-msgstr "Peticiones pendientes"
-
-#: extensions/amavis/__init__.py:149
-#, python-format
-msgid "%d pending requests"
-msgstr "%d peticiones pendientes"
-
-#: extensions/amavis/__init__.py:161
-msgid "Content filter"
-msgstr "Filtro de contenido"
-
#: extensions/amavis/app_settings.py:11
msgid "Quarantine settings"
msgstr "Configuración de la cuarentena"
@@ -1151,7 +1464,9 @@ msgstr "Tiempo máximo del mensaje"
#: extensions/amavis/app_settings.py:16
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"
+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
msgid "Messages releasing"
@@ -1163,7 +1478,9 @@ msgstr "Eliminar mensajes publicados"
#: extensions/amavis/app_settings.py:24
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"
+msgstr ""
+"Eliminar los mensajes marcados como publicados cuando se haga limpieza de la "
+"base de datos"
#: extensions/amavis/app_settings.py:28
msgid "Amavis connection mode"
@@ -1229,11 +1546,6 @@ msgstr "Notificaciones al remitente"
msgid "The e-mail address used to send notitications"
msgstr "La dirección de correo usada para enviar notificaciones"
-#: extensions/amavis/app_settings.py:87 extensions/webmail/app_settings.py:73
-#: userprefs/app_settings.py:18
-msgid "Display"
-msgstr "Mostrar"
-
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
msgid "Number of displayed emails per page"
msgstr "Número de emails mostrados por página"
@@ -1242,7 +1554,20 @@ msgstr "Número de emails mostrados por página"
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/lib.py:53
+#: extensions/amavis/general_callbacks.py:81
+msgid "pending requests"
+msgstr "Peticiones pendientes"
+
+#: extensions/amavis/general_callbacks.py:124
+#, fuzzy
+msgid "Pending requests"
+msgstr "Peticiones pendientes"
+
+#: extensions/amavis/general_callbacks.py:134
+msgid "Content filter"
+msgstr "Filtro de contenido"
+
+#: extensions/amavis/lib.py:57
#, python-format
msgid "Connection to amavis failed: %s"
msgstr "La conexión con amavis falló: %s"
@@ -1252,12 +1577,12 @@ msgid "Virus filter"
msgstr "Filtro de virus"
#: extensions/amavis/models.py:94 extensions/amavis/models.py:102
-#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:281
+#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:290
msgid "yes"
msgstr "sí"
#: extensions/amavis/models.py:95 extensions/amavis/models.py:103
-#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:285
+#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:294
msgid "no"
msgstr "no"
@@ -1269,7 +1594,9 @@ msgstr "Por defecto"
#: extensions/amavis/models.py:98
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
-msgstr "Saltarse la comprobación de virus o no. Elija 'Por defecto' para usar la configuración global."
+msgstr ""
+"Saltarse la comprobación de virus o no. Elija 'Por defecto' para usar la "
+"configuración global."
#: extensions/amavis/models.py:101
msgid "Spam filter"
@@ -1277,7 +1604,9 @@ msgstr "Filtro de spam"
#: extensions/amavis/models.py:106
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
-msgstr "Saltarse la comprobación de spam o no. Elija 'Por defecto' para usar la configuración global."
+msgstr ""
+"Saltarse la comprobación de spam o no. Elija 'Por defecto' para usar la "
+"configuración global."
#: extensions/amavis/models.py:109
msgid "Banned filter"
@@ -1285,7 +1614,9 @@ msgstr "Filtro de expulsados"
#: extensions/amavis/models.py:114
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
-msgstr "Saltarse la comprobación de expulsados o no. Elija 'Por defecto' para usar la configuración global."
+msgstr ""
+"Saltarse la comprobación de expulsados o no. Elija 'Por defecto' para usar "
+"la configuración global."
#: extensions/amavis/models.py:144
msgid "Spam marker"
@@ -1293,57 +1624,64 @@ msgstr "Marcador de spam"
#: extensions/amavis/models.py:146
msgid ""
-"Modify spam subject using the specified text. Choose 'default' to use global"
-" settings."
-msgstr "Modificar el asunto del spam usando el texto especificado. Elija 'por defecto' para usar la configuración global."
+"Modify spam subject using the specified text. Choose 'default' to use global "
+"settings."
+msgstr ""
+"Modificar el asunto del spam usando el texto especificado. Elija 'por "
+"defecto' para usar la configuración global."
-#: extensions/amavis/sql_listing.py:23 extensions/webmail/lib.py:37
-msgid "From"
-msgstr "Desde"
+#: extensions/amavis/sql_listing.py:31
+msgid "Score"
+msgstr ""
-#: extensions/amavis/sql_listing.py:24 extensions/sievefilters/forms.py:68
-#: extensions/webmail/forms.py:10 extensions/webmail/lib.py:36
-#: extensions/webmail/lib.py:409 templates/common/email_searchbar.html:6
-msgid "Subject"
-msgstr "Tema"
-
-#: extensions/amavis/sql_listing.py:26
-#: extensions/amavis/templatetags/amextras.py:102
+#: extensions/amavis/sql_listing.py:35
+#: extensions/amavis/templatetags/amavis_tags.py:75
#: extensions/webmail/forms.py:7
msgid "To"
msgstr "A"
-#: extensions/amavis/views.py:43
+#: extensions/amavis/sql_listing.py:38
+#: extensions/postfix_autoreply/forms.py:11 extensions/webmail/lib.py:44
+msgid "From"
+msgstr "Desde"
+
+#: extensions/amavis/sql_listing.py:42 extensions/sievefilters/forms.py:77
+#: extensions/webmail/forms.py:11 extensions/webmail/lib.py:40
+#: extensions/webmail/lib.py:423 templates/common/email_searchbar.html:6
+msgid "Subject"
+msgstr "Tema"
+
+#: extensions/amavis/views.py:27
msgid "Empty quarantine"
msgstr "Vaciar cuarentena"
-#: extensions/amavis/views.py:211
+#: extensions/amavis/views.py:186
msgid "Message deleted"
msgstr "Mensaje eliminado"
-#: extensions/amavis/views.py:232
+#: extensions/amavis/views.py:207
#, 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:252
+#: extensions/amavis/views.py:229
msgid "Request sent"
msgstr "Petición enviada"
-#: extensions/amavis/views.py:258
+#: extensions/amavis/views.py:235
msgid "Message released"
msgstr "Mensaje publicado"
-#: extensions/amavis/views.py:280
+#: extensions/amavis/views.py:268
#, 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:304
+#: extensions/amavis/views.py:288
#, python-format
msgid "%(count)d message released successfully"
msgid_plural "%(count)d messages released successfully"
@@ -1370,6 +1708,80 @@ msgstr "o más lanza un mensaje de spam"
msgid "Quarantine management"
msgstr "Mantenimiento de la cuarentena"
+#: extensions/amavis/templates/amavis/main_action_bar.html:3
+#, fuzzy
+msgid "Select"
+msgstr "Seleccione un fichero"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:9
+msgid "Spam"
+msgstr "Correo basura"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:10
+msgid "Virus"
+msgstr "Virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:11
+#, fuzzy
+msgid "Bad Header"
+msgstr "Mala cabecera"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:12
+msgid "Bad MIME"
+msgstr "Mal MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:13
+#, 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
+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/webmail/templatetags/webmail_tags.py:32
+msgid "Delete"
+msgstr "Eliminar"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+#: extensions/sievefilters/forms.py:64
+msgid "All messages"
+msgstr "Todos los mensajes"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+msgid "All"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:32
+#, fuzzy
+msgid "Spam only"
+msgstr "Correo basura"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:33
+#, fuzzy
+msgid "Virus only"
+msgstr "Virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:34
+#, fuzzy
+msgid "Bad Header only"
+msgstr "Mala cabecera"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:35
+#, fuzzy
+msgid "Bad MIME only"
+msgstr "Mal MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:36
+#, fuzzy
+msgid "Banned only"
+msgstr "Filtro de expulsados"
+
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:1
#, python-format
msgid ""
@@ -1378,8 +1790,12 @@ msgid ""
msgid_plural ""
"\n"
"%(counter)s release requests are pending for action.\n"
-msgstr[0] "\n%(counter)s petición de publicación está pendiente de acción.\n"
-msgstr[1] "\n%(counter)s peticiones de publicación están pendiente de acción.\n"
+msgstr[0] ""
+"\n"
+"%(counter)s petición de publicación está pendiente de acción.\n"
+msgstr[1] ""
+"\n"
+"%(counter)s peticiones de publicación están pendiente de acción.\n"
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:6
msgid "Sketch:"
@@ -1410,77 +1826,33 @@ 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/amextras.py:20
-#: extensions/amavis/templatetags/amextras.py:52
-#: extensions/amavis/templatetags/amextras.py:72
-msgid "Release"
-msgstr "Publicar"
-
-#: extensions/amavis/templatetags/amextras.py:26
-#: extensions/amavis/templatetags/amextras.py:59
-#: extensions/amavis/templatetags/amextras.py:77
-#: extensions/webmail/templatetags/webextras.py:31
-msgid "Delete"
-msgstr "Eliminar"
-
-#: extensions/amavis/templatetags/amextras.py:29
+#: extensions/amavis/templatetags/amavis_tags.py:28
msgid "View full headers"
msgstr "Ver todas las cabeceras"
-#: extensions/amavis/templatetags/amextras.py:80
-msgid "Content Class"
-msgstr "Clase de contenido"
-
-#: extensions/amavis/templatetags/amextras.py:84
-msgid "Nothing"
-msgstr "Nada"
-
-#: extensions/amavis/templatetags/amextras.py:87
-msgid "Spam"
-msgstr "Correo basura"
-
-#: extensions/amavis/templatetags/amextras.py:90
-msgid "Virus"
-msgstr "Virus"
-
-#: extensions/amavis/templatetags/amextras.py:93
-msgid "Bad header"
-msgstr "Mala cabecera"
-
-#: extensions/amavis/templatetags/amextras.py:96
-msgid "Bad MIME"
-msgstr "Mal MIME"
-
-#: extensions/limits/__init__.py:23
+#: extensions/limits/__init__.py:25
msgid ""
"Per administrator resources to limit the number of objects they can create"
-msgstr "Recursos por administrador para limitar el número de objetos que pueden crear"
+msgstr ""
+"Recursos por administrador para limitar el número de objetos que pueden crear"
-#: extensions/limits/__init__.py:54
+#: extensions/limits/__init__.py:56
msgid "Limits"
msgstr "Límites"
-#: extensions/limits/__init__.py:65
-msgid "Reseller"
-msgstr "Revendedor"
-
-#: extensions/limits/__init__.py:94
-msgid "Resources"
-msgstr "Recursos"
-
#: extensions/limits/app_settings.py:10
msgid "Default limits"
msgstr "Límites por defecto"
-#: extensions/limits/app_settings.py:13 extensions/limits/forms.py:12
-#: extensions/limits/models.py:11
+#: extensions/limits/app_settings.py:13 extensions/limits/models.py:14
msgid "Domain admins"
msgstr "Administradores del dominio"
#: extensions/limits/app_settings.py:15
-msgid ""
-"Maximum number of allowed domain administrators for a new administrator"
-msgstr "Número máximo de dominios permitido de administradores para un nuevo administrador"
+msgid "Maximum number of allowed domain administrators for a new administrator"
+msgstr ""
+"Número máximo de dominios permitido de administradores para un nuevo "
+"administrador"
#: extensions/limits/app_settings.py:21
msgid "Maximum number of allowed domains for a new administrator"
@@ -1488,7 +1860,8 @@ msgstr "Número máximo de dominios permitidos para un nuevo administrador"
#: extensions/limits/app_settings.py:27
msgid "Maximum number of allowed domain aliases for a new administrator"
-msgstr "Número máximo permitido de alias de dominio para un nuevo administrador"
+msgstr ""
+"Número máximo permitido de alias de dominio para un nuevo administrador"
#: extensions/limits/app_settings.py:33
msgid "Maximum number of allowed mailboxes for a new administrator"
@@ -1498,52 +1871,61 @@ msgstr "Número máximo de mailboxes permitidas para un nuevo administrador"
msgid "Maximum number of allowed aliases for a new administrator"
msgstr "Número máxido de alias permitidos para un nuevo administrador"
-#: extensions/limits/forms.py:13
-msgid "Maximum number of domain administrators this user can create"
-msgstr "Número máximo de administradores de dominio que este usuario puede crear"
-
-#: extensions/limits/forms.py:17
-msgid "Maximum number of domains this user can create"
-msgstr "Número máxima de dominios que este usuario puede crear"
-
-#: extensions/limits/forms.py:21
-msgid "Maximum number of domain aliases this user can create"
-msgstr "Número máximo de alias de dominio que este usuario puede crear"
-
-#: extensions/limits/forms.py:25
-msgid "Maximum number of mailboxes this user can create"
-msgstr "Número máximo de mailboxes que este usuario puede crear"
-
-#: extensions/limits/forms.py:29
-msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Número máximo de alias a mailboxes que este usuario puede crear"
-
-#: extensions/limits/forms.py:46
+#: extensions/limits/forms.py:28 extensions/limits/forms.py:35
msgid "Invalid limit"
msgstr "Límite inválido"
-#: extensions/limits/forms.py:74
+#: extensions/limits/forms.py:57
msgid "Your resources are not initialized yet"
msgstr "Sus recursos no han sido inicializados aún"
-#: extensions/limits/forms.py:78
+#: extensions/limits/forms.py:61
msgid "You're not allowed to define unlimited values"
msgstr "No está autorizado definir valores ilimitados"
-#: extensions/limits/lib.py:16
+#: extensions/limits/general_callbacks.py:10
+msgid "Reseller"
+msgstr "Revendedor"
+
+#: extensions/limits/general_callbacks.py:48
+msgid "Resources"
+msgstr "Recursos"
+
+#: extensions/limits/lib.py:19
#, python-format
msgid "%s: limit reached"
msgstr "%s: límete alcanzado"
-#: extensions/limits/lib.py:23
+#: extensions/limits/lib.py:29
msgid "Not enough resources"
msgstr "No hay suficientes recursos"
-#: extensions/limits/models.py:103
+#: extensions/limits/models.py:15
+msgid "Maximum number of domain administrators this user can create"
+msgstr ""
+"Número máximo de administradores de dominio que este usuario puede crear"
+
+#: extensions/limits/models.py:18
+msgid "Maximum number of domains this user can create"
+msgstr "Número máxima de dominios que este usuario puede crear"
+
+#: extensions/limits/models.py:21
+msgid "Maximum number of domain aliases this user can create"
+msgstr "Número máximo de alias de dominio que este usuario puede crear"
+
+#: extensions/limits/models.py:24
+msgid "Maximum number of mailboxes this user can create"
+msgstr "Número máximo de mailboxes que este usuario puede crear"
+
+#: extensions/limits/models.py:26
+msgid "Maximum number of mailbox aliases this user can create"
+msgstr "Número máximo de alias a mailboxes que este usuario puede crear"
+
+#: extensions/limits/models.py:136
msgid "undefined"
msgstr "no definido"
-#: extensions/limits/models.py:105
+#: extensions/limits/models.py:138
msgid "unlimited"
msgstr "ilimitado"
@@ -1551,19 +1933,14 @@ msgstr "ilimitado"
msgid "Resources usage"
msgstr "Uso de recursos"
-#: extensions/postfix_autoreply/__init__.py:20
+#: extensions/postfix_autoreply/__init__.py:26
msgid "Auto-reply (vacation) functionality using Postfix"
msgstr "Funcionalidad de autorespuesta (vacaciones) usando Postfix"
-#: extensions/postfix_autoreply/__init__.py:41
+#: extensions/postfix_autoreply/__init__.py:47
msgid "Automatic replies"
msgstr "Contestaciones automáticas"
-#: extensions/postfix_autoreply/__init__.py:79
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
-msgid "Auto-reply message"
-msgstr "Mensaje de autorespuesta"
-
#: extensions/postfix_autoreply/app_settings.py:14
msgid "Automatic reply timeout"
msgstr "Tiempo de caducidad de respuestas automáticas"
@@ -1572,56 +1949,260 @@ msgstr "Tiempo de caducidad de respuestas automáticas"
msgid "Timeout in seconds between two auto-replies to the same recipient"
msgstr "Tiempo en segundos entre dos autorespuestas para el mismo emisor"
-#: extensions/postfix_autoreply/forms.py:9
+#: extensions/postfix_autoreply/app_settings.py:20
+#, fuzzy
+msgid "Default subject"
+msgstr "Editor por defecto"
+
+#: extensions/postfix_autoreply/app_settings.py:21
+msgid "I'm off"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:23
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:28
+#, fuzzy
+msgid "Default content"
+msgstr "Editor por defecto"
+
+#: extensions/postfix_autoreply/app_settings.py:30
+#, python-format
+msgid ""
+"I'm currently off. I'll answer as soon as I come back.\n"
+"\n"
+"Best regards,\n"
+"%(name)s\n"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:36
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: extensions/postfix_autoreply/forms.py:13
+#, fuzzy
+msgid "Activate your auto reply from this date"
+msgstr "Activar su autorespuesta hasta esta fecha"
+
+#: extensions/postfix_autoreply/forms.py:19
msgid "Until"
msgstr "Hasta"
-#: extensions/postfix_autoreply/forms.py:11
+#: extensions/postfix_autoreply/forms.py:21
msgid "Activate your auto reply until this date"
msgstr "Activar su autorespuesta hasta esta fecha"
-#: extensions/postfix_autoreply/forms.py:25
+#: extensions/postfix_autoreply/forms.py:49
+#: extensions/postfix_autoreply/forms.py:55
msgid "This date is over"
msgstr "Esta fecha ha pasado"
-#: extensions/postfix_autoreply/models.py:19
+#: extensions/postfix_autoreply/forms.py:59
+#, fuzzy
+msgid "Must be greater than start date"
+msgstr "es mayor que"
+
+#: extensions/postfix_autoreply/general_callbacks.py:33
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Auto-reply message"
+msgstr "Mensaje de autorespuesta"
+
+#: extensions/postfix_autoreply/general_callbacks.py:118
+msgid "Enable auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:120
+msgid "Enable or disable Postfix auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/models.py:20
msgid "subject"
msgstr "asunto"
-#: extensions/postfix_autoreply/models.py:20
+#: extensions/postfix_autoreply/models.py:21
msgid "The subject that will appear in sent emails"
msgstr "El asunto que aparecerán en los correos enviados"
-#: extensions/postfix_autoreply/models.py:23
+#: extensions/postfix_autoreply/models.py:24
msgid "content"
msgstr "contenido"
-#: extensions/postfix_autoreply/models.py:24
+#: extensions/postfix_autoreply/models.py:25
msgid "The content that will appear in sent emails"
msgstr "El contenido que aparecerá en los emails enviados"
-#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_autoreply/models.py:29
msgid "Activate/Deactivate your auto reply"
msgstr "Activar/desactivar su autorespuesta"
-#: extensions/postfix_autoreply/views.py:37
+#: extensions/postfix_autoreply/views.py:34
msgid "Auto reply message updated successfully."
msgstr "El mensaje de autorespuesta se ha actualizado correctamente."
#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
msgid "Define a message to automatically send when you are off"
-msgstr "Defina el mensaje que automáticamente se enviará cuando esté desconectado"
+msgstr ""
+"Defina el mensaje que automáticamente se enviará cuando esté desconectado"
+
+#: extensions/postfix_relay_domains/__init__.py:72
+msgid "Relay domains support for Postfix"
+msgstr ""
+
+#: extensions/postfix_relay_domains/__init__.py:89
+#: extensions/postfix_relay_domains/general_callbacks.py:100
+#: extensions/postfix_relay_domains/limits_callbacks.py:16
+#, fuzzy
+msgid "Relay domains"
+msgstr "Nuevo dominio"
+
+#: extensions/postfix_relay_domains/app_settings.py:10
+msgid "Postfix's master.cf path"
+msgstr ""
+
+#: extensions/postfix_relay_domains/app_settings.py:12
+#, fuzzy
+msgid "Path to the master.cf configuration file"
+msgstr "Ruta del fichero de log"
+
+#: extensions/postfix_relay_domains/forms.py:15
+#, fuzzy
+msgid ""
+"Alias(es) of this relay domain. Indicate only one name per input, press "
+"ENTER to add a new input."
+msgstr ""
+"Alia(s) de este dominio. Indique únicamente un nombre por entrada, presione "
+"ENTER para añadir una nueva entrada."
+
+#: extensions/postfix_relay_domains/forms.py:51
+#: extensions/postfix_relay_domains/general_callbacks.py:93
+#, fuzzy
+msgid "relay domain alias"
+msgstr "Alias del dominio"
+
+#: extensions/postfix_relay_domains/forms.py:69
+#: extensions/postfix_relay_domains/general_callbacks.py:92
+#, fuzzy
+msgid "relay domain"
+msgstr "Nuevo dominio"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:35
+#, fuzzy
+msgid "Add relay domain"
+msgstr "Añadir dominio"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:101
+#, fuzzy
+msgid "Maximum number of relay domains this user can create"
+msgstr "Número máxima de dominios que este usuario puede crear"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:103
+#: extensions/postfix_relay_domains/limits_callbacks.py:24
+#, fuzzy
+msgid "Relay domain aliases"
+msgstr "Alias del dominio"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:104
+#, fuzzy
+msgid "Maximum number of relay domain aliases this user can create"
+msgstr "Número máximo de alias de dominio que este usuario puede crear"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:111
+msgid ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients"
+"em> \n"
+"relaydomainalias; name; target; enabled \n"
+msgstr ""
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:19
+#, fuzzy
+msgid "Maximum number of allowed relay domains for a new administrator"
+msgstr "Número máximo de dominios permitidos para un nuevo administrador"
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:27
+#, fuzzy
+msgid "Maximum number of allowed relay domain aliases for a new administrator"
+msgstr ""
+"Número máximo permitido de alias de dominio para un nuevo administrador"
+
+#: extensions/postfix_relay_domains/models.py:59
+#, fuzzy
+msgid "The service name"
+msgstr "Nombre del alias"
+
+#: extensions/postfix_relay_domains/models.py:80
+#, fuzzy
+msgid "target host"
+msgstr "objetivo"
+
+#: extensions/postfix_relay_domains/models.py:81
+#, fuzzy
+msgid "Remote destination of this domain"
+msgstr "Marcar para activar este dominio"
+
+#: extensions/postfix_relay_domains/models.py:89
+#, fuzzy
+msgid "verify recipients"
+msgstr "Destinatarios"
+
+#: extensions/postfix_relay_domains/models.py:90
+msgid "Check for valid recipients"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:103
+#, fuzzy
+msgid "Relay Domain"
+msgstr "Nuevo dominio"
+
+#: extensions/postfix_relay_domains/models.py:164
+#, fuzzy
+msgid "The relay domain this alias points to"
+msgstr "El dominio al que este alias apunta"
+
+#: extensions/postfix_relay_domains/models.py:195
+#, fuzzy, python-format
+msgid "Relay domain %s does not exist"
+msgstr "El dominio '%s' no existe"
+
+#: extensions/postfix_relay_domains/views.py:26
+#, fuzzy
+msgid "Relay domain created"
+msgstr "Dominio creado"
+
+#: extensions/postfix_relay_domains/views.py:31
+#, fuzzy
+msgid "New relay domain"
+msgstr "Nuevo dominio"
+
+#: extensions/postfix_relay_domains/views.py:54
+#, fuzzy
+msgid "Relay domain modified"
+msgstr "Dominio modificado"
+
+#: extensions/postfix_relay_domains/views.py:77
+#, fuzzy
+msgid "Relay domain deleted"
+msgstr "Dominio eliminado"
+
+#: extensions/postfix_relay_domains/templates/postfix_relay_domains/service_field.html:2
+msgid "Scan"
+msgstr ""
#: extensions/sievefilters/__init__.py:12
msgid "Plugin to easily create server-side filters"
msgstr "Extensión para crear filtros en el servidor de forma sencilla"
-#: extensions/sievefilters/__init__.py:17
+#: extensions/sievefilters/__init__.py:18
msgid "Sieve filters"
msgstr "filtros Sieve"
-#: extensions/sievefilters/__init__.py:18
-#: extensions/sievefilters/__init__.py:36
+#: extensions/sievefilters/__init__.py:19
+#: extensions/sievefilters/general_callbacks.py:14
#: extensions/sievefilters/templates/sievefilters/index.html:2
msgid "Message filters"
msgstr "Filtros de mensajes"
@@ -1662,125 +2243,121 @@ msgstr "Modo editor"
msgid "Select the mode you want the editor to work in"
msgstr "Seleccione el modo en el que desea que el editor trabaje"
-#: extensions/sievefilters/forms.py:14
+#: extensions/sievefilters/forms.py:16
msgid "Check to activate this filters set"
msgstr "Marcar para activar este conjunto de filtros"
-#: extensions/sievefilters/forms.py:55
+#: extensions/sievefilters/forms.py:62
msgid "All of the following"
msgstr "Todos los siguientes"
-#: extensions/sievefilters/forms.py:56
+#: extensions/sievefilters/forms.py:63
msgid "Any of the following"
msgstr "Cualquiera de los siguientes"
-#: extensions/sievefilters/forms.py:57
-msgid "All messages"
-msgstr "Todos los mensajes"
-
-#: extensions/sievefilters/forms.py:62
+#: extensions/sievefilters/forms.py:70
msgid "contains"
msgstr "contiene"
-#: extensions/sievefilters/forms.py:63
+#: extensions/sievefilters/forms.py:71
msgid "does not contain"
msgstr "no contiene"
-#: extensions/sievefilters/forms.py:64
+#: extensions/sievefilters/forms.py:72
msgid "is"
msgstr "es"
-#: extensions/sievefilters/forms.py:65
+#: extensions/sievefilters/forms.py:73
msgid "is not"
msgstr "no es"
-#: extensions/sievefilters/forms.py:69
+#: extensions/sievefilters/forms.py:78
msgid "Sender"
msgstr "Remitente"
-#: extensions/sievefilters/forms.py:70
+#: extensions/sievefilters/forms.py:79
msgid "Recipient"
msgstr "Destinatario"
-#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:8
+#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:8
msgid "Cc"
msgstr "Cc"
-#: extensions/sievefilters/forms.py:72
+#: extensions/sievefilters/forms.py:81
msgid "Size"
msgstr "Tamaño"
-#: extensions/sievefilters/forms.py:73
+#: extensions/sievefilters/forms.py:82
msgid "is greater than"
msgstr "es mayor que"
-#: extensions/sievefilters/forms.py:74
+#: extensions/sievefilters/forms.py:83
msgid "is less than"
msgstr "es menor que"
-#: extensions/sievefilters/forms.py:78
+#: extensions/sievefilters/forms.py:87
msgid "Move message to"
msgstr "Mover el mensaje a"
-#: extensions/sievefilters/forms.py:80
+#: extensions/sievefilters/forms.py:89
msgid "Redirect message to"
msgstr "Redirigir el mensaje a"
-#: extensions/sievefilters/lib.py:37
+#: extensions/sievefilters/lib.py:40
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "La conexión al servidor MANAGESIEVE falló, verifique su configuración."
-#: extensions/sievefilters/lib.py:82
+#: extensions/sievefilters/lib.py:85
msgid "Not enough space on server"
msgstr "No hay suficiente espacio en el servidor"
-#: extensions/sievefilters/views.py:68
+#: extensions/sievefilters/views.py:78
msgid "Failed to retrieve filters set"
msgstr "Fallo en la recuperación de un conjunto de filtros"
-#: extensions/sievefilters/views.py:126
+#: extensions/sievefilters/views.py:138
#: extensions/sievefilters/templatetags/sfilters_tags.py:33
msgid "New filter"
msgstr "Nuevo filtro"
-#: extensions/sievefilters/views.py:133
+#: extensions/sievefilters/views.py:146
msgid "Filter created"
msgstr "Filtro creado"
-#: extensions/sievefilters/views.py:145
-#: extensions/sievefilters/templatetags/sfilters_tags.py:77
+#: extensions/sievefilters/views.py:160
+#: extensions/sievefilters/templatetags/sfilters_tags.py:78
msgid "Edit filter"
msgstr "Editar filtro"
-#: extensions/sievefilters/views.py:154
+#: extensions/sievefilters/views.py:169
msgid "Filter modified"
msgstr "Filtro modificado"
-#: extensions/sievefilters/views.py:176
+#: extensions/sievefilters/views.py:192
msgid "Filter removed"
msgstr "Filtro eliminado"
-#: extensions/sievefilters/views.py:177
+#: extensions/sievefilters/views.py:193
msgid "Failed to remove filter"
msgstr "La eliminación del filtro falló"
-#: extensions/sievefilters/views.py:191
+#: extensions/sievefilters/views.py:208
msgid "Filters set saved"
msgstr "Filtros guardados"
-#: extensions/sievefilters/views.py:196
-msgid "Create a new filters set"
-msgstr "Crear un nuevo conjunto de filtros"
-
-#: extensions/sievefilters/views.py:219
+#: extensions/sievefilters/views.py:224
msgid "Filters set created"
msgstr "Conjunto de filtros creado"
-#: extensions/sievefilters/views.py:240
+#: extensions/sievefilters/views.py:228
+msgid "Create a new filters set"
+msgstr "Crear un nuevo conjunto de filtros"
+
+#: extensions/sievefilters/views.py:247
msgid "Filters set deleted"
msgstr "Conjunto de filtros eliminado"
-#: extensions/sievefilters/views.py:252
+#: extensions/sievefilters/views.py:260
msgid "Filters set activated"
msgstr "Conjunto de filtros activado"
@@ -1796,20 +2373,22 @@ msgstr "Activo"
msgid "No filter defined yet"
msgstr "No hay un filtro definido aún"
-#: extensions/sievefilters/templates/sievefilters/index.html:56
+#: extensions/sievefilters/templates/sievefilters/index.html:76
msgid "Filter sets"
msgstr "Conjunto de filtros"
-#: extensions/sievefilters/templates/sievefilters/index.html:60
+#: extensions/sievefilters/templates/sievefilters/index.html:80
msgid "active"
msgstr "activo"
-#: extensions/sievefilters/templates/sievefilters/index.html:74
+#: extensions/sievefilters/templates/sievefilters/index.html:94
msgid ""
"No filters set defined yet. You must create one in order to define filters."
-msgstr "No hay un conjunto de filtros definido aún. Debe crear uno para poder definir filtros."
+msgstr ""
+"No hay un conjunto de filtros definido aún. Debe crear uno para poder "
+"definir filtros."
-#: extensions/sievefilters/templatetags/sfilters_tags.py:16
+#: extensions/sievefilters/templatetags/sfilters_tags.py:15
msgid "New filters set"
msgstr "Nuevo conjunto de filtros"
@@ -1829,31 +2408,27 @@ msgstr "Eliminar conjunto de filtros"
msgid "Download"
msgstr "Descargar"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:85
+#: extensions/sievefilters/templatetags/sfilters_tags.py:86
msgid "Remove this filter"
msgstr "Eliminar este filtro"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:93
+#: extensions/sievefilters/templatetags/sfilters_tags.py:94
msgid "Move this filter up"
msgstr "Subir este filtro"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:101
+#: extensions/sievefilters/templatetags/sfilters_tags.py:102
msgid "Move this filter down"
msgstr "Bajar este filtro"
-#: extensions/stats/__init__.py:20
+#: extensions/stats/__init__.py:21
msgid "Graphical statistics about emails traffic using RRDtool"
msgstr "Estadísticas gráficas del tráfico de emails usando RRDtool"
-#: extensions/stats/__init__.py:26
+#: extensions/stats/__init__.py:29
#: extensions/stats/templates/stats/index.html:2
msgid "Graphical statistics"
msgstr "Estadísticas gráficas"
-#: extensions/stats/__init__.py:40
-msgid "Statistics"
-msgstr "Estadísticas"
-
#: extensions/stats/app_settings.py:14
msgid "Path to the log file"
msgstr "Ruta del fichero de log"
@@ -1878,84 +2453,88 @@ msgstr "Directorio para guardar los ficheros PNG"
msgid "Path to directory where PNG files are stored"
msgstr "Ruta al directorio dónde están almacenados los ficheros PNG"
-#: extensions/stats/graph_templates.py:20
+#: extensions/stats/general_callbacks.py:12
+msgid "Statistics"
+msgstr "Estadísticas"
+
+#: extensions/stats/graph_templates.py:22
msgid "Average normal traffic"
msgstr "Media de tráfico normal"
-#: extensions/stats/graph_templates.py:21
-#: extensions/stats/graph_templates.py:33
+#: extensions/stats/graph_templates.py:23
+#: extensions/stats/graph_templates.py:36
msgid "msgs/min"
msgstr "msjs/min"
-#: extensions/stats/graph_templates.py:26
+#: extensions/stats/graph_templates.py:28
msgid "sent messages"
msgstr "mensajes enviados"
-#: extensions/stats/graph_templates.py:28
+#: extensions/stats/graph_templates.py:30
msgid "received messages"
msgstr "mensajes recibidos"
-#: extensions/stats/graph_templates.py:32
+#: extensions/stats/graph_templates.py:35
msgid "Average bad traffic"
msgstr "Media de tráfico erróneo"
-#: extensions/stats/graph_templates.py:38
+#: extensions/stats/graph_templates.py:41
msgid "bounced messages"
msgstr "mensajes rebotados"
-#: extensions/stats/graph_templates.py:40
+#: extensions/stats/graph_templates.py:43
msgid "rejected messages"
msgstr "mensajes bloqueados"
-#: extensions/stats/graph_templates.py:44
+#: extensions/stats/graph_templates.py:48
msgid "Average normal traffic size"
msgstr "Tamaño medio de tráfico normal"
-#: extensions/stats/graph_templates.py:45
+#: extensions/stats/graph_templates.py:49
msgid "bytes/min"
msgstr "bytes/min"
-#: extensions/stats/graph_templates.py:50
+#: extensions/stats/graph_templates.py:54
msgid "received size"
msgstr "tamaño recibido"
-#: extensions/stats/graph_templates.py:52
+#: extensions/stats/graph_templates.py:56
msgid "sent size"
msgstr "tamaño enviado"
-#: extensions/stats/graph_templates.py:73
+#: extensions/stats/graph_templates.py:78
msgid "Mail traffic"
msgstr "Tráfico de correo"
-#: extensions/stats/grapher.py:9
+#: extensions/stats/grapher.py:8
msgid "Day"
msgstr "Día"
-#: extensions/stats/grapher.py:10
+#: extensions/stats/grapher.py:9
msgid "Week"
msgstr "Semana"
-#: extensions/stats/grapher.py:11
+#: extensions/stats/grapher.py:10
msgid "Month"
msgstr "Mes"
-#: extensions/stats/grapher.py:12
+#: extensions/stats/grapher.py:11
msgid "Year"
msgstr "Año"
-#: extensions/stats/grapher.py:59
+#: extensions/stats/grapher.py:60
msgid "Total"
msgstr "Total"
-#: extensions/stats/views.py:21 extensions/stats/templates/stats/graphs.html:4
+#: extensions/stats/views.py:28 extensions/stats/templates/stats/graphs.html:4
msgid "No statistics available"
msgstr "No hay estadísticas disponibles"
-#: extensions/stats/views.py:39
+#: extensions/stats/views.py:47
msgid "Unknown graphic set"
msgstr "Conjunto gráfico desconocido"
-#: extensions/stats/views.py:61
+#: extensions/stats/views.py:70
msgid "Bad custom period"
msgstr "Período elegido erróneo"
@@ -1975,14 +2554,10 @@ msgstr "Rango de tiempo definido"
msgid "Apply"
msgstr "Aplicar"
-#: extensions/webmail/__init__.py:12
+#: extensions/webmail/__init__.py:13
msgid "Simple IMAP webmail"
msgstr "Correo web sencillo para IMAP"
-#: extensions/webmail/__init__.py:35
-msgid "Webmail"
-msgstr "Correo web"
-
#: extensions/webmail/app_settings.py:14
msgid "Maximum attachment size"
msgstr "Máximo tamaño de los adjuntos"
@@ -2111,99 +2686,94 @@ msgstr "Texto de la firma"
msgid "User defined email signature"
msgstr "Firma de correo definida por el usuario"
-#: extensions/webmail/exceptions.py:19
+#: extensions/webmail/exceptions.py:20
msgid "Server response"
msgstr "Respuesta del servidor"
+#: extensions/webmail/exceptions.py:34
+msgid "Unknown action"
+msgstr "Acción desconocida"
+
#: extensions/webmail/forms.py:9
msgid "Cci"
msgstr "Cco"
-#: extensions/webmail/imaputils.py:237
+#: extensions/webmail/general_callbacks.py:14
+msgid "Webmail"
+msgstr "Correo web"
+
+#: extensions/webmail/imaputils.py:242
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Fallo al recuperar el delimitador jerárquico"
-#: extensions/webmail/imaputils.py:278
+#: extensions/webmail/imaputils.py:283
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Falló la conexión con el servidor IMAP: %s"
-#: extensions/webmail/lib.py:358
+#: extensions/webmail/lib.py:371
msgid "wrote:"
msgstr "escribió:"
-#: extensions/webmail/lib.py:423 extensions/webmail/lib.py:427
+#: extensions/webmail/lib.py:437 extensions/webmail/lib.py:441
msgid "Original message"
msgstr "Mensaje original"
-#: extensions/webmail/views.py:86
+#: extensions/webmail/views.py:85
#, python-format
msgid "%(count)d message deleted"
msgid_plural "%(count)d messages deleted"
msgstr[0] "%(count)d mensaje eliminado"
msgstr[1] "%(count)d mensajes eliminados"
-#: extensions/webmail/views.py:103
-msgid "Unknown action"
-msgstr "Acción desconocida"
-
-#: extensions/webmail/views.py:116 lib/email_listing.py:137
+#: extensions/webmail/views.py:116 lib/email_listing.py:138
msgid "Empty mailbox"
msgstr "Mailbox vacío"
-#: extensions/webmail/views.py:133
-#: extensions/webmail/templatetags/webextras.py:170
-msgid "Create a new mailbox"
-msgstr "Crear un nuevo mailbox"
-
-#: extensions/webmail/views.py:149
+#: extensions/webmail/views.py:142
msgid "Mailbox created"
msgstr "Mailbox creado."
-#: extensions/webmail/views.py:165
+#: extensions/webmail/views.py:148
+#: extensions/webmail/templatetags/webmail_tags.py:175
+msgid "Create a new mailbox"
+msgstr "Crear un nuevo mailbox"
+
+#: extensions/webmail/views.py:167 extensions/webmail/views.py:202
msgid "Edit mailbox"
msgstr "Editar el mailbox"
-#: extensions/webmail/views.py:180
+#: extensions/webmail/views.py:183
msgid "Mailbox updated"
msgstr "Mailbox actualizado"
-#: extensions/webmail/views.py:214 extensions/webmail/views.py:396
-#: extensions/webmail/views.py:505
-msgid "Bad request"
-msgstr "Petición incorrecta"
-
-#: extensions/webmail/views.py:246
+#: extensions/webmail/views.py:255
msgid "Failed to save attachment: "
msgstr "Fallo al guardar el adjunto:"
-#: extensions/webmail/views.py:249
+#: extensions/webmail/views.py:258
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "EL adjunto es demasiado grande (límite: %s)"
-#: extensions/webmail/views.py:255
+#: extensions/webmail/views.py:264
#: extensions/webmail/templates/webmail/compose.html:15
#: extensions/webmail/templates/webmail/headers.html:4
msgid "Attachments"
msgstr "Adjuntos"
-#: extensions/webmail/views.py:271
+#: extensions/webmail/views.py:281
msgid "Bad query"
msgstr "Consulta errónea"
-#: extensions/webmail/views.py:281
+#: extensions/webmail/views.py:293
msgid "Failed to remove attachment: "
msgstr "Fallo al eliminar el adjunto:"
-#: extensions/webmail/views.py:286
+#: extensions/webmail/views.py:298
msgid "Unknown attachment"
msgstr "Adjunto desconocido"
-#: extensions/webmail/views.py:501
-msgid "Undefined action"
-msgstr "Acción no definida"
-
#: extensions/webmail/templates/webmail/attachments.html:6
msgid "Attach"
msgstr "Adjunto"
@@ -2235,111 +2805,123 @@ msgstr "Mailbox padre"
msgid "Mailbox quota"
msgstr "Cuota del mailbox"
-#: extensions/webmail/templatetags/webextras.py:19
+#: extensions/webmail/templatetags/webmail_tags.py:20
msgid "Reply"
msgstr "Responder"
-#: extensions/webmail/templatetags/webextras.py:23
+#: extensions/webmail/templatetags/webmail_tags.py:24
msgid "Reply all"
msgstr "Responder a todos"
-#: extensions/webmail/templatetags/webextras.py:27
-#: userprefs/templates/userprefs/forward.html:2
-#: userprefs/templatetags/uprefs_extras.py:27
-msgid "Forward"
-msgstr "Siguiente"
-
-#: extensions/webmail/templatetags/webextras.py:33
+#: extensions/webmail/templatetags/webmail_tags.py:34
msgid "Display options"
msgstr "Opciones de pantalla"
-#: extensions/webmail/templatetags/webextras.py:36
+#: extensions/webmail/templatetags/webmail_tags.py:37
msgid "Activate links"
msgstr "Activar enlaces"
-#: extensions/webmail/templatetags/webextras.py:38
+#: extensions/webmail/templatetags/webmail_tags.py:39
msgid "Disable links"
msgstr "Desactivar enlaces"
-#: extensions/webmail/templatetags/webextras.py:47
+#: extensions/webmail/templatetags/webmail_tags.py:48
msgid "Close this message"
msgstr "Cerrar este mensaje"
-#: extensions/webmail/templatetags/webextras.py:60
+#: extensions/webmail/templatetags/webmail_tags.py:63
msgid "Back"
msgstr "Anterior"
-#: extensions/webmail/templatetags/webextras.py:64
+#: extensions/webmail/templatetags/webmail_tags.py:67
msgid "Send"
msgstr "Enviar"
-#: extensions/webmail/templatetags/webextras.py:76
+#: extensions/webmail/templatetags/webmail_tags.py:80
msgid "New message"
msgstr "Nuevo mensaje"
-#: extensions/webmail/templatetags/webextras.py:85
+#: extensions/webmail/templatetags/webmail_tags.py:89
msgid "Mark messages"
msgstr "Marcar mensajes"
-#: extensions/webmail/templatetags/webextras.py:89
+#: extensions/webmail/templatetags/webmail_tags.py:93
msgid "As read"
msgstr "Como leído"
-#: extensions/webmail/templatetags/webextras.py:92
+#: extensions/webmail/templatetags/webmail_tags.py:96
msgid "As unread"
msgstr "Como no leído"
-#: extensions/webmail/templatetags/webextras.py:101
+#: extensions/webmail/templatetags/webmail_tags.py:105
msgid "Compress folder"
msgstr "Comprimir la carpeta"
-#: extensions/webmail/templatetags/webextras.py:110
+#: extensions/webmail/templatetags/webmail_tags.py:114
msgid "Empty folder"
msgstr "Vaciar la carpeta"
-#: extensions/webmail/templatetags/webextras.py:178
+#: extensions/webmail/templatetags/webmail_tags.py:183
msgid "Edit the selected mailbox"
msgstr "Editar el mailbox seleccionado"
-#: extensions/webmail/templatetags/webextras.py:183
+#: extensions/webmail/templatetags/webmail_tags.py:188
msgid "Remove the selected mailbox"
msgstr "Eliminar el mailbox seleccionado"
-#: lib/exceptions.py:18
+#: lib/dbutils.py:36
+#, fuzzy, python-format
+msgid "Connection to database %s not configured"
+msgstr "La conexión con amavis falló: %s"
+
+#: lib/exceptions.py:67
#, python-format
msgid "Permission denied: %s"
msgstr "Permiso denegado: %s"
-#: lib/exceptions.py:19
+#: lib/exceptions.py:68
msgid "Permission denied"
msgstr "Permiso denegado"
-#: lib/formutils.py:157 lib/formutils.py:165
+#: lib/formutils.py:187 lib/formutils.py:195
msgid "Enter a valid domain name"
msgstr "Introduzca un nombre dominio válido"
-#: lib/permissions.py:27
+#: lib/formutils.py:244
+msgid "Yes"
+msgstr "Sí"
+
+#: lib/formutils.py:244
+msgid "No"
+msgstr "No "
+
+#: lib/ldaputils.py:111
+#, python-format
+msgid "Failed to update password: %s"
+msgstr "Falló la actualización de la contraseña: %s"
+
+#: lib/permissions.py:20
msgid "Simple user"
msgstr "Usuario normal"
-#: lib/permissions.py:29
+#: lib/permissions.py:22
msgid "Super administrator"
msgstr "Super administrador"
-#: lib/permissions.py:31
+#: lib/permissions.py:28
msgid "Domain administrator"
msgstr "Administrador de dominio"
-#: lib/permissions.py:75
+#: lib/permissions.py:73
#, python-format
msgid "Failed to grant access (%s)"
msgstr "Fallo al dar acceso (%s)"
-#: lib/tables.py:241
+#: lib/tables.py:251
msgid "No entries to display"
msgstr "No hay entradas que mostrar"
-#: lib/templatetags/libextras.py:108
+#: lib/templatetags/lib_tags.py:59
msgid "activate"
msgstr "activo"
@@ -2397,103 +2979,35 @@ msgstr "Recuerdame"
msgid "Log in"
msgstr "Entrar"
-#: userprefs/__init__.py:8
-msgid "User preferences"
-msgstr "Preferencias del usuario"
+#~ msgid "An alias with this name already exists"
+#~ msgstr "Ya existe un alias con este nombre"
-#: userprefs/__init__.py:10
-msgid "Per-user settings"
-msgstr "Configuración por usuario"
+#~ msgid "A domain with this name already exists"
+#~ msgstr "Ya existe un dominio con este nombre"
-#: userprefs/app_settings.py:22
-msgid "Prefered language"
-msgstr "Idioma preferido"
+#~ msgid "Edit domain"
+#~ msgstr "Editar el dominio"
-#: userprefs/app_settings.py:27
-msgid "Prefered language to display pages"
-msgstr "Idioma preferido para mostrar las páginas"
+#~ msgid "%d pending requests"
+#~ msgstr "%d peticiones pendientes"
-#: userprefs/forms.py:14
-msgid "Old password"
-msgstr "Contraseña anterior"
+#~ msgid "Content Class"
+#~ msgstr "Clase de contenido"
-#: userprefs/forms.py:16
-msgid "New password"
-msgstr "Nueva contraseña"
+#~ msgid "Nothing"
+#~ msgstr "Nada"
-#: userprefs/forms.py:40
-msgid "Old password mismatchs"
-msgstr "La contraseña no concuerda con la anterior"
+#~ msgid "Bad request"
+#~ msgstr "Petición incorrecta"
-#: userprefs/forms.py:45
-msgid "Passwords mismatch"
-msgstr "Las contraseñas no coinciden"
+#~ msgid "Undefined action"
+#~ msgstr "Acción no definida"
-#: userprefs/forms.py:59
-msgid "Recipient(s)"
-msgstr "Destinatario(s)"
+#~ msgid "User preferences"
+#~ msgstr "Preferencias del usuario"
-#: userprefs/forms.py:62
-msgid "Indicate one or more recipients separated by a ','"
-msgstr "Indique uno o más destinatarios separados por una ','"
+#~ msgid "Per-user settings"
+#~ msgstr "Configuración por usuario"
-#: userprefs/forms.py:65
-msgid "Keep local copies"
-msgstr "Mantener copias locales"
-
-#: userprefs/forms.py:67
-msgid "Forward messages and store copies into your local mailbox"
-msgstr "Reenvía mensajes y guarda copias en su mailbox local"
-
-#: userprefs/forms.py:84
-msgid ""
-"You can't define a forward to a local destination. Please ask your "
-"administrator to create an alias instead."
-msgstr "No puede definir un reenvío a un destino local. Por favor, pregunte a su administrador para crear un alias en su lugar."
-
-#: userprefs/views.py:32
-msgid "You need a mailbox in order to define a forward"
-msgstr "Necesita un mailbox para definir un reenvío"
-
-#: userprefs/views.py:56
-msgid "Forward updated"
-msgstr "Reenvío actualizado"
-
-#: userprefs/views.py:98
-msgid "Profile updated"
-msgstr "Perfil actualizado"
-
-#: userprefs/views.py:127
-msgid "Preferences saved"
-msgstr "Preferencias guardadas"
-
-#: userprefs/templates/userprefs/forward.html:2
-msgid "Automatically forward emails to another address"
-msgstr "Reenvía automáticamente los correos a otra dirección"
-
-#: userprefs/templates/userprefs/index.html:2
-#: userprefs/templatetags/uprefs_extras.py:48
-msgid "Settings"
-msgstr "Configuración"
-
-#: userprefs/templates/userprefs/preferences.html:2
-#: userprefs/templatetags/uprefs_extras.py:21
-msgid "Preferences"
-msgstr "Preferencias"
-
-#: userprefs/templates/userprefs/preferences.html:2
-msgid "Customize Modoboa"
-msgstr "Adaptar Modoboa"
-
-#: userprefs/templates/userprefs/profile.html:2
-#: userprefs/templatetags/uprefs_extras.py:17
-msgid "Profile"
-msgstr "Perfil"
-
-#: userprefs/templates/userprefs/profile.html:2
-msgid "Update your personal information"
-msgstr "Actualizar su información personal"
-
-#: userprefs/templatetags/uprefs_extras.py:57
-msgid "Logout"
-msgstr "Salir"
+#~ msgid "You need a mailbox in order to define a forward"
+#~ msgstr "Necesita un mailbox para definir un reenvío"
diff --git a/modoboa/locale/es/LC_MESSAGES/djangojs.po b/modoboa/locale/es/LC_MESSAGES/djangojs.po
index 28d8d3e32..552912f2a 100644
--- a/modoboa/locale/es/LC_MESSAGES/djangojs.po
+++ b/modoboa/locale/es/LC_MESSAGES/djangojs.po
@@ -1,114 +1,101 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# Pedro Gracia , 2011,2013
# Pedro Gracia , 2010, 2011
msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
-"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n"
-"POT-Creation-Date: 2013-05-22 17:39+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: 2013-06-03 16:32+0000\n"
"Last-Translator: Pedro Gracia \n"
-"Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/es/)\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/"
+"es/)\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/static/admin/js/admin.js:26
+#: extensions/admin/static/admin/js/admin.js:32
msgid "Search"
msgstr "Buscar"
-#: admin/static/admin/js/admin.js:110
+#: extensions/admin/static/admin/js/admin.js:170
msgid "Do not delete domain directory"
msgstr "No eleminar el directorio del dominio"
-#: admin/static/admin/js/admin.js:113
+#: extensions/admin/static/admin/js/admin.js:173
msgid "This operation will remove ALL data associated to this domain."
msgstr "Esta operación eliminará TODOS los datos asociados a este dominio."
-#: admin/static/admin/js/admin.js:114
+#: extensions/admin/static/admin/js/admin.js:174
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
-msgstr "Esta operación eliminará todos los datos asociados a este dominio, excepto las cuentas."
+msgstr ""
+"Esta operación eliminará todos los datos asociados a este dominio, excepto "
+"las cuentas."
-#: admin/static/admin/js/admin.js:117
-msgid "Delete this domain?"
-msgstr "¿Eliminar este dominio?"
-
-#: admin/static/admin/js/admin.js:161
+#: extensions/admin/static/admin/js/admin.js:222
msgid "No domain administrator defined"
msgstr "No hay un administrador de dominio definido"
-#: admin/static/admin/js/admin.js:238
+#: extensions/admin/static/admin/js/admin.js:291
msgid "Do not delete mailbox directory"
msgstr "No eliminar el directorio del mailbox"
-#: admin/static/admin/js/admin.js:243
-msgid "Delete this account?"
-msgstr "¿Eliminar esta cuenta?"
-
-#: admin/static/admin/js/admin.js:249
-msgid "Delete this list?"
-msgstr "¿Eliminar esta lista?"
-
-#: admin/static/admin/js/admin.js:254
-msgid "Delete this forward?"
-msgstr "¿Eliminar este reenvío?"
-
-#: admin/static/admin/js/admin.js:259
-msgid "Delete this alias?"
-msgstr "¿Eliminar este alias?"
-
-#: extensions/amavis/static/amavis/js/quarantine.js:126
+#: extensions/amavis/static/amavis/js/quarantine.js:180
msgid "Release this selection?"
msgstr "¿Publicar esta selección?"
-#: extensions/amavis/static/amavis/js/quarantine.js:130
+#: extensions/amavis/static/amavis/js/quarantine.js:184
msgid "Delete this selection?"
msgstr "¿Eliminar esta selección?"
-#: extensions/amavis/static/amavis/js/quarantine.js:148
-#: extensions/amavis/static/amavis/js/selfservice.js:22
+#: extensions/amavis/static/amavis/js/quarantine.js:203
+#: extensions/amavis/static/amavis/js/selfservice.js:17
msgid "Release this message?"
msgstr "¿Publicar este mensaje?"
-#: extensions/amavis/static/amavis/js/quarantine.js:152
-#: extensions/amavis/static/amavis/js/selfservice.js:26
+#: extensions/amavis/static/amavis/js/quarantine.js:207
+#: extensions/amavis/static/amavis/js/selfservice.js:21
msgid "Delete this message?"
msgstr "¿Eliminar este mensaje?"
-#: extensions/amavis/static/amavis/js/quarantine.js:169
+#: extensions/amavis/static/amavis/js/quarantine.js:224
msgid "View full headers"
msgstr "Ver todas las cabeceras"
-#: extensions/amavis/static/amavis/js/quarantine.js:174
+#: extensions/amavis/static/amavis/js/quarantine.js:229
msgid "Hide full headers"
msgstr "Esconder todas las cabeceras"
+#: extensions/postfix_relay_domains/static/postfix_relay_domains/js/relay_domains.js:49
+msgid "Services updated"
+msgstr ""
+
#: extensions/sievefilters/static/sievefilters/js/lib.js:14
msgid "Remove this filter?"
msgstr "¿Eliminar este filtro?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:117
+#: extensions/sievefilters/static/sievefilters/js/lib.js:107
msgid "Save changes?"
msgstr "¿Guardar cambios?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:144
+#: extensions/sievefilters/static/sievefilters/js/lib.js:129
msgid "Remove filters set?"
msgstr "¿Eliminar este conjunto de filtros?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:161
+#: extensions/sievefilters/static/sievefilters/js/lib.js:146
msgid "Activate this filters set?"
msgstr "¿Activar este conjunto de filtros?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:169
-#: extensions/sievefilters/static/sievefilters/js/lib.js:224
+#: extensions/sievefilters/static/sievefilters/js/lib.js:154
+#: extensions/sievefilters/static/sievefilters/js/lib.js:203
msgid "active"
msgstr "activo"
@@ -116,19 +103,19 @@ msgstr "activo"
msgid "Search a domain"
msgstr "Buscar un dominio"
-#: extensions/webmail/static/webmail/js/webmail.js:485
+#: extensions/webmail/static/webmail/js/webmail.js:472
msgid "Remove the selected mailbox?"
msgstr "¿Eliminar el mailbox seleccionado?"
-#: extensions/webmail/static/webmail/js/webmail.js:499
+#: extensions/webmail/static/webmail/js/webmail.js:485
msgid "Mailbox removed"
msgstr "Mailbox eliminado"
-#: extensions/webmail/static/webmail/js/webmail.js:823
+#: extensions/webmail/static/webmail/js/webmail.js:727
msgid "Message sent"
msgstr "Mensaje enviado"
-#: extensions/webmail/static/webmail/js/webmail.js:856
+#: extensions/webmail/static/webmail/js/webmail.js:854
msgid "Message deleted"
msgstr "Mensaje eliminado"
@@ -146,18 +133,34 @@ msgid_plural "Moving %s messages"
msgstr[0] "Moviendo %s mensaje"
msgstr[1] "Moviendo %s mensajes"
-#: static/js/confirmation.js:48
+#: static/js/confirmation.js:50
msgid "Warning"
msgstr "Aviso"
-#: static/js/confirmation.js:57
+#: static/js/confirmation.js:59
msgid "Cancel"
msgstr "Cancelar"
-#: static/js/confirmation.js:99 static/js/history.js:239
-msgid "Internal Error"
+#: static/js/global.js:314
+#, fuzzy
+msgid "Internal error"
msgstr "Error interno"
#: static/js/searchbar.js:20
msgid "Search..."
msgstr "Buscar..."
+
+#~ msgid "Delete this domain?"
+#~ msgstr "¿Eliminar este dominio?"
+
+#~ msgid "Delete this account?"
+#~ msgstr "¿Eliminar esta cuenta?"
+
+#~ msgid "Delete this list?"
+#~ msgstr "¿Eliminar esta lista?"
+
+#~ msgid "Delete this forward?"
+#~ msgstr "¿Eliminar este reenvío?"
+
+#~ msgid "Delete this alias?"
+#~ msgstr "¿Eliminar este alias?"
diff --git a/modoboa/locale/fr/LC_MESSAGES/django.po b/modoboa/locale/fr/LC_MESSAGES/django.po
index bed98c974..1faad90bb 100644
--- a/modoboa/locale/fr/LC_MESSAGES/django.po
+++ b/modoboa/locale/fr/LC_MESSAGES/django.po
@@ -1,13 +1,13 @@
# Modoboa french translation
-# Copyright (C) 2009-2012
+# Copyright (C) 2009-2013
# This file is distributed under the same license as the Modoboa package.
#
# Antoine Nguyen , 2009-2013.
msgid ""
msgstr ""
-"Project-Id-Version: modoboa-1.0.0\n"
+"Project-Id-Version: modoboa-1.1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-20 22:30+0200\n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: 2011-01-07 10:00+100\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: FR \n"
@@ -17,107 +17,132 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/__init__.py:9
-msgid "Administration console"
-msgstr "Console d'administration"
-
-#: admin/__init__.py:11
-msgid "Web based console to manage domains, accounts and aliases"
-msgstr "Console web pour gérer les domains, comptes et alias"
-
-#: admin/__init__.py:16 admin/forms.py:211 admin/forms.py:652
-#: admin/views.py:94 admin/views.py:447
+#: core/__init__.py:52 core/__init__.py:53
+#: extensions/admin/forms/account.py:325 extensions/admin/forms/domain.py:251
+#: extensions/admin/views/domain.py:95 extensions/admin/views/identity.py:127
#: extensions/postfix_autoreply/app_settings.py:11
+#: extensions/postfix_relay_domains/forms.py:138
#: extensions/sievefilters/app_settings.py:50
#: extensions/stats/app_settings.py:11 extensions/webmail/app_settings.py:11
-#: userprefs/__init__.py:15
msgid "General"
msgstr "Général"
-#: admin/app_settings.py:31
+#: core/app_settings.py:36
msgid "Authentication"
msgstr "Authentification"
-#: admin/app_settings.py:34
+#: core/app_settings.py:39
msgid "Authentication type"
msgstr "Type d'authentification"
-#: admin/app_settings.py:35
+#: core/app_settings.py:40
msgid "Local"
msgstr "Locale"
-#: admin/app_settings.py:38
+#: core/app_settings.py:43
msgid "The backend used for authentication"
msgstr "Le backend utilisé pour l'authentification"
-#: admin/app_settings.py:43
+#: core/app_settings.py:48
msgid "Default password scheme"
msgstr "Méthode de chiffrement par défaut"
-#: admin/app_settings.py:50
+#: core/app_settings.py:51
+msgid "md5crypt (weak)"
+msgstr "md5crypt (faible)"
+
+#: core/app_settings.py:52
+msgid "sha256 (weak)"
+msgstr "sha256 (faible)"
+
+#: core/app_settings.py:53
+msgid "md5 (weak)"
+msgstr "md5 (faible)"
+
+#: core/app_settings.py:54
+msgid "crypt (weak)"
+msgstr "crypt (faible)"
+
+#: core/app_settings.py:55
+msgid "plain (weak)"
+msgstr "plain (faible)"
+
+#: core/app_settings.py:57
msgid "Scheme used to crypt mailbox passwords"
msgstr ""
"Méthode utilisée pour chiffrer les mots de passe des boites aux lettres"
-#: admin/app_settings.py:54
+#: core/app_settings.py:61
+msgid "Rounds"
+msgstr "Tours"
+
+#: core/app_settings.py:64
+msgid ""
+"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
+"between 1000 and 999999999, inclusive."
+msgstr ""
+"Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit "
+"être compris entre 1000 et 999999999 inclue."
+
+#: core/app_settings.py:70
msgid "Secret key"
msgstr "Clé secrète"
-#: admin/app_settings.py:56
+#: core/app_settings.py:72
msgid "Key used to encrypt/decrypt passwords"
msgstr "Clé utilisée pour chiffrer/déchiffre les mots de passe"
-#: admin/app_settings.py:60
+#: core/app_settings.py:76
msgid "LDAP settings"
msgstr "Paramètres LDAP"
-#: admin/app_settings.py:63 extensions/sievefilters/app_settings.py:22
+#: core/app_settings.py:79 extensions/sievefilters/app_settings.py:22
#: extensions/webmail/app_settings.py:22 extensions/webmail/app_settings.py:42
msgid "Server address"
msgstr "Adresse du serveur"
-#: admin/app_settings.py:65
+#: core/app_settings.py:81
msgid "The IP address of the DNS name of the LDAP server"
msgstr "L'adresse IP ou le nom DNS du serveur LDAP"
-#: admin/app_settings.py:69 extensions/sievefilters/app_settings.py:28
+#: core/app_settings.py:85 extensions/sievefilters/app_settings.py:28
#: extensions/webmail/app_settings.py:34 extensions/webmail/app_settings.py:58
msgid "Server port"
msgstr "Port utilisé par le serveur"
-#: admin/app_settings.py:71
+#: core/app_settings.py:87
msgid "The TCP port number used by the LDAP server"
msgstr "Le port TCP utilisé par le serveur LDAP"
-#: admin/app_settings.py:75 extensions/webmail/app_settings.py:28
+#: core/app_settings.py:91 extensions/webmail/app_settings.py:28
msgid "Use a secured connection"
msgstr "Utiliser une connexion sécurisée"
-#: admin/app_settings.py:77
+#: core/app_settings.py:93
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Utiliser une connextion SSL/TLS pour accéder au serveur LDAP"
-#: admin/app_settings.py:81
+#: core/app_settings.py:97
msgid "Authentication method"
msgstr "Méthode d'authentification"
-#: admin/app_settings.py:82
+#: core/app_settings.py:98
msgid "Search and bind"
msgstr "Recherche et connexion"
-#: admin/app_settings.py:83
+#: core/app_settings.py:99
msgid "Direct bind"
msgstr "Connexion directe"
-#: admin/app_settings.py:85
+#: core/app_settings.py:101
msgid "Choose the authentication method to use"
msgstr "Choisir la méthode d'authentification à utiliser"
-#: admin/app_settings.py:90
+#: core/app_settings.py:106
msgid "Bind DN"
msgstr "ND de connexion"
-#: admin/app_settings.py:92
+#: core/app_settings.py:108
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -125,29 +150,31 @@ msgstr ""
"Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser "
"vide pour une connexion anonyme"
-#: admin/app_settings.py:97
+#: core/app_settings.py:113
msgid "Bind password"
msgstr "Mot de passe de connexion"
-#: admin/app_settings.py:99
+#: core/app_settings.py:115
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
msgstr ""
"Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de "
"connexion')"
-#: admin/app_settings.py:105
-msgid "Search base"
-msgstr "Base de recherche"
+#: core/app_settings.py:121
+msgid "Users search base"
+msgstr "Base de recherche des utilisateurs"
-#: admin/app_settings.py:107
-msgid "The distinguished name of the search base"
-msgstr "Le nom distinctif de la base de recherche"
+#: core/app_settings.py:123
+msgid "The distinguished name of the search base used to find users"
+msgstr ""
+"Le nom distinctif de la base de recherche utilisée pour rechercher les "
+"utilisateurs"
-#: admin/app_settings.py:112
+#: core/app_settings.py:128
msgid "Search filter"
msgstr "Filtre de recherche"
-#: admin/app_settings.py:114
+#: core/app_settings.py:130
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -155,11 +182,11 @@ msgstr ""
"Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être "
"valide, il doit être entouré de parenthèses."
-#: admin/app_settings.py:119
+#: core/app_settings.py:135
msgid "User DN template"
msgstr "Modèle de nom distinctif utilisateur"
-#: admin/app_settings.py:121
+#: core/app_settings.py:137
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -168,983 +195,370 @@ msgstr ""
"Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il "
"doit contenir un espace réservé (ex. %(user)s)"
-#: admin/app_settings.py:126
+#: core/app_settings.py:142
msgid "Password attribute"
msgstr "Attribut 'mot de passe'"
-#: admin/app_settings.py:128
+#: core/app_settings.py:144
msgid "The attribute used to store user passwords"
msgstr "L'attribut utilisé pour stocker les mots de passe"
-#: admin/app_settings.py:132
+#: core/app_settings.py:148
msgid "Active Directory"
msgstr "Active Directory"
-#: admin/app_settings.py:134
+#: core/app_settings.py:150
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "Indiquer si le serveur LDAP est un Active Directory ou pas"
-#: admin/app_settings.py:137 admin/templates/admin/editdomainform.html:25
-#: extensions/limits/app_settings.py:31 extensions/limits/forms.py:24
-#: extensions/limits/models.py:14 extensions/webmail/app_settings.py:101
-#: extensions/webmail/templates/webmail/folders.html:4
-msgid "Mailboxes"
-msgstr "Boites"
+#: core/app_settings.py:154
+msgid "Administrator groups"
+msgstr "Groupes administrateurs"
-#: admin/app_settings.py:140
-msgid "Handle mailboxes on filesystem"
-msgstr "Gérer les boites sur le système de fichiers"
-
-#: admin/app_settings.py:142
+#: core/app_settings.py:157
msgid ""
-"Rename or remove mailboxes on the filesystem when they get renamed or "
-"removed within Modoboa"
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
-"Renommer ou supprimer les boites sur le système de fichiers quand elles sont "
-"renommées ou supprimées dans Modoboa"
+"Les membres de ces groupes LDAP (Posix) seront créés en tant "
+"qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les "
+"groupes."
-#: admin/app_settings.py:146
-msgid "Mailboxes ower"
-msgstr "Propriétaire des boites"
+#: core/app_settings.py:164
+msgid "Groups search base"
+msgstr "Base de recherche des groupes"
-#: admin/app_settings.py:148
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "Le compte UNIX qui possède les boites sur le système de fichiers"
-
-#: admin/app_settings.py:152
-msgid "Automatic account removal"
-msgstr "Suppression automatique de compte"
-
-#: admin/app_settings.py:154
-msgid "When a mailbox is removed, also remove the associated account"
+#: core/app_settings.py:167
+msgid "The distinguished name of the search base used to find groups"
msgstr ""
-"Lorsqu'une boite aux lettres est supprimée, supprimer le compte associé en "
-"même temps"
+"Le nom distinctif de la base de recherche utilisée pour rechercher les "
+"groupes"
-#: admin/app_settings.py:157 admin/templates/admin/editdomainform.html:7
+#: core/app_settings.py:172
+#: extensions/admin/templates/admin/editdomainform.html:7
msgid "Miscellaneous"
msgstr "Divers"
-#: admin/app_settings.py:160
+#: core/app_settings.py:175
msgid "Maximum log record age"
msgstr "Age maximal d'un enregistrement du journal"
-#: admin/app_settings.py:162
+#: core/app_settings.py:177
msgid "The maximum age in days of a log record"
msgstr "L'age maximal en jours d'un enregistrement du journal"
-#: admin/app_settings.py:166
+#: core/app_settings.py:181
msgid "Items per page"
msgstr "Eléments par page"
-#: admin/app_settings.py:168
+#: core/app_settings.py:183
msgid "Number of displayed items per page"
msgstr "Nombre d'éléments affichés par page"
-#: admin/app_settings.py:172
+#: core/app_settings.py:187
msgid "Default top redirection"
msgstr "Redirection par défaut"
-#: admin/app_settings.py:175
+#: core/app_settings.py:190
msgid "The default redirection used when no application is specified"
msgstr ""
"La redirection appliquée par défaut quand aucune application n'est spécifiée"
-#: admin/app_settings.py:213
+#: core/app_settings.py:218
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr "La longueur d'une clé doit être de 16, 24 ou 32 octets"
-#: admin/app_settings.py:222
+#: core/app_settings.py:227 extensions/postfix_autoreply/app_settings.py:53
msgid "Invalid syntax"
msgstr "Syntaxe invalide"
-#: admin/app_settings.py:245
+#: core/app_settings.py:233
+msgid "Invalid rounds number"
+msgstr "Nombre invalide de tours"
+
+#: core/app_settings.py:256
msgid "This field is required"
msgstr "Ce champ est requis"
-#: admin/forms.py:20 admin/forms.py:497 admin/tables.py:18
-msgid "Alias(es)"
-msgstr "Alias"
+#: core/app_settings.py:317 extensions/amavis/app_settings.py:87
+#: extensions/amavis/templates/amavis/main_action_bar.html:29
+#: extensions/webmail/app_settings.py:73
+msgid "Display"
+msgstr "Afficher"
-#: admin/forms.py:22
-msgid ""
-"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
-"add a new input."
-msgstr ""
-"Alias de ce domaine. Indiquer seulement un nom par champ, appuyer sur ENTREE "
-"pour ajouter un nouveau champ."
+#: core/app_settings.py:321
+msgid "Prefered language"
+msgstr "Langage préféré"
-#: admin/forms.py:59
-msgid "An alias with this name already exists"
-msgstr "Un alias de ce nom existe déjà"
+#: core/app_settings.py:326
+msgid "Prefered language to display pages"
+msgstr "Langage préféré pour afficher les pages"
-#: admin/forms.py:73
-msgid "A domain with this name already exists"
-msgstr "Un domaine de ce nom existe déjà"
-
-#: admin/forms.py:146
-msgid "Create a domain administrator"
-msgstr "Créer un administrateur de domaine"
-
-#: admin/forms.py:148
-msgid "Automatically create an administrator for this domain"
-msgstr "Créer automatiquement un administrateur pour ce domaine"
-
-#: admin/forms.py:152 admin/tables.py:12 admin/tables.py:47
-#: admin/templates/admin/editdomainform.html:13
-#: admin/templates/admin/identities_table.html:5
-#: admin/templates/admin/information.html:8
-#: extensions/sievefilters/forms.py:53
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
-msgid "Name"
-msgstr "Nom"
-
-#: admin/forms.py:154
-msgid ""
-"The administrator's name. Don't include the domain's name here, it will be "
-"automatically appended."
-msgstr ""
-"Le nom de l'administrateur. Ne pas include un nom de domaine ici, il sera "
-"ajouté automatiquement."
-
-#: admin/forms.py:160
-msgid "Create aliases"
-msgstr "Créer des alias"
-
-#: admin/forms.py:162
-msgid "Automatically create standard aliases for this domain"
-msgstr "Créer automatiquement des alias standard pour ce domaine"
-
-#: admin/forms.py:175
-msgid "Invalid format"
-msgstr "Format invalide"
-
-#: admin/forms.py:187
-#, python-format
-msgid "User '%s' already exists"
-msgstr "L'utilisateur '%s' existe déjà"
-
-#: admin/forms.py:235
-msgid "Email address"
-msgstr "Adresse email"
-
-#: admin/forms.py:236
-msgid ""
-"The distribution list address. Use the '*' character to create a 'catchall' "
-"address (ex: *@domain.tld)."
-msgstr ""
-"L'adresse de la liste de distribution. Utiliser le caractère '*' pour créer "
-"une adresse 'attrape tout' (ex: *@domain.tld)."
-
-#: admin/forms.py:239
-msgid "Recipients"
-msgstr "Destinataires"
-
-#: admin/forms.py:240
-msgid ""
-"Mailbox(es) this alias will point to. Indicate only one address per input, "
-"press ENTER to add a new input."
-msgstr ""
-"Destinataire(s) de cet alias. Indiquer seulement une adresse par champ, "
-"appuyer sur ENTREE pour ajouter un nouveau champ."
-
-#: admin/forms.py:278 admin/forms.py:542 admin/forms.py:568
-msgid "Domain does not exist"
-msgstr "Domain inexistant"
-
-#: admin/forms.py:280
-msgid "You don't have access to this domain"
-msgstr "Vous n'avez pas accès à ce domaine"
-
-#: admin/forms.py:300
-msgid "Invalid mailbox"
-msgstr "Boite aux lettres invalide"
-
-#: admin/forms.py:316 admin/models.py:1202
-#, python-format
-msgid "Local recipient %s not found"
-msgstr "Destinataire local %s introuvable"
-
-#: admin/forms.py:318 admin/forms.py:324
-#, python-format
-msgid "Recipient %s already present"
-msgstr "Destinataire %s déjà présent"
-
-#: admin/forms.py:329
-msgid "No recipient defined"
-msgstr "Aucune destinataire défini"
-
-#: admin/forms.py:343 extensions/webmail/forms.py:19
-msgid "Select a file"
-msgstr "Sélectionner un fichier"
-
-#: admin/forms.py:345 admin/forms.py:373
-msgid "Separator"
-msgstr "Séparateur"
-
-#: admin/forms.py:348
-msgid "Continue on error"
-msgstr "Continuer en cas d'erreur"
-
-#: admin/forms.py:349
-msgid "Don't treat duplicated objects as error"
-msgstr "Ne pas traiter les objets dupliqués comme des erreurs"
-
-#: admin/forms.py:364
-msgid "Crypt passwords"
-msgstr "Chiffrer les mots de passe"
-
-#: admin/forms.py:365
-msgid "Check this option if passwords contained in your file are not crypted"
-msgstr ""
-"Cocher cette option si les mots de passe contenus dans votre fichier ne sont "
-"pas chiffrés"
-
-#: admin/forms.py:371
-msgid "File name"
-msgstr "Nom du fichier"
-
-#: admin/forms.py:403 admin/templates/admin/editdomainform.html:13
-#: auth/forms.py:7
+#: core/forms.py:10 extensions/admin/forms/account.py:19
+#: extensions/admin/templates/admin/editdomainform.html:13
msgid "Username"
msgstr "Nom d'utilisateur"
-#: admin/forms.py:405
-msgid "Role"
-msgstr "Rôle"
-
-#: admin/forms.py:406 admin/forms.py:433
-msgid "Choose"
-msgstr "Choisir"
-
-#: admin/forms.py:407
-msgid "What level of permission this user will have"
-msgstr "Quel niveau de permission cet utilisateur aura"
-
-#: admin/forms.py:409 auth/forms.py:11
+#: core/forms.py:14 extensions/admin/forms/account.py:30
msgid "Password"
msgstr "Mot de passe"
-#: admin/forms.py:411 userprefs/forms.py:18
+#: core/forms.py:25
+msgid "Old password"
+msgstr "Ancien mot de passe"
+
+#: core/forms.py:29
+msgid "New password"
+msgstr "Nouveau mot de passe"
+
+#: core/forms.py:33 extensions/admin/forms/account.py:33
msgid "Confirmation"
msgstr "Confirmation"
-#: admin/forms.py:413
-msgid "Enter the same password as above, for verification."
-msgstr "Entrer le même mot de passe, pour vérification."
+#: core/forms.py:56
+msgid "Old password mismatchs"
+msgstr "L'ancien mot de passe est incorrect"
-#: admin/forms.py:424
-msgid "Enabled"
-msgstr "Activé"
+#: core/forms.py:61
+msgid "Passwords mismatch"
+msgstr "Les mots de passe diffèrent"
-#: admin/forms.py:471
-msgid "The two password fields didn't match."
-msgstr "Les deux mots de passe ne correspondent pas."
+#: core/models.py:49
+msgid "password"
+msgstr "mot de passe"
-#: admin/forms.py:477
-msgid "You can't disable your own account"
-msgstr "Vous ne pouvez pas désactiver votre propre compte"
+#: core/models.py:51
+msgid "last login"
+msgstr "dernière connexion"
-#: admin/forms.py:488
-msgid "E-mail"
-msgstr "E-mail"
-
-#: admin/forms.py:490
-msgid "Quota"
-msgstr "Quota"
-
-#: admin/forms.py:492
-msgid ""
-"Quota in MB for this mailbox. Define a custom value or use domain's default "
-"one. Leave empty to define an unlimited value (not allowed for domain "
-"administrators)."
-msgstr ""
-"Quota en Mo pour cette boite. Définir une valeur spécifique ou utiliser la "
-"valeur par défaut du domaine. Laisser vide pour définir une valeur illimitée "
-"(interdit pour les admins. de domaine)."
-
-#: admin/forms.py:499
-msgid ""
-"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
-"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
-"*@domain.tld)."
-msgstr ""
-"Alias de cette boite. Indiquer seulement une adresse par champ, appuyer sur "
-"ENTREE pour ajouter un nouveau champ. Utiliser le caractère '*' pour créer "
-"une adresse 'attrape tout' (ex: *@domain.tld)."
-
-#: admin/forms.py:550
-#, python-format
-msgid "Mailbox %s already exists"
-msgstr "La boite %s existe déjà"
-
-#: admin/forms.py:610
-msgid "Domain(s)"
-msgstr "Domaine(s)"
-
-#: admin/forms.py:612
-msgid "Domain(s) that user administrates"
-msgstr "Domaine(s) que cet utilisateur administre"
-
-#: admin/forms.py:654 admin/views.py:450
-msgid "Mail"
-msgstr "Courrier"
-
-#: admin/forms.py:656
-msgid "Permissions"
-msgstr "Permissions"
-
-#: admin/models.py:80
+#: core/models.py:80
msgid "You can't delete your own account"
msgstr "Vous ne pouvez pas supprimer votre propre compte"
-#: admin/models.py:161
+#: core/models.py:116
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é"
-#: admin/models.py:167
-#, python-format
-msgid "Failed to update password: %s"
-msgstr "Echec de la mise à jour du mot de passe : %s"
-
-#: admin/models.py:194
+#: core/models.py:169
msgid "account"
msgstr "compte"
-#: admin/models.py:496 admin/models.py:733 admin/models.py:795
+#: core/models.py:320 extensions/admin/models/domain.py:135
+#: 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"
-#: admin/models.py:500
+#: core/models.py:324
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"
-#: admin/models.py:506
+#: core/models.py:330
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "L'utilisateur simple '%s' doit avoir une adresse email valide"
-#: admin/models.py:510
+#: core/models.py:334
#, 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"
-#: admin/models.py:534
-#, python-format
-msgid "Account import failed (%s): domain does not exist"
-msgstr "L'import du compte a échoué (%s): le domaine n'existe pas"
-
-#: admin/models.py:624 admin/models.py:746
-msgid "name"
-msgstr "Nom"
-
-#: admin/models.py:625
-msgid "The domain name"
-msgstr "Le nom du domaine"
-
-#: admin/models.py:627
-msgid "Default quota in MB applied to mailboxes"
-msgstr "Quota par défaut en Mo appliqué aux boites aux lettres"
-
-#: admin/models.py:630 admin/models.py:753 admin/models.py:1045
-#: admin/models.py:1217 extensions/postfix_autoreply/models.py:27
+#: core/models.py:403 extensions/admin/models/alias.py:33
+#: extensions/admin/models/domain.py:32
+#: extensions/admin/models/domain_alias.py:17
+#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_relay_domains/models.py:85
+#: extensions/postfix_relay_domains/models.py:167
msgid "enabled"
msgstr "Activé"
-#: admin/models.py:631
-msgid "Check to activate this domain"
-msgstr "Cocher pour activer ce domaine"
-
-#: admin/models.py:747
-msgid "The alias name"
-msgstr "Le nom de l'alias"
-
-#: admin/models.py:749
-msgid "target"
-msgstr "cible"
-
-#: admin/models.py:750
-msgid "The domain this alias points to"
-msgstr "Le domaine vers lequel cet alias pointe"
-
-#: admin/models.py:754 admin/models.py:1046
-msgid "Check to activate this alias"
-msgstr "Cocher pour activer cet alias"
-
-#: admin/models.py:801
-#, python-format
-msgid "Unknown domain %s"
-msgstr "Domain %s inconnu"
-
-#: admin/models.py:818 admin/models.py:1031
-msgid "address"
-msgstr "Adresse"
-
-#: admin/models.py:819
-msgid "Mailbox address (without the @domain.tld part)"
-msgstr "Adresse de la boite aux lettres (sans la partie @domain.tld)"
-
-#: admin/models.py:877
-#, python-format
-msgid "Failed to retrieve mailbox location (%s)"
-msgstr "Impossible de récuperer l'emplacement de la boite (%s)"
-
-#: admin/models.py:921
-#, 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)"
-
-#: admin/models.py:926
-msgid "A quota is required"
-msgstr "Un quota est requis"
-
-#: admin/models.py:1032
-msgid ""
-"The alias address (without the domain part). For a 'catch-all' address, just "
-"enter an * character."
-msgstr ""
-"L'adresse de l'alias (sans la partie domaine). Pour une adresse 'attrape-"
-"tout', entrer juste un caractère *."
-
-#: admin/models.py:1036
-msgid "mailboxes"
-msgstr "Boites aux lettres"
-
-#: admin/models.py:1037
-msgid "The mailboxes this alias points to"
-msgstr "Les boites aux lettres sur lesquelles pointe cet alias"
-
-#: admin/models.py:1041
-msgid "The aliases this alias points to"
-msgstr "Les alias vers lesquels pointe cet alias"
-
-#: admin/models.py:1089
-msgid "distribution list"
-msgstr "liste de distribution"
-
-#: admin/models.py:1090
-msgid "forward"
-msgstr "transfert"
-
-#: admin/models.py:1091
-msgid "alias"
-msgstr "alias"
-
-#: admin/models.py:1170
-#, python-format
-msgid "Invalid line: %s"
-msgstr "Ligne invalide : %s"
-
-#: admin/models.py:1175
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "Domain '%s' inexistant"
-
-#: admin/models.py:1218
+#: core/models.py:404
msgid "Check to enable this extension"
msgstr "Cocher pour activer cette extension"
-#: admin/models.py:1318
+#: core/models.py:474
msgid "added"
msgstr "ajouté"
-#: admin/models.py:1321
+#: core/models.py:477
msgid "modified"
msgstr "modifié"
-#: admin/models.py:1324
-msgid "deleted"
-msgstr "Supprimé"
-
-#: admin/models.py:1326
+#: core/models.py:479 core/models.py:503
#, 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"
-#: admin/tables.py:14
-msgid "Edit domain"
-msgstr "Editer le domaine"
+#: core/models.py:505
+msgid "deleted"
+msgstr "Supprimé"
-#: admin/tables.py:21 admin/templates/admin/identities_table.html:8
-#: admin/templates/admin/listing.html:17 extensions/sievefilters/views.py:83
-#: extensions/sievefilters/templates/sievefilters/filter.html:17
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
-#: extensions/webmail/templatetags/webextras.py:97
-msgid "Actions"
-msgstr "Actions"
+#: core/tables.py:8 core/templates/core/information.html:8
+#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:182
+#: extensions/admin/templates/admin/domains_table.html:5
+#: extensions/admin/templates/admin/editdomainform.html:13
+#: extensions/admin/templates/admin/identities_table.html:5
+#: extensions/sievefilters/forms.py:60
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
+msgid "Name"
+msgstr "Nom"
-#: admin/tables.py:48
+#: core/tables.py:10 extensions/admin/tables.py:11
msgid "Version"
msgstr "Version"
-#: admin/tables.py:49
+#: core/tables.py:12 extensions/admin/tables.py:13
msgid "Description"
msgstr "Description"
-#: admin/views.py:88
-msgid "New domain"
-msgstr "Nouveau domaine"
-
-#: admin/views.py:89 admin/views.py:98 admin/views.py:228 admin/views.py:444
-#: admin/views.py:451 extensions/sievefilters/views.py:129
-#: extensions/sievefilters/views.py:198 extensions/webmail/views.py:136
-msgid "Create"
-msgstr "Créer"
-
-#: admin/views.py:95 admin/views.py:448
-msgid "Next"
-msgstr "Suivante"
-
-#: admin/views.py:97
-msgid "Options"
-msgstr "Options"
-
-#: admin/views.py:99 admin/views.py:452
-msgid "Previous"
-msgstr "Précédente"
-
-#: admin/views.py:112
-msgid "Domain created"
-msgstr "Domaine créé"
-
-#: admin/views.py:146 admin/views.py:285 admin/views.py:498
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
-#: extensions/sievefilters/views.py:148 extensions/webmail/views.py:168
-#: userprefs/templates/userprefs/forward.html:8
-#: userprefs/templates/userprefs/profile.html:8
-msgid "Update"
-msgstr "Mettre à jour"
-
-#: admin/views.py:162
-msgid "Domain modified"
-msgstr "Domaine modifié"
-
-#: admin/views.py:189
-msgid "You can't delete your own domain"
-msgstr "Vous ne pouvez pas supprimer votre propre domaine"
-
-#: admin/views.py:192
-msgid "Domain deleted"
-msgid_plural "Domains deleted"
-msgstr[0] "Domaine supprimé"
-msgstr[1] "Domaines supprimés"
-
-#: admin/views.py:207
-msgid "Alias with this name already exists"
-msgstr "Un alias de ce nom existe déjà"
-
-#: admin/views.py:250
-msgid "New distribution list"
-msgstr "Nouvelle liste de distribution"
-
-#: admin/views.py:251
-msgid "Distribution list created"
-msgstr "Liste de distribution créée"
-
-#: admin/views.py:260
-msgid "New alias"
-msgstr "Nouvel alias"
-
-#: admin/views.py:261
-msgid "Alias created"
-msgstr "Alias créé"
-
-#: admin/views.py:270
-msgid "New forward"
-msgstr "Nouveau transfert"
-
-#: admin/views.py:271
-msgid "Forward created"
-msgstr "Transfert créé"
-
-#: admin/views.py:289
-msgid "Distribution list modified"
-msgstr "Liste de distribution modifiée"
-
-#: admin/views.py:291
-msgid "Forward modified"
-msgstr "Transfert modifié"
-
-#: admin/views.py:293
-msgid "Alias modified"
-msgstr "Alias modifié"
-
-#: admin/views.py:402 admin/views.py:545 admin/views.py:550
-#: extensions/amavis/views.py:204 extensions/amavis/views.py:210
-#: extensions/amavis/views.py:243 extensions/amavis/views.py:247
-#: extensions/amavis/views.py:249 extensions/webmail/views.py:41
-#: extensions/webmail/views.py:68 extensions/webmail/views.py:81
-#: extensions/webmail/views.py:98 extensions/webmail/views.py:114
-#: extensions/webmail/views.py:200 extensions/webmail/views.py:427
-#: extensions/webmail/views.py:438 extensions/webmail/views.py:465
-#: lib/formutils.py:32 lib/formutils.py:37
-msgid "Invalid request"
-msgstr "Requête invalide"
-
-#: admin/views.py:441
-msgid "New account"
-msgstr "Nouveau compte"
-
-#: admin/views.py:465
-msgid "Account created"
-msgstr "Compte créé"
-
-#: admin/views.py:513
-msgid "Account updated"
-msgstr "Compte mis à jour"
-
-#: admin/views.py:535
-msgid "Account deleted"
-msgid_plural "Accounts deleted"
-msgstr[0] "Compte supprimé"
-msgstr[1] "Comptes supprimés"
-
-#: admin/views.py:590
-msgid "Parameters saved"
-msgstr "Paramètres enregistrés"
-
-#: admin/views.py:636
-msgid "Modifications applied."
-msgstr "Modifications appliquées."
-
-#: admin/views.py:743
-#, python-format
-msgid "Object already exists: %s"
-msgstr "L'objet existe déjà : %s"
-
-#: admin/views.py:745
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d objets importés avec succès"
-
-#: admin/views.py:763
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-"account; loginname; password; first name; last name; enabled; group; "
-"address[, domain, ...] \n"
-"alias; address; enabled; internal recipient \n"
-"forward; address; enabled; external recipient \n"
-"dlist; address; enabled; recipient; recipient; ... \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of "
-"the previous values.
\n"
-"\n"
-"You can use a different character as separator.
\n"
-msgstr ""
-"Fournir un fichier CSV ou chaque ligne respècte un des formats suivants :\n"
-"\n"
-"account; identifiant; mot de passe; prénom; nom; activé, groupe; "
-"addresse[, domaine, ...] \n"
-"alias; addresse; activé; destinataire interne \n"
-"forward; addresse; activé; destinataire externe \n"
-"dlist; addresse; activée; destinataire; destinataire; ... \n"
-" \n"
-"Le premier élément de chaque ligne est obligatoire et doit être égal à "
-"l'une des valeurs précédentes.
\n"
-"\n"
-"Vous pouvez utiliser un caractère différent comme séparateur.
\n"
-
-#: admin/views.py:775
-msgid "Import identities"
-msgstr "Importer des identités"
-
-#: admin/views.py:776 admin/views.py:846 admin/templatetags/admin_extras.py:87
-#: admin/templatetags/admin_extras.py:144
-msgid "Import"
-msgstr "Importer"
-
-#: admin/views.py:806
-msgid "Export identities"
-msgstr "Export d'identités"
-
-#: admin/views.py:807 admin/views.py:863 admin/templatetags/admin_extras.py:93
-#: admin/templatetags/admin_extras.py:150
-msgid "Export"
-msgstr "Exporter"
-
-#: admin/views.py:835
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-" domain; name; quota; enabled \n"
-" domainalias; name; targeted domain; enabled \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of "
-"the previous values.
\n"
-"You can use a different character as separator.
\n"
-msgstr ""
-"Fournir un fichier CSV ou chaque ligne respècte un des formats suivants :\n"
-"\n"
-"domain; nom; quota; activé \n"
-"domainalias; nom; domaine cible; activé \n"
-" \n"
-"Le premier élément de chaque ligne est obligatoire et doit être égal à "
-"l'une des valeurs précédentes.
\n"
-"Vous pouvez utiliser un caractère différent comme séparateur.
\n"
-
-#: admin/views.py:845
-msgid "Import domains"
-msgstr "Importer des domaines"
-
-#: admin/views.py:862
-msgid "Export domains"
-msgstr "Export de domaines"
-
-#: admin/templates/admin/domain_general_form.html:3
-#: admin/templates/admin/mailform.html:3
-#: admin/templates/admin/newdomainform.html:3
-msgid "MB"
-msgstr "Mo"
-
-#: admin/templates/admin/domains.html:2 admin/templatetags/admin_extras.py:23
-#: extensions/limits/app_settings.py:19 extensions/limits/forms.py:16
-#: extensions/limits/models.py:12
-msgid "Domains"
-msgstr "Domaines"
-
-#: admin/templates/admin/editdomainform.html:4
-msgid "Administrators"
-msgstr "Administrateurs"
-
-#: admin/templates/admin/editdomainform.html:19
-msgid "No domain administrator defined"
-msgstr "Aucun administrateur de domaine défini"
-
-#: admin/templates/admin/editdomainform.html:22
-msgid "Creation date"
-msgstr "Date de création"
-
-#: admin/templates/admin/editdomainform.html:23
-msgid "Last modification date"
-msgstr "Date de dernière modification"
-
-#: admin/templates/admin/editdomainform.html:24
-#: extensions/limits/app_settings.py:25 extensions/limits/forms.py:20
-#: extensions/limits/models.py:13
-msgid "Domain aliases"
-msgstr "Alias de domaine"
-
-#: admin/templates/admin/editdomainform.html:26
-#: extensions/limits/app_settings.py:37 extensions/limits/forms.py:28
-#: extensions/limits/models.py:15
-msgid "Mailbox aliases"
-msgstr "Alias de boite."
-
-#: admin/templates/admin/extensions.html:2
-#: admin/templatetags/admin_extras.py:51
+#: core/templates/core/extensions.html:2 core/templatetags/core_tags.py:48
msgid "Extensions"
msgstr "Extensions"
-#: admin/templates/admin/extensions.html:2
+#: core/templates/core/extensions.html:2
msgid "Choose the extension(s) to use"
msgstr "Choisir les extensions à utiliser"
-#: admin/templates/admin/extensions.html:6
-#: admin/templates/admin/parameters.html:8
-#: userprefs/templates/userprefs/preferences.html:8
+#: core/templates/core/extensions.html:6 core/templates/core/parameters.html:7
+#: core/templates/core/user_preferences.html:8
msgid "Save"
msgstr "Enregistrer"
-#: admin/templates/admin/identities.html:2
-#: admin/templatetags/admin_extras.py:31
-msgid "Identities"
-msgstr "Identités"
-
-#: admin/templates/admin/identities_table.html:6
-msgid "Fullname/Recipient"
-msgstr "Nom complet/Destinataire"
-
-#: admin/templates/admin/identities_table.html:7
-msgid "Tags"
-msgstr "Tags"
-
-#: admin/templates/admin/importform.html:5
-#: admin/templatetags/admin_extras.py:290
-msgid "Help"
-msgstr "Aide"
-
-#: admin/templates/admin/importform.html:12
-msgid "Importing..."
-msgstr "Import en cours..."
-
-#: admin/templates/admin/information.html:2
-#: admin/templatetags/admin_extras.py:56
+#: core/templates/core/information.html:2 core/templatetags/core_tags.py:53
msgid "Information"
msgstr "Information"
-#: admin/templates/admin/information.html:2
+#: core/templates/core/information.html:2
msgid "Various information about Modoboa"
msgstr "Informations variées à propos de Modoboa"
-#: admin/templates/admin/information.html:3
+#: core/templates/core/information.html:3
msgid "is currently in use."
msgstr "est actuellement utilisé."
-#: admin/templates/admin/information.html:5
+#: core/templates/core/information.html:5
msgid "Active users"
msgstr "Utilisateurs actifs"
-#: admin/templates/admin/information.html:9
+#: core/templates/core/information.html:9
msgid "Group name"
msgstr "Nom du groupe"
-#: admin/templates/admin/information.html:10
+#: core/templates/core/information.html:10
msgid "Last login"
msgstr "Dernière connexion"
-#: admin/templates/admin/listing.html:14
-#: extensions/stats/templates/stats/index.html:28
-msgid "Filter"
-msgstr "Filter"
-
-#: admin/templates/admin/logs.html:2 admin/templatetags/admin_extras.py:60
+#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:57
msgid "Logs"
msgstr "Journaux"
-#: admin/templates/admin/logs.html:2
+#: core/templates/core/logs.html:2
msgid "Previously on Modoboa..."
msgstr "Précédemment dans Modoboa..."
-#: admin/templates/admin/logs.html:6 extensions/amavis/sql_listing.py:25
-#: extensions/webmail/lib.py:38 extensions/webmail/lib.py:411
+#: core/templates/core/logs.html:6 extensions/amavis/sql_listing.py:46
+#: extensions/webmail/lib.py:48 extensions/webmail/lib.py:425
msgid "Date"
msgstr "Date"
-#: admin/templates/admin/logs.html:7
+#: core/templates/core/logs.html:7
msgid "Level"
msgstr "Niveau"
-#: admin/templates/admin/logs.html:8
+#: core/templates/core/logs.html:8
msgid "Logger"
msgstr "Logger"
-#: admin/templates/admin/logs.html:9
+#: core/templates/core/logs.html:9
msgid "Message"
msgstr "Message"
-#: admin/templates/admin/mailboxes_raw.html:3
-msgid "Choose a value"
-msgstr "Choisir une valeur"
-
-#: admin/templates/admin/mailform.html:3
-msgid "Use domain default value"
-msgstr "Utiliser la valeur par défaut du domaine"
-
-#: admin/templates/admin/parameters.html:3
-#: admin/templatetags/admin_extras.py:65
+#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:62
msgid "Parameters"
msgstr "Paramètres"
-#: admin/templates/admin/parameters.html:3
+#: core/templates/core/parameters.html:2
msgid "Configure Modoboa"
msgstr "Configurez Modoboa"
-#: admin/templates/admin/quotas.html:5
-msgid "Address"
-msgstr "Adresse"
-
-#: admin/templates/admin/quotas.html:6
-msgid "Value"
-msgstr "Valeur"
-
-#: admin/templates/admin/quotas.html:7
-msgid "Limit"
-msgstr "Limite"
-
-#: admin/templates/admin/quotas.html:8
-#, python-format
-msgid "Usage (%%)"
-msgstr "Utilisation (%%)"
-
-#: admin/templates/admin/searchform.html:6
-msgid "Search"
-msgstr "Chercher"
-
-#: admin/templates/admin/settings_header.html:3
+#: core/templates/core/settings_header.html:3
msgid "Modoboa settings"
msgstr "Paramètres de Modoboa"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_m"
-msgstr "Activé"
+#: core/templates/core/user_index.html:2 core/templatetags/core_tags.py:81
+msgid "Settings"
+msgstr "Configuration"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_f"
-msgstr "Activée"
+#: core/templates/core/user_preferences.html:2
+#: core/templatetags/core_tags.py:108
+msgid "Preferences"
+msgstr "Préférences"
-#: admin/templatetags/admin_extras.py:36
+#: core/templates/core/user_preferences.html:2
+msgid "Customize Modoboa"
+msgstr "Personnalisez Modoboa"
+
+#: core/templates/core/user_profile.html:2 core/templatetags/core_tags.py:104
+msgid "Profile"
+msgstr "Profil"
+
+#: core/templates/core/user_profile.html:2
+msgid "Update your personal information"
+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:107 extensions/admin/views/domain.py:165
+#: extensions/admin/views/identity.py:197
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
+#: extensions/postfix_relay_domains/views.py:63
+#: extensions/sievefilters/views.py:163 extensions/webmail/views.py:170
+#: extensions/webmail/views.py:205
+msgid "Update"
+msgstr "Mettre à jour"
+
+#: core/templatetags/core_tags.py:21
msgid "Modoboa"
msgstr "Modoboa"
-#: admin/templatetags/admin_extras.py:81
-msgid "Add domain"
-msgstr "Ajouter un domaine"
+#: core/templatetags/core_tags.py:90
+msgid "Logout"
+msgstr "Déconnexion"
-#: admin/templatetags/admin_extras.py:110
-msgid "List identities"
-msgstr "Lister les identités"
+#: core/views/admin.py:47
+msgid "Parameters saved"
+msgstr "Paramètres enregistrés"
-#: admin/templatetags/admin_extras.py:115
-msgid "List quotas"
-msgstr "Lister les quotas"
+#: core/views/admin.py:90
+msgid "Modifications applied."
+msgstr "Modifications appliquées."
-#: admin/templatetags/admin_extras.py:120
-msgid "Add account"
-msgstr "Ajouter un compte"
-
-#: admin/templatetags/admin_extras.py:126
-msgid "Add alias"
-msgstr "Ajouter un alias"
-
-#: admin/templatetags/admin_extras.py:132
-msgid "Add forward"
-msgstr "Ajouter un transfert"
-
-#: admin/templatetags/admin_extras.py:138
-msgid "Add distribution list"
-msgstr "Ajouter une liste de distribution"
-
-#: admin/templatetags/admin_extras.py:171
-msgid "View the domain's identities"
-msgstr "Voir les identités du domaine"
-
-#: admin/templatetags/admin_extras.py:178
-#: admin/templatetags/admin_extras.py:194
-#: admin/templatetags/admin_extras.py:201
-#, python-format
-msgid "Delete %s?"
-msgstr "Supprimer %s ?"
-
-#: admin/templatetags/admin_extras.py:223
-msgid "Remove this permission"
-msgstr "Supprimer cette permission"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "Yes"
-msgstr "Oui"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "No"
-msgstr "Non"
-
-#: auth/views.py:32
+#: core/views/auth.py:30
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Utiliseur '%s' connecté avec succès"
-#: auth/views.py:44
+#: core/views/auth.py:43
msgid "Your username and password didn't match. Please try again."
msgstr ""
"Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez "
"réessayer."
-#: auth/views.py:67
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' logged out"
msgstr "Utilisateur '%s' déconnecté"
+#: core/views/user.py:35
+msgid "Profile updated"
+msgstr "Profil mis à jour"
+
+#: core/views/user.py:58
+msgid "Preferences saved"
+msgstr "Préférences enregistrées"
+
#: demo/__init__.py:17
msgid "Test messages"
msgstr "Message de test"
@@ -1157,7 +571,7 @@ msgstr "Envoyer un virus"
msgid "Send spam"
msgstr "Envoyer un spam"
-#: demo/views.py:17 demo/views.py:41
+#: demo/views.py:18 demo/views.py:43
msgid "Message sent"
msgstr "Message envoyé"
@@ -1192,27 +606,853 @@ msgstr ""
" la liste "
"de diffusion .\n"
-#: extensions/amavis/__init__.py:22
+#: extensions/admin/__init__.py:48
+msgid "Administration console"
+msgstr "Console d'administration"
+
+#: extensions/admin/__init__.py:50
+msgid "Web based console to manage domains, accounts and aliases"
+msgstr "Console web pour gérer les domains, comptes et alias"
+
+#: extensions/admin/__init__.py:55
+msgid "Administration"
+msgstr "Administration"
+
+#: extensions/admin/__init__.py:79
+#: extensions/admin/templates/admin/domains.html:2
+#: extensions/limits/app_settings.py:19 extensions/limits/models.py:17
+msgid "Domains"
+msgstr "Domaines"
+
+#: extensions/admin/__init__.py:85
+#: extensions/admin/templates/admin/identities.html:2
+msgid "Identities"
+msgstr "Identités"
+
+#: extensions/admin/__init__.py:100
+#: extensions/admin/templates/admin/forward.html:2
+#: extensions/webmail/templatetags/webmail_tags.py:28
+msgid "Forward"
+msgstr "Transfert"
+
+#: extensions/admin/__init__.py:163
+#, python-format
+msgid "Account import failed (%s): domain does not exist"
+msgstr "L'import du compte a échoué (%s): le domaine n'existe pas"
+
+#: extensions/admin/app_settings.py:11
+#: extensions/admin/templates/admin/editdomainform.html:25
+#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
+#: extensions/webmail/app_settings.py:101
+#: extensions/webmail/templates/webmail/folders.html:4
+msgid "Mailboxes"
+msgstr "Boites"
+
+#: extensions/admin/app_settings.py:14
+msgid "Handle mailboxes on filesystem"
+msgstr "Gérer les boites sur le système de fichiers"
+
+#: extensions/admin/app_settings.py:16
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Renommer ou supprimer les boites sur le système de fichiers quand elles sont "
+"renommées ou supprimées dans Modoboa"
+
+#: extensions/admin/app_settings.py:20
+msgid "Mailboxes ower"
+msgstr "Propriétaire des boites"
+
+#: extensions/admin/app_settings.py:22
+msgid "The UNIX account who owns mailboxes on the filesystem"
+msgstr "Le compte UNIX qui possède les boites sur le système de fichiers"
+
+#: extensions/admin/app_settings.py:26
+msgid "Default domain quota"
+msgstr "Quota de domaine par défaut"
+
+#: extensions/admin/app_settings.py:29
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+"Quota par défaut (en Mo) appliqué aux domaines fraichement créés et ne "
+"spécifiant pas de valeur. 0 signifie qu'aucun quota ne sera appliqué."
+
+#: extensions/admin/app_settings.py:36
+msgid "Automatic account removal"
+msgstr "Suppression automatique de compte"
+
+#: extensions/admin/app_settings.py:38
+msgid "When a mailbox is removed, also remove the associated account"
+msgstr ""
+"Lorsqu'une boite aux lettres est supprimée, supprimer le compte associé en "
+"même temps"
+
+#: extensions/admin/app_settings.py:64 extensions/admin/forms/account.py:177
+#: extensions/admin/forms/domain.py:56
+msgid "Must be a positive integer"
+msgstr "Doit être un entier positif"
+
+#: extensions/admin/lib.py:28
+msgid "A mailbox is required"
+msgstr "Une boite aux lettres est requise"
+
+#: extensions/admin/forms/account.py:21
+msgid "The user's name. Must be a valid e-mail address for simple users."
+msgstr ""
+"Le nom de l'utilisateur. Doit être une adresse e-mail valide pour les "
+"utilisateurs simples."
+
+#: extensions/admin/forms/account.py:25
+msgid "Role"
+msgstr "Rôle"
+
+#: extensions/admin/forms/account.py:26 extensions/admin/forms/account.py:54
+msgid "Choose"
+msgstr "Choisir"
+
+#: extensions/admin/forms/account.py:27
+msgid "What level of permission this user will have"
+msgstr "Quel niveau de permission cet utilisateur aura"
+
+#: extensions/admin/forms/account.py:35
+msgid "Enter the same password as above, for verification."
+msgstr "Entrer le même mot de passe, pour vérification."
+
+#: extensions/admin/forms/account.py:46
+msgid "Enabled"
+msgstr "Activé"
+
+#: extensions/admin/forms/account.py:93
+msgid "The two password fields didn't match."
+msgstr "Les deux mots de passe ne correspondent pas."
+
+#: extensions/admin/forms/account.py:99
+msgid "You can't disable your own account"
+msgstr "Vous ne pouvez pas désactiver votre propre compte"
+
+#: extensions/admin/forms/account.py:110
+msgid "E-mail"
+msgstr "E-mail"
+
+#: extensions/admin/forms/account.py:112 extensions/admin/forms/domain.py:17
+msgid "Quota"
+msgstr "Quota"
+
+#: extensions/admin/forms/account.py:114
+msgid ""
+"Quota in MB for this mailbox. Define a custom value or use domain's default "
+"one. Leave empty to define an unlimited value (not allowed for domain "
+"administrators)."
+msgstr ""
+"Quota en Mo pour cette boite. Définir une valeur spécifique ou utiliser la "
+"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:122 extensions/admin/forms/domain.py:26
+#: extensions/admin/templates/admin/domains_table.html:6
+#: extensions/postfix_relay_domains/forms.py:12
+msgid "Alias(es)"
+msgstr "Alias"
+
+#: extensions/admin/forms/account.py:125
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+"*@domain.tld)."
+msgstr ""
+"Alias de cette boite. Indiquer seulement une adresse par champ, appuyer sur "
+"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:186 extensions/admin/forms/account.py:216
+#: extensions/admin/forms/alias.py:65
+msgid "Domain does not exist"
+msgstr "Domain inexistant"
+
+#: extensions/admin/forms/account.py:195
+#, python-format
+msgid "Mailbox %s already exists"
+msgstr "La boite %s existe déjà"
+
+#: extensions/admin/forms/account.py:283
+msgid "Domain(s)"
+msgstr "Domaine(s)"
+
+#: extensions/admin/forms/account.py:285
+msgid "Domain(s) that user administrates"
+msgstr "Domaine(s) que cet utilisateur administre"
+
+#: extensions/admin/forms/account.py:327
+#: extensions/admin/views/identity.py:130
+msgid "Mail"
+msgstr "Courrier"
+
+#: extensions/admin/forms/account.py:329
+msgid "Permissions"
+msgstr "Permissions"
+
+#: extensions/admin/forms/alias.py:16
+msgid "Email address"
+msgstr "Adresse email"
+
+#: extensions/admin/forms/alias.py:18
+msgid ""
+"The distribution list address. Use the '*' character to create a 'catchall' "
+"address (ex: *@domain.tld)."
+msgstr ""
+"L'adresse de la liste de distribution. Utiliser le caractère '*' pour créer "
+"une adresse 'attrape tout' (ex: *@domain.tld)."
+
+#: extensions/admin/forms/alias.py:23
+msgid "Recipients"
+msgstr "Destinataires"
+
+#: extensions/admin/forms/alias.py:25
+msgid ""
+"Mailbox(es) this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Destinataire(s) de cet alias. Indiquer seulement une adresse par champ, "
+"appuyer sur ENTREE pour ajouter un nouveau champ."
+
+#: extensions/admin/forms/alias.py:68
+msgid "You don't have access to this domain"
+msgstr "Vous n'avez pas accès à ce domaine"
+
+#: extensions/admin/forms/alias.py:90
+msgid "Invalid mailbox"
+msgstr "Boite aux lettres invalide"
+
+#: extensions/admin/forms/alias.py:108 extensions/admin/models/alias.py:182
+#, python-format
+msgid "Local recipient %s not found"
+msgstr "Destinataire local %s introuvable"
+
+#: extensions/admin/forms/alias.py:112 extensions/admin/forms/alias.py:120
+#, python-format
+msgid "Recipient %s already present"
+msgstr "Destinataire %s déjà présent"
+
+#: extensions/admin/forms/alias.py:126
+msgid "No recipient defined"
+msgstr "Aucune destinataire défini"
+
+#: extensions/admin/forms/domain.py:20
+msgid ""
+"Default quota in MB applied to mailboxes. Leave empty to use the default "
+"value."
+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
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+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/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/postfix_relay_domains/forms.py:49
+#: extensions/postfix_relay_domains/forms.py:71
+msgid "domain"
+msgstr "domaine"
+
+#: extensions/admin/forms/domain.py:176
+msgid "Create a domain administrator"
+msgstr "Créer un administrateur de domaine"
+
+#: extensions/admin/forms/domain.py:178
+msgid "Automatically create an administrator for this domain"
+msgstr "Créer automatiquement un administrateur pour ce domaine"
+
+#: extensions/admin/forms/domain.py:185
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Le nom de l'administrateur. Ne pas include un nom de domaine ici, il sera "
+"ajouté automatiquement."
+
+#: extensions/admin/forms/domain.py:193
+msgid "Create aliases"
+msgstr "Créer des alias"
+
+#: extensions/admin/forms/domain.py:195
+msgid "Automatically create standard aliases for this domain"
+msgstr "Créer automatiquement des alias standard pour ce domaine"
+
+#: extensions/admin/forms/domain.py:211
+msgid "Invalid format"
+msgstr "Format invalide"
+
+#: extensions/admin/forms/domain.py:225
+#, python-format
+msgid "User '%s' already exists"
+msgstr "L'utilisateur '%s' existe déjà"
+
+#: extensions/admin/forms/export.py:7
+msgid "File name"
+msgstr "Nom du fichier"
+
+#: extensions/admin/forms/export.py:10 extensions/admin/forms/import_.py:8
+msgid "Separator"
+msgstr "Séparateur"
+
+#: extensions/admin/forms/forward.py:12
+msgid "Recipient(s)"
+msgstr "Destinataire(s)"
+
+#: extensions/admin/forms/forward.py:15
+msgid "Indicate one or more recipients separated by a ','"
+msgstr "Indiquer un ou plusieurs destinataires séparés par une ','"
+
+#: extensions/admin/forms/forward.py:18
+msgid "Keep local copies"
+msgstr "Conserver des copies locales"
+
+#: extensions/admin/forms/forward.py:20
+msgid "Forward messages and store copies into your local mailbox"
+msgstr "Transférer les messages et conserver une copie dans votre boite locale"
+
+#: extensions/admin/forms/forward.py:38
+msgid ""
+"You can't define a forward to a local destination. Please ask your "
+"administrator to create an alias instead."
+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:26
+msgid "Select a file"
+msgstr "Sélectionner un fichier"
+
+#: extensions/admin/forms/import_.py:11
+msgid "Continue on error"
+msgstr "Continuer en cas d'erreur"
+
+#: extensions/admin/forms/import_.py:12
+msgid "Don't treat duplicated objects as error"
+msgstr "Ne pas traiter les objets dupliqués comme des erreurs"
+
+#: extensions/admin/forms/import_.py:27
+msgid "Crypt passwords"
+msgstr "Chiffrer les mots de passe"
+
+#: extensions/admin/forms/import_.py:28
+msgid "Check this option if passwords contained in your file are not crypted"
+msgstr ""
+"Cocher cette option si les mots de passe contenus dans votre fichier ne sont "
+"pas chiffrés"
+
+#: extensions/admin/models/alias.py:16 extensions/admin/models/mailbox.py:51
+msgid "address"
+msgstr "Adresse"
+
+#: extensions/admin/models/alias.py:18
+msgid ""
+"The alias address (without the domain part). For a 'catch-all' address, just "
+"enter an * character."
+msgstr ""
+"L'adresse de l'alias (sans la partie domaine). Pour une adresse 'attrape-"
+"tout', entrer juste un caractère *."
+
+#: extensions/admin/models/alias.py:24
+msgid "mailboxes"
+msgstr "Boites aux lettres"
+
+#: extensions/admin/models/alias.py:25
+msgid "The mailboxes this alias points to"
+msgstr "Les boites aux lettres sur lesquelles pointe cet alias"
+
+#: extensions/admin/models/alias.py:29
+msgid "The aliases this alias points to"
+msgstr "Les alias vers lesquels pointe cet alias"
+
+#: extensions/admin/models/alias.py:34
+#: extensions/admin/models/domain_alias.py:18
+#: extensions/postfix_relay_domains/models.py:168
+msgid "Check to activate this alias"
+msgstr "Cocher pour activer cet alias"
+
+#: extensions/admin/models/alias.py:79
+msgid "distribution list"
+msgstr "liste de distribution"
+
+#: extensions/admin/models/alias.py:80
+msgid "forward"
+msgstr "transfert"
+
+#: extensions/admin/models/alias.py:81
+msgid "alias"
+msgstr "alias"
+
+#: extensions/admin/models/alias.py:150
+#, python-format
+msgid "Invalid line: %s"
+msgstr "Ligne invalide : %s"
+
+#: extensions/admin/models/alias.py:155
+#, python-format
+msgid "Domain '%s' does not exist"
+msgstr "Domain '%s' inexistant"
+
+#: extensions/admin/models/domain.py:28
+#: extensions/admin/models/domain_alias.py:10
+#: extensions/postfix_relay_domains/models.py:58
+#: extensions/postfix_relay_domains/models.py:76
+#: extensions/postfix_relay_domains/models.py:159
+msgid "name"
+msgstr "Nom"
+
+#: extensions/admin/models/domain.py:29
+#: extensions/postfix_relay_domains/models.py:77
+msgid "The domain name"
+msgstr "Le nom du domaine"
+
+#: extensions/admin/models/domain.py:33
+#: extensions/postfix_relay_domains/models.py:86
+msgid "Check to activate this domain"
+msgstr "Cocher pour activer ce domaine"
+
+#: extensions/admin/models/domain.py:61
+msgid "Domain"
+msgstr "Domaine"
+
+#: extensions/admin/models/domain.py:140
+#, python-format
+msgid "Invalid quota value for domain '%s'"
+msgstr "Quota invalide pour le domaine '%s'"
+
+#: extensions/admin/models/domain_alias.py:11
+#: extensions/postfix_relay_domains/models.py:160
+msgid "The alias name"
+msgstr "Le nom de l'alias"
+
+#: extensions/admin/models/domain_alias.py:13
+#: extensions/postfix_relay_domains/models.py:163
+msgid "target"
+msgstr "cible"
+
+#: extensions/admin/models/domain_alias.py:14
+msgid "The domain this alias points to"
+msgstr "Le domaine vers lequel cet alias pointe"
+
+#: extensions/admin/models/domain_alias.py:46
+#, python-format
+msgid "A domain %s already exists"
+msgstr "Un domaine %s existe déjà"
+
+#: extensions/admin/models/domain_alias.py:51
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Domain %s inconnu"
+
+#: extensions/admin/models/mailbox.py:52
+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:113
+#, 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:173
+#, 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:178
+msgid "A quota is required"
+msgstr "Un quota est requis"
+
+#: extensions/admin/templates/admin/domain_general_form.html:3
+#: extensions/admin/templates/admin/mailform.html:3
+#: extensions/admin/templates/admin/newdomainform.html:3
+msgid "MB"
+msgstr "Mo"
+
+#: extensions/admin/templates/admin/domain_options_form.html:5
+msgid "You can't create a new domain administrator"
+msgstr "Vous ne pouvez pas créer de nouvel administrateur de domaine"
+
+#: extensions/admin/templates/admin/domains_table.html:7
+#: extensions/admin/templates/admin/identities_table.html:7
+msgid "Tags"
+msgstr "Tags"
+
+#: extensions/admin/templates/admin/domains_table.html:8
+#: extensions/admin/templates/admin/identities_table.html:8
+#: extensions/admin/templates/admin/listing.html:17
+#: extensions/sievefilters/views.py:93
+#: extensions/sievefilters/templates/sievefilters/filter.html:17
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
+#: extensions/webmail/templatetags/webmail_tags.py:101
+msgid "Actions"
+msgstr "Actions"
+
+#: extensions/admin/templates/admin/editdomainform.html:4
+msgid "Administrators"
+msgstr "Administrateurs"
+
+#: extensions/admin/templates/admin/editdomainform.html:19
+msgid "No domain administrator defined"
+msgstr "Aucun administrateur de domaine défini"
+
+#: extensions/admin/templates/admin/editdomainform.html:22
+msgid "Creation date"
+msgstr "Date de création"
+
+#: extensions/admin/templates/admin/editdomainform.html:23
+msgid "Last modification date"
+msgstr "Date de dernière modification"
+
+#: extensions/admin/templates/admin/editdomainform.html:24
+#: extensions/limits/app_settings.py:25 extensions/limits/models.py:20
+msgid "Domain aliases"
+msgstr "Alias de domaine"
+
+#: extensions/admin/templates/admin/editdomainform.html:26
+#: extensions/limits/app_settings.py:37 extensions/limits/models.py:25
+msgid "Mailbox aliases"
+msgstr "Alias de boite."
+
+#: extensions/admin/templates/admin/forward.html:2
+msgid "Automatically forward emails to another address"
+msgstr "Transférer automatiquement les messages vers une autre adresse"
+
+#: extensions/admin/templates/admin/identities_table.html:6
+msgid "Fullname/Recipient"
+msgstr "Nom complet/Destinataire"
+
+#: extensions/admin/templates/admin/importform.html:5
+msgid "Help"
+msgstr "Aide"
+
+#: extensions/admin/templates/admin/importform.html:12
+msgid "Importing..."
+msgstr "Import en cours..."
+
+#: extensions/admin/templates/admin/listing.html:14
+#: extensions/stats/templates/stats/index.html:28
+msgid "Filter"
+msgstr "Filter"
+
+#: extensions/admin/templates/admin/mailboxes_raw.html:3
+msgid "Choose a value"
+msgstr "Choisir une valeur"
+
+#: extensions/admin/templates/admin/mailform.html:3
+msgid "Use domain default value"
+msgstr "Utiliser la valeur par défaut du domaine"
+
+#: extensions/admin/templates/admin/quotas.html:5
+msgid "Address"
+msgstr "Adresse"
+
+#: extensions/admin/templates/admin/quotas.html:6
+msgid "Value"
+msgstr "Valeur"
+
+#: extensions/admin/templates/admin/quotas.html:7
+msgid "Limit"
+msgstr "Limite"
+
+#: extensions/admin/templates/admin/quotas.html:8
+#, python-format
+msgid "Usage (%%)"
+msgstr "Utilisation (%%)"
+
+#: extensions/admin/templates/admin/searchform.html:6
+msgid "Search"
+msgstr "Chercher"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_m"
+msgstr "Activé"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_f"
+msgstr "Activée"
+
+#: extensions/admin/templatetags/admin_tags.py:33
+msgid "Add domain"
+msgstr "Ajouter un domaine"
+
+#: extensions/admin/templatetags/admin_tags.py:42
+#: extensions/admin/templatetags/admin_tags.py:106
+#: extensions/admin/views/import.py:51 extensions/admin/views/import.py:166
+msgid "Import"
+msgstr "Importer"
+
+#: extensions/admin/templatetags/admin_tags.py:48
+#: extensions/admin/templatetags/admin_tags.py:112
+#: extensions/admin/views/export.py:38 extensions/admin/views/export.py:64
+msgid "Export"
+msgstr "Exporter"
+
+#: extensions/admin/templatetags/admin_tags.py:72
+msgid "List identities"
+msgstr "Lister les identités"
+
+#: extensions/admin/templatetags/admin_tags.py:77
+msgid "List quotas"
+msgstr "Lister les quotas"
+
+#: extensions/admin/templatetags/admin_tags.py:82
+msgid "Add account"
+msgstr "Ajouter un compte"
+
+#: extensions/admin/templatetags/admin_tags.py:88
+msgid "Add alias"
+msgstr "Ajouter un alias"
+
+#: extensions/admin/templatetags/admin_tags.py:94
+msgid "Add forward"
+msgstr "Ajouter un transfert"
+
+#: extensions/admin/templatetags/admin_tags.py:100
+msgid "Add distribution list"
+msgstr "Ajouter une liste de distribution"
+
+#: extensions/admin/templatetags/admin_tags.py:133
+msgid "View the domain's identities"
+msgstr "Voir les identités du domaine"
+
+#: extensions/admin/templatetags/admin_tags.py:143
+#: extensions/admin/templatetags/admin_tags.py:162
+#: extensions/admin/templatetags/admin_tags.py:169
+#: extensions/postfix_relay_domains/general_callbacks.py:84
+#, python-format
+msgid "Delete %s?"
+msgstr "Supprimer %s ?"
+
+#: extensions/admin/templatetags/admin_tags.py:239
+msgid "Remove this permission"
+msgstr "Supprimer cette permission"
+
+#: extensions/admin/views/alias.py:25
+msgid "Alias with this name already exists"
+msgstr "Un alias de ce nom existe déjà"
+
+#: extensions/admin/views/alias.py:49 extensions/admin/views/domain.py:100
+#: extensions/admin/views/domain.py:129 extensions/admin/views/identity.py:131
+#: extensions/admin/views/identity.py:158
+#: extensions/postfix_relay_domains/views.py:32
+#: extensions/sievefilters/views.py:141 extensions/sievefilters/views.py:230
+#: extensions/webmail/views.py:151
+msgid "Create"
+msgstr "Créer"
+
+#: extensions/admin/views/alias.py:61
+msgid "New distribution list"
+msgstr "Nouvelle liste de distribution"
+
+#: extensions/admin/views/alias.py:62
+msgid "Distribution list created"
+msgstr "Liste de distribution créée"
+
+#: extensions/admin/views/alias.py:71
+msgid "New alias"
+msgstr "Nouvel alias"
+
+#: extensions/admin/views/alias.py:72
+msgid "Alias created"
+msgstr "Alias créé"
+
+#: extensions/admin/views/alias.py:81
+msgid "New forward"
+msgstr "Nouveau transfert"
+
+#: extensions/admin/views/alias.py:82
+msgid "Forward created"
+msgstr "Transfert créé"
+
+#: extensions/admin/views/alias.py:95
+msgid "Distribution list modified"
+msgstr "Liste de distribution modifiée"
+
+#: extensions/admin/views/alias.py:97
+msgid "Forward modified"
+msgstr "Transfert modifié"
+
+#: extensions/admin/views/alias.py:99
+msgid "Alias modified"
+msgstr "Alias modifié"
+
+#: extensions/admin/views/domain.py:96 extensions/admin/views/identity.py:128
+msgid "Next"
+msgstr "Suivante"
+
+#: extensions/admin/views/domain.py:99
+msgid "Options"
+msgstr "Options"
+
+#: extensions/admin/views/domain.py:101 extensions/admin/views/identity.py:132
+msgid "Previous"
+msgstr "Précédente"
+
+#: extensions/admin/views/domain.py:123
+msgid "Domain created"
+msgstr "Domaine créé"
+
+#: extensions/admin/views/domain.py:128
+msgid "New domain"
+msgstr "Nouveau domaine"
+
+#: extensions/admin/views/domain.py:155
+msgid "Domain modified"
+msgstr "Domaine modifié"
+
+#: extensions/admin/views/domain.py:189
+msgid "You can't delete your own domain"
+msgstr "Vous ne pouvez pas supprimer votre propre domaine"
+
+#: extensions/admin/views/domain.py:192
+msgid "Domain deleted"
+msgid_plural "Domains deleted"
+msgstr[0] "Domaine supprimé"
+msgstr[1] "Domaines supprimés"
+
+#: extensions/admin/views/export.py:37
+msgid "Export identities"
+msgstr "Export d'identités"
+
+#: extensions/admin/views/export.py:63
+msgid "Export domains"
+msgstr "Export de domaines"
+
+#: extensions/admin/views/identity.py:103
+#: extensions/admin/views/identity.py:224
+#: extensions/admin/views/identity.py:229 extensions/amavis/views.py:179
+#: extensions/amavis/views.py:185 extensions/amavis/views.py:220
+#: extensions/amavis/views.py:224 extensions/amavis/views.py:226
+#: extensions/webmail/views.py:47 extensions/webmail/views.py:65
+#: extensions/webmail/views.py:79 extensions/webmail/views.py:97
+#: extensions/webmail/views.py:114 extensions/webmail/views.py:200
+#: extensions/webmail/views.py:223 extensions/webmail/views.py:396
+#: extensions/webmail/views.py:430 extensions/webmail/views.py:443
+#: extensions/webmail/views.py:472 extensions/webmail/views.py:513
+#: lib/formutils.py:44 lib/formutils.py:49
+msgid "Invalid request"
+msgstr "Requête invalide"
+
+#: extensions/admin/views/identity.py:149
+msgid "Account created"
+msgstr "Compte créé"
+
+#: extensions/admin/views/identity.py:155
+msgid "New account"
+msgstr "Nouveau compte"
+
+#: extensions/admin/views/identity.py:190
+msgid "Account updated"
+msgstr "Compte mis à jour"
+
+#: extensions/admin/views/identity.py:214
+msgid "Account deleted"
+msgid_plural "Accounts deleted"
+msgstr[0] "Compte supprimé"
+msgstr[1] "Comptes supprimés"
+
+#: extensions/admin/views/import.py:39
+#, python-format
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Fournir un fichier CSV ou chaque ligne respècte un des formats suivants :\n"
+"\n"
+" domain; nom; quota; activé \n"
+" domainalias; nom; domaine cible; activé \n"
+" %s\n"
+" \n"
+"Le premier élément de chaque ligne est obligatoire et doit être égal à "
+"l'une des valeurs précédentes.
\n"
+"Vous pouvez utiliser un caractère différent comme séparateur.
\n"
+
+#: extensions/admin/views/import.py:50
+msgid "Import domains"
+msgstr "Importer des domaines"
+
+#: extensions/admin/views/import.py:129
+#, python-format
+msgid "Object already exists: %s"
+msgstr "L'objet existe déjà : %s"
+
+#: extensions/admin/views/import.py:133
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d objets importés avec succès"
+
+#: extensions/admin/views/import.py:153
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Fournir un fichier CSV ou chaque ligne respècte un des formats suivants :\n"
+"\n"
+"account; identifiant; mot de passe; prénom; nom; activé, groupe; "
+"addresse; quota; [, domaine, ...] \n"
+"alias; addresse; activé; destinataire interne \n"
+"forward; addresse; activé; destinataire externe \n"
+"dlist; addresse; activée; destinataire; destinataire; ... \n"
+" \n"
+"Le premier élément de chaque ligne est obligatoire et doit être égal à "
+"l'une des valeurs précédentes.
\n"
+"\n"
+"Vous pouvez utiliser un caractère différent comme séparateur.
\n"
+
+#: extensions/admin/views/import.py:165
+msgid "Import identities"
+msgstr "Importer des identités"
+
+#: extensions/admin/views/user.py:37
+msgid "Forward updated"
+msgstr "Transfert mis à jour"
+
+#: extensions/amavis/__init__.py:21
msgid "Simple amavis management frontend"
msgstr "Interface simplifiée pour la gestion d'amavis"
-#: extensions/amavis/__init__.py:45 extensions/amavis/__init__.py:61
+#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:17
msgid "Quarantine"
msgstr "Quarantaine"
-#: extensions/amavis/__init__.py:129
-msgid "pending requests"
-msgstr "requêtes en attente"
-
-#: extensions/amavis/__init__.py:149
-#, python-format
-msgid "%d pending requests"
-msgstr "%d requêtes en attente"
-
-#: extensions/amavis/__init__.py:161
-msgid "Content filter"
-msgstr "Filtrage de contenu"
-
#: extensions/amavis/app_settings.py:11
msgid "Quarantine settings"
msgstr "Paramètres de quarantaine"
@@ -1303,11 +1543,6 @@ msgstr "Emetteur des notifications"
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:87 extensions/webmail/app_settings.py:73
-#: userprefs/app_settings.py:18
-msgid "Display"
-msgstr "Afficher"
-
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
msgid "Number of displayed emails per page"
msgstr "Nombre d'emails affichés par page"
@@ -1316,7 +1551,19 @@ msgstr "Nombre d'emails affichés par page"
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/lib.py:53
+#: extensions/amavis/general_callbacks.py:81
+msgid "pending requests"
+msgstr "requêtes en attente"
+
+#: extensions/amavis/general_callbacks.py:124
+msgid "Pending requests"
+msgstr "Requêtes en attente"
+
+#: extensions/amavis/general_callbacks.py:134
+msgid "Content filter"
+msgstr "Filtrage de contenu"
+
+#: extensions/amavis/lib.py:57
#, python-format
msgid "Connection to amavis failed: %s"
msgstr "La connexion avec amavis a échoué : %s"
@@ -1326,12 +1573,12 @@ msgid "Virus filter"
msgstr "Filtrage des virus"
#: extensions/amavis/models.py:94 extensions/amavis/models.py:102
-#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:281
+#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:290
msgid "yes"
msgstr "oui"
#: extensions/amavis/models.py:95 extensions/amavis/models.py:103
-#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:285
+#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:294
msgid "no"
msgstr "non"
@@ -1379,53 +1626,58 @@ msgstr ""
"Modifier le sujet du spam en utilisant le texte spécifié. Choisir 'défaut' "
"pour utiliser les paramètres globaux."
-#: extensions/amavis/sql_listing.py:23 extensions/webmail/lib.py:37
-msgid "From"
-msgstr "De"
+#: extensions/amavis/sql_listing.py:31
+msgid "Score"
+msgstr "Score"
-#: extensions/amavis/sql_listing.py:24 extensions/sievefilters/forms.py:68
-#: extensions/webmail/forms.py:10 extensions/webmail/lib.py:36
-#: extensions/webmail/lib.py:409 templates/common/email_searchbar.html:6
-msgid "Subject"
-msgstr "Sujet"
-
-#: extensions/amavis/sql_listing.py:26
-#: extensions/amavis/templatetags/amextras.py:102
+#: extensions/amavis/sql_listing.py:35
+#: extensions/amavis/templatetags/amavis_tags.py:75
#: extensions/webmail/forms.py:7
msgid "To"
msgstr "A"
-#: extensions/amavis/views.py:43
+#: extensions/amavis/sql_listing.py:38
+#: extensions/postfix_autoreply/forms.py:11 extensions/webmail/lib.py:44
+msgid "From"
+msgstr "De"
+
+#: extensions/amavis/sql_listing.py:42 extensions/sievefilters/forms.py:77
+#: extensions/webmail/forms.py:11 extensions/webmail/lib.py:40
+#: extensions/webmail/lib.py:423 templates/common/email_searchbar.html:6
+msgid "Subject"
+msgstr "Sujet"
+
+#: extensions/amavis/views.py:27
msgid "Empty quarantine"
msgstr "Quarantaine vide"
-#: extensions/amavis/views.py:211
+#: extensions/amavis/views.py:186
msgid "Message deleted"
msgstr "Message supprimé"
-#: extensions/amavis/views.py:232
+#: extensions/amavis/views.py:207
#, 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:252
+#: extensions/amavis/views.py:229
msgid "Request sent"
msgstr "Requête envoyée"
-#: extensions/amavis/views.py:258
+#: extensions/amavis/views.py:235
msgid "Message released"
msgstr "Message relâché"
-#: extensions/amavis/views.py:280
+#: extensions/amavis/views.py:268
#, 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:304
+#: extensions/amavis/views.py:288
#, python-format
msgid "%(count)d message released successfully"
msgid_plural "%(count)d messages released successfully"
@@ -1452,6 +1704,72 @@ msgstr "ou plus rejete le message"
msgid "Quarantine management"
msgstr "Gestion de la quarantaine"
+#: extensions/amavis/templates/amavis/main_action_bar.html:3
+msgid "Select"
+msgstr "Sélectionner"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:9
+msgid "Spam"
+msgstr "Spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:10
+msgid "Virus"
+msgstr "Virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:11
+msgid "Bad Header"
+msgstr "Mauvais entête"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:12
+msgid "Bad MIME"
+msgstr "Mauvais type MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:13
+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
+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/webmail/templatetags/webmail_tags.py:32
+msgid "Delete"
+msgstr "Supprimer"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+#: extensions/sievefilters/forms.py:64
+msgid "All messages"
+msgstr "Tous les messages"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+msgid "All"
+msgstr "Tout"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:32
+msgid "Spam only"
+msgstr "Seulement le spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:33
+msgid "Virus only"
+msgstr "Seulement les virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:34
+msgid "Bad Header only"
+msgstr "Seulement les mauvais entêtes"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:35
+msgid "Bad MIME only"
+msgstr "Seulement les mauvais types MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:36
+msgid "Banned only"
+msgstr "Seulement les bannis"
+
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:1
#, python-format
msgid ""
@@ -1496,72 +1814,26 @@ 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/amextras.py:20
-#: extensions/amavis/templatetags/amextras.py:52
-#: extensions/amavis/templatetags/amextras.py:72
-msgid "Release"
-msgstr "Relâcher"
-
-#: extensions/amavis/templatetags/amextras.py:26
-#: extensions/amavis/templatetags/amextras.py:59
-#: extensions/amavis/templatetags/amextras.py:77
-#: extensions/webmail/templatetags/webextras.py:31
-msgid "Delete"
-msgstr "Supprimer"
-
-#: extensions/amavis/templatetags/amextras.py:29
+#: extensions/amavis/templatetags/amavis_tags.py:28
msgid "View full headers"
msgstr "Afficher tous les entêtes"
-#: extensions/amavis/templatetags/amextras.py:80
-msgid "Content Class"
-msgstr "Classe de contenu"
-
-#: extensions/amavis/templatetags/amextras.py:84
-msgid "Nothing"
-msgstr "Rien"
-
-#: extensions/amavis/templatetags/amextras.py:87
-msgid "Spam"
-msgstr "Spam"
-
-#: extensions/amavis/templatetags/amextras.py:90
-msgid "Virus"
-msgstr "Virus"
-
-#: extensions/amavis/templatetags/amextras.py:93
-msgid "Bad header"
-msgstr "Mauvais entête"
-
-#: extensions/amavis/templatetags/amextras.py:96
-msgid "Bad MIME"
-msgstr "Mauvais type MIME"
-
-#: extensions/limits/__init__.py:23
+#: extensions/limits/__init__.py:25
msgid ""
"Per administrator resources to limit the number of objects they can create"
msgstr ""
"Ressources par administrateur pour limiter le nombre d'objets qu'ils peuvent "
"créer"
-#: extensions/limits/__init__.py:54
+#: extensions/limits/__init__.py:56
msgid "Limits"
msgstr "Limites"
-#: extensions/limits/__init__.py:65
-msgid "Reseller"
-msgstr "Revendeur"
-
-#: extensions/limits/__init__.py:94
-msgid "Resources"
-msgstr "Ressources"
-
#: extensions/limits/app_settings.py:10
msgid "Default limits"
msgstr "Limites par défaut"
-#: extensions/limits/app_settings.py:13 extensions/limits/forms.py:12
-#: extensions/limits/models.py:11
+#: extensions/limits/app_settings.py:13 extensions/limits/models.py:14
msgid "Domain admins"
msgstr "Admins de domaine"
@@ -1585,52 +1857,60 @@ msgstr "Nombre maximal de boites pour un nouvel administrateur"
msgid "Maximum number of allowed aliases for a new administrator"
msgstr "Nombre maximal d'alias de boite pour un nouvel administrateur"
-#: extensions/limits/forms.py:13
-msgid "Maximum number of domain administrators this user can create"
-msgstr "Nombre maximal d'admins de domaine que cet utilisateur peut créer"
-
-#: extensions/limits/forms.py:17
-msgid "Maximum number of domains this user can create"
-msgstr "Nombre maximal de domaines que cet utilisateur peut créer"
-
-#: extensions/limits/forms.py:21
-msgid "Maximum number of domain aliases this user can create"
-msgstr "Nombre maximal d'alias de domain que cet utilisateur peut créer"
-
-#: extensions/limits/forms.py:25
-msgid "Maximum number of mailboxes this user can create"
-msgstr "Nombre maximal de boites que cet utilisateur peut créer"
-
-#: extensions/limits/forms.py:29
-msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Nombre maximal d'alias de boite que cet utilisateur peut créer"
-
-#: extensions/limits/forms.py:46
+#: extensions/limits/forms.py:28 extensions/limits/forms.py:35
msgid "Invalid limit"
msgstr "Limite invalide"
-#: extensions/limits/forms.py:74
+#: extensions/limits/forms.py:57
msgid "Your resources are not initialized yet"
msgstr "Vos ressources ne sont pas encore initialisées"
-#: extensions/limits/forms.py:78
+#: extensions/limits/forms.py:61
msgid "You're not allowed to define unlimited values"
msgstr "Vous n'êtes pas autorisé à définir des valeurs illimitées"
-#: extensions/limits/lib.py:16
+#: extensions/limits/general_callbacks.py:10
+msgid "Reseller"
+msgstr "Revendeur"
+
+#: extensions/limits/general_callbacks.py:48
+msgid "Resources"
+msgstr "Ressources"
+
+#: extensions/limits/lib.py:19
#, python-format
msgid "%s: limit reached"
msgstr "%s : limite atteinte"
-#: extensions/limits/lib.py:23
+#: extensions/limits/lib.py:29
msgid "Not enough resources"
msgstr "Pas assez de ressources"
-#: extensions/limits/models.py:103
+#: extensions/limits/models.py:15
+msgid "Maximum number of domain administrators this user can create"
+msgstr "Nombre maximal d'admins de domaine que cet utilisateur peut créer"
+
+#: extensions/limits/models.py:18
+msgid "Maximum number of domains this user can create"
+msgstr "Nombre maximal de domaines que cet utilisateur peut créer"
+
+#: extensions/limits/models.py:21
+msgid "Maximum number of domain aliases this user can create"
+msgstr "Nombre maximal d'alias de domain que cet utilisateur peut créer"
+
+#: extensions/limits/models.py:24
+msgid "Maximum number of mailboxes this user can create"
+msgstr "Nombre maximal de boites que cet utilisateur peut créer"
+
+#: extensions/limits/models.py:26
+msgid "Maximum number of mailbox aliases this user can create"
+msgstr "Nombre maximal d'alias de boite que cet utilisateur peut créer"
+
+#: extensions/limits/models.py:136
msgid "undefined"
msgstr "Indéfini"
-#: extensions/limits/models.py:105
+#: extensions/limits/models.py:138
msgid "unlimited"
msgstr "illimité"
@@ -1638,19 +1918,14 @@ msgstr "illimité"
msgid "Resources usage"
msgstr "Utilisation des ressources"
-#: extensions/postfix_autoreply/__init__.py:20
+#: extensions/postfix_autoreply/__init__.py:26
msgid "Auto-reply (vacation) functionality using Postfix"
msgstr "Fonction de réponse automatique (vacances) utilisant Postfix"
-#: extensions/postfix_autoreply/__init__.py:41
+#: extensions/postfix_autoreply/__init__.py:47
msgid "Automatic replies"
msgstr "Réponses automatiques"
-#: extensions/postfix_autoreply/__init__.py:79
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
-msgid "Auto-reply message"
-msgstr "Message de réponse automatique"
-
#: extensions/postfix_autoreply/app_settings.py:14
msgid "Automatic reply timeout"
msgstr "Délai d'expiration d'une réponse automatique"
@@ -1661,39 +1936,101 @@ msgstr ""
"Timeout en secondes entre deux réponses automatiques pour le même "
"destinataire"
-#: extensions/postfix_autoreply/forms.py:9
+#: extensions/postfix_autoreply/app_settings.py:20
+msgid "Default subject"
+msgstr "Sujet par défaut"
+
+#: extensions/postfix_autoreply/app_settings.py:21
+msgid "I'm off"
+msgstr "Je suis absent"
+
+#: extensions/postfix_autoreply/app_settings.py:23
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+"Sujet par défaut utilisé quand un message d'absence est créé automatiquement"
+
+#: extensions/postfix_autoreply/app_settings.py:28
+msgid "Default content"
+msgstr "Contenu par défaut"
+
+#: extensions/postfix_autoreply/app_settings.py:30
+#, python-format
+msgid ""
+"I'm currently off. I'll answer as soon as I come back.\n"
+"\n"
+"Best regards,\n"
+"%(name)s\n"
+msgstr ""
+"Je suis actuellement absent. Je vous répondrai dès mon retour.\n"
+"\n"
+"Cordialement,\n"
+"%(name)s\n"
+
+#: extensions/postfix_autoreply/app_settings.py:36
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+"Contenu par défaut utilisé quand un message d'absence est créé automatiquement."
+"La macro '%(name)s' sera remplacée par le nom complet de l'utilisateur."
+
+#: extensions/postfix_autoreply/forms.py:13
+msgid "Activate your auto reply from this date"
+msgstr "Activer votre réponse automatique à partir de cette date"
+
+#: extensions/postfix_autoreply/forms.py:19
msgid "Until"
msgstr "Jusqu'à"
-#: extensions/postfix_autoreply/forms.py:11
+#: extensions/postfix_autoreply/forms.py:21
msgid "Activate your auto reply until this date"
msgstr "Activer votre réponse automatique jusqu'à cette date"
-#: extensions/postfix_autoreply/forms.py:25
+#: extensions/postfix_autoreply/forms.py:49
+#: extensions/postfix_autoreply/forms.py:55
msgid "This date is over"
msgstr "Cette date est dépassée"
-#: extensions/postfix_autoreply/models.py:19
+#: extensions/postfix_autoreply/forms.py:59
+msgid "Must be greater than start date"
+msgstr "Doit être supérieure à la date de démarrage"
+
+#: extensions/postfix_autoreply/general_callbacks.py:33
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Auto-reply message"
+msgstr "Message de réponse automatique"
+
+#: extensions/postfix_autoreply/general_callbacks.py:118
+msgid "Enable auto-reply"
+msgstr "Activer la réponse automatique"
+
+#: extensions/postfix_autoreply/general_callbacks.py:120
+msgid "Enable or disable Postfix auto-reply"
+msgstr "Activer ou désactiver la réponse automatique via Postfix"
+
+#: extensions/postfix_autoreply/models.py:20
msgid "subject"
msgstr "sujet"
-#: extensions/postfix_autoreply/models.py:20
+#: extensions/postfix_autoreply/models.py:21
msgid "The subject that will appear in sent emails"
msgstr "Le sujet qui apparaitra dans les emails envoyés"
-#: extensions/postfix_autoreply/models.py:23
+#: extensions/postfix_autoreply/models.py:24
msgid "content"
msgstr "contenu"
-#: extensions/postfix_autoreply/models.py:24
+#: extensions/postfix_autoreply/models.py:25
msgid "The content that will appear in sent emails"
msgstr "Le contenu qui apparaitra dans les emails envoyés"
-#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_autoreply/models.py:29
msgid "Activate/Deactivate your auto reply"
msgstr "Activer/Désactiver votre réponse automatique"
-#: extensions/postfix_autoreply/views.py:37
+#: extensions/postfix_autoreply/views.py:34
msgid "Auto reply message updated successfully."
msgstr "Message de réponse auto. mis à jour."
@@ -1701,16 +2038,143 @@ msgstr "Message de réponse auto. mis à jour."
msgid "Define a message to automatically send when you are off"
msgstr "Définir un message à envoyer automatiquement quand vous êtes absent"
+#: extensions/postfix_relay_domains/__init__.py:72
+msgid "Relay domains support for Postfix"
+msgstr "Support des domaines relais pour Postfix"
+
+#: extensions/postfix_relay_domains/__init__.py:89
+#: extensions/postfix_relay_domains/general_callbacks.py:100
+#: extensions/postfix_relay_domains/limits_callbacks.py:16
+msgid "Relay domains"
+msgstr "Domaines relais"
+
+#: extensions/postfix_relay_domains/app_settings.py:10
+msgid "Postfix's master.cf path"
+msgstr "Chemin d'accès vers le fichier master.cf de Postfix"
+
+#: extensions/postfix_relay_domains/app_settings.py:12
+msgid "Path to the master.cf configuration file"
+msgstr "Chemin d'accès vers le fichier de configuration master.cf"
+
+#: extensions/postfix_relay_domains/forms.py:15
+msgid ""
+"Alias(es) of this relay domain. Indicate only one name per input, press "
+"ENTER to add a new input."
+msgstr ""
+"Alias de ce domaine relais. Indiquer seulement un nom par champ, appuyer sur "
+"ENTREE pour ajouter un nouveau champ."
+
+#: extensions/postfix_relay_domains/forms.py:51
+#: extensions/postfix_relay_domains/general_callbacks.py:93
+msgid "relay domain alias"
+msgstr "Alias de domaine relais"
+
+#: extensions/postfix_relay_domains/forms.py:69
+#: extensions/postfix_relay_domains/general_callbacks.py:92
+msgid "relay domain"
+msgstr "domaine relais"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:35
+msgid "Add relay domain"
+msgstr "Ajouter un domaine relais"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:101
+msgid "Maximum number of relay domains this user can create"
+msgstr "Nombre maximal de domaines relais que cet utilisateur peut créer"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:103
+#: extensions/postfix_relay_domains/limits_callbacks.py:24
+msgid "Relay domain aliases"
+msgstr "Alias de domaine relais"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:104
+msgid "Maximum number of relay domain aliases this user can create"
+msgstr ""
+"Nombre maximal d'alias de domaine relais que cet utilisateur peut créer"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:111
+msgid ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients"
+"em> \n"
+"relaydomainalias; name; target; enabled \n"
+msgstr ""
+"\n"
+"relaydomain; nom; hôte cible; service; activé; vérification des "
+"destinataires \n"
+"relaydomainalias; nom; cible; activé \n"
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:19
+msgid "Maximum number of allowed relay domains for a new administrator"
+msgstr "Nombre maximal de domaines relais pour un nouvel administrateur"
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:27
+msgid "Maximum number of allowed relay domain aliases for a new administrator"
+msgstr "Nombre maximal d'alias de domaine relais pour un nouvel administrateur"
+
+#: extensions/postfix_relay_domains/models.py:59
+msgid "The service name"
+msgstr "Le nom du service"
+
+#: extensions/postfix_relay_domains/models.py:80
+msgid "target host"
+msgstr "hôte cible"
+
+#: extensions/postfix_relay_domains/models.py:81
+msgid "Remote destination of this domain"
+msgstr "Adresse de destination de ce domaine"
+
+#: extensions/postfix_relay_domains/models.py:89
+msgid "verify recipients"
+msgstr "Vérifier les destinataires"
+
+#: extensions/postfix_relay_domains/models.py:90
+msgid "Check for valid recipients"
+msgstr "Vérifie si les destinataires sont valides (existent)"
+
+#: extensions/postfix_relay_domains/models.py:103
+msgid "Relay Domain"
+msgstr "Domaine relais"
+
+#: extensions/postfix_relay_domains/models.py:164
+msgid "The relay domain this alias points to"
+msgstr "Le domaine relais vers lequel cet alias pointe"
+
+#: extensions/postfix_relay_domains/models.py:195
+#, python-format
+msgid "Relay domain %s does not exist"
+msgstr "Domaine relais '%s' inexistant"
+
+#: extensions/postfix_relay_domains/views.py:26
+msgid "Relay domain created"
+msgstr "Domaine relais créé"
+
+#: extensions/postfix_relay_domains/views.py:31
+msgid "New relay domain"
+msgstr "Nouveau domaine relais"
+
+#: extensions/postfix_relay_domains/views.py:54
+msgid "Relay domain modified"
+msgstr "Domaine relais modifié"
+
+#: extensions/postfix_relay_domains/views.py:77
+msgid "Relay domain deleted"
+msgstr "Domaine relais supprimé"
+
+#: extensions/postfix_relay_domains/templates/postfix_relay_domains/service_field.html:2
+msgid "Scan"
+msgstr "Scanner"
+
#: extensions/sievefilters/__init__.py:12
msgid "Plugin to easily create server-side filters"
msgstr "Extension pour créer simplement des filtres côté serveur"
-#: extensions/sievefilters/__init__.py:17
+#: extensions/sievefilters/__init__.py:18
msgid "Sieve filters"
msgstr "Filtres Sieve"
-#: extensions/sievefilters/__init__.py:18
-#: extensions/sievefilters/__init__.py:36
+#: extensions/sievefilters/__init__.py:19
+#: extensions/sievefilters/general_callbacks.py:14
#: extensions/sievefilters/templates/sievefilters/index.html:2
msgid "Message filters"
msgstr "Filtres de messages"
@@ -1751,126 +2215,122 @@ msgstr "Mode de l'editeur"
msgid "Select the mode you want the editor to work in"
msgstr "Sélectionner le mode de fonctionnement de l'éditeur"
-#: extensions/sievefilters/forms.py:14
+#: extensions/sievefilters/forms.py:16
msgid "Check to activate this filters set"
msgstr "Cocher pour activer ce jeu de filtres"
-#: extensions/sievefilters/forms.py:55
+#: extensions/sievefilters/forms.py:62
msgid "All of the following"
msgstr "Toutes les conditions suivantes"
-#: extensions/sievefilters/forms.py:56
+#: extensions/sievefilters/forms.py:63
msgid "Any of the following"
msgstr "Au moins une des conditions suivantes"
-#: extensions/sievefilters/forms.py:57
-msgid "All messages"
-msgstr "Tous les messages"
-
-#: extensions/sievefilters/forms.py:62
+#: extensions/sievefilters/forms.py:70
msgid "contains"
msgstr "contient"
-#: extensions/sievefilters/forms.py:63
+#: extensions/sievefilters/forms.py:71
msgid "does not contain"
msgstr "ne contient pas"
-#: extensions/sievefilters/forms.py:64
+#: extensions/sievefilters/forms.py:72
msgid "is"
msgstr "est"
-#: extensions/sievefilters/forms.py:65
+#: extensions/sievefilters/forms.py:73
msgid "is not"
msgstr "n'est pas"
-#: extensions/sievefilters/forms.py:69
+#: extensions/sievefilters/forms.py:78
msgid "Sender"
msgstr "Expéditeur"
-#: extensions/sievefilters/forms.py:70
+#: extensions/sievefilters/forms.py:79
msgid "Recipient"
msgstr "Destinataire"
-#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:8
+#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:8
msgid "Cc"
msgstr "Cc"
-#: extensions/sievefilters/forms.py:72
+#: extensions/sievefilters/forms.py:81
msgid "Size"
msgstr "Taille"
-#: extensions/sievefilters/forms.py:73
+#: extensions/sievefilters/forms.py:82
msgid "is greater than"
msgstr "est supérieure à"
-#: extensions/sievefilters/forms.py:74
+#: extensions/sievefilters/forms.py:83
msgid "is less than"
msgstr "est inférieure à"
-#: extensions/sievefilters/forms.py:78
+#: extensions/sievefilters/forms.py:87
msgid "Move message to"
msgstr "Déplacer le message vers"
-#: extensions/sievefilters/forms.py:80
+#: extensions/sievefilters/forms.py:89
msgid "Redirect message to"
msgstr "Rediriger le message vers"
-#: extensions/sievefilters/lib.py:37
+#: extensions/sievefilters/lib.py:40
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
"La connexion au serveur ManageSieve a échoué, vérifiez votre configuration"
-#: extensions/sievefilters/lib.py:82
+#: extensions/sievefilters/lib.py:85
msgid "Not enough space on server"
msgstr "Pas assez d'espace sur le serveur"
-#: extensions/sievefilters/views.py:68
+#: extensions/sievefilters/views.py:78
msgid "Failed to retrieve filters set"
msgstr "Impossible de récuperer le jeu de filtres"
-#: extensions/sievefilters/views.py:126
+#: extensions/sievefilters/views.py:138
#: extensions/sievefilters/templatetags/sfilters_tags.py:33
msgid "New filter"
msgstr "Nouveau filtre"
-#: extensions/sievefilters/views.py:133
+#: extensions/sievefilters/views.py:146
msgid "Filter created"
msgstr "Filtre créé"
-#: extensions/sievefilters/views.py:145
-#: extensions/sievefilters/templatetags/sfilters_tags.py:77
+#: extensions/sievefilters/views.py:160
+#: extensions/sievefilters/templatetags/sfilters_tags.py:78
msgid "Edit filter"
msgstr "Editer le filtre"
-#: extensions/sievefilters/views.py:154
+#: extensions/sievefilters/views.py:169
msgid "Filter modified"
msgstr "Filtre modifié"
-#: extensions/sievefilters/views.py:176
+#: extensions/sievefilters/views.py:192
msgid "Filter removed"
msgstr "Filtre supprimé"
-#: extensions/sievefilters/views.py:177
+#: extensions/sievefilters/views.py:193
msgid "Failed to remove filter"
msgstr "Impossible de supprimer le filtre"
-#: extensions/sievefilters/views.py:191
+#: extensions/sievefilters/views.py:208
msgid "Filters set saved"
msgstr "Jeu de filtres sauvegardé"
-#: extensions/sievefilters/views.py:196
-msgid "Create a new filters set"
-msgstr "Créer un nouveau jeu de filtres"
-
-#: extensions/sievefilters/views.py:219
+#: extensions/sievefilters/views.py:224
msgid "Filters set created"
msgstr "Jeu de filtres créé"
-#: extensions/sievefilters/views.py:240
+#: extensions/sievefilters/views.py:228
+msgid "Create a new filters set"
+msgstr "Créer un nouveau jeu de filtres"
+
+#: extensions/sievefilters/views.py:247
msgid "Filters set deleted"
msgstr "Jeu de filtres supprimé"
-#: extensions/sievefilters/views.py:252
+#: extensions/sievefilters/views.py:260
msgid "Filters set activated"
msgstr "Jeu de filtres activé"
@@ -1886,22 +2346,22 @@ msgstr "Actif"
msgid "No filter defined yet"
msgstr "Aucun filtre défini."
-#: extensions/sievefilters/templates/sievefilters/index.html:56
+#: extensions/sievefilters/templates/sievefilters/index.html:76
msgid "Filter sets"
msgstr "Jeux de filtres"
-#: extensions/sievefilters/templates/sievefilters/index.html:60
+#: extensions/sievefilters/templates/sievefilters/index.html:80
msgid "active"
msgstr "actif"
-#: extensions/sievefilters/templates/sievefilters/index.html:74
+#: extensions/sievefilters/templates/sievefilters/index.html:94
msgid ""
"No filters set defined yet. You must create one in order to define filters."
msgstr ""
"Aucun jeu de filtres défini. Vous devez en créer un pour pouvoir définir des "
"filtres."
-#: extensions/sievefilters/templatetags/sfilters_tags.py:16
+#: extensions/sievefilters/templatetags/sfilters_tags.py:15
msgid "New filters set"
msgstr "Nouveau jeu de filtres"
@@ -1921,32 +2381,28 @@ msgstr "Supprimer le jeu de filtres"
msgid "Download"
msgstr "Télécharger"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:85
+#: extensions/sievefilters/templatetags/sfilters_tags.py:86
msgid "Remove this filter"
msgstr "Supprimer ce filtre"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:93
+#: extensions/sievefilters/templatetags/sfilters_tags.py:94
msgid "Move this filter up"
msgstr "Déplacer ce filtre vers le haut"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:101
+#: extensions/sievefilters/templatetags/sfilters_tags.py:102
msgid "Move this filter down"
msgstr "Déplacer ce filtre vers le bas"
-#: extensions/stats/__init__.py:20
+#: extensions/stats/__init__.py:21
msgid "Graphical statistics about emails traffic using RRDtool"
msgstr ""
"Statistiques graphiques concernant le trafic des messages utilisant RRDtool"
-#: extensions/stats/__init__.py:26
+#: extensions/stats/__init__.py:29
#: extensions/stats/templates/stats/index.html:2
msgid "Graphical statistics"
msgstr "Statistiques graphiques"
-#: extensions/stats/__init__.py:40
-msgid "Statistics"
-msgstr "Statistiques"
-
#: extensions/stats/app_settings.py:14
msgid "Path to the log file"
msgstr "Chemin d'accès vers le journal"
@@ -1971,84 +2427,88 @@ msgstr "Répertoire où stocker les fichiers PNG"
msgid "Path to directory where PNG files are stored"
msgstr "Emplacement du répertoire de stockage des fichiers PNG"
-#: extensions/stats/graph_templates.py:20
+#: extensions/stats/general_callbacks.py:12
+msgid "Statistics"
+msgstr "Statistiques"
+
+#: extensions/stats/graph_templates.py:22
msgid "Average normal traffic"
msgstr "Trafic normal moyen"
-#: extensions/stats/graph_templates.py:21
-#: extensions/stats/graph_templates.py:33
+#: extensions/stats/graph_templates.py:23
+#: extensions/stats/graph_templates.py:36
msgid "msgs/min"
msgstr "msgs/min"
-#: extensions/stats/graph_templates.py:26
+#: extensions/stats/graph_templates.py:28
msgid "sent messages"
msgstr "messages envoyés"
-#: extensions/stats/graph_templates.py:28
+#: extensions/stats/graph_templates.py:30
msgid "received messages"
msgstr "messages reçus"
-#: extensions/stats/graph_templates.py:32
+#: extensions/stats/graph_templates.py:35
msgid "Average bad traffic"
msgstr "Mauvais trafic moyen"
-#: extensions/stats/graph_templates.py:38
+#: extensions/stats/graph_templates.py:41
msgid "bounced messages"
msgstr "messages non remis"
-#: extensions/stats/graph_templates.py:40
+#: extensions/stats/graph_templates.py:43
msgid "rejected messages"
msgstr "messages rejetés"
-#: extensions/stats/graph_templates.py:44
+#: extensions/stats/graph_templates.py:48
msgid "Average normal traffic size"
msgstr "Taille moyenne du trafic normal"
-#: extensions/stats/graph_templates.py:45
+#: extensions/stats/graph_templates.py:49
msgid "bytes/min"
msgstr "octes/min"
-#: extensions/stats/graph_templates.py:50
+#: extensions/stats/graph_templates.py:54
msgid "received size"
msgstr "taille reçue"
-#: extensions/stats/graph_templates.py:52
+#: extensions/stats/graph_templates.py:56
msgid "sent size"
msgstr "taille envoyée"
-#: extensions/stats/graph_templates.py:73
+#: extensions/stats/graph_templates.py:78
msgid "Mail traffic"
msgstr "Trafic messagerie"
-#: extensions/stats/grapher.py:9
+#: extensions/stats/grapher.py:8
msgid "Day"
msgstr "Jour"
-#: extensions/stats/grapher.py:10
+#: extensions/stats/grapher.py:9
msgid "Week"
msgstr "Semaine"
-#: extensions/stats/grapher.py:11
+#: extensions/stats/grapher.py:10
msgid "Month"
msgstr "Mois"
-#: extensions/stats/grapher.py:12
+#: extensions/stats/grapher.py:11
msgid "Year"
msgstr "Année"
-#: extensions/stats/grapher.py:59
+#: extensions/stats/grapher.py:60
msgid "Total"
msgstr "Total"
-#: extensions/stats/views.py:21 extensions/stats/templates/stats/graphs.html:4
+#: extensions/stats/views.py:28 extensions/stats/templates/stats/graphs.html:4
msgid "No statistics available"
msgstr "Aucune statistique disponible"
-#: extensions/stats/views.py:39
+#: extensions/stats/views.py:47
msgid "Unknown graphic set"
msgstr "Jeu de graphiques inconnu"
-#: extensions/stats/views.py:61
+#: extensions/stats/views.py:70
msgid "Bad custom period"
msgstr "Mauvaise période personnalisée"
@@ -2068,14 +2528,10 @@ msgstr "Période de temps personnalisée"
msgid "Apply"
msgstr "Appliquer"
-#: extensions/webmail/__init__.py:12
+#: extensions/webmail/__init__.py:13
msgid "Simple IMAP webmail"
msgstr "Webmail IMAP simple"
-#: extensions/webmail/__init__.py:35
-msgid "Webmail"
-msgstr "Webmail"
-
#: extensions/webmail/app_settings.py:14
msgid "Maximum attachment size"
msgstr "Taille maximale d'une pièce jointe"
@@ -2204,99 +2660,94 @@ msgstr "Texte de signature"
msgid "User defined email signature"
msgstr "Signature personnalisée"
-#: extensions/webmail/exceptions.py:19
+#: extensions/webmail/exceptions.py:20
msgid "Server response"
msgstr "Réponse du serveur"
+#: extensions/webmail/exceptions.py:34
+msgid "Unknown action"
+msgstr "Action inconnue"
+
#: extensions/webmail/forms.py:9
msgid "Cci"
msgstr "Cci"
-#: extensions/webmail/imaputils.py:237
+#: extensions/webmail/general_callbacks.py:14
+msgid "Webmail"
+msgstr "Webmail"
+
+#: extensions/webmail/imaputils.py:242
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Impossible de récuperer le séparateur de hiérarchie"
-#: extensions/webmail/imaputils.py:278
+#: extensions/webmail/imaputils.py:283
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "La connexion au serveur IMAP a échoué : %s"
-#: extensions/webmail/lib.py:358
+#: extensions/webmail/lib.py:371
msgid "wrote:"
msgstr "a écrit :"
-#: extensions/webmail/lib.py:423 extensions/webmail/lib.py:427
+#: extensions/webmail/lib.py:437 extensions/webmail/lib.py:441
msgid "Original message"
msgstr "Message original"
-#: extensions/webmail/views.py:86
+#: extensions/webmail/views.py:85
#, python-format
msgid "%(count)d message deleted"
msgid_plural "%(count)d messages deleted"
msgstr[0] "%(count)d message supprimé"
msgstr[1] "%(count)d messages supprimés"
-#: extensions/webmail/views.py:103
-msgid "Unknown action"
-msgstr "Action inconnue"
-
-#: extensions/webmail/views.py:116 lib/email_listing.py:137
+#: extensions/webmail/views.py:116 lib/email_listing.py:138
msgid "Empty mailbox"
msgstr "Boite aux lettre vide"
-#: extensions/webmail/views.py:133
-#: extensions/webmail/templatetags/webextras.py:170
-msgid "Create a new mailbox"
-msgstr "Créer une nouvelle boite aux lettres"
-
-#: extensions/webmail/views.py:149
+#: extensions/webmail/views.py:142
msgid "Mailbox created"
msgstr "Boite aux lettres créée"
-#: extensions/webmail/views.py:165
+#: extensions/webmail/views.py:148
+#: extensions/webmail/templatetags/webmail_tags.py:175
+msgid "Create a new mailbox"
+msgstr "Créer une nouvelle boite aux lettres"
+
+#: extensions/webmail/views.py:167 extensions/webmail/views.py:202
msgid "Edit mailbox"
msgstr "Editer la boite aux lettres"
-#: extensions/webmail/views.py:180
+#: extensions/webmail/views.py:183
msgid "Mailbox updated"
msgstr "Boite aux lettres mise à jour"
-#: extensions/webmail/views.py:214 extensions/webmail/views.py:396
-#: extensions/webmail/views.py:505
-msgid "Bad request"
-msgstr "Mauvaise requête"
-
-#: extensions/webmail/views.py:246
+#: extensions/webmail/views.py:255
msgid "Failed to save attachment: "
msgstr "Impossible d'enregistrer la pièce jointe : "
-#: extensions/webmail/views.py:249
+#: extensions/webmail/views.py:258
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Pièce jointe trop grosse (limite : %s)"
-#: extensions/webmail/views.py:255
+#: extensions/webmail/views.py:264
#: extensions/webmail/templates/webmail/compose.html:15
#: extensions/webmail/templates/webmail/headers.html:4
msgid "Attachments"
msgstr "Pièces jointes"
-#: extensions/webmail/views.py:271
+#: extensions/webmail/views.py:281
msgid "Bad query"
msgstr "Mauvaise requête"
-#: extensions/webmail/views.py:281
+#: extensions/webmail/views.py:293
msgid "Failed to remove attachment: "
msgstr "Impossible de supprimer la pièce jointe :"
-#: extensions/webmail/views.py:286
+#: extensions/webmail/views.py:298
msgid "Unknown attachment"
msgstr "Pièce jointe inconnue"
-#: extensions/webmail/views.py:501
-msgid "Undefined action"
-msgstr "Action indéfinie"
-
#: extensions/webmail/templates/webmail/attachments.html:6
msgid "Attach"
msgstr "Joindre"
@@ -2328,111 +2779,123 @@ msgstr "Boite aux lettres parente"
msgid "Mailbox quota"
msgstr "Quota de la boite aux lettres"
-#: extensions/webmail/templatetags/webextras.py:19
+#: extensions/webmail/templatetags/webmail_tags.py:20
msgid "Reply"
msgstr "Répondre"
-#: extensions/webmail/templatetags/webextras.py:23
+#: extensions/webmail/templatetags/webmail_tags.py:24
msgid "Reply all"
msgstr "Répondre à tous"
-#: extensions/webmail/templatetags/webextras.py:27
-#: userprefs/templates/userprefs/forward.html:2
-#: userprefs/templatetags/uprefs_extras.py:27
-msgid "Forward"
-msgstr "Transfert"
-
-#: extensions/webmail/templatetags/webextras.py:33
+#: extensions/webmail/templatetags/webmail_tags.py:34
msgid "Display options"
msgstr "Afficher les options"
-#: extensions/webmail/templatetags/webextras.py:36
+#: extensions/webmail/templatetags/webmail_tags.py:37
msgid "Activate links"
msgstr "Activer les liens"
-#: extensions/webmail/templatetags/webextras.py:38
+#: extensions/webmail/templatetags/webmail_tags.py:39
msgid "Disable links"
msgstr "Désactiver les liens"
-#: extensions/webmail/templatetags/webextras.py:47
+#: extensions/webmail/templatetags/webmail_tags.py:48
msgid "Close this message"
msgstr "Fermer ce message"
-#: extensions/webmail/templatetags/webextras.py:60
+#: extensions/webmail/templatetags/webmail_tags.py:63
msgid "Back"
msgstr "Retour"
-#: extensions/webmail/templatetags/webextras.py:64
+#: extensions/webmail/templatetags/webmail_tags.py:67
msgid "Send"
msgstr "Envoyer"
-#: extensions/webmail/templatetags/webextras.py:76
+#: extensions/webmail/templatetags/webmail_tags.py:80
msgid "New message"
msgstr "Nouveau message"
-#: extensions/webmail/templatetags/webextras.py:85
+#: extensions/webmail/templatetags/webmail_tags.py:89
msgid "Mark messages"
msgstr "Marquer les messages"
-#: extensions/webmail/templatetags/webextras.py:89
+#: extensions/webmail/templatetags/webmail_tags.py:93
msgid "As read"
msgstr "Comme lus"
-#: extensions/webmail/templatetags/webextras.py:92
+#: extensions/webmail/templatetags/webmail_tags.py:96
msgid "As unread"
msgstr "Comme non lus"
-#: extensions/webmail/templatetags/webextras.py:101
+#: extensions/webmail/templatetags/webmail_tags.py:105
msgid "Compress folder"
msgstr "Compresser ce dossier"
-#: extensions/webmail/templatetags/webextras.py:110
+#: extensions/webmail/templatetags/webmail_tags.py:114
msgid "Empty folder"
msgstr "Vider ce dossier"
-#: extensions/webmail/templatetags/webextras.py:178
+#: extensions/webmail/templatetags/webmail_tags.py:183
msgid "Edit the selected mailbox"
msgstr "Editer la boite aux lettres sélectionnée"
-#: extensions/webmail/templatetags/webextras.py:183
+#: extensions/webmail/templatetags/webmail_tags.py:188
msgid "Remove the selected mailbox"
msgstr "Supprimer la boite aux lettres sélectionnée"
-#: lib/exceptions.py:18
+#: lib/dbutils.py:36
+#, python-format
+msgid "Connection to database %s not configured"
+msgstr "Connexion à la base de données %s non configurée"
+
+#: lib/exceptions.py:67
#, python-format
msgid "Permission denied: %s"
msgstr "Permission refusée : %s"
-#: lib/exceptions.py:19
+#: lib/exceptions.py:68
msgid "Permission denied"
msgstr "Permission refusée"
-#: lib/formutils.py:157 lib/formutils.py:165
+#: lib/formutils.py:187 lib/formutils.py:195
msgid "Enter a valid domain name"
msgstr "Entrer un nom de domaine valide"
-#: lib/permissions.py:27
+#: lib/formutils.py:244
+msgid "Yes"
+msgstr "Oui"
+
+#: lib/formutils.py:244
+msgid "No"
+msgstr "Non"
+
+#: lib/ldaputils.py:111
+#, python-format
+msgid "Failed to update password: %s"
+msgstr "Echec de la mise à jour du mot de passe : %s"
+
+#: lib/permissions.py:20
msgid "Simple user"
msgstr "Utilisateur simple"
-#: lib/permissions.py:29
+#: lib/permissions.py:22
msgid "Super administrator"
msgstr "Super administrateur"
-#: lib/permissions.py:31
+#: lib/permissions.py:28
msgid "Domain administrator"
msgstr "Administrateur de domaine"
-#: lib/permissions.py:75
+#: lib/permissions.py:73
#, python-format
msgid "Failed to grant access (%s)"
msgstr "Impossible de donner l'accès : %s"
-#: lib/tables.py:241
+#: lib/tables.py:251
msgid "No entries to display"
msgstr "Aucune entrée à afficher"
-#: lib/templatetags/libextras.py:108
+#: lib/templatetags/lib_tags.py:59
msgid "activate"
msgstr "activer"
@@ -2489,106 +2952,3 @@ msgstr "Se souvenir de moi"
#: templates/registration/login.html:36
msgid "Log in"
msgstr "Se connecter"
-
-#: userprefs/__init__.py:8
-msgid "User preferences"
-msgstr "Préférences utilisateur"
-
-#: userprefs/__init__.py:10
-msgid "Per-user settings"
-msgstr "Paramètres par utilisateur"
-
-#: userprefs/app_settings.py:22
-msgid "Prefered language"
-msgstr "Langage préféré"
-
-#: userprefs/app_settings.py:27
-msgid "Prefered language to display pages"
-msgstr "Langage préféré pour afficher les pages"
-
-#: userprefs/forms.py:14
-msgid "Old password"
-msgstr "Ancien mot de passe"
-
-#: userprefs/forms.py:16
-msgid "New password"
-msgstr "Nouveau mot de passe"
-
-#: userprefs/forms.py:40
-msgid "Old password mismatchs"
-msgstr "L'ancien mot de passe est incorrect"
-
-#: userprefs/forms.py:45
-msgid "Passwords mismatch"
-msgstr "Les mots de passe diffèrent"
-
-#: userprefs/forms.py:59
-msgid "Recipient(s)"
-msgstr "Destinataire(s)"
-
-#: userprefs/forms.py:62
-msgid "Indicate one or more recipients separated by a ','"
-msgstr "Indiquer un ou plusieurs destinataires séparés par une ','"
-
-#: userprefs/forms.py:65
-msgid "Keep local copies"
-msgstr "Conserver des copies locales"
-
-#: userprefs/forms.py:67
-msgid "Forward messages and store copies into your local mailbox"
-msgstr "Transférer les messages et conserver une copie dans votre boite locale"
-
-#: userprefs/forms.py:84
-msgid ""
-"You can't define a forward to a local destination. Please ask your "
-"administrator to create an alias instead."
-msgstr ""
-"Vous ne pouvez pas définir un transfert vers une destination locale. "
-"Veuillez plutôt demander à votre administrateur de créer un alias"
-
-#: userprefs/views.py:32
-msgid "You need a mailbox in order to define a forward"
-msgstr "Vous avez besoin d'une boite aux lettres pour définir un transfert"
-
-#: userprefs/views.py:56
-msgid "Forward updated"
-msgstr "Transfert mis à jour"
-
-#: userprefs/views.py:98
-msgid "Profile updated"
-msgstr "Profil mis à jour"
-
-#: userprefs/views.py:127
-msgid "Preferences saved"
-msgstr "Préférences enregistrées"
-
-#: userprefs/templates/userprefs/forward.html:2
-msgid "Automatically forward emails to another address"
-msgstr "Transférer automatiquement les messages vers une autre adresse"
-
-#: userprefs/templates/userprefs/index.html:2
-#: userprefs/templatetags/uprefs_extras.py:48
-msgid "Settings"
-msgstr "Configuration"
-
-#: userprefs/templates/userprefs/preferences.html:2
-#: userprefs/templatetags/uprefs_extras.py:21
-msgid "Preferences"
-msgstr "Préférences"
-
-#: userprefs/templates/userprefs/preferences.html:2
-msgid "Customize Modoboa"
-msgstr "Personnalisez Modoboa"
-
-#: userprefs/templates/userprefs/profile.html:2
-#: userprefs/templatetags/uprefs_extras.py:17
-msgid "Profile"
-msgstr "Profil"
-
-#: userprefs/templates/userprefs/profile.html:2
-msgid "Update your personal information"
-msgstr "Mettez à jour vos informations personnelles"
-
-#: userprefs/templatetags/uprefs_extras.py:57
-msgid "Logout"
-msgstr "Déconnexion"
diff --git a/modoboa/locale/fr/LC_MESSAGES/djangojs.po b/modoboa/locale/fr/LC_MESSAGES/djangojs.po
index 6f0a85f2f..a95d9bf68 100644
--- a/modoboa/locale/fr/LC_MESSAGES/djangojs.po
+++ b/modoboa/locale/fr/LC_MESSAGES/djangojs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: modoboa-1.0.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-05-22 17:39+0200\n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: 2011-01-07 10:00+0100\n"
"Last-Translator: Antoine Nguyen \n"
"Language-Team: FR \n"
@@ -17,97 +17,82 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/static/admin/js/admin.js:26
+#: extensions/admin/static/admin/js/admin.js:32
msgid "Search"
msgstr "Chercher"
-#: admin/static/admin/js/admin.js:110
+#: extensions/admin/static/admin/js/admin.js:170
msgid "Do not delete domain directory"
msgstr "Ne pas supprimer le répertoire du domaine"
-#: admin/static/admin/js/admin.js:113
+#: extensions/admin/static/admin/js/admin.js:173
msgid "This operation will remove ALL data associated to this domain."
msgstr "Cette opération supprimera TOUTES les données associées à ce domaine."
-#: admin/static/admin/js/admin.js:114
+#: extensions/admin/static/admin/js/admin.js:174
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
-msgstr "Cette opération supprimera toutes les données associées à ce domaine "
-"à l'excéption des comptes."
+msgstr ""
+"Cette opération supprimera toutes les données associées à ce domaine à "
+"l'excéption des comptes."
-#: admin/static/admin/js/admin.js:117
-msgid "Delete this domain?"
-msgstr "Supprimer ce domaine?"
-
-#: admin/static/admin/js/admin.js:161
+#: extensions/admin/static/admin/js/admin.js:222
msgid "No domain administrator defined"
msgstr "Aucun administrateur de domaine défini"
-#: admin/static/admin/js/admin.js:238
+#: extensions/admin/static/admin/js/admin.js:291
msgid "Do not delete mailbox directory"
msgstr "Ne pas supprimer le répertoire de la boite aux lettres"
-#: admin/static/admin/js/admin.js:243
-msgid "Delete this account?"
-msgstr "Supprimer ce compte?"
-
-#: admin/static/admin/js/admin.js:249
-msgid "Delete this list?"
-msgstr "Supprimer cette liste?"
-
-#: admin/static/admin/js/admin.js:254
-msgid "Delete this forward?"
-msgstr "Supprimer ce transfert?"
-
-#: admin/static/admin/js/admin.js:259
-msgid "Delete this alias?"
-msgstr "Supprimer cet alias?"
-
-#: extensions/amavis/static/amavis/js/quarantine.js:126
+#: extensions/amavis/static/amavis/js/quarantine.js:180
msgid "Release this selection?"
msgstr "Relâcher cette sélection?"
-#: extensions/amavis/static/amavis/js/quarantine.js:130
+#: extensions/amavis/static/amavis/js/quarantine.js:184
msgid "Delete this selection?"
msgstr "Supprimer cette sélection?"
-#: extensions/amavis/static/amavis/js/quarantine.js:148
-#: extensions/amavis/static/amavis/js/selfservice.js:22
+#: extensions/amavis/static/amavis/js/quarantine.js:203
+#: extensions/amavis/static/amavis/js/selfservice.js:17
msgid "Release this message?"
msgstr "Relâcher cette message?"
-#: extensions/amavis/static/amavis/js/quarantine.js:152
-#: extensions/amavis/static/amavis/js/selfservice.js:26
+#: extensions/amavis/static/amavis/js/quarantine.js:207
+#: extensions/amavis/static/amavis/js/selfservice.js:21
msgid "Delete this message?"
msgstr "Supprimer ce message?"
-#: extensions/amavis/static/amavis/js/quarantine.js:169
+#: 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:174
+#: extensions/amavis/static/amavis/js/quarantine.js:229
msgid "Hide full headers"
msgstr "Cacher les entêtes complets"
+#: extensions/postfix_relay_domains/static/postfix_relay_domains/js/relay_domains.js:49
+msgid "Services updated"
+msgstr "Services mis à jour"
+
#: extensions/sievefilters/static/sievefilters/js/lib.js:14
msgid "Remove this filter?"
msgstr "Supprimer ce filtre?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:117
+#: extensions/sievefilters/static/sievefilters/js/lib.js:107
msgid "Save changes?"
msgstr "Enregistrer les changements?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:144
+#: extensions/sievefilters/static/sievefilters/js/lib.js:129
msgid "Remove filters set?"
msgstr "Supprimer ce jeu de filtres?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:161
+#: extensions/sievefilters/static/sievefilters/js/lib.js:146
msgid "Activate this filters set?"
msgstr "Activer ce jeu de filtres?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:169
-#: extensions/sievefilters/static/sievefilters/js/lib.js:224
+#: extensions/sievefilters/static/sievefilters/js/lib.js:154
+#: extensions/sievefilters/static/sievefilters/js/lib.js:203
msgid "active"
msgstr "actif"
@@ -115,19 +100,19 @@ msgstr "actif"
msgid "Search a domain"
msgstr "Checher un domaine"
-#: extensions/webmail/static/webmail/js/webmail.js:485
+#: extensions/webmail/static/webmail/js/webmail.js:472
msgid "Remove the selected mailbox?"
msgstr "Supprimer la boite sélectionnée?"
-#: extensions/webmail/static/webmail/js/webmail.js:499
+#: extensions/webmail/static/webmail/js/webmail.js:485
msgid "Mailbox removed"
msgstr "Boite aux lettres supprimées"
-#: extensions/webmail/static/webmail/js/webmail.js:823
+#: extensions/webmail/static/webmail/js/webmail.js:727
msgid "Message sent"
msgstr "Message envoyé"
-#: extensions/webmail/static/webmail/js/webmail.js:856
+#: extensions/webmail/static/webmail/js/webmail.js:854
msgid "Message deleted"
msgstr "Message supprimé"
@@ -145,16 +130,16 @@ msgid_plural "Moving %s messages"
msgstr[0] "Déplacement de %s message"
msgstr[1] "Déplacement de %s messages"
-#: static/js/confirmation.js:48
+#: static/js/confirmation.js:50
msgid "Warning"
msgstr "Avertissement"
-#: static/js/confirmation.js:57
+#: static/js/confirmation.js:59
msgid "Cancel"
msgstr "Annuler"
-#: static/js/confirmation.js:99 static/js/history.js:239
-msgid "Internal Error"
+#: static/js/global.js:314
+msgid "Internal error"
msgstr "Erreur interne"
#: static/js/searchbar.js:20
diff --git a/modoboa/locale/it/LC_MESSAGES/django.po b/modoboa/locale/it/LC_MESSAGES/django.po
index dcf26d52d..60cedba05 100644
--- a/modoboa/locale/it/LC_MESSAGES/django.po
+++ b/modoboa/locale/it/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-26 23:42+0200\n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: 2013-09-27 00:07+0200\n"
"Last-Translator: Alberto Berti \n"
"Language-Team: ITALIANO \n"
@@ -17,107 +17,130 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/__init__.py:9
-msgid "Administration console"
-msgstr "Interfaccia amministrativa"
-
-#: admin/__init__.py:11
-msgid "Web based console to manage domains, accounts and aliases"
-msgstr "Interfaccia web per l'amministrazione di domini, account e alias"
-
-#: admin/__init__.py:16 admin/forms.py:211 admin/forms.py:652
-#: admin/views.py:94 admin/views.py:447
+#: core/__init__.py:52 core/__init__.py:53
+#: extensions/admin/forms/account.py:325 extensions/admin/forms/domain.py:251
+#: extensions/admin/views/domain.py:95 extensions/admin/views/identity.py:127
#: extensions/postfix_autoreply/app_settings.py:11
+#: extensions/postfix_relay_domains/forms.py:138
#: extensions/sievefilters/app_settings.py:50
#: extensions/stats/app_settings.py:11 extensions/webmail/app_settings.py:11
-#: userprefs/__init__.py:15
msgid "General"
msgstr "Generale"
-#: admin/app_settings.py:31
+#: core/app_settings.py:36
msgid "Authentication"
msgstr "Autenticazione"
-#: admin/app_settings.py:34
+#: core/app_settings.py:39
msgid "Authentication type"
msgstr "Tipo di autenticazione"
-#: admin/app_settings.py:35
+#: core/app_settings.py:40
msgid "Local"
msgstr "Locale"
-#: admin/app_settings.py:38
+#: core/app_settings.py:43
msgid "The backend used for authentication"
msgstr "Il backend utilizzato per l'autenticazione"
-#: admin/app_settings.py:43
+#: core/app_settings.py:48
msgid "Default password scheme"
msgstr "Schema password predefinito"
-#: admin/app_settings.py:50
+#: core/app_settings.py:51
+msgid "md5crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:52
+msgid "sha256 (weak)"
+msgstr ""
+
+#: core/app_settings.py:53
+msgid "md5 (weak)"
+msgstr ""
+
+#: core/app_settings.py:54
+msgid "crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:55
+msgid "plain (weak)"
+msgstr ""
+
+#: core/app_settings.py:57
msgid "Scheme used to crypt mailbox passwords"
msgstr ""
"Schema utilizzato per la criptazione delle password delle caselle di posta"
-#: admin/app_settings.py:54
+#: core/app_settings.py:61
+msgid "Rounds"
+msgstr ""
+
+#: core/app_settings.py:64
+msgid ""
+"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
+"between 1000 and 999999999, inclusive."
+msgstr ""
+
+#: core/app_settings.py:70
msgid "Secret key"
msgstr "Chiave segreta"
-#: admin/app_settings.py:56
+#: core/app_settings.py:72
msgid "Key used to encrypt/decrypt passwords"
msgstr "Chiave utilizzata per criptare/decriptare le password"
-#: admin/app_settings.py:60
+#: core/app_settings.py:76
msgid "LDAP settings"
msgstr "Impostazioni LDAP"
-#: admin/app_settings.py:63 extensions/sievefilters/app_settings.py:22
+#: core/app_settings.py:79 extensions/sievefilters/app_settings.py:22
#: extensions/webmail/app_settings.py:22 extensions/webmail/app_settings.py:42
msgid "Server address"
msgstr "Indirizzo del server"
-#: admin/app_settings.py:65
+#: core/app_settings.py:81
msgid "The IP address of the DNS name of the LDAP server"
msgstr "L'indirizzo IP associato al DNS name del server LDAP"
-#: admin/app_settings.py:69 extensions/sievefilters/app_settings.py:28
+#: core/app_settings.py:85 extensions/sievefilters/app_settings.py:28
#: extensions/webmail/app_settings.py:34 extensions/webmail/app_settings.py:58
msgid "Server port"
msgstr "Porta del server"
-#: admin/app_settings.py:71
+#: core/app_settings.py:87
msgid "The TCP port number used by the LDAP server"
msgstr "Il numero della porta TCP utilizzata dal server LDAP"
-#: admin/app_settings.py:75 extensions/webmail/app_settings.py:28
+#: core/app_settings.py:91 extensions/webmail/app_settings.py:28
msgid "Use a secured connection"
msgstr "Usa una connessione sicura"
-#: admin/app_settings.py:77
+#: core/app_settings.py:93
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Utilizza una connessione SSL/TLS per accedere al server LDAP"
-#: admin/app_settings.py:81
+#: core/app_settings.py:97
msgid "Authentication method"
msgstr "Metodo di autenticazione"
-#: admin/app_settings.py:82
+#: core/app_settings.py:98
msgid "Search and bind"
msgstr "Cerca e collega"
-#: admin/app_settings.py:83
+#: core/app_settings.py:99
msgid "Direct bind"
msgstr "Collegamento diretto"
-#: admin/app_settings.py:85
+#: core/app_settings.py:101
msgid "Choose the authentication method to use"
msgstr "Scegli il metodo di autenticazione da usare"
-#: admin/app_settings.py:90
+#: core/app_settings.py:106
msgid "Bind DN"
msgstr "collega DN"
-#: admin/app_settings.py:92
+#: core/app_settings.py:108
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
@@ -125,29 +148,31 @@ msgstr ""
"Nome particolare da usare quando ci si collega al server LDAP. Lasciare "
"vuoto per un collegamento anonimo"
-#: admin/app_settings.py:97
+#: core/app_settings.py:113
msgid "Bind password"
msgstr "Password del collegamento"
-#: admin/app_settings.py:99
+#: core/app_settings.py:115
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
msgstr ""
"La password da utilizzare quando ci si collega al server LDAP (con 'Collega "
"DN')"
-#: admin/app_settings.py:105
-msgid "Search base"
+#: core/app_settings.py:121
+#, fuzzy
+msgid "Users search base"
msgstr "Ricerca base"
-#: admin/app_settings.py:107
-msgid "The distinguished name of the search base"
+#: core/app_settings.py:123
+#, fuzzy
+msgid "The distinguished name of the search base used to find users"
msgstr "Nome particolare della ricerca base"
-#: admin/app_settings.py:112
+#: core/app_settings.py:128
msgid "Search filter"
msgstr "Filtro ricerca"
-#: admin/app_settings.py:114
+#: core/app_settings.py:130
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
@@ -155,11 +180,11 @@ msgstr ""
"Stringa di filtraggio opzionale (p.es '(objectClass=person)'). Per essere "
"valida deve essere racchiusa tra parentesi."
-#: admin/app_settings.py:119
+#: core/app_settings.py:135
msgid "User DN template"
msgstr "Modello DN dell'utente"
-#: admin/app_settings.py:121
+#: core/app_settings.py:137
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
@@ -168,980 +193,369 @@ msgstr ""
"Il modello utilizzato per comporre un DN dell'utente. Deve contenere un "
"segnaposto (p.es. %(user)s)"
-#: admin/app_settings.py:126
+#: core/app_settings.py:142
msgid "Password attribute"
msgstr "Attributo della password"
-#: admin/app_settings.py:128
+#: core/app_settings.py:144
msgid "The attribute used to store user passwords"
msgstr "L'attributo utilizzato per memorizzare le password dell'utente"
-#: admin/app_settings.py:132
+#: core/app_settings.py:148
msgid "Active Directory"
msgstr "Active Directory"
-#: admin/app_settings.py:134
+#: core/app_settings.py:150
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "Segnala se il server LDAP è una Active Directory"
-#: admin/app_settings.py:137 admin/templates/admin/editdomainform.html:25
-#: extensions/limits/app_settings.py:31 extensions/limits/forms.py:24
-#: extensions/limits/models.py:14 extensions/webmail/app_settings.py:101
-#: extensions/webmail/templates/webmail/folders.html:4
-msgid "Mailboxes"
-msgstr "Caselle di posta"
+#: core/app_settings.py:154
+#, fuzzy
+msgid "Administrator groups"
+msgstr "Amministratori"
-#: admin/app_settings.py:140
-msgid "Handle mailboxes on filesystem"
-msgstr "Gestione delle caselle di posta nel filsystem"
-
-#: admin/app_settings.py:142
+#: core/app_settings.py:157
msgid ""
-"Rename or remove mailboxes on the filesystem when they get renamed or "
-"removed within Modoboa"
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
msgstr ""
-"Rinomina o rimuovi le caselle di posta nel filsystem quando sono rinominate "
-"o rimosse in Modoboa"
-#: admin/app_settings.py:146
-msgid "Mailboxes ower"
-msgstr "Proprietario delle caselle postali"
+#: core/app_settings.py:164
+#, fuzzy
+msgid "Groups search base"
+msgstr "Ricerca base"
-#: admin/app_settings.py:148
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "L'account UNIX a cui appartengono le caselle postali nel filsystem"
+#: core/app_settings.py:167
+#, fuzzy
+msgid "The distinguished name of the search base used to find groups"
+msgstr "Nome particolare della ricerca base"
-#: admin/app_settings.py:152
-msgid "Automatic account removal"
-msgstr "Rimozione automatica dell'account"
-
-#: admin/app_settings.py:154
-msgid "When a mailbox is removed, also remove the associated account"
-msgstr ""
-"Quando una casella postale viene rimossa rimuovi anche l'account associato"
-
-#: admin/app_settings.py:157 admin/templates/admin/editdomainform.html:7
+#: core/app_settings.py:172
+#: extensions/admin/templates/admin/editdomainform.html:7
msgid "Miscellaneous"
msgstr "Miscellanea"
-#: admin/app_settings.py:160
+#: core/app_settings.py:175
msgid "Maximum log record age"
msgstr "Età massima dei log"
-#: admin/app_settings.py:162
+#: core/app_settings.py:177
msgid "The maximum age in days of a log record"
msgstr "La persistenza massima in giorni dei log"
-#: admin/app_settings.py:166
+#: core/app_settings.py:181
msgid "Items per page"
msgstr "Elementi per pagina"
-#: admin/app_settings.py:168
+#: core/app_settings.py:183
msgid "Number of displayed items per page"
msgstr "Numero degli elementi visualizzati in ciascuna pagina"
-#: admin/app_settings.py:172
+#: core/app_settings.py:187
msgid "Default top redirection"
msgstr "Reindirizzamento principale predefinito"
-#: admin/app_settings.py:175
+#: core/app_settings.py:190
msgid "The default redirection used when no application is specified"
msgstr ""
"Redirezione predefinita utilizzata quando non è specificata alcuna "
"applicazione"
-#: admin/app_settings.py:213
+#: core/app_settings.py:218
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr "La chiave può essere lunga solo 16, 24 o 32 bytes"
-#: admin/app_settings.py:222
+#: core/app_settings.py:227 extensions/postfix_autoreply/app_settings.py:53
msgid "Invalid syntax"
msgstr "Sintassi errata"
-#: admin/app_settings.py:245
+#: core/app_settings.py:233
+#, fuzzy
+msgid "Invalid rounds number"
+msgstr "Richiesta non valida"
+
+#: core/app_settings.py:256
msgid "This field is required"
msgstr "Questo campo è obbligatorio"
-#: admin/forms.py:20 admin/forms.py:497 admin/tables.py:18
-msgid "Alias(es)"
-msgstr "Alias"
+#: core/app_settings.py:317 extensions/amavis/app_settings.py:87
+#: extensions/amavis/templates/amavis/main_action_bar.html:29
+#: extensions/webmail/app_settings.py:73
+msgid "Display"
+msgstr "Mostra"
-#: admin/forms.py:22
-msgid ""
-"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
-"add a new input."
-msgstr ""
-"Alias per questo dominio. Inserire un solo nome alla volta, premere INVIO "
-"per aggiungere un nuovo elemento"
+#: core/app_settings.py:321
+msgid "Prefered language"
+msgstr "Lingua preferita"
-#: admin/forms.py:59
-msgid "An alias with this name already exists"
-msgstr "Esiste già un alias con questo nome"
+#: core/app_settings.py:326
+msgid "Prefered language to display pages"
+msgstr "Lingua preferita per mostrare le pagine"
-#: admin/forms.py:73
-msgid "A domain with this name already exists"
-msgstr "Esiste già un dominio con questo nome"
-
-#: admin/forms.py:146
-msgid "Create a domain administrator"
-msgstr "Crea un amministratore di dominio"
-
-#: admin/forms.py:148
-msgid "Automatically create an administrator for this domain"
-msgstr "Crea automaticamente un amministratore per questo dominio"
-
-#: admin/forms.py:152 admin/tables.py:12 admin/tables.py:47
-#: admin/templates/admin/editdomainform.html:13
-#: admin/templates/admin/identities_table.html:5
-#: admin/templates/admin/information.html:8
-#: extensions/sievefilters/forms.py:53
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
-msgid "Name"
-msgstr "Nome"
-
-#: admin/forms.py:154
-msgid ""
-"The administrator's name. Don't include the domain's name here, it will be "
-"automatically appended."
-msgstr ""
-"Il nome dell'amministratore. Non includere il nome del dominio, verrà "
-"aggiunto automaticamente."
-
-#: admin/forms.py:160
-msgid "Create aliases"
-msgstr "Crea alias"
-
-#: admin/forms.py:162
-msgid "Automatically create standard aliases for this domain"
-msgstr "Crea automaticamente gli alias standard per questo dominio"
-
-#: admin/forms.py:175
-msgid "Invalid format"
-msgstr "Formato non valido"
-
-#: admin/forms.py:187
-#, python-format
-msgid "User '%s' already exists"
-msgstr "L'utente '%s' esiste già"
-
-#: admin/forms.py:235
-msgid "Email address"
-msgstr "Indirizzo email"
-
-#: admin/forms.py:236
-msgid ""
-"The distribution list address. Use the '*' character to create a 'catchall' "
-"address (ex: *@domain.tld)."
-msgstr "Elenco degli indirizzi di smistamento"
-
-#: admin/forms.py:239
-msgid "Recipients"
-msgstr "Destinatari"
-
-#: admin/forms.py:240
-msgid ""
-"Mailbox(es) this alias will point to. Indicate only one address per input, "
-"press ENTER to add a new input."
-msgstr ""
-"Casella(e) di posta a cui l'alias punterà. Inserire un solo indirizzo alla "
-"volta, premere INVIO per aggiungere un nuovo elemento."
-
-#: admin/forms.py:278 admin/forms.py:542 admin/forms.py:568
-msgid "Domain does not exist"
-msgstr "Il dominio non esiste"
-
-#: admin/forms.py:280
-msgid "You don't have access to this domain"
-msgstr "Non hai accesso a questo dominio"
-
-#: admin/forms.py:300
-msgid "Invalid mailbox"
-msgstr "Casella di posta non valida"
-
-#: admin/forms.py:316 admin/models.py:1202
-#, python-format
-msgid "Local recipient %s not found"
-msgstr "Il destinatario locale %s non è stato trovato"
-
-#: admin/forms.py:318 admin/forms.py:324
-#, python-format
-msgid "Recipient %s already present"
-msgstr "Il destinatario %s è già esistente"
-
-#: admin/forms.py:329
-msgid "No recipient defined"
-msgstr "Non è stato definito un destinatario"
-
-#: admin/forms.py:343 extensions/webmail/forms.py:19
-msgid "Select a file"
-msgstr "Seleziona un file"
-
-#: admin/forms.py:345 admin/forms.py:373
-msgid "Separator"
-msgstr "Separatore"
-
-#: admin/forms.py:348
-msgid "Continue on error"
-msgstr "Continuare in caso di errore"
-
-#: admin/forms.py:349
-msgid "Don't treat duplicated objects as error"
-msgstr "Non considerare errore gli oggetti duplicati"
-
-#: admin/forms.py:364
-msgid "Crypt passwords"
-msgstr "Cripta le password"
-
-#: admin/forms.py:365
-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"
-
-#: admin/forms.py:371
-msgid "File name"
-msgstr "Nome del file"
-
-#: admin/forms.py:403 admin/templates/admin/editdomainform.html:13
-#: auth/forms.py:7
+#: core/forms.py:10 extensions/admin/forms/account.py:19
+#: extensions/admin/templates/admin/editdomainform.html:13
msgid "Username"
msgstr "Nome utente"
-#: admin/forms.py:405
-msgid "Role"
-msgstr "Ruolo"
-
-#: admin/forms.py:406 admin/forms.py:433
-msgid "Choose"
-msgstr "Scegli"
-
-#: admin/forms.py:407
-msgid "What level of permission this user will have"
-msgstr "Il livello di permessi che avrà questo utente"
-
-#: admin/forms.py:409 auth/forms.py:11
+#: core/forms.py:14 extensions/admin/forms/account.py:30
msgid "Password"
msgstr "Password"
-#: admin/forms.py:411 userprefs/forms.py:18
+#: core/forms.py:25
+msgid "Old password"
+msgstr "Vecchia password"
+
+#: core/forms.py:29
+msgid "New password"
+msgstr "Nuova password"
+
+#: core/forms.py:33 extensions/admin/forms/account.py:33
msgid "Confirmation"
msgstr "Conferma"
-#: admin/forms.py:413
-msgid "Enter the same password as above, for verification."
-msgstr ""
-"Inserisci la medesima password che hai inserito sopra, per la verifica."
+#: core/forms.py:56
+msgid "Old password mismatchs"
+msgstr "La vecchia password non corrisponde"
-#: admin/forms.py:424
-msgid "Enabled"
-msgstr "Abilitato"
+#: core/forms.py:61
+msgid "Passwords mismatch"
+msgstr "La password non corrisponde"
-#: admin/forms.py:471
-msgid "The two password fields didn't match."
-msgstr "Le password nei due campi non corrispondono"
+#: core/models.py:49
+#, fuzzy
+msgid "password"
+msgstr "Password"
-#: admin/forms.py:477
-msgid "You can't disable your own account"
-msgstr "Tu non puoi disabilitare il tuo account"
+#: core/models.py:51
+#, fuzzy
+msgid "last login"
+msgstr "Ultimo login"
-#: admin/forms.py:488
-msgid "E-mail"
-msgstr "E-mail"
-
-#: admin/forms.py:490
-msgid "Quota"
-msgstr "Quota"
-
-#: admin/forms.py:492
-msgid ""
-"Quota in MB for this mailbox. Define a custom value or use domain's default "
-"one. Leave empty to define an unlimited value (not allowed for domain "
-"administrators)."
-msgstr ""
-"Quota in MB per questo account. Stabilire un valore personalizzato o usare "
-"quello predefinito. Lasciare vuoto per non impostare limiti (non consentito "
-"per gli amministratori di dominio)."
-
-#: admin/forms.py:499
-msgid ""
-"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
-"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
-"*@domain.tld)."
-msgstr ""
-"Alias per questa casella di posta. Inserire un solo indirizzo alla volta, "
-"premere INVIO per aggiungere un nuovo elemento. Utilizzare il carattere '*' "
-"per creare un alias 'prenditutto' (p.es.: *@dominio.org)."
-
-#: admin/forms.py:550
-#, python-format
-msgid "Mailbox %s already exists"
-msgstr "La casella di posta %s esiste già"
-
-#: admin/forms.py:610
-msgid "Domain(s)"
-msgstr "Dominio(i)"
-
-#: admin/forms.py:612
-msgid "Domain(s) that user administrates"
-msgstr "Dominio(i) amministrato(i) dall'utente"
-
-#: admin/forms.py:654 admin/views.py:450
-msgid "Mail"
-msgstr "Posta"
-
-#: admin/forms.py:656
-msgid "Permissions"
-msgstr "Permessi"
-
-#: admin/models.py:80
+#: core/models.py:80
msgid "You can't delete your own account"
msgstr "Non puoi cancellare il tuo account"
-#: admin/models.py:161
+#: core/models.py:116
msgid "Failed to update password: LDAP module not installed"
msgstr "Aggiornamento della password fallito: il modulo LDAP non è installato"
-#: admin/models.py:167
-#, python-format
-msgid "Failed to update password: %s"
-msgstr "Aggiornamento della password fallito: %s"
-
-#: admin/models.py:194
+#: core/models.py:169
msgid "account"
msgstr "account"
-#: admin/models.py:496 admin/models.py:733 admin/models.py:795
+#: core/models.py:320 extensions/admin/models/domain.py:135
+#: 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"
-#: admin/models.py:500
+#: core/models.py:324
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"
-#: admin/models.py:506
+#: core/models.py:330
#, python-format
msgid "The simple user '%s' must have a valid email address"
msgstr "L'utente '%s' deve avere un indirizzo email valido"
-#: admin/models.py:510
+#: core/models.py:334
#, 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"
-#: admin/models.py:534
-#, python-format
-msgid "Account import failed (%s): domain does not exist"
-msgstr "Importazione dell'account fallito (%s): il dominio non esiste"
-
-#: admin/models.py:624 admin/models.py:746
-msgid "name"
-msgstr "nome"
-
-#: admin/models.py:625
-msgid "The domain name"
-msgstr "Il nome del dominio"
-
-#: admin/models.py:627
-msgid "Default quota in MB applied to mailboxes"
-msgstr "Quota in MB predefinita applicata alle caselle di posta"
-
-#: admin/models.py:630 admin/models.py:753 admin/models.py:1045
-#: admin/models.py:1217 extensions/postfix_autoreply/models.py:27
+#: core/models.py:403 extensions/admin/models/alias.py:33
+#: extensions/admin/models/domain.py:32
+#: extensions/admin/models/domain_alias.py:17
+#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_relay_domains/models.py:85
+#: extensions/postfix_relay_domains/models.py:167
msgid "enabled"
msgstr "Attivato"
-#: admin/models.py:631
-msgid "Check to activate this domain"
-msgstr "Seleziona per attivare questo dominio"
-
-#: admin/models.py:747
-msgid "The alias name"
-msgstr "Il nome dell'alias"
-
-#: admin/models.py:749
-msgid "target"
-msgstr "destinazione"
-
-#: admin/models.py:750
-msgid "The domain this alias points to"
-msgstr "Il dominio a cui punta questo alias"
-
-#: admin/models.py:754 admin/models.py:1046
-msgid "Check to activate this alias"
-msgstr "Seleziona per attivare questo alias"
-
-#: admin/models.py:801
-#, python-format
-msgid "Unknown domain %s"
-msgstr "Dominio sconosciuto %s"
-
-#: admin/models.py:818 admin/models.py:1031
-msgid "address"
-msgstr "indirizzo"
-
-#: admin/models.py:819
-msgid "Mailbox address (without the @domain.tld part)"
-msgstr "Indirizzo della casella di posta (senza la parte @dominio.org)"
-
-#: admin/models.py:877
-#, python-format
-msgid "Failed to retrieve mailbox location (%s)"
-msgstr "Impossibile recuperare la posizione della casella di posta (%s)"
-
-#: admin/models.py:921
-#, python-format
-msgid "Quota is greater than the allowed domain's limit (%dM)"
-msgstr "La quota è maggiore del limite stabilito per il dominio (%dM)"
-
-#: admin/models.py:926
-msgid "A quota is required"
-msgstr "È richiesta una quota"
-
-#: admin/models.py:1032
-msgid ""
-"The alias address (without the domain part). For a 'catch-all' address, just "
-"enter an * character."
-msgstr ""
-"L'indirizzo alternativo (senza la parte del dominio). Per un indirizzo "
-"'prenditutto' inserisci un carattere '*'."
-
-#: admin/models.py:1036
-msgid "mailboxes"
-msgstr "caselle di posta"
-
-#: admin/models.py:1037
-msgid "The mailboxes this alias points to"
-msgstr "Le caselle di posta a cui punta questo alias"
-
-#: admin/models.py:1041
-msgid "The aliases this alias points to"
-msgstr "Gli alias a cui questo alias puntano"
-
-#: admin/models.py:1089
-msgid "distribution list"
-msgstr "elenco di smistamento"
-
-#: admin/models.py:1090
-msgid "forward"
-msgstr "inoltra"
-
-#: admin/models.py:1091
-msgid "alias"
-msgstr "alias"
-
-#: admin/models.py:1170
-#, python-format
-msgid "Invalid line: %s"
-msgstr "Riga non valida: %s"
-
-#: admin/models.py:1175
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "Il dominio '%s' non esiste"
-
-#: admin/models.py:1218
+#: core/models.py:404
msgid "Check to enable this extension"
msgstr "Seleziona per abilitare questa estensione"
-#: admin/models.py:1318
+#: core/models.py:474
msgid "added"
msgstr "aggiunto"
-#: admin/models.py:1321
+#: core/models.py:477
msgid "modified"
msgstr "modificato"
-#: admin/models.py:1324
-msgid "deleted"
-msgstr "cancellato"
-
-#: admin/models.py:1326
+#: core/models.py:479 core/models.py:503
#, python-format
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s dell'utente %(user)s"
-#: admin/tables.py:14
-msgid "Edit domain"
-msgstr "Modifica dominio"
+#: core/models.py:505
+msgid "deleted"
+msgstr "cancellato"
-#: admin/tables.py:21 admin/templates/admin/identities_table.html:8
-#: admin/templates/admin/listing.html:17 extensions/sievefilters/views.py:83
-#: extensions/sievefilters/templates/sievefilters/filter.html:17
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
-#: extensions/webmail/templatetags/webextras.py:97
-msgid "Actions"
-msgstr "Azioni"
+#: core/tables.py:8 core/templates/core/information.html:8
+#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:182
+#: extensions/admin/templates/admin/domains_table.html:5
+#: extensions/admin/templates/admin/editdomainform.html:13
+#: extensions/admin/templates/admin/identities_table.html:5
+#: extensions/sievefilters/forms.py:60
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
+msgid "Name"
+msgstr "Nome"
-#: admin/tables.py:48
+#: core/tables.py:10 extensions/admin/tables.py:11
msgid "Version"
msgstr "Versione"
-#: admin/tables.py:49
+#: core/tables.py:12 extensions/admin/tables.py:13
msgid "Description"
msgstr "Descrizione"
-#: admin/views.py:88
-msgid "New domain"
-msgstr "Nuovo dominio"
-
-#: admin/views.py:89 admin/views.py:98 admin/views.py:228 admin/views.py:444
-#: admin/views.py:451 extensions/sievefilters/views.py:129
-#: extensions/sievefilters/views.py:198 extensions/webmail/views.py:128
-msgid "Create"
-msgstr "Crea"
-
-#: admin/views.py:95 admin/views.py:448
-msgid "Next"
-msgstr "Successivo"
-
-#: admin/views.py:97
-msgid "Options"
-msgstr "Opzioni"
-
-#: admin/views.py:99 admin/views.py:452
-msgid "Previous"
-msgstr "Precedente"
-
-#: admin/views.py:112
-msgid "Domain created"
-msgstr "Dominio creato"
-
-#: admin/views.py:146 admin/views.py:285 admin/views.py:498
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
-#: extensions/sievefilters/views.py:148 extensions/webmail/views.py:160
-#: userprefs/templates/userprefs/forward.html:8
-#: userprefs/templates/userprefs/profile.html:8
-msgid "Update"
-msgstr "Aggiorna"
-
-#: admin/views.py:162
-msgid "Domain modified"
-msgstr "Dominio modificato"
-
-#: admin/views.py:189
-msgid "You can't delete your own domain"
-msgstr "Non puoi cancellare il tuo dominio"
-
-#: admin/views.py:192
-msgid "Domain deleted"
-msgid_plural "Domains deleted"
-msgstr[0] "Dominio cancellato"
-msgstr[1] "Domini cancellati"
-
-#: admin/views.py:207
-msgid "Alias with this name already exists"
-msgstr "Un alias con questo nome esiste già"
-
-#: admin/views.py:250
-msgid "New distribution list"
-msgstr "Nuovo elenco di smistamento"
-
-#: admin/views.py:251
-msgid "Distribution list created"
-msgstr "Elenco di smistamento creato"
-
-#: admin/views.py:260
-msgid "New alias"
-msgstr "Nuovo alias"
-
-#: admin/views.py:261
-msgid "Alias created"
-msgstr "Alias creato"
-
-#: admin/views.py:270
-msgid "New forward"
-msgstr "Nuovo inoltro"
-
-#: admin/views.py:271
-msgid "Forward created"
-msgstr "Inoltro creato"
-
-#: admin/views.py:289
-msgid "Distribution list modified"
-msgstr "Elenco di smistamento modificato"
-
-#: admin/views.py:291
-msgid "Forward modified"
-msgstr "Inoltro modificato"
-
-#: admin/views.py:293
-msgid "Alias modified"
-msgstr "Alias modificato"
-
-#: admin/views.py:402 admin/views.py:545 admin/views.py:550
-#: extensions/amavis/views.py:204 extensions/amavis/views.py:210
-#: extensions/amavis/views.py:243 extensions/amavis/views.py:247
-#: extensions/amavis/views.py:249 extensions/webmail/views.py:42
-#: extensions/webmail/views.py:60 extensions/webmail/views.py:73
-#: extensions/webmail/views.py:90 extensions/webmail/views.py:106
-#: extensions/webmail/views.py:192 extensions/webmail/views.py:419
-#: extensions/webmail/views.py:430 extensions/webmail/views.py:457
-#: lib/formutils.py:32 lib/formutils.py:37
-msgid "Invalid request"
-msgstr "Richiesta non valida"
-
-#: admin/views.py:441
-msgid "New account"
-msgstr "Nuovo account"
-
-#: admin/views.py:465
-msgid "Account created"
-msgstr "Account creato"
-
-#: admin/views.py:513
-msgid "Account updated"
-msgstr "Account aggiornato"
-
-#: admin/views.py:535
-msgid "Account deleted"
-msgid_plural "Accounts deleted"
-msgstr[0] "Account cancellato"
-msgstr[1] "Account cancellati"
-
-#: admin/views.py:590
-msgid "Parameters saved"
-msgstr "Parametri salvati"
-
-#: admin/views.py:636
-msgid "Modifications applied."
-msgstr "Modifiche applicate"
-
-#: admin/views.py:743
-#, python-format
-msgid "Object already exists: %s"
-msgstr "L'oggetto esiste già: %s"
-
-#: admin/views.py:745
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d oggetti importati correttamente"
-
-#: admin/views.py:763
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-"account; loginname; password; first name; last name; enabled; group; "
-"address[, domain, ...] \n"
-"alias; address; enabled; internal recipient \n"
-"forward; address; enabled; external recipient \n"
-"dlist; address; enabled; recipient; recipient; ... \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of "
-"the previous values.
\n"
-"\n"
-"You can use a different character as separator.
\n"
-msgstr ""
-"Fornire un file CSV le cui righe rispettino uno dei seguenti formati:\n"
-"\n"
-"account; loginname; password; nome; cognome; abilitato; group; "
-"indirizzo[, dominio, ...] \n"
-"alias; indirizzo; abilitato; destinatario interno \n"
-"forward; indirizzo; abilitato; destinatario esterno \n"
-"dlist; indirizzo; abilitato; destinatario; destinatario; ... "
-"li>\n"
-" \n"
-"Il primo elemento di ogni riga è obbligatorio e deve essere uguale a "
-"quello dei valori precedenti.
\n"
-"\n"
-"Come separatore puoi utilizzare un carattere diverso.
\n"
-
-#: admin/views.py:775
-msgid "Import identities"
-msgstr "Identità di importazione"
-
-#: admin/views.py:776 admin/views.py:846 admin/templatetags/admin_extras.py:87
-#: admin/templatetags/admin_extras.py:144
-msgid "Import"
-msgstr "Importa"
-
-#: admin/views.py:806
-msgid "Export identities"
-msgstr "Identità di esportazione"
-
-#: admin/views.py:807 admin/views.py:863 admin/templatetags/admin_extras.py:93
-#: admin/templatetags/admin_extras.py:150
-msgid "Export"
-msgstr "Esporta"
-
-#: admin/views.py:835
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-" domain; name; quota; enabled \n"
-" domainalias; name; targeted domain; enabled \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of "
-"the previous values.
\n"
-"You can use a different character as separator.
\n"
-msgstr ""
-"Fornire un file CSV le cui righe rispettino uno dei seguenti formati:\n"
-"\n"
-" dominio; nome; quota; abilitato \n"
-" aliasdominio; nome; dominio target; abilitato \n"
-" \n"
-"Il primo elemento di ogni riga è obbligatorio e deve essere uguale a "
-"quello dei valori precedenti.
\n"
-"\n"
-"Come separatore puoi utilizzare un carattere diverso.
\n"
-
-#: admin/views.py:845
-msgid "Import domains"
-msgstr "Importa domini"
-
-#: admin/views.py:862
-msgid "Export domains"
-msgstr "Esporta domini"
-
-#: admin/templates/admin/domain_general_form.html:3
-#: admin/templates/admin/mailform.html:3
-#: admin/templates/admin/newdomainform.html:3
-msgid "MB"
-msgstr "MB"
-
-#: admin/templates/admin/domains.html:2 admin/templatetags/admin_extras.py:23
-#: extensions/limits/app_settings.py:19 extensions/limits/forms.py:16
-#: extensions/limits/models.py:12
-msgid "Domains"
-msgstr "Domini"
-
-#: admin/templates/admin/editdomainform.html:4
-msgid "Administrators"
-msgstr "Amministratori"
-
-#: admin/templates/admin/editdomainform.html:19
-msgid "No domain administrator defined"
-msgstr "Non è stato definito alcun amministratore di dominio"
-
-#: admin/templates/admin/editdomainform.html:22
-msgid "Creation date"
-msgstr "Data di creazione"
-
-#: admin/templates/admin/editdomainform.html:23
-msgid "Last modification date"
-msgstr "Data dell'ultima modifica"
-
-#: admin/templates/admin/editdomainform.html:24
-#: extensions/limits/app_settings.py:25 extensions/limits/forms.py:20
-#: extensions/limits/models.py:13
-msgid "Domain aliases"
-msgstr "Alias del dominio"
-
-#: admin/templates/admin/editdomainform.html:26
-#: extensions/limits/app_settings.py:37 extensions/limits/forms.py:28
-#: extensions/limits/models.py:15
-msgid "Mailbox aliases"
-msgstr "Alias delle caselle di posta"
-
-#: admin/templates/admin/extensions.html:2
-#: admin/templatetags/admin_extras.py:51
+#: core/templates/core/extensions.html:2 core/templatetags/core_tags.py:48
msgid "Extensions"
msgstr "Estensioni"
-#: admin/templates/admin/extensions.html:2
+#: core/templates/core/extensions.html:2
msgid "Choose the extension(s) to use"
msgstr "Scegli l'estensione(i) da utilizzare"
-#: admin/templates/admin/extensions.html:6
-#: admin/templates/admin/parameters.html:8
-#: userprefs/templates/userprefs/preferences.html:8
+#: core/templates/core/extensions.html:6 core/templates/core/parameters.html:7
+#: core/templates/core/user_preferences.html:8
msgid "Save"
msgstr "Salva"
-#: admin/templates/admin/identities.html:2
-#: admin/templatetags/admin_extras.py:31
-msgid "Identities"
-msgstr "Identità"
-
-#: admin/templates/admin/identities_table.html:6
-msgid "Fullname/Recipient"
-msgstr "Nome completo/Destinatario"
-
-#: admin/templates/admin/identities_table.html:7
-msgid "Tags"
-msgstr "Tag"
-
-#: admin/templates/admin/importform.html:5
-#: admin/templatetags/admin_extras.py:290
-msgid "Help"
-msgstr "Aiuto"
-
-#: admin/templates/admin/importform.html:12
-msgid "Importing..."
-msgstr "Importazione..."
-
-#: admin/templates/admin/information.html:2
-#: admin/templatetags/admin_extras.py:56
+#: core/templates/core/information.html:2 core/templatetags/core_tags.py:53
msgid "Information"
msgstr "Informazioni"
-#: admin/templates/admin/information.html:2
+#: core/templates/core/information.html:2
msgid "Various information about Modoboa"
msgstr "Informazioni varie su Modoboa"
-#: admin/templates/admin/information.html:3
+#: core/templates/core/information.html:3
msgid "is currently in use."
msgstr "è attualmente in uso."
-#: admin/templates/admin/information.html:5
+#: core/templates/core/information.html:5
msgid "Active users"
msgstr "Utenti attivi"
-#: admin/templates/admin/information.html:9
+#: core/templates/core/information.html:9
msgid "Group name"
msgstr "Nome gruppo"
-#: admin/templates/admin/information.html:10
+#: core/templates/core/information.html:10
msgid "Last login"
msgstr "Ultimo login"
-#: admin/templates/admin/listing.html:14
-#: extensions/stats/templates/stats/index.html:28
-msgid "Filter"
-msgstr "Filtro"
-
-#: admin/templates/admin/logs.html:2 admin/templatetags/admin_extras.py:60
+#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:57
msgid "Logs"
msgstr "Log"
-#: admin/templates/admin/logs.html:2
+#: core/templates/core/logs.html:2
msgid "Previously on Modoboa..."
msgstr "Precedentemente su Modoboa ..."
-#: admin/templates/admin/logs.html:6 extensions/amavis/sql_listing.py:25
-#: extensions/webmail/lib.py:38 extensions/webmail/lib.py:413
+#: core/templates/core/logs.html:6 extensions/amavis/sql_listing.py:46
+#: extensions/webmail/lib.py:48 extensions/webmail/lib.py:425
msgid "Date"
msgstr "Data"
-#: admin/templates/admin/logs.html:7
+#: core/templates/core/logs.html:7
msgid "Level"
msgstr "Livello"
-#: admin/templates/admin/logs.html:8
+#: core/templates/core/logs.html:8
msgid "Logger"
msgstr "Logger"
-#: admin/templates/admin/logs.html:9
+#: core/templates/core/logs.html:9
msgid "Message"
msgstr "Messaggio"
-#: admin/templates/admin/mailboxes_raw.html:3
-msgid "Choose a value"
-msgstr "Scegli un valore"
-
-#: admin/templates/admin/mailform.html:3
-msgid "Use domain default value"
-msgstr "Usa il valore predefinito"
-
-#: admin/templates/admin/parameters.html:3
-#: admin/templatetags/admin_extras.py:65
+#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:62
msgid "Parameters"
msgstr "Parametri"
-#: admin/templates/admin/parameters.html:3
+#: core/templates/core/parameters.html:2
msgid "Configure Modoboa"
msgstr "Configura Modoboa"
-#: admin/templates/admin/quotas.html:5
-msgid "Address"
-msgstr "Indirizzo"
-
-#: admin/templates/admin/quotas.html:6
-msgid "Value"
-msgstr "Valore"
-
-#: admin/templates/admin/quotas.html:7
-msgid "Limit"
-msgstr "Limite"
-
-#: admin/templates/admin/quotas.html:8
-#, python-format
-msgid "Usage (%%)"
-msgstr "Utilizzo (%%)"
-
-#: admin/templates/admin/searchform.html:6
-msgid "Search"
-msgstr "Ricerca"
-
-#: admin/templates/admin/settings_header.html:3
+#: core/templates/core/settings_header.html:3
msgid "Modoboa settings"
msgstr "Impostazioni Modoboa"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_m"
-msgstr "Abilitato"
+#: core/templates/core/user_index.html:2 core/templatetags/core_tags.py:81
+msgid "Settings"
+msgstr "Impostazioni"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_f"
-msgstr "Abilitata"
+#: core/templates/core/user_preferences.html:2
+#: core/templatetags/core_tags.py:108
+msgid "Preferences"
+msgstr "Preferenze"
-#: admin/templatetags/admin_extras.py:36
+#: core/templates/core/user_preferences.html:2
+msgid "Customize Modoboa"
+msgstr "Personalizza Modoboa"
+
+#: core/templates/core/user_profile.html:2 core/templatetags/core_tags.py:104
+msgid "Profile"
+msgstr "Profilo"
+
+#: core/templates/core/user_profile.html:2
+msgid "Update your personal information"
+msgstr "Aggiorna le informazioni personali"
+
+#: core/templates/core/user_profile.html:8
+#: extensions/admin/templates/admin/forward.html:8
+#: extensions/admin/views/alias.py:107 extensions/admin/views/domain.py:165
+#: extensions/admin/views/identity.py:197
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
+#: extensions/postfix_relay_domains/views.py:63
+#: extensions/sievefilters/views.py:163 extensions/webmail/views.py:170
+#: extensions/webmail/views.py:205
+msgid "Update"
+msgstr "Aggiorna"
+
+#: core/templatetags/core_tags.py:21
msgid "Modoboa"
msgstr "Modoboa"
-#: admin/templatetags/admin_extras.py:81
-msgid "Add domain"
-msgstr "Aggiungi dominio"
+#: core/templatetags/core_tags.py:90
+msgid "Logout"
+msgstr "Esci"
-#: admin/templatetags/admin_extras.py:110
-msgid "List identities"
-msgstr "Elenco identità"
+#: core/views/admin.py:47
+msgid "Parameters saved"
+msgstr "Parametri salvati"
-#: admin/templatetags/admin_extras.py:115
-msgid "List quotas"
-msgstr "Elenco quote"
+#: core/views/admin.py:90
+msgid "Modifications applied."
+msgstr "Modifiche applicate"
-#: admin/templatetags/admin_extras.py:120
-msgid "Add account"
-msgstr "Aggiungi account"
-
-#: admin/templatetags/admin_extras.py:126
-msgid "Add alias"
-msgstr "Aggiungi alias"
-
-#: admin/templatetags/admin_extras.py:132
-msgid "Add forward"
-msgstr "Aggiungi inoltro"
-
-#: admin/templatetags/admin_extras.py:138
-msgid "Add distribution list"
-msgstr "Aggiungi elenco di smistamento"
-
-#: admin/templatetags/admin_extras.py:171
-msgid "View the domain's identities"
-msgstr "Visualizza le identita del dominio"
-
-#: admin/templatetags/admin_extras.py:178
-#: admin/templatetags/admin_extras.py:194
-#: admin/templatetags/admin_extras.py:201
-#, python-format
-msgid "Delete %s?"
-msgstr "Eliminare %s?"
-
-#: admin/templatetags/admin_extras.py:223
-msgid "Remove this permission"
-msgstr "Rimuovi questo permesso"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "Yes"
-msgstr "Si"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "No"
-msgstr "No"
-
-#: auth/views.py:32
+#: core/views/auth.py:30
#, python-format
msgid "User '%s' successfully logged in"
msgstr "L'utente '%s? è correttamente registrato"
-#: auth/views.py:44
+#: core/views/auth.py:43
msgid "Your username and password didn't match. Please try again."
msgstr "Il tuo username e/o la tua password non corrispondono. Riprova."
-#: auth/views.py:67
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' logged out"
msgstr "L'utente '%s' è scollegato"
+#: core/views/user.py:35
+msgid "Profile updated"
+msgstr "Profilo aggiornato"
+
+#: core/views/user.py:58
+msgid "Preferences saved"
+msgstr "Preferenze salvate"
+
#: demo/__init__.py:17
msgid "Test messages"
msgstr "Messaggi di test"
@@ -1154,7 +568,7 @@ msgstr "Invia virus"
msgid "Send spam"
msgstr "Invia spam"
-#: demo/views.py:17 demo/views.py:41
+#: demo/views.py:18 demo/views.py:43
msgid "Message sent"
msgstr "Messaggio inviato"
@@ -1190,27 +604,856 @@ msgstr ""
" alla \n"
"mailing list .\n"
-#: extensions/amavis/__init__.py:22
+#: extensions/admin/__init__.py:48
+msgid "Administration console"
+msgstr "Interfaccia amministrativa"
+
+#: extensions/admin/__init__.py:50
+msgid "Web based console to manage domains, accounts and aliases"
+msgstr "Interfaccia web per l'amministrazione di domini, account e alias"
+
+#: extensions/admin/__init__.py:55
+#, fuzzy
+msgid "Administration"
+msgstr "Amministratori"
+
+#: extensions/admin/__init__.py:79
+#: extensions/admin/templates/admin/domains.html:2
+#: extensions/limits/app_settings.py:19 extensions/limits/models.py:17
+msgid "Domains"
+msgstr "Domini"
+
+#: extensions/admin/__init__.py:85
+#: extensions/admin/templates/admin/identities.html:2
+msgid "Identities"
+msgstr "Identità"
+
+#: extensions/admin/__init__.py:100
+#: extensions/admin/templates/admin/forward.html:2
+#: extensions/webmail/templatetags/webmail_tags.py:28
+msgid "Forward"
+msgstr "Inoltra"
+
+#: extensions/admin/__init__.py:163
+#, python-format
+msgid "Account import failed (%s): domain does not exist"
+msgstr "Importazione dell'account fallito (%s): il dominio non esiste"
+
+#: extensions/admin/app_settings.py:11
+#: extensions/admin/templates/admin/editdomainform.html:25
+#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
+#: extensions/webmail/app_settings.py:101
+#: extensions/webmail/templates/webmail/folders.html:4
+msgid "Mailboxes"
+msgstr "Caselle di posta"
+
+#: extensions/admin/app_settings.py:14
+msgid "Handle mailboxes on filesystem"
+msgstr "Gestione delle caselle di posta nel filsystem"
+
+#: extensions/admin/app_settings.py:16
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Rinomina o rimuovi le caselle di posta nel filsystem quando sono rinominate "
+"o rimosse in Modoboa"
+
+#: extensions/admin/app_settings.py:20
+msgid "Mailboxes ower"
+msgstr "Proprietario delle caselle postali"
+
+#: extensions/admin/app_settings.py:22
+msgid "The UNIX account who owns mailboxes on the filesystem"
+msgstr "L'account UNIX a cui appartengono le caselle postali nel filsystem"
+
+#: extensions/admin/app_settings.py:26
+#, fuzzy
+msgid "Default domain quota"
+msgstr "Limiti predefiniti"
+
+#: extensions/admin/app_settings.py:29
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+
+#: extensions/admin/app_settings.py:36
+msgid "Automatic account removal"
+msgstr "Rimozione automatica dell'account"
+
+#: extensions/admin/app_settings.py:38
+msgid "When a mailbox is removed, also remove the associated account"
+msgstr ""
+"Quando una casella postale viene rimossa rimuovi anche l'account associato"
+
+#: extensions/admin/app_settings.py:64 extensions/admin/forms/account.py:177
+#: extensions/admin/forms/domain.py:56
+msgid "Must be a positive integer"
+msgstr ""
+
+#: extensions/admin/lib.py:28
+#, fuzzy
+msgid "A mailbox is required"
+msgstr "È richiesta una quota"
+
+#: extensions/admin/forms/account.py:21
+#, fuzzy
+msgid "The user's name. Must be a valid e-mail address for simple users."
+msgstr "L'utente '%s' deve avere un indirizzo email valido"
+
+#: extensions/admin/forms/account.py:25
+msgid "Role"
+msgstr "Ruolo"
+
+#: extensions/admin/forms/account.py:26 extensions/admin/forms/account.py:54
+msgid "Choose"
+msgstr "Scegli"
+
+#: extensions/admin/forms/account.py:27
+msgid "What level of permission this user will have"
+msgstr "Il livello di permessi che avrà questo utente"
+
+#: extensions/admin/forms/account.py:35
+msgid "Enter the same password as above, for verification."
+msgstr ""
+"Inserisci la medesima password che hai inserito sopra, per la verifica."
+
+#: extensions/admin/forms/account.py:46
+msgid "Enabled"
+msgstr "Abilitato"
+
+#: extensions/admin/forms/account.py:93
+msgid "The two password fields didn't match."
+msgstr "Le password nei due campi non corrispondono"
+
+#: extensions/admin/forms/account.py:99
+msgid "You can't disable your own account"
+msgstr "Tu non puoi disabilitare il tuo account"
+
+#: extensions/admin/forms/account.py:110
+msgid "E-mail"
+msgstr "E-mail"
+
+#: extensions/admin/forms/account.py:112 extensions/admin/forms/domain.py:17
+msgid "Quota"
+msgstr "Quota"
+
+#: extensions/admin/forms/account.py:114
+msgid ""
+"Quota in MB for this mailbox. Define a custom value or use domain's default "
+"one. Leave empty to define an unlimited value (not allowed for domain "
+"administrators)."
+msgstr ""
+"Quota in MB per questo account. Stabilire un valore personalizzato o usare "
+"quello predefinito. Lasciare vuoto per non impostare limiti (non consentito "
+"per gli amministratori di dominio)."
+
+#: extensions/admin/forms/account.py:122 extensions/admin/forms/domain.py:26
+#: extensions/admin/templates/admin/domains_table.html:6
+#: extensions/postfix_relay_domains/forms.py:12
+msgid "Alias(es)"
+msgstr "Alias"
+
+#: extensions/admin/forms/account.py:125
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+"*@domain.tld)."
+msgstr ""
+"Alias per questa casella di posta. Inserire un solo indirizzo alla volta, "
+"premere INVIO per aggiungere un nuovo elemento. Utilizzare il carattere '*' "
+"per creare un alias 'prenditutto' (p.es.: *@dominio.org)."
+
+#: extensions/admin/forms/account.py:186 extensions/admin/forms/account.py:216
+#: extensions/admin/forms/alias.py:65
+msgid "Domain does not exist"
+msgstr "Il dominio non esiste"
+
+#: extensions/admin/forms/account.py:195
+#, python-format
+msgid "Mailbox %s already exists"
+msgstr "La casella di posta %s esiste già"
+
+#: extensions/admin/forms/account.py:283
+msgid "Domain(s)"
+msgstr "Dominio(i)"
+
+#: extensions/admin/forms/account.py:285
+msgid "Domain(s) that user administrates"
+msgstr "Dominio(i) amministrato(i) dall'utente"
+
+#: extensions/admin/forms/account.py:327
+#: extensions/admin/views/identity.py:130
+msgid "Mail"
+msgstr "Posta"
+
+#: extensions/admin/forms/account.py:329
+msgid "Permissions"
+msgstr "Permessi"
+
+#: extensions/admin/forms/alias.py:16
+msgid "Email address"
+msgstr "Indirizzo email"
+
+#: extensions/admin/forms/alias.py:18
+msgid ""
+"The distribution list address. Use the '*' character to create a 'catchall' "
+"address (ex: *@domain.tld)."
+msgstr "Elenco degli indirizzi di smistamento"
+
+#: extensions/admin/forms/alias.py:23
+msgid "Recipients"
+msgstr "Destinatari"
+
+#: extensions/admin/forms/alias.py:25
+msgid ""
+"Mailbox(es) this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Casella(e) di posta a cui l'alias punterà. Inserire un solo indirizzo alla "
+"volta, premere INVIO per aggiungere un nuovo elemento."
+
+#: extensions/admin/forms/alias.py:68
+msgid "You don't have access to this domain"
+msgstr "Non hai accesso a questo dominio"
+
+#: extensions/admin/forms/alias.py:90
+msgid "Invalid mailbox"
+msgstr "Casella di posta non valida"
+
+#: extensions/admin/forms/alias.py:108 extensions/admin/models/alias.py:182
+#, python-format
+msgid "Local recipient %s not found"
+msgstr "Il destinatario locale %s non è stato trovato"
+
+#: extensions/admin/forms/alias.py:112 extensions/admin/forms/alias.py:120
+#, python-format
+msgid "Recipient %s already present"
+msgstr "Il destinatario %s è già esistente"
+
+#: extensions/admin/forms/alias.py:126
+msgid "No recipient defined"
+msgstr "Non è stato definito un destinatario"
+
+#: extensions/admin/forms/domain.py:20
+#, fuzzy
+msgid ""
+"Default quota in MB applied to mailboxes. Leave empty to use the default "
+"value."
+msgstr "Quota in MB predefinita applicata alle caselle di posta"
+
+#: extensions/admin/forms/domain.py:29
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+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
+#, fuzzy
+msgid "domain alias"
+msgstr "Alias del dominio"
+
+#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
+#: 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 "Un alias con questo nome esiste già"
+
+#: extensions/admin/forms/domain.py:92
+#: extensions/postfix_relay_domains/forms.py:49
+#: extensions/postfix_relay_domains/forms.py:71
+#, fuzzy
+msgid "domain"
+msgstr "Domini"
+
+#: extensions/admin/forms/domain.py:176
+msgid "Create a domain administrator"
+msgstr "Crea un amministratore di dominio"
+
+#: extensions/admin/forms/domain.py:178
+msgid "Automatically create an administrator for this domain"
+msgstr "Crea automaticamente un amministratore per questo dominio"
+
+#: extensions/admin/forms/domain.py:185
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Il nome dell'amministratore. Non includere il nome del dominio, verrà "
+"aggiunto automaticamente."
+
+#: extensions/admin/forms/domain.py:193
+msgid "Create aliases"
+msgstr "Crea alias"
+
+#: extensions/admin/forms/domain.py:195
+msgid "Automatically create standard aliases for this domain"
+msgstr "Crea automaticamente gli alias standard per questo dominio"
+
+#: extensions/admin/forms/domain.py:211
+msgid "Invalid format"
+msgstr "Formato non valido"
+
+#: extensions/admin/forms/domain.py:225
+#, python-format
+msgid "User '%s' already exists"
+msgstr "L'utente '%s' esiste già"
+
+#: extensions/admin/forms/export.py:7
+msgid "File name"
+msgstr "Nome del file"
+
+#: extensions/admin/forms/export.py:10 extensions/admin/forms/import_.py:8
+msgid "Separator"
+msgstr "Separatore"
+
+#: extensions/admin/forms/forward.py:12
+msgid "Recipient(s)"
+msgstr "Destinatario(i)"
+
+#: extensions/admin/forms/forward.py:15
+msgid "Indicate one or more recipients separated by a ','"
+msgstr "Indicare uno o più destinatari separati da ','"
+
+#: extensions/admin/forms/forward.py:18
+msgid "Keep local copies"
+msgstr "Mantieni copie locali"
+
+#: extensions/admin/forms/forward.py:20
+msgid "Forward messages and store copies into your local mailbox"
+msgstr ""
+"Inoltra i messaggi e memorizza le copie nella tua casella di posta locale"
+
+#: extensions/admin/forms/forward.py:38
+msgid ""
+"You can't define a forward to a local destination. Please ask your "
+"administrator to create an alias instead."
+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:26
+msgid "Select a file"
+msgstr "Seleziona un file"
+
+#: extensions/admin/forms/import_.py:11
+msgid "Continue on error"
+msgstr "Continuare in caso di errore"
+
+#: extensions/admin/forms/import_.py:12
+msgid "Don't treat duplicated objects as error"
+msgstr "Non considerare errore gli oggetti duplicati"
+
+#: extensions/admin/forms/import_.py:27
+msgid "Crypt passwords"
+msgstr "Cripta le password"
+
+#: extensions/admin/forms/import_.py:28
+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:16 extensions/admin/models/mailbox.py:51
+msgid "address"
+msgstr "indirizzo"
+
+#: extensions/admin/models/alias.py:18
+msgid ""
+"The alias address (without the domain part). For a 'catch-all' address, just "
+"enter an * character."
+msgstr ""
+"L'indirizzo alternativo (senza la parte del dominio). Per un indirizzo "
+"'prenditutto' inserisci un carattere '*'."
+
+#: extensions/admin/models/alias.py:24
+msgid "mailboxes"
+msgstr "caselle di posta"
+
+#: extensions/admin/models/alias.py:25
+msgid "The mailboxes this alias points to"
+msgstr "Le caselle di posta a cui punta questo alias"
+
+#: extensions/admin/models/alias.py:29
+msgid "The aliases this alias points to"
+msgstr "Gli alias a cui questo alias puntano"
+
+#: extensions/admin/models/alias.py:34
+#: extensions/admin/models/domain_alias.py:18
+#: extensions/postfix_relay_domains/models.py:168
+msgid "Check to activate this alias"
+msgstr "Seleziona per attivare questo alias"
+
+#: extensions/admin/models/alias.py:79
+msgid "distribution list"
+msgstr "elenco di smistamento"
+
+#: extensions/admin/models/alias.py:80
+msgid "forward"
+msgstr "inoltra"
+
+#: extensions/admin/models/alias.py:81
+msgid "alias"
+msgstr "alias"
+
+#: extensions/admin/models/alias.py:150
+#, python-format
+msgid "Invalid line: %s"
+msgstr "Riga non valida: %s"
+
+#: extensions/admin/models/alias.py:155
+#, python-format
+msgid "Domain '%s' does not exist"
+msgstr "Il dominio '%s' non esiste"
+
+#: extensions/admin/models/domain.py:28
+#: extensions/admin/models/domain_alias.py:10
+#: extensions/postfix_relay_domains/models.py:58
+#: extensions/postfix_relay_domains/models.py:76
+#: extensions/postfix_relay_domains/models.py:159
+msgid "name"
+msgstr "nome"
+
+#: extensions/admin/models/domain.py:29
+#: extensions/postfix_relay_domains/models.py:77
+msgid "The domain name"
+msgstr "Il nome del dominio"
+
+#: extensions/admin/models/domain.py:33
+#: extensions/postfix_relay_domains/models.py:86
+msgid "Check to activate this domain"
+msgstr "Seleziona per attivare questo dominio"
+
+#: extensions/admin/models/domain.py:61
+#, fuzzy
+msgid "Domain"
+msgstr "Domini"
+
+#: extensions/admin/models/domain.py:140
+#, python-format
+msgid "Invalid quota value for domain '%s'"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:11
+#: extensions/postfix_relay_domains/models.py:160
+msgid "The alias name"
+msgstr "Il nome dell'alias"
+
+#: extensions/admin/models/domain_alias.py:13
+#: extensions/postfix_relay_domains/models.py:163
+msgid "target"
+msgstr "destinazione"
+
+#: extensions/admin/models/domain_alias.py:14
+msgid "The domain this alias points to"
+msgstr "Il dominio a cui punta questo alias"
+
+#: extensions/admin/models/domain_alias.py:46
+#, fuzzy, python-format
+msgid "A domain %s already exists"
+msgstr "La casella di posta %s esiste già"
+
+#: extensions/admin/models/domain_alias.py:51
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Dominio sconosciuto %s"
+
+#: extensions/admin/models/mailbox.py:52
+msgid "Mailbox address (without the @domain.tld part)"
+msgstr "Indirizzo della casella di posta (senza la parte @dominio.org)"
+
+#: extensions/admin/models/mailbox.py:113
+#, python-format
+msgid "Failed to retrieve mailbox location (%s)"
+msgstr "Impossibile recuperare la posizione della casella di posta (%s)"
+
+#: extensions/admin/models/mailbox.py:173
+#, 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:178
+msgid "A quota is required"
+msgstr "È richiesta una quota"
+
+#: extensions/admin/templates/admin/domain_general_form.html:3
+#: extensions/admin/templates/admin/mailform.html:3
+#: extensions/admin/templates/admin/newdomainform.html:3
+msgid "MB"
+msgstr "MB"
+
+#: extensions/admin/templates/admin/domain_options_form.html:5
+#, fuzzy
+msgid "You can't create a new domain administrator"
+msgstr "Crea un amministratore di dominio"
+
+#: extensions/admin/templates/admin/domains_table.html:7
+#: extensions/admin/templates/admin/identities_table.html:7
+msgid "Tags"
+msgstr "Tag"
+
+#: extensions/admin/templates/admin/domains_table.html:8
+#: extensions/admin/templates/admin/identities_table.html:8
+#: extensions/admin/templates/admin/listing.html:17
+#: extensions/sievefilters/views.py:93
+#: extensions/sievefilters/templates/sievefilters/filter.html:17
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
+#: extensions/webmail/templatetags/webmail_tags.py:101
+msgid "Actions"
+msgstr "Azioni"
+
+#: extensions/admin/templates/admin/editdomainform.html:4
+msgid "Administrators"
+msgstr "Amministratori"
+
+#: extensions/admin/templates/admin/editdomainform.html:19
+msgid "No domain administrator defined"
+msgstr "Non è stato definito alcun amministratore di dominio"
+
+#: extensions/admin/templates/admin/editdomainform.html:22
+msgid "Creation date"
+msgstr "Data di creazione"
+
+#: extensions/admin/templates/admin/editdomainform.html:23
+msgid "Last modification date"
+msgstr "Data dell'ultima modifica"
+
+#: extensions/admin/templates/admin/editdomainform.html:24
+#: extensions/limits/app_settings.py:25 extensions/limits/models.py:20
+msgid "Domain aliases"
+msgstr "Alias del dominio"
+
+#: extensions/admin/templates/admin/editdomainform.html:26
+#: extensions/limits/app_settings.py:37 extensions/limits/models.py:25
+msgid "Mailbox aliases"
+msgstr "Alias delle caselle di posta"
+
+#: extensions/admin/templates/admin/forward.html:2
+msgid "Automatically forward emails to another address"
+msgstr "Inoltra automaticamente le e-mail ad un altro indirizzo"
+
+#: extensions/admin/templates/admin/identities_table.html:6
+msgid "Fullname/Recipient"
+msgstr "Nome completo/Destinatario"
+
+#: extensions/admin/templates/admin/importform.html:5
+msgid "Help"
+msgstr "Aiuto"
+
+#: extensions/admin/templates/admin/importform.html:12
+msgid "Importing..."
+msgstr "Importazione..."
+
+#: extensions/admin/templates/admin/listing.html:14
+#: extensions/stats/templates/stats/index.html:28
+msgid "Filter"
+msgstr "Filtro"
+
+#: extensions/admin/templates/admin/mailboxes_raw.html:3
+msgid "Choose a value"
+msgstr "Scegli un valore"
+
+#: extensions/admin/templates/admin/mailform.html:3
+msgid "Use domain default value"
+msgstr "Usa il valore predefinito"
+
+#: extensions/admin/templates/admin/quotas.html:5
+msgid "Address"
+msgstr "Indirizzo"
+
+#: extensions/admin/templates/admin/quotas.html:6
+msgid "Value"
+msgstr "Valore"
+
+#: extensions/admin/templates/admin/quotas.html:7
+msgid "Limit"
+msgstr "Limite"
+
+#: extensions/admin/templates/admin/quotas.html:8
+#, python-format
+msgid "Usage (%%)"
+msgstr "Utilizzo (%%)"
+
+#: extensions/admin/templates/admin/searchform.html:6
+msgid "Search"
+msgstr "Ricerca"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_m"
+msgstr "Abilitato"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_f"
+msgstr "Abilitata"
+
+#: extensions/admin/templatetags/admin_tags.py:33
+msgid "Add domain"
+msgstr "Aggiungi dominio"
+
+#: extensions/admin/templatetags/admin_tags.py:42
+#: extensions/admin/templatetags/admin_tags.py:106
+#: extensions/admin/views/import.py:51 extensions/admin/views/import.py:166
+msgid "Import"
+msgstr "Importa"
+
+#: extensions/admin/templatetags/admin_tags.py:48
+#: extensions/admin/templatetags/admin_tags.py:112
+#: extensions/admin/views/export.py:38 extensions/admin/views/export.py:64
+msgid "Export"
+msgstr "Esporta"
+
+#: extensions/admin/templatetags/admin_tags.py:72
+msgid "List identities"
+msgstr "Elenco identità"
+
+#: extensions/admin/templatetags/admin_tags.py:77
+msgid "List quotas"
+msgstr "Elenco quote"
+
+#: extensions/admin/templatetags/admin_tags.py:82
+msgid "Add account"
+msgstr "Aggiungi account"
+
+#: extensions/admin/templatetags/admin_tags.py:88
+msgid "Add alias"
+msgstr "Aggiungi alias"
+
+#: extensions/admin/templatetags/admin_tags.py:94
+msgid "Add forward"
+msgstr "Aggiungi inoltro"
+
+#: extensions/admin/templatetags/admin_tags.py:100
+msgid "Add distribution list"
+msgstr "Aggiungi elenco di smistamento"
+
+#: extensions/admin/templatetags/admin_tags.py:133
+msgid "View the domain's identities"
+msgstr "Visualizza le identita del dominio"
+
+#: extensions/admin/templatetags/admin_tags.py:143
+#: extensions/admin/templatetags/admin_tags.py:162
+#: extensions/admin/templatetags/admin_tags.py:169
+#: extensions/postfix_relay_domains/general_callbacks.py:84
+#, python-format
+msgid "Delete %s?"
+msgstr "Eliminare %s?"
+
+#: extensions/admin/templatetags/admin_tags.py:239
+msgid "Remove this permission"
+msgstr "Rimuovi questo permesso"
+
+#: extensions/admin/views/alias.py:25
+msgid "Alias with this name already exists"
+msgstr "Un alias con questo nome esiste già"
+
+#: extensions/admin/views/alias.py:49 extensions/admin/views/domain.py:100
+#: extensions/admin/views/domain.py:129 extensions/admin/views/identity.py:131
+#: extensions/admin/views/identity.py:158
+#: extensions/postfix_relay_domains/views.py:32
+#: extensions/sievefilters/views.py:141 extensions/sievefilters/views.py:230
+#: extensions/webmail/views.py:151
+msgid "Create"
+msgstr "Crea"
+
+#: extensions/admin/views/alias.py:61
+msgid "New distribution list"
+msgstr "Nuovo elenco di smistamento"
+
+#: extensions/admin/views/alias.py:62
+msgid "Distribution list created"
+msgstr "Elenco di smistamento creato"
+
+#: extensions/admin/views/alias.py:71
+msgid "New alias"
+msgstr "Nuovo alias"
+
+#: extensions/admin/views/alias.py:72
+msgid "Alias created"
+msgstr "Alias creato"
+
+#: extensions/admin/views/alias.py:81
+msgid "New forward"
+msgstr "Nuovo inoltro"
+
+#: extensions/admin/views/alias.py:82
+msgid "Forward created"
+msgstr "Inoltro creato"
+
+#: extensions/admin/views/alias.py:95
+msgid "Distribution list modified"
+msgstr "Elenco di smistamento modificato"
+
+#: extensions/admin/views/alias.py:97
+msgid "Forward modified"
+msgstr "Inoltro modificato"
+
+#: extensions/admin/views/alias.py:99
+msgid "Alias modified"
+msgstr "Alias modificato"
+
+#: extensions/admin/views/domain.py:96 extensions/admin/views/identity.py:128
+msgid "Next"
+msgstr "Successivo"
+
+#: extensions/admin/views/domain.py:99
+msgid "Options"
+msgstr "Opzioni"
+
+#: extensions/admin/views/domain.py:101 extensions/admin/views/identity.py:132
+msgid "Previous"
+msgstr "Precedente"
+
+#: extensions/admin/views/domain.py:123
+msgid "Domain created"
+msgstr "Dominio creato"
+
+#: extensions/admin/views/domain.py:128
+msgid "New domain"
+msgstr "Nuovo dominio"
+
+#: extensions/admin/views/domain.py:155
+msgid "Domain modified"
+msgstr "Dominio modificato"
+
+#: extensions/admin/views/domain.py:189
+msgid "You can't delete your own domain"
+msgstr "Non puoi cancellare il tuo dominio"
+
+#: extensions/admin/views/domain.py:192
+msgid "Domain deleted"
+msgid_plural "Domains deleted"
+msgstr[0] "Dominio cancellato"
+msgstr[1] "Domini cancellati"
+
+#: extensions/admin/views/export.py:37
+msgid "Export identities"
+msgstr "Identità di esportazione"
+
+#: extensions/admin/views/export.py:63
+msgid "Export domains"
+msgstr "Esporta domini"
+
+#: extensions/admin/views/identity.py:103
+#: extensions/admin/views/identity.py:224
+#: extensions/admin/views/identity.py:229 extensions/amavis/views.py:179
+#: extensions/amavis/views.py:185 extensions/amavis/views.py:220
+#: extensions/amavis/views.py:224 extensions/amavis/views.py:226
+#: extensions/webmail/views.py:47 extensions/webmail/views.py:65
+#: extensions/webmail/views.py:79 extensions/webmail/views.py:97
+#: extensions/webmail/views.py:114 extensions/webmail/views.py:200
+#: extensions/webmail/views.py:223 extensions/webmail/views.py:396
+#: extensions/webmail/views.py:430 extensions/webmail/views.py:443
+#: extensions/webmail/views.py:472 extensions/webmail/views.py:513
+#: lib/formutils.py:44 lib/formutils.py:49
+msgid "Invalid request"
+msgstr "Richiesta non valida"
+
+#: extensions/admin/views/identity.py:149
+msgid "Account created"
+msgstr "Account creato"
+
+#: extensions/admin/views/identity.py:155
+msgid "New account"
+msgstr "Nuovo account"
+
+#: extensions/admin/views/identity.py:190
+msgid "Account updated"
+msgstr "Account aggiornato"
+
+#: extensions/admin/views/identity.py:214
+msgid "Account deleted"
+msgid_plural "Accounts deleted"
+msgstr[0] "Account cancellato"
+msgstr[1] "Account cancellati"
+
+#: extensions/admin/views/import.py:39
+#, fuzzy, python-format
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Fornire un file CSV le cui righe rispettino uno dei seguenti formati:\n"
+"\n"
+" dominio; nome; quota; abilitato \n"
+" aliasdominio; nome; dominio target; abilitato \n"
+" \n"
+"Il primo elemento di ogni riga è obbligatorio e deve essere uguale a "
+"quello dei valori precedenti.
\n"
+"\n"
+"Come separatore puoi utilizzare un carattere diverso.
\n"
+
+#: extensions/admin/views/import.py:50
+msgid "Import domains"
+msgstr "Importa domini"
+
+#: extensions/admin/views/import.py:129
+#, python-format
+msgid "Object already exists: %s"
+msgstr "L'oggetto esiste già: %s"
+
+#: extensions/admin/views/import.py:133
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d oggetti importati correttamente"
+
+#: extensions/admin/views/import.py:153
+#, fuzzy
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Fornire un file CSV le cui righe rispettino uno dei seguenti formati:\n"
+"\n"
+"account; loginname; password; nome; cognome; abilitato; group; "
+"indirizzo[, dominio, ...] \n"
+"alias; indirizzo; abilitato; destinatario interno \n"
+"forward; indirizzo; abilitato; destinatario esterno \n"
+"dlist; indirizzo; abilitato; destinatario; destinatario; ... "
+"li>\n"
+" \n"
+"Il primo elemento di ogni riga è obbligatorio e deve essere uguale a "
+"quello dei valori precedenti.
\n"
+"\n"
+"Come separatore puoi utilizzare un carattere diverso.
\n"
+
+#: extensions/admin/views/import.py:165
+msgid "Import identities"
+msgstr "Identità di importazione"
+
+#: extensions/admin/views/user.py:37
+msgid "Forward updated"
+msgstr "Inoltro aggiornato"
+
+#: extensions/amavis/__init__.py:21
msgid "Simple amavis management frontend"
msgstr "Interfaccia di gestione amavis semplice"
-#: extensions/amavis/__init__.py:45 extensions/amavis/__init__.py:61
+#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:17
msgid "Quarantine"
msgstr "Quarantena"
-#: extensions/amavis/__init__.py:129
-msgid "pending requests"
-msgstr "richieste in sospeso"
-
-#: extensions/amavis/__init__.py:149
-#, python-format
-msgid "%d pending requests"
-msgstr "%d richieste in sospeso"
-
-#: extensions/amavis/__init__.py:161
-msgid "Content filter"
-msgstr "Filtro sui contenuti"
-
#: extensions/amavis/app_settings.py:11
msgid "Quarantine settings"
msgstr "Impostazioni quarantena"
@@ -1300,11 +1543,6 @@ msgstr "Spedizione notifiche"
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:87 extensions/webmail/app_settings.py:73
-#: userprefs/app_settings.py:18
-msgid "Display"
-msgstr "Mostra"
-
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
msgid "Number of displayed emails per page"
msgstr "Numero di e-mail mostrate in ogni pagina"
@@ -1313,7 +1551,20 @@ msgstr "Numero di e-mail mostrate in ogni pagina"
msgid "Set the maximum number of messages displayed in a page"
msgstr "Imposta il numero massimo di messaggi mostrati in una pagina"
-#: extensions/amavis/lib.py:53
+#: extensions/amavis/general_callbacks.py:81
+msgid "pending requests"
+msgstr "richieste in sospeso"
+
+#: extensions/amavis/general_callbacks.py:124
+#, fuzzy
+msgid "Pending requests"
+msgstr "richieste in sospeso"
+
+#: extensions/amavis/general_callbacks.py:134
+msgid "Content filter"
+msgstr "Filtro sui contenuti"
+
+#: extensions/amavis/lib.py:57
#, python-format
msgid "Connection to amavis failed: %s"
msgstr "Connessione ad amavis fallita: %s"
@@ -1323,12 +1574,12 @@ msgid "Virus filter"
msgstr "Filtro virus"
#: extensions/amavis/models.py:94 extensions/amavis/models.py:102
-#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:281
+#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:290
msgid "yes"
msgstr "si"
#: extensions/amavis/models.py:95 extensions/amavis/models.py:103
-#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:285
+#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:294
msgid "no"
msgstr "no"
@@ -1376,53 +1627,58 @@ msgstr ""
"Modifica dell'oggetto spam utilizzando un testo specifico. Scegliere "
"'predefinito' per utilizzare le impostazioni globali."
-#: extensions/amavis/sql_listing.py:23 extensions/webmail/lib.py:37
-msgid "From"
-msgstr "Da"
+#: extensions/amavis/sql_listing.py:31
+msgid "Score"
+msgstr ""
-#: extensions/amavis/sql_listing.py:24 extensions/sievefilters/forms.py:68
-#: extensions/webmail/forms.py:10 extensions/webmail/lib.py:36
-#: extensions/webmail/lib.py:411 templates/common/email_searchbar.html:6
-msgid "Subject"
-msgstr "Oggetto"
-
-#: extensions/amavis/sql_listing.py:26
-#: extensions/amavis/templatetags/amextras.py:102
+#: extensions/amavis/sql_listing.py:35
+#: extensions/amavis/templatetags/amavis_tags.py:75
#: extensions/webmail/forms.py:7
msgid "To"
msgstr "A"
-#: extensions/amavis/views.py:43
+#: extensions/amavis/sql_listing.py:38
+#: extensions/postfix_autoreply/forms.py:11 extensions/webmail/lib.py:44
+msgid "From"
+msgstr "Da"
+
+#: extensions/amavis/sql_listing.py:42 extensions/sievefilters/forms.py:77
+#: extensions/webmail/forms.py:11 extensions/webmail/lib.py:40
+#: extensions/webmail/lib.py:423 templates/common/email_searchbar.html:6
+msgid "Subject"
+msgstr "Oggetto"
+
+#: extensions/amavis/views.py:27
msgid "Empty quarantine"
msgstr "Svuota quarantena"
-#: extensions/amavis/views.py:211
+#: extensions/amavis/views.py:186
msgid "Message deleted"
msgstr "Messaggio eliminato"
-#: extensions/amavis/views.py:232
+#: extensions/amavis/views.py:207
#, 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:252
+#: extensions/amavis/views.py:229
msgid "Request sent"
msgstr "Request inviata"
-#: extensions/amavis/views.py:258
+#: extensions/amavis/views.py:235
msgid "Message released"
msgstr "Messaggio rilasciato"
-#: extensions/amavis/views.py:280
+#: extensions/amavis/views.py:268
#, 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:304
+#: extensions/amavis/views.py:288
#, python-format
msgid "%(count)d message released successfully"
msgid_plural "%(count)d messages released successfully"
@@ -1449,6 +1705,80 @@ msgstr "o ulteriormente buttar via il messaggio spam"
msgid "Quarantine management"
msgstr "Gestione quarantena"
+#: extensions/amavis/templates/amavis/main_action_bar.html:3
+#, fuzzy
+msgid "Select"
+msgstr "Seleziona un file"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:9
+msgid "Spam"
+msgstr "Spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:10
+msgid "Virus"
+msgstr "Virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:11
+#, fuzzy
+msgid "Bad Header"
+msgstr "Intestazione errata"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:12
+msgid "Bad MIME"
+msgstr "MIME errato"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:13
+#, fuzzy
+msgid "Banned"
+msgstr "Filtro banned"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:18
+#: extensions/amavis/templatetags/amavis_tags.py:19
+#: extensions/amavis/templatetags/amavis_tags.py:54
+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/webmail/templatetags/webmail_tags.py:32
+msgid "Delete"
+msgstr "Elimina"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+#: extensions/sievefilters/forms.py:64
+msgid "All messages"
+msgstr "Tutti i messaggi"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+msgid "All"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:32
+#, fuzzy
+msgid "Spam only"
+msgstr "Spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:33
+#, fuzzy
+msgid "Virus only"
+msgstr "Virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:34
+#, fuzzy
+msgid "Bad Header only"
+msgstr "Intestazione errata"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:35
+#, fuzzy
+msgid "Bad MIME only"
+msgstr "MIME errato"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:36
+#, fuzzy
+msgid "Banned only"
+msgstr "Filtro banned"
+
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:1
#, python-format
msgid ""
@@ -1493,72 +1823,26 @@ 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/amextras.py:20
-#: extensions/amavis/templatetags/amextras.py:52
-#: extensions/amavis/templatetags/amextras.py:72
-msgid "Release"
-msgstr "Rilascia"
-
-#: extensions/amavis/templatetags/amextras.py:26
-#: extensions/amavis/templatetags/amextras.py:59
-#: extensions/amavis/templatetags/amextras.py:77
-#: extensions/webmail/templatetags/webextras.py:31
-msgid "Delete"
-msgstr "Elimina"
-
-#: extensions/amavis/templatetags/amextras.py:29
+#: extensions/amavis/templatetags/amavis_tags.py:28
msgid "View full headers"
msgstr "Visualizza tutte le intestazioni"
-#: extensions/amavis/templatetags/amextras.py:80
-msgid "Content Class"
-msgstr "Classe dei contenuti"
-
-#: extensions/amavis/templatetags/amextras.py:84
-msgid "Nothing"
-msgstr "Nulla"
-
-#: extensions/amavis/templatetags/amextras.py:87
-msgid "Spam"
-msgstr "Spam"
-
-#: extensions/amavis/templatetags/amextras.py:90
-msgid "Virus"
-msgstr "Virus"
-
-#: extensions/amavis/templatetags/amextras.py:93
-msgid "Bad header"
-msgstr "Intestazione errata"
-
-#: extensions/amavis/templatetags/amextras.py:96
-msgid "Bad MIME"
-msgstr "MIME errato"
-
-#: extensions/limits/__init__.py:23
+#: extensions/limits/__init__.py:25
msgid ""
"Per administrator resources to limit the number of objects they can create"
msgstr ""
"Risorse per amministratore. Limitazione del numero di oggetti che possono "
"creare "
-#: extensions/limits/__init__.py:54
+#: extensions/limits/__init__.py:56
msgid "Limits"
msgstr "Limiti"
-#: extensions/limits/__init__.py:65
-msgid "Reseller"
-msgstr "Rivenditore"
-
-#: extensions/limits/__init__.py:94
-msgid "Resources"
-msgstr "Risorse"
-
#: extensions/limits/app_settings.py:10
msgid "Default limits"
msgstr "Limiti predefiniti"
-#: extensions/limits/app_settings.py:13 extensions/limits/forms.py:12
-#: extensions/limits/models.py:11
+#: extensions/limits/app_settings.py:13 extensions/limits/models.py:14
msgid "Domain admins"
msgstr "Amministratori di domini"
@@ -1586,54 +1870,62 @@ msgstr ""
msgid "Maximum number of allowed aliases for a new administrator"
msgstr "Numero massimo di alias consentiti per un nuovo amministratore"
-#: extensions/limits/forms.py:13
-msgid "Maximum number of domain administrators this user can create"
-msgstr ""
-"Numero massimo di amministratori di dominio che questo utente può creare"
-
-#: extensions/limits/forms.py:17
-msgid "Maximum number of domains this user can create"
-msgstr "Numero massimo di domini che questo utente può creare"
-
-#: extensions/limits/forms.py:21
-msgid "Maximum number of domain aliases this user can create"
-msgstr "Numero massimo di alias di dominio che questo utente può creare"
-
-#: extensions/limits/forms.py:25
-msgid "Maximum number of mailboxes this user can create"
-msgstr "Numero massimo di caselle di posta che questo utente può creare"
-
-#: extensions/limits/forms.py:29
-msgid "Maximum number of mailbox aliases this user can create"
-msgstr ""
-"Numero massimo di alias di caselle di posta che questo utente può creare"
-
-#: extensions/limits/forms.py:46
+#: extensions/limits/forms.py:28 extensions/limits/forms.py:35
msgid "Invalid limit"
msgstr "Limite non valido"
-#: extensions/limits/forms.py:74
+#: extensions/limits/forms.py:57
msgid "Your resources are not initialized yet"
msgstr "Le tue risorse non sono ancora inizializzate"
-#: extensions/limits/forms.py:78
+#: extensions/limits/forms.py:61
msgid "You're not allowed to define unlimited values"
msgstr "Non ti è consentito definire valori non limitati"
-#: extensions/limits/lib.py:16
+#: extensions/limits/general_callbacks.py:10
+msgid "Reseller"
+msgstr "Rivenditore"
+
+#: extensions/limits/general_callbacks.py:48
+msgid "Resources"
+msgstr "Risorse"
+
+#: extensions/limits/lib.py:19
#, python-format
msgid "%s: limit reached"
msgstr "%s: raggiunto il limite"
-#: extensions/limits/lib.py:23
+#: extensions/limits/lib.py:29
msgid "Not enough resources"
msgstr "Risorse insufficienti"
-#: extensions/limits/models.py:103
+#: extensions/limits/models.py:15
+msgid "Maximum number of domain administrators this user can create"
+msgstr ""
+"Numero massimo di amministratori di dominio che questo utente può creare"
+
+#: extensions/limits/models.py:18
+msgid "Maximum number of domains this user can create"
+msgstr "Numero massimo di domini che questo utente può creare"
+
+#: extensions/limits/models.py:21
+msgid "Maximum number of domain aliases this user can create"
+msgstr "Numero massimo di alias di dominio che questo utente può creare"
+
+#: extensions/limits/models.py:24
+msgid "Maximum number of mailboxes this user can create"
+msgstr "Numero massimo di caselle di posta che questo utente può creare"
+
+#: extensions/limits/models.py:26
+msgid "Maximum number of mailbox aliases this user can create"
+msgstr ""
+"Numero massimo di alias di caselle di posta che questo utente può creare"
+
+#: extensions/limits/models.py:136
msgid "undefined"
msgstr "indefinito"
-#: extensions/limits/models.py:105
+#: extensions/limits/models.py:138
msgid "unlimited"
msgstr "senza limiti"
@@ -1641,19 +1933,14 @@ msgstr "senza limiti"
msgid "Resources usage"
msgstr "Utilizzo risorse"
-#: extensions/postfix_autoreply/__init__.py:20
+#: extensions/postfix_autoreply/__init__.py:26
msgid "Auto-reply (vacation) functionality using Postfix"
msgstr "Funzionalità di auto-risposta (per assenza) usando Postfix"
-#: extensions/postfix_autoreply/__init__.py:41
+#: extensions/postfix_autoreply/__init__.py:47
msgid "Automatic replies"
msgstr "Risposte automatiche"
-#: extensions/postfix_autoreply/__init__.py:79
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
-msgid "Auto-reply message"
-msgstr "Messaggio di risposta automatica"
-
#: extensions/postfix_autoreply/app_settings.py:14
msgid "Automatic reply timeout"
msgstr "Tempo massimo della risposta automatica"
@@ -1664,39 +1951,98 @@ msgstr ""
"Tempo massimo in secondi tra due risposte automatiche al medesimo "
"destinatario"
-#: extensions/postfix_autoreply/forms.py:9
+#: extensions/postfix_autoreply/app_settings.py:20
+#, fuzzy
+msgid "Default subject"
+msgstr "Editor predefinito"
+
+#: extensions/postfix_autoreply/app_settings.py:21
+msgid "I'm off"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:23
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:28
+#, fuzzy
+msgid "Default content"
+msgstr "Editor predefinito"
+
+#: extensions/postfix_autoreply/app_settings.py:30
+#, python-format
+msgid ""
+"I'm currently off. I'll answer as soon as I come back.\n"
+"\n"
+"Best regards,\n"
+"%(name)s\n"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:36
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: extensions/postfix_autoreply/forms.py:13
+#, fuzzy
+msgid "Activate your auto reply from this date"
+msgstr "Attiva la tua risposta automatica fino a questa data"
+
+#: extensions/postfix_autoreply/forms.py:19
msgid "Until"
msgstr "Fino al"
-#: extensions/postfix_autoreply/forms.py:11
+#: extensions/postfix_autoreply/forms.py:21
msgid "Activate your auto reply until this date"
msgstr "Attiva la tua risposta automatica fino a questa data"
-#: extensions/postfix_autoreply/forms.py:25
+#: extensions/postfix_autoreply/forms.py:49
+#: extensions/postfix_autoreply/forms.py:55
msgid "This date is over"
msgstr "Questa data è passata"
-#: extensions/postfix_autoreply/models.py:19
+#: extensions/postfix_autoreply/forms.py:59
+#, fuzzy
+msgid "Must be greater than start date"
+msgstr "è maggiore di"
+
+#: extensions/postfix_autoreply/general_callbacks.py:33
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Auto-reply message"
+msgstr "Messaggio di risposta automatica"
+
+#: extensions/postfix_autoreply/general_callbacks.py:118
+msgid "Enable auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:120
+msgid "Enable or disable Postfix auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/models.py:20
msgid "subject"
msgstr "oggetto"
-#: extensions/postfix_autoreply/models.py:20
+#: extensions/postfix_autoreply/models.py:21
msgid "The subject that will appear in sent emails"
msgstr "L'oggetto che apparirà nelle mail inviate"
-#: extensions/postfix_autoreply/models.py:23
+#: extensions/postfix_autoreply/models.py:24
msgid "content"
msgstr "contenuto"
-#: extensions/postfix_autoreply/models.py:24
+#: extensions/postfix_autoreply/models.py:25
msgid "The content that will appear in sent emails"
msgstr "Il contenuto che apparirà nelle mail inviate"
-#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_autoreply/models.py:29
msgid "Activate/Deactivate your auto reply"
msgstr "Attiva/disattiva la tua risposta automatica"
-#: extensions/postfix_autoreply/views.py:37
+#: extensions/postfix_autoreply/views.py:34
msgid "Auto reply message updated successfully."
msgstr "Messaggio di risposta automatica aggiornato con successo."
@@ -1704,16 +2050,160 @@ msgstr "Messaggio di risposta automatica aggiornato con successo."
msgid "Define a message to automatically send when you are off"
msgstr "Definisci un messaggio da inviare automaticamente quando sei via"
+#: extensions/postfix_relay_domains/__init__.py:72
+msgid "Relay domains support for Postfix"
+msgstr ""
+
+#: extensions/postfix_relay_domains/__init__.py:89
+#: extensions/postfix_relay_domains/general_callbacks.py:100
+#: extensions/postfix_relay_domains/limits_callbacks.py:16
+#, fuzzy
+msgid "Relay domains"
+msgstr "Nuovo dominio"
+
+#: extensions/postfix_relay_domains/app_settings.py:10
+msgid "Postfix's master.cf path"
+msgstr ""
+
+#: extensions/postfix_relay_domains/app_settings.py:12
+#, fuzzy
+msgid "Path to the master.cf configuration file"
+msgstr "Percorso del file di log"
+
+#: extensions/postfix_relay_domains/forms.py:15
+#, fuzzy
+msgid ""
+"Alias(es) of this relay domain. Indicate only one name per input, press "
+"ENTER to add a new input."
+msgstr ""
+"Alias per questo dominio. Inserire un solo nome alla volta, premere INVIO "
+"per aggiungere un nuovo elemento"
+
+#: extensions/postfix_relay_domains/forms.py:51
+#: extensions/postfix_relay_domains/general_callbacks.py:93
+#, fuzzy
+msgid "relay domain alias"
+msgstr "Alias del dominio"
+
+#: extensions/postfix_relay_domains/forms.py:69
+#: extensions/postfix_relay_domains/general_callbacks.py:92
+#, fuzzy
+msgid "relay domain"
+msgstr "Nuovo dominio"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:35
+#, fuzzy
+msgid "Add relay domain"
+msgstr "Aggiungi dominio"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:101
+#, fuzzy
+msgid "Maximum number of relay domains this user can create"
+msgstr "Numero massimo di domini che questo utente può creare"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:103
+#: extensions/postfix_relay_domains/limits_callbacks.py:24
+#, fuzzy
+msgid "Relay domain aliases"
+msgstr "Alias del dominio"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:104
+#, fuzzy
+msgid "Maximum number of relay domain aliases this user can create"
+msgstr "Numero massimo di alias di dominio che questo utente può creare"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:111
+msgid ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients"
+"em> \n"
+"relaydomainalias; name; target; enabled \n"
+msgstr ""
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:19
+#, fuzzy
+msgid "Maximum number of allowed relay domains for a new administrator"
+msgstr "Numero massimo di domini consentiti per un nuovo amministratore"
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:27
+#, fuzzy
+msgid "Maximum number of allowed relay domain aliases for a new administrator"
+msgstr ""
+"Numero massimo di alias di dominio consentiti per un nuovo amministratore"
+
+#: extensions/postfix_relay_domains/models.py:59
+#, fuzzy
+msgid "The service name"
+msgstr "Il nome dell'alias"
+
+#: extensions/postfix_relay_domains/models.py:80
+#, fuzzy
+msgid "target host"
+msgstr "destinazione"
+
+#: extensions/postfix_relay_domains/models.py:81
+#, fuzzy
+msgid "Remote destination of this domain"
+msgstr "Seleziona per attivare questo dominio"
+
+#: extensions/postfix_relay_domains/models.py:89
+#, fuzzy
+msgid "verify recipients"
+msgstr "Destinatari"
+
+#: extensions/postfix_relay_domains/models.py:90
+msgid "Check for valid recipients"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:103
+#, fuzzy
+msgid "Relay Domain"
+msgstr "Nuovo dominio"
+
+#: extensions/postfix_relay_domains/models.py:164
+#, fuzzy
+msgid "The relay domain this alias points to"
+msgstr "Il dominio a cui punta questo alias"
+
+#: extensions/postfix_relay_domains/models.py:195
+#, fuzzy, python-format
+msgid "Relay domain %s does not exist"
+msgstr "Il dominio '%s' non esiste"
+
+#: extensions/postfix_relay_domains/views.py:26
+#, fuzzy
+msgid "Relay domain created"
+msgstr "Dominio creato"
+
+#: extensions/postfix_relay_domains/views.py:31
+#, fuzzy
+msgid "New relay domain"
+msgstr "Nuovo dominio"
+
+#: extensions/postfix_relay_domains/views.py:54
+#, fuzzy
+msgid "Relay domain modified"
+msgstr "Dominio modificato"
+
+#: extensions/postfix_relay_domains/views.py:77
+#, fuzzy
+msgid "Relay domain deleted"
+msgstr "Dominio cancellato"
+
+#: extensions/postfix_relay_domains/templates/postfix_relay_domains/service_field.html:2
+msgid "Scan"
+msgstr ""
+
#: extensions/sievefilters/__init__.py:12
msgid "Plugin to easily create server-side filters"
msgstr "Plugin per creare facilmente filtri lato-server"
-#: extensions/sievefilters/__init__.py:17
+#: extensions/sievefilters/__init__.py:18
msgid "Sieve filters"
msgstr "Filtri Sieve"
-#: extensions/sievefilters/__init__.py:18
-#: extensions/sievefilters/__init__.py:36
+#: extensions/sievefilters/__init__.py:19
+#: extensions/sievefilters/general_callbacks.py:14
#: extensions/sievefilters/templates/sievefilters/index.html:2
msgid "Message filters"
msgstr "Filtri messaggi"
@@ -1754,126 +2244,122 @@ msgstr "Modo editor"
msgid "Select the mode you want the editor to work in"
msgstr "Seleziona la modalità di lavoro che desideri per l'editor"
-#: extensions/sievefilters/forms.py:14
+#: extensions/sievefilters/forms.py:16
msgid "Check to activate this filters set"
msgstr "Seleziona per attivare questo insieme di filtri"
-#: extensions/sievefilters/forms.py:55
+#: extensions/sievefilters/forms.py:62
msgid "All of the following"
msgstr "Tutti i seguenti"
-#: extensions/sievefilters/forms.py:56
+#: extensions/sievefilters/forms.py:63
msgid "Any of the following"
msgstr "Alcuni dei seguenti"
-#: extensions/sievefilters/forms.py:57
-msgid "All messages"
-msgstr "Tutti i messaggi"
-
-#: extensions/sievefilters/forms.py:62
+#: extensions/sievefilters/forms.py:70
msgid "contains"
msgstr "contiene"
-#: extensions/sievefilters/forms.py:63
+#: extensions/sievefilters/forms.py:71
msgid "does not contain"
msgstr "non contiene"
-#: extensions/sievefilters/forms.py:64
+#: extensions/sievefilters/forms.py:72
msgid "is"
msgstr "è"
-#: extensions/sievefilters/forms.py:65
+#: extensions/sievefilters/forms.py:73
msgid "is not"
msgstr "non è"
-#: extensions/sievefilters/forms.py:69
+#: extensions/sievefilters/forms.py:78
msgid "Sender"
msgstr "Mittente"
-#: extensions/sievefilters/forms.py:70
+#: extensions/sievefilters/forms.py:79
msgid "Recipient"
msgstr "Destinatario"
-#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:8
+#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:8
msgid "Cc"
msgstr "Cc"
-#: extensions/sievefilters/forms.py:72
+#: extensions/sievefilters/forms.py:81
msgid "Size"
msgstr "Dimensione"
-#: extensions/sievefilters/forms.py:73
+#: extensions/sievefilters/forms.py:82
msgid "is greater than"
msgstr "è maggiore di"
-#: extensions/sievefilters/forms.py:74
+#: extensions/sievefilters/forms.py:83
msgid "is less than"
msgstr "è minore di"
-#: extensions/sievefilters/forms.py:78
+#: extensions/sievefilters/forms.py:87
msgid "Move message to"
msgstr "Sposta il messaggio in"
-#: extensions/sievefilters/forms.py:80
+#: extensions/sievefilters/forms.py:89
msgid "Redirect message to"
msgstr "Ridireziona il messaggio a"
-#: extensions/sievefilters/lib.py:37
+#: extensions/sievefilters/lib.py:40
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr ""
"Connessione al server MANAGESIEVE fallita, controlla la tua configurazione"
-#: extensions/sievefilters/lib.py:82
+#: extensions/sievefilters/lib.py:85
msgid "Not enough space on server"
msgstr "Non c'è spazio sufficiente nel server"
-#: extensions/sievefilters/views.py:68
+#: extensions/sievefilters/views.py:78
msgid "Failed to retrieve filters set"
msgstr "Recupero delle impostazioni di filtro fallito"
-#: extensions/sievefilters/views.py:126
+#: extensions/sievefilters/views.py:138
#: extensions/sievefilters/templatetags/sfilters_tags.py:33
msgid "New filter"
msgstr "Nuovo filtro"
-#: extensions/sievefilters/views.py:133
+#: extensions/sievefilters/views.py:146
msgid "Filter created"
msgstr "Filtro creato"
-#: extensions/sievefilters/views.py:145
-#: extensions/sievefilters/templatetags/sfilters_tags.py:77
+#: extensions/sievefilters/views.py:160
+#: extensions/sievefilters/templatetags/sfilters_tags.py:78
msgid "Edit filter"
msgstr "Modifica filtro"
-#: extensions/sievefilters/views.py:154
+#: extensions/sievefilters/views.py:169
msgid "Filter modified"
msgstr "Filtro modificato"
-#: extensions/sievefilters/views.py:176
+#: extensions/sievefilters/views.py:192
msgid "Filter removed"
msgstr "Filtro eliminato"
-#: extensions/sievefilters/views.py:177
+#: extensions/sievefilters/views.py:193
msgid "Failed to remove filter"
msgstr "Rimozione del filtro fallita"
-#: extensions/sievefilters/views.py:191
+#: extensions/sievefilters/views.py:208
msgid "Filters set saved"
msgstr "Gruppo filtri salvato"
-#: extensions/sievefilters/views.py:196
-msgid "Create a new filters set"
-msgstr "Crea un nuovo gruppo di filtri"
-
-#: extensions/sievefilters/views.py:219
+#: extensions/sievefilters/views.py:224
msgid "Filters set created"
msgstr "Gruppo filtri creato"
-#: extensions/sievefilters/views.py:240
+#: extensions/sievefilters/views.py:228
+msgid "Create a new filters set"
+msgstr "Crea un nuovo gruppo di filtri"
+
+#: extensions/sievefilters/views.py:247
msgid "Filters set deleted"
msgstr "Gruppo filtri eliminato"
-#: extensions/sievefilters/views.py:252
+#: extensions/sievefilters/views.py:260
msgid "Filters set activated"
msgstr "Gruppo filtri attivato"
@@ -1889,22 +2375,22 @@ msgstr "Attivo"
msgid "No filter defined yet"
msgstr "Non ci sono ancora filtri definiti"
-#: extensions/sievefilters/templates/sievefilters/index.html:56
+#: extensions/sievefilters/templates/sievefilters/index.html:76
msgid "Filter sets"
msgstr "Impostazioni dei filtri"
-#: extensions/sievefilters/templates/sievefilters/index.html:60
+#: extensions/sievefilters/templates/sievefilters/index.html:80
msgid "active"
msgstr "attivo"
-#: extensions/sievefilters/templates/sievefilters/index.html:74
+#: extensions/sievefilters/templates/sievefilters/index.html:94
msgid ""
"No filters set defined yet. You must create one in order to define filters."
msgstr ""
"Non è ancora stato definito alcun gruppo di filtri. Devi crearne uno per "
"definire dei filtri"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:16
+#: extensions/sievefilters/templatetags/sfilters_tags.py:15
msgid "New filters set"
msgstr "Nuovo gruppo di filtri"
@@ -1924,31 +2410,27 @@ msgstr "Elimina gruppo di filtri"
msgid "Download"
msgstr "Download"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:85
+#: extensions/sievefilters/templatetags/sfilters_tags.py:86
msgid "Remove this filter"
msgstr "Elimina questo filtro"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:93
+#: extensions/sievefilters/templatetags/sfilters_tags.py:94
msgid "Move this filter up"
msgstr "Sposta questo filtro in alto"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:101
+#: extensions/sievefilters/templatetags/sfilters_tags.py:102
msgid "Move this filter down"
msgstr "Sposta questo filtro in basso "
-#: extensions/stats/__init__.py:20
+#: extensions/stats/__init__.py:21
msgid "Graphical statistics about emails traffic using RRDtool"
msgstr "Grafico delle statistiche sul traffico e-mail utilizzando RRDtool"
-#: extensions/stats/__init__.py:26
+#: extensions/stats/__init__.py:29
#: extensions/stats/templates/stats/index.html:2
msgid "Graphical statistics"
msgstr "Grafico statistiche"
-#: extensions/stats/__init__.py:40
-msgid "Statistics"
-msgstr "Statistiche"
-
#: extensions/stats/app_settings.py:14
msgid "Path to the log file"
msgstr "Percorso del file di log"
@@ -1973,84 +2455,88 @@ msgstr "Cartella dei file PNG"
msgid "Path to directory where PNG files are stored"
msgstr "Percorso della cartella dove sono memorizzati i file PNG"
-#: extensions/stats/graph_templates.py:20
+#: extensions/stats/general_callbacks.py:12
+msgid "Statistics"
+msgstr "Statistiche"
+
+#: extensions/stats/graph_templates.py:22
msgid "Average normal traffic"
msgstr "Traffico normale medio"
-#: extensions/stats/graph_templates.py:21
-#: extensions/stats/graph_templates.py:33
+#: extensions/stats/graph_templates.py:23
+#: extensions/stats/graph_templates.py:36
msgid "msgs/min"
msgstr "msg/min"
-#: extensions/stats/graph_templates.py:26
+#: extensions/stats/graph_templates.py:28
msgid "sent messages"
msgstr "messaggi inviati"
-#: extensions/stats/graph_templates.py:28
+#: extensions/stats/graph_templates.py:30
msgid "received messages"
msgstr "messaggi ricevuti"
-#: extensions/stats/graph_templates.py:32
+#: extensions/stats/graph_templates.py:35
msgid "Average bad traffic"
msgstr "Traffico maligno medio"
-#: extensions/stats/graph_templates.py:38
+#: extensions/stats/graph_templates.py:41
msgid "bounced messages"
msgstr "messaggi di rimbalzo"
-#: extensions/stats/graph_templates.py:40
+#: extensions/stats/graph_templates.py:43
msgid "rejected messages"
msgstr "messaggi respinti"
-#: extensions/stats/graph_templates.py:44
+#: extensions/stats/graph_templates.py:48
msgid "Average normal traffic size"
msgstr "Dimensione del traffico normale medio"
-#: extensions/stats/graph_templates.py:45
+#: extensions/stats/graph_templates.py:49
msgid "bytes/min"
msgstr "bytes/min"
-#: extensions/stats/graph_templates.py:50
+#: extensions/stats/graph_templates.py:54
msgid "received size"
msgstr "dimensione di ricezione"
-#: extensions/stats/graph_templates.py:52
+#: extensions/stats/graph_templates.py:56
msgid "sent size"
msgstr "dimensione di spedizione"
-#: extensions/stats/graph_templates.py:73
+#: extensions/stats/graph_templates.py:78
msgid "Mail traffic"
msgstr "Traffico mail"
-#: extensions/stats/grapher.py:9
+#: extensions/stats/grapher.py:8
msgid "Day"
msgstr "Giorno"
-#: extensions/stats/grapher.py:10
+#: extensions/stats/grapher.py:9
msgid "Week"
msgstr "Settimana"
-#: extensions/stats/grapher.py:11
+#: extensions/stats/grapher.py:10
msgid "Month"
msgstr "Mese"
-#: extensions/stats/grapher.py:12
+#: extensions/stats/grapher.py:11
msgid "Year"
msgstr "Anno"
-#: extensions/stats/grapher.py:59
+#: extensions/stats/grapher.py:60
msgid "Total"
msgstr "Totale"
-#: extensions/stats/views.py:21 extensions/stats/templates/stats/graphs.html:4
+#: extensions/stats/views.py:28 extensions/stats/templates/stats/graphs.html:4
msgid "No statistics available"
msgstr "Non sono disponibili statistiche"
-#: extensions/stats/views.py:39
+#: extensions/stats/views.py:47
msgid "Unknown graphic set"
msgstr "Impostazione grafica sconosciuta"
-#: extensions/stats/views.py:61
+#: extensions/stats/views.py:70
msgid "Bad custom period"
msgstr "Periodo personalizzato sbagliato"
@@ -2070,14 +2556,10 @@ msgstr "Intervallo di tempo personalizzato"
msgid "Apply"
msgstr "Applica"
-#: extensions/webmail/__init__.py:12
+#: extensions/webmail/__init__.py:13
msgid "Simple IMAP webmail"
msgstr "Webmail IMAP semplice"
-#: extensions/webmail/__init__.py:35
-msgid "Webmail"
-msgstr "Webmail"
-
#: extensions/webmail/app_settings.py:14
msgid "Maximum attachment size"
msgstr "Dimensione massima degli allegati"
@@ -2208,99 +2690,94 @@ msgstr "Testo signature"
msgid "User defined email signature"
msgstr "Signature delle e-mail personalizzato dall'utente"
-#: extensions/webmail/exceptions.py:19
+#: extensions/webmail/exceptions.py:20
msgid "Server response"
msgstr "Risposta del server"
+#: extensions/webmail/exceptions.py:34
+msgid "Unknown action"
+msgstr "Azione sconosciuta"
+
#: extensions/webmail/forms.py:9
msgid "Cci"
msgstr "Cci"
-#: extensions/webmail/imaputils.py:237
+#: extensions/webmail/general_callbacks.py:14
+msgid "Webmail"
+msgstr "Webmail"
+
+#: extensions/webmail/imaputils.py:242
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Impossibile recuperare il delimitatore delle gerarchie"
-#: extensions/webmail/imaputils.py:278
+#: extensions/webmail/imaputils.py:283
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Connessione al server IMAP fallita: %s"
-#: extensions/webmail/lib.py:360
+#: extensions/webmail/lib.py:371
msgid "wrote:"
msgstr "scritto:"
-#: extensions/webmail/lib.py:425 extensions/webmail/lib.py:429
+#: extensions/webmail/lib.py:437 extensions/webmail/lib.py:441
msgid "Original message"
msgstr "Messaggio originale"
-#: extensions/webmail/views.py:78
+#: extensions/webmail/views.py:85
#, python-format
msgid "%(count)d message deleted"
msgid_plural "%(count)d messages deleted"
msgstr[0] "%(count)d messaggio cancellato"
msgstr[1] "%(count)d messaggi cancellati"
-#: extensions/webmail/views.py:95
-msgid "Unknown action"
-msgstr "Azione sconosciuta"
-
-#: extensions/webmail/views.py:108 lib/email_listing.py:137
+#: extensions/webmail/views.py:116 lib/email_listing.py:138
msgid "Empty mailbox"
msgstr "Casella di posta vuota"
-#: extensions/webmail/views.py:125
-#: extensions/webmail/templatetags/webextras.py:170
-msgid "Create a new mailbox"
-msgstr "Crea una nuova casella di posta"
-
-#: extensions/webmail/views.py:141
+#: extensions/webmail/views.py:142
msgid "Mailbox created"
msgstr "Casella di posta creata"
-#: extensions/webmail/views.py:157
+#: extensions/webmail/views.py:148
+#: extensions/webmail/templatetags/webmail_tags.py:175
+msgid "Create a new mailbox"
+msgstr "Crea una nuova casella di posta"
+
+#: extensions/webmail/views.py:167 extensions/webmail/views.py:202
msgid "Edit mailbox"
msgstr "Modifica casella di posta"
-#: extensions/webmail/views.py:172
+#: extensions/webmail/views.py:183
msgid "Mailbox updated"
msgstr "Casella di posta aggiornata"
-#: extensions/webmail/views.py:206 extensions/webmail/views.py:388
-#: extensions/webmail/views.py:497
-msgid "Bad request"
-msgstr "Richiesta sbagliata"
-
-#: extensions/webmail/views.py:238
+#: extensions/webmail/views.py:255
msgid "Failed to save attachment: "
msgstr "Salvataggio allegato fallito: "
-#: extensions/webmail/views.py:241
+#: extensions/webmail/views.py:258
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "L'allegato è troppo grande (limite: %s)"
-#: extensions/webmail/views.py:247
+#: extensions/webmail/views.py:264
#: extensions/webmail/templates/webmail/compose.html:15
#: extensions/webmail/templates/webmail/headers.html:4
msgid "Attachments"
msgstr "Allegati"
-#: extensions/webmail/views.py:263
+#: extensions/webmail/views.py:281
msgid "Bad query"
msgstr "Domanda sbagliata"
-#: extensions/webmail/views.py:273
+#: extensions/webmail/views.py:293
msgid "Failed to remove attachment: "
msgstr "Rimozione allegato fallita: "
-#: extensions/webmail/views.py:278
+#: extensions/webmail/views.py:298
msgid "Unknown attachment"
msgstr "Allegato sconosciuto"
-#: extensions/webmail/views.py:493
-msgid "Undefined action"
-msgstr "Azione non definita"
-
#: extensions/webmail/templates/webmail/attachments.html:6
msgid "Attach"
msgstr "Allega"
@@ -2332,111 +2809,123 @@ msgstr "Casella di posta principale"
msgid "Mailbox quota"
msgstr "Quota casella di posta"
-#: extensions/webmail/templatetags/webextras.py:19
+#: extensions/webmail/templatetags/webmail_tags.py:20
msgid "Reply"
msgstr "Rispondi"
-#: extensions/webmail/templatetags/webextras.py:23
+#: extensions/webmail/templatetags/webmail_tags.py:24
msgid "Reply all"
msgstr "Rispondi a tutti"
-#: extensions/webmail/templatetags/webextras.py:27
-#: userprefs/templates/userprefs/forward.html:2
-#: userprefs/templatetags/uprefs_extras.py:27
-msgid "Forward"
-msgstr "Inoltra"
-
-#: extensions/webmail/templatetags/webextras.py:33
+#: extensions/webmail/templatetags/webmail_tags.py:34
msgid "Display options"
msgstr "Mostra le opzioni"
-#: extensions/webmail/templatetags/webextras.py:36
+#: extensions/webmail/templatetags/webmail_tags.py:37
msgid "Activate links"
msgstr "Attiva i collegamenti"
-#: extensions/webmail/templatetags/webextras.py:38
+#: extensions/webmail/templatetags/webmail_tags.py:39
msgid "Disable links"
msgstr "Disabilita i collegamenti"
-#: extensions/webmail/templatetags/webextras.py:47
+#: extensions/webmail/templatetags/webmail_tags.py:48
msgid "Close this message"
msgstr "Chiudi questo messaggio"
-#: extensions/webmail/templatetags/webextras.py:60
+#: extensions/webmail/templatetags/webmail_tags.py:63
msgid "Back"
msgstr "Indietro"
-#: extensions/webmail/templatetags/webextras.py:64
+#: extensions/webmail/templatetags/webmail_tags.py:67
msgid "Send"
msgstr "Invia"
-#: extensions/webmail/templatetags/webextras.py:76
+#: extensions/webmail/templatetags/webmail_tags.py:80
msgid "New message"
msgstr "Nuovo messaggio"
-#: extensions/webmail/templatetags/webextras.py:85
+#: extensions/webmail/templatetags/webmail_tags.py:89
msgid "Mark messages"
msgstr "Contrassegna i messaggi"
-#: extensions/webmail/templatetags/webextras.py:89
+#: extensions/webmail/templatetags/webmail_tags.py:93
msgid "As read"
msgstr "Come letti"
-#: extensions/webmail/templatetags/webextras.py:92
+#: extensions/webmail/templatetags/webmail_tags.py:96
msgid "As unread"
msgstr "Come non letti"
-#: extensions/webmail/templatetags/webextras.py:101
+#: extensions/webmail/templatetags/webmail_tags.py:105
msgid "Compress folder"
msgstr "Comprimi cartella"
-#: extensions/webmail/templatetags/webextras.py:110
+#: extensions/webmail/templatetags/webmail_tags.py:114
msgid "Empty folder"
msgstr "Svuota cartella"
-#: extensions/webmail/templatetags/webextras.py:178
+#: extensions/webmail/templatetags/webmail_tags.py:183
msgid "Edit the selected mailbox"
msgstr "Modifica la casella di posta selezionata"
-#: extensions/webmail/templatetags/webextras.py:183
+#: extensions/webmail/templatetags/webmail_tags.py:188
msgid "Remove the selected mailbox"
msgstr "Elimina la cartella di posta selezionata"
-#: lib/exceptions.py:18
+#: lib/dbutils.py:36
+#, fuzzy, python-format
+msgid "Connection to database %s not configured"
+msgstr "Connessione ad amavis fallita: %s"
+
+#: lib/exceptions.py:67
#, python-format
msgid "Permission denied: %s"
msgstr "Accesso negato: %s"
-#: lib/exceptions.py:19
+#: lib/exceptions.py:68
msgid "Permission denied"
msgstr "Accesso negato"
-#: lib/formutils.py:157 lib/formutils.py:165
+#: lib/formutils.py:187 lib/formutils.py:195
msgid "Enter a valid domain name"
msgstr "Inserisci un nome di dominio valido"
-#: lib/permissions.py:27
+#: lib/formutils.py:244
+msgid "Yes"
+msgstr "Si"
+
+#: lib/formutils.py:244
+msgid "No"
+msgstr "No"
+
+#: lib/ldaputils.py:111
+#, python-format
+msgid "Failed to update password: %s"
+msgstr "Aggiornamento della password fallito: %s"
+
+#: lib/permissions.py:20
msgid "Simple user"
msgstr "Utente semplice"
-#: lib/permissions.py:29
+#: lib/permissions.py:22
msgid "Super administrator"
msgstr "Super amministratore"
-#: lib/permissions.py:31
+#: lib/permissions.py:28
msgid "Domain administrator"
msgstr "Amministratore di domini"
-#: lib/permissions.py:75
+#: lib/permissions.py:73
#, python-format
msgid "Failed to grant access (%s)"
msgstr "Accesso fallito (%s)"
-#: lib/tables.py:241
+#: lib/tables.py:251
msgid "No entries to display"
msgstr "Non ci sono elementi da mostrare"
-#: lib/templatetags/libextras.py:108
+#: lib/templatetags/lib_tags.py:59
msgid "activate"
msgstr "attiva"
@@ -2494,106 +2983,35 @@ msgstr "Ricordami"
msgid "Log in"
msgstr "Registrati"
-#: userprefs/__init__.py:8
-msgid "User preferences"
-msgstr "Preferenze utente"
+#~ msgid "An alias with this name already exists"
+#~ msgstr "Esiste già un alias con questo nome"
-#: userprefs/__init__.py:10
-msgid "Per-user settings"
-msgstr "Impostazioni per-utente"
+#~ msgid "A domain with this name already exists"
+#~ msgstr "Esiste già un dominio con questo nome"
-#: userprefs/app_settings.py:22
-msgid "Prefered language"
-msgstr "Lingua preferita"
+#~ msgid "Edit domain"
+#~ msgstr "Modifica dominio"
-#: userprefs/app_settings.py:27
-msgid "Prefered language to display pages"
-msgstr "Lingua preferita per mostrare le pagine"
+#~ msgid "%d pending requests"
+#~ msgstr "%d richieste in sospeso"
-#: userprefs/forms.py:14
-msgid "Old password"
-msgstr "Vecchia password"
+#~ msgid "Content Class"
+#~ msgstr "Classe dei contenuti"
-#: userprefs/forms.py:16
-msgid "New password"
-msgstr "Nuova password"
+#~ msgid "Nothing"
+#~ msgstr "Nulla"
-#: userprefs/forms.py:40
-msgid "Old password mismatchs"
-msgstr "La vecchia password non corrisponde"
+#~ msgid "Bad request"
+#~ msgstr "Richiesta sbagliata"
-#: userprefs/forms.py:45
-msgid "Passwords mismatch"
-msgstr "La password non corrisponde"
+#~ msgid "Undefined action"
+#~ msgstr "Azione non definita"
-#: userprefs/forms.py:59
-msgid "Recipient(s)"
-msgstr "Destinatario(i)"
+#~ msgid "User preferences"
+#~ msgstr "Preferenze utente"
-#: userprefs/forms.py:62
-msgid "Indicate one or more recipients separated by a ','"
-msgstr "Indicare uno o più destinatari separati da ','"
+#~ msgid "Per-user settings"
+#~ msgstr "Impostazioni per-utente"
-#: userprefs/forms.py:65
-msgid "Keep local copies"
-msgstr "Mantieni copie locali"
-
-#: userprefs/forms.py:67
-msgid "Forward messages and store copies into your local mailbox"
-msgstr ""
-"Inoltra i messaggi e memorizza le copie nella tua casella di posta locale"
-
-#: userprefs/forms.py:84
-msgid ""
-"You can't define a forward to a local destination. Please ask your "
-"administrator to create an alias instead."
-msgstr ""
-"Non puoi definire l'inoltro con destinazione una cartella locale. Chiedi "
-"piuttosto all'amministratore di creare un alias."
-
-#: userprefs/views.py:32
-msgid "You need a mailbox in order to define a forward"
-msgstr "Hai bisogno di una casella di posta per definire un inoltro"
-
-#: userprefs/views.py:56
-msgid "Forward updated"
-msgstr "Inoltro aggiornato"
-
-#: userprefs/views.py:98
-msgid "Profile updated"
-msgstr "Profilo aggiornato"
-
-#: userprefs/views.py:127
-msgid "Preferences saved"
-msgstr "Preferenze salvate"
-
-#: userprefs/templates/userprefs/forward.html:2
-msgid "Automatically forward emails to another address"
-msgstr "Inoltra automaticamente le e-mail ad un altro indirizzo"
-
-#: userprefs/templates/userprefs/index.html:2
-#: userprefs/templatetags/uprefs_extras.py:48
-msgid "Settings"
-msgstr "Impostazioni"
-
-#: userprefs/templates/userprefs/preferences.html:2
-#: userprefs/templatetags/uprefs_extras.py:21
-msgid "Preferences"
-msgstr "Preferenze"
-
-#: userprefs/templates/userprefs/preferences.html:2
-msgid "Customize Modoboa"
-msgstr "Personalizza Modoboa"
-
-#: userprefs/templates/userprefs/profile.html:2
-#: userprefs/templatetags/uprefs_extras.py:17
-msgid "Profile"
-msgstr "Profilo"
-
-#: userprefs/templates/userprefs/profile.html:2
-msgid "Update your personal information"
-msgstr "Aggiorna le informazioni personali"
-
-#: userprefs/templatetags/uprefs_extras.py:57
-msgid "Logout"
-msgstr "Esci"
+#~ msgid "You need a mailbox in order to define a forward"
+#~ msgstr "Hai bisogno di una casella di posta per definire un inoltro"
diff --git a/modoboa/locale/it/LC_MESSAGES/djangojs.po b/modoboa/locale/it/LC_MESSAGES/djangojs.po
index 086b29052..1430601ee 100644
--- a/modoboa/locale/it/LC_MESSAGES/djangojs.po
+++ b/modoboa/locale/it/LC_MESSAGES/djangojs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-09-26 23:44+0200\n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: 2013-09-27 00:07+0200\n"
"Last-Translator: Giancarlo Gaifas \n"
"Language-Team: Italiano \n"
@@ -17,19 +17,19 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/static/admin/js/admin.js:26
+#: extensions/admin/static/admin/js/admin.js:32
msgid "Search"
msgstr "Ricerca"
-#: admin/static/admin/js/admin.js:110
+#: extensions/admin/static/admin/js/admin.js:170
msgid "Do not delete domain directory"
msgstr "Non eliminare la cartella dei domini"
-#: admin/static/admin/js/admin.js:113
+#: extensions/admin/static/admin/js/admin.js:173
msgid "This operation will remove ALL data associated to this domain."
msgstr "Questa operazione eliminerà TUTTI i dati associati a questo dominio."
-#: admin/static/admin/js/admin.js:114
+#: extensions/admin/static/admin/js/admin.js:174
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
@@ -37,58 +37,62 @@ msgstr ""
"Questa operazione eliminerà tutti i dati associati a questo dominio tranne "
"gli account"
-#: admin/static/admin/js/admin.js:161
+#: extensions/admin/static/admin/js/admin.js:222
msgid "No domain administrator defined"
msgstr "Non è stato definito un amministratore di dominio"
-#: admin/static/admin/js/admin.js:238
+#: extensions/admin/static/admin/js/admin.js:291
msgid "Do not delete mailbox directory"
msgstr "Non eliminare la cartella della casella posta"
-#: extensions/amavis/static/amavis/js/quarantine.js:126
+#: extensions/amavis/static/amavis/js/quarantine.js:180
msgid "Release this selection?"
msgstr "Rilasciare questa selezione?"
-#: extensions/amavis/static/amavis/js/quarantine.js:130
+#: extensions/amavis/static/amavis/js/quarantine.js:184
msgid "Delete this selection?"
msgstr "Eliminare questa selezione?"
-#: extensions/amavis/static/amavis/js/quarantine.js:148
-#: extensions/amavis/static/amavis/js/selfservice.js:22
+#: extensions/amavis/static/amavis/js/quarantine.js:203
+#: extensions/amavis/static/amavis/js/selfservice.js:17
msgid "Release this message?"
msgstr "Rilasciare questo messaggio?"
-#: extensions/amavis/static/amavis/js/quarantine.js:152
-#: extensions/amavis/static/amavis/js/selfservice.js:26
+#: extensions/amavis/static/amavis/js/quarantine.js:207
+#: extensions/amavis/static/amavis/js/selfservice.js:21
msgid "Delete this message?"
msgstr "Eliminare questo messaggio?"
-#: extensions/amavis/static/amavis/js/quarantine.js:169
+#: extensions/amavis/static/amavis/js/quarantine.js:224
msgid "View full headers"
msgstr "Visualizza tutte le intestazioni"
-#: extensions/amavis/static/amavis/js/quarantine.js:174
+#: extensions/amavis/static/amavis/js/quarantine.js:229
msgid "Hide full headers"
msgstr "Nascondi le intestazioni"
+#: extensions/postfix_relay_domains/static/postfix_relay_domains/js/relay_domains.js:49
+msgid "Services updated"
+msgstr ""
+
#: extensions/sievefilters/static/sievefilters/js/lib.js:14
msgid "Remove this filter?"
msgstr "Rimuovere questo filtro?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:117
+#: extensions/sievefilters/static/sievefilters/js/lib.js:107
msgid "Save changes?"
msgstr "Salvare le modifiche?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:144
+#: extensions/sievefilters/static/sievefilters/js/lib.js:129
msgid "Remove filters set?"
msgstr "Rimuovere il gruppo di filtri?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:161
+#: extensions/sievefilters/static/sievefilters/js/lib.js:146
msgid "Activate this filters set?"
msgstr "Attivare il gruppo di filtri?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:169
-#: extensions/sievefilters/static/sievefilters/js/lib.js:224
+#: extensions/sievefilters/static/sievefilters/js/lib.js:154
+#: extensions/sievefilters/static/sievefilters/js/lib.js:203
msgid "active"
msgstr "attivo"
@@ -96,30 +100,30 @@ msgstr "attivo"
msgid "Search a domain"
msgstr "Cerca un dominio"
-#: extensions/webmail/static/webmail/js/webmail.js:476
+#: extensions/webmail/static/webmail/js/webmail.js:472
msgid "Remove the selected mailbox?"
msgstr "Rimuovere la casella di posta selezionata?"
-#: extensions/webmail/static/webmail/js/webmail.js:490
+#: extensions/webmail/static/webmail/js/webmail.js:485
msgid "Mailbox removed"
msgstr "Casella di posta rimossa"
-#: extensions/webmail/static/webmail/js/webmail.js:846
+#: extensions/webmail/static/webmail/js/webmail.js:727
msgid "Message sent"
msgstr "Messaggio inviato"
-#: extensions/webmail/static/webmail/js/webmail.js:878
+#: extensions/webmail/static/webmail/js/webmail.js:854
msgid "Message deleted"
msgstr "Messaggio eliminato"
-#: extensions/webmail/static/webmail/js/webmail.js:1008
+#: extensions/webmail/static/webmail/js/webmail.js:981
#, c-format
msgid "%s file"
msgid_plural "%s files"
msgstr[0] "%s file"
msgstr[1] "%s file"
-#: extensions/webmail/static/webmail/js/webmail.js:1040
+#: extensions/webmail/static/webmail/js/webmail.js:1013
#, c-format
msgid "Moving %s message"
msgid_plural "Moving %s messages"
@@ -134,8 +138,9 @@ msgstr "Attenzione"
msgid "Cancel"
msgstr "Elimina"
-#: static/js/confirmation.js:101 static/js/history.js:235
-msgid "Internal Error"
+#: static/js/global.js:314
+#, fuzzy
+msgid "Internal error"
msgstr "Errore interno"
#: static/js/searchbar.js:20
diff --git a/modoboa/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/locale/pt_PT/LC_MESSAGES/django.po
index d0e672cb5..d13432d2f 100644
--- a/modoboa/locale/pt_PT/LC_MESSAGES/django.po
+++ b/modoboa/locale/pt_PT/LC_MESSAGES/django.po
@@ -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:
# ddu17 , 2013
# mikec , 2012
@@ -11,1087 +11,557 @@
msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
-"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n"
-"POT-Creation-Date: 2013-09-20 22:30+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: 2013-10-04 21:10+0000\n"
"Last-Translator: ddu17 \n"
-"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/modoboa/language/pt_PT/)\n"
+"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/"
+"modoboa/language/pt_PT/)\n"
+"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/__init__.py:9
-msgid "Administration console"
-msgstr "Consola de Administração"
-
-#: admin/__init__.py:11
-msgid "Web based console to manage domains, accounts and aliases"
-msgstr "Consola baseada na web para gestão de domínios, contas e aliases"
-
-#: admin/__init__.py:16 admin/forms.py:211 admin/forms.py:652
-#: admin/views.py:94 admin/views.py:447
+#: core/__init__.py:52 core/__init__.py:53
+#: extensions/admin/forms/account.py:325 extensions/admin/forms/domain.py:251
+#: extensions/admin/views/domain.py:95 extensions/admin/views/identity.py:127
#: extensions/postfix_autoreply/app_settings.py:11
+#: extensions/postfix_relay_domains/forms.py:138
#: extensions/sievefilters/app_settings.py:50
#: extensions/stats/app_settings.py:11 extensions/webmail/app_settings.py:11
-#: userprefs/__init__.py:15
msgid "General"
msgstr "Geral"
-#: admin/app_settings.py:31
+#: core/app_settings.py:36
msgid "Authentication"
msgstr "Autenticação"
-#: admin/app_settings.py:34
+#: core/app_settings.py:39
msgid "Authentication type"
msgstr "Tipo de autenticação"
-#: admin/app_settings.py:35
+#: core/app_settings.py:40
msgid "Local"
msgstr "Local"
-#: admin/app_settings.py:38
+#: core/app_settings.py:43
msgid "The backend used for authentication"
msgstr "Backend usado para autenticação"
-#: admin/app_settings.py:43
+#: core/app_settings.py:48
msgid "Default password scheme"
msgstr "Esquema pré-definido para passwords"
-#: admin/app_settings.py:50
+#: core/app_settings.py:51
+msgid "md5crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:52
+msgid "sha256 (weak)"
+msgstr ""
+
+#: core/app_settings.py:53
+msgid "md5 (weak)"
+msgstr ""
+
+#: core/app_settings.py:54
+msgid "crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:55
+msgid "plain (weak)"
+msgstr ""
+
+#: core/app_settings.py:57
msgid "Scheme used to crypt mailbox passwords"
msgstr "Esquema usado para encriptar as passwords das caixas de correio"
-#: admin/app_settings.py:54
+#: core/app_settings.py:61
+msgid "Rounds"
+msgstr ""
+
+#: core/app_settings.py:64
+msgid ""
+"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
+"between 1000 and 999999999, inclusive."
+msgstr ""
+
+#: core/app_settings.py:70
msgid "Secret key"
msgstr "Chave secreta"
-#: admin/app_settings.py:56
+#: core/app_settings.py:72
msgid "Key used to encrypt/decrypt passwords"
msgstr "Chave usada para encriptar/desencriptar passwords"
-#: admin/app_settings.py:60
+#: core/app_settings.py:76
msgid "LDAP settings"
msgstr "Definições do serviço de directório"
-#: admin/app_settings.py:63 extensions/sievefilters/app_settings.py:22
+#: core/app_settings.py:79 extensions/sievefilters/app_settings.py:22
#: extensions/webmail/app_settings.py:22 extensions/webmail/app_settings.py:42
msgid "Server address"
msgstr "Endereço do Servidor"
-#: admin/app_settings.py:65
+#: core/app_settings.py:81
msgid "The IP address of the DNS name of the LDAP server"
msgstr "O endereço IP do servidor de DNS do servidor LDAP"
-#: admin/app_settings.py:69 extensions/sievefilters/app_settings.py:28
+#: core/app_settings.py:85 extensions/sievefilters/app_settings.py:28
#: extensions/webmail/app_settings.py:34 extensions/webmail/app_settings.py:58
msgid "Server port"
msgstr "Porta do Servidor"
-#: admin/app_settings.py:71
+#: core/app_settings.py:87
msgid "The TCP port number used by the LDAP server"
msgstr " A porta TCP usada pelo servidor LDAP"
-#: admin/app_settings.py:75 extensions/webmail/app_settings.py:28
+#: core/app_settings.py:91 extensions/webmail/app_settings.py:28
msgid "Use a secured connection"
msgstr "Utilizar uma ligação segura"
-#: admin/app_settings.py:77
+#: core/app_settings.py:93
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Usar SSL/TLS na ligaçao de acesso ao servidor LDAP"
-#: admin/app_settings.py:81
+#: core/app_settings.py:97
msgid "Authentication method"
msgstr "Método de autenticação"
-#: admin/app_settings.py:82
+#: core/app_settings.py:98
msgid "Search and bind"
msgstr "Procurar e vincular (bind)"
-#: admin/app_settings.py:83
+#: core/app_settings.py:99
msgid "Direct bind"
msgstr "\"Direct bind\""
-#: admin/app_settings.py:85
+#: core/app_settings.py:101
msgid "Choose the authentication method to use"
msgstr "Escolher o método de autenticação"
-#: admin/app_settings.py:90
+#: core/app_settings.py:106
msgid "Bind DN"
msgstr "\"Bind DN\""
-#: admin/app_settings.py:92
+#: core/app_settings.py:108
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
-msgstr "O nome único usado para fazer o \"bind\" ao servidor LDAP. Deixar vario para \"bind\" anónimo"
+msgstr ""
+"O nome único usado para fazer o \"bind\" ao servidor LDAP. Deixar vario "
+"para \"bind\" anónimo"
-#: admin/app_settings.py:97
+#: core/app_settings.py:113
msgid "Bind password"
msgstr "Password para bind"
-#: admin/app_settings.py:99
+#: core/app_settings.py:115
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
-msgstr "A password usada para fazer o \"bind\" ao servidor LDAP (com 'Bind DN')"
+msgstr ""
+"A password usada para fazer o \"bind\" ao servidor LDAP (com 'Bind DN')"
-#: admin/app_settings.py:105
-msgid "Search base"
+#: core/app_settings.py:121
+#, fuzzy
+msgid "Users search base"
msgstr "Base de pesquisa"
-#: admin/app_settings.py:107
-msgid "The distinguished name of the search base"
+#: core/app_settings.py:123
+#, fuzzy
+msgid "The distinguished name of the search base used to find users"
msgstr "O nome único para a pesquisa base"
-#: admin/app_settings.py:112
+#: core/app_settings.py:128
msgid "Search filter"
msgstr "Filtro de pesquisa"
-#: admin/app_settings.py:114
+#: core/app_settings.py:130
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
-msgstr "Um filtro opcional (ex: '(objetClass=person)'). Tem de estar entre parênteses para ser válido"
+msgstr ""
+"Um filtro opcional (ex: '(objetClass=person)'). Tem de estar entre "
+"parênteses para ser válido"
-#: admin/app_settings.py:119
+#: core/app_settings.py:135
msgid "User DN template"
msgstr "Template DN de utilizador"
-#: admin/app_settings.py:121
+#: core/app_settings.py:137
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
-msgstr "O template usado para construir o DN (nome único). Deve apenas conter um 'placeholder' (ex: %(user)s) "
+msgstr ""
+"O template usado para construir o DN (nome único). Deve apenas conter um "
+"'placeholder' (ex: %(user)s) "
-#: admin/app_settings.py:126
+#: core/app_settings.py:142
msgid "Password attribute"
msgstr "Atributo de palavra-passe"
-#: admin/app_settings.py:128
+#: core/app_settings.py:144
msgid "The attribute used to store user passwords"
msgstr "O atributo utilizado para armazenar palavras-passe"
-#: admin/app_settings.py:132
+#: core/app_settings.py:148
msgid "Active Directory"
msgstr "Active Directory"
-#: admin/app_settings.py:134
+#: core/app_settings.py:150
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "Especificar se o servidor LDAP e um Active Directory"
-#: admin/app_settings.py:137 admin/templates/admin/editdomainform.html:25
-#: extensions/limits/app_settings.py:31 extensions/limits/forms.py:24
-#: extensions/limits/models.py:14 extensions/webmail/app_settings.py:101
-#: extensions/webmail/templates/webmail/folders.html:4
-msgid "Mailboxes"
-msgstr "Caixas de Correio"
+#: core/app_settings.py:154
+#, fuzzy
+msgid "Administrator groups"
+msgstr "Administradores"
-#: admin/app_settings.py:140
-msgid "Handle mailboxes on filesystem"
-msgstr "Lidar com caixas de correio no sistema de ficheiros"
-
-#: admin/app_settings.py:142
+#: core/app_settings.py:157
msgid ""
-"Rename or remove mailboxes on the filesystem when they get renamed or "
-"removed within Modoboa"
-msgstr "Renomear ou remover as caixas de correio no sistema de ficheiros quando estas são renomeadas no Modoboa"
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
+msgstr ""
-#: admin/app_settings.py:146
-msgid "Mailboxes ower"
-msgstr "Detentor das Caixas de Correio (Owner)"
+#: core/app_settings.py:164
+#, fuzzy
+msgid "Groups search base"
+msgstr "Base de pesquisa"
-#: admin/app_settings.py:148
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "A conta UNIX que detém as caixas de correio no sistema de ficheiros"
+#: core/app_settings.py:167
+#, fuzzy
+msgid "The distinguished name of the search base used to find groups"
+msgstr "O nome único para a pesquisa base"
-#: admin/app_settings.py:152
-msgid "Automatic account removal"
-msgstr "Remoção automática de conta"
-
-#: admin/app_settings.py:154
-msgid "When a mailbox is removed, also remove the associated account"
-msgstr "Ao remover uma caixa de correio estará também a remover a conta associada"
-
-#: admin/app_settings.py:157 admin/templates/admin/editdomainform.html:7
+#: core/app_settings.py:172
+#: extensions/admin/templates/admin/editdomainform.html:7
msgid "Miscellaneous"
msgstr "Vários"
-#: admin/app_settings.py:160
+#: core/app_settings.py:175
msgid "Maximum log record age"
msgstr "Idade máxima do registo no log"
-#: admin/app_settings.py:162
+#: core/app_settings.py:177
msgid "The maximum age in days of a log record"
msgstr "A idade maxima do registo de um log, em dias, e de"
-#: admin/app_settings.py:166
+#: core/app_settings.py:181
msgid "Items per page"
msgstr "Itens por página"
-#: admin/app_settings.py:168
+#: core/app_settings.py:183
msgid "Number of displayed items per page"
msgstr "Número de itens apresentados por página"
-#: admin/app_settings.py:172
+#: core/app_settings.py:187
msgid "Default top redirection"
msgstr "Redirecionamento pré-definido"
-#: admin/app_settings.py:175
+#: core/app_settings.py:190
msgid "The default redirection used when no application is specified"
-msgstr "O redirecionamento padrão usado quando nenhuma aplicação se encontra especificada"
+msgstr ""
+"O redirecionamento padrão usado quando nenhuma aplicação se encontra "
+"especificada"
-#: admin/app_settings.py:213
+#: core/app_settings.py:218
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr "A chave deve ter tamanho de 16, 24, ou 32 bytes"
-#: admin/app_settings.py:222
+#: core/app_settings.py:227 extensions/postfix_autoreply/app_settings.py:53
msgid "Invalid syntax"
msgstr "Sintax inválida"
-#: admin/app_settings.py:245
+#: core/app_settings.py:233
+#, fuzzy
+msgid "Invalid rounds number"
+msgstr "Pedido inválido"
+
+#: core/app_settings.py:256
msgid "This field is required"
msgstr "Este campo é obrigatório"
-#: admin/forms.py:20 admin/forms.py:497 admin/tables.py:18
-msgid "Alias(es)"
-msgstr "Alias(es)"
+#: core/app_settings.py:317 extensions/amavis/app_settings.py:87
+#: extensions/amavis/templates/amavis/main_action_bar.html:29
+#: extensions/webmail/app_settings.py:73
+msgid "Display"
+msgstr "Exibir"
-#: admin/forms.py:22
-msgid ""
-"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
-"add a new input."
-msgstr "Alias(es) deste domínio. Indicar apenas um nome por entrada, pressionar ENTER para acrescentar uma nova entrada."
+#: core/app_settings.py:321
+msgid "Prefered language"
+msgstr "Idioma preferido"
-#: admin/forms.py:59
-msgid "An alias with this name already exists"
-msgstr "Já existe um alias com este nome"
+#: core/app_settings.py:326
+msgid "Prefered language to display pages"
+msgstr "Idioma preferido para exibir páginas"
-#: admin/forms.py:73
-msgid "A domain with this name already exists"
-msgstr "Este nome de domínio já existe"
-
-#: admin/forms.py:146
-msgid "Create a domain administrator"
-msgstr "Criar um administrador de domínio"
-
-#: admin/forms.py:148
-msgid "Automatically create an administrator for this domain"
-msgstr "Criar automaticamente um administrador para este domínio"
-
-#: admin/forms.py:152 admin/tables.py:12 admin/tables.py:47
-#: admin/templates/admin/editdomainform.html:13
-#: admin/templates/admin/identities_table.html:5
-#: admin/templates/admin/information.html:8
-#: extensions/sievefilters/forms.py:53
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
-msgid "Name"
-msgstr "Nome"
-
-#: admin/forms.py:154
-msgid ""
-"The administrator's name. Don't include the domain's name here, it will be "
-"automatically appended."
-msgstr "O nome do administrador. Não inclua o nome do domínio já que este será automaticamente anexado."
-
-#: admin/forms.py:160
-msgid "Create aliases"
-msgstr " Criar aliases"
-
-#: admin/forms.py:162
-msgid "Automatically create standard aliases for this domain"
-msgstr "Criar automaticamente aliases para este domínio"
-
-#: admin/forms.py:175
-msgid "Invalid format"
-msgstr "Formato inválido"
-
-#: admin/forms.py:187
-#, python-format
-msgid "User '%s' already exists"
-msgstr "O utilizador '%s' já existe"
-
-#: admin/forms.py:235
-msgid "Email address"
-msgstr "Endereço de e-mail"
-
-#: admin/forms.py:236
-msgid ""
-"The distribution list address. Use the '*' character to create a 'catchall' "
-"address (ex: *@domain.tld)."
-msgstr "Os endereços da lista de distribuição. Use o '*' para criar um endereço 'catchall' (Ex: *@domain.tld)."
-
-#: admin/forms.py:239
-msgid "Recipients"
-msgstr "Destinatários"
-
-#: admin/forms.py:240
-msgid ""
-"Mailbox(es) this alias will point to. Indicate only one address per input, "
-"press ENTER to add a new input."
-msgstr "Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um endereço por entrada, pressionar ENTER para acrescentar uma nova entrada."
-
-#: admin/forms.py:278 admin/forms.py:542 admin/forms.py:568
-msgid "Domain does not exist"
-msgstr "O domínio não existe"
-
-#: admin/forms.py:280
-msgid "You don't have access to this domain"
-msgstr "Não tem acesso a este domínio"
-
-#: admin/forms.py:300
-msgid "Invalid mailbox"
-msgstr "Caixa de correio inválida"
-
-#: admin/forms.py:316 admin/models.py:1202
-#, python-format
-msgid "Local recipient %s not found"
-msgstr "O destinatário local %s não foi encontrado"
-
-#: admin/forms.py:318 admin/forms.py:324
-#, python-format
-msgid "Recipient %s already present"
-msgstr "O destinatário %s já existe"
-
-#: admin/forms.py:329
-msgid "No recipient defined"
-msgstr "Sem destinatário definido"
-
-#: admin/forms.py:343 extensions/webmail/forms.py:19
-msgid "Select a file"
-msgstr "Escolha um ficheiro"
-
-#: admin/forms.py:345 admin/forms.py:373
-msgid "Separator"
-msgstr "Separador"
-
-#: admin/forms.py:348
-msgid "Continue on error"
-msgstr "Continua com erro"
-
-#: admin/forms.py:349
-msgid "Don't treat duplicated objects as error"
-msgstr "Não tratar objetos duplicados como erro"
-
-#: admin/forms.py:364
-msgid "Crypt passwords"
-msgstr "Passwords encriptadas"
-
-#: admin/forms.py:365
-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"
-
-#: admin/forms.py:371
-msgid "File name"
-msgstr "Nome do ficheiro"
-
-#: admin/forms.py:403 admin/templates/admin/editdomainform.html:13
-#: auth/forms.py:7
+#: core/forms.py:10 extensions/admin/forms/account.py:19
+#: extensions/admin/templates/admin/editdomainform.html:13
msgid "Username"
msgstr "Nome de Utilizador"
-#: admin/forms.py:405
-msgid "Role"
-msgstr "Papel"
-
-#: admin/forms.py:406 admin/forms.py:433
-msgid "Choose"
-msgstr "Escolher"
-
-#: admin/forms.py:407
-msgid "What level of permission this user will have"
-msgstr "Que nível de permissões terá o utilizador"
-
-#: admin/forms.py:409 auth/forms.py:11
+#: core/forms.py:14 extensions/admin/forms/account.py:30
msgid "Password"
msgstr "Password"
-#: admin/forms.py:411 userprefs/forms.py:18
+#: core/forms.py:25
+msgid "Old password"
+msgstr "Password antiga"
+
+#: core/forms.py:29
+msgid "New password"
+msgstr "Nova password"
+
+#: core/forms.py:33 extensions/admin/forms/account.py:33
msgid "Confirmation"
msgstr "Confirmação"
-#: admin/forms.py:413
-msgid "Enter the same password as above, for verification."
-msgstr "Repita a password acima, para verificação."
+#: core/forms.py:56
+msgid "Old password mismatchs"
+msgstr "Incompatibilidade da password antiga"
-#: admin/forms.py:424
-msgid "Enabled"
-msgstr "Ativo"
+#: core/forms.py:61
+msgid "Passwords mismatch"
+msgstr "Passwords não coincidem"
-#: admin/forms.py:471
-msgid "The two password fields didn't match."
-msgstr "Os dois campos de password não são idênticos."
+#: core/models.py:49
+#, fuzzy
+msgid "password"
+msgstr "Password"
-#: admin/forms.py:477
-msgid "You can't disable your own account"
-msgstr "Não pode desativar a sua própria conta"
+#: core/models.py:51
+#, fuzzy
+msgid "last login"
+msgstr "Último login"
-#: admin/forms.py:488
-msgid "E-mail"
-msgstr "E-mail"
-
-#: admin/forms.py:490
-msgid "Quota"
-msgstr "Quota"
-
-#: admin/forms.py:492
-msgid ""
-"Quota in MB for this mailbox. Define a custom value or use domain's default "
-"one. Leave empty to define an unlimited value (not allowed for domain "
-"administrators)."
-msgstr "Quota em MB para esta caixa de correio. Definir uma valor personalizado ou usar o valor predefinido pelo domínio. Deixar em branco para definir uma valor ilimitado (não permitido para administradores do domínio)."
-
-#: admin/forms.py:499
-msgid ""
-"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
-"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
-"*@domain.tld)."
-msgstr "Alias(es) desta caixa de correio. Indique apenas um endereço por entrada, clique ENTER para adicionar uma nova entrada. Use o '*' para criar um alias 'catchall' (ex: *@domain.tld)."
-
-#: admin/forms.py:550
-#, python-format
-msgid "Mailbox %s already exists"
-msgstr "Caixa de correio %s já existe"
-
-#: admin/forms.py:610
-msgid "Domain(s)"
-msgstr "Domínio(s)"
-
-#: admin/forms.py:612
-msgid "Domain(s) that user administrates"
-msgstr "Domínio(s) administrado pelo utilizador"
-
-#: admin/forms.py:654 admin/views.py:450
-msgid "Mail"
-msgstr "Correio"
-
-#: admin/forms.py:656
-msgid "Permissions"
-msgstr "Permissões"
-
-#: admin/models.py:80
+#: core/models.py:80
msgid "You can't delete your own account"
msgstr "Não pode apagar a sua própria conta"
-#: admin/models.py:161
+#: core/models.py:116
msgid "Failed to update password: LDAP module not installed"
msgstr "Falha ao actualizar password: Modulo LDAP não instalado"
-#: admin/models.py:167
-#, python-format
-msgid "Failed to update password: %s"
-msgstr "Falha ao actualizar a password: %s"
-
-#: admin/models.py:194
+#: core/models.py:169
msgid "account"
msgstr "conta"
-#: admin/models.py:496 admin/models.py:733 admin/models.py:795
+#: core/models.py:320 extensions/admin/models/domain.py:135
+#: 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"
-#: admin/models.py:500
+#: core/models.py:324
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"
-#: admin/models.py:506
+#: core/models.py:330
#, 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"
-#: admin/models.py:510
+#: core/models.py:334
#, 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'"
+msgstr ""
+"Os campos nome de utilizador e endereço de email não deve ser diferente para "
+"'%s'"
-#: admin/models.py:534
-#, python-format
-msgid "Account import failed (%s): domain does not exist"
-msgstr "Importação da conta falhou (%s): domínio não existe"
-
-#: admin/models.py:624 admin/models.py:746
-msgid "name"
-msgstr "nome"
-
-#: admin/models.py:625
-msgid "The domain name"
-msgstr "O nome do domínio"
-
-#: admin/models.py:627
-msgid "Default quota in MB applied to mailboxes"
-msgstr "Quota em MB aplicada por defeito às caixas de correio"
-
-#: admin/models.py:630 admin/models.py:753 admin/models.py:1045
-#: admin/models.py:1217 extensions/postfix_autoreply/models.py:27
+#: core/models.py:403 extensions/admin/models/alias.py:33
+#: extensions/admin/models/domain.py:32
+#: extensions/admin/models/domain_alias.py:17
+#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_relay_domains/models.py:85
+#: extensions/postfix_relay_domains/models.py:167
msgid "enabled"
msgstr "ativo"
-#: admin/models.py:631
-msgid "Check to activate this domain"
-msgstr "Marcar para ativar este domínio"
-
-#: admin/models.py:747
-msgid "The alias name"
-msgstr "O nome do 'alias'"
-
-#: admin/models.py:749
-msgid "target"
-msgstr "alvo"
-
-#: admin/models.py:750
-msgid "The domain this alias points to"
-msgstr "O domínio para o qual este alias irá apontar"
-
-#: admin/models.py:754 admin/models.py:1046
-msgid "Check to activate this alias"
-msgstr "Marcar para ativar este alias"
-
-#: admin/models.py:801
-#, python-format
-msgid "Unknown domain %s"
-msgstr "Domínio desconhecido: %s"
-
-#: admin/models.py:818 admin/models.py:1031
-msgid "address"
-msgstr "endereços"
-
-#: admin/models.py:819
-msgid "Mailbox address (without the @domain.tld part)"
-msgstr "Endereços das caixas de correio (sem a parte @domain.tld)"
-
-#: admin/models.py:877
-#, python-format
-msgid "Failed to retrieve mailbox location (%s)"
-msgstr "Falha ao recuperar a localização da caixa de correio (%s)"
-
-#: admin/models.py:921
-#, python-format
-msgid "Quota is greater than the allowed domain's limit (%dM)"
-msgstr "A quota excede o limite permitido pelo domínio (%dM)"
-
-#: admin/models.py:926
-msgid "A quota is required"
-msgstr "É necessário uma quota"
-
-#: admin/models.py:1032
-msgid ""
-"The alias address (without the domain part). For a 'catch-all' address, just"
-" enter an * character."
-msgstr "O endereço do alias (sem a parte do domínio). Para um endereço 'cath-all', digite apenas o caractere *"
-
-#: admin/models.py:1036
-msgid "mailboxes"
-msgstr "caixas de correio"
-
-#: admin/models.py:1037
-msgid "The mailboxes this alias points to"
-msgstr "As caixas de correio para onde este alias irá apontar"
-
-#: admin/models.py:1041
-msgid "The aliases this alias points to"
-msgstr "Este 'aliases' aponta para"
-
-#: admin/models.py:1089
-msgid "distribution list"
-msgstr "lista de distribuição"
-
-#: admin/models.py:1090
-msgid "forward"
-msgstr "reencaminhar"
-
-#: admin/models.py:1091
-msgid "alias"
-msgstr "alias"
-
-#: admin/models.py:1170
-#, python-format
-msgid "Invalid line: %s"
-msgstr "Linha inválida: %s"
-
-#: admin/models.py:1175
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "O domínio '%s' não existe"
-
-#: admin/models.py:1218
+#: core/models.py:404
msgid "Check to enable this extension"
msgstr "Marque para ativar esta extensão"
-#: admin/models.py:1318
+#: core/models.py:474
msgid "added"
msgstr "acrescentado"
-#: admin/models.py:1321
+#: core/models.py:477
msgid "modified"
msgstr "modificado"
-#: admin/models.py:1324
-msgid "deleted"
-msgstr "apagado"
-
-#: admin/models.py:1326
+#: core/models.py:479 core/models.py:503
#, python-format
msgid "%(object)s '%(name)s' %(action)s by user %(user)s"
msgstr "%(object)s '%(name)s' %(action)s pelo utilizador %(user)s"
-#: admin/tables.py:14
-msgid "Edit domain"
-msgstr "Editar domínio"
+#: core/models.py:505
+msgid "deleted"
+msgstr "apagado"
-#: admin/tables.py:21 admin/templates/admin/identities_table.html:8
-#: admin/templates/admin/listing.html:17 extensions/sievefilters/views.py:83
-#: extensions/sievefilters/templates/sievefilters/filter.html:17
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
-#: extensions/webmail/templatetags/webextras.py:97
-msgid "Actions"
-msgstr "Ações"
+#: core/tables.py:8 core/templates/core/information.html:8
+#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:182
+#: extensions/admin/templates/admin/domains_table.html:5
+#: extensions/admin/templates/admin/editdomainform.html:13
+#: extensions/admin/templates/admin/identities_table.html:5
+#: extensions/sievefilters/forms.py:60
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
+msgid "Name"
+msgstr "Nome"
-#: admin/tables.py:48
+#: core/tables.py:10 extensions/admin/tables.py:11
msgid "Version"
msgstr "Versão"
-#: admin/tables.py:49
+#: core/tables.py:12 extensions/admin/tables.py:13
msgid "Description"
msgstr "Descrição"
-#: admin/views.py:88
-msgid "New domain"
-msgstr "Novo domínio"
-
-#: admin/views.py:89 admin/views.py:98 admin/views.py:228 admin/views.py:444
-#: admin/views.py:451 extensions/sievefilters/views.py:129
-#: extensions/sievefilters/views.py:198 extensions/webmail/views.py:136
-msgid "Create"
-msgstr "Criar"
-
-#: admin/views.py:95 admin/views.py:448
-msgid "Next"
-msgstr "Seguinte"
-
-#: admin/views.py:97
-msgid "Options"
-msgstr "Opções"
-
-#: admin/views.py:99 admin/views.py:452
-msgid "Previous"
-msgstr "Anterior"
-
-#: admin/views.py:112
-msgid "Domain created"
-msgstr "Domínio criado"
-
-#: admin/views.py:146 admin/views.py:285 admin/views.py:498
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
-#: extensions/sievefilters/views.py:148 extensions/webmail/views.py:168
-#: userprefs/templates/userprefs/forward.html:8
-#: userprefs/templates/userprefs/profile.html:8
-msgid "Update"
-msgstr "Actualizar"
-
-#: admin/views.py:162
-msgid "Domain modified"
-msgstr "Domínio alterado"
-
-#: admin/views.py:189
-msgid "You can't delete your own domain"
-msgstr "Não é possível eliminar o seu próprio domínio"
-
-#: admin/views.py:192
-msgid "Domain deleted"
-msgid_plural "Domains deleted"
-msgstr[0] "Domínio criado"
-msgstr[1] "Domínios eliminados"
-
-#: admin/views.py:207
-msgid "Alias with this name already exists"
-msgstr "Já existe um 'alias' com este nome"
-
-#: admin/views.py:250
-msgid "New distribution list"
-msgstr "Nova lista de distribuição"
-
-#: admin/views.py:251
-msgid "Distribution list created"
-msgstr "A lista de distribuição foi criada"
-
-#: admin/views.py:260
-msgid "New alias"
-msgstr "Novo 'alias'"
-
-#: admin/views.py:261
-msgid "Alias created"
-msgstr "Alias criado"
-
-#: admin/views.py:270
-msgid "New forward"
-msgstr "Novo reencaminhamento"
-
-#: admin/views.py:271
-msgid "Forward created"
-msgstr "Reencaminhamento criado"
-
-#: admin/views.py:289
-msgid "Distribution list modified"
-msgstr "Lista de distribuição modificada"
-
-#: admin/views.py:291
-msgid "Forward modified"
-msgstr "Reencaminhamento modificado"
-
-#: admin/views.py:293
-msgid "Alias modified"
-msgstr "'Alias' modificado"
-
-#: admin/views.py:402 admin/views.py:545 admin/views.py:550
-#: extensions/amavis/views.py:204 extensions/amavis/views.py:210
-#: extensions/amavis/views.py:243 extensions/amavis/views.py:247
-#: extensions/amavis/views.py:249 extensions/webmail/views.py:41
-#: extensions/webmail/views.py:68 extensions/webmail/views.py:81
-#: extensions/webmail/views.py:98 extensions/webmail/views.py:114
-#: extensions/webmail/views.py:200 extensions/webmail/views.py:427
-#: extensions/webmail/views.py:438 extensions/webmail/views.py:465
-#: lib/formutils.py:32 lib/formutils.py:37
-msgid "Invalid request"
-msgstr "Pedido inválido"
-
-#: admin/views.py:441
-msgid "New account"
-msgstr "Nova conta"
-
-#: admin/views.py:465
-msgid "Account created"
-msgstr "Conta criada"
-
-#: admin/views.py:513
-msgid "Account updated"
-msgstr "Conta actualizada"
-
-#: admin/views.py:535
-msgid "Account deleted"
-msgid_plural "Accounts deleted"
-msgstr[0] "Conta eliminada"
-msgstr[1] "Contas eliminadas"
-
-#: admin/views.py:590
-msgid "Parameters saved"
-msgstr "Parâmetros salvos"
-
-#: admin/views.py:636
-msgid "Modifications applied."
-msgstr "Alterações efectuadas."
-
-#: admin/views.py:743
-#, python-format
-msgid "Object already exists: %s"
-msgstr "Este objeto já existe: %s"
-
-#: admin/views.py:745
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d objetos importados com sucesso"
-
-#: admin/views.py:763
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-"account; loginname; password; first name; last name; enabled; group; address[, domain, ...] \n"
-"alias; address; enabled; internal recipient \n"
-"forward; address; enabled; external recipient \n"
-"dlist; address; enabled; recipient; recipient; ... \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
-"\n"
-"You can use a different character as separator.
\n"
-msgstr "Forneça um ficheiro CSV cujas linhas respeitem um dos seguintes formatos:⏎\n⏎\naccount; loginname; password; first name; last name; enabled; group; address[, domain, ...] ⏎\nalias; address; enabled; internal recipient ⏎\nforward; address; enabled; external recipient ⏎\ndlist; address; enabled; recipient; recipient; ... ⏎\n ⏎\nO primeiro elemento de cada linha é obrigatório e deve ser igual a um dos valores anteriores..
⏎\n⏎\nPode utilizar um caractere diferente como separador.
⏎\n"
-
-#: admin/views.py:775
-msgid "Import identities"
-msgstr "Importar identidades"
-
-#: admin/views.py:776 admin/views.py:846 admin/templatetags/admin_extras.py:87
-#: admin/templatetags/admin_extras.py:144
-msgid "Import"
-msgstr "Importar"
-
-#: admin/views.py:806
-msgid "Export identities"
-msgstr "Exportar identidades"
-
-#: admin/views.py:807 admin/views.py:863 admin/templatetags/admin_extras.py:93
-#: admin/templatetags/admin_extras.py:150
-msgid "Export"
-msgstr "Exportar"
-
-#: admin/views.py:835
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-" domain; name; quota; enabled \n"
-" domainalias; name; targeted domain; enabled \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
-"You can use a different character as separator.
\n"
-msgstr "Forneça um ficheiro CSV cujas linhas respeitem um dos seguintes formatos:⏎ ⏎ domain; name; quota; enabled ⏎ domainalias; name; targeted domain; enabled ⏎ ⏎ O primeiro elemento de cada linha é obrigatório e deve ser igual a um dos valores anteriores.
⏎ Pode utilizar um caractere diferente como separador.
⏎\n"
-
-#: admin/views.py:845
-msgid "Import domains"
-msgstr "Importar domínios"
-
-#: admin/views.py:862
-msgid "Export domains"
-msgstr "Exportar domínios"
-
-#: admin/templates/admin/domain_general_form.html:3
-#: admin/templates/admin/mailform.html:3
-#: admin/templates/admin/newdomainform.html:3
-msgid "MB"
-msgstr "MB"
-
-#: admin/templates/admin/domains.html:2 admin/templatetags/admin_extras.py:23
-#: extensions/limits/app_settings.py:19 extensions/limits/forms.py:16
-#: extensions/limits/models.py:12
-msgid "Domains"
-msgstr "Domínios"
-
-#: admin/templates/admin/editdomainform.html:4
-msgid "Administrators"
-msgstr "Administradores"
-
-#: admin/templates/admin/editdomainform.html:19
-msgid "No domain administrator defined"
-msgstr "Nenhum administrador de domínio definido"
-
-#: admin/templates/admin/editdomainform.html:22
-msgid "Creation date"
-msgstr "Data de criação"
-
-#: admin/templates/admin/editdomainform.html:23
-msgid "Last modification date"
-msgstr "Data da última modificação"
-
-#: admin/templates/admin/editdomainform.html:24
-#: extensions/limits/app_settings.py:25 extensions/limits/forms.py:20
-#: extensions/limits/models.py:13
-msgid "Domain aliases"
-msgstr "Aliases de domínio"
-
-#: admin/templates/admin/editdomainform.html:26
-#: extensions/limits/app_settings.py:37 extensions/limits/forms.py:28
-#: extensions/limits/models.py:15
-msgid "Mailbox aliases"
-msgstr "Aliases para caixas de correio"
-
-#: admin/templates/admin/extensions.html:2
-#: admin/templatetags/admin_extras.py:51
+#: core/templates/core/extensions.html:2 core/templatetags/core_tags.py:48
msgid "Extensions"
msgstr "Extras"
-#: admin/templates/admin/extensions.html:2
+#: core/templates/core/extensions.html:2
msgid "Choose the extension(s) to use"
msgstr "Escolher a(s) extensões a usar "
-#: admin/templates/admin/extensions.html:6
-#: admin/templates/admin/parameters.html:8
-#: userprefs/templates/userprefs/preferences.html:8
+#: core/templates/core/extensions.html:6 core/templates/core/parameters.html:7
+#: core/templates/core/user_preferences.html:8
msgid "Save"
msgstr "Guardar"
-#: admin/templates/admin/identities.html:2
-#: admin/templatetags/admin_extras.py:31
-msgid "Identities"
-msgstr "Identidades"
-
-#: admin/templates/admin/identities_table.html:6
-msgid "Fullname/Recipient"
-msgstr "Nome Completo / Destinatário"
-
-#: admin/templates/admin/identities_table.html:7
-msgid "Tags"
-msgstr "Tags"
-
-#: admin/templates/admin/importform.html:5
-#: admin/templatetags/admin_extras.py:290
-msgid "Help"
-msgstr "Ajuda"
-
-#: admin/templates/admin/importform.html:12
-msgid "Importing..."
-msgstr "A importar..."
-
-#: admin/templates/admin/information.html:2
-#: admin/templatetags/admin_extras.py:56
+#: core/templates/core/information.html:2 core/templatetags/core_tags.py:53
msgid "Information"
msgstr "Informação"
-#: admin/templates/admin/information.html:2
+#: core/templates/core/information.html:2
msgid "Various information about Modoboa"
msgstr "Informações variadas sobre Modoboa"
-#: admin/templates/admin/information.html:3
+#: core/templates/core/information.html:3
msgid "is currently in use."
msgstr "está de momento em uso."
-#: admin/templates/admin/information.html:5
+#: core/templates/core/information.html:5
msgid "Active users"
msgstr "Utilizadores ativos"
-#: admin/templates/admin/information.html:9
+#: core/templates/core/information.html:9
msgid "Group name"
msgstr "Nome do grupo"
-#: admin/templates/admin/information.html:10
+#: core/templates/core/information.html:10
msgid "Last login"
msgstr "Último login"
-#: admin/templates/admin/listing.html:14
-#: extensions/stats/templates/stats/index.html:28
-msgid "Filter"
-msgstr "Filtro"
-
-#: admin/templates/admin/logs.html:2 admin/templatetags/admin_extras.py:60
+#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:57
msgid "Logs"
msgstr "Logs"
-#: admin/templates/admin/logs.html:2
+#: core/templates/core/logs.html:2
msgid "Previously on Modoboa..."
msgstr "Anteriormente no Modoboa..."
-#: admin/templates/admin/logs.html:6 extensions/amavis/sql_listing.py:25
-#: extensions/webmail/lib.py:38 extensions/webmail/lib.py:411
+#: core/templates/core/logs.html:6 extensions/amavis/sql_listing.py:46
+#: extensions/webmail/lib.py:48 extensions/webmail/lib.py:425
msgid "Date"
msgstr "Data"
-#: admin/templates/admin/logs.html:7
+#: core/templates/core/logs.html:7
msgid "Level"
msgstr "Nível"
-#: admin/templates/admin/logs.html:8
+#: core/templates/core/logs.html:8
msgid "Logger"
msgstr "Logger"
-#: admin/templates/admin/logs.html:9
+#: core/templates/core/logs.html:9
msgid "Message"
msgstr "Mensagem"
-#: admin/templates/admin/mailboxes_raw.html:3
-msgid "Choose a value"
-msgstr "Escolha um valor"
-
-#: admin/templates/admin/mailform.html:3
-msgid "Use domain default value"
-msgstr "Usar um valor padrão de domínio"
-
-#: admin/templates/admin/parameters.html:3
-#: admin/templatetags/admin_extras.py:65
+#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:62
msgid "Parameters"
msgstr "Parâmetros"
-#: admin/templates/admin/parameters.html:3
+#: core/templates/core/parameters.html:2
msgid "Configure Modoboa"
msgstr "Configurar Modoboa"
-#: admin/templates/admin/quotas.html:5
-msgid "Address"
-msgstr "Endereço"
-
-#: admin/templates/admin/quotas.html:6
-msgid "Value"
-msgstr "Valor"
-
-#: admin/templates/admin/quotas.html:7
-msgid "Limit"
-msgstr "Limite"
-
-#: admin/templates/admin/quotas.html:8
-#, python-format
-msgid "Usage (%%)"
-msgstr "Utilização (%%)"
-
-#: admin/templates/admin/searchform.html:6
-msgid "Search"
-msgstr "Procurar"
-
-#: admin/templates/admin/settings_header.html:3
+#: core/templates/core/settings_header.html:3
msgid "Modoboa settings"
msgstr "Definições do Modoboa"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_m"
-msgstr "enabled_m"
+#: core/templates/core/user_index.html:2 core/templatetags/core_tags.py:81
+msgid "Settings"
+msgstr "Definições"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_f"
-msgstr "enabled_f"
+#: core/templates/core/user_preferences.html:2
+#: core/templatetags/core_tags.py:108
+msgid "Preferences"
+msgstr "Preferências"
-#: admin/templatetags/admin_extras.py:36
+#: core/templates/core/user_preferences.html:2
+msgid "Customize Modoboa"
+msgstr "Personalizar Modoboa"
+
+#: core/templates/core/user_profile.html:2 core/templatetags/core_tags.py:104
+msgid "Profile"
+msgstr "Perfil"
+
+#: core/templates/core/user_profile.html:2
+msgid "Update your personal information"
+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:107 extensions/admin/views/domain.py:165
+#: extensions/admin/views/identity.py:197
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
+#: extensions/postfix_relay_domains/views.py:63
+#: extensions/sievefilters/views.py:163 extensions/webmail/views.py:170
+#: extensions/webmail/views.py:205
+msgid "Update"
+msgstr "Actualizar"
+
+#: core/templatetags/core_tags.py:21
msgid "Modoboa"
msgstr "Modoboa"
-#: admin/templatetags/admin_extras.py:81
-msgid "Add domain"
-msgstr "Adicionar domínio"
+#: core/templatetags/core_tags.py:90
+msgid "Logout"
+msgstr "Sair"
-#: admin/templatetags/admin_extras.py:110
-msgid "List identities"
-msgstr "Listar identidades"
+#: core/views/admin.py:47
+msgid "Parameters saved"
+msgstr "Parâmetros salvos"
-#: admin/templatetags/admin_extras.py:115
-msgid "List quotas"
-msgstr "Listar as quotas"
+#: core/views/admin.py:90
+msgid "Modifications applied."
+msgstr "Alterações efectuadas."
-#: admin/templatetags/admin_extras.py:120
-msgid "Add account"
-msgstr "Adicionar conta"
-
-#: admin/templatetags/admin_extras.py:126
-msgid "Add alias"
-msgstr "Adicionar 'alias'"
-
-#: admin/templatetags/admin_extras.py:132
-msgid "Add forward"
-msgstr "Adicionar reencaminhamento"
-
-#: admin/templatetags/admin_extras.py:138
-msgid "Add distribution list"
-msgstr "Adicionar lista de distribuição"
-
-#: admin/templatetags/admin_extras.py:171
-msgid "View the domain's identities"
-msgstr "Visualizar as identidades do domínio"
-
-#: admin/templatetags/admin_extras.py:178
-#: admin/templatetags/admin_extras.py:194
-#: admin/templatetags/admin_extras.py:201
-#, python-format
-msgid "Delete %s?"
-msgstr "Eliminar %s?"
-
-#: admin/templatetags/admin_extras.py:223
-msgid "Remove this permission"
-msgstr "Remover esta permissão"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "Yes"
-msgstr "Sim"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "No"
-msgstr "Não"
-
-#: auth/views.py:32
+#: core/views/auth.py:30
#, python-format
msgid "User '%s' successfully logged in"
msgstr "O utilizador '%s' fez login com sucesso"
-#: auth/views.py:44
+#: core/views/auth.py:43
msgid "Your username and password didn't match. Please try again."
msgstr "O seu nome de utilizador"
-#: auth/views.py:67
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' logged out"
msgstr "O utilizador '%s' fez logout"
+#: core/views/user.py:35
+msgid "Profile updated"
+msgstr "Perfil atualizado"
+
+#: core/views/user.py:58
+msgid "Preferences saved"
+msgstr "Preferências salvas"
+
#: demo/__init__.py:17
msgid "Test messages"
msgstr "Mensagens de teste"
@@ -1104,7 +574,7 @@ msgstr "Enviar vírus"
msgid "Send spam"
msgstr "Enviar spam"
-#: demo/views.py:17 demo/views.py:41
+#: demo/views.py:18 demo/views.py:43
msgid "Message sent"
msgstr "Mensagem enviada"
@@ -1113,37 +583,877 @@ msgid ""
"\n"
"Welcome to the online demo! \n"
"Warning: the demo's concent is resetted every two hours.
\n"
-"To try the demo, the following users are available (username/password ):
\n"
+"To try the demo, the following users are available (username/password"
+"i>):
\n"
"\n"
" A super administrator : admin/password \n"
" A domain administrator : admin@demo.local/admin \n"
" A simple user : user@demo.local/user \n"
" \n"
"Please report any issue or give any suggestion to \n"
-" the mailing list .
\n"
-msgstr "\nBem-vindo à demo online! \nAviso: os conteúdos desta demo são limpos a cada duas horas.
\nPara experimentar a demo, estão disponíveis os seguintes utilizadores (username/password ):
\n\n Super administrador: admin/password \n Administrador de domínio: admin@demo.local/admin \n Utilizador básico: user@demo.local/user \n \nPara reportar qualquer problema ou apresentar uma sugestão, utilize o seguinte link \n mailing list .
\n"
+" the "
+"mailing list .\n"
+msgstr ""
+"\n"
+"Bem-vindo à demo online! \n"
+"Aviso: os conteúdos desta demo são limpos a cada duas horas.
\n"
+"Para experimentar a demo, estão disponíveis os seguintes utilizadores "
+"(username/password ):
\n"
+"\n"
+" Super administrador: admin/password \n"
+" Administrador de domínio: admin@demo.local/admin \n"
+" Utilizador básico: user@demo.local/user \n"
+" \n"
+"Para reportar qualquer problema ou apresentar uma sugestão, utilize o "
+"seguinte link \n"
+" mailing "
+"list .
\n"
-#: extensions/amavis/__init__.py:22
+#: extensions/admin/__init__.py:48
+msgid "Administration console"
+msgstr "Consola de Administração"
+
+#: extensions/admin/__init__.py:50
+msgid "Web based console to manage domains, accounts and aliases"
+msgstr "Consola baseada na web para gestão de domínios, contas e aliases"
+
+#: extensions/admin/__init__.py:55
+#, fuzzy
+msgid "Administration"
+msgstr "Administradores"
+
+#: extensions/admin/__init__.py:79
+#: extensions/admin/templates/admin/domains.html:2
+#: extensions/limits/app_settings.py:19 extensions/limits/models.py:17
+msgid "Domains"
+msgstr "Domínios"
+
+#: extensions/admin/__init__.py:85
+#: extensions/admin/templates/admin/identities.html:2
+msgid "Identities"
+msgstr "Identidades"
+
+#: extensions/admin/__init__.py:100
+#: extensions/admin/templates/admin/forward.html:2
+#: extensions/webmail/templatetags/webmail_tags.py:28
+msgid "Forward"
+msgstr "Reencaminhar"
+
+#: extensions/admin/__init__.py:163
+#, python-format
+msgid "Account import failed (%s): domain does not exist"
+msgstr "Importação da conta falhou (%s): domínio não existe"
+
+#: extensions/admin/app_settings.py:11
+#: extensions/admin/templates/admin/editdomainform.html:25
+#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
+#: extensions/webmail/app_settings.py:101
+#: extensions/webmail/templates/webmail/folders.html:4
+msgid "Mailboxes"
+msgstr "Caixas de Correio"
+
+#: extensions/admin/app_settings.py:14
+msgid "Handle mailboxes on filesystem"
+msgstr "Lidar com caixas de correio no sistema de ficheiros"
+
+#: extensions/admin/app_settings.py:16
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Renomear ou remover as caixas de correio no sistema de ficheiros quando "
+"estas são renomeadas no Modoboa"
+
+#: extensions/admin/app_settings.py:20
+msgid "Mailboxes ower"
+msgstr "Detentor das Caixas de Correio (Owner)"
+
+#: extensions/admin/app_settings.py:22
+msgid "The UNIX account who owns mailboxes on the filesystem"
+msgstr "A conta UNIX que detém as caixas de correio no sistema de ficheiros"
+
+#: extensions/admin/app_settings.py:26
+#, fuzzy
+msgid "Default domain quota"
+msgstr "Limites predefinidos"
+
+#: extensions/admin/app_settings.py:29
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+
+#: extensions/admin/app_settings.py:36
+msgid "Automatic account removal"
+msgstr "Remoção automática de conta"
+
+#: extensions/admin/app_settings.py:38
+msgid "When a mailbox is removed, also remove the associated account"
+msgstr ""
+"Ao remover uma caixa de correio estará também a remover a conta associada"
+
+#: extensions/admin/app_settings.py:64 extensions/admin/forms/account.py:177
+#: extensions/admin/forms/domain.py:56
+msgid "Must be a positive integer"
+msgstr ""
+
+#: extensions/admin/lib.py:28
+#, fuzzy
+msgid "A mailbox is required"
+msgstr "É necessário uma quota"
+
+#: extensions/admin/forms/account.py:21
+#, fuzzy
+msgid "The user's name. Must be a valid e-mail address for simple users."
+msgstr "O simple utilizador '%s' deve ter endereço de e-mail válido"
+
+#: extensions/admin/forms/account.py:25
+msgid "Role"
+msgstr "Papel"
+
+#: extensions/admin/forms/account.py:26 extensions/admin/forms/account.py:54
+msgid "Choose"
+msgstr "Escolher"
+
+#: extensions/admin/forms/account.py:27
+msgid "What level of permission this user will have"
+msgstr "Que nível de permissões terá o utilizador"
+
+#: extensions/admin/forms/account.py:35
+msgid "Enter the same password as above, for verification."
+msgstr "Repita a password acima, para verificação."
+
+#: extensions/admin/forms/account.py:46
+msgid "Enabled"
+msgstr "Ativo"
+
+#: extensions/admin/forms/account.py:93
+msgid "The two password fields didn't match."
+msgstr "Os dois campos de password não são idênticos."
+
+#: extensions/admin/forms/account.py:99
+msgid "You can't disable your own account"
+msgstr "Não pode desativar a sua própria conta"
+
+#: extensions/admin/forms/account.py:110
+msgid "E-mail"
+msgstr "E-mail"
+
+#: extensions/admin/forms/account.py:112 extensions/admin/forms/domain.py:17
+msgid "Quota"
+msgstr "Quota"
+
+#: extensions/admin/forms/account.py:114
+msgid ""
+"Quota in MB for this mailbox. Define a custom value or use domain's default "
+"one. Leave empty to define an unlimited value (not allowed for domain "
+"administrators)."
+msgstr ""
+"Quota em MB para esta caixa de correio. Definir uma valor personalizado ou "
+"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:122 extensions/admin/forms/domain.py:26
+#: extensions/admin/templates/admin/domains_table.html:6
+#: extensions/postfix_relay_domains/forms.py:12
+msgid "Alias(es)"
+msgstr "Alias(es)"
+
+#: extensions/admin/forms/account.py:125
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+"*@domain.tld)."
+msgstr ""
+"Alias(es) desta caixa de correio. Indique apenas um endereço por entrada, "
+"clique ENTER para adicionar uma nova entrada. Use o '*' para criar um alias "
+"'catchall' (ex: *@domain.tld)."
+
+#: extensions/admin/forms/account.py:186 extensions/admin/forms/account.py:216
+#: extensions/admin/forms/alias.py:65
+msgid "Domain does not exist"
+msgstr "O domínio não existe"
+
+#: extensions/admin/forms/account.py:195
+#, python-format
+msgid "Mailbox %s already exists"
+msgstr "Caixa de correio %s já existe"
+
+#: extensions/admin/forms/account.py:283
+msgid "Domain(s)"
+msgstr "Domínio(s)"
+
+#: extensions/admin/forms/account.py:285
+msgid "Domain(s) that user administrates"
+msgstr "Domínio(s) administrado pelo utilizador"
+
+#: extensions/admin/forms/account.py:327
+#: extensions/admin/views/identity.py:130
+msgid "Mail"
+msgstr "Correio"
+
+#: extensions/admin/forms/account.py:329
+msgid "Permissions"
+msgstr "Permissões"
+
+#: extensions/admin/forms/alias.py:16
+msgid "Email address"
+msgstr "Endereço de e-mail"
+
+#: extensions/admin/forms/alias.py:18
+msgid ""
+"The distribution list address. Use the '*' character to create a 'catchall' "
+"address (ex: *@domain.tld)."
+msgstr ""
+"Os endereços da lista de distribuição. Use o '*' para criar um endereço "
+"'catchall' (Ex: *@domain.tld)."
+
+#: extensions/admin/forms/alias.py:23
+msgid "Recipients"
+msgstr "Destinatários"
+
+#: extensions/admin/forms/alias.py:25
+msgid ""
+"Mailbox(es) this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um "
+"endereço por entrada, pressionar ENTER para acrescentar uma nova entrada."
+
+#: extensions/admin/forms/alias.py:68
+msgid "You don't have access to this domain"
+msgstr "Não tem acesso a este domínio"
+
+#: extensions/admin/forms/alias.py:90
+msgid "Invalid mailbox"
+msgstr "Caixa de correio inválida"
+
+#: extensions/admin/forms/alias.py:108 extensions/admin/models/alias.py:182
+#, python-format
+msgid "Local recipient %s not found"
+msgstr "O destinatário local %s não foi encontrado"
+
+#: extensions/admin/forms/alias.py:112 extensions/admin/forms/alias.py:120
+#, python-format
+msgid "Recipient %s already present"
+msgstr "O destinatário %s já existe"
+
+#: extensions/admin/forms/alias.py:126
+msgid "No recipient defined"
+msgstr "Sem destinatário definido"
+
+#: extensions/admin/forms/domain.py:20
+#, fuzzy
+msgid ""
+"Default quota in MB applied to mailboxes. Leave empty to use the default "
+"value."
+msgstr "Quota em MB aplicada por defeito às caixas de correio"
+
+#: extensions/admin/forms/domain.py:29
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+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
+#, fuzzy
+msgid "domain alias"
+msgstr "Aliases de domínio"
+
+#: extensions/admin/forms/domain.py:82 extensions/admin/forms/domain.py:98
+#: 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 "Já existe um 'alias' com este nome"
+
+#: extensions/admin/forms/domain.py:92
+#: extensions/postfix_relay_domains/forms.py:49
+#: extensions/postfix_relay_domains/forms.py:71
+#, fuzzy
+msgid "domain"
+msgstr "Domínios"
+
+#: extensions/admin/forms/domain.py:176
+msgid "Create a domain administrator"
+msgstr "Criar um administrador de domínio"
+
+#: extensions/admin/forms/domain.py:178
+msgid "Automatically create an administrator for this domain"
+msgstr "Criar automaticamente um administrador para este domínio"
+
+#: extensions/admin/forms/domain.py:185
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"O nome do administrador. Não inclua o nome do domínio já que este será "
+"automaticamente anexado."
+
+#: extensions/admin/forms/domain.py:193
+msgid "Create aliases"
+msgstr " Criar aliases"
+
+#: extensions/admin/forms/domain.py:195
+msgid "Automatically create standard aliases for this domain"
+msgstr "Criar automaticamente aliases para este domínio"
+
+#: extensions/admin/forms/domain.py:211
+msgid "Invalid format"
+msgstr "Formato inválido"
+
+#: extensions/admin/forms/domain.py:225
+#, python-format
+msgid "User '%s' already exists"
+msgstr "O utilizador '%s' já existe"
+
+#: extensions/admin/forms/export.py:7
+msgid "File name"
+msgstr "Nome do ficheiro"
+
+#: extensions/admin/forms/export.py:10 extensions/admin/forms/import_.py:8
+msgid "Separator"
+msgstr "Separador"
+
+#: extensions/admin/forms/forward.py:12
+msgid "Recipient(s)"
+msgstr "Destinatário(s)"
+
+#: extensions/admin/forms/forward.py:15
+msgid "Indicate one or more recipients separated by a ','"
+msgstr "Indicar um ou mais destinatários separados por ','"
+
+#: extensions/admin/forms/forward.py:18
+msgid "Keep local copies"
+msgstr "Conservar cópias locais"
+
+#: extensions/admin/forms/forward.py:20
+msgid "Forward messages and store copies into your local mailbox"
+msgstr ""
+"Reencaminhar mensagens e armazenar cópias na sua caixa de correio local"
+
+#: extensions/admin/forms/forward.py:38
+msgid ""
+"You can't define a forward to a local destination. Please ask your "
+"administrator to create an alias instead."
+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:26
+msgid "Select a file"
+msgstr "Escolha um ficheiro"
+
+#: extensions/admin/forms/import_.py:11
+msgid "Continue on error"
+msgstr "Continua com erro"
+
+#: extensions/admin/forms/import_.py:12
+msgid "Don't treat duplicated objects as error"
+msgstr "Não tratar objetos duplicados como erro"
+
+#: extensions/admin/forms/import_.py:27
+msgid "Crypt passwords"
+msgstr "Passwords encriptadas"
+
+#: extensions/admin/forms/import_.py:28
+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:16 extensions/admin/models/mailbox.py:51
+msgid "address"
+msgstr "endereços"
+
+#: extensions/admin/models/alias.py:18
+msgid ""
+"The alias address (without the domain part). For a 'catch-all' address, just "
+"enter an * character."
+msgstr ""
+"O endereço do alias (sem a parte do domínio). Para um endereço 'cath-all', "
+"digite apenas o caractere *"
+
+#: extensions/admin/models/alias.py:24
+msgid "mailboxes"
+msgstr "caixas de correio"
+
+#: extensions/admin/models/alias.py:25
+msgid "The mailboxes this alias points to"
+msgstr "As caixas de correio para onde este alias irá apontar"
+
+#: extensions/admin/models/alias.py:29
+msgid "The aliases this alias points to"
+msgstr "Este 'aliases' aponta para"
+
+#: extensions/admin/models/alias.py:34
+#: extensions/admin/models/domain_alias.py:18
+#: extensions/postfix_relay_domains/models.py:168
+msgid "Check to activate this alias"
+msgstr "Marcar para ativar este alias"
+
+#: extensions/admin/models/alias.py:79
+msgid "distribution list"
+msgstr "lista de distribuição"
+
+#: extensions/admin/models/alias.py:80
+msgid "forward"
+msgstr "reencaminhar"
+
+#: extensions/admin/models/alias.py:81
+msgid "alias"
+msgstr "alias"
+
+#: extensions/admin/models/alias.py:150
+#, python-format
+msgid "Invalid line: %s"
+msgstr "Linha inválida: %s"
+
+#: extensions/admin/models/alias.py:155
+#, python-format
+msgid "Domain '%s' does not exist"
+msgstr "O domínio '%s' não existe"
+
+#: extensions/admin/models/domain.py:28
+#: extensions/admin/models/domain_alias.py:10
+#: extensions/postfix_relay_domains/models.py:58
+#: extensions/postfix_relay_domains/models.py:76
+#: extensions/postfix_relay_domains/models.py:159
+msgid "name"
+msgstr "nome"
+
+#: extensions/admin/models/domain.py:29
+#: extensions/postfix_relay_domains/models.py:77
+msgid "The domain name"
+msgstr "O nome do domínio"
+
+#: extensions/admin/models/domain.py:33
+#: extensions/postfix_relay_domains/models.py:86
+msgid "Check to activate this domain"
+msgstr "Marcar para ativar este domínio"
+
+#: extensions/admin/models/domain.py:61
+#, fuzzy
+msgid "Domain"
+msgstr "Domínios"
+
+#: extensions/admin/models/domain.py:140
+#, python-format
+msgid "Invalid quota value for domain '%s'"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:11
+#: extensions/postfix_relay_domains/models.py:160
+msgid "The alias name"
+msgstr "O nome do 'alias'"
+
+#: extensions/admin/models/domain_alias.py:13
+#: extensions/postfix_relay_domains/models.py:163
+msgid "target"
+msgstr "alvo"
+
+#: extensions/admin/models/domain_alias.py:14
+msgid "The domain this alias points to"
+msgstr "O domínio para o qual este alias irá apontar"
+
+#: extensions/admin/models/domain_alias.py:46
+#, fuzzy, python-format
+msgid "A domain %s already exists"
+msgstr "Caixa de correio %s já existe"
+
+#: extensions/admin/models/domain_alias.py:51
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Domínio desconhecido: %s"
+
+#: extensions/admin/models/mailbox.py:52
+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:113
+#, 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:173
+#, 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:178
+msgid "A quota is required"
+msgstr "É necessário uma quota"
+
+#: extensions/admin/templates/admin/domain_general_form.html:3
+#: extensions/admin/templates/admin/mailform.html:3
+#: extensions/admin/templates/admin/newdomainform.html:3
+msgid "MB"
+msgstr "MB"
+
+#: extensions/admin/templates/admin/domain_options_form.html:5
+#, fuzzy
+msgid "You can't create a new domain administrator"
+msgstr "Criar um administrador de domínio"
+
+#: extensions/admin/templates/admin/domains_table.html:7
+#: extensions/admin/templates/admin/identities_table.html:7
+msgid "Tags"
+msgstr "Tags"
+
+#: extensions/admin/templates/admin/domains_table.html:8
+#: extensions/admin/templates/admin/identities_table.html:8
+#: extensions/admin/templates/admin/listing.html:17
+#: extensions/sievefilters/views.py:93
+#: extensions/sievefilters/templates/sievefilters/filter.html:17
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
+#: extensions/webmail/templatetags/webmail_tags.py:101
+msgid "Actions"
+msgstr "Ações"
+
+#: extensions/admin/templates/admin/editdomainform.html:4
+msgid "Administrators"
+msgstr "Administradores"
+
+#: extensions/admin/templates/admin/editdomainform.html:19
+msgid "No domain administrator defined"
+msgstr "Nenhum administrador de domínio definido"
+
+#: extensions/admin/templates/admin/editdomainform.html:22
+msgid "Creation date"
+msgstr "Data de criação"
+
+#: extensions/admin/templates/admin/editdomainform.html:23
+msgid "Last modification date"
+msgstr "Data da última modificação"
+
+#: extensions/admin/templates/admin/editdomainform.html:24
+#: extensions/limits/app_settings.py:25 extensions/limits/models.py:20
+msgid "Domain aliases"
+msgstr "Aliases de domínio"
+
+#: extensions/admin/templates/admin/editdomainform.html:26
+#: extensions/limits/app_settings.py:37 extensions/limits/models.py:25
+msgid "Mailbox aliases"
+msgstr "Aliases para caixas de correio"
+
+#: extensions/admin/templates/admin/forward.html:2
+msgid "Automatically forward emails to another address"
+msgstr "Reenviar automaticamente e-mails para outro endereço"
+
+#: extensions/admin/templates/admin/identities_table.html:6
+msgid "Fullname/Recipient"
+msgstr "Nome Completo / Destinatário"
+
+#: extensions/admin/templates/admin/importform.html:5
+msgid "Help"
+msgstr "Ajuda"
+
+#: extensions/admin/templates/admin/importform.html:12
+msgid "Importing..."
+msgstr "A importar..."
+
+#: extensions/admin/templates/admin/listing.html:14
+#: extensions/stats/templates/stats/index.html:28
+msgid "Filter"
+msgstr "Filtro"
+
+#: extensions/admin/templates/admin/mailboxes_raw.html:3
+msgid "Choose a value"
+msgstr "Escolha um valor"
+
+#: extensions/admin/templates/admin/mailform.html:3
+msgid "Use domain default value"
+msgstr "Usar um valor padrão de domínio"
+
+#: extensions/admin/templates/admin/quotas.html:5
+msgid "Address"
+msgstr "Endereço"
+
+#: extensions/admin/templates/admin/quotas.html:6
+msgid "Value"
+msgstr "Valor"
+
+#: extensions/admin/templates/admin/quotas.html:7
+msgid "Limit"
+msgstr "Limite"
+
+#: extensions/admin/templates/admin/quotas.html:8
+#, python-format
+msgid "Usage (%%)"
+msgstr "Utilização (%%)"
+
+#: extensions/admin/templates/admin/searchform.html:6
+msgid "Search"
+msgstr "Procurar"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_m"
+msgstr "enabled_m"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_f"
+msgstr "enabled_f"
+
+#: extensions/admin/templatetags/admin_tags.py:33
+msgid "Add domain"
+msgstr "Adicionar domínio"
+
+#: extensions/admin/templatetags/admin_tags.py:42
+#: extensions/admin/templatetags/admin_tags.py:106
+#: extensions/admin/views/import.py:51 extensions/admin/views/import.py:166
+msgid "Import"
+msgstr "Importar"
+
+#: extensions/admin/templatetags/admin_tags.py:48
+#: extensions/admin/templatetags/admin_tags.py:112
+#: extensions/admin/views/export.py:38 extensions/admin/views/export.py:64
+msgid "Export"
+msgstr "Exportar"
+
+#: extensions/admin/templatetags/admin_tags.py:72
+msgid "List identities"
+msgstr "Listar identidades"
+
+#: extensions/admin/templatetags/admin_tags.py:77
+msgid "List quotas"
+msgstr "Listar as quotas"
+
+#: extensions/admin/templatetags/admin_tags.py:82
+msgid "Add account"
+msgstr "Adicionar conta"
+
+#: extensions/admin/templatetags/admin_tags.py:88
+msgid "Add alias"
+msgstr "Adicionar 'alias'"
+
+#: extensions/admin/templatetags/admin_tags.py:94
+msgid "Add forward"
+msgstr "Adicionar reencaminhamento"
+
+#: extensions/admin/templatetags/admin_tags.py:100
+msgid "Add distribution list"
+msgstr "Adicionar lista de distribuição"
+
+#: extensions/admin/templatetags/admin_tags.py:133
+msgid "View the domain's identities"
+msgstr "Visualizar as identidades do domínio"
+
+#: extensions/admin/templatetags/admin_tags.py:143
+#: extensions/admin/templatetags/admin_tags.py:162
+#: extensions/admin/templatetags/admin_tags.py:169
+#: extensions/postfix_relay_domains/general_callbacks.py:84
+#, python-format
+msgid "Delete %s?"
+msgstr "Eliminar %s?"
+
+#: extensions/admin/templatetags/admin_tags.py:239
+msgid "Remove this permission"
+msgstr "Remover esta permissão"
+
+#: extensions/admin/views/alias.py:25
+msgid "Alias with this name already exists"
+msgstr "Já existe um 'alias' com este nome"
+
+#: extensions/admin/views/alias.py:49 extensions/admin/views/domain.py:100
+#: extensions/admin/views/domain.py:129 extensions/admin/views/identity.py:131
+#: extensions/admin/views/identity.py:158
+#: extensions/postfix_relay_domains/views.py:32
+#: extensions/sievefilters/views.py:141 extensions/sievefilters/views.py:230
+#: extensions/webmail/views.py:151
+msgid "Create"
+msgstr "Criar"
+
+#: extensions/admin/views/alias.py:61
+msgid "New distribution list"
+msgstr "Nova lista de distribuição"
+
+#: extensions/admin/views/alias.py:62
+msgid "Distribution list created"
+msgstr "A lista de distribuição foi criada"
+
+#: extensions/admin/views/alias.py:71
+msgid "New alias"
+msgstr "Novo 'alias'"
+
+#: extensions/admin/views/alias.py:72
+msgid "Alias created"
+msgstr "Alias criado"
+
+#: extensions/admin/views/alias.py:81
+msgid "New forward"
+msgstr "Novo reencaminhamento"
+
+#: extensions/admin/views/alias.py:82
+msgid "Forward created"
+msgstr "Reencaminhamento criado"
+
+#: extensions/admin/views/alias.py:95
+msgid "Distribution list modified"
+msgstr "Lista de distribuição modificada"
+
+#: extensions/admin/views/alias.py:97
+msgid "Forward modified"
+msgstr "Reencaminhamento modificado"
+
+#: extensions/admin/views/alias.py:99
+msgid "Alias modified"
+msgstr "'Alias' modificado"
+
+#: extensions/admin/views/domain.py:96 extensions/admin/views/identity.py:128
+msgid "Next"
+msgstr "Seguinte"
+
+#: extensions/admin/views/domain.py:99
+msgid "Options"
+msgstr "Opções"
+
+#: extensions/admin/views/domain.py:101 extensions/admin/views/identity.py:132
+msgid "Previous"
+msgstr "Anterior"
+
+#: extensions/admin/views/domain.py:123
+msgid "Domain created"
+msgstr "Domínio criado"
+
+#: extensions/admin/views/domain.py:128
+msgid "New domain"
+msgstr "Novo domínio"
+
+#: extensions/admin/views/domain.py:155
+msgid "Domain modified"
+msgstr "Domínio alterado"
+
+#: extensions/admin/views/domain.py:189
+msgid "You can't delete your own domain"
+msgstr "Não é possível eliminar o seu próprio domínio"
+
+#: extensions/admin/views/domain.py:192
+msgid "Domain deleted"
+msgid_plural "Domains deleted"
+msgstr[0] "Domínio criado"
+msgstr[1] "Domínios eliminados"
+
+#: extensions/admin/views/export.py:37
+msgid "Export identities"
+msgstr "Exportar identidades"
+
+#: extensions/admin/views/export.py:63
+msgid "Export domains"
+msgstr "Exportar domínios"
+
+#: extensions/admin/views/identity.py:103
+#: extensions/admin/views/identity.py:224
+#: extensions/admin/views/identity.py:229 extensions/amavis/views.py:179
+#: extensions/amavis/views.py:185 extensions/amavis/views.py:220
+#: extensions/amavis/views.py:224 extensions/amavis/views.py:226
+#: extensions/webmail/views.py:47 extensions/webmail/views.py:65
+#: extensions/webmail/views.py:79 extensions/webmail/views.py:97
+#: extensions/webmail/views.py:114 extensions/webmail/views.py:200
+#: extensions/webmail/views.py:223 extensions/webmail/views.py:396
+#: extensions/webmail/views.py:430 extensions/webmail/views.py:443
+#: extensions/webmail/views.py:472 extensions/webmail/views.py:513
+#: lib/formutils.py:44 lib/formutils.py:49
+msgid "Invalid request"
+msgstr "Pedido inválido"
+
+#: extensions/admin/views/identity.py:149
+msgid "Account created"
+msgstr "Conta criada"
+
+#: extensions/admin/views/identity.py:155
+msgid "New account"
+msgstr "Nova conta"
+
+#: extensions/admin/views/identity.py:190
+msgid "Account updated"
+msgstr "Conta actualizada"
+
+#: extensions/admin/views/identity.py:214
+msgid "Account deleted"
+msgid_plural "Accounts deleted"
+msgstr[0] "Conta eliminada"
+msgstr[1] "Contas eliminadas"
+
+#: extensions/admin/views/import.py:39
+#, fuzzy, python-format
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Forneça um ficheiro CSV cujas linhas respeitem um dos seguintes formatos:⏎ "
+"⏎ domain; name; quota; enabled ⏎ domainalias; "
+"name; targeted domain; enabled ⏎ ⏎ O primeiro elemento de "
+"cada linha é obrigatório e deve ser igual a um dos valores anteriores.
⏎ "
+"Pode utilizar um caractere diferente como separador.
⏎\n"
+
+#: extensions/admin/views/import.py:50
+msgid "Import domains"
+msgstr "Importar domínios"
+
+#: extensions/admin/views/import.py:129
+#, python-format
+msgid "Object already exists: %s"
+msgstr "Este objeto já existe: %s"
+
+#: extensions/admin/views/import.py:133
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d objetos importados com sucesso"
+
+#: extensions/admin/views/import.py:153
+#, fuzzy
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Forneça um ficheiro CSV cujas linhas respeitem um dos seguintes formatos:⏎\n"
+"⏎\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address[, domain, ...] ⏎\n"
+"alias; address; enabled; internal recipient ⏎\n"
+"forward; address; enabled; external recipient ⏎\n"
+"dlist; address; enabled; recipient; recipient; ... ⏎\n"
+" ⏎\n"
+"O primeiro elemento de cada linha é obrigatório e deve ser igual a um dos "
+"valores anteriores..
⏎\n"
+"⏎\n"
+"Pode utilizar um caractere diferente como separador.
⏎\n"
+
+#: extensions/admin/views/import.py:165
+msgid "Import identities"
+msgstr "Importar identidades"
+
+#: extensions/admin/views/user.py:37
+msgid "Forward updated"
+msgstr "Reencaminhamento atualizado"
+
+#: extensions/amavis/__init__.py:21
msgid "Simple amavis management frontend"
msgstr "Interface de gestão básica do amavis"
-#: extensions/amavis/__init__.py:45 extensions/amavis/__init__.py:61
+#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:17
msgid "Quarantine"
msgstr "Quarentena"
-#: extensions/amavis/__init__.py:129
-msgid "pending requests"
-msgstr "pedidos pendentes"
-
-#: extensions/amavis/__init__.py:149
-#, python-format
-msgid "%d pending requests"
-msgstr "%d pedidos pendentes"
-
-#: extensions/amavis/__init__.py:161
-msgid "Content filter"
-msgstr "Filtro de conteúdo"
-
#: extensions/amavis/app_settings.py:11
msgid "Quarantine settings"
msgstr "Definições de quarentena"
@@ -1154,7 +1464,9 @@ msgstr "Idade maxima da messagem"
#: extensions/amavis/app_settings.py:16
msgid "Quarantine messages maximum age (in days) before deletion"
-msgstr "Tempo máximo que as mensagens ficam na quarentena (em dias) até serem eliminadas"
+msgstr ""
+"Tempo máximo que as mensagens ficam na quarentena (em dias) até serem "
+"eliminadas"
#: extensions/amavis/app_settings.py:19
msgid "Messages releasing"
@@ -1166,7 +1478,9 @@ msgstr "Remover mensagens libertadas"
#: extensions/amavis/app_settings.py:24
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"
+msgstr ""
+"Remova as mensagens, marcadas como enviadas, durante a limpeza da base de "
+"dados"
#: extensions/amavis/app_settings.py:28
msgid "Amavis connection mode"
@@ -1232,11 +1546,6 @@ msgstr "Notificações de remetente"
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:87 extensions/webmail/app_settings.py:73
-#: userprefs/app_settings.py:18
-msgid "Display"
-msgstr "Exibir"
-
#: extensions/amavis/app_settings.py:91 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"
@@ -1245,7 +1554,20 @@ msgstr "Número de e-mails a visíveis por página"
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/lib.py:53
+#: extensions/amavis/general_callbacks.py:81
+msgid "pending requests"
+msgstr "pedidos pendentes"
+
+#: extensions/amavis/general_callbacks.py:124
+#, fuzzy
+msgid "Pending requests"
+msgstr "pedidos pendentes"
+
+#: extensions/amavis/general_callbacks.py:134
+msgid "Content filter"
+msgstr "Filtro de conteúdo"
+
+#: extensions/amavis/lib.py:57
#, python-format
msgid "Connection to amavis failed: %s"
msgstr "Não foi possível estabelecer ligação com o amavis: %s"
@@ -1255,12 +1577,12 @@ msgid "Virus filter"
msgstr "Filtro de vírus"
#: extensions/amavis/models.py:94 extensions/amavis/models.py:102
-#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:281
+#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:290
msgid "yes"
msgstr "sim"
#: extensions/amavis/models.py:95 extensions/amavis/models.py:103
-#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:285
+#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:294
msgid "no"
msgstr "não"
@@ -1272,7 +1594,9 @@ msgstr "predifinido"
#: extensions/amavis/models.py:98
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
-msgstr "Ignorar a verificação de vírus ou não. Escolher 'predefinido' para utilizar as definições gerais."
+msgstr ""
+"Ignorar a verificação de vírus ou não. Escolher 'predefinido' para utilizar "
+"as definições gerais."
#: extensions/amavis/models.py:101
msgid "Spam filter"
@@ -1280,7 +1604,9 @@ msgstr "Filtro de spam"
#: extensions/amavis/models.py:106
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
-msgstr "Ignorar filtros de spam ou não. Escolher 'predefinido' para utilizar as definições gerais."
+msgstr ""
+"Ignorar filtros de spam ou não. Escolher 'predefinido' para utilizar as "
+"definições gerais."
#: extensions/amavis/models.py:109
msgid "Banned filter"
@@ -1288,7 +1614,9 @@ msgstr "Ficheiros proibidos"
#: extensions/amavis/models.py:114
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
-msgstr "Ignorar a verificação de ficheiros proibidos. Escolher 'predefinido' para utilizar as definições gerais."
+msgstr ""
+"Ignorar a verificação de ficheiros proibidos. Escolher 'predefinido' para "
+"utilizar as definições gerais."
#: extensions/amavis/models.py:144
msgid "Spam marker"
@@ -1296,57 +1624,64 @@ msgstr "Marcador spam"
#: extensions/amavis/models.py:146
msgid ""
-"Modify spam subject using the specified text. Choose 'default' to use global"
-" settings."
-msgstr "Modifique o assunto de spam usando o texto especificado. Escolha 'default' para usar as configurações globais."
+"Modify spam subject using the specified text. Choose 'default' to use global "
+"settings."
+msgstr ""
+"Modifique o assunto de spam usando o texto especificado. Escolha 'default' "
+"para usar as configurações globais."
-#: extensions/amavis/sql_listing.py:23 extensions/webmail/lib.py:37
-msgid "From"
-msgstr "De"
+#: extensions/amavis/sql_listing.py:31
+msgid "Score"
+msgstr ""
-#: extensions/amavis/sql_listing.py:24 extensions/sievefilters/forms.py:68
-#: extensions/webmail/forms.py:10 extensions/webmail/lib.py:36
-#: extensions/webmail/lib.py:409 templates/common/email_searchbar.html:6
-msgid "Subject"
-msgstr "Assunto"
-
-#: extensions/amavis/sql_listing.py:26
-#: extensions/amavis/templatetags/amextras.py:102
+#: extensions/amavis/sql_listing.py:35
+#: extensions/amavis/templatetags/amavis_tags.py:75
#: extensions/webmail/forms.py:7
msgid "To"
msgstr "Para"
-#: extensions/amavis/views.py:43
+#: extensions/amavis/sql_listing.py:38
+#: extensions/postfix_autoreply/forms.py:11 extensions/webmail/lib.py:44
+msgid "From"
+msgstr "De"
+
+#: extensions/amavis/sql_listing.py:42 extensions/sievefilters/forms.py:77
+#: extensions/webmail/forms.py:11 extensions/webmail/lib.py:40
+#: extensions/webmail/lib.py:423 templates/common/email_searchbar.html:6
+msgid "Subject"
+msgstr "Assunto"
+
+#: extensions/amavis/views.py:27
msgid "Empty quarantine"
msgstr "Quarentena vazia"
-#: extensions/amavis/views.py:211
+#: extensions/amavis/views.py:186
msgid "Message deleted"
msgstr "Mensagem apagada"
-#: extensions/amavis/views.py:232
+#: extensions/amavis/views.py:207
#, 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:252
+#: extensions/amavis/views.py:229
msgid "Request sent"
msgstr "Pedido enviado"
-#: extensions/amavis/views.py:258
+#: extensions/amavis/views.py:235
msgid "Message released"
msgstr "Mensagem libertada"
-#: extensions/amavis/views.py:280
+#: extensions/amavis/views.py:268
#, 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:304
+#: extensions/amavis/views.py:288
#, python-format
msgid "%(count)d message released successfully"
msgid_plural "%(count)d messages released successfully"
@@ -1373,6 +1708,80 @@ msgstr "ou mais, excluir mensagem de spam"
msgid "Quarantine management"
msgstr "Gestão de Quarentena"
+#: extensions/amavis/templates/amavis/main_action_bar.html:3
+#, fuzzy
+msgid "Select"
+msgstr "Escolha um ficheiro"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:9
+msgid "Spam"
+msgstr "Spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:10
+msgid "Virus"
+msgstr "Vírus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:11
+#, fuzzy
+msgid "Bad Header"
+msgstr "Cabeçalho inválido"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:12
+msgid "Bad MIME"
+msgstr "Formato MIME inválido"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:13
+#, fuzzy
+msgid "Banned"
+msgstr "Ficheiros proibidos"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:18
+#: extensions/amavis/templatetags/amavis_tags.py:19
+#: extensions/amavis/templatetags/amavis_tags.py:54
+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/webmail/templatetags/webmail_tags.py:32
+msgid "Delete"
+msgstr "Eliminar"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+#: extensions/sievefilters/forms.py:64
+msgid "All messages"
+msgstr "Todas as mensagens"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+msgid "All"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:32
+#, fuzzy
+msgid "Spam only"
+msgstr "Spam"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:33
+#, fuzzy
+msgid "Virus only"
+msgstr "Vírus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:34
+#, fuzzy
+msgid "Bad Header only"
+msgstr "Cabeçalho inválido"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:35
+#, fuzzy
+msgid "Bad MIME only"
+msgstr "Formato MIME inválido"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:36
+#, fuzzy
+msgid "Banned only"
+msgstr "Ficheiros proibidos"
+
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:1
#, python-format
msgid ""
@@ -1381,8 +1790,12 @@ msgid ""
msgid_plural ""
"\n"
"%(counter)s release requests are pending for action.\n"
-msgstr[0] "\n%(counter)s pedido de libertação pendente\n"
-msgstr[1] "\n%(counter)s pedidos de libertação pendentes\n"
+msgstr[0] ""
+"\n"
+"%(counter)s pedido de libertação pendente\n"
+msgstr[1] ""
+"\n"
+"%(counter)s pedidos de libertação pendentes\n"
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:6
msgid "Sketch:"
@@ -1413,77 +1826,32 @@ 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/amextras.py:20
-#: extensions/amavis/templatetags/amextras.py:52
-#: extensions/amavis/templatetags/amextras.py:72
-msgid "Release"
-msgstr "Libertar"
-
-#: extensions/amavis/templatetags/amextras.py:26
-#: extensions/amavis/templatetags/amextras.py:59
-#: extensions/amavis/templatetags/amextras.py:77
-#: extensions/webmail/templatetags/webextras.py:31
-msgid "Delete"
-msgstr "Eliminar"
-
-#: extensions/amavis/templatetags/amextras.py:29
+#: extensions/amavis/templatetags/amavis_tags.py:28
msgid "View full headers"
msgstr "Ver todos os cabeçalhos"
-#: extensions/amavis/templatetags/amextras.py:80
-msgid "Content Class"
-msgstr "Tipo de Conteúdo"
-
-#: extensions/amavis/templatetags/amextras.py:84
-msgid "Nothing"
-msgstr "Nenhum"
-
-#: extensions/amavis/templatetags/amextras.py:87
-msgid "Spam"
-msgstr "Spam"
-
-#: extensions/amavis/templatetags/amextras.py:90
-msgid "Virus"
-msgstr "Vírus"
-
-#: extensions/amavis/templatetags/amextras.py:93
-msgid "Bad header"
-msgstr "Cabeçalho inválido"
-
-#: extensions/amavis/templatetags/amextras.py:96
-msgid "Bad MIME"
-msgstr "Formato MIME inválido"
-
-#: extensions/limits/__init__.py:23
+#: extensions/limits/__init__.py:25
msgid ""
"Per administrator resources to limit the number of objects they can create"
msgstr "Limite do número de objetos criados, por administrador"
-#: extensions/limits/__init__.py:54
+#: extensions/limits/__init__.py:56
msgid "Limits"
msgstr "Limites"
-#: extensions/limits/__init__.py:65
-msgid "Reseller"
-msgstr "Revendedor"
-
-#: extensions/limits/__init__.py:94
-msgid "Resources"
-msgstr "Recursos"
-
#: extensions/limits/app_settings.py:10
msgid "Default limits"
msgstr "Limites predefinidos"
-#: extensions/limits/app_settings.py:13 extensions/limits/forms.py:12
-#: extensions/limits/models.py:11
+#: extensions/limits/app_settings.py:13 extensions/limits/models.py:14
msgid "Domain admins"
msgstr "Administradores de domínio"
#: extensions/limits/app_settings.py:15
-msgid ""
-"Maximum number of allowed domain administrators for a new administrator"
-msgstr "Número máximo permitido de administradores de domínio para um novo administrador"
+msgid "Maximum number of allowed domain administrators for a new administrator"
+msgstr ""
+"Número máximo permitido de administradores de domínio para um novo "
+"administrador"
#: extensions/limits/app_settings.py:21
msgid "Maximum number of allowed domains for a new administrator"
@@ -1491,7 +1859,8 @@ msgstr "Número máximo permitido de domínios para novo administrador"
#: extensions/limits/app_settings.py:27
msgid "Maximum number of allowed domain aliases for a new administrator"
-msgstr "Número máximo permitido de aliases de domínio para um novo administrador"
+msgstr ""
+"Número máximo permitido de aliases de domínio para um novo administrador"
#: extensions/limits/app_settings.py:33
msgid "Maximum number of allowed mailboxes for a new administrator"
@@ -1501,52 +1870,62 @@ msgstr "Número máximo permitido de caixas de correio para novo administrador"
msgid "Maximum number of allowed aliases for a new administrator"
msgstr "Número máximo de aliases permitidas para um novo administrador"
-#: extensions/limits/forms.py:13
-msgid "Maximum number of domain administrators this user can create"
-msgstr "Número máximo de administradores de domínio que este utilizador pode criar"
-
-#: extensions/limits/forms.py:17
-msgid "Maximum number of domains this user can create"
-msgstr "Número máximo de domínios que este utilizador pode criar"
-
-#: extensions/limits/forms.py:21
-msgid "Maximum number of domain aliases this user can create"
-msgstr "Número máximo de aliases de domínio que este utilizador pode criar"
-
-#: extensions/limits/forms.py:25
-msgid "Maximum number of mailboxes this user can create"
-msgstr "Número máximo de caixas de correio que este utilizador por criar"
-
-#: extensions/limits/forms.py:29
-msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Número máximo de aliases para caixas de correio que este utilizador por criar"
-
-#: extensions/limits/forms.py:46
+#: extensions/limits/forms.py:28 extensions/limits/forms.py:35
msgid "Invalid limit"
msgstr "Limite inválido"
-#: extensions/limits/forms.py:74
+#: extensions/limits/forms.py:57
msgid "Your resources are not initialized yet"
msgstr "Ainda não inicializou os seus conteúdos"
-#: extensions/limits/forms.py:78
+#: extensions/limits/forms.py:61
msgid "You're not allowed to define unlimited values"
msgstr "Não está autorizado a definir valores ilimitados"
-#: extensions/limits/lib.py:16
+#: extensions/limits/general_callbacks.py:10
+msgid "Reseller"
+msgstr "Revendedor"
+
+#: extensions/limits/general_callbacks.py:48
+msgid "Resources"
+msgstr "Recursos"
+
+#: extensions/limits/lib.py:19
#, python-format
msgid "%s: limit reached"
msgstr "%s: limite atingido"
-#: extensions/limits/lib.py:23
+#: extensions/limits/lib.py:29
msgid "Not enough resources"
msgstr "Recursos insuficientes"
-#: extensions/limits/models.py:103
+#: extensions/limits/models.py:15
+msgid "Maximum number of domain administrators this user can create"
+msgstr ""
+"Número máximo de administradores de domínio que este utilizador pode criar"
+
+#: extensions/limits/models.py:18
+msgid "Maximum number of domains this user can create"
+msgstr "Número máximo de domínios que este utilizador pode criar"
+
+#: extensions/limits/models.py:21
+msgid "Maximum number of domain aliases this user can create"
+msgstr "Número máximo de aliases de domínio que este utilizador pode criar"
+
+#: extensions/limits/models.py:24
+msgid "Maximum number of mailboxes this user can create"
+msgstr "Número máximo de caixas de correio que este utilizador por criar"
+
+#: extensions/limits/models.py:26
+msgid "Maximum number of mailbox aliases this user can create"
+msgstr ""
+"Número máximo de aliases para caixas de correio que este utilizador por criar"
+
+#: extensions/limits/models.py:136
msgid "undefined"
msgstr "indefinido"
-#: extensions/limits/models.py:105
+#: extensions/limits/models.py:138
msgid "unlimited"
msgstr "ilimitado"
@@ -1554,60 +1933,116 @@ msgstr "ilimitado"
msgid "Resources usage"
msgstr "Utilização de recursos"
-#: extensions/postfix_autoreply/__init__.py:20
+#: extensions/postfix_autoreply/__init__.py:26
msgid "Auto-reply (vacation) functionality using Postfix"
msgstr "Funcionalidade de resposta automática (férias) usando Postfix"
-#: extensions/postfix_autoreply/__init__.py:41
+#: extensions/postfix_autoreply/__init__.py:47
msgid "Automatic replies"
msgstr "Respostas automáticas"
-#: extensions/postfix_autoreply/__init__.py:79
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
-msgid "Auto-reply message"
-msgstr "Mensagem de resposta automática"
-
#: extensions/postfix_autoreply/app_settings.py:14
msgid "Automatic reply timeout"
msgstr "Tempo limite de resposta automática"
#: extensions/postfix_autoreply/app_settings.py:16
msgid "Timeout in seconds between two auto-replies to the same recipient"
-msgstr "Tempo limite em segundos entre duas respostas automáticas para o mesmo destinatário"
+msgstr ""
+"Tempo limite em segundos entre duas respostas automáticas para o mesmo "
+"destinatário"
-#: extensions/postfix_autoreply/forms.py:9
+#: extensions/postfix_autoreply/app_settings.py:20
+#, fuzzy
+msgid "Default subject"
+msgstr "Editor predefinido"
+
+#: extensions/postfix_autoreply/app_settings.py:21
+msgid "I'm off"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:23
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:28
+#, fuzzy
+msgid "Default content"
+msgstr "Editor predefinido"
+
+#: extensions/postfix_autoreply/app_settings.py:30
+#, python-format
+msgid ""
+"I'm currently off. I'll answer as soon as I come back.\n"
+"\n"
+"Best regards,\n"
+"%(name)s\n"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:36
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: extensions/postfix_autoreply/forms.py:13
+#, fuzzy
+msgid "Activate your auto reply from this date"
+msgstr "Ativar o seu aviso de ausência até esta data"
+
+#: extensions/postfix_autoreply/forms.py:19
msgid "Until"
msgstr "Até"
-#: extensions/postfix_autoreply/forms.py:11
+#: extensions/postfix_autoreply/forms.py:21
msgid "Activate your auto reply until this date"
msgstr "Ativar o seu aviso de ausência até esta data"
-#: extensions/postfix_autoreply/forms.py:25
+#: extensions/postfix_autoreply/forms.py:49
+#: extensions/postfix_autoreply/forms.py:55
msgid "This date is over"
msgstr "Esta data ultrapassa"
-#: extensions/postfix_autoreply/models.py:19
+#: extensions/postfix_autoreply/forms.py:59
+#, fuzzy
+msgid "Must be greater than start date"
+msgstr "é maior do que"
+
+#: extensions/postfix_autoreply/general_callbacks.py:33
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Auto-reply message"
+msgstr "Mensagem de resposta automática"
+
+#: extensions/postfix_autoreply/general_callbacks.py:118
+msgid "Enable auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:120
+msgid "Enable or disable Postfix auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/models.py:20
msgid "subject"
msgstr "assunto"
-#: extensions/postfix_autoreply/models.py:20
+#: extensions/postfix_autoreply/models.py:21
msgid "The subject that will appear in sent emails"
msgstr "O assunto que irá constar nos e-mails enviados"
-#: extensions/postfix_autoreply/models.py:23
+#: extensions/postfix_autoreply/models.py:24
msgid "content"
msgstr "conteúdo"
-#: extensions/postfix_autoreply/models.py:24
+#: extensions/postfix_autoreply/models.py:25
msgid "The content that will appear in sent emails"
msgstr "O conteúdo que irá constar nos e-mails enviados"
-#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_autoreply/models.py:29
msgid "Activate/Deactivate your auto reply"
msgstr "Ativar/desativar repostas automáticas"
-#: extensions/postfix_autoreply/views.py:37
+#: extensions/postfix_autoreply/views.py:34
msgid "Auto reply message updated successfully."
msgstr "Mensagem de resposta automática actualizada com sucesso"
@@ -1615,16 +2050,160 @@ msgstr "Mensagem de resposta automática actualizada com sucesso"
msgid "Define a message to automatically send when you are off"
msgstr "Enviar a mensagem automaticamente quando estiver ausente"
+#: extensions/postfix_relay_domains/__init__.py:72
+msgid "Relay domains support for Postfix"
+msgstr ""
+
+#: extensions/postfix_relay_domains/__init__.py:89
+#: extensions/postfix_relay_domains/general_callbacks.py:100
+#: extensions/postfix_relay_domains/limits_callbacks.py:16
+#, fuzzy
+msgid "Relay domains"
+msgstr "Novo domínio"
+
+#: extensions/postfix_relay_domains/app_settings.py:10
+msgid "Postfix's master.cf path"
+msgstr ""
+
+#: extensions/postfix_relay_domains/app_settings.py:12
+#, fuzzy
+msgid "Path to the master.cf configuration file"
+msgstr "Caminho para o ficheiro log"
+
+#: extensions/postfix_relay_domains/forms.py:15
+#, fuzzy
+msgid ""
+"Alias(es) of this relay domain. Indicate only one name per input, press "
+"ENTER to add a new input."
+msgstr ""
+"Alias(es) deste domínio. Indicar apenas um nome por entrada, pressionar "
+"ENTER para acrescentar uma nova entrada."
+
+#: extensions/postfix_relay_domains/forms.py:51
+#: extensions/postfix_relay_domains/general_callbacks.py:93
+#, fuzzy
+msgid "relay domain alias"
+msgstr "Aliases de domínio"
+
+#: extensions/postfix_relay_domains/forms.py:69
+#: extensions/postfix_relay_domains/general_callbacks.py:92
+#, fuzzy
+msgid "relay domain"
+msgstr "Novo domínio"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:35
+#, fuzzy
+msgid "Add relay domain"
+msgstr "Adicionar domínio"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:101
+#, fuzzy
+msgid "Maximum number of relay domains this user can create"
+msgstr "Número máximo de domínios que este utilizador pode criar"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:103
+#: extensions/postfix_relay_domains/limits_callbacks.py:24
+#, fuzzy
+msgid "Relay domain aliases"
+msgstr "Aliases de domínio"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:104
+#, fuzzy
+msgid "Maximum number of relay domain aliases this user can create"
+msgstr "Número máximo de aliases de domínio que este utilizador pode criar"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:111
+msgid ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients"
+"em> \n"
+"relaydomainalias; name; target; enabled \n"
+msgstr ""
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:19
+#, fuzzy
+msgid "Maximum number of allowed relay domains for a new administrator"
+msgstr "Número máximo permitido de domínios para novo administrador"
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:27
+#, fuzzy
+msgid "Maximum number of allowed relay domain aliases for a new administrator"
+msgstr ""
+"Número máximo permitido de aliases de domínio para um novo administrador"
+
+#: extensions/postfix_relay_domains/models.py:59
+#, fuzzy
+msgid "The service name"
+msgstr "O nome do 'alias'"
+
+#: extensions/postfix_relay_domains/models.py:80
+#, fuzzy
+msgid "target host"
+msgstr "alvo"
+
+#: extensions/postfix_relay_domains/models.py:81
+#, fuzzy
+msgid "Remote destination of this domain"
+msgstr "Marcar para ativar este domínio"
+
+#: extensions/postfix_relay_domains/models.py:89
+#, fuzzy
+msgid "verify recipients"
+msgstr "Destinatários"
+
+#: extensions/postfix_relay_domains/models.py:90
+msgid "Check for valid recipients"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:103
+#, fuzzy
+msgid "Relay Domain"
+msgstr "Novo domínio"
+
+#: extensions/postfix_relay_domains/models.py:164
+#, fuzzy
+msgid "The relay domain this alias points to"
+msgstr "O domínio para o qual este alias irá apontar"
+
+#: extensions/postfix_relay_domains/models.py:195
+#, fuzzy, python-format
+msgid "Relay domain %s does not exist"
+msgstr "O domínio '%s' não existe"
+
+#: extensions/postfix_relay_domains/views.py:26
+#, fuzzy
+msgid "Relay domain created"
+msgstr "Domínio criado"
+
+#: extensions/postfix_relay_domains/views.py:31
+#, fuzzy
+msgid "New relay domain"
+msgstr "Novo domínio"
+
+#: extensions/postfix_relay_domains/views.py:54
+#, fuzzy
+msgid "Relay domain modified"
+msgstr "Domínio alterado"
+
+#: extensions/postfix_relay_domains/views.py:77
+#, fuzzy
+msgid "Relay domain deleted"
+msgstr "Domínio criado"
+
+#: extensions/postfix_relay_domains/templates/postfix_relay_domains/service_field.html:2
+msgid "Scan"
+msgstr ""
+
#: extensions/sievefilters/__init__.py:12
msgid "Plugin to easily create server-side filters"
msgstr "Plugin para criar facilmente filtros 'server-side'"
-#: extensions/sievefilters/__init__.py:17
+#: extensions/sievefilters/__init__.py:18
msgid "Sieve filters"
msgstr "Filtros Sieve"
-#: extensions/sievefilters/__init__.py:18
-#: extensions/sievefilters/__init__.py:36
+#: extensions/sievefilters/__init__.py:19
+#: extensions/sievefilters/general_callbacks.py:14
#: extensions/sievefilters/templates/sievefilters/index.html:2
msgid "Message filters"
msgstr "Gerir filtros"
@@ -1665,125 +2244,121 @@ msgstr "Modo de edição"
msgid "Select the mode you want the editor to work in"
msgstr "Seleccione o modo de funcionamento do editor"
-#: extensions/sievefilters/forms.py:14
+#: extensions/sievefilters/forms.py:16
msgid "Check to activate this filters set"
msgstr "Marque para ativar estes filtros"
-#: extensions/sievefilters/forms.py:55
+#: extensions/sievefilters/forms.py:62
msgid "All of the following"
msgstr "Todos estes"
-#: extensions/sievefilters/forms.py:56
+#: extensions/sievefilters/forms.py:63
msgid "Any of the following"
msgstr "Algum destes"
-#: extensions/sievefilters/forms.py:57
-msgid "All messages"
-msgstr "Todas as mensagens"
-
-#: extensions/sievefilters/forms.py:62
+#: extensions/sievefilters/forms.py:70
msgid "contains"
msgstr "contém"
-#: extensions/sievefilters/forms.py:63
+#: extensions/sievefilters/forms.py:71
msgid "does not contain"
msgstr "não contém"
-#: extensions/sievefilters/forms.py:64
+#: extensions/sievefilters/forms.py:72
msgid "is"
msgstr "é"
-#: extensions/sievefilters/forms.py:65
+#: extensions/sievefilters/forms.py:73
msgid "is not"
msgstr "não é"
-#: extensions/sievefilters/forms.py:69
+#: extensions/sievefilters/forms.py:78
msgid "Sender"
msgstr "Remetente"
-#: extensions/sievefilters/forms.py:70
+#: extensions/sievefilters/forms.py:79
msgid "Recipient"
msgstr "Destinatário"
-#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:8
+#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:8
msgid "Cc"
msgstr "Cc"
-#: extensions/sievefilters/forms.py:72
+#: extensions/sievefilters/forms.py:81
msgid "Size"
msgstr "Tamanho"
-#: extensions/sievefilters/forms.py:73
+#: extensions/sievefilters/forms.py:82
msgid "is greater than"
msgstr "é maior do que"
-#: extensions/sievefilters/forms.py:74
+#: extensions/sievefilters/forms.py:83
msgid "is less than"
msgstr "é menor do que"
-#: extensions/sievefilters/forms.py:78
+#: extensions/sievefilters/forms.py:87
msgid "Move message to"
msgstr "Mover mensagens para"
-#: extensions/sievefilters/forms.py:80
+#: extensions/sievefilters/forms.py:89
msgid "Redirect message to"
msgstr "Reencaminhar mensagens para"
-#: extensions/sievefilters/lib.py:37
+#: extensions/sievefilters/lib.py:40
msgid "Connection to MANAGESIEVE server failed, check your configuration"
msgstr "Ligação ao servidor MANAGESIEVE falhou, valide a configuração"
-#: extensions/sievefilters/lib.py:82
+#: extensions/sievefilters/lib.py:85
msgid "Not enough space on server"
msgstr "Espaço insuficiente no servidor"
-#: extensions/sievefilters/views.py:68
+#: extensions/sievefilters/views.py:78
msgid "Failed to retrieve filters set"
msgstr "Falha ao recuperar os filtros definidos"
-#: extensions/sievefilters/views.py:126
+#: extensions/sievefilters/views.py:138
#: extensions/sievefilters/templatetags/sfilters_tags.py:33
msgid "New filter"
msgstr "Novo filtro"
-#: extensions/sievefilters/views.py:133
+#: extensions/sievefilters/views.py:146
msgid "Filter created"
msgstr "Filtro criado"
-#: extensions/sievefilters/views.py:145
-#: extensions/sievefilters/templatetags/sfilters_tags.py:77
+#: extensions/sievefilters/views.py:160
+#: extensions/sievefilters/templatetags/sfilters_tags.py:78
msgid "Edit filter"
msgstr "Editar filtro"
-#: extensions/sievefilters/views.py:154
+#: extensions/sievefilters/views.py:169
msgid "Filter modified"
msgstr "Filtro modificado"
-#: extensions/sievefilters/views.py:176
+#: extensions/sievefilters/views.py:192
msgid "Filter removed"
msgstr "Filtro removido"
-#: extensions/sievefilters/views.py:177
+#: extensions/sievefilters/views.py:193
msgid "Failed to remove filter"
msgstr "Falha ao remover filtro"
-#: extensions/sievefilters/views.py:191
+#: extensions/sievefilters/views.py:208
msgid "Filters set saved"
msgstr "Grupo de filtros guardado"
-#: extensions/sievefilters/views.py:196
-msgid "Create a new filters set"
-msgstr "Criar novo grupo de filtros"
-
-#: extensions/sievefilters/views.py:219
+#: extensions/sievefilters/views.py:224
msgid "Filters set created"
msgstr "Grupo de filtros criado"
-#: extensions/sievefilters/views.py:240
+#: extensions/sievefilters/views.py:228
+msgid "Create a new filters set"
+msgstr "Criar novo grupo de filtros"
+
+#: extensions/sievefilters/views.py:247
msgid "Filters set deleted"
msgstr "Grupo de filtros eliminado"
-#: extensions/sievefilters/views.py:252
+#: extensions/sievefilters/views.py:260
msgid "Filters set activated"
msgstr "Grupo de filtros ativado"
@@ -1799,20 +2374,21 @@ msgstr "Ativo"
msgid "No filter defined yet"
msgstr "Ainda não existe nenhum filtro definido"
-#: extensions/sievefilters/templates/sievefilters/index.html:56
+#: extensions/sievefilters/templates/sievefilters/index.html:76
msgid "Filter sets"
msgstr "Grupos de filtros"
-#: extensions/sievefilters/templates/sievefilters/index.html:60
+#: extensions/sievefilters/templates/sievefilters/index.html:80
msgid "active"
msgstr "ativo"
-#: extensions/sievefilters/templates/sievefilters/index.html:74
+#: extensions/sievefilters/templates/sievefilters/index.html:94
msgid ""
"No filters set defined yet. You must create one in order to define filters."
-msgstr "Não existem grupos de filtros. Terá de criar um para poder definir filtros."
+msgstr ""
+"Não existem grupos de filtros. Terá de criar um para poder definir filtros."
-#: extensions/sievefilters/templatetags/sfilters_tags.py:16
+#: extensions/sievefilters/templatetags/sfilters_tags.py:15
msgid "New filters set"
msgstr "Novo grupo de filtros"
@@ -1832,31 +2408,27 @@ msgstr "Eliminar grupo de filtros"
msgid "Download"
msgstr "Descarregar"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:85
+#: extensions/sievefilters/templatetags/sfilters_tags.py:86
msgid "Remove this filter"
msgstr "Eliminar este filtro"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:93
+#: extensions/sievefilters/templatetags/sfilters_tags.py:94
msgid "Move this filter up"
msgstr "Mover este filtro para cima"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:101
+#: extensions/sievefilters/templatetags/sfilters_tags.py:102
msgid "Move this filter down"
msgstr "Mover este filtro para baixo"
-#: extensions/stats/__init__.py:20
+#: extensions/stats/__init__.py:21
msgid "Graphical statistics about emails traffic using RRDtool"
msgstr "Estatísticas gráficas sobre tráfego de email usando RRDtool"
-#: extensions/stats/__init__.py:26
+#: extensions/stats/__init__.py:29
#: extensions/stats/templates/stats/index.html:2
msgid "Graphical statistics"
msgstr "Estatísticas gráficas"
-#: extensions/stats/__init__.py:40
-msgid "Statistics"
-msgstr "Estatísticas"
-
#: extensions/stats/app_settings.py:14
msgid "Path to the log file"
msgstr "Caminho para o ficheiro log"
@@ -1881,84 +2453,88 @@ msgstr "Diretório para armazenar os ficheiros PNG"
msgid "Path to directory where PNG files are stored"
msgstr "Caminho para o diretório PNG onde os ficheiros são guardados"
-#: extensions/stats/graph_templates.py:20
+#: extensions/stats/general_callbacks.py:12
+msgid "Statistics"
+msgstr "Estatísticas"
+
+#: extensions/stats/graph_templates.py:22
msgid "Average normal traffic"
msgstr "Tráfego normal em média"
-#: extensions/stats/graph_templates.py:21
-#: extensions/stats/graph_templates.py:33
+#: extensions/stats/graph_templates.py:23
+#: extensions/stats/graph_templates.py:36
msgid "msgs/min"
msgstr "msgs/min"
-#: extensions/stats/graph_templates.py:26
+#: extensions/stats/graph_templates.py:28
msgid "sent messages"
msgstr "mensagens enviadas"
-#: extensions/stats/graph_templates.py:28
+#: extensions/stats/graph_templates.py:30
msgid "received messages"
msgstr "mensagens recebidas"
-#: extensions/stats/graph_templates.py:32
+#: extensions/stats/graph_templates.py:35
msgid "Average bad traffic"
msgstr "Tráfego malicioso em média"
-#: extensions/stats/graph_templates.py:38
+#: extensions/stats/graph_templates.py:41
msgid "bounced messages"
msgstr "mensagens devolvidas"
-#: extensions/stats/graph_templates.py:40
+#: extensions/stats/graph_templates.py:43
msgid "rejected messages"
msgstr "mensagens rejeitadas"
-#: extensions/stats/graph_templates.py:44
+#: extensions/stats/graph_templates.py:48
msgid "Average normal traffic size"
msgstr "Tráfego em média (bytes)"
-#: extensions/stats/graph_templates.py:45
+#: extensions/stats/graph_templates.py:49
msgid "bytes/min"
msgstr "bytes/min"
-#: extensions/stats/graph_templates.py:50
+#: extensions/stats/graph_templates.py:54
msgid "received size"
msgstr "tamanho recebido"
-#: extensions/stats/graph_templates.py:52
+#: extensions/stats/graph_templates.py:56
msgid "sent size"
msgstr "tamanho enviado"
-#: extensions/stats/graph_templates.py:73
+#: extensions/stats/graph_templates.py:78
msgid "Mail traffic"
msgstr "Tráfego de correio"
-#: extensions/stats/grapher.py:9
+#: extensions/stats/grapher.py:8
msgid "Day"
msgstr "Dia"
-#: extensions/stats/grapher.py:10
+#: extensions/stats/grapher.py:9
msgid "Week"
msgstr "Semana"
-#: extensions/stats/grapher.py:11
+#: extensions/stats/grapher.py:10
msgid "Month"
msgstr "Mês"
-#: extensions/stats/grapher.py:12
+#: extensions/stats/grapher.py:11
msgid "Year"
msgstr "Ano"
-#: extensions/stats/grapher.py:59
+#: extensions/stats/grapher.py:60
msgid "Total"
msgstr "Total"
-#: extensions/stats/views.py:21 extensions/stats/templates/stats/graphs.html:4
+#: extensions/stats/views.py:28 extensions/stats/templates/stats/graphs.html:4
msgid "No statistics available"
msgstr "Não há estatísticas disponíveis"
-#: extensions/stats/views.py:39
+#: extensions/stats/views.py:47
msgid "Unknown graphic set"
msgstr "Conjunto de gráficos desconhecido"
-#: extensions/stats/views.py:61
+#: extensions/stats/views.py:70
msgid "Bad custom period"
msgstr "Período personalizado inválido"
@@ -1978,14 +2554,10 @@ msgstr "Intervalo de tempo personalizado"
msgid "Apply"
msgstr "Aplicar"
-#: extensions/webmail/__init__.py:12
+#: extensions/webmail/__init__.py:13
msgid "Simple IMAP webmail"
msgstr "Sistema de Webmail IMAP básico"
-#: extensions/webmail/__init__.py:35
-msgid "Webmail"
-msgstr "Webmail"
-
#: extensions/webmail/app_settings.py:14
msgid "Maximum attachment size"
msgstr "Tamanho máximo do anexo"
@@ -2114,99 +2686,94 @@ msgstr "Assinatura"
msgid "User defined email signature"
msgstr "Assinatura de email definida pelo utilizador"
-#: extensions/webmail/exceptions.py:19
+#: extensions/webmail/exceptions.py:20
msgid "Server response"
msgstr "Resposta do servidor"
+#: extensions/webmail/exceptions.py:34
+msgid "Unknown action"
+msgstr "Acção desconhecida"
+
#: extensions/webmail/forms.py:9
msgid "Cci"
msgstr "Cci"
-#: extensions/webmail/imaputils.py:237
+#: extensions/webmail/general_callbacks.py:14
+msgid "Webmail"
+msgstr "Webmail"
+
+#: extensions/webmail/imaputils.py:242
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Falha ao recuperar hierarquia delimitador"
-#: extensions/webmail/imaputils.py:278
+#: extensions/webmail/imaputils.py:283
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "A ligação ao servidor IMAP falhou: %s"
-#: extensions/webmail/lib.py:358
+#: extensions/webmail/lib.py:371
msgid "wrote:"
msgstr "escreveu:"
-#: extensions/webmail/lib.py:423 extensions/webmail/lib.py:427
+#: extensions/webmail/lib.py:437 extensions/webmail/lib.py:441
msgid "Original message"
msgstr "Mensagem original"
-#: extensions/webmail/views.py:86
+#: extensions/webmail/views.py:85
#, python-format
msgid "%(count)d message deleted"
msgid_plural "%(count)d messages deleted"
msgstr[0] "%(count)d mensagens eliminadas"
msgstr[1] "%(count)d mensagens eliminadas"
-#: extensions/webmail/views.py:103
-msgid "Unknown action"
-msgstr "Acção desconhecida"
-
-#: extensions/webmail/views.py:116 lib/email_listing.py:137
+#: extensions/webmail/views.py:116 lib/email_listing.py:138
msgid "Empty mailbox"
msgstr "Caixa de correio vazia"
-#: extensions/webmail/views.py:133
-#: extensions/webmail/templatetags/webextras.py:170
-msgid "Create a new mailbox"
-msgstr "Criar nova caixa de correio"
-
-#: extensions/webmail/views.py:149
+#: extensions/webmail/views.py:142
msgid "Mailbox created"
msgstr "Caixa de correio criada"
-#: extensions/webmail/views.py:165
+#: extensions/webmail/views.py:148
+#: extensions/webmail/templatetags/webmail_tags.py:175
+msgid "Create a new mailbox"
+msgstr "Criar nova caixa de correio"
+
+#: extensions/webmail/views.py:167 extensions/webmail/views.py:202
msgid "Edit mailbox"
msgstr "Editar caixa de correio"
-#: extensions/webmail/views.py:180
+#: extensions/webmail/views.py:183
msgid "Mailbox updated"
msgstr "Caixa de correio actualizada"
-#: extensions/webmail/views.py:214 extensions/webmail/views.py:396
-#: extensions/webmail/views.py:505
-msgid "Bad request"
-msgstr "Pedido inválido"
-
-#: extensions/webmail/views.py:246
+#: extensions/webmail/views.py:255
msgid "Failed to save attachment: "
msgstr "Falha ao salvar o anexo:"
-#: extensions/webmail/views.py:249
+#: extensions/webmail/views.py:258
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Anexo demasiado grande (limite %s)"
-#: extensions/webmail/views.py:255
+#: extensions/webmail/views.py:264
#: extensions/webmail/templates/webmail/compose.html:15
#: extensions/webmail/templates/webmail/headers.html:4
msgid "Attachments"
msgstr "Anexos"
-#: extensions/webmail/views.py:271
+#: extensions/webmail/views.py:281
msgid "Bad query"
msgstr "Pesquisa inválida"
-#: extensions/webmail/views.py:281
+#: extensions/webmail/views.py:293
msgid "Failed to remove attachment: "
msgstr "Falha ao remover os anexos:"
-#: extensions/webmail/views.py:286
+#: extensions/webmail/views.py:298
msgid "Unknown attachment"
msgstr "Anexo desconhecido"
-#: extensions/webmail/views.py:501
-msgid "Undefined action"
-msgstr "Ação indefinida"
-
#: extensions/webmail/templates/webmail/attachments.html:6
msgid "Attach"
msgstr "Anexar"
@@ -2238,111 +2805,123 @@ msgstr "Caixa de correio principal"
msgid "Mailbox quota"
msgstr "Quota da caixa de correio"
-#: extensions/webmail/templatetags/webextras.py:19
+#: extensions/webmail/templatetags/webmail_tags.py:20
msgid "Reply"
msgstr "Responder"
-#: extensions/webmail/templatetags/webextras.py:23
+#: extensions/webmail/templatetags/webmail_tags.py:24
msgid "Reply all"
msgstr "Responder a todos"
-#: extensions/webmail/templatetags/webextras.py:27
-#: userprefs/templates/userprefs/forward.html:2
-#: userprefs/templatetags/uprefs_extras.py:27
-msgid "Forward"
-msgstr "Reencaminhar"
-
-#: extensions/webmail/templatetags/webextras.py:33
+#: extensions/webmail/templatetags/webmail_tags.py:34
msgid "Display options"
msgstr "Opções de Visualização"
-#: extensions/webmail/templatetags/webextras.py:36
+#: extensions/webmail/templatetags/webmail_tags.py:37
msgid "Activate links"
msgstr "Ativar links"
-#: extensions/webmail/templatetags/webextras.py:38
+#: extensions/webmail/templatetags/webmail_tags.py:39
msgid "Disable links"
msgstr "Desativar links"
-#: extensions/webmail/templatetags/webextras.py:47
+#: extensions/webmail/templatetags/webmail_tags.py:48
msgid "Close this message"
msgstr "Fechar esta mensagem"
-#: extensions/webmail/templatetags/webextras.py:60
+#: extensions/webmail/templatetags/webmail_tags.py:63
msgid "Back"
msgstr "Voltar"
-#: extensions/webmail/templatetags/webextras.py:64
+#: extensions/webmail/templatetags/webmail_tags.py:67
msgid "Send"
msgstr "Enviar"
-#: extensions/webmail/templatetags/webextras.py:76
+#: extensions/webmail/templatetags/webmail_tags.py:80
msgid "New message"
msgstr "Nova mensagem"
-#: extensions/webmail/templatetags/webextras.py:85
+#: extensions/webmail/templatetags/webmail_tags.py:89
msgid "Mark messages"
msgstr "Marcar mensagens"
-#: extensions/webmail/templatetags/webextras.py:89
+#: extensions/webmail/templatetags/webmail_tags.py:93
msgid "As read"
msgstr "Como lidas"
-#: extensions/webmail/templatetags/webextras.py:92
+#: extensions/webmail/templatetags/webmail_tags.py:96
msgid "As unread"
msgstr "Como não lidas"
-#: extensions/webmail/templatetags/webextras.py:101
+#: extensions/webmail/templatetags/webmail_tags.py:105
msgid "Compress folder"
msgstr "Comprimir pasta"
-#: extensions/webmail/templatetags/webextras.py:110
+#: extensions/webmail/templatetags/webmail_tags.py:114
msgid "Empty folder"
msgstr "Esvaziar pasta"
-#: extensions/webmail/templatetags/webextras.py:178
+#: extensions/webmail/templatetags/webmail_tags.py:183
msgid "Edit the selected mailbox"
msgstr "Editar caixa de correio selecionada"
-#: extensions/webmail/templatetags/webextras.py:183
+#: extensions/webmail/templatetags/webmail_tags.py:188
msgid "Remove the selected mailbox"
msgstr "Eliminar caixa de correio selecionada"
-#: lib/exceptions.py:18
+#: lib/dbutils.py:36
+#, fuzzy, python-format
+msgid "Connection to database %s not configured"
+msgstr "Não foi possível estabelecer ligação com o amavis: %s"
+
+#: lib/exceptions.py:67
#, python-format
msgid "Permission denied: %s"
msgstr "Acesso negado: %s"
-#: lib/exceptions.py:19
+#: lib/exceptions.py:68
msgid "Permission denied"
msgstr "Acesso negado"
-#: lib/formutils.py:157 lib/formutils.py:165
+#: lib/formutils.py:187 lib/formutils.py:195
msgid "Enter a valid domain name"
msgstr "Introduzir um nome de domínio válido "
-#: lib/permissions.py:27
+#: lib/formutils.py:244
+msgid "Yes"
+msgstr "Sim"
+
+#: lib/formutils.py:244
+msgid "No"
+msgstr "Não"
+
+#: lib/ldaputils.py:111
+#, python-format
+msgid "Failed to update password: %s"
+msgstr "Falha ao actualizar a password: %s"
+
+#: lib/permissions.py:20
msgid "Simple user"
msgstr "Utilizador simples"
-#: lib/permissions.py:29
+#: lib/permissions.py:22
msgid "Super administrator"
msgstr "Super Administrador"
-#: lib/permissions.py:31
+#: lib/permissions.py:28
msgid "Domain administrator"
msgstr "Administrador de domínio"
-#: lib/permissions.py:75
+#: lib/permissions.py:73
#, python-format
msgid "Failed to grant access (%s)"
msgstr "Falha ao conceder acesso (%s)"
-#: lib/tables.py:241
+#: lib/tables.py:251
msgid "No entries to display"
msgstr "Não há dados para apresentar"
-#: lib/templatetags/libextras.py:108
+#: lib/templatetags/lib_tags.py:59
msgid "activate"
msgstr "ativar"
@@ -2400,103 +2979,35 @@ msgstr "Lembrar-me"
msgid "Log in"
msgstr "Entrar"
-#: userprefs/__init__.py:8
-msgid "User preferences"
-msgstr "Preferências do utilizador"
+#~ msgid "An alias with this name already exists"
+#~ msgstr "Já existe um alias com este nome"
-#: userprefs/__init__.py:10
-msgid "Per-user settings"
-msgstr "Configurações por usuário"
+#~ msgid "A domain with this name already exists"
+#~ msgstr "Este nome de domínio já existe"
-#: userprefs/app_settings.py:22
-msgid "Prefered language"
-msgstr "Idioma preferido"
+#~ msgid "Edit domain"
+#~ msgstr "Editar domínio"
-#: userprefs/app_settings.py:27
-msgid "Prefered language to display pages"
-msgstr "Idioma preferido para exibir páginas"
+#~ msgid "%d pending requests"
+#~ msgstr "%d pedidos pendentes"
-#: userprefs/forms.py:14
-msgid "Old password"
-msgstr "Password antiga"
+#~ msgid "Content Class"
+#~ msgstr "Tipo de Conteúdo"
-#: userprefs/forms.py:16
-msgid "New password"
-msgstr "Nova password"
+#~ msgid "Nothing"
+#~ msgstr "Nenhum"
-#: userprefs/forms.py:40
-msgid "Old password mismatchs"
-msgstr "Incompatibilidade da password antiga"
+#~ msgid "Bad request"
+#~ msgstr "Pedido inválido"
-#: userprefs/forms.py:45
-msgid "Passwords mismatch"
-msgstr "Passwords não coincidem"
+#~ msgid "Undefined action"
+#~ msgstr "Ação indefinida"
-#: userprefs/forms.py:59
-msgid "Recipient(s)"
-msgstr "Destinatário(s)"
+#~ msgid "User preferences"
+#~ msgstr "Preferências do utilizador"
-#: userprefs/forms.py:62
-msgid "Indicate one or more recipients separated by a ','"
-msgstr "Indicar um ou mais destinatários separados por ','"
+#~ msgid "Per-user settings"
+#~ msgstr "Configurações por usuário"
-#: userprefs/forms.py:65
-msgid "Keep local copies"
-msgstr "Conservar cópias locais"
-
-#: userprefs/forms.py:67
-msgid "Forward messages and store copies into your local mailbox"
-msgstr "Reencaminhar mensagens e armazenar cópias na sua caixa de correio local"
-
-#: userprefs/forms.py:84
-msgid ""
-"You can't define a forward to a local destination. Please ask your "
-"administrator to create an alias instead."
-msgstr "Não é possível definir um reencaminhamento para um destino local. Por favor informe-se junto de um administrador para criar um alias."
-
-#: userprefs/views.py:32
-msgid "You need a mailbox in order to define a forward"
-msgstr "Precisa de uma caixa de correio para definir um reencaminhamento"
-
-#: userprefs/views.py:56
-msgid "Forward updated"
-msgstr "Reencaminhamento atualizado"
-
-#: userprefs/views.py:98
-msgid "Profile updated"
-msgstr "Perfil atualizado"
-
-#: userprefs/views.py:127
-msgid "Preferences saved"
-msgstr "Preferências salvas"
-
-#: userprefs/templates/userprefs/forward.html:2
-msgid "Automatically forward emails to another address"
-msgstr "Reenviar automaticamente e-mails para outro endereço"
-
-#: userprefs/templates/userprefs/index.html:2
-#: userprefs/templatetags/uprefs_extras.py:48
-msgid "Settings"
-msgstr "Definições"
-
-#: userprefs/templates/userprefs/preferences.html:2
-#: userprefs/templatetags/uprefs_extras.py:21
-msgid "Preferences"
-msgstr "Preferências"
-
-#: userprefs/templates/userprefs/preferences.html:2
-msgid "Customize Modoboa"
-msgstr "Personalizar Modoboa"
-
-#: userprefs/templates/userprefs/profile.html:2
-#: userprefs/templatetags/uprefs_extras.py:17
-msgid "Profile"
-msgstr "Perfil"
-
-#: userprefs/templates/userprefs/profile.html:2
-msgid "Update your personal information"
-msgstr "Atualizar o sua informação pessoal"
-
-#: userprefs/templatetags/uprefs_extras.py:57
-msgid "Logout"
-msgstr "Sair"
+#~ msgid "You need a mailbox in order to define a forward"
+#~ msgstr "Precisa de uma caixa de correio para definir um reencaminhamento"
diff --git a/modoboa/locale/pt_PT/LC_MESSAGES/djangojs.po b/modoboa/locale/pt_PT/LC_MESSAGES/djangojs.po
index f37f8bb4b..15aa7ce56 100644
--- a/modoboa/locale/pt_PT/LC_MESSAGES/djangojs.po
+++ b/modoboa/locale/pt_PT/LC_MESSAGES/djangojs.po
@@ -1,114 +1,101 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# mikec , 2012
# Sandra Ribeiro , 2013
msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
-"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n"
-"POT-Creation-Date: 2013-05-22 17:39+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-03 10:33+0100\n"
"PO-Revision-Date: 2013-06-03 17:44+0000\n"
"Last-Translator: Sandra Ribeiro \n"
-"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/modoboa/language/pt_PT/)\n"
+"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/"
+"modoboa/language/pt_PT/)\n"
+"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/static/admin/js/admin.js:26
+#: extensions/admin/static/admin/js/admin.js:32
msgid "Search"
msgstr "Procurar"
-#: admin/static/admin/js/admin.js:110
+#: extensions/admin/static/admin/js/admin.js:170
msgid "Do not delete domain directory"
msgstr "Não excluir o diretório do domínio"
-#: admin/static/admin/js/admin.js:113
+#: extensions/admin/static/admin/js/admin.js:173
msgid "This operation will remove ALL data associated to this domain."
msgstr "Esta operação irá remover TODOS os dados associados a este domínio."
-#: admin/static/admin/js/admin.js:114
+#: extensions/admin/static/admin/js/admin.js:174
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
-msgstr "Esta operação irá remover TODOS os dados associados a este domínio, excepto as contas."
+msgstr ""
+"Esta operação irá remover TODOS os dados associados a este domínio, excepto "
+"as contas."
-#: admin/static/admin/js/admin.js:117
-msgid "Delete this domain?"
-msgstr "Apagar este domínio?"
-
-#: admin/static/admin/js/admin.js:161
+#: extensions/admin/static/admin/js/admin.js:222
msgid "No domain administrator defined"
msgstr "Não está definido nenhum administrador para o domínio"
-#: admin/static/admin/js/admin.js:238
+#: extensions/admin/static/admin/js/admin.js:291
msgid "Do not delete mailbox directory"
msgstr "Não excluir o diretório da caixa de correio"
-#: admin/static/admin/js/admin.js:243
-msgid "Delete this account?"
-msgstr "Apagar esta conta?"
-
-#: admin/static/admin/js/admin.js:249
-msgid "Delete this list?"
-msgstr "Apagar esta lista?"
-
-#: admin/static/admin/js/admin.js:254
-msgid "Delete this forward?"
-msgstr "Apagar este reencaminhamento?"
-
-#: admin/static/admin/js/admin.js:259
-msgid "Delete this alias?"
-msgstr "Apagar este alias?"
-
-#: extensions/amavis/static/amavis/js/quarantine.js:126
+#: extensions/amavis/static/amavis/js/quarantine.js:180
msgid "Release this selection?"
msgstr "Libertar itens seleccionados?"
-#: extensions/amavis/static/amavis/js/quarantine.js:130
+#: extensions/amavis/static/amavis/js/quarantine.js:184
msgid "Delete this selection?"
msgstr "Eliminar itens seleccionados?"
-#: extensions/amavis/static/amavis/js/quarantine.js:148
-#: extensions/amavis/static/amavis/js/selfservice.js:22
+#: extensions/amavis/static/amavis/js/quarantine.js:203
+#: extensions/amavis/static/amavis/js/selfservice.js:17
msgid "Release this message?"
msgstr "Libertar esta mensagem?"
-#: extensions/amavis/static/amavis/js/quarantine.js:152
-#: extensions/amavis/static/amavis/js/selfservice.js:26
+#: extensions/amavis/static/amavis/js/quarantine.js:207
+#: extensions/amavis/static/amavis/js/selfservice.js:21
msgid "Delete this message?"
msgstr "Eliminar esta mensagem?"
-#: extensions/amavis/static/amavis/js/quarantine.js:169
+#: extensions/amavis/static/amavis/js/quarantine.js:224
msgid "View full headers"
msgstr "Ver cabeçalho completo"
-#: extensions/amavis/static/amavis/js/quarantine.js:174
+#: extensions/amavis/static/amavis/js/quarantine.js:229
msgid "Hide full headers"
msgstr "Esconder cabeçalho completo"
+#: extensions/postfix_relay_domains/static/postfix_relay_domains/js/relay_domains.js:49
+msgid "Services updated"
+msgstr ""
+
#: extensions/sievefilters/static/sievefilters/js/lib.js:14
msgid "Remove this filter?"
msgstr "Remover este filtro?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:117
+#: extensions/sievefilters/static/sievefilters/js/lib.js:107
msgid "Save changes?"
msgstr "Guardar alterações?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:144
+#: extensions/sievefilters/static/sievefilters/js/lib.js:129
msgid "Remove filters set?"
msgstr "Limpar filtros definidos?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:161
+#: extensions/sievefilters/static/sievefilters/js/lib.js:146
msgid "Activate this filters set?"
msgstr "Activar estes filtros?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:169
-#: extensions/sievefilters/static/sievefilters/js/lib.js:224
+#: extensions/sievefilters/static/sievefilters/js/lib.js:154
+#: extensions/sievefilters/static/sievefilters/js/lib.js:203
msgid "active"
msgstr "activo"
@@ -116,19 +103,19 @@ msgstr "activo"
msgid "Search a domain"
msgstr "Pesquisar domínio"
-#: extensions/webmail/static/webmail/js/webmail.js:485
+#: extensions/webmail/static/webmail/js/webmail.js:472
msgid "Remove the selected mailbox?"
msgstr "Remover a caixa de correio seleccionada"
-#: extensions/webmail/static/webmail/js/webmail.js:499
+#: extensions/webmail/static/webmail/js/webmail.js:485
msgid "Mailbox removed"
msgstr "Caixa removida"
-#: extensions/webmail/static/webmail/js/webmail.js:823
+#: extensions/webmail/static/webmail/js/webmail.js:727
msgid "Message sent"
msgstr "Mensagem enviada"
-#: extensions/webmail/static/webmail/js/webmail.js:856
+#: extensions/webmail/static/webmail/js/webmail.js:854
msgid "Message deleted"
msgstr "Mensagem apagada"
@@ -146,18 +133,34 @@ msgid_plural "Moving %s messages"
msgstr[0] "A mover %s mensagem"
msgstr[1] "A mover %s mensagens"
-#: static/js/confirmation.js:48
+#: static/js/confirmation.js:50
msgid "Warning"
msgstr "Aviso"
-#: static/js/confirmation.js:57
+#: static/js/confirmation.js:59
msgid "Cancel"
msgstr "Cancelar"
-#: static/js/confirmation.js:99 static/js/history.js:239
-msgid "Internal Error"
+#: static/js/global.js:314
+#, fuzzy
+msgid "Internal error"
msgstr "Erro Interno"
#: static/js/searchbar.js:20
msgid "Search..."
msgstr "Pesquisar..."
+
+#~ msgid "Delete this domain?"
+#~ msgstr "Apagar este domínio?"
+
+#~ msgid "Delete this account?"
+#~ msgstr "Apagar esta conta?"
+
+#~ msgid "Delete this list?"
+#~ msgstr "Apagar esta lista?"
+
+#~ msgid "Delete this forward?"
+#~ msgstr "Apagar este reencaminhamento?"
+
+#~ msgid "Delete this alias?"
+#~ msgstr "Apagar este alias?"
diff --git a/modoboa/locale/ru/LC_MESSAGES/django.po b/modoboa/locale/ru/LC_MESSAGES/django.po
new file mode 100644
index 000000000..e124422ec
--- /dev/null
+++ b/modoboa/locale/ru/LC_MESSAGES/django.po
@@ -0,0 +1,2834 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Modoboa\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
+"PO-Revision-Date: 2013-12-03 09:35+0000\n"
+"Last-Translator: Antoine Nguyen \n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/modoboa/language/ru/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: core/__init__.py:52 core/__init__.py:53
+#: extensions/admin/forms/account.py:325 extensions/admin/forms/domain.py:251
+#: extensions/admin/views/domain.py:95 extensions/admin/views/identity.py:127
+#: extensions/postfix_autoreply/app_settings.py:11
+#: extensions/postfix_relay_domains/forms.py:138
+#: extensions/sievefilters/app_settings.py:50
+#: extensions/stats/app_settings.py:11 extensions/webmail/app_settings.py:11
+msgid "General"
+msgstr "Основные"
+
+#: core/app_settings.py:36
+msgid "Authentication"
+msgstr "Аутентификация"
+
+#: core/app_settings.py:39
+msgid "Authentication type"
+msgstr "Тип аутентификации"
+
+#: core/app_settings.py:40
+msgid "Local"
+msgstr "Локальный"
+
+#: core/app_settings.py:43
+msgid "The backend used for authentication"
+msgstr "Базовая программа для проверки подлинности"
+
+#: core/app_settings.py:48
+msgid "Default password scheme"
+msgstr "Схема пароля по умолчанию"
+
+#: core/app_settings.py:51
+msgid "md5crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:52
+msgid "sha256 (weak)"
+msgstr ""
+
+#: core/app_settings.py:53
+msgid "md5 (weak)"
+msgstr ""
+
+#: core/app_settings.py:54
+msgid "crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:55
+msgid "plain (weak)"
+msgstr ""
+
+#: core/app_settings.py:57
+msgid "Scheme used to crypt mailbox passwords"
+msgstr "Схема используемая для шифровании пароля почтового ящика."
+
+#: core/app_settings.py:61
+msgid "Rounds"
+msgstr ""
+
+#: core/app_settings.py:64
+msgid ""
+"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
+"between 1000 and 999999999, inclusive."
+msgstr ""
+
+#: core/app_settings.py:70
+msgid "Secret key"
+msgstr "Секретный ключ"
+
+#: core/app_settings.py:72
+msgid "Key used to encrypt/decrypt passwords"
+msgstr "Ключ для шифрования паролей"
+
+#: core/app_settings.py:76
+msgid "LDAP settings"
+msgstr "Параметры LDAP"
+
+#: core/app_settings.py:79 extensions/sievefilters/app_settings.py:22
+#: extensions/webmail/app_settings.py:22 extensions/webmail/app_settings.py:42
+msgid "Server address"
+msgstr "Адрес сервера"
+
+#: core/app_settings.py:81
+msgid "The IP address of the DNS name of the LDAP server"
+msgstr "IP адрес или DNS имя сервера LDAP"
+
+#: core/app_settings.py:85 extensions/sievefilters/app_settings.py:28
+#: extensions/webmail/app_settings.py:34 extensions/webmail/app_settings.py:58
+msgid "Server port"
+msgstr "Порт сервера"
+
+#: core/app_settings.py:87
+msgid "The TCP port number used by the LDAP server"
+msgstr "Номер TCP порта LDAP сервера"
+
+#: core/app_settings.py:91 extensions/webmail/app_settings.py:28
+msgid "Use a secured connection"
+msgstr "Использовать безопасное соединение"
+
+#: core/app_settings.py:93
+msgid "Use an SSL/TLS connection to access the LDAP server"
+msgstr "Использовать SSL/TLS соединение с LDAP сервером"
+
+#: core/app_settings.py:97
+msgid "Authentication method"
+msgstr "Метод аутентификации"
+
+#: core/app_settings.py:98
+msgid "Search and bind"
+msgstr "Найти и соединиться"
+
+#: core/app_settings.py:99
+msgid "Direct bind"
+msgstr "Прямое соединение"
+
+#: core/app_settings.py:101
+msgid "Choose the authentication method to use"
+msgstr "Выберите метод аутентификации "
+
+#: core/app_settings.py:106
+msgid "Bind DN"
+msgstr "Соединится с DN "
+
+#: core/app_settings.py:108
+msgid ""
+"The distinguished name to use when binding to the LDAP server. Leave empty "
+"for an anonymous bind"
+msgstr "Отличительное имя используемое для соединения с LDAP сервером. Оставьте пустым для анонимного соединения"
+
+#: core/app_settings.py:113
+msgid "Bind password"
+msgstr "Пароль для соединения"
+
+#: core/app_settings.py:115
+msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
+msgstr "Пароль для соединения с LDAP сервером"
+
+#: core/app_settings.py:121
+msgid "Users search base"
+msgstr ""
+
+#: core/app_settings.py:123
+msgid "The distinguished name of the search base used to find users"
+msgstr ""
+
+#: core/app_settings.py:128
+msgid "Search filter"
+msgstr "Фильтр поиска"
+
+#: core/app_settings.py:130
+msgid ""
+"An optional filter string (e.g. '(objectClass=person)'). In order to be "
+"valid, it must be enclosed in parentheses."
+msgstr "Необязательная срока поиска (например '(objectClass=person)') Значение нужно заключить в скобки"
+
+#: core/app_settings.py:135
+msgid "User DN template"
+msgstr "Шаблон пользователя DN"
+
+#: core/app_settings.py:137
+#, python-format
+msgid ""
+"The template used to construct a user's DN. It should contain one "
+"placeholder (ie. %(user)s)"
+msgstr "Шаблон используется для построения запросов к DN Он должен содержать атрибут например (%(user)s)"
+
+#: core/app_settings.py:142
+msgid "Password attribute"
+msgstr "Свойства пароля"
+
+#: core/app_settings.py:144
+msgid "The attribute used to store user passwords"
+msgstr "Свойства используемые для сохранения пользовательских паролей"
+
+#: core/app_settings.py:148
+msgid "Active Directory"
+msgstr "Active Directory"
+
+#: core/app_settings.py:150
+msgid "Tell if the LDAP server is an Active Directory one"
+msgstr "Укажите, если LDAP сервер в Active Directory"
+
+#: core/app_settings.py:154
+msgid "Administrator groups"
+msgstr ""
+
+#: core/app_settings.py:157
+msgid ""
+"Members of those LDAP Posix groups will be created as domain administrators."
+" Use ';' characters to separate groups."
+msgstr ""
+
+#: core/app_settings.py:164
+msgid "Groups search base"
+msgstr ""
+
+#: core/app_settings.py:167
+msgid "The distinguished name of the search base used to find groups"
+msgstr ""
+
+#: core/app_settings.py:172
+#: extensions/admin/templates/admin/editdomainform.html:7
+msgid "Miscellaneous"
+msgstr "Прочее"
+
+#: core/app_settings.py:175
+msgid "Maximum log record age"
+msgstr "Максимальный срок хранения лог записей"
+
+#: core/app_settings.py:177
+msgid "The maximum age in days of a log record"
+msgstr "Срок хранения лог записей в днях "
+
+#: core/app_settings.py:181
+msgid "Items per page"
+msgstr "Элементов на странице"
+
+#: core/app_settings.py:183
+msgid "Number of displayed items per page"
+msgstr "Количество элементов на странице"
+
+#: core/app_settings.py:187
+msgid "Default top redirection"
+msgstr "Порог перенаправления по умолчанию"
+
+#: core/app_settings.py:190
+msgid "The default redirection used when no application is specified"
+msgstr "Если приложение не указано. Используется перенаправление по умолчанию."
+
+#: core/app_settings.py:218
+msgid "Key must be either 16, 24, or 32 bytes long"
+msgstr "Ключ должен быть 16, 24 или 32 байта длинной"
+
+#: core/app_settings.py:227 extensions/postfix_autoreply/app_settings.py:53
+msgid "Invalid syntax"
+msgstr "Ошибка в написании"
+
+#: core/app_settings.py:233
+msgid "Invalid rounds number"
+msgstr ""
+
+#: core/app_settings.py:256
+msgid "This field is required"
+msgstr "Это поле обязательно для заполнеия"
+
+#: core/app_settings.py:317 extensions/amavis/app_settings.py:87
+#: extensions/amavis/templates/amavis/main_action_bar.html:29
+#: extensions/webmail/app_settings.py:73
+msgid "Display"
+msgstr "Отображение"
+
+#: core/app_settings.py:321
+msgid "Prefered language"
+msgstr "Предпочитаемый язык"
+
+#: core/app_settings.py:326
+msgid "Prefered language to display pages"
+msgstr "Предпочитаемый язык для отображения страниц"
+
+#: core/forms.py:10 extensions/admin/forms/account.py:19
+#: extensions/admin/templates/admin/editdomainform.html:13
+msgid "Username"
+msgstr "Логин пользователя"
+
+#: core/forms.py:14 extensions/admin/forms/account.py:30
+msgid "Password"
+msgstr "Пароль"
+
+#: core/forms.py:25
+msgid "Old password"
+msgstr "Старый пароль"
+
+#: core/forms.py:29
+msgid "New password"
+msgstr "Новый пароль"
+
+#: core/forms.py:33 extensions/admin/forms/account.py:33
+msgid "Confirmation"
+msgstr "Подтверждение"
+
+#: core/forms.py:56
+msgid "Old password mismatchs"
+msgstr "Старые пароли не совпадают"
+
+#: core/forms.py:61
+msgid "Passwords mismatch"
+msgstr "Пароли не совпадают"
+
+#: core/models.py:49
+msgid "password"
+msgstr ""
+
+#: core/models.py:51
+msgid "last login"
+msgstr ""
+
+#: core/models.py:80
+msgid "You can't delete your own account"
+msgstr "Вы не можете удалить собственный аккаунт"
+
+#: core/models.py:116
+msgid "Failed to update password: LDAP module not installed"
+msgstr "Ошибка обновления пароля: модуль LDAP не установлен"
+
+#: core/models.py:169
+msgid "account"
+msgstr "Аккаунт"
+
+#: core/models.py:320 extensions/admin/models/domain.py:135
+#: 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:324
+msgid "You can't import an account with a role greater than yours"
+msgstr "Вы не можете импортировать аккаунт с ролью старше чем у вас"
+
+#: core/models.py:330
+#, python-format
+msgid "The simple user '%s' must have a valid email address"
+msgstr "Пользователь '%s' должен иметь действительный почтовый адрес"
+
+#: core/models.py:334
+#, python-format
+msgid "username and email fields must not differ for '%s'"
+msgstr "Имя пользователя и адрес не должны отличатся для пользователя '%s'"
+
+#: core/models.py:403 extensions/admin/models/alias.py:33
+#: extensions/admin/models/domain.py:32
+#: extensions/admin/models/domain_alias.py:17
+#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_relay_domains/models.py:85
+#: extensions/postfix_relay_domains/models.py:167
+msgid "enabled"
+msgstr "Разрешен"
+
+#: core/models.py:404
+msgid "Check to enable this extension"
+msgstr "Отметить для разрешения этого расширения"
+
+#: core/models.py:474
+msgid "added"
+msgstr "добавлено"
+
+#: core/models.py:477
+msgid "modified"
+msgstr "изменено"
+
+#: core/models.py:479 core/models.py:503
+#, 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:505
+msgid "deleted"
+msgstr "удалено"
+
+#: core/tables.py:8 core/templates/core/information.html:8
+#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:182
+#: extensions/admin/templates/admin/domains_table.html:5
+#: extensions/admin/templates/admin/editdomainform.html:13
+#: extensions/admin/templates/admin/identities_table.html:5
+#: extensions/sievefilters/forms.py:60
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
+msgid "Name"
+msgstr "Логин"
+
+#: core/tables.py:10 extensions/admin/tables.py:11
+msgid "Version"
+msgstr "Версия"
+
+#: core/tables.py:12 extensions/admin/tables.py:13
+msgid "Description"
+msgstr "Описание"
+
+#: core/templates/core/extensions.html:2 core/templatetags/core_tags.py:48
+msgid "Extensions"
+msgstr "Расширения"
+
+#: core/templates/core/extensions.html:2
+msgid "Choose the extension(s) to use"
+msgstr "Выберите расширения для использования"
+
+#: core/templates/core/extensions.html:6 core/templates/core/parameters.html:7
+#: core/templates/core/user_preferences.html:8
+msgid "Save"
+msgstr "Сохранить"
+
+#: core/templates/core/information.html:2 core/templatetags/core_tags.py:53
+msgid "Information"
+msgstr "Информация"
+
+#: core/templates/core/information.html:2
+msgid "Various information about Modoboa"
+msgstr "Различная информация о Modoboa"
+
+#: core/templates/core/information.html:3
+msgid "is currently in use."
+msgstr "используется в настоящее время"
+
+#: core/templates/core/information.html:5
+msgid "Active users"
+msgstr "Активные пользователи"
+
+#: core/templates/core/information.html:9
+msgid "Group name"
+msgstr "Название группы"
+
+#: core/templates/core/information.html:10
+msgid "Last login"
+msgstr "Последний вход"
+
+#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:57
+msgid "Logs"
+msgstr "Логи"
+
+#: core/templates/core/logs.html:2
+msgid "Previously on Modoboa..."
+msgstr "Ранее в Modoboa ..."
+
+#: core/templates/core/logs.html:6 extensions/amavis/sql_listing.py:46
+#: extensions/webmail/lib.py:48 extensions/webmail/lib.py:425
+msgid "Date"
+msgstr "Дата"
+
+#: core/templates/core/logs.html:7
+msgid "Level"
+msgstr "Уровень"
+
+#: core/templates/core/logs.html:8
+msgid "Logger"
+msgstr "Логгер"
+
+#: core/templates/core/logs.html:9
+msgid "Message"
+msgstr "Сообщение"
+
+#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:62
+msgid "Parameters"
+msgstr "Параметры"
+
+#: core/templates/core/parameters.html:2
+msgid "Configure Modoboa"
+msgstr "Настройка Modoboa"
+
+#: core/templates/core/settings_header.html:3
+msgid "Modoboa settings"
+msgstr "Настройки Modoboa"
+
+#: core/templates/core/user_index.html:2 core/templatetags/core_tags.py:81
+msgid "Settings"
+msgstr "Настройки"
+
+#: core/templates/core/user_preferences.html:2
+#: core/templatetags/core_tags.py:108
+msgid "Preferences"
+msgstr "Параметры"
+
+#: core/templates/core/user_preferences.html:2
+msgid "Customize Modoboa"
+msgstr "Настроить Modoboa"
+
+#: core/templates/core/user_profile.html:2 core/templatetags/core_tags.py:104
+msgid "Profile"
+msgstr "Профиль"
+
+#: core/templates/core/user_profile.html:2
+msgid "Update your personal information"
+msgstr "Обновить личную информацию"
+
+#: core/templates/core/user_profile.html:8
+#: extensions/admin/templates/admin/forward.html:8
+#: extensions/admin/views/alias.py:107 extensions/admin/views/domain.py:165
+#: extensions/admin/views/identity.py:197
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
+#: extensions/postfix_relay_domains/views.py:63
+#: extensions/sievefilters/views.py:163 extensions/webmail/views.py:170
+#: extensions/webmail/views.py:205
+msgid "Update"
+msgstr "Обновление"
+
+#: core/templatetags/core_tags.py:21
+msgid "Modoboa"
+msgstr "Modoboa"
+
+#: core/templatetags/core_tags.py:90
+msgid "Logout"
+msgstr "Завершить сеанс"
+
+#: core/views/admin.py:47
+msgid "Parameters saved"
+msgstr "Параметры сохранены"
+
+#: core/views/admin.py:90
+msgid "Modifications applied."
+msgstr "Модификации применены"
+
+#: core/views/auth.py:30
+#, python-format
+msgid "User '%s' successfully logged in"
+msgstr "Пользователь '%s' успешно вошел в систему"
+
+#: core/views/auth.py:43
+msgid "Your username and password didn't match. Please try again."
+msgstr "Не правильное имя или пароль. Попробуйте еще раз."
+
+#: core/views/auth.py:66
+#, python-format
+msgid "User '%s' logged out"
+msgstr "Пользователь '%s' вышел из системы"
+
+#: core/views/user.py:35
+msgid "Profile updated"
+msgstr "Профиль обновлен"
+
+#: core/views/user.py:58
+msgid "Preferences saved"
+msgstr "Параметры сохранены"
+
+#: demo/__init__.py:17
+msgid "Test messages"
+msgstr "Тестовое сообщение"
+
+#: demo/__init__.py:22
+msgid "Send virus"
+msgstr "Отправить вирус"
+
+#: demo/__init__.py:25
+msgid "Send spam"
+msgstr "Отправить спам"
+
+#: demo/views.py:18 demo/views.py:43
+msgid "Message sent"
+msgstr "Сообщение отправлено"
+
+#: demo/templates/demo/login_announcement.html:2
+msgid ""
+"\n"
+"Welcome to the online demo! \n"
+"Warning: the demo's concent is resetted every two hours.
\n"
+"To try the demo, the following users are available (username/password ):
\n"
+"\n"
+" A super administrator : admin/password \n"
+" A domain administrator : admin@demo.local/admin \n"
+" A simple user : user@demo.local/user \n"
+" \n"
+"Please report any issue or give any suggestion to \n"
+" the mailing list .
\n"
+msgstr "\nДобро пожаловать в онлайн демо! \nВнимание: содержание сбрасывается каждые два часа.
\nДля входа в демоверсию используйте следующие учетные данные(логин/пароль ):
\n\n Супер администратор : admin/password \n Администратор домена : admin@demo.local/admin \n Простой пользователь : user@demo.local/user \n \nПо любым вопросам и с предложениями обращайтесь пожалуйста\n Список рассылки .
\n"
+
+#: extensions/admin/__init__.py:48
+msgid "Administration console"
+msgstr "Консоль администратора"
+
+#: extensions/admin/__init__.py:50
+msgid "Web based console to manage domains, accounts and aliases"
+msgstr "Веб консоль для управления доменами, аккаунтами и синонимами"
+
+#: extensions/admin/__init__.py:55
+msgid "Administration"
+msgstr ""
+
+#: extensions/admin/__init__.py:79
+#: extensions/admin/templates/admin/domains.html:2
+#: extensions/limits/app_settings.py:19 extensions/limits/models.py:17
+msgid "Domains"
+msgstr "Домены"
+
+#: extensions/admin/__init__.py:85
+#: extensions/admin/templates/admin/identities.html:2
+msgid "Identities"
+msgstr "Пользователи"
+
+#: extensions/admin/__init__.py:100
+#: extensions/admin/templates/admin/forward.html:2
+#: extensions/webmail/templatetags/webmail_tags.py:28
+msgid "Forward"
+msgstr "Перенаправленые"
+
+#: extensions/admin/__init__.py:163
+#, python-format
+msgid "Account import failed (%s): domain does not exist"
+msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
+
+#: extensions/admin/app_settings.py:11
+#: extensions/admin/templates/admin/editdomainform.html:25
+#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
+#: extensions/webmail/app_settings.py:101
+#: extensions/webmail/templates/webmail/folders.html:4
+msgid "Mailboxes"
+msgstr "Почтовые ящики"
+
+#: extensions/admin/app_settings.py:14
+msgid "Handle mailboxes on filesystem"
+msgstr "Обрабатывать почтовые ящики на диске"
+
+#: extensions/admin/app_settings.py:16
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr "Удалять или переименовывать почтовые ящики на диске, если они удалены или переименованы в Modoboa"
+
+#: extensions/admin/app_settings.py:20
+msgid "Mailboxes ower"
+msgstr "Почтовые ящики закончились"
+
+#: extensions/admin/app_settings.py:22
+msgid "The UNIX account who owns mailboxes on the filesystem"
+msgstr "UNIX аккаунт владельца почтового ящика на диске"
+
+#: extensions/admin/app_settings.py:26
+msgid "Default domain quota"
+msgstr ""
+
+#: extensions/admin/app_settings.py:29
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+
+#: extensions/admin/app_settings.py:36
+msgid "Automatic account removal"
+msgstr "Автоматическое удаление аккаунта"
+
+#: extensions/admin/app_settings.py:38
+msgid "When a mailbox is removed, also remove the associated account"
+msgstr "При удалении почтового ящика, так же удалять и аккаунт владельца"
+
+#: extensions/admin/app_settings.py:64 extensions/admin/forms/account.py:177
+#: extensions/admin/forms/domain.py:56
+msgid "Must be a positive integer"
+msgstr ""
+
+#: extensions/admin/lib.py:28
+msgid "A mailbox is required"
+msgstr ""
+
+#: extensions/admin/forms/account.py:21
+msgid "The user's name. Must be a valid e-mail address for simple users."
+msgstr ""
+
+#: extensions/admin/forms/account.py:25
+msgid "Role"
+msgstr "Роль"
+
+#: extensions/admin/forms/account.py:26 extensions/admin/forms/account.py:54
+msgid "Choose"
+msgstr "Выбрать"
+
+#: extensions/admin/forms/account.py:27
+msgid "What level of permission this user will have"
+msgstr "Разрешения для этого пользователя"
+
+#: extensions/admin/forms/account.py:35
+msgid "Enter the same password as above, for verification."
+msgstr "Введите такой же пароль как выше. Для проверки."
+
+#: extensions/admin/forms/account.py:46
+msgid "Enabled"
+msgstr "Разрешено"
+
+#: extensions/admin/forms/account.py:93
+msgid "The two password fields didn't match."
+msgstr "Пароли не совпадают"
+
+#: extensions/admin/forms/account.py:99
+msgid "You can't disable your own account"
+msgstr "Вы не можете запретить собственный аккаунт"
+
+#: extensions/admin/forms/account.py:110
+msgid "E-mail"
+msgstr "Е-майл"
+
+#: extensions/admin/forms/account.py:112 extensions/admin/forms/domain.py:17
+msgid "Quota"
+msgstr "Квота"
+
+#: extensions/admin/forms/account.py:114
+msgid ""
+"Quota in MB for this mailbox. Define a custom value or use domain's default "
+"one. Leave empty to define an unlimited value (not allowed for domain "
+"administrators)."
+msgstr "Квота в мегабайтах для этого почтового ящика. Определите собственное значение или используйте значение по умолчанию для родительского домена. Оставьте пустым для неограниченного значения. (Не разрешено администраторам домена)"
+
+#: extensions/admin/forms/account.py:122 extensions/admin/forms/domain.py:26
+#: extensions/admin/templates/admin/domains_table.html:6
+#: extensions/postfix_relay_domains/forms.py:12
+msgid "Alias(es)"
+msgstr "Синоним(ы)"
+
+#: extensions/admin/forms/account.py:125
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+"*@domain.tld)."
+msgstr "Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)"
+
+#: extensions/admin/forms/account.py:186 extensions/admin/forms/account.py:216
+#: extensions/admin/forms/alias.py:65
+msgid "Domain does not exist"
+msgstr "Домен не существует"
+
+#: extensions/admin/forms/account.py:195
+#, python-format
+msgid "Mailbox %s already exists"
+msgstr "Почтовый ящик %s существует"
+
+#: extensions/admin/forms/account.py:283
+msgid "Domain(s)"
+msgstr "Домен(ы)"
+
+#: extensions/admin/forms/account.py:285
+msgid "Domain(s) that user administrates"
+msgstr "Домен(ы) администрируемые пользователем"
+
+#: extensions/admin/forms/account.py:327
+#: extensions/admin/views/identity.py:130
+msgid "Mail"
+msgstr "Почта"
+
+#: extensions/admin/forms/account.py:329
+msgid "Permissions"
+msgstr "Права"
+
+#: extensions/admin/forms/alias.py:16
+msgid "Email address"
+msgstr "Е-майл адрес"
+
+#: extensions/admin/forms/alias.py:18
+msgid ""
+"The distribution list address. Use the '*' character to create a 'catchall' "
+"address (ex: *@domain.tld)."
+msgstr "Адрес списка доставки. Используйте символ '*' что бы создать адрес 'доставить всем' Например (*@domain.tld)."
+
+#: extensions/admin/forms/alias.py:23
+msgid "Recipients"
+msgstr "Получатели"
+
+#: extensions/admin/forms/alias.py:25
+msgid ""
+"Mailbox(es) this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr "Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для добавления."
+
+#: extensions/admin/forms/alias.py:68
+msgid "You don't have access to this domain"
+msgstr "Вы не имеете права доступа к этому домену"
+
+#: extensions/admin/forms/alias.py:90
+msgid "Invalid mailbox"
+msgstr "Неверный почтовый ящик"
+
+#: extensions/admin/forms/alias.py:108 extensions/admin/models/alias.py:182
+#, python-format
+msgid "Local recipient %s not found"
+msgstr "Локальный получатель %s не найден"
+
+#: extensions/admin/forms/alias.py:112 extensions/admin/forms/alias.py:120
+#, python-format
+msgid "Recipient %s already present"
+msgstr "Получатель %s уже присутвует"
+
+#: extensions/admin/forms/alias.py:126
+msgid "No recipient defined"
+msgstr "Получатель не определен"
+
+#: extensions/admin/forms/domain.py:20
+msgid ""
+"Default quota in MB applied to mailboxes. Leave empty to use the default "
+"value."
+msgstr ""
+
+#: extensions/admin/forms/domain.py:29
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+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/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/postfix_relay_domains/forms.py:49
+#: extensions/postfix_relay_domains/forms.py:71
+msgid "domain"
+msgstr ""
+
+#: extensions/admin/forms/domain.py:176
+msgid "Create a domain administrator"
+msgstr "Создание администратора домена"
+
+#: extensions/admin/forms/domain.py:178
+msgid "Automatically create an administrator for this domain"
+msgstr "Автоматически создаст администратора для этого домена"
+
+#: extensions/admin/forms/domain.py:185
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr "Имя администратора. Не включайте имя домена оно будет добавлено автоматически."
+
+#: extensions/admin/forms/domain.py:193
+msgid "Create aliases"
+msgstr "Создание синонимов"
+
+#: extensions/admin/forms/domain.py:195
+msgid "Automatically create standard aliases for this domain"
+msgstr "Автоматически создает стандартные синонимы для этого домена"
+
+#: extensions/admin/forms/domain.py:211
+msgid "Invalid format"
+msgstr "Неверный формат"
+
+#: extensions/admin/forms/domain.py:225
+#, python-format
+msgid "User '%s' already exists"
+msgstr "Пользователь '%s' уже существует"
+
+#: extensions/admin/forms/export.py:7
+msgid "File name"
+msgstr "Имя файла"
+
+#: extensions/admin/forms/export.py:10 extensions/admin/forms/import_.py:8
+msgid "Separator"
+msgstr "Разделитель"
+
+#: extensions/admin/forms/forward.py:12
+msgid "Recipient(s)"
+msgstr "Получатели"
+
+#: extensions/admin/forms/forward.py:15
+msgid "Indicate one or more recipients separated by a ','"
+msgstr "Укажите одного или нескольких получателей, разделенных запятой ','"
+
+#: extensions/admin/forms/forward.py:18
+msgid "Keep local copies"
+msgstr "Сохранить локальную копию"
+
+#: extensions/admin/forms/forward.py:20
+msgid "Forward messages and store copies into your local mailbox"
+msgstr "Перенаправление сообщения, и сохранение копии в вашем локальном почтовом ящике"
+
+#: extensions/admin/forms/forward.py:38
+msgid ""
+"You can't define a forward to a local destination. Please ask your "
+"administrator to create an alias instead."
+msgstr "Вы не можете определить перенаправление на локальный адрес. Пожалуйста, попросите администратора создать синоним"
+
+#: extensions/admin/forms/import_.py:6 extensions/webmail/forms.py:26
+msgid "Select a file"
+msgstr "Выберите файл"
+
+#: extensions/admin/forms/import_.py:11
+msgid "Continue on error"
+msgstr "Продолжать при ошибке"
+
+#: extensions/admin/forms/import_.py:12
+msgid "Don't treat duplicated objects as error"
+msgstr "Не исправлять дублирующийся объект при ошибке"
+
+#: extensions/admin/forms/import_.py:27
+msgid "Crypt passwords"
+msgstr "Шифровать пароль"
+
+#: extensions/admin/forms/import_.py:28
+msgid "Check this option if passwords contained in your file are not crypted"
+msgstr "Выберите эту опцию если пароль в вашем файле не зашифрован "
+
+#: extensions/admin/models/alias.py:16 extensions/admin/models/mailbox.py:51
+msgid "address"
+msgstr "адрес"
+
+#: extensions/admin/models/alias.py:18
+msgid ""
+"The alias address (without the domain part). For a 'catch-all' address, just"
+" enter an * character."
+msgstr "Адреса синонимов (без доменной части). Для указания адреса 'для всех' введите символ *"
+
+#: extensions/admin/models/alias.py:24
+msgid "mailboxes"
+msgstr "Почтовые ящики"
+
+#: extensions/admin/models/alias.py:25
+msgid "The mailboxes this alias points to"
+msgstr "Это синоним почтового ящика"
+
+#: extensions/admin/models/alias.py:29
+msgid "The aliases this alias points to"
+msgstr "Синонимы этого синонима указывают на"
+
+#: extensions/admin/models/alias.py:34
+#: extensions/admin/models/domain_alias.py:18
+#: extensions/postfix_relay_domains/models.py:168
+msgid "Check to activate this alias"
+msgstr "Отметить для активации синонима"
+
+#: extensions/admin/models/alias.py:79
+msgid "distribution list"
+msgstr "Список рассылки"
+
+#: extensions/admin/models/alias.py:80
+msgid "forward"
+msgstr "Перенаправление"
+
+#: extensions/admin/models/alias.py:81
+msgid "alias"
+msgstr "Синоним"
+
+#: extensions/admin/models/alias.py:150
+#, python-format
+msgid "Invalid line: %s"
+msgstr "Неверная строка %s"
+
+#: extensions/admin/models/alias.py:155
+#, python-format
+msgid "Domain '%s' does not exist"
+msgstr "Домен '%s' не существует"
+
+#: extensions/admin/models/domain.py:28
+#: extensions/admin/models/domain_alias.py:10
+#: extensions/postfix_relay_domains/models.py:58
+#: extensions/postfix_relay_domains/models.py:76
+#: extensions/postfix_relay_domains/models.py:159
+msgid "name"
+msgstr "имя"
+
+#: extensions/admin/models/domain.py:29
+#: extensions/postfix_relay_domains/models.py:77
+msgid "The domain name"
+msgstr "Имя домена"
+
+#: extensions/admin/models/domain.py:33
+#: extensions/postfix_relay_domains/models.py:86
+msgid "Check to activate this domain"
+msgstr "Отметить для активации этого домена"
+
+#: extensions/admin/models/domain.py:61
+msgid "Domain"
+msgstr ""
+
+#: extensions/admin/models/domain.py:140
+#, python-format
+msgid "Invalid quota value for domain '%s'"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:11
+#: extensions/postfix_relay_domains/models.py:160
+msgid "The alias name"
+msgstr "Имя синонима"
+
+#: extensions/admin/models/domain_alias.py:13
+#: extensions/postfix_relay_domains/models.py:163
+msgid "target"
+msgstr "адресат"
+
+#: extensions/admin/models/domain_alias.py:14
+msgid "The domain this alias points to"
+msgstr "Домен этого синонима указывает на"
+
+#: extensions/admin/models/domain_alias.py:46
+#, python-format
+msgid "A domain %s already exists"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:51
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Неизвестный домен %s"
+
+#: extensions/admin/models/mailbox.py:52
+msgid "Mailbox address (without the @domain.tld part)"
+msgstr "Адрес почтового ящика (без @domain.tld)"
+
+#: extensions/admin/models/mailbox.py:113
+#, python-format
+msgid "Failed to retrieve mailbox location (%s)"
+msgstr "Ошибка получения места находжения почтового ящика (%s)"
+
+#: extensions/admin/models/mailbox.py:173
+#, python-format
+msgid "Quota is greater than the allowed domain's limit (%dM)"
+msgstr "Квота больше чем разрешено на уровне домена (%dM)"
+
+#: extensions/admin/models/mailbox.py:178
+msgid "A quota is required"
+msgstr "Требуется квота"
+
+#: extensions/admin/templates/admin/domain_general_form.html:3
+#: extensions/admin/templates/admin/mailform.html:3
+#: extensions/admin/templates/admin/newdomainform.html:3
+msgid "MB"
+msgstr "Мб"
+
+#: extensions/admin/templates/admin/domain_options_form.html:5
+msgid "You can't create a new domain administrator"
+msgstr ""
+
+#: extensions/admin/templates/admin/domains_table.html:7
+#: extensions/admin/templates/admin/identities_table.html:7
+msgid "Tags"
+msgstr "Теги"
+
+#: extensions/admin/templates/admin/domains_table.html:8
+#: extensions/admin/templates/admin/identities_table.html:8
+#: extensions/admin/templates/admin/listing.html:17
+#: extensions/sievefilters/views.py:93
+#: extensions/sievefilters/templates/sievefilters/filter.html:17
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
+#: extensions/webmail/templatetags/webmail_tags.py:101
+msgid "Actions"
+msgstr "Действие"
+
+#: extensions/admin/templates/admin/editdomainform.html:4
+msgid "Administrators"
+msgstr "Администраторы"
+
+#: extensions/admin/templates/admin/editdomainform.html:19
+msgid "No domain administrator defined"
+msgstr "Администратор домена не определен"
+
+#: extensions/admin/templates/admin/editdomainform.html:22
+msgid "Creation date"
+msgstr "Дата создания"
+
+#: extensions/admin/templates/admin/editdomainform.html:23
+msgid "Last modification date"
+msgstr "Дата последней модификации"
+
+#: extensions/admin/templates/admin/editdomainform.html:24
+#: extensions/limits/app_settings.py:25 extensions/limits/models.py:20
+msgid "Domain aliases"
+msgstr "Синонимы доменов"
+
+#: extensions/admin/templates/admin/editdomainform.html:26
+#: extensions/limits/app_settings.py:37 extensions/limits/models.py:25
+msgid "Mailbox aliases"
+msgstr "Синонимы почтового ящика"
+
+#: extensions/admin/templates/admin/forward.html:2
+msgid "Automatically forward emails to another address"
+msgstr "Автоматически перенаправлять письма на другой адрес"
+
+#: extensions/admin/templates/admin/identities_table.html:6
+msgid "Fullname/Recipient"
+msgstr "Полное имя/получатель"
+
+#: extensions/admin/templates/admin/importform.html:5
+msgid "Help"
+msgstr "Подсказка"
+
+#: extensions/admin/templates/admin/importform.html:12
+msgid "Importing..."
+msgstr "Импорт..."
+
+#: extensions/admin/templates/admin/listing.html:14
+#: extensions/stats/templates/stats/index.html:28
+msgid "Filter"
+msgstr "Фильтр"
+
+#: extensions/admin/templates/admin/mailboxes_raw.html:3
+msgid "Choose a value"
+msgstr "Выбрать значение"
+
+#: extensions/admin/templates/admin/mailform.html:3
+msgid "Use domain default value"
+msgstr "Используются значения домена по умолчанию "
+
+#: extensions/admin/templates/admin/quotas.html:5
+msgid "Address"
+msgstr "Адрес"
+
+#: extensions/admin/templates/admin/quotas.html:6
+msgid "Value"
+msgstr "Значение"
+
+#: extensions/admin/templates/admin/quotas.html:7
+msgid "Limit"
+msgstr "Лимит"
+
+#: extensions/admin/templates/admin/quotas.html:8
+#, python-format
+msgid "Usage (%%)"
+msgstr "использование (%%)"
+
+#: extensions/admin/templates/admin/searchform.html:6
+msgid "Search"
+msgstr "Поиск"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_m"
+msgstr "enabled_m"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_f"
+msgstr "enabled_f"
+
+#: extensions/admin/templatetags/admin_tags.py:33
+msgid "Add domain"
+msgstr "Добавить домен"
+
+#: extensions/admin/templatetags/admin_tags.py:42
+#: extensions/admin/templatetags/admin_tags.py:106
+#: extensions/admin/views/import.py:51 extensions/admin/views/import.py:166
+msgid "Import"
+msgstr "Импорт"
+
+#: extensions/admin/templatetags/admin_tags.py:48
+#: extensions/admin/templatetags/admin_tags.py:112
+#: extensions/admin/views/export.py:38 extensions/admin/views/export.py:64
+msgid "Export"
+msgstr "Экспорт"
+
+#: extensions/admin/templatetags/admin_tags.py:72
+msgid "List identities"
+msgstr "Список пользователей"
+
+#: extensions/admin/templatetags/admin_tags.py:77
+msgid "List quotas"
+msgstr "Список квот"
+
+#: extensions/admin/templatetags/admin_tags.py:82
+msgid "Add account"
+msgstr "Добавить аккаунт"
+
+#: extensions/admin/templatetags/admin_tags.py:88
+msgid "Add alias"
+msgstr "Добавить синоним"
+
+#: extensions/admin/templatetags/admin_tags.py:94
+msgid "Add forward"
+msgstr "Добавить пересылку"
+
+#: extensions/admin/templatetags/admin_tags.py:100
+msgid "Add distribution list"
+msgstr "Добавить список рассылки"
+
+#: extensions/admin/templatetags/admin_tags.py:133
+msgid "View the domain's identities"
+msgstr "Информация о домене"
+
+#: extensions/admin/templatetags/admin_tags.py:143
+#: extensions/admin/templatetags/admin_tags.py:162
+#: extensions/admin/templatetags/admin_tags.py:169
+#: extensions/postfix_relay_domains/general_callbacks.py:84
+#, python-format
+msgid "Delete %s?"
+msgstr "Удалить %s?"
+
+#: extensions/admin/templatetags/admin_tags.py:239
+msgid "Remove this permission"
+msgstr "Удалить это разрешение"
+
+#: extensions/admin/views/alias.py:25
+msgid "Alias with this name already exists"
+msgstr "Синоним с таким именем уже есть"
+
+#: extensions/admin/views/alias.py:49 extensions/admin/views/domain.py:100
+#: extensions/admin/views/domain.py:129 extensions/admin/views/identity.py:131
+#: extensions/admin/views/identity.py:158
+#: extensions/postfix_relay_domains/views.py:32
+#: extensions/sievefilters/views.py:141 extensions/sievefilters/views.py:230
+#: extensions/webmail/views.py:151
+msgid "Create"
+msgstr "Создать"
+
+#: extensions/admin/views/alias.py:61
+msgid "New distribution list"
+msgstr "Новый список рассылки"
+
+#: extensions/admin/views/alias.py:62
+msgid "Distribution list created"
+msgstr "Список рассылки создан"
+
+#: extensions/admin/views/alias.py:71
+msgid "New alias"
+msgstr "Новый синоним"
+
+#: extensions/admin/views/alias.py:72
+msgid "Alias created"
+msgstr "Синоним создан"
+
+#: extensions/admin/views/alias.py:81
+msgid "New forward"
+msgstr "Новая пересылка"
+
+#: extensions/admin/views/alias.py:82
+msgid "Forward created"
+msgstr "Пересылка создана"
+
+#: extensions/admin/views/alias.py:95
+msgid "Distribution list modified"
+msgstr "Список рассылки изменен"
+
+#: extensions/admin/views/alias.py:97
+msgid "Forward modified"
+msgstr "Пересылка изменена"
+
+#: extensions/admin/views/alias.py:99
+msgid "Alias modified"
+msgstr "Синоним изменен"
+
+#: extensions/admin/views/domain.py:96 extensions/admin/views/identity.py:128
+msgid "Next"
+msgstr "Следующая"
+
+#: extensions/admin/views/domain.py:99
+msgid "Options"
+msgstr "Опции"
+
+#: extensions/admin/views/domain.py:101 extensions/admin/views/identity.py:132
+msgid "Previous"
+msgstr "Предыдущая"
+
+#: extensions/admin/views/domain.py:123
+msgid "Domain created"
+msgstr "Домен создан"
+
+#: extensions/admin/views/domain.py:128
+msgid "New domain"
+msgstr "Новый домен"
+
+#: extensions/admin/views/domain.py:155
+msgid "Domain modified"
+msgstr "Домен изменен"
+
+#: extensions/admin/views/domain.py:189
+msgid "You can't delete your own domain"
+msgstr "Вы не можете удалить собственный домен"
+
+#: extensions/admin/views/domain.py:192
+msgid "Domain deleted"
+msgid_plural "Domains deleted"
+msgstr[0] "Домен удален"
+msgstr[1] "Домена удалено"
+msgstr[2] "Доменов удалено"
+
+#: extensions/admin/views/export.py:37
+msgid "Export identities"
+msgstr "Экспорт пользователя"
+
+#: extensions/admin/views/export.py:63
+msgid "Export domains"
+msgstr "Экспорт доменов"
+
+#: extensions/admin/views/identity.py:103
+#: extensions/admin/views/identity.py:224
+#: extensions/admin/views/identity.py:229 extensions/amavis/views.py:179
+#: extensions/amavis/views.py:185 extensions/amavis/views.py:220
+#: extensions/amavis/views.py:224 extensions/amavis/views.py:226
+#: extensions/webmail/views.py:47 extensions/webmail/views.py:65
+#: extensions/webmail/views.py:79 extensions/webmail/views.py:97
+#: extensions/webmail/views.py:114 extensions/webmail/views.py:200
+#: extensions/webmail/views.py:223 extensions/webmail/views.py:396
+#: extensions/webmail/views.py:430 extensions/webmail/views.py:443
+#: extensions/webmail/views.py:472 extensions/webmail/views.py:513
+#: lib/formutils.py:44 lib/formutils.py:49
+msgid "Invalid request"
+msgstr "Ошибочный запрос"
+
+#: extensions/admin/views/identity.py:149
+msgid "Account created"
+msgstr "Аккаунт создан"
+
+#: extensions/admin/views/identity.py:155
+msgid "New account"
+msgstr "Новый аккаунт"
+
+#: extensions/admin/views/identity.py:190
+msgid "Account updated"
+msgstr "аккаунт изменен"
+
+#: extensions/admin/views/identity.py:214
+msgid "Account deleted"
+msgid_plural "Accounts deleted"
+msgstr[0] "Аккаунт удален"
+msgstr[1] "Аккаунта удалено"
+msgstr[2] "Аккаунтов удалено"
+
+#: extensions/admin/views/import.py:39
+#, python-format
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+
+#: extensions/admin/views/import.py:50
+msgid "Import domains"
+msgstr "Импорт доменов"
+
+#: extensions/admin/views/import.py:129
+#, python-format
+msgid "Object already exists: %s"
+msgstr "Объект уже существует: %s"
+
+#: extensions/admin/views/import.py:133
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d объектов импортировано"
+
+#: extensions/admin/views/import.py:153
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+"account; loginname; password; first name; last name; enabled; group; address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
+"\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+
+#: extensions/admin/views/import.py:165
+msgid "Import identities"
+msgstr "Импорт информации о пользователях"
+
+#: extensions/admin/views/user.py:37
+msgid "Forward updated"
+msgstr "Перенаправление обновлено"
+
+#: extensions/amavis/__init__.py:21
+msgid "Simple amavis management frontend"
+msgstr "Простой интерфейс управления AMaViS"
+
+#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:17
+msgid "Quarantine"
+msgstr "Карантин"
+
+#: extensions/amavis/app_settings.py:11
+msgid "Quarantine settings"
+msgstr "Настройки карантина"
+
+#: extensions/amavis/app_settings.py:14
+msgid "Maximum message age"
+msgstr "Максимальное время жизни сообщения"
+
+#: extensions/amavis/app_settings.py:16
+msgid "Quarantine messages maximum age (in days) before deletion"
+msgstr "Максимальный срок хранения сообщений в карантине (в днях) перед удалением"
+
+#: extensions/amavis/app_settings.py:19
+msgid "Messages releasing"
+msgstr "Сообщение деблокировано"
+
+#: extensions/amavis/app_settings.py:22
+msgid "Remove released messages"
+msgstr "Удалить деблокированные сообщения"
+
+#: extensions/amavis/app_settings.py:24
+msgid "Remove messages marked as released while cleaning up the database"
+msgstr "Удалить сообщения отмеченные как деблокированные при очистке базы"
+
+#: extensions/amavis/app_settings.py:28
+msgid "Amavis connection mode"
+msgstr "Режим подключения Amavis"
+
+#: extensions/amavis/app_settings.py:31
+msgid "Mode used to access the PDP server"
+msgstr "Режим подключения к PDP серверу"
+
+#: extensions/amavis/app_settings.py:36
+msgid "PDP server address"
+msgstr "Адрес сервера PDP"
+
+#: extensions/amavis/app_settings.py:38
+msgid "PDP server address (if inet mode)"
+msgstr "Адрес PDP сервера (интернет режим)"
+
+#: extensions/amavis/app_settings.py:42
+msgid "PDP server port"
+msgstr "Порт сервера PDP"
+
+#: extensions/amavis/app_settings.py:44
+msgid "PDP server port (if inet mode)"
+msgstr "Порт PDP сервера (интернет режим)"
+
+#: extensions/amavis/app_settings.py:48
+msgid "PDP server socket"
+msgstr "Сокет сервера PDP"
+
+#: extensions/amavis/app_settings.py:50
+msgid "Path to the PDP server socket (if unix mode)"
+msgstr "Путь к PDP сокету сервера (для UNIX режима)"
+
+#: extensions/amavis/app_settings.py:54
+msgid "Check requests interval"
+msgstr "Интервал проверки запросов"
+
+#: extensions/amavis/app_settings.py:56
+msgid "Interval between two release requests checks"
+msgstr "Интервал между запросами на деблокирование для доставки"
+
+#: extensions/amavis/app_settings.py:60
+msgid "Allow direct release"
+msgstr "Разрешить прямое деблокирование"
+
+#: extensions/amavis/app_settings.py:62
+msgid "Allow users to directly release their messages"
+msgstr "Позволить пользователю самостоятельно деблокировать сообщения для доставки"
+
+#: extensions/amavis/app_settings.py:66
+msgid "Enable self-service mode"
+msgstr "Разрешить режим самообслуживания"
+
+#: extensions/amavis/app_settings.py:68
+msgid "Activate the 'self-service' mode"
+msgstr "Активировать режим 'самообслуживания'"
+
+#: extensions/amavis/app_settings.py:72
+msgid "Notifications sender"
+msgstr "Уведомления отправителю"
+
+#: extensions/amavis/app_settings.py:74
+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"
+msgstr "Количество отображаемых сообщений на странице"
+
+#: extensions/amavis/app_settings.py:92
+msgid "Set the maximum number of messages displayed in a page"
+msgstr "Установить максимальное количество сообщений показываемых на странице"
+
+#: extensions/amavis/general_callbacks.py:81
+msgid "pending requests"
+msgstr "ожидающие запросы"
+
+#: extensions/amavis/general_callbacks.py:124
+msgid "Pending requests"
+msgstr ""
+
+#: extensions/amavis/general_callbacks.py:134
+msgid "Content filter"
+msgstr "Фильтр содержания"
+
+#: extensions/amavis/lib.py:57
+#, python-format
+msgid "Connection to amavis failed: %s"
+msgstr "Ошибка соединания с Amavis %s"
+
+#: extensions/amavis/models.py:93
+msgid "Virus filter"
+msgstr "Фильтр вирусов"
+
+#: extensions/amavis/models.py:94 extensions/amavis/models.py:102
+#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:290
+msgid "yes"
+msgstr "Да"
+
+#: extensions/amavis/models.py:95 extensions/amavis/models.py:103
+#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:294
+msgid "no"
+msgstr "Нет"
+
+#: extensions/amavis/models.py:96 extensions/amavis/models.py:104
+#: extensions/amavis/models.py:112
+#: extensions/amavis/templates/amavis/domain_content_filter.html:11
+msgid "default"
+msgstr "По умолчанию"
+
+#: extensions/amavis/models.py:98
+msgid "Bypass virus checks or not. Choose 'default' to use global settings."
+msgstr "Обход проверки на вирусы. Выберите 'По умолчанию' для использования глобальных настроек"
+
+#: extensions/amavis/models.py:101
+msgid "Spam filter"
+msgstr "Спам фильтр"
+
+#: extensions/amavis/models.py:106
+msgid "Bypass spam checks or not. Choose 'default' to use global settings."
+msgstr "Обход проверки на спам. Выберите 'По умолчанию' для использования глобальных настроек"
+
+#: extensions/amavis/models.py:109
+msgid "Banned filter"
+msgstr "Фильтр блокировки"
+
+#: extensions/amavis/models.py:114
+msgid "Bypass banned checks or not. Choose 'default' to use global settings."
+msgstr "Обход проверки на блокирование. Выберите 'По умолчанию' для использования глобальных настроек"
+
+#: extensions/amavis/models.py:144
+msgid "Spam marker"
+msgstr "Спам-метка"
+
+#: extensions/amavis/models.py:146
+msgid ""
+"Modify spam subject using the specified text. Choose 'default' to use global"
+" settings."
+msgstr "Изменить тему спам сообщения используя специальный текст. Выберите 'по умолчанию' для использования глобальных настроек"
+
+#: extensions/amavis/sql_listing.py:31
+msgid "Score"
+msgstr ""
+
+#: extensions/amavis/sql_listing.py:35
+#: extensions/amavis/templatetags/amavis_tags.py:75
+#: extensions/webmail/forms.py:7
+msgid "To"
+msgstr "Кому"
+
+#: extensions/amavis/sql_listing.py:38
+#: extensions/postfix_autoreply/forms.py:11 extensions/webmail/lib.py:44
+msgid "From"
+msgstr "От кого"
+
+#: extensions/amavis/sql_listing.py:42 extensions/sievefilters/forms.py:77
+#: extensions/webmail/forms.py:11 extensions/webmail/lib.py:40
+#: extensions/webmail/lib.py:423 templates/common/email_searchbar.html:6
+msgid "Subject"
+msgstr "Тема"
+
+#: extensions/amavis/views.py:27
+msgid "Empty quarantine"
+msgstr "очистить карантин"
+
+#: extensions/amavis/views.py:186
+msgid "Message deleted"
+msgstr "Сообщение удалено"
+
+#: extensions/amavis/views.py:207
+#, python-format
+msgid "%(count)d message deleted successfully"
+msgid_plural "%(count)d messages deleted successfully"
+msgstr[0] "%(count)d сообщение успешно удалено"
+msgstr[1] "%(count)d сообщения успешно удалено"
+msgstr[2] "%(count)d сообщений успешно удалено"
+
+#: extensions/amavis/views.py:229
+msgid "Request sent"
+msgstr "Запрос послан"
+
+#: extensions/amavis/views.py:235
+msgid "Message released"
+msgstr "Сообщение деблокировано"
+
+#: extensions/amavis/views.py:268
+#, python-format
+msgid "%(count)d request sent"
+msgid_plural "%(count)d requests sent"
+msgstr[0] "%(count)d запрос послан"
+msgstr[1] "%(count)d запроса полано"
+msgstr[2] "%(count)d запросов послано"
+
+#: extensions/amavis/views.py:288
+#, python-format
+msgid "%(count)d message released successfully"
+msgid_plural "%(count)d messages released successfully"
+msgstr[0] "%(count)d сообщение успешно деблокировано"
+msgstr[1] "%(count)d сообщения успешно деблокировано"
+msgstr[2] "%(count)d сообщений успешно деблокировано"
+
+#: extensions/amavis/management/commands/amnotify.py:57
+msgid "[modoboa] Pending release requests"
+msgstr "[modoboa] Заявки для включения в следующий релиз"
+
+#: extensions/amavis/templates/amavis/domain_content_filter.html:5
+msgid "Thresholds"
+msgstr "Порог"
+
+#: extensions/amavis/templates/amavis/domain_content_filter.html:7
+msgid "or more is spam"
+msgstr "или более это спам"
+
+#: extensions/amavis/templates/amavis/domain_content_filter.html:8
+msgid "or more throw spam message away"
+msgstr "или более отклоняет spam сообщение "
+
+#: extensions/amavis/templates/amavis/index.html:2
+msgid "Quarantine management"
+msgstr "Управление карантином"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:3
+msgid "Select"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:9
+msgid "Spam"
+msgstr "Спам"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:10
+msgid "Virus"
+msgstr "Вирус"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:11
+msgid "Bad Header"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:12
+msgid "Bad MIME"
+msgstr "Ошибка MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:13
+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
+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/webmail/templatetags/webmail_tags.py:32
+msgid "Delete"
+msgstr "Удалить"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+#: extensions/sievefilters/forms.py:64
+msgid "All messages"
+msgstr "Все сообщения"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+msgid "All"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:32
+msgid "Spam only"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:33
+msgid "Virus only"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:34
+msgid "Bad Header only"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:35
+msgid "Bad MIME only"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:36
+msgid "Banned only"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/notifications/pending_requests.html:1
+#, python-format
+msgid ""
+"\n"
+"%(counter)s release request is pending for action.\n"
+msgid_plural ""
+"\n"
+"%(counter)s release requests are pending for action.\n"
+msgstr[0] "\n%(counter)s запрос на освобождение в процессе выполнения \n"
+msgstr[1] "\n%(counter)s запроса на освобождение в процессе выполнения \n"
+msgstr[2] "\n%(counter)s запросов на деблокирование в процессе выполнения \n"
+
+#: extensions/amavis/templates/amavis/notifications/pending_requests.html:6
+msgid "Sketch:"
+msgstr "Эскиз:"
+
+#: extensions/amavis/templates/amavis/notifications/pending_requests.html:8
+msgid "From:"
+msgstr "От кого:"
+
+#: extensions/amavis/templates/amavis/notifications/pending_requests.html:9
+msgid "To:"
+msgstr "Кому:"
+
+#: extensions/amavis/templates/amavis/notifications/pending_requests.html:10
+msgid "Date:"
+msgstr "Дата:"
+
+#: extensions/amavis/templates/amavis/notifications/pending_requests.html:11
+msgid "Subject:"
+msgstr "Тема:"
+
+#: extensions/amavis/templates/amavis/notifications/pending_requests.html:12
+msgid "Act on this message:"
+msgstr "Действуйте согласно этого сообщения"
+
+#: extensions/amavis/templates/amavis/notifications/pending_requests.html:14
+#, python-format
+msgid "Please visit %(listingurl)s for a full listing."
+msgstr "Для просмотра листинга посетите %(listingurl)s"
+
+#: extensions/amavis/templatetags/amavis_tags.py:28
+msgid "View full headers"
+msgstr "Просмотр заголовков"
+
+#: extensions/limits/__init__.py:25
+msgid ""
+"Per administrator resources to limit the number of objects they can create"
+msgstr "Лимиты для администраторов на количество создаваемых объектов"
+
+#: extensions/limits/__init__.py:56
+msgid "Limits"
+msgstr "Лимиты"
+
+#: extensions/limits/app_settings.py:10
+msgid "Default limits"
+msgstr "Лимиты по умолчанию"
+
+#: extensions/limits/app_settings.py:13 extensions/limits/models.py:14
+msgid "Domain admins"
+msgstr "Администраторы домена"
+
+#: extensions/limits/app_settings.py:15
+msgid ""
+"Maximum number of allowed domain administrators for a new administrator"
+msgstr "Максимальное количество администраторов домена для нового администратора"
+
+#: extensions/limits/app_settings.py:21
+msgid "Maximum number of allowed domains for a new administrator"
+msgstr "Максимальное количество доменов для нового администратора"
+
+#: extensions/limits/app_settings.py:27
+msgid "Maximum number of allowed domain aliases for a new administrator"
+msgstr "Максимальное количество синонимов доменов для нового администратора"
+
+#: extensions/limits/app_settings.py:33
+msgid "Maximum number of allowed mailboxes for a new administrator"
+msgstr "Максимальное количество почтовых ящиков для нового администратора"
+
+#: extensions/limits/app_settings.py:39
+msgid "Maximum number of allowed aliases for a new administrator"
+msgstr "Максимальное количество синонимов для нового администратора"
+
+#: extensions/limits/forms.py:28 extensions/limits/forms.py:35
+msgid "Invalid limit"
+msgstr "Ошибочный лимит"
+
+#: extensions/limits/forms.py:57
+msgid "Your resources are not initialized yet"
+msgstr "Ваши ресурсы не инициализированы"
+
+#: extensions/limits/forms.py:61
+msgid "You're not allowed to define unlimited values"
+msgstr "Вам не позволено определять нелимитированные значения"
+
+#: extensions/limits/general_callbacks.py:10
+msgid "Reseller"
+msgstr "Реселлер"
+
+#: extensions/limits/general_callbacks.py:48
+msgid "Resources"
+msgstr "Ресурсы"
+
+#: extensions/limits/lib.py:19
+#, python-format
+msgid "%s: limit reached"
+msgstr "%s лимит исчерпан"
+
+#: extensions/limits/lib.py:29
+msgid "Not enough resources"
+msgstr "Недостаточно ресурсов"
+
+#: extensions/limits/models.py:15
+msgid "Maximum number of domain administrators this user can create"
+msgstr "Максимальное количество создаваемых администраторов домена для этого пользователя"
+
+#: extensions/limits/models.py:18
+msgid "Maximum number of domains this user can create"
+msgstr "Максимальное количество создаваемых доменов для этого пользователя"
+
+#: extensions/limits/models.py:21
+msgid "Maximum number of domain aliases this user can create"
+msgstr "Максимальное количество создаваемых синонимов (алиасов) доменов для этого пользователя"
+
+#: extensions/limits/models.py:24
+msgid "Maximum number of mailboxes this user can create"
+msgstr "Максимальное количество создаваемых почтовых ящиков для этого пользователя"
+
+#: extensions/limits/models.py:26
+msgid "Maximum number of mailbox aliases this user can create"
+msgstr "Максимальное количество создаваемых синонимов почтовых ящиков для этого пользователя"
+
+#: extensions/limits/models.py:136
+msgid "undefined"
+msgstr "Не определено"
+
+#: extensions/limits/models.py:138
+msgid "unlimited"
+msgstr "Не лимитировано"
+
+#: extensions/limits/templates/limits/poolusage.html:4
+msgid "Resources usage"
+msgstr "Использование ресурсов"
+
+#: extensions/postfix_autoreply/__init__.py:26
+msgid "Auto-reply (vacation) functionality using Postfix"
+msgstr "Автоответчик (отпуск) использует возможности PostFix"
+
+#: extensions/postfix_autoreply/__init__.py:47
+msgid "Automatic replies"
+msgstr "Автоматические ответы"
+
+#: extensions/postfix_autoreply/app_settings.py:14
+msgid "Automatic reply timeout"
+msgstr "Тайм-аут автоматического ответа"
+
+#: extensions/postfix_autoreply/app_settings.py:16
+msgid "Timeout in seconds between two auto-replies to the same recipient"
+msgstr "Промежуток между автоматическими ответами"
+
+#: extensions/postfix_autoreply/app_settings.py:20
+msgid "Default subject"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:21
+msgid "I'm off"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:23
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:28
+msgid "Default content"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:30
+#, python-format
+msgid ""
+"I'm currently off. I'll answer as soon as I come back.\n"
+"\n"
+"Best regards,\n"
+"%(name)s\n"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:36
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: extensions/postfix_autoreply/forms.py:13
+msgid "Activate your auto reply from this date"
+msgstr ""
+
+#: extensions/postfix_autoreply/forms.py:19
+msgid "Until"
+msgstr "Утилиты"
+
+#: extensions/postfix_autoreply/forms.py:21
+msgid "Activate your auto reply until this date"
+msgstr "Активировать автоответчик после даты"
+
+#: extensions/postfix_autoreply/forms.py:49
+#: extensions/postfix_autoreply/forms.py:55
+msgid "This date is over"
+msgstr "Эта дата позже"
+
+#: extensions/postfix_autoreply/forms.py:59
+msgid "Must be greater than start date"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:33
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Auto-reply message"
+msgstr "Сообщение автоответчика"
+
+#: extensions/postfix_autoreply/general_callbacks.py:118
+msgid "Enable auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:120
+msgid "Enable or disable Postfix auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/models.py:20
+msgid "subject"
+msgstr "Тема"
+
+#: extensions/postfix_autoreply/models.py:21
+msgid "The subject that will appear in sent emails"
+msgstr "Тема отправляемых сообщений"
+
+#: extensions/postfix_autoreply/models.py:24
+msgid "content"
+msgstr "Содержание"
+
+#: extensions/postfix_autoreply/models.py:25
+msgid "The content that will appear in sent emails"
+msgstr "Содержание отправляемых сообщений"
+
+#: extensions/postfix_autoreply/models.py:29
+msgid "Activate/Deactivate your auto reply"
+msgstr "Активировать/Деактивировать автоответчик"
+
+#: extensions/postfix_autoreply/views.py:34
+msgid "Auto reply message updated successfully."
+msgstr "Сообщения автоответчика успешно обновлены"
+
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Define a message to automatically send when you are off"
+msgstr "Задает сообщение для автоматической отправки при вашем отсутствии"
+
+#: extensions/postfix_relay_domains/__init__.py:72
+msgid "Relay domains support for Postfix"
+msgstr ""
+
+#: extensions/postfix_relay_domains/__init__.py:89
+#: extensions/postfix_relay_domains/general_callbacks.py:100
+#: extensions/postfix_relay_domains/limits_callbacks.py:16
+msgid "Relay domains"
+msgstr ""
+
+#: extensions/postfix_relay_domains/app_settings.py:10
+msgid "Postfix's master.cf path"
+msgstr ""
+
+#: extensions/postfix_relay_domains/app_settings.py:12
+msgid "Path to the master.cf configuration file"
+msgstr ""
+
+#: extensions/postfix_relay_domains/forms.py:15
+msgid ""
+"Alias(es) of this relay domain. Indicate only one name per input, press "
+"ENTER to add a new input."
+msgstr ""
+
+#: extensions/postfix_relay_domains/forms.py:51
+#: extensions/postfix_relay_domains/general_callbacks.py:93
+msgid "relay domain alias"
+msgstr ""
+
+#: extensions/postfix_relay_domains/forms.py:69
+#: extensions/postfix_relay_domains/general_callbacks.py:92
+msgid "relay domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:35
+msgid "Add relay domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:101
+msgid "Maximum number of relay domains this user can create"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:103
+#: extensions/postfix_relay_domains/limits_callbacks.py:24
+msgid "Relay domain aliases"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:104
+msgid "Maximum number of relay domain aliases this user can create"
+msgstr ""
+
+#: extensions/postfix_relay_domains/general_callbacks.py:111
+msgid ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients \n"
+"relaydomainalias; name; target; enabled \n"
+msgstr ""
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:19
+msgid "Maximum number of allowed relay domains for a new administrator"
+msgstr ""
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:27
+msgid "Maximum number of allowed relay domain aliases for a new administrator"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:59
+msgid "The service name"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:80
+msgid "target host"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:81
+msgid "Remote destination of this domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:89
+msgid "verify recipients"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:90
+msgid "Check for valid recipients"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:103
+msgid "Relay Domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:164
+msgid "The relay domain this alias points to"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:195
+#, python-format
+msgid "Relay domain %s does not exist"
+msgstr ""
+
+#: extensions/postfix_relay_domains/views.py:26
+msgid "Relay domain created"
+msgstr ""
+
+#: extensions/postfix_relay_domains/views.py:31
+msgid "New relay domain"
+msgstr ""
+
+#: extensions/postfix_relay_domains/views.py:54
+msgid "Relay domain modified"
+msgstr ""
+
+#: extensions/postfix_relay_domains/views.py:77
+msgid "Relay domain deleted"
+msgstr ""
+
+#: extensions/postfix_relay_domains/templates/postfix_relay_domains/service_field.html:2
+msgid "Scan"
+msgstr ""
+
+#: extensions/sievefilters/__init__.py:12
+msgid "Plugin to easily create server-side filters"
+msgstr "Плагин позволяет создавать фильтры на сервере"
+
+#: extensions/sievefilters/__init__.py:18
+msgid "Sieve filters"
+msgstr "Фильтры содержания"
+
+#: extensions/sievefilters/__init__.py:19
+#: extensions/sievefilters/general_callbacks.py:14
+#: extensions/sievefilters/templates/sievefilters/index.html:2
+msgid "Message filters"
+msgstr "Фильтры сообщений"
+
+#: extensions/sievefilters/app_settings.py:19
+msgid "ManageSieve settings"
+msgstr "Настройки фильтров содержания"
+
+#: extensions/sievefilters/app_settings.py:24
+msgid "Address of your MANAGESIEVE server"
+msgstr "Адрес вашего MANAGESIEVE сервера"
+
+#: extensions/sievefilters/app_settings.py:30
+msgid "Listening port of your MANAGESIEVE server"
+msgstr "Порт вашего MANAGESIEVE сервера"
+
+#: extensions/sievefilters/app_settings.py:34
+msgid "Connect using STARTTLS"
+msgstr "Подключение с помощью STARTTLS"
+
+#: extensions/sievefilters/app_settings.py:36
+msgid "Use the STARTTLS extension"
+msgstr "Используйте расширение STARTTLS"
+
+#: extensions/sievefilters/app_settings.py:40
+msgid "Authentication mechanism"
+msgstr "Механизм аутентификации"
+
+#: extensions/sievefilters/app_settings.py:43
+msgid "Prefered authentication mechanism"
+msgstr "Предпочтительный механизм аутентификации"
+
+#: extensions/sievefilters/app_settings.py:54
+msgid "Editor mode"
+msgstr "Режим редактирования"
+
+#: extensions/sievefilters/app_settings.py:56
+msgid "Select the mode you want the editor to work in"
+msgstr "Выберите нужный режим для работы редактора"
+
+#: extensions/sievefilters/forms.py:16
+msgid "Check to activate this filters set"
+msgstr "Проверьте, чтобы активировать этот набор фильтров"
+
+#: extensions/sievefilters/forms.py:62
+msgid "All of the following"
+msgstr "Любое из следующих"
+
+#: extensions/sievefilters/forms.py:63
+msgid "Any of the following"
+msgstr "Любое из следующих"
+
+#: extensions/sievefilters/forms.py:70
+msgid "contains"
+msgstr "содержит"
+
+#: extensions/sievefilters/forms.py:71
+msgid "does not contain"
+msgstr "не содержит"
+
+#: extensions/sievefilters/forms.py:72
+msgid "is"
+msgstr "является"
+
+#: extensions/sievefilters/forms.py:73
+msgid "is not"
+msgstr "не"
+
+#: extensions/sievefilters/forms.py:78
+msgid "Sender"
+msgstr "Отправитель"
+
+#: extensions/sievefilters/forms.py:79
+msgid "Recipient"
+msgstr "Получатель"
+
+#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:8
+msgid "Cc"
+msgstr "Копия"
+
+#: extensions/sievefilters/forms.py:81
+msgid "Size"
+msgstr "размер"
+
+#: extensions/sievefilters/forms.py:82
+msgid "is greater than"
+msgstr "больше"
+
+#: extensions/sievefilters/forms.py:83
+msgid "is less than"
+msgstr "меньше"
+
+#: extensions/sievefilters/forms.py:87
+msgid "Move message to"
+msgstr "Переместить сообщение"
+
+#: extensions/sievefilters/forms.py:89
+msgid "Redirect message to"
+msgstr "Перенаправление сообщение для"
+
+#: extensions/sievefilters/lib.py:40
+msgid "Connection to MANAGESIEVE server failed, check your configuration"
+msgstr "Соединение с сервером MANAGESIEVE не удалось, проверьте конфигурацию"
+
+#: extensions/sievefilters/lib.py:85
+msgid "Not enough space on server"
+msgstr "Нет свободного места на сервере"
+
+#: extensions/sievefilters/views.py:78
+msgid "Failed to retrieve filters set"
+msgstr "Не удалось получить набор фильтров"
+
+#: extensions/sievefilters/views.py:138
+#: extensions/sievefilters/templatetags/sfilters_tags.py:33
+msgid "New filter"
+msgstr "Новый фильтр"
+
+#: extensions/sievefilters/views.py:146
+msgid "Filter created"
+msgstr "Фильтр создан"
+
+#: extensions/sievefilters/views.py:160
+#: extensions/sievefilters/templatetags/sfilters_tags.py:78
+msgid "Edit filter"
+msgstr "Редактировать фильтр"
+
+#: extensions/sievefilters/views.py:169
+msgid "Filter modified"
+msgstr "Фильтр модифицирован"
+
+#: extensions/sievefilters/views.py:192
+msgid "Filter removed"
+msgstr "Фильтр удален"
+
+#: extensions/sievefilters/views.py:193
+msgid "Failed to remove filter"
+msgstr "Ошибка удаления фильтра"
+
+#: extensions/sievefilters/views.py:208
+msgid "Filters set saved"
+msgstr "Набор фильтров сохранен"
+
+#: extensions/sievefilters/views.py:224
+msgid "Filters set created"
+msgstr "Набор фильтров создан"
+
+#: extensions/sievefilters/views.py:228
+msgid "Create a new filters set"
+msgstr "Создание нового набора фильтров"
+
+#: extensions/sievefilters/views.py:247
+msgid "Filters set deleted"
+msgstr "Набор фильтров удален"
+
+#: extensions/sievefilters/views.py:260
+msgid "Filters set activated"
+msgstr "Набор фильтров активирован"
+
+#: extensions/sievefilters/templates/sievefilters/filter.html:6
+msgid "Conditions"
+msgstr "Соответствие"
+
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:7
+msgid "Active"
+msgstr "Активно"
+
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:24
+msgid "No filter defined yet"
+msgstr "Фильтры не определены"
+
+#: extensions/sievefilters/templates/sievefilters/index.html:76
+msgid "Filter sets"
+msgstr "Набор фильтров"
+
+#: extensions/sievefilters/templates/sievefilters/index.html:80
+msgid "active"
+msgstr "Активно"
+
+#: extensions/sievefilters/templates/sievefilters/index.html:94
+msgid ""
+"No filters set defined yet. You must create one in order to define filters."
+msgstr "Фильтры не определены. Вы должны определить и установить фильтры "
+
+#: extensions/sievefilters/templatetags/sfilters_tags.py:15
+msgid "New filters set"
+msgstr "Новый набор фильтров"
+
+#: extensions/sievefilters/templatetags/sfilters_tags.py:44
+msgid "Save filters set"
+msgstr "Сохранить набор фильтров"
+
+#: extensions/sievefilters/templatetags/sfilters_tags.py:52
+msgid "Activate filters set"
+msgstr "Активировать набор фильтров"
+
+#: extensions/sievefilters/templatetags/sfilters_tags.py:57
+msgid "Remove filters set"
+msgstr "Удалить набор фильтров"
+
+#: extensions/sievefilters/templatetags/sfilters_tags.py:62
+msgid "Download"
+msgstr "Загрузить"
+
+#: extensions/sievefilters/templatetags/sfilters_tags.py:86
+msgid "Remove this filter"
+msgstr "Удалить этот фильтр"
+
+#: extensions/sievefilters/templatetags/sfilters_tags.py:94
+msgid "Move this filter up"
+msgstr "Переместить этот фильтр выше"
+
+#: extensions/sievefilters/templatetags/sfilters_tags.py:102
+msgid "Move this filter down"
+msgstr "Переместить этот фильтр ниже"
+
+#: extensions/stats/__init__.py:21
+msgid "Graphical statistics about emails traffic using RRDtool"
+msgstr "Графическая статистика о почтовом траффика использует RRDtool"
+
+#: extensions/stats/__init__.py:29
+#: extensions/stats/templates/stats/index.html:2
+msgid "Graphical statistics"
+msgstr "Графическая статистика"
+
+#: extensions/stats/app_settings.py:14
+msgid "Path to the log file"
+msgstr "Путь к лог файлу"
+
+#: extensions/stats/app_settings.py:16
+msgid "Path to log file used to collect statistics"
+msgstr "Путь к лог файлу для сбора статистики"
+
+#: extensions/stats/app_settings.py:20
+msgid "Directory to store RRD files"
+msgstr "Папка для сохранения RRD файлов"
+
+#: extensions/stats/app_settings.py:22
+msgid "Path to directory where RRD files are stored"
+msgstr "Путь к директории для сохранения RRD файлов"
+
+#: extensions/stats/app_settings.py:26
+msgid "Directory to store PNG files"
+msgstr "Папка для сохранения PNG файлов"
+
+#: extensions/stats/app_settings.py:28
+msgid "Path to directory where PNG files are stored"
+msgstr "Путь к директории для сохранения png файлов"
+
+#: extensions/stats/general_callbacks.py:12
+msgid "Statistics"
+msgstr "Статистика"
+
+#: extensions/stats/graph_templates.py:22
+msgid "Average normal traffic"
+msgstr "Средний нормальный траффик"
+
+#: extensions/stats/graph_templates.py:23
+#: extensions/stats/graph_templates.py:36
+msgid "msgs/min"
+msgstr "сообщений/в мин"
+
+#: extensions/stats/graph_templates.py:28
+msgid "sent messages"
+msgstr "Отправлено сообщений"
+
+#: extensions/stats/graph_templates.py:30
+msgid "received messages"
+msgstr "Принято сообщений"
+
+#: extensions/stats/graph_templates.py:35
+msgid "Average bad traffic"
+msgstr "Средний ошибочный траффик"
+
+#: extensions/stats/graph_templates.py:41
+msgid "bounced messages"
+msgstr "Возвращенные сообщения"
+
+#: extensions/stats/graph_templates.py:43
+msgid "rejected messages"
+msgstr "Отвергнутые сообщения"
+
+#: extensions/stats/graph_templates.py:48
+msgid "Average normal traffic size"
+msgstr "Средний размер траффика"
+
+#: extensions/stats/graph_templates.py:49
+msgid "bytes/min"
+msgstr "байт/в мин"
+
+#: extensions/stats/graph_templates.py:54
+msgid "received size"
+msgstr "Принято"
+
+#: extensions/stats/graph_templates.py:56
+msgid "sent size"
+msgstr "Отправлено"
+
+#: extensions/stats/graph_templates.py:78
+msgid "Mail traffic"
+msgstr "Почтовый траффик"
+
+#: extensions/stats/grapher.py:8
+msgid "Day"
+msgstr "День"
+
+#: extensions/stats/grapher.py:9
+msgid "Week"
+msgstr "Неделя"
+
+#: extensions/stats/grapher.py:10
+msgid "Month"
+msgstr "Месяц"
+
+#: extensions/stats/grapher.py:11
+msgid "Year"
+msgstr "Год"
+
+#: extensions/stats/grapher.py:60
+msgid "Total"
+msgstr "Итого"
+
+#: extensions/stats/views.py:28 extensions/stats/templates/stats/graphs.html:4
+msgid "No statistics available"
+msgstr "Статистика не доступна"
+
+#: extensions/stats/views.py:47
+msgid "Unknown graphic set"
+msgstr "Неизвестный графический набор "
+
+#: extensions/stats/views.py:70
+msgid "Bad custom period"
+msgstr "Не верный выбор периода"
+
+#: extensions/stats/templates/stats/index.html:33
+msgid "Search a domain"
+msgstr "Искать домен"
+
+#: extensions/stats/templates/stats/index.html:37
+msgid "Predefined time ranges"
+msgstr "Предопределенные временные диапазоны"
+
+#: extensions/stats/templates/stats/index.html:44
+msgid "Custom time range"
+msgstr "Пользовательские временные диапазоны"
+
+#: extensions/stats/templates/stats/index.html:55
+msgid "Apply"
+msgstr "Применить"
+
+#: extensions/webmail/__init__.py:13
+msgid "Simple IMAP webmail"
+msgstr "Веб-почта простой IMAP"
+
+#: extensions/webmail/app_settings.py:14
+msgid "Maximum attachment size"
+msgstr "Максимальный размер вложения"
+
+#: extensions/webmail/app_settings.py:16
+msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)"
+msgstr "Максимальный размер вложения в байтах (или КБ. МБ, ГБ)"
+
+#: extensions/webmail/app_settings.py:19
+msgid "IMAP settings"
+msgstr "Настройки IMAP"
+
+#: extensions/webmail/app_settings.py:24
+msgid "Address of your IMAP server"
+msgstr "Адрес вашего IMAP сервера"
+
+#: extensions/webmail/app_settings.py:30
+msgid "Use a secured connection to access IMAP server"
+msgstr "Использовать защищенное соединение с IMAP севером"
+
+#: extensions/webmail/app_settings.py:36
+msgid "Listening port of your IMAP server"
+msgstr "Порт вашего IMAP сервера"
+
+#: extensions/webmail/app_settings.py:39
+msgid "SMTP settings"
+msgstr "Настройки SMTP"
+
+#: extensions/webmail/app_settings.py:44
+msgid "Address of your SMTP server"
+msgstr "Адрес вашего сервера SMTP"
+
+#: extensions/webmail/app_settings.py:48
+msgid "Secured connection mode"
+msgstr "Режим безопасного подключения"
+
+#: extensions/webmail/app_settings.py:49
+msgid "None"
+msgstr "Нет"
+
+#: extensions/webmail/app_settings.py:53
+msgid "Use a secured connection to access SMTP server"
+msgstr "Использовать защищенное соединение"
+
+#: extensions/webmail/app_settings.py:60
+msgid "Listening port of your SMTP server"
+msgstr "Порт вашего SMTP сервера"
+
+#: extensions/webmail/app_settings.py:64
+msgid "Authentication required"
+msgstr "Требуется аутентификация"
+
+#: extensions/webmail/app_settings.py:66
+msgid "Server needs authentication"
+msgstr "Сервер требует авторизации"
+
+#: extensions/webmail/app_settings.py:77
+msgid "Default message display mode"
+msgstr "Отображение сообщений по умолчанию"
+
+#: extensions/webmail/app_settings.py:79
+msgid "The default mode used when displaying a message"
+msgstr "Для отображения сообщения используется режим по умолчанию"
+
+#: extensions/webmail/app_settings.py:85
+msgid "Enable HTML links display"
+msgstr "Разрешить показ HTML ссылок"
+
+#: extensions/webmail/app_settings.py:86
+msgid "Enable/Disable HTML links display"
+msgstr "Разрешить/Запретить показ HTML ссылок"
+
+#: extensions/webmail/app_settings.py:92
+msgid "Sets the maximum number of messages displayed in a page"
+msgstr "Максимальное количество сообщений на страницу"
+
+#: extensions/webmail/app_settings.py:97
+msgid "Listing refresh rate"
+msgstr "Частота обновления листинга"
+
+#: extensions/webmail/app_settings.py:98
+msgid "Automatic folder refresh rate (in seconds)"
+msgstr "Время обновления папок в секундах"
+
+#: extensions/webmail/app_settings.py:105
+msgid "Trash folder"
+msgstr "Корзина"
+
+#: extensions/webmail/app_settings.py:106
+msgid "Folder where deleted messages go"
+msgstr "Папка для удаленных сообщений"
+
+#: extensions/webmail/app_settings.py:111
+msgid "Sent folder"
+msgstr "Папка отправленные"
+
+#: extensions/webmail/app_settings.py:112
+msgid "Folder where copies of sent messages go"
+msgstr "Папка для копий отправленных сообщений"
+
+#: extensions/webmail/app_settings.py:117
+msgid "Drafts folder"
+msgstr "Папка для черновиков"
+
+#: extensions/webmail/app_settings.py:118
+msgid "Folder where drafts go"
+msgstr "Папка для черновиков"
+
+#: extensions/webmail/app_settings.py:121
+msgid "Composing messages"
+msgstr "Написать сообщение"
+
+#: extensions/webmail/app_settings.py:125
+msgid "Default editor"
+msgstr "Редактор по умолчанию"
+
+#: extensions/webmail/app_settings.py:127
+msgid "The default editor to use when composing a message"
+msgstr "Редактор по умолчанию для создания сообщения"
+
+#: extensions/webmail/app_settings.py:133
+msgid "Signature text"
+msgstr "Тест подписи"
+
+#: extensions/webmail/app_settings.py:134
+msgid "User defined email signature"
+msgstr "Пользовательская подпись "
+
+#: extensions/webmail/exceptions.py:20
+msgid "Server response"
+msgstr "Ответ сервера"
+
+#: extensions/webmail/exceptions.py:34
+msgid "Unknown action"
+msgstr "Неизвестное действие"
+
+#: extensions/webmail/forms.py:9
+msgid "Cci"
+msgstr "Скрытая копия"
+
+#: extensions/webmail/general_callbacks.py:14
+msgid "Webmail"
+msgstr "Веб-почта"
+
+#: extensions/webmail/imaputils.py:242
+msgid "Failed to retrieve hierarchy delimiter"
+msgstr "Не удалось получить разделитель уровней иерархии"
+
+#: extensions/webmail/imaputils.py:283
+#, python-format
+msgid "Connection to IMAP server failed: %s"
+msgstr "Подключение к IMAP серверу не удалось: %s"
+
+#: extensions/webmail/lib.py:371
+msgid "wrote:"
+msgstr "Пишет:"
+
+#: extensions/webmail/lib.py:437 extensions/webmail/lib.py:441
+msgid "Original message"
+msgstr "исходное сообщение"
+
+#: extensions/webmail/views.py:85
+#, python-format
+msgid "%(count)d message deleted"
+msgid_plural "%(count)d messages deleted"
+msgstr[0] "%(count)d сообщение удалено"
+msgstr[1] "%(count)d сообщения удалено"
+msgstr[2] "%(count)d сообщений удалено"
+
+#: extensions/webmail/views.py:116 lib/email_listing.py:138
+msgid "Empty mailbox"
+msgstr "Очистить почтовый ящик"
+
+#: extensions/webmail/views.py:142
+msgid "Mailbox created"
+msgstr "Почтовый ящик создан"
+
+#: extensions/webmail/views.py:148
+#: extensions/webmail/templatetags/webmail_tags.py:175
+msgid "Create a new mailbox"
+msgstr "Создать новый почтовый ящик"
+
+#: extensions/webmail/views.py:167 extensions/webmail/views.py:202
+msgid "Edit mailbox"
+msgstr "Изменить почтовый ящик"
+
+#: extensions/webmail/views.py:183
+msgid "Mailbox updated"
+msgstr "Почтовый ящик обновлен"
+
+#: extensions/webmail/views.py:255
+msgid "Failed to save attachment: "
+msgstr "Ошибка записи вложения:"
+
+#: extensions/webmail/views.py:258
+#, python-format
+msgid "Attachment is too big (limit: %s)"
+msgstr "Вложения слишком велики (лимит: %s)"
+
+#: extensions/webmail/views.py:264
+#: extensions/webmail/templates/webmail/compose.html:15
+#: extensions/webmail/templates/webmail/headers.html:4
+msgid "Attachments"
+msgstr "Вложения"
+
+#: extensions/webmail/views.py:281
+msgid "Bad query"
+msgstr "Ошибочный запрос"
+
+#: extensions/webmail/views.py:293
+msgid "Failed to remove attachment: "
+msgstr "Не удалось удалить вложение"
+
+#: extensions/webmail/views.py:298
+msgid "Unknown attachment"
+msgstr "Неизвестное вложение"
+
+#: extensions/webmail/templates/webmail/attachments.html:6
+msgid "Attach"
+msgstr "Вложить"
+
+#: extensions/webmail/templates/webmail/attachments.html:9
+msgid "Uploading.."
+msgstr "Загрузка..."
+
+#: extensions/webmail/templates/webmail/compose.html:7
+msgid "Add Cc field"
+msgstr "Добавить поле для невидимой копии"
+
+#: extensions/webmail/templates/webmail/compose.html:7
+msgid "Add Cci field"
+msgstr "Добавить поле для невидимой копии"
+
+#: extensions/webmail/templates/webmail/compose.html:18
+#, python-format
+msgid "%(counter)s file"
+msgid_plural "%(counter)s files"
+msgstr[0] "%(counter)s файл"
+msgstr[1] "%(counter)s файла"
+msgstr[2] "%(counter)s файлов"
+
+#: extensions/webmail/templates/webmail/folder.html:6
+msgid "Parent mailbox"
+msgstr "Родительский почтовый ящик"
+
+#: extensions/webmail/templates/webmail/index.html:38
+msgid "Mailbox quota"
+msgstr "Квота для почтового ящика"
+
+#: extensions/webmail/templatetags/webmail_tags.py:20
+msgid "Reply"
+msgstr "Ответить"
+
+#: extensions/webmail/templatetags/webmail_tags.py:24
+msgid "Reply all"
+msgstr "Ответить всем"
+
+#: extensions/webmail/templatetags/webmail_tags.py:34
+msgid "Display options"
+msgstr "Показать параметры"
+
+#: extensions/webmail/templatetags/webmail_tags.py:37
+msgid "Activate links"
+msgstr "Разрешить ссылки"
+
+#: extensions/webmail/templatetags/webmail_tags.py:39
+msgid "Disable links"
+msgstr "Запретить ссылки"
+
+#: extensions/webmail/templatetags/webmail_tags.py:48
+msgid "Close this message"
+msgstr "Закрыть это сообщение"
+
+#: extensions/webmail/templatetags/webmail_tags.py:63
+msgid "Back"
+msgstr "Назад"
+
+#: extensions/webmail/templatetags/webmail_tags.py:67
+msgid "Send"
+msgstr "Послать"
+
+#: extensions/webmail/templatetags/webmail_tags.py:80
+msgid "New message"
+msgstr "Новое сообщение"
+
+#: extensions/webmail/templatetags/webmail_tags.py:89
+msgid "Mark messages"
+msgstr "Пометить сообщение"
+
+#: extensions/webmail/templatetags/webmail_tags.py:93
+msgid "As read"
+msgstr "как прочтенное"
+
+#: extensions/webmail/templatetags/webmail_tags.py:96
+msgid "As unread"
+msgstr "Как не прочтенное"
+
+#: extensions/webmail/templatetags/webmail_tags.py:105
+msgid "Compress folder"
+msgstr "Сжать папку"
+
+#: extensions/webmail/templatetags/webmail_tags.py:114
+msgid "Empty folder"
+msgstr "Очистить папку"
+
+#: extensions/webmail/templatetags/webmail_tags.py:183
+msgid "Edit the selected mailbox"
+msgstr "Изменить выбранный почтовый ящик"
+
+#: extensions/webmail/templatetags/webmail_tags.py:188
+msgid "Remove the selected mailbox"
+msgstr "Удалить выбранный почтовый ящик"
+
+#: lib/dbutils.py:36
+#, python-format
+msgid "Connection to database %s not configured"
+msgstr ""
+
+#: lib/exceptions.py:67
+#, python-format
+msgid "Permission denied: %s"
+msgstr "В разрешении отказано: %s"
+
+#: lib/exceptions.py:68
+msgid "Permission denied"
+msgstr "В разрешении отказано"
+
+#: lib/formutils.py:187 lib/formutils.py:195
+msgid "Enter a valid domain name"
+msgstr "Введите действительный адрес домена"
+
+#: lib/formutils.py:244
+msgid "Yes"
+msgstr "Да"
+
+#: lib/formutils.py:244
+msgid "No"
+msgstr "Нет"
+
+#: lib/ldaputils.py:111
+#, python-format
+msgid "Failed to update password: %s"
+msgstr "Ошибка обновления пароля: %s"
+
+#: lib/permissions.py:20
+msgid "Simple user"
+msgstr "Обычный пользователь"
+
+#: lib/permissions.py:22
+msgid "Super administrator"
+msgstr "Супер администратор"
+
+#: lib/permissions.py:28
+msgid "Domain administrator"
+msgstr "Администратор домена"
+
+#: lib/permissions.py:73
+#, python-format
+msgid "Failed to grant access (%s)"
+msgstr "Не удалось предоставить доступ (%s)"
+
+#: lib/tables.py:251
+msgid "No entries to display"
+msgstr "Нет данных для отображения"
+
+#: lib/templatetags/lib_tags.py:59
+msgid "activate"
+msgstr "Активировать"
+
+#: templates/404.html:4 templates/500.html:4
+msgid "Sorry"
+msgstr "Жаль"
+
+#: templates/404.html:5
+msgid "The requested page does not exist."
+msgstr "Запрошенная станица не существует"
+
+#: templates/500.html:5
+msgid "An internal error occured."
+msgstr "Внутренняя ошибка"
+
+#: templates/nlayout.html:62
+msgid "Powered by Modoboa"
+msgstr "На базе Modoboa"
+
+#: templates/common/email_searchbar.html:5
+msgid "From address"
+msgstr "Адрес отправителя"
+
+#: templates/common/email_searchbar.html:10
+msgid "Both"
+msgstr "Оба"
+
+#: templates/common/email_searchbar.html:12
+msgid "Search..."
+msgstr "Поиск..."
+
+#: templates/common/error.html:4
+msgid "Error:"
+msgstr "Ошибка:"
+
+#: templates/common/generic_field.html:3
+#: templates/common/generic_fields_group.html:3
+msgid "Help:"
+msgstr "Подсказка:"
+
+#: templates/common/generic_modal.html:11
+#: templates/common/wizard_forms.html:29
+msgid "Close"
+msgstr "Закрыть"
+
+#: templates/registration/login.html:5
+msgid "Welcome to Modoboa"
+msgstr "Добро пожаловать в Modoboa!"
+
+#: templates/registration/login.html:34
+msgid "Remember me"
+msgstr "Запомнить меня"
+
+#: templates/registration/login.html:36
+msgid "Log in"
+msgstr "Войти"
diff --git a/modoboa/locale/ru/LC_MESSAGES/djangojs.po b/modoboa/locale/ru/LC_MESSAGES/djangojs.po
new file mode 100644
index 000000000..453871c86
--- /dev/null
+++ b/modoboa/locale/ru/LC_MESSAGES/djangojs.po
@@ -0,0 +1,147 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Modoboa\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
+"PO-Revision-Date: 2013-12-03 09:35+0000\n"
+"Last-Translator: Antoine Nguyen \n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/modoboa/language/ru/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: extensions/admin/static/admin/js/admin.js:32
+msgid "Search"
+msgstr "Поиск"
+
+#: extensions/admin/static/admin/js/admin.js:170
+msgid "Do not delete domain directory"
+msgstr "Не удаляйте каталог домена"
+
+#: extensions/admin/static/admin/js/admin.js:173
+msgid "This operation will remove ALL data associated to this domain."
+msgstr "Эта операция удалит ВСЕ данные, связанные с этим доменом."
+
+#: extensions/admin/static/admin/js/admin.js:174
+msgid ""
+"This operation will remove all data associated to this domain, excepting "
+"accounts."
+msgstr "Эта операция удалит ВСЕ данные, связанные с этим доменом, за исключением аккаунтов."
+
+#: extensions/admin/static/admin/js/admin.js:222
+msgid "No domain administrator defined"
+msgstr "Не указан администратор домена"
+
+#: extensions/admin/static/admin/js/admin.js:291
+msgid "Do not delete mailbox directory"
+msgstr "Не удаляйте каталог почтовых ящиков"
+
+#: extensions/amavis/static/amavis/js/quarantine.js:180
+msgid "Release this selection?"
+msgstr "Деблокировать отмеченные?"
+
+#: extensions/amavis/static/amavis/js/quarantine.js:184
+msgid "Delete this selection?"
+msgstr "Удалить отмеченные?"
+
+#: extensions/amavis/static/amavis/js/quarantine.js:203
+#: 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/selfservice.js:21
+msgid "Delete this message?"
+msgstr "Удалить сообщение?"
+
+#: extensions/amavis/static/amavis/js/quarantine.js:224
+msgid "View full headers"
+msgstr "Просмотр всех заголовков"
+
+#: extensions/amavis/static/amavis/js/quarantine.js:229
+msgid "Hide full headers"
+msgstr "Скрыть все заголовки"
+
+#: extensions/postfix_relay_domains/static/postfix_relay_domains/js/relay_domains.js:49
+msgid "Services updated"
+msgstr ""
+
+#: extensions/sievefilters/static/sievefilters/js/lib.js:14
+msgid "Remove this filter?"
+msgstr "Удалить фильтр?"
+
+#: extensions/sievefilters/static/sievefilters/js/lib.js:107
+msgid "Save changes?"
+msgstr "Сохранить изменения?"
+
+#: extensions/sievefilters/static/sievefilters/js/lib.js:129
+msgid "Remove filters set?"
+msgstr "Удалить набор фильтров?"
+
+#: extensions/sievefilters/static/sievefilters/js/lib.js:146
+msgid "Activate this filters set?"
+msgstr "Активировать набор фильтров?"
+
+#: extensions/sievefilters/static/sievefilters/js/lib.js:154
+#: extensions/sievefilters/static/sievefilters/js/lib.js:203
+msgid "active"
+msgstr "активно"
+
+#: extensions/stats/static/stats/js/stats.js:37
+msgid "Search a domain"
+msgstr "Найти домен"
+
+#: extensions/webmail/static/webmail/js/webmail.js:472
+msgid "Remove the selected mailbox?"
+msgstr "Удалить выбранные почтовые ящики?"
+
+#: extensions/webmail/static/webmail/js/webmail.js:485
+msgid "Mailbox removed"
+msgstr "Почтовый ящик удален"
+
+#: extensions/webmail/static/webmail/js/webmail.js:727
+msgid "Message sent"
+msgstr "Сообщение послано"
+
+#: extensions/webmail/static/webmail/js/webmail.js:854
+msgid "Message deleted"
+msgstr "Сообщение удалено"
+
+#: extensions/webmail/static/webmail/js/webmail.js:981
+#, c-format
+msgid "%s file"
+msgid_plural "%s files"
+msgstr[0] "%s файл"
+msgstr[1] "%s файла"
+msgstr[2] "%s файлов"
+
+#: extensions/webmail/static/webmail/js/webmail.js:1013
+#, c-format
+msgid "Moving %s message"
+msgid_plural "Moving %s messages"
+msgstr[0] "Перемещается %s сообщение"
+msgstr[1] "Перемещается %s сообщения"
+msgstr[2] "Перемещается %s сообщений"
+
+#: static/js/confirmation.js:50
+msgid "Warning"
+msgstr "Внимание"
+
+#: static/js/confirmation.js:59
+msgid "Cancel"
+msgstr "Отмена"
+
+#: static/js/global.js:314
+msgid "Internal error"
+msgstr ""
+
+#: static/js/searchbar.js:20
+msgid "Search..."
+msgstr "Поиск..."
diff --git a/modoboa/locale/sv/LC_MESSAGES/django.po b/modoboa/locale/sv/LC_MESSAGES/django.po
index 8373e44ff..2cd70a226 100644
--- a/modoboa/locale/sv/LC_MESSAGES/django.po
+++ b/modoboa/locale/sv/LC_MESSAGES/django.po
@@ -1,1094 +1,560 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# ogg1980 , 2013
# ogg1980 , 2013
msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
-"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n"
-"POT-Creation-Date: 2013-09-20 22:30+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-03 10:32+0100\n"
"PO-Revision-Date: 2013-09-27 08:19+0000\n"
"Last-Translator: ogg1980 \n"
-"Language-Team: Swedish (http://www.transifex.com/projects/p/modoboa/language/sv/)\n"
+"Language-Team: Swedish (http://www.transifex.com/projects/p/modoboa/language/"
+"sv/)\n"
+"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/__init__.py:9
-msgid "Administration console"
-msgstr "Administrerings konsoll"
-
-#: admin/__init__.py:11
-msgid "Web based console to manage domains, accounts and aliases"
-msgstr "Webbaserad konsoll för att hantera domäner, konton och alias"
-
-#: admin/__init__.py:16 admin/forms.py:211 admin/forms.py:652
-#: admin/views.py:94 admin/views.py:447
+#: core/__init__.py:52 core/__init__.py:53
+#: extensions/admin/forms/account.py:325 extensions/admin/forms/domain.py:251
+#: extensions/admin/views/domain.py:95 extensions/admin/views/identity.py:127
#: extensions/postfix_autoreply/app_settings.py:11
+#: extensions/postfix_relay_domains/forms.py:138
#: extensions/sievefilters/app_settings.py:50
#: extensions/stats/app_settings.py:11 extensions/webmail/app_settings.py:11
-#: userprefs/__init__.py:15
msgid "General"
msgstr "Generellt"
-#: admin/app_settings.py:31
+#: core/app_settings.py:36
msgid "Authentication"
msgstr "Autentisering"
-#: admin/app_settings.py:34
+#: core/app_settings.py:39
msgid "Authentication type"
msgstr "Autentiseringstyp"
-#: admin/app_settings.py:35
+#: core/app_settings.py:40
msgid "Local"
msgstr "Lokal"
-#: admin/app_settings.py:38
+#: core/app_settings.py:43
msgid "The backend used for authentication"
msgstr "Autentiserings backend"
-#: admin/app_settings.py:43
+#: core/app_settings.py:48
msgid "Default password scheme"
msgstr "Standard lösenords schema"
-#: admin/app_settings.py:50
+#: core/app_settings.py:51
+msgid "md5crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:52
+msgid "sha256 (weak)"
+msgstr ""
+
+#: core/app_settings.py:53
+msgid "md5 (weak)"
+msgstr ""
+
+#: core/app_settings.py:54
+msgid "crypt (weak)"
+msgstr ""
+
+#: core/app_settings.py:55
+msgid "plain (weak)"
+msgstr ""
+
+#: core/app_settings.py:57
msgid "Scheme used to crypt mailbox passwords"
msgstr "Krypteringsschema för brevlåde lösenord"
-#: admin/app_settings.py:54
+#: core/app_settings.py:61
+msgid "Rounds"
+msgstr ""
+
+#: core/app_settings.py:64
+msgid ""
+"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
+"between 1000 and 999999999, inclusive."
+msgstr ""
+
+#: core/app_settings.py:70
msgid "Secret key"
msgstr "Hemlig nyckel"
-#: admin/app_settings.py:56
+#: core/app_settings.py:72
msgid "Key used to encrypt/decrypt passwords"
msgstr "Nyckel som används för att kryptera / dekryptera lösenord"
-#: admin/app_settings.py:60
+#: core/app_settings.py:76
msgid "LDAP settings"
msgstr "LDAP inställningar"
-#: admin/app_settings.py:63 extensions/sievefilters/app_settings.py:22
+#: core/app_settings.py:79 extensions/sievefilters/app_settings.py:22
#: extensions/webmail/app_settings.py:22 extensions/webmail/app_settings.py:42
msgid "Server address"
msgstr "Server adress"
-#: admin/app_settings.py:65
+#: core/app_settings.py:81
msgid "The IP address of the DNS name of the LDAP server"
msgstr "IP adressen eller DNS namn för LDAP server"
-#: admin/app_settings.py:69 extensions/sievefilters/app_settings.py:28
+#: core/app_settings.py:85 extensions/sievefilters/app_settings.py:28
#: extensions/webmail/app_settings.py:34 extensions/webmail/app_settings.py:58
msgid "Server port"
msgstr "Server port"
-#: admin/app_settings.py:71
+#: core/app_settings.py:87
msgid "The TCP port number used by the LDAP server"
msgstr "TCP port som används av LDAP servern"
-#: admin/app_settings.py:75 extensions/webmail/app_settings.py:28
+#: core/app_settings.py:91 extensions/webmail/app_settings.py:28
msgid "Use a secured connection"
msgstr "Använd en säker anslutning"
-#: admin/app_settings.py:77
+#: core/app_settings.py:93
msgid "Use an SSL/TLS connection to access the LDAP server"
msgstr "Använd SSL/TLS anslutning för åtkomst till LDAP servern"
-#: admin/app_settings.py:81
+#: core/app_settings.py:97
msgid "Authentication method"
msgstr "Autentiseringsmetod"
-#: admin/app_settings.py:82
+#: core/app_settings.py:98
msgid "Search and bind"
msgstr "Sök och bind"
-#: admin/app_settings.py:83
+#: core/app_settings.py:99
msgid "Direct bind"
msgstr "Direkt bindning"
-#: admin/app_settings.py:85
+#: core/app_settings.py:101
msgid "Choose the authentication method to use"
msgstr "Välj autentiseringsmetod att använda"
-#: admin/app_settings.py:90
+#: core/app_settings.py:106
msgid "Bind DN"
msgstr "Bind DN"
-#: admin/app_settings.py:92
+#: core/app_settings.py:108
msgid ""
"The distinguished name to use when binding to the LDAP server. Leave empty "
"for an anonymous bind"
-msgstr "Det unika namnet för att använda vid bindningar till LDAP-servern. Lämna tomt för en anonym bindning"
+msgstr ""
+"Det unika namnet för att använda vid bindningar till LDAP-servern. Lämna "
+"tomt för en anonym bindning"
-#: admin/app_settings.py:97
+#: core/app_settings.py:113
msgid "Bind password"
msgstr "Bind lösenord"
-#: admin/app_settings.py:99
+#: core/app_settings.py:115
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
-msgstr "Lösenordet ska användas vid bindning till LDAP-servern (med \"Bind DN ')"
+msgstr ""
+"Lösenordet ska användas vid bindning till LDAP-servern (med \"Bind DN ')"
-#: admin/app_settings.py:105
-msgid "Search base"
+#: core/app_settings.py:121
+#, fuzzy
+msgid "Users search base"
msgstr "Sök bas"
-#: admin/app_settings.py:107
-msgid "The distinguished name of the search base"
+#: core/app_settings.py:123
+#, fuzzy
+msgid "The distinguished name of the search base used to find users"
msgstr "Den unika namn sökbasen"
-#: admin/app_settings.py:112
+#: core/app_settings.py:128
msgid "Search filter"
msgstr "Sökfilter"
-#: admin/app_settings.py:114
+#: core/app_settings.py:130
msgid ""
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
"valid, it must be enclosed in parentheses."
-msgstr "En valfri filtersträng (t.ex. \"(objectClass = personer) '). För att vara giltigt måste det omges av parenteser."
+msgstr ""
+"En valfri filtersträng (t.ex. \"(objectClass = personer) '). För att vara "
+"giltigt måste det omges av parenteser."
-#: admin/app_settings.py:119
+#: core/app_settings.py:135
msgid "User DN template"
msgstr "Anvädar DN mall"
-#: admin/app_settings.py:121
+#: core/app_settings.py:137
#, python-format
msgid ""
"The template used to construct a user's DN. It should contain one "
"placeholder (ie. %(user)s)"
-msgstr "Mallen som används för att konstruera en användares DN. Den bör innehålla en platshållare (dvs. %(user)s)"
+msgstr ""
+"Mallen som används för att konstruera en användares DN. Den bör innehålla en "
+"platshållare (dvs. %(user)s)"
-#: admin/app_settings.py:126
+#: core/app_settings.py:142
msgid "Password attribute"
msgstr "Lösenordsattribut"
-#: admin/app_settings.py:128
+#: core/app_settings.py:144
msgid "The attribute used to store user passwords"
msgstr "Attribut som används för att lagra användarlösenord"
-#: admin/app_settings.py:132
+#: core/app_settings.py:148
msgid "Active Directory"
msgstr "Active Directory"
-#: admin/app_settings.py:134
+#: core/app_settings.py:150
msgid "Tell if the LDAP server is an Active Directory one"
msgstr "Berätta om LDAP-servern är en Active Directory"
-#: admin/app_settings.py:137 admin/templates/admin/editdomainform.html:25
-#: extensions/limits/app_settings.py:31 extensions/limits/forms.py:24
-#: extensions/limits/models.py:14 extensions/webmail/app_settings.py:101
-#: extensions/webmail/templates/webmail/folders.html:4
-msgid "Mailboxes"
-msgstr "Brevlådor"
+#: core/app_settings.py:154
+#, fuzzy
+msgid "Administrator groups"
+msgstr "Administratörer"
-#: admin/app_settings.py:140
-msgid "Handle mailboxes on filesystem"
-msgstr "Hantera brevlådor på filsystem"
-
-#: admin/app_settings.py:142
+#: core/app_settings.py:157
msgid ""
-"Rename or remove mailboxes on the filesystem when they get renamed or "
-"removed within Modoboa"
-msgstr "Byt namn på eller ta bort brevlådor på filsystemet när de kommer byta namn eller tas bort inom Modoboa"
+"Members of those LDAP Posix groups will be created as domain administrators. "
+"Use ';' characters to separate groups."
+msgstr ""
-#: admin/app_settings.py:146
-msgid "Mailboxes ower"
-msgstr "Brevlådors ägare"
+#: core/app_settings.py:164
+#, fuzzy
+msgid "Groups search base"
+msgstr "Sök bas"
-#: admin/app_settings.py:148
-msgid "The UNIX account who owns mailboxes on the filesystem"
-msgstr "Den UNIX-konto som äger brevlådor på filsystemet"
+#: core/app_settings.py:167
+#, fuzzy
+msgid "The distinguished name of the search base used to find groups"
+msgstr "Den unika namn sökbasen"
-#: admin/app_settings.py:152
-msgid "Automatic account removal"
-msgstr "Automatisk konto borttagning"
-
-#: admin/app_settings.py:154
-msgid "When a mailbox is removed, also remove the associated account"
-msgstr "När en brevlåda raderas, radera också tillhörande konto"
-
-#: admin/app_settings.py:157 admin/templates/admin/editdomainform.html:7
+#: core/app_settings.py:172
+#: extensions/admin/templates/admin/editdomainform.html:7
msgid "Miscellaneous"
msgstr "Övrigt"
-#: admin/app_settings.py:160
+#: core/app_settings.py:175
msgid "Maximum log record age"
msgstr "Maximal ålder för loggpost"
-#: admin/app_settings.py:162
+#: core/app_settings.py:177
msgid "The maximum age in days of a log record"
msgstr "Maximal ålder i dagar för en logg post"
-#: admin/app_settings.py:166
+#: core/app_settings.py:181
msgid "Items per page"
msgstr "Artiklar per sida"
-#: admin/app_settings.py:168
+#: core/app_settings.py:183
msgid "Number of displayed items per page"
msgstr "Antal poster som visas per sida"
-#: admin/app_settings.py:172
+#: core/app_settings.py:187
msgid "Default top redirection"
msgstr "Standard topp omdirigering"
-#: admin/app_settings.py:175
+#: core/app_settings.py:190
msgid "The default redirection used when no application is specified"
msgstr "Standard omdirigering när ingen applikation angetts"
-#: admin/app_settings.py:213
+#: core/app_settings.py:218
msgid "Key must be either 16, 24, or 32 bytes long"
msgstr "Nyckel måste vara endera 16, 24 eller 32 bytes lång"
-#: admin/app_settings.py:222
+#: core/app_settings.py:227 extensions/postfix_autoreply/app_settings.py:53
msgid "Invalid syntax"
msgstr "Ogiltig syntax"
-#: admin/app_settings.py:245
+#: core/app_settings.py:233
+#, fuzzy
+msgid "Invalid rounds number"
+msgstr "Ogiltig förfrågan"
+
+#: core/app_settings.py:256
msgid "This field is required"
msgstr "Detta fält är obligatoriskt"
-#: admin/forms.py:20 admin/forms.py:497 admin/tables.py:18
-msgid "Alias(es)"
-msgstr "Alias"
+#: core/app_settings.py:317 extensions/amavis/app_settings.py:87
+#: extensions/amavis/templates/amavis/main_action_bar.html:29
+#: extensions/webmail/app_settings.py:73
+msgid "Display"
+msgstr "Visning"
-#: admin/forms.py:22
-msgid ""
-"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
-"add a new input."
-msgstr "Alias för denna domän. Ange endast ett namn per rad, tryck ENTER för att lägga till en rad."
+#: core/app_settings.py:321
+msgid "Prefered language"
+msgstr "Önskat språk"
-#: admin/forms.py:59
-msgid "An alias with this name already exists"
-msgstr "Ett alias med detta namn finns redan"
+#: core/app_settings.py:326
+msgid "Prefered language to display pages"
+msgstr "Önskat språk för att visa sidor"
-#: admin/forms.py:73
-msgid "A domain with this name already exists"
-msgstr "En domän med detta namn existerar redan"
-
-#: admin/forms.py:146
-msgid "Create a domain administrator"
-msgstr "Skapa en domän administratör"
-
-#: admin/forms.py:148
-msgid "Automatically create an administrator for this domain"
-msgstr "Skapa en domän administratör automatiskt för denna domän"
-
-#: admin/forms.py:152 admin/tables.py:12 admin/tables.py:47
-#: admin/templates/admin/editdomainform.html:13
-#: admin/templates/admin/identities_table.html:5
-#: admin/templates/admin/information.html:8
-#: extensions/sievefilters/forms.py:53
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
-msgid "Name"
-msgstr "Namn"
-
-#: admin/forms.py:154
-msgid ""
-"The administrator's name. Don't include the domain's name here, it will be "
-"automatically appended."
-msgstr "Administratörens namn. Inkludera inte domänens namn här, den kommer att läggas till automatiskt."
-
-#: admin/forms.py:160
-msgid "Create aliases"
-msgstr "Skapa alias."
-
-#: admin/forms.py:162
-msgid "Automatically create standard aliases for this domain"
-msgstr "Skapa automatiskt standard alias för den här domänen"
-
-#: admin/forms.py:175
-msgid "Invalid format"
-msgstr "Ogiltigt format"
-
-#: admin/forms.py:187
-#, python-format
-msgid "User '%s' already exists"
-msgstr "Användare '%s' finns redan"
-
-#: admin/forms.py:235
-msgid "Email address"
-msgstr "E-post adress"
-
-#: admin/forms.py:236
-msgid ""
-"The distribution list address. Use the '*' character to create a 'catchall' "
-"address (ex: *@domain.tld)."
-msgstr "Distributionslistans adress. Använd '*' för att skapa en 'catchall' adress (ex: *@domain.tld)."
-
-#: admin/forms.py:239
-msgid "Recipients"
-msgstr "Mottagare"
-
-#: admin/forms.py:240
-msgid ""
-"Mailbox(es) this alias will point to. Indicate only one address per input, "
-"press ENTER to add a new input."
-msgstr "Brevlåda/or detta alias kommer att peka på. Ange endast en adress per inlägg, tryck ENTER för att lägga till en ny inlägg."
-
-#: admin/forms.py:278 admin/forms.py:542 admin/forms.py:568
-msgid "Domain does not exist"
-msgstr "Domän existerar inte"
-
-#: admin/forms.py:280
-msgid "You don't have access to this domain"
-msgstr "Du har inte åtkomst till denna domän"
-
-#: admin/forms.py:300
-msgid "Invalid mailbox"
-msgstr "Ogiltig brevlåda"
-
-#: admin/forms.py:316 admin/models.py:1202
-#, python-format
-msgid "Local recipient %s not found"
-msgstr "Lokal mottagare %s kunde inte hittas"
-
-#: admin/forms.py:318 admin/forms.py:324
-#, python-format
-msgid "Recipient %s already present"
-msgstr "Mottagare %s finns redan"
-
-#: admin/forms.py:329
-msgid "No recipient defined"
-msgstr "Ingen mottagare definierad"
-
-#: admin/forms.py:343 extensions/webmail/forms.py:19
-msgid "Select a file"
-msgstr "Välj en fil"
-
-#: admin/forms.py:345 admin/forms.py:373
-msgid "Separator"
-msgstr "Separator"
-
-#: admin/forms.py:348
-msgid "Continue on error"
-msgstr "Fortsätt vid fel"
-
-#: admin/forms.py:349
-msgid "Don't treat duplicated objects as error"
-msgstr "Behandla inte duplicerade objekt som fel"
-
-#: admin/forms.py:364
-msgid "Crypt passwords"
-msgstr "Krypterade lösenord"
-
-#: admin/forms.py:365
-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"
-
-#: admin/forms.py:371
-msgid "File name"
-msgstr "Filnamn"
-
-#: admin/forms.py:403 admin/templates/admin/editdomainform.html:13
-#: auth/forms.py:7
+#: core/forms.py:10 extensions/admin/forms/account.py:19
+#: extensions/admin/templates/admin/editdomainform.html:13
msgid "Username"
msgstr "Användarnamn"
-#: admin/forms.py:405
-msgid "Role"
-msgstr "Roll"
-
-#: admin/forms.py:406 admin/forms.py:433
-msgid "Choose"
-msgstr "Välj"
-
-#: admin/forms.py:407
-msgid "What level of permission this user will have"
-msgstr "Vilken nivå av behörighet den här användaren har"
-
-#: admin/forms.py:409 auth/forms.py:11
+#: core/forms.py:14 extensions/admin/forms/account.py:30
msgid "Password"
msgstr "Lösenord"
-#: admin/forms.py:411 userprefs/forms.py:18
+#: core/forms.py:25
+msgid "Old password"
+msgstr "Gammalt lösenord"
+
+#: core/forms.py:29
+msgid "New password"
+msgstr "Nytt lösenord"
+
+#: core/forms.py:33 extensions/admin/forms/account.py:33
msgid "Confirmation"
msgstr "Bekräftelse"
-#: admin/forms.py:413
-msgid "Enter the same password as above, for verification."
-msgstr "Ange samma lösenord som ovan för verifiering."
+#: core/forms.py:56
+msgid "Old password mismatchs"
+msgstr "Gammalt lösenord matchar inte"
-#: admin/forms.py:424
-msgid "Enabled"
-msgstr "Aktiverad"
+#: core/forms.py:61
+msgid "Passwords mismatch"
+msgstr "Lösenord matchar inte"
-#: admin/forms.py:471
-msgid "The two password fields didn't match."
-msgstr "Dessa två lösnordsfält matchar inte."
+#: core/models.py:49
+#, fuzzy
+msgid "password"
+msgstr "Lösenord"
-#: admin/forms.py:477
-msgid "You can't disable your own account"
-msgstr "Du kan inte inaktivera ditt eget konto"
+#: core/models.py:51
+#, fuzzy
+msgid "last login"
+msgstr "Senaste inloggad"
-#: admin/forms.py:488
-msgid "E-mail"
-msgstr "E-post"
-
-#: admin/forms.py:490
-msgid "Quota"
-msgstr "Kvota"
-
-#: admin/forms.py:492
-msgid ""
-"Quota in MB for this mailbox. Define a custom value or use domain's default "
-"one. Leave empty to define an unlimited value (not allowed for domain "
-"administrators)."
-msgstr "Kvot i MB för denna brevlåda. Definiera ett anpassat värde eller använda domänens förvalda. Lämna tomt för att definiera ett obegränsat värde (ej tillåtet för domänadministratörer)."
-
-#: admin/forms.py:499
-msgid ""
-"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
-"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
-"*@domain.tld)."
-msgstr "Alias för denna brevlåda. Ange endast en adress per rad, tryck ENTER för att lägga till ny rad. Använd '*' för att skapa ett 'catchall' alias (ex: *@domain.tld)."
-
-#: admin/forms.py:550
-#, python-format
-msgid "Mailbox %s already exists"
-msgstr "Brevlåda %s finns redan"
-
-#: admin/forms.py:610
-msgid "Domain(s)"
-msgstr "Domän(er)"
-
-#: admin/forms.py:612
-msgid "Domain(s) that user administrates"
-msgstr "Domän(er) användaren administrerar"
-
-#: admin/forms.py:654 admin/views.py:450
-msgid "Mail"
-msgstr "Post"
-
-#: admin/forms.py:656
-msgid "Permissions"
-msgstr "Rättigheter"
-
-#: admin/models.py:80
+#: core/models.py:80
msgid "You can't delete your own account"
msgstr "Du kan inte radera ditt eget konto"
-#: admin/models.py:161
+#: core/models.py:116
msgid "Failed to update password: LDAP module not installed"
msgstr "Misslyckades med att uppdatera lösenord: LDAP modul ej installerad"
-#: admin/models.py:167
-#, python-format
-msgid "Failed to update password: %s"
-msgstr "Misslyckades med att uppdatera lösenord: %s"
-
-#: admin/models.py:194
+#: core/models.py:169
msgid "account"
msgstr "konto"
-#: admin/models.py:496 admin/models.py:733 admin/models.py:795
+#: core/models.py:320 extensions/admin/models/domain.py:135
+#: 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"
-#: admin/models.py:500
+#: core/models.py:324
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"
-#: admin/models.py:506
+#: core/models.py:330
#, 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"
-#: admin/models.py:510
+#: core/models.py:334
#, 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'"
-#: admin/models.py:534
-#, python-format
-msgid "Account import failed (%s): domain does not exist"
-msgstr "Konto import misslyckades (%s): domänen existerar inte"
-
-#: admin/models.py:624 admin/models.py:746
-msgid "name"
-msgstr "namn"
-
-#: admin/models.py:625
-msgid "The domain name"
-msgstr "Domännamnet"
-
-#: admin/models.py:627
-msgid "Default quota in MB applied to mailboxes"
-msgstr "Standard kvota i MB applicerad för brevlådor"
-
-#: admin/models.py:630 admin/models.py:753 admin/models.py:1045
-#: admin/models.py:1217 extensions/postfix_autoreply/models.py:27
+#: core/models.py:403 extensions/admin/models/alias.py:33
+#: extensions/admin/models/domain.py:32
+#: extensions/admin/models/domain_alias.py:17
+#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_relay_domains/models.py:85
+#: extensions/postfix_relay_domains/models.py:167
msgid "enabled"
msgstr "aktiverad"
-#: admin/models.py:631
-msgid "Check to activate this domain"
-msgstr "Markera för att aktivera denna domän"
-
-#: admin/models.py:747
-msgid "The alias name"
-msgstr "Alias namn"
-
-#: admin/models.py:749
-msgid "target"
-msgstr "mål"
-
-#: admin/models.py:750
-msgid "The domain this alias points to"
-msgstr "Domän dit detta alias pekar mot"
-
-#: admin/models.py:754 admin/models.py:1046
-msgid "Check to activate this alias"
-msgstr "Markera för aktivera detta alias"
-
-#: admin/models.py:801
-#, python-format
-msgid "Unknown domain %s"
-msgstr "Okänt kommando %s"
-
-#: admin/models.py:818 admin/models.py:1031
-msgid "address"
-msgstr "adress"
-
-#: admin/models.py:819
-msgid "Mailbox address (without the @domain.tld part)"
-msgstr "Brevlåde adress (utan @domain.tld)"
-
-#: admin/models.py:877
-#, python-format
-msgid "Failed to retrieve mailbox location (%s)"
-msgstr "Kunde inte hitta brevlådans sökväg (%s)"
-
-#: admin/models.py:921
-#, python-format
-msgid "Quota is greater than the allowed domain's limit (%dM)"
-msgstr "Kvotan är större än domänens gräns (%dM)"
-
-#: admin/models.py:926
-msgid "A quota is required"
-msgstr "En kvota krävs"
-
-#: admin/models.py:1032
-msgid ""
-"The alias address (without the domain part). For a 'catch-all' address, just"
-" enter an * character."
-msgstr "Alias adress (utan domän delen). För en \"catch-all\"-adress, ange bara asterisk *."
-
-#: admin/models.py:1036
-msgid "mailboxes"
-msgstr "brevlådor"
-
-#: admin/models.py:1037
-msgid "The mailboxes this alias points to"
-msgstr "Brevlådorna detta alias pekar till"
-
-#: admin/models.py:1041
-msgid "The aliases this alias points to"
-msgstr "Det alias detta alias pekar till"
-
-#: admin/models.py:1089
-msgid "distribution list"
-msgstr "distributionslista"
-
-#: admin/models.py:1090
-msgid "forward"
-msgstr "vidarebefordra"
-
-#: admin/models.py:1091
-msgid "alias"
-msgstr "alias"
-
-#: admin/models.py:1170
-#, python-format
-msgid "Invalid line: %s"
-msgstr "Ogiltig rad: %s"
-
-#: admin/models.py:1175
-#, python-format
-msgid "Domain '%s' does not exist"
-msgstr "Domänen '%s' existerar inte"
-
-#: admin/models.py:1218
+#: core/models.py:404
msgid "Check to enable this extension"
msgstr "Markera för att aktivera detta tillägg"
-#: admin/models.py:1318
+#: core/models.py:474
msgid "added"
msgstr "tillagd"
-#: admin/models.py:1321
+#: core/models.py:477
msgid "modified"
msgstr "ändrad"
-#: admin/models.py:1324
-msgid "deleted"
-msgstr "raderad"
-
-#: admin/models.py:1326
+#: core/models.py:479 core/models.py:503
#, 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"
-#: admin/tables.py:14
-msgid "Edit domain"
-msgstr "Redigera domän"
+#: core/models.py:505
+msgid "deleted"
+msgstr "raderad"
-#: admin/tables.py:21 admin/templates/admin/identities_table.html:8
-#: admin/templates/admin/listing.html:17 extensions/sievefilters/views.py:83
-#: extensions/sievefilters/templates/sievefilters/filter.html:17
-#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
-#: extensions/webmail/templatetags/webextras.py:97
-msgid "Actions"
-msgstr "Åtgärder"
+#: core/tables.py:8 core/templates/core/information.html:8
+#: extensions/admin/tables.py:9 extensions/admin/forms/domain.py:182
+#: extensions/admin/templates/admin/domains_table.html:5
+#: extensions/admin/templates/admin/editdomainform.html:13
+#: extensions/admin/templates/admin/identities_table.html:5
+#: extensions/sievefilters/forms.py:60
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:6
+msgid "Name"
+msgstr "Namn"
-#: admin/tables.py:48
+#: core/tables.py:10 extensions/admin/tables.py:11
msgid "Version"
msgstr "Version"
-#: admin/tables.py:49
+#: core/tables.py:12 extensions/admin/tables.py:13
msgid "Description"
msgstr "Beskrivning"
-#: admin/views.py:88
-msgid "New domain"
-msgstr "Ny domän"
-
-#: admin/views.py:89 admin/views.py:98 admin/views.py:228 admin/views.py:444
-#: admin/views.py:451 extensions/sievefilters/views.py:129
-#: extensions/sievefilters/views.py:198 extensions/webmail/views.py:136
-msgid "Create"
-msgstr "Skapa"
-
-#: admin/views.py:95 admin/views.py:448
-msgid "Next"
-msgstr "Nästa"
-
-#: admin/views.py:97
-msgid "Options"
-msgstr "Inställningar"
-
-#: admin/views.py:99 admin/views.py:452
-msgid "Previous"
-msgstr "Föregående"
-
-#: admin/views.py:112
-msgid "Domain created"
-msgstr "Domän skapad"
-
-#: admin/views.py:146 admin/views.py:285 admin/views.py:498
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
-#: extensions/sievefilters/views.py:148 extensions/webmail/views.py:168
-#: userprefs/templates/userprefs/forward.html:8
-#: userprefs/templates/userprefs/profile.html:8
-msgid "Update"
-msgstr "Uppdatera"
-
-#: admin/views.py:162
-msgid "Domain modified"
-msgstr "Domän ändrad"
-
-#: admin/views.py:189
-msgid "You can't delete your own domain"
-msgstr "Du kan inte radera din egen domän"
-
-#: admin/views.py:192
-msgid "Domain deleted"
-msgid_plural "Domains deleted"
-msgstr[0] "Domän raderad"
-msgstr[1] "Domäner raderade"
-
-#: admin/views.py:207
-msgid "Alias with this name already exists"
-msgstr "Alias med detta namn existerar redan"
-
-#: admin/views.py:250
-msgid "New distribution list"
-msgstr "Ny distributionslista"
-
-#: admin/views.py:251
-msgid "Distribution list created"
-msgstr "Distributionslista skapad"
-
-#: admin/views.py:260
-msgid "New alias"
-msgstr "Nytt alias"
-
-#: admin/views.py:261
-msgid "Alias created"
-msgstr "Alias skapat"
-
-#: admin/views.py:270
-msgid "New forward"
-msgstr "Ny vidarebefodring"
-
-#: admin/views.py:271
-msgid "Forward created"
-msgstr "Vidarebefodring skapad"
-
-#: admin/views.py:289
-msgid "Distribution list modified"
-msgstr "Distributionslista ändrad"
-
-#: admin/views.py:291
-msgid "Forward modified"
-msgstr "Vidarebefodring ändrad"
-
-#: admin/views.py:293
-msgid "Alias modified"
-msgstr "Alias ändrat"
-
-#: admin/views.py:402 admin/views.py:545 admin/views.py:550
-#: extensions/amavis/views.py:204 extensions/amavis/views.py:210
-#: extensions/amavis/views.py:243 extensions/amavis/views.py:247
-#: extensions/amavis/views.py:249 extensions/webmail/views.py:41
-#: extensions/webmail/views.py:68 extensions/webmail/views.py:81
-#: extensions/webmail/views.py:98 extensions/webmail/views.py:114
-#: extensions/webmail/views.py:200 extensions/webmail/views.py:427
-#: extensions/webmail/views.py:438 extensions/webmail/views.py:465
-#: lib/formutils.py:32 lib/formutils.py:37
-msgid "Invalid request"
-msgstr "Ogiltig förfrågan"
-
-#: admin/views.py:441
-msgid "New account"
-msgstr "Nytt konto"
-
-#: admin/views.py:465
-msgid "Account created"
-msgstr "Konto skapat"
-
-#: admin/views.py:513
-msgid "Account updated"
-msgstr "Konto uppdaterat"
-
-#: admin/views.py:535
-msgid "Account deleted"
-msgid_plural "Accounts deleted"
-msgstr[0] "Konto raderat"
-msgstr[1] "Konton raderade"
-
-#: admin/views.py:590
-msgid "Parameters saved"
-msgstr "Parametrar sparade"
-
-#: admin/views.py:636
-msgid "Modifications applied."
-msgstr "Modifieringar tillämpade."
-
-#: admin/views.py:743
-#, python-format
-msgid "Object already exists: %s"
-msgstr "Objektet existerar redan: %s"
-
-#: admin/views.py:745
-#, python-format
-msgid "%d objects imported successfully"
-msgstr "%d objekt importerade"
-
-#: admin/views.py:763
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-"account; loginname; password; first name; last name; enabled; group; address[, domain, ...] \n"
-"alias; address; enabled; internal recipient \n"
-"forward; address; enabled; external recipient \n"
-"dlist; address; enabled; recipient; recipient; ... \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
-"\n"
-"You can use a different character as separator.
\n"
-msgstr "Tillhandahåll en CSV-fil där raderna har följande format:⏎\n⏎\naccount; loginname; password; first name; last name; enabled; group; address[, domain, ...] ⏎\nalias; address; enabled; internal recipient ⏎\nforward; address; enabled; external recipient ⏎\ndlist; address; enabled; recipient; recipient; ... ⏎\n ⏎\nDet första elementet i varje rad är obligatorisk och måste vara lika med en av de tidigare värdena.
⏎\n⏎\nDu kan använda ett annat tecken separator.
⏎\n"
-
-#: admin/views.py:775
-msgid "Import identities"
-msgstr "Importera konton"
-
-#: admin/views.py:776 admin/views.py:846 admin/templatetags/admin_extras.py:87
-#: admin/templatetags/admin_extras.py:144
-msgid "Import"
-msgstr "Importera"
-
-#: admin/views.py:806
-msgid "Export identities"
-msgstr "Exportera konton"
-
-#: admin/views.py:807 admin/views.py:863 admin/templatetags/admin_extras.py:93
-#: admin/templatetags/admin_extras.py:150
-msgid "Export"
-msgstr "Exportera"
-
-#: admin/views.py:835
-msgid ""
-"Provide a CSV file where lines respect one of the following formats:\n"
-"\n"
-" domain; name; quota; enabled \n"
-" domainalias; name; targeted domain; enabled \n"
-" \n"
-"The first element of each line is mandatory and must be equal to one of the previous values.
\n"
-"You can use a different character as separator.
\n"
-msgstr "Tillhandahåll en CSV fil där raderna har följande format:\n\ndomän, namn, kvot, aktiverade em> li>\ndomainalias, namn, riktad domän, aktiverade em> li>\n ul>\ndet första elementet i varje rad är obligatoriskt och måste vara lika med en av de tidigare värdena. p>\n
Du kan använda ett annat tecken som separator. p>\n"
-
-#: admin/views.py:845
-msgid "Import domains"
-msgstr "Importera domäner"
-
-#: admin/views.py:862
-msgid "Export domains"
-msgstr "Exportera domäner"
-
-#: admin/templates/admin/domain_general_form.html:3
-#: admin/templates/admin/mailform.html:3
-#: admin/templates/admin/newdomainform.html:3
-msgid "MB"
-msgstr "MB"
-
-#: admin/templates/admin/domains.html:2 admin/templatetags/admin_extras.py:23
-#: extensions/limits/app_settings.py:19 extensions/limits/forms.py:16
-#: extensions/limits/models.py:12
-msgid "Domains"
-msgstr "Domäner"
-
-#: admin/templates/admin/editdomainform.html:4
-msgid "Administrators"
-msgstr "Administratörer"
-
-#: admin/templates/admin/editdomainform.html:19
-msgid "No domain administrator defined"
-msgstr "Ingen domän administratör definierad"
-
-#: admin/templates/admin/editdomainform.html:22
-msgid "Creation date"
-msgstr "Skapelsedatum"
-
-#: admin/templates/admin/editdomainform.html:23
-msgid "Last modification date"
-msgstr "Senast ändrad"
-
-#: admin/templates/admin/editdomainform.html:24
-#: extensions/limits/app_settings.py:25 extensions/limits/forms.py:20
-#: extensions/limits/models.py:13
-msgid "Domain aliases"
-msgstr "Domän alias"
-
-#: admin/templates/admin/editdomainform.html:26
-#: extensions/limits/app_settings.py:37 extensions/limits/forms.py:28
-#: extensions/limits/models.py:15
-msgid "Mailbox aliases"
-msgstr "Brevlåde alias"
-
-#: admin/templates/admin/extensions.html:2
-#: admin/templatetags/admin_extras.py:51
+#: core/templates/core/extensions.html:2 core/templatetags/core_tags.py:48
msgid "Extensions"
msgstr "Tillägg"
-#: admin/templates/admin/extensions.html:2
+#: core/templates/core/extensions.html:2
msgid "Choose the extension(s) to use"
msgstr "Välj tillägg att aktivera"
-#: admin/templates/admin/extensions.html:6
-#: admin/templates/admin/parameters.html:8
-#: userprefs/templates/userprefs/preferences.html:8
+#: core/templates/core/extensions.html:6 core/templates/core/parameters.html:7
+#: core/templates/core/user_preferences.html:8
msgid "Save"
msgstr "Spara"
-#: admin/templates/admin/identities.html:2
-#: admin/templatetags/admin_extras.py:31
-msgid "Identities"
-msgstr "Konton"
-
-#: admin/templates/admin/identities_table.html:6
-msgid "Fullname/Recipient"
-msgstr "Fullständigt namn/Mottagare"
-
-#: admin/templates/admin/identities_table.html:7
-msgid "Tags"
-msgstr "Tagg"
-
-#: admin/templates/admin/importform.html:5
-#: admin/templatetags/admin_extras.py:290
-msgid "Help"
-msgstr "Hjälp"
-
-#: admin/templates/admin/importform.html:12
-msgid "Importing..."
-msgstr "Importerar..."
-
-#: admin/templates/admin/information.html:2
-#: admin/templatetags/admin_extras.py:56
+#: core/templates/core/information.html:2 core/templatetags/core_tags.py:53
msgid "Information"
msgstr "Information"
-#: admin/templates/admin/information.html:2
+#: core/templates/core/information.html:2
msgid "Various information about Modoboa"
msgstr "Uppgifter om Modoboa"
-#: admin/templates/admin/information.html:3
+#: core/templates/core/information.html:3
msgid "is currently in use."
msgstr "används för närvarande."
-#: admin/templates/admin/information.html:5
+#: core/templates/core/information.html:5
msgid "Active users"
msgstr "Aktiva användare"
-#: admin/templates/admin/information.html:9
+#: core/templates/core/information.html:9
msgid "Group name"
msgstr "Gruppnamn"
-#: admin/templates/admin/information.html:10
+#: core/templates/core/information.html:10
msgid "Last login"
msgstr "Senaste inloggad"
-#: admin/templates/admin/listing.html:14
-#: extensions/stats/templates/stats/index.html:28
-msgid "Filter"
-msgstr "Filter"
-
-#: admin/templates/admin/logs.html:2 admin/templatetags/admin_extras.py:60
+#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:57
msgid "Logs"
msgstr "Loggar"
-#: admin/templates/admin/logs.html:2
+#: core/templates/core/logs.html:2
msgid "Previously on Modoboa..."
msgstr "Tidigare på Modoboa..."
-#: admin/templates/admin/logs.html:6 extensions/amavis/sql_listing.py:25
-#: extensions/webmail/lib.py:38 extensions/webmail/lib.py:411
+#: core/templates/core/logs.html:6 extensions/amavis/sql_listing.py:46
+#: extensions/webmail/lib.py:48 extensions/webmail/lib.py:425
msgid "Date"
msgstr "Datum"
-#: admin/templates/admin/logs.html:7
+#: core/templates/core/logs.html:7
msgid "Level"
msgstr "Nivå"
-#: admin/templates/admin/logs.html:8
+#: core/templates/core/logs.html:8
msgid "Logger"
msgstr "Loggare"
-#: admin/templates/admin/logs.html:9
+#: core/templates/core/logs.html:9
msgid "Message"
msgstr "Meddelande"
-#: admin/templates/admin/mailboxes_raw.html:3
-msgid "Choose a value"
-msgstr "Välj ett värde"
-
-#: admin/templates/admin/mailform.html:3
-msgid "Use domain default value"
-msgstr "Använd domänens standardvärde"
-
-#: admin/templates/admin/parameters.html:3
-#: admin/templatetags/admin_extras.py:65
+#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:62
msgid "Parameters"
msgstr "Parametrar"
-#: admin/templates/admin/parameters.html:3
+#: core/templates/core/parameters.html:2
msgid "Configure Modoboa"
msgstr "Konfigurera Modoboa"
-#: admin/templates/admin/quotas.html:5
-msgid "Address"
-msgstr "Adress"
-
-#: admin/templates/admin/quotas.html:6
-msgid "Value"
-msgstr "Värde"
-
-#: admin/templates/admin/quotas.html:7
-msgid "Limit"
-msgstr "Gräns"
-
-#: admin/templates/admin/quotas.html:8
-#, python-format
-msgid "Usage (%%)"
-msgstr "Användning (%%)"
-
-#: admin/templates/admin/searchform.html:6
-msgid "Search"
-msgstr "Sök"
-
-#: admin/templates/admin/settings_header.html:3
+#: core/templates/core/settings_header.html:3
msgid "Modoboa settings"
msgstr "Modoboa inställningar"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_m"
-msgstr "enabled_m"
+#: core/templates/core/user_index.html:2 core/templatetags/core_tags.py:81
+msgid "Settings"
+msgstr "Inställningar"
-#: admin/templatetags/admin_extras.py:13
-msgid "enabled_f"
-msgstr "enabled_f"
+#: core/templates/core/user_preferences.html:2
+#: core/templatetags/core_tags.py:108
+msgid "Preferences"
+msgstr "Inställningar"
-#: admin/templatetags/admin_extras.py:36
+#: core/templates/core/user_preferences.html:2
+msgid "Customize Modoboa"
+msgstr "Anpassa Modoboa"
+
+#: core/templates/core/user_profile.html:2 core/templatetags/core_tags.py:104
+msgid "Profile"
+msgstr "Profil"
+
+#: core/templates/core/user_profile.html:2
+msgid "Update your personal information"
+msgstr "Uppdatera personlig information"
+
+#: core/templates/core/user_profile.html:8
+#: extensions/admin/templates/admin/forward.html:8
+#: extensions/admin/views/alias.py:107 extensions/admin/views/domain.py:165
+#: extensions/admin/views/identity.py:197
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:9
+#: extensions/postfix_relay_domains/views.py:63
+#: extensions/sievefilters/views.py:163 extensions/webmail/views.py:170
+#: extensions/webmail/views.py:205
+msgid "Update"
+msgstr "Uppdatera"
+
+#: core/templatetags/core_tags.py:21
msgid "Modoboa"
msgstr "Modoboa"
-#: admin/templatetags/admin_extras.py:81
-msgid "Add domain"
-msgstr "Lägg till domän"
+#: core/templatetags/core_tags.py:90
+msgid "Logout"
+msgstr "Logga ut"
-#: admin/templatetags/admin_extras.py:110
-msgid "List identities"
-msgstr "Lista konton"
+#: core/views/admin.py:47
+msgid "Parameters saved"
+msgstr "Parametrar sparade"
-#: admin/templatetags/admin_extras.py:115
-msgid "List quotas"
-msgstr "Lista kvoter"
+#: core/views/admin.py:90
+msgid "Modifications applied."
+msgstr "Modifieringar tillämpade."
-#: admin/templatetags/admin_extras.py:120
-msgid "Add account"
-msgstr "Lägg till konto"
-
-#: admin/templatetags/admin_extras.py:126
-msgid "Add alias"
-msgstr "Lägg till alias"
-
-#: admin/templatetags/admin_extras.py:132
-msgid "Add forward"
-msgstr "Lägg till vidarebefodring"
-
-#: admin/templatetags/admin_extras.py:138
-msgid "Add distribution list"
-msgstr "Lägg till distributionslista"
-
-#: admin/templatetags/admin_extras.py:171
-msgid "View the domain's identities"
-msgstr "Visa domänens konton"
-
-#: admin/templatetags/admin_extras.py:178
-#: admin/templatetags/admin_extras.py:194
-#: admin/templatetags/admin_extras.py:201
-#, python-format
-msgid "Delete %s?"
-msgstr "Radera %s?"
-
-#: admin/templatetags/admin_extras.py:223
-msgid "Remove this permission"
-msgstr "Radera detta tillstånd"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "Yes"
-msgstr "Ja"
-
-#: admin/templatetags/admin_extras.py:264 lib/formutils.py:206
-msgid "No"
-msgstr "Nej"
-
-#: auth/views.py:32
+#: core/views/auth.py:30
#, python-format
msgid "User '%s' successfully logged in"
msgstr "Användare '%s' har loggat in"
-#: auth/views.py:44
+#: core/views/auth.py:43
msgid "Your username and password didn't match. Please try again."
msgstr "Ditt användarnamn och lösenord matchar inte. Var vänlig försök igen."
-#: auth/views.py:67
+#: core/views/auth.py:66
#, python-format
msgid "User '%s' logged out"
msgstr "Användare '%s' har loggat ut"
+#: core/views/user.py:35
+msgid "Profile updated"
+msgstr "Profil uppdaterad"
+
+#: core/views/user.py:58
+msgid "Preferences saved"
+msgstr "Inställningar sparade"
+
#: demo/__init__.py:17
msgid "Test messages"
msgstr "Test meddelande"
@@ -1101,7 +567,7 @@ msgstr "Skicka virus"
msgid "Send spam"
msgstr "Skicka skräppost"
-#: demo/views.py:17 demo/views.py:41
+#: demo/views.py:18 demo/views.py:43
msgid "Message sent"
msgstr "Meddelande sänt"
@@ -1110,37 +576,877 @@ msgid ""
"\n"
"
Welcome to the online demo! \n"
"Warning: the demo's concent is resetted every two hours.
\n"
-"To try the demo, the following users are available (username/password ):
\n"
+"To try the demo, the following users are available (username/password"
+"i>):
\n"
"\n"
" A super administrator : admin/password \n"
" A domain administrator : admin@demo.local/admin \n"
" A simple user : user@demo.local/user \n"
" \n"
"Please report any issue or give any suggestion to \n"
-" the mailing list .
\n"
-msgstr "\nVälkommen till online-demot! \nVarning: demots innehåll återställs varannan timme
\nFör att prova demot, följande användare finns tillgängliga (användarnamn/lösenord ):
\n\nEn super administratör: admin/password \nEn domän administratölr: admin@demo.local/admin \nEn enkel användare: user@demo.local/user \n \nVar vänlig rapportera eventuella fel eller ge förslag på mailinglistan .
\n"
+" the "
+"mailing list .\n"
+msgstr ""
+"\n"
+"Välkommen till online-demot! \n"
+"Varning: demots innehåll återställs varannan timme
\n"
+"För att prova demot, följande användare finns tillgängliga "
+"(användarnamn/lösenord ):
\n"
+"\n"
+"En super administratör: admin/password \n"
+"En domän administratölr: admin@demo.local/admin \n"
+"En enkel användare: user@demo.local/user \n"
+" \n"
+"Var vänlig rapportera eventuella fel eller ge förslag på mailinglistan ."
+"
\n"
-#: extensions/amavis/__init__.py:22
+#: extensions/admin/__init__.py:48
+msgid "Administration console"
+msgstr "Administrerings konsoll"
+
+#: extensions/admin/__init__.py:50
+msgid "Web based console to manage domains, accounts and aliases"
+msgstr "Webbaserad konsoll för att hantera domäner, konton och alias"
+
+#: extensions/admin/__init__.py:55
+#, fuzzy
+msgid "Administration"
+msgstr "Administratörer"
+
+#: extensions/admin/__init__.py:79
+#: extensions/admin/templates/admin/domains.html:2
+#: extensions/limits/app_settings.py:19 extensions/limits/models.py:17
+msgid "Domains"
+msgstr "Domäner"
+
+#: extensions/admin/__init__.py:85
+#: extensions/admin/templates/admin/identities.html:2
+msgid "Identities"
+msgstr "Konton"
+
+#: extensions/admin/__init__.py:100
+#: extensions/admin/templates/admin/forward.html:2
+#: extensions/webmail/templatetags/webmail_tags.py:28
+msgid "Forward"
+msgstr "Vidarebefordra"
+
+#: extensions/admin/__init__.py:163
+#, python-format
+msgid "Account import failed (%s): domain does not exist"
+msgstr "Konto import misslyckades (%s): domänen existerar inte"
+
+#: extensions/admin/app_settings.py:11
+#: extensions/admin/templates/admin/editdomainform.html:25
+#: extensions/limits/app_settings.py:31 extensions/limits/models.py:23
+#: extensions/webmail/app_settings.py:101
+#: extensions/webmail/templates/webmail/folders.html:4
+msgid "Mailboxes"
+msgstr "Brevlådor"
+
+#: extensions/admin/app_settings.py:14
+msgid "Handle mailboxes on filesystem"
+msgstr "Hantera brevlådor på filsystem"
+
+#: extensions/admin/app_settings.py:16
+msgid ""
+"Rename or remove mailboxes on the filesystem when they get renamed or "
+"removed within Modoboa"
+msgstr ""
+"Byt namn på eller ta bort brevlådor på filsystemet när de kommer byta namn "
+"eller tas bort inom Modoboa"
+
+#: extensions/admin/app_settings.py:20
+msgid "Mailboxes ower"
+msgstr "Brevlådors ägare"
+
+#: extensions/admin/app_settings.py:22
+msgid "The UNIX account who owns mailboxes on the filesystem"
+msgstr "Den UNIX-konto som äger brevlådor på filsystemet"
+
+#: extensions/admin/app_settings.py:26
+#, fuzzy
+msgid "Default domain quota"
+msgstr "Standard gränser"
+
+#: extensions/admin/app_settings.py:29
+msgid ""
+"Default quota (in MB) applied to freshly created domains with no value "
+"specified. A value of 0 means no quota."
+msgstr ""
+
+#: extensions/admin/app_settings.py:36
+msgid "Automatic account removal"
+msgstr "Automatisk konto borttagning"
+
+#: extensions/admin/app_settings.py:38
+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:64 extensions/admin/forms/account.py:177
+#: extensions/admin/forms/domain.py:56
+msgid "Must be a positive integer"
+msgstr ""
+
+#: extensions/admin/lib.py:28
+#, fuzzy
+msgid "A mailbox is required"
+msgstr "En kvota krävs"
+
+#: extensions/admin/forms/account.py:21
+#, fuzzy
+msgid "The user's name. Must be a valid e-mail address for simple users."
+msgstr "Den enkla användaren '%s' måste ha en gällande e-postadress"
+
+#: extensions/admin/forms/account.py:25
+msgid "Role"
+msgstr "Roll"
+
+#: extensions/admin/forms/account.py:26 extensions/admin/forms/account.py:54
+msgid "Choose"
+msgstr "Välj"
+
+#: extensions/admin/forms/account.py:27
+msgid "What level of permission this user will have"
+msgstr "Vilken nivå av behörighet den här användaren har"
+
+#: extensions/admin/forms/account.py:35
+msgid "Enter the same password as above, for verification."
+msgstr "Ange samma lösenord som ovan för verifiering."
+
+#: extensions/admin/forms/account.py:46
+msgid "Enabled"
+msgstr "Aktiverad"
+
+#: extensions/admin/forms/account.py:93
+msgid "The two password fields didn't match."
+msgstr "Dessa två lösnordsfält matchar inte."
+
+#: extensions/admin/forms/account.py:99
+msgid "You can't disable your own account"
+msgstr "Du kan inte inaktivera ditt eget konto"
+
+#: extensions/admin/forms/account.py:110
+msgid "E-mail"
+msgstr "E-post"
+
+#: extensions/admin/forms/account.py:112 extensions/admin/forms/domain.py:17
+msgid "Quota"
+msgstr "Kvota"
+
+#: extensions/admin/forms/account.py:114
+msgid ""
+"Quota in MB for this mailbox. Define a custom value or use domain's default "
+"one. Leave empty to define an unlimited value (not allowed for domain "
+"administrators)."
+msgstr ""
+"Kvot i MB för denna brevlåda. Definiera ett anpassat värde eller använda "
+"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:122 extensions/admin/forms/domain.py:26
+#: extensions/admin/templates/admin/domains_table.html:6
+#: extensions/postfix_relay_domains/forms.py:12
+msgid "Alias(es)"
+msgstr "Alias"
+
+#: extensions/admin/forms/account.py:125
+msgid ""
+"Alias(es) of this mailbox. Indicate only one address per input, press ENTER "
+"to add a new input. Use the '*' character to create a 'catchall' alias (ex: "
+"*@domain.tld)."
+msgstr ""
+"Alias för denna brevlåda. Ange endast en adress per rad, tryck ENTER för att "
+"lägga till ny rad. Använd '*' för att skapa ett 'catchall' alias (ex: "
+"*@domain.tld)."
+
+#: extensions/admin/forms/account.py:186 extensions/admin/forms/account.py:216
+#: extensions/admin/forms/alias.py:65
+msgid "Domain does not exist"
+msgstr "Domän existerar inte"
+
+#: extensions/admin/forms/account.py:195
+#, python-format
+msgid "Mailbox %s already exists"
+msgstr "Brevlåda %s finns redan"
+
+#: extensions/admin/forms/account.py:283
+msgid "Domain(s)"
+msgstr "Domän(er)"
+
+#: extensions/admin/forms/account.py:285
+msgid "Domain(s) that user administrates"
+msgstr "Domän(er) användaren administrerar"
+
+#: extensions/admin/forms/account.py:327
+#: extensions/admin/views/identity.py:130
+msgid "Mail"
+msgstr "Post"
+
+#: extensions/admin/forms/account.py:329
+msgid "Permissions"
+msgstr "Rättigheter"
+
+#: extensions/admin/forms/alias.py:16
+msgid "Email address"
+msgstr "E-post adress"
+
+#: extensions/admin/forms/alias.py:18
+msgid ""
+"The distribution list address. Use the '*' character to create a 'catchall' "
+"address (ex: *@domain.tld)."
+msgstr ""
+"Distributionslistans adress. Använd '*' för att skapa en 'catchall' adress "
+"(ex: *@domain.tld)."
+
+#: extensions/admin/forms/alias.py:23
+msgid "Recipients"
+msgstr "Mottagare"
+
+#: extensions/admin/forms/alias.py:25
+msgid ""
+"Mailbox(es) this alias will point to. Indicate only one address per input, "
+"press ENTER to add a new input."
+msgstr ""
+"Brevlåda/or detta alias kommer att peka på. Ange endast en adress per "
+"inlägg, tryck ENTER för att lägga till en ny inlägg."
+
+#: extensions/admin/forms/alias.py:68
+msgid "You don't have access to this domain"
+msgstr "Du har inte åtkomst till denna domän"
+
+#: extensions/admin/forms/alias.py:90
+msgid "Invalid mailbox"
+msgstr "Ogiltig brevlåda"
+
+#: extensions/admin/forms/alias.py:108 extensions/admin/models/alias.py:182
+#, python-format
+msgid "Local recipient %s not found"
+msgstr "Lokal mottagare %s kunde inte hittas"
+
+#: extensions/admin/forms/alias.py:112 extensions/admin/forms/alias.py:120
+#, python-format
+msgid "Recipient %s already present"
+msgstr "Mottagare %s finns redan"
+
+#: extensions/admin/forms/alias.py:126
+msgid "No recipient defined"
+msgstr "Ingen mottagare definierad"
+
+#: extensions/admin/forms/domain.py:20
+#, 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
+msgid ""
+"Alias(es) of this domain. Indicate only one name per input, press ENTER to "
+"add a new input."
+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/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/postfix_relay_domains/forms.py:49
+#: extensions/postfix_relay_domains/forms.py:71
+#, fuzzy
+msgid "domain"
+msgstr "Domäner"
+
+#: extensions/admin/forms/domain.py:176
+msgid "Create a domain administrator"
+msgstr "Skapa en domän administratör"
+
+#: extensions/admin/forms/domain.py:178
+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:185
+msgid ""
+"The administrator's name. Don't include the domain's name here, it will be "
+"automatically appended."
+msgstr ""
+"Administratörens namn. Inkludera inte domänens namn här, den kommer att "
+"läggas till automatiskt."
+
+#: extensions/admin/forms/domain.py:193
+msgid "Create aliases"
+msgstr "Skapa alias."
+
+#: extensions/admin/forms/domain.py:195
+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:211
+msgid "Invalid format"
+msgstr "Ogiltigt format"
+
+#: extensions/admin/forms/domain.py:225
+#, python-format
+msgid "User '%s' already exists"
+msgstr "Användare '%s' finns redan"
+
+#: extensions/admin/forms/export.py:7
+msgid "File name"
+msgstr "Filnamn"
+
+#: extensions/admin/forms/export.py:10 extensions/admin/forms/import_.py:8
+msgid "Separator"
+msgstr "Separator"
+
+#: extensions/admin/forms/forward.py:12
+msgid "Recipient(s)"
+msgstr "Mottagare"
+
+#: extensions/admin/forms/forward.py:15
+msgid "Indicate one or more recipients separated by a ','"
+msgstr "Ange en eller flera mottagare separerade med ett ','"
+
+#: extensions/admin/forms/forward.py:18
+msgid "Keep local copies"
+msgstr "Behåll lokal kopia"
+
+#: extensions/admin/forms/forward.py:20
+msgid "Forward messages and store copies into your local mailbox"
+msgstr "Vidarebefordra meddelande och spara kopia i din lokala brevlåda"
+
+#: extensions/admin/forms/forward.py:38
+msgid ""
+"You can't define a forward to a local destination. Please ask your "
+"administrator to create an alias instead."
+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:26
+msgid "Select a file"
+msgstr "Välj en fil"
+
+#: extensions/admin/forms/import_.py:11
+msgid "Continue on error"
+msgstr "Fortsätt vid fel"
+
+#: extensions/admin/forms/import_.py:12
+msgid "Don't treat duplicated objects as error"
+msgstr "Behandla inte duplicerade objekt som fel"
+
+#: extensions/admin/forms/import_.py:27
+msgid "Crypt passwords"
+msgstr "Krypterade lösenord"
+
+#: extensions/admin/forms/import_.py:28
+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:16 extensions/admin/models/mailbox.py:51
+msgid "address"
+msgstr "adress"
+
+#: extensions/admin/models/alias.py:18
+msgid ""
+"The alias address (without the domain part). For a 'catch-all' address, just "
+"enter an * character."
+msgstr ""
+"Alias adress (utan domän delen). För en \"catch-all\"-adress, ange bara "
+"asterisk *."
+
+#: extensions/admin/models/alias.py:24
+msgid "mailboxes"
+msgstr "brevlådor"
+
+#: extensions/admin/models/alias.py:25
+msgid "The mailboxes this alias points to"
+msgstr "Brevlådorna detta alias pekar till"
+
+#: extensions/admin/models/alias.py:29
+msgid "The aliases this alias points to"
+msgstr "Det alias detta alias pekar till"
+
+#: extensions/admin/models/alias.py:34
+#: extensions/admin/models/domain_alias.py:18
+#: extensions/postfix_relay_domains/models.py:168
+msgid "Check to activate this alias"
+msgstr "Markera för aktivera detta alias"
+
+#: extensions/admin/models/alias.py:79
+msgid "distribution list"
+msgstr "distributionslista"
+
+#: extensions/admin/models/alias.py:80
+msgid "forward"
+msgstr "vidarebefordra"
+
+#: extensions/admin/models/alias.py:81
+msgid "alias"
+msgstr "alias"
+
+#: extensions/admin/models/alias.py:150
+#, python-format
+msgid "Invalid line: %s"
+msgstr "Ogiltig rad: %s"
+
+#: extensions/admin/models/alias.py:155
+#, python-format
+msgid "Domain '%s' does not exist"
+msgstr "Domänen '%s' existerar inte"
+
+#: extensions/admin/models/domain.py:28
+#: extensions/admin/models/domain_alias.py:10
+#: extensions/postfix_relay_domains/models.py:58
+#: extensions/postfix_relay_domains/models.py:76
+#: extensions/postfix_relay_domains/models.py:159
+msgid "name"
+msgstr "namn"
+
+#: extensions/admin/models/domain.py:29
+#: extensions/postfix_relay_domains/models.py:77
+msgid "The domain name"
+msgstr "Domännamnet"
+
+#: extensions/admin/models/domain.py:33
+#: extensions/postfix_relay_domains/models.py:86
+msgid "Check to activate this domain"
+msgstr "Markera för att aktivera denna domän"
+
+#: extensions/admin/models/domain.py:61
+#, fuzzy
+msgid "Domain"
+msgstr "Domäner"
+
+#: extensions/admin/models/domain.py:140
+#, python-format
+msgid "Invalid quota value for domain '%s'"
+msgstr ""
+
+#: extensions/admin/models/domain_alias.py:11
+#: extensions/postfix_relay_domains/models.py:160
+msgid "The alias name"
+msgstr "Alias namn"
+
+#: extensions/admin/models/domain_alias.py:13
+#: extensions/postfix_relay_domains/models.py:163
+msgid "target"
+msgstr "mål"
+
+#: extensions/admin/models/domain_alias.py:14
+msgid "The domain this alias points to"
+msgstr "Domän dit detta alias pekar mot"
+
+#: extensions/admin/models/domain_alias.py:46
+#, fuzzy, python-format
+msgid "A domain %s already exists"
+msgstr "Brevlåda %s finns redan"
+
+#: extensions/admin/models/domain_alias.py:51
+#, python-format
+msgid "Unknown domain %s"
+msgstr "Okänt kommando %s"
+
+#: extensions/admin/models/mailbox.py:52
+msgid "Mailbox address (without the @domain.tld part)"
+msgstr "Brevlåde adress (utan @domain.tld)"
+
+#: extensions/admin/models/mailbox.py:113
+#, python-format
+msgid "Failed to retrieve mailbox location (%s)"
+msgstr "Kunde inte hitta brevlådans sökväg (%s)"
+
+#: extensions/admin/models/mailbox.py:173
+#, 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:178
+msgid "A quota is required"
+msgstr "En kvota krävs"
+
+#: extensions/admin/templates/admin/domain_general_form.html:3
+#: extensions/admin/templates/admin/mailform.html:3
+#: extensions/admin/templates/admin/newdomainform.html:3
+msgid "MB"
+msgstr "MB"
+
+#: extensions/admin/templates/admin/domain_options_form.html:5
+#, fuzzy
+msgid "You can't create a new domain administrator"
+msgstr "Skapa en domän administratör"
+
+#: extensions/admin/templates/admin/domains_table.html:7
+#: extensions/admin/templates/admin/identities_table.html:7
+msgid "Tags"
+msgstr "Tagg"
+
+#: extensions/admin/templates/admin/domains_table.html:8
+#: extensions/admin/templates/admin/identities_table.html:8
+#: extensions/admin/templates/admin/listing.html:17
+#: extensions/sievefilters/views.py:93
+#: extensions/sievefilters/templates/sievefilters/filter.html:17
+#: extensions/sievefilters/templates/sievefilters/guieditor.html:5
+#: extensions/webmail/templatetags/webmail_tags.py:101
+msgid "Actions"
+msgstr "Åtgärder"
+
+#: extensions/admin/templates/admin/editdomainform.html:4
+msgid "Administrators"
+msgstr "Administratörer"
+
+#: extensions/admin/templates/admin/editdomainform.html:19
+msgid "No domain administrator defined"
+msgstr "Ingen domän administratör definierad"
+
+#: extensions/admin/templates/admin/editdomainform.html:22
+msgid "Creation date"
+msgstr "Skapelsedatum"
+
+#: extensions/admin/templates/admin/editdomainform.html:23
+msgid "Last modification date"
+msgstr "Senast ändrad"
+
+#: extensions/admin/templates/admin/editdomainform.html:24
+#: extensions/limits/app_settings.py:25 extensions/limits/models.py:20
+msgid "Domain aliases"
+msgstr "Domän alias"
+
+#: extensions/admin/templates/admin/editdomainform.html:26
+#: extensions/limits/app_settings.py:37 extensions/limits/models.py:25
+msgid "Mailbox aliases"
+msgstr "Brevlåde alias"
+
+#: extensions/admin/templates/admin/forward.html:2
+msgid "Automatically forward emails to another address"
+msgstr "Vidarebefordra automatiskt e-post till en annan adress"
+
+#: extensions/admin/templates/admin/identities_table.html:6
+msgid "Fullname/Recipient"
+msgstr "Fullständigt namn/Mottagare"
+
+#: extensions/admin/templates/admin/importform.html:5
+msgid "Help"
+msgstr "Hjälp"
+
+#: extensions/admin/templates/admin/importform.html:12
+msgid "Importing..."
+msgstr "Importerar..."
+
+#: extensions/admin/templates/admin/listing.html:14
+#: extensions/stats/templates/stats/index.html:28
+msgid "Filter"
+msgstr "Filter"
+
+#: extensions/admin/templates/admin/mailboxes_raw.html:3
+msgid "Choose a value"
+msgstr "Välj ett värde"
+
+#: extensions/admin/templates/admin/mailform.html:3
+msgid "Use domain default value"
+msgstr "Använd domänens standardvärde"
+
+#: extensions/admin/templates/admin/quotas.html:5
+msgid "Address"
+msgstr "Adress"
+
+#: extensions/admin/templates/admin/quotas.html:6
+msgid "Value"
+msgstr "Värde"
+
+#: extensions/admin/templates/admin/quotas.html:7
+msgid "Limit"
+msgstr "Gräns"
+
+#: extensions/admin/templates/admin/quotas.html:8
+#, python-format
+msgid "Usage (%%)"
+msgstr "Användning (%%)"
+
+#: extensions/admin/templates/admin/searchform.html:6
+msgid "Search"
+msgstr "Sök"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_m"
+msgstr "enabled_m"
+
+#: extensions/admin/templatetags/admin_tags.py:12
+msgid "enabled_f"
+msgstr "enabled_f"
+
+#: extensions/admin/templatetags/admin_tags.py:33
+msgid "Add domain"
+msgstr "Lägg till domän"
+
+#: extensions/admin/templatetags/admin_tags.py:42
+#: extensions/admin/templatetags/admin_tags.py:106
+#: extensions/admin/views/import.py:51 extensions/admin/views/import.py:166
+msgid "Import"
+msgstr "Importera"
+
+#: extensions/admin/templatetags/admin_tags.py:48
+#: extensions/admin/templatetags/admin_tags.py:112
+#: extensions/admin/views/export.py:38 extensions/admin/views/export.py:64
+msgid "Export"
+msgstr "Exportera"
+
+#: extensions/admin/templatetags/admin_tags.py:72
+msgid "List identities"
+msgstr "Lista konton"
+
+#: extensions/admin/templatetags/admin_tags.py:77
+msgid "List quotas"
+msgstr "Lista kvoter"
+
+#: extensions/admin/templatetags/admin_tags.py:82
+msgid "Add account"
+msgstr "Lägg till konto"
+
+#: extensions/admin/templatetags/admin_tags.py:88
+msgid "Add alias"
+msgstr "Lägg till alias"
+
+#: extensions/admin/templatetags/admin_tags.py:94
+msgid "Add forward"
+msgstr "Lägg till vidarebefodring"
+
+#: extensions/admin/templatetags/admin_tags.py:100
+msgid "Add distribution list"
+msgstr "Lägg till distributionslista"
+
+#: extensions/admin/templatetags/admin_tags.py:133
+msgid "View the domain's identities"
+msgstr "Visa domänens konton"
+
+#: extensions/admin/templatetags/admin_tags.py:143
+#: extensions/admin/templatetags/admin_tags.py:162
+#: extensions/admin/templatetags/admin_tags.py:169
+#: extensions/postfix_relay_domains/general_callbacks.py:84
+#, python-format
+msgid "Delete %s?"
+msgstr "Radera %s?"
+
+#: extensions/admin/templatetags/admin_tags.py:239
+msgid "Remove this permission"
+msgstr "Radera detta tillstånd"
+
+#: extensions/admin/views/alias.py:25
+msgid "Alias with this name already exists"
+msgstr "Alias med detta namn existerar redan"
+
+#: extensions/admin/views/alias.py:49 extensions/admin/views/domain.py:100
+#: extensions/admin/views/domain.py:129 extensions/admin/views/identity.py:131
+#: extensions/admin/views/identity.py:158
+#: extensions/postfix_relay_domains/views.py:32
+#: extensions/sievefilters/views.py:141 extensions/sievefilters/views.py:230
+#: extensions/webmail/views.py:151
+msgid "Create"
+msgstr "Skapa"
+
+#: extensions/admin/views/alias.py:61
+msgid "New distribution list"
+msgstr "Ny distributionslista"
+
+#: extensions/admin/views/alias.py:62
+msgid "Distribution list created"
+msgstr "Distributionslista skapad"
+
+#: extensions/admin/views/alias.py:71
+msgid "New alias"
+msgstr "Nytt alias"
+
+#: extensions/admin/views/alias.py:72
+msgid "Alias created"
+msgstr "Alias skapat"
+
+#: extensions/admin/views/alias.py:81
+msgid "New forward"
+msgstr "Ny vidarebefodring"
+
+#: extensions/admin/views/alias.py:82
+msgid "Forward created"
+msgstr "Vidarebefodring skapad"
+
+#: extensions/admin/views/alias.py:95
+msgid "Distribution list modified"
+msgstr "Distributionslista ändrad"
+
+#: extensions/admin/views/alias.py:97
+msgid "Forward modified"
+msgstr "Vidarebefodring ändrad"
+
+#: extensions/admin/views/alias.py:99
+msgid "Alias modified"
+msgstr "Alias ändrat"
+
+#: extensions/admin/views/domain.py:96 extensions/admin/views/identity.py:128
+msgid "Next"
+msgstr "Nästa"
+
+#: extensions/admin/views/domain.py:99
+msgid "Options"
+msgstr "Inställningar"
+
+#: extensions/admin/views/domain.py:101 extensions/admin/views/identity.py:132
+msgid "Previous"
+msgstr "Föregående"
+
+#: extensions/admin/views/domain.py:123
+msgid "Domain created"
+msgstr "Domän skapad"
+
+#: extensions/admin/views/domain.py:128
+msgid "New domain"
+msgstr "Ny domän"
+
+#: extensions/admin/views/domain.py:155
+msgid "Domain modified"
+msgstr "Domän ändrad"
+
+#: extensions/admin/views/domain.py:189
+msgid "You can't delete your own domain"
+msgstr "Du kan inte radera din egen domän"
+
+#: extensions/admin/views/domain.py:192
+msgid "Domain deleted"
+msgid_plural "Domains deleted"
+msgstr[0] "Domän raderad"
+msgstr[1] "Domäner raderade"
+
+#: extensions/admin/views/export.py:37
+msgid "Export identities"
+msgstr "Exportera konton"
+
+#: extensions/admin/views/export.py:63
+msgid "Export domains"
+msgstr "Exportera domäner"
+
+#: extensions/admin/views/identity.py:103
+#: extensions/admin/views/identity.py:224
+#: extensions/admin/views/identity.py:229 extensions/amavis/views.py:179
+#: extensions/amavis/views.py:185 extensions/amavis/views.py:220
+#: extensions/amavis/views.py:224 extensions/amavis/views.py:226
+#: extensions/webmail/views.py:47 extensions/webmail/views.py:65
+#: extensions/webmail/views.py:79 extensions/webmail/views.py:97
+#: extensions/webmail/views.py:114 extensions/webmail/views.py:200
+#: extensions/webmail/views.py:223 extensions/webmail/views.py:396
+#: extensions/webmail/views.py:430 extensions/webmail/views.py:443
+#: extensions/webmail/views.py:472 extensions/webmail/views.py:513
+#: lib/formutils.py:44 lib/formutils.py:49
+msgid "Invalid request"
+msgstr "Ogiltig förfrågan"
+
+#: extensions/admin/views/identity.py:149
+msgid "Account created"
+msgstr "Konto skapat"
+
+#: extensions/admin/views/identity.py:155
+msgid "New account"
+msgstr "Nytt konto"
+
+#: extensions/admin/views/identity.py:190
+msgid "Account updated"
+msgstr "Konto uppdaterat"
+
+#: extensions/admin/views/identity.py:214
+msgid "Account deleted"
+msgid_plural "Accounts deleted"
+msgstr[0] "Konto raderat"
+msgstr[1] "Konton raderade"
+
+#: extensions/admin/views/import.py:39
+#, fuzzy, python-format
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"\n"
+" domain; name; quota; enabled \n"
+" domainalias; name; targeted domain; enabled \n"
+" %s\n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Tillhandahåll en CSV fil där raderna har följande format:\n"
+"\n"
+"domän, namn, kvot, aktiverade em> li>\n"
+"domainalias, namn, riktad domän, aktiverade em> li>\n"
+" ul>\n"
+"det första elementet i varje rad är obligatoriskt och måste vara lika med "
+"en av de tidigare värdena. p>\n"
+"
Du kan använda ett annat tecken som separator. p>\n"
+
+#: extensions/admin/views/import.py:50
+msgid "Import domains"
+msgstr "Importera domäner"
+
+#: extensions/admin/views/import.py:129
+#, python-format
+msgid "Object already exists: %s"
+msgstr "Objektet existerar redan: %s"
+
+#: extensions/admin/views/import.py:133
+#, python-format
+msgid "%d objects imported successfully"
+msgstr "%d objekt importerade"
+
+#: extensions/admin/views/import.py:153
+#, fuzzy
+msgid ""
+"Provide a CSV file where lines respect one of the following formats:\n"
+"
\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address; quota; [, domain, ...] \n"
+"alias; address; enabled; internal recipient \n"
+"forward; address; enabled; external recipient \n"
+"dlist; address; enabled; recipient; recipient; ... \n"
+" \n"
+"The first element of each line is mandatory and must be equal to one of "
+"the previous values.
\n"
+"\n"
+"You can use a different character as separator.
\n"
+msgstr ""
+"Tillhandahåll en CSV-fil där raderna har följande format:⏎\n"
+"⏎\n"
+"account; loginname; password; first name; last name; enabled; group; "
+"address[, domain, ...] ⏎\n"
+"alias; address; enabled; internal recipient ⏎\n"
+"forward; address; enabled; external recipient ⏎\n"
+"dlist; address; enabled; recipient; recipient; ... ⏎\n"
+" ⏎\n"
+"Det första elementet i varje rad är obligatorisk och måste vara lika med "
+"en av de tidigare värdena.
⏎\n"
+"⏎\n"
+"Du kan använda ett annat tecken separator.
⏎\n"
+
+#: extensions/admin/views/import.py:165
+msgid "Import identities"
+msgstr "Importera konton"
+
+#: extensions/admin/views/user.py:37
+msgid "Forward updated"
+msgstr "Vidarebefordring uppdaterad"
+
+#: extensions/amavis/__init__.py:21
msgid "Simple amavis management frontend"
msgstr "Enkel amavis hantering frontend"
-#: extensions/amavis/__init__.py:45 extensions/amavis/__init__.py:61
+#: extensions/amavis/__init__.py:52 extensions/amavis/general_callbacks.py:17
msgid "Quarantine"
msgstr "Karantän"
-#: extensions/amavis/__init__.py:129
-msgid "pending requests"
-msgstr "väntande förfrågningar"
-
-#: extensions/amavis/__init__.py:149
-#, python-format
-msgid "%d pending requests"
-msgstr "%d väntande förfrågningar"
-
-#: extensions/amavis/__init__.py:161
-msgid "Content filter"
-msgstr "Innehålls filter"
-
#: extensions/amavis/app_settings.py:11
msgid "Quarantine settings"
msgstr "Karantän inställningar"
@@ -1229,11 +1535,6 @@ msgstr "Notifierings avsändare"
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:87 extensions/webmail/app_settings.py:73
-#: userprefs/app_settings.py:18
-msgid "Display"
-msgstr "Visning"
-
#: extensions/amavis/app_settings.py:91 extensions/webmail/app_settings.py:91
msgid "Number of displayed emails per page"
msgstr "Antalet visade e-postmeddelanden per sida"
@@ -1242,7 +1543,20 @@ msgstr "Antalet visade e-postmeddelanden per sida"
msgid "Set the maximum number of messages displayed in a page"
msgstr "Anger det maximala antalet meddelanden som visas på en sida"
-#: extensions/amavis/lib.py:53
+#: extensions/amavis/general_callbacks.py:81
+msgid "pending requests"
+msgstr "väntande förfrågningar"
+
+#: extensions/amavis/general_callbacks.py:124
+#, fuzzy
+msgid "Pending requests"
+msgstr "väntande förfrågningar"
+
+#: extensions/amavis/general_callbacks.py:134
+msgid "Content filter"
+msgstr "Innehålls filter"
+
+#: extensions/amavis/lib.py:57
#, python-format
msgid "Connection to amavis failed: %s"
msgstr "Anslutning till amavis misslyckades: %s"
@@ -1252,12 +1566,12 @@ msgid "Virus filter"
msgstr "Virus filter"
#: extensions/amavis/models.py:94 extensions/amavis/models.py:102
-#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:281
+#: extensions/amavis/models.py:110 extensions/sievefilters/views.py:290
msgid "yes"
msgstr "ja"
#: extensions/amavis/models.py:95 extensions/amavis/models.py:103
-#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:285
+#: extensions/amavis/models.py:111 extensions/sievefilters/views.py:294
msgid "no"
msgstr "nej"
@@ -1269,7 +1583,9 @@ msgstr "standard"
#: extensions/amavis/models.py:98
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
-msgstr "Kringgå virus kontroller eller ej. Välj \"standard\" för att använda globala inställningar."
+msgstr ""
+"Kringgå virus kontroller eller ej. Välj \"standard\" för att använda globala "
+"inställningar."
#: extensions/amavis/models.py:101
msgid "Spam filter"
@@ -1277,7 +1593,9 @@ msgstr "Skräp filter"
#: extensions/amavis/models.py:106
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
-msgstr "Kringgå skräp filter eller ej. Välj 'standard' för att använda globala inställningar."
+msgstr ""
+"Kringgå skräp filter eller ej. Välj 'standard' för att använda globala "
+"inställningar."
#: extensions/amavis/models.py:109
msgid "Banned filter"
@@ -1285,7 +1603,9 @@ msgstr "Förbjudna filter"
#: extensions/amavis/models.py:114
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
-msgstr "Kringgå förbjudna filter eller inte. Välj 'standard' för att använda globala inställningar."
+msgstr ""
+"Kringgå förbjudna filter eller inte. Välj 'standard' för att använda globala "
+"inställningar."
#: extensions/amavis/models.py:144
msgid "Spam marker"
@@ -1293,57 +1613,64 @@ msgstr "Skräp markering"
#: extensions/amavis/models.py:146
msgid ""
-"Modify spam subject using the specified text. Choose 'default' to use global"
-" settings."
-msgstr "Ändra skräppost ämnesrad med vald text. Välj 'standard' för att använd globala inställningar."
+"Modify spam subject using the specified text. Choose 'default' to use global "
+"settings."
+msgstr ""
+"Ändra skräppost ämnesrad med vald text. Välj 'standard' för att använd "
+"globala inställningar."
-#: extensions/amavis/sql_listing.py:23 extensions/webmail/lib.py:37
-msgid "From"
-msgstr "Från"
+#: extensions/amavis/sql_listing.py:31
+msgid "Score"
+msgstr ""
-#: extensions/amavis/sql_listing.py:24 extensions/sievefilters/forms.py:68
-#: extensions/webmail/forms.py:10 extensions/webmail/lib.py:36
-#: extensions/webmail/lib.py:409 templates/common/email_searchbar.html:6
-msgid "Subject"
-msgstr "Ämne"
-
-#: extensions/amavis/sql_listing.py:26
-#: extensions/amavis/templatetags/amextras.py:102
+#: extensions/amavis/sql_listing.py:35
+#: extensions/amavis/templatetags/amavis_tags.py:75
#: extensions/webmail/forms.py:7
msgid "To"
msgstr "Till"
-#: extensions/amavis/views.py:43
+#: extensions/amavis/sql_listing.py:38
+#: extensions/postfix_autoreply/forms.py:11 extensions/webmail/lib.py:44
+msgid "From"
+msgstr "Från"
+
+#: extensions/amavis/sql_listing.py:42 extensions/sievefilters/forms.py:77
+#: extensions/webmail/forms.py:11 extensions/webmail/lib.py:40
+#: extensions/webmail/lib.py:423 templates/common/email_searchbar.html:6
+msgid "Subject"
+msgstr "Ämne"
+
+#: extensions/amavis/views.py:27
msgid "Empty quarantine"
msgstr "Karantän tom"
-#: extensions/amavis/views.py:211
+#: extensions/amavis/views.py:186
msgid "Message deleted"
msgstr "Meddelande raderat"
-#: extensions/amavis/views.py:232
+#: extensions/amavis/views.py:207
#, 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:252
+#: extensions/amavis/views.py:229
msgid "Request sent"
msgstr "Begäran skickad"
-#: extensions/amavis/views.py:258
+#: extensions/amavis/views.py:235
msgid "Message released"
msgstr "Meddelande släppt"
-#: extensions/amavis/views.py:280
+#: extensions/amavis/views.py:268
#, 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:304
+#: extensions/amavis/views.py:288
#, python-format
msgid "%(count)d message released successfully"
msgid_plural "%(count)d messages released successfully"
@@ -1370,6 +1697,80 @@ msgstr "eller mera kasta skräp meddelande"
msgid "Quarantine management"
msgstr "Hantera karantän"
+#: extensions/amavis/templates/amavis/main_action_bar.html:3
+#, fuzzy
+msgid "Select"
+msgstr "Välj en fil"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:9
+msgid "Spam"
+msgstr "Skräp"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:10
+msgid "Virus"
+msgstr "Virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:11
+#, fuzzy
+msgid "Bad Header"
+msgstr "Dålig rubrik"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:12
+msgid "Bad MIME"
+msgstr "Dålig MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:13
+#, 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
+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/webmail/templatetags/webmail_tags.py:32
+msgid "Delete"
+msgstr "Radera"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+#: extensions/sievefilters/forms.py:64
+msgid "All messages"
+msgstr "Alla meddelanden"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:31
+msgid "All"
+msgstr ""
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:32
+#, fuzzy
+msgid "Spam only"
+msgstr "Skräp"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:33
+#, fuzzy
+msgid "Virus only"
+msgstr "Virus"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:34
+#, fuzzy
+msgid "Bad Header only"
+msgstr "Dålig rubrik"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:35
+#, fuzzy
+msgid "Bad MIME only"
+msgstr "Dålig MIME"
+
+#: extensions/amavis/templates/amavis/main_action_bar.html:36
+#, fuzzy
+msgid "Banned only"
+msgstr "Förbjudna filter"
+
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:1
#, python-format
msgid ""
@@ -1378,8 +1779,12 @@ msgid ""
msgid_plural ""
"\n"
"%(counter)s release requests are pending for action.\n"
-msgstr[0] "\n%(counter)s frisläpps förfrågning väntar på åtgärd.\n"
-msgstr[1] "\n%(counter)s frisläpps förfrågningar väntar på åtgärd.'\n"
+msgstr[0] ""
+"\n"
+"%(counter)s frisläpps förfrågning väntar på åtgärd.\n"
+msgstr[1] ""
+"\n"
+"%(counter)s frisläpps förfrågningar väntar på åtgärd.'\n"
#: extensions/amavis/templates/amavis/notifications/pending_requests.html:6
msgid "Sketch:"
@@ -1410,76 +1815,30 @@ 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/amextras.py:20
-#: extensions/amavis/templatetags/amextras.py:52
-#: extensions/amavis/templatetags/amextras.py:72
-msgid "Release"
-msgstr "Släpp"
-
-#: extensions/amavis/templatetags/amextras.py:26
-#: extensions/amavis/templatetags/amextras.py:59
-#: extensions/amavis/templatetags/amextras.py:77
-#: extensions/webmail/templatetags/webextras.py:31
-msgid "Delete"
-msgstr "Radera"
-
-#: extensions/amavis/templatetags/amextras.py:29
+#: extensions/amavis/templatetags/amavis_tags.py:28
msgid "View full headers"
msgstr "Visa meddelandehuvuden"
-#: extensions/amavis/templatetags/amextras.py:80
-msgid "Content Class"
-msgstr "Innehålls klass"
-
-#: extensions/amavis/templatetags/amextras.py:84
-msgid "Nothing"
-msgstr "Ingenting"
-
-#: extensions/amavis/templatetags/amextras.py:87
-msgid "Spam"
-msgstr "Skräp"
-
-#: extensions/amavis/templatetags/amextras.py:90
-msgid "Virus"
-msgstr "Virus"
-
-#: extensions/amavis/templatetags/amextras.py:93
-msgid "Bad header"
-msgstr "Dålig rubrik"
-
-#: extensions/amavis/templatetags/amextras.py:96
-msgid "Bad MIME"
-msgstr "Dålig MIME"
-
-#: extensions/limits/__init__.py:23
+#: extensions/limits/__init__.py:25
msgid ""
"Per administrator resources to limit the number of objects they can create"
-msgstr "Per administratör resurser för att begränsa antalet objekt som de kan skapa"
+msgstr ""
+"Per administratör resurser för att begränsa antalet objekt som de kan skapa"
-#: extensions/limits/__init__.py:54
+#: extensions/limits/__init__.py:56
msgid "Limits"
msgstr "Gräns"
-#: extensions/limits/__init__.py:65
-msgid "Reseller"
-msgstr "Återförsäljare"
-
-#: extensions/limits/__init__.py:94
-msgid "Resources"
-msgstr "Resurser"
-
#: extensions/limits/app_settings.py:10
msgid "Default limits"
msgstr "Standard gränser"
-#: extensions/limits/app_settings.py:13 extensions/limits/forms.py:12
-#: extensions/limits/models.py:11
+#: extensions/limits/app_settings.py:13 extensions/limits/models.py:14
msgid "Domain admins"
msgstr "Domänadministratörer"
#: extensions/limits/app_settings.py:15
-msgid ""
-"Maximum number of allowed domain administrators for a new administrator"
+msgid "Maximum number of allowed domain administrators for a new administrator"
msgstr "Maximalt antal domänadministratörer den här användaren kan skapa"
#: extensions/limits/app_settings.py:21
@@ -1498,52 +1857,60 @@ msgstr "Maximalt antal tillåtna brevlådor för en ny administratör"
msgid "Maximum number of allowed aliases for a new administrator"
msgstr "Maximalt antal tillåtna alias för en ny administratör"
-#: extensions/limits/forms.py:13
-msgid "Maximum number of domain administrators this user can create"
-msgstr "Maximalt antal domänadministratörer den här användaren kan skapa"
-
-#: extensions/limits/forms.py:17
-msgid "Maximum number of domains this user can create"
-msgstr "Maximalt antal domäner den här användaren kan skapa"
-
-#: extensions/limits/forms.py:21
-msgid "Maximum number of domain aliases this user can create"
-msgstr "Maximalt antal domänen alias den här användaren kan skapa"
-
-#: extensions/limits/forms.py:25
-msgid "Maximum number of mailboxes this user can create"
-msgstr "Maximalt antal brevlådor den här användaren kan skapa"
-
-#: extensions/limits/forms.py:29
-msgid "Maximum number of mailbox aliases this user can create"
-msgstr "Maximalt antal brevlådealias den här användaren kan skapa"
-
-#: extensions/limits/forms.py:46
+#: extensions/limits/forms.py:28 extensions/limits/forms.py:35
msgid "Invalid limit"
msgstr "Ogiltig gräns"
-#: extensions/limits/forms.py:74
+#: extensions/limits/forms.py:57
msgid "Your resources are not initialized yet"
msgstr "Dina resurser har ännu inte initierats"
-#: extensions/limits/forms.py:78
+#: extensions/limits/forms.py:61
msgid "You're not allowed to define unlimited values"
msgstr "Du har inte tillåtelse att definiera obegränsat värden"
-#: extensions/limits/lib.py:16
+#: extensions/limits/general_callbacks.py:10
+msgid "Reseller"
+msgstr "Återförsäljare"
+
+#: extensions/limits/general_callbacks.py:48
+msgid "Resources"
+msgstr "Resurser"
+
+#: extensions/limits/lib.py:19
#, python-format
msgid "%s: limit reached"
msgstr "%s: gräns uppnådd"
-#: extensions/limits/lib.py:23
+#: extensions/limits/lib.py:29
msgid "Not enough resources"
msgstr "Inte tillräckligt med resurser"
-#: extensions/limits/models.py:103
+#: extensions/limits/models.py:15
+msgid "Maximum number of domain administrators this user can create"
+msgstr "Maximalt antal domänadministratörer den här användaren kan skapa"
+
+#: extensions/limits/models.py:18
+msgid "Maximum number of domains this user can create"
+msgstr "Maximalt antal domäner den här användaren kan skapa"
+
+#: extensions/limits/models.py:21
+msgid "Maximum number of domain aliases this user can create"
+msgstr "Maximalt antal domänen alias den här användaren kan skapa"
+
+#: extensions/limits/models.py:24
+msgid "Maximum number of mailboxes this user can create"
+msgstr "Maximalt antal brevlådor den här användaren kan skapa"
+
+#: extensions/limits/models.py:26
+msgid "Maximum number of mailbox aliases this user can create"
+msgstr "Maximalt antal brevlådealias den här användaren kan skapa"
+
+#: extensions/limits/models.py:136
msgid "undefined"
msgstr "odefinierad"
-#: extensions/limits/models.py:105
+#: extensions/limits/models.py:138
msgid "unlimited"
msgstr "obegränsad"
@@ -1551,19 +1918,14 @@ msgstr "obegränsad"
msgid "Resources usage"
msgstr "Resurs användande"
-#: extensions/postfix_autoreply/__init__.py:20
+#: extensions/postfix_autoreply/__init__.py:26
msgid "Auto-reply (vacation) functionality using Postfix"
msgstr "Automatiskt svar (semester) funktionalitet med Postfix"
-#: extensions/postfix_autoreply/__init__.py:41
+#: extensions/postfix_autoreply/__init__.py:47
msgid "Automatic replies"
msgstr "Automatiska svar"
-#: extensions/postfix_autoreply/__init__.py:79
-#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
-msgid "Auto-reply message"
-msgstr "Auto-svar meddelande"
-
#: extensions/postfix_autoreply/app_settings.py:14
msgid "Automatic reply timeout"
msgstr "Automatiskt svar timeout"
@@ -1572,39 +1934,98 @@ msgstr "Automatiskt svar timeout"
msgid "Timeout in seconds between two auto-replies to the same recipient"
msgstr "Timeout i sekunder mellan två auto-svar till samma mottagare"
-#: extensions/postfix_autoreply/forms.py:9
+#: extensions/postfix_autoreply/app_settings.py:20
+#, fuzzy
+msgid "Default subject"
+msgstr "Standard editor"
+
+#: extensions/postfix_autoreply/app_settings.py:21
+msgid "I'm off"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:23
+msgid ""
+"Default subject used when an auto-reply message is created automatically"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:28
+#, fuzzy
+msgid "Default content"
+msgstr "Standard editor"
+
+#: extensions/postfix_autoreply/app_settings.py:30
+#, python-format
+msgid ""
+"I'm currently off. I'll answer as soon as I come back.\n"
+"\n"
+"Best regards,\n"
+"%(name)s\n"
+msgstr ""
+
+#: extensions/postfix_autoreply/app_settings.py:36
+#, python-format
+msgid ""
+"Default content used when an auto-reply message is created automatically. "
+"The '%(name)s' macro will be replaced by the user's full name."
+msgstr ""
+
+#: extensions/postfix_autoreply/forms.py:13
+#, fuzzy
+msgid "Activate your auto reply from this date"
+msgstr "Aktivera auto-svar fram till detta datum"
+
+#: extensions/postfix_autoreply/forms.py:19
msgid "Until"
msgstr "Tills"
-#: extensions/postfix_autoreply/forms.py:11
+#: extensions/postfix_autoreply/forms.py:21
msgid "Activate your auto reply until this date"
msgstr "Aktivera auto-svar fram till detta datum"
-#: extensions/postfix_autoreply/forms.py:25
+#: extensions/postfix_autoreply/forms.py:49
+#: extensions/postfix_autoreply/forms.py:55
msgid "This date is over"
msgstr "Detta datum har varit"
-#: extensions/postfix_autoreply/models.py:19
+#: extensions/postfix_autoreply/forms.py:59
+#, fuzzy
+msgid "Must be greater than start date"
+msgstr "är större än"
+
+#: extensions/postfix_autoreply/general_callbacks.py:33
+#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:2
+msgid "Auto-reply message"
+msgstr "Auto-svar meddelande"
+
+#: extensions/postfix_autoreply/general_callbacks.py:118
+msgid "Enable auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/general_callbacks.py:120
+msgid "Enable or disable Postfix auto-reply"
+msgstr ""
+
+#: extensions/postfix_autoreply/models.py:20
msgid "subject"
msgstr "ämne"
-#: extensions/postfix_autoreply/models.py:20
+#: extensions/postfix_autoreply/models.py:21
msgid "The subject that will appear in sent emails"
msgstr "Ämnesraden i skickade e-post meddelanden"
-#: extensions/postfix_autoreply/models.py:23
+#: extensions/postfix_autoreply/models.py:24
msgid "content"
msgstr "innehåll"
-#: extensions/postfix_autoreply/models.py:24
+#: extensions/postfix_autoreply/models.py:25
msgid "The content that will appear in sent emails"
msgstr "Innehållet i skickade e-post meddelanden"
-#: extensions/postfix_autoreply/models.py:28
+#: extensions/postfix_autoreply/models.py:29
msgid "Activate/Deactivate your auto reply"
msgstr "Aktivera / inaktivera din autosvar"
-#: extensions/postfix_autoreply/views.py:37
+#: extensions/postfix_autoreply/views.py:34
msgid "Auto reply message updated successfully."
msgstr "Automatisk svarsmeddelande uppdaterats."
@@ -1612,16 +2033,159 @@ msgstr "Automatisk svarsmeddelande uppdaterats."
msgid "Define a message to automatically send when you are off"
msgstr "Skriv meddelande att skicka automatiskt när du är borta"
+#: extensions/postfix_relay_domains/__init__.py:72
+msgid "Relay domains support for Postfix"
+msgstr ""
+
+#: extensions/postfix_relay_domains/__init__.py:89
+#: extensions/postfix_relay_domains/general_callbacks.py:100
+#: extensions/postfix_relay_domains/limits_callbacks.py:16
+#, fuzzy
+msgid "Relay domains"
+msgstr "Ny domän"
+
+#: extensions/postfix_relay_domains/app_settings.py:10
+msgid "Postfix's master.cf path"
+msgstr ""
+
+#: extensions/postfix_relay_domains/app_settings.py:12
+#, fuzzy
+msgid "Path to the master.cf configuration file"
+msgstr "Sökväg till loggfil"
+
+#: extensions/postfix_relay_domains/forms.py:15
+#, fuzzy
+msgid ""
+"Alias(es) of this relay domain. Indicate only one name per input, press "
+"ENTER to add a new input."
+msgstr ""
+"Alias för denna domän. Ange endast ett namn per rad, tryck ENTER för att "
+"lägga till en rad."
+
+#: extensions/postfix_relay_domains/forms.py:51
+#: extensions/postfix_relay_domains/general_callbacks.py:93
+#, fuzzy
+msgid "relay domain alias"
+msgstr "Domän alias"
+
+#: extensions/postfix_relay_domains/forms.py:69
+#: extensions/postfix_relay_domains/general_callbacks.py:92
+#, fuzzy
+msgid "relay domain"
+msgstr "Ny domän"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:35
+#, fuzzy
+msgid "Add relay domain"
+msgstr "Lägg till domän"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:101
+#, fuzzy
+msgid "Maximum number of relay domains this user can create"
+msgstr "Maximalt antal domäner den här användaren kan skapa"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:103
+#: extensions/postfix_relay_domains/limits_callbacks.py:24
+#, fuzzy
+msgid "Relay domain aliases"
+msgstr "Domän alias"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:104
+#, fuzzy
+msgid "Maximum number of relay domain aliases this user can create"
+msgstr "Maximalt antal domänen alias den här användaren kan skapa"
+
+#: extensions/postfix_relay_domains/general_callbacks.py:111
+msgid ""
+"\n"
+"relaydomain; name; target host; service; enabled; verify recipients"
+"em> \n"
+"relaydomainalias; name; target; enabled \n"
+msgstr ""
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:19
+#, fuzzy
+msgid "Maximum number of allowed relay domains for a new administrator"
+msgstr "Maximalt antal domäner för en ny administratör"
+
+#: extensions/postfix_relay_domains/limits_callbacks.py:27
+#, fuzzy
+msgid "Maximum number of allowed relay domain aliases for a new administrator"
+msgstr "Maximalt antal domän alias för en ny administratör"
+
+#: extensions/postfix_relay_domains/models.py:59
+#, fuzzy
+msgid "The service name"
+msgstr "Alias namn"
+
+#: extensions/postfix_relay_domains/models.py:80
+#, fuzzy
+msgid "target host"
+msgstr "mål"
+
+#: extensions/postfix_relay_domains/models.py:81
+#, fuzzy
+msgid "Remote destination of this domain"
+msgstr "Markera för att aktivera denna domän"
+
+#: extensions/postfix_relay_domains/models.py:89
+#, fuzzy
+msgid "verify recipients"
+msgstr "Mottagare"
+
+#: extensions/postfix_relay_domains/models.py:90
+msgid "Check for valid recipients"
+msgstr ""
+
+#: extensions/postfix_relay_domains/models.py:103
+#, fuzzy
+msgid "Relay Domain"
+msgstr "Ny domän"
+
+#: extensions/postfix_relay_domains/models.py:164
+#, fuzzy
+msgid "The relay domain this alias points to"
+msgstr "Domän dit detta alias pekar mot"
+
+#: extensions/postfix_relay_domains/models.py:195
+#, fuzzy, python-format
+msgid "Relay domain %s does not exist"
+msgstr "Domänen '%s' existerar inte"
+
+#: extensions/postfix_relay_domains/views.py:26
+#, fuzzy
+msgid "Relay domain created"
+msgstr "Domän skapad"
+
+#: extensions/postfix_relay_domains/views.py:31
+#, fuzzy
+msgid "New relay domain"
+msgstr "Ny domän"
+
+#: extensions/postfix_relay_domains/views.py:54
+#, fuzzy
+msgid "Relay domain modified"
+msgstr "Domän ändrad"
+
+#: extensions/postfix_relay_domains/views.py:77
+#, fuzzy
+msgid "Relay domain deleted"
+msgstr "Domän raderad"
+
+#: extensions/postfix_relay_domains/templates/postfix_relay_domains/service_field.html:2
+msgid "Scan"
+msgstr ""
+
#: extensions/sievefilters/__init__.py:12
msgid "Plugin to easily create server-side filters"
msgstr "Plugin för att enkelt skapa filter på serversidan"
-#: extensions/sievefilters/__init__.py:17
+#: extensions/sievefilters/__init__.py:18
msgid "Sieve filters"
msgstr "Sieve filter"
-#: extensions/sievefilters/__init__.py:18
-#: extensions/sievefilters/__init__.py:36
+#: extensions/sievefilters/__init__.py:19
+#: extensions/sievefilters/general_callbacks.py:14
#: extensions/sievefilters/templates/sievefilters/index.html:2
msgid "Message filters"
msgstr "Meddelandefilter"
@@ -1662,125 +2226,123 @@ msgstr "Redigeringsläge"
msgid "Select the mode you want the editor to work in"
msgstr "Välj det läge du vill redigeraren att arbeta i"
-#: extensions/sievefilters/forms.py:14
+#: extensions/sievefilters/forms.py:16
msgid "Check to activate this filters set"
msgstr "Markera för att aktivera denna filter regel"
-#: extensions/sievefilters/forms.py:55
+#: extensions/sievefilters/forms.py:62
msgid "All of the following"
msgstr "Alla av följande"
-#: extensions/sievefilters/forms.py:56
+#: extensions/sievefilters/forms.py:63
msgid "Any of the following"
msgstr "Någon av följande"
-#: extensions/sievefilters/forms.py:57
-msgid "All messages"
-msgstr "Alla meddelanden"
-
-#: extensions/sievefilters/forms.py:62
+#: extensions/sievefilters/forms.py:70
msgid "contains"
msgstr "innehåller"
-#: extensions/sievefilters/forms.py:63
+#: extensions/sievefilters/forms.py:71
msgid "does not contain"
msgstr "innehåller inte"
-#: extensions/sievefilters/forms.py:64
+#: extensions/sievefilters/forms.py:72
msgid "is"
msgstr "är"
-#: extensions/sievefilters/forms.py:65
+#: extensions/sievefilters/forms.py:73
msgid "is not"
msgstr "är inte"
-#: extensions/sievefilters/forms.py:69
+#: extensions/sievefilters/forms.py:78
msgid "Sender"
msgstr "Avsändare"
-#: extensions/sievefilters/forms.py:70
+#: extensions/sievefilters/forms.py:79
msgid "Recipient"
msgstr "Mottagare"
-#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:8
+#: extensions/sievefilters/forms.py:80 extensions/webmail/forms.py:8
msgid "Cc"
msgstr "Cc"
-#: extensions/sievefilters/forms.py:72
+#: extensions/sievefilters/forms.py:81
msgid "Size"
msgstr "Storlek"
-#: extensions/sievefilters/forms.py:73
+#: extensions/sievefilters/forms.py:82
msgid "is greater than"
msgstr "är större än"
-#: extensions/sievefilters/forms.py:74
+#: extensions/sievefilters/forms.py:83
msgid "is less than"
msgstr "är mindre än"
-#: extensions/sievefilters/forms.py:78
+#: extensions/sievefilters/forms.py:87
msgid "Move message to"
msgstr "Flytta meddelande till"
-#: extensions/sievefilters/forms.py:80
+#: extensions/sievefilters/forms.py:89
msgid "Redirect message to"
msgstr "Omdirigera meddelande till"
-#: extensions/sievefilters/lib.py:37
+#: extensions/sievefilters/lib.py:40
msgid "Connection to MANAGESIEVE server failed, check your configuration"
-msgstr "Anslutning till MANAGESIEVE servern misslyckades, kontrollera din konfiguration"
+msgstr ""
+"Anslutning till MANAGESIEVE servern misslyckades, kontrollera din "
+"konfiguration"
-#: extensions/sievefilters/lib.py:82
+#: extensions/sievefilters/lib.py:85
msgid "Not enough space on server"
msgstr "Inte tillräckligt med utrymme på servern"
-#: extensions/sievefilters/views.py:68
+#: extensions/sievefilters/views.py:78
msgid "Failed to retrieve filters set"
msgstr "Det gick inte att hämta filteruppsättning"
-#: extensions/sievefilters/views.py:126
+#: extensions/sievefilters/views.py:138
#: extensions/sievefilters/templatetags/sfilters_tags.py:33
msgid "New filter"
msgstr "Nytt filter"
-#: extensions/sievefilters/views.py:133
+#: extensions/sievefilters/views.py:146
msgid "Filter created"
msgstr "Filter krashade"
-#: extensions/sievefilters/views.py:145
-#: extensions/sievefilters/templatetags/sfilters_tags.py:77
+#: extensions/sievefilters/views.py:160
+#: extensions/sievefilters/templatetags/sfilters_tags.py:78
msgid "Edit filter"
msgstr "Redigera filter"
-#: extensions/sievefilters/views.py:154
+#: extensions/sievefilters/views.py:169
msgid "Filter modified"
msgstr "Filter modifierat"
-#: extensions/sievefilters/views.py:176
+#: extensions/sievefilters/views.py:192
msgid "Filter removed"
msgstr "Filter raderat"
-#: extensions/sievefilters/views.py:177
+#: extensions/sievefilters/views.py:193
msgid "Failed to remove filter"
msgstr "Det gick inte att radera filtret"
-#: extensions/sievefilters/views.py:191
+#: extensions/sievefilters/views.py:208
msgid "Filters set saved"
msgstr "Filter uppsättning sparat"
-#: extensions/sievefilters/views.py:196
-msgid "Create a new filters set"
-msgstr "Skapa ny filteruppsättning"
-
-#: extensions/sievefilters/views.py:219
+#: extensions/sievefilters/views.py:224
msgid "Filters set created"
msgstr "Filter uppsättning skapat"
-#: extensions/sievefilters/views.py:240
+#: extensions/sievefilters/views.py:228
+msgid "Create a new filters set"
+msgstr "Skapa ny filteruppsättning"
+
+#: extensions/sievefilters/views.py:247
msgid "Filters set deleted"
msgstr "Filter uppsättning raderad"
-#: extensions/sievefilters/views.py:252
+#: extensions/sievefilters/views.py:260
msgid "Filters set activated"
msgstr "Filter uppsättning aktiverad"
@@ -1796,20 +2358,22 @@ msgstr "Aktivera"
msgid "No filter defined yet"
msgstr "Inga filter definierade än"
-#: extensions/sievefilters/templates/sievefilters/index.html:56
+#: extensions/sievefilters/templates/sievefilters/index.html:76
msgid "Filter sets"
msgstr "Filter uppsättning"
-#: extensions/sievefilters/templates/sievefilters/index.html:60
+#: extensions/sievefilters/templates/sievefilters/index.html:80
msgid "active"
msgstr "aktivera"
-#: extensions/sievefilters/templates/sievefilters/index.html:74
+#: extensions/sievefilters/templates/sievefilters/index.html:94
msgid ""
"No filters set defined yet. You must create one in order to define filters."
-msgstr "Inga filter uppsättningar definierade. Du måste skapa en uppsättning för att kunna definiera filter."
+msgstr ""
+"Inga filter uppsättningar definierade. Du måste skapa en uppsättning för att "
+"kunna definiera filter."
-#: extensions/sievefilters/templatetags/sfilters_tags.py:16
+#: extensions/sievefilters/templatetags/sfilters_tags.py:15
msgid "New filters set"
msgstr "Ny filter uppsättning"
@@ -1829,31 +2393,27 @@ msgstr "Radera filter uppsättning"
msgid "Download"
msgstr "Ladda ner"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:85
+#: extensions/sievefilters/templatetags/sfilters_tags.py:86
msgid "Remove this filter"
msgstr "Radera detta filter"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:93
+#: extensions/sievefilters/templatetags/sfilters_tags.py:94
msgid "Move this filter up"
msgstr "Flytta upp detta filter"
-#: extensions/sievefilters/templatetags/sfilters_tags.py:101
+#: extensions/sievefilters/templatetags/sfilters_tags.py:102
msgid "Move this filter down"
msgstr "Flytta ner detta filter"
-#: extensions/stats/__init__.py:20
+#: extensions/stats/__init__.py:21
msgid "Graphical statistics about emails traffic using RRDtool"
msgstr "Grafisk statistik om e-post trafik med hjälp av RRDtool"
-#: extensions/stats/__init__.py:26
+#: extensions/stats/__init__.py:29
#: extensions/stats/templates/stats/index.html:2
msgid "Graphical statistics"
msgstr "Grafisk statistik"
-#: extensions/stats/__init__.py:40
-msgid "Statistics"
-msgstr "Statistik"
-
#: extensions/stats/app_settings.py:14
msgid "Path to the log file"
msgstr "Sökväg till loggfil"
@@ -1878,84 +2438,88 @@ msgstr "Katalog för lagring av PNG filer"
msgid "Path to directory where PNG files are stored"
msgstr "Sökväg till katalog där PNG-filer lagras"
-#: extensions/stats/graph_templates.py:20
+#: extensions/stats/general_callbacks.py:12
+msgid "Statistics"
+msgstr "Statistik"
+
+#: extensions/stats/graph_templates.py:22
msgid "Average normal traffic"
msgstr "Genomsnittlig normal trafik"
-#: extensions/stats/graph_templates.py:21
-#: extensions/stats/graph_templates.py:33
+#: extensions/stats/graph_templates.py:23
+#: extensions/stats/graph_templates.py:36
msgid "msgs/min"
msgstr "meddelanden/minut"
-#: extensions/stats/graph_templates.py:26
+#: extensions/stats/graph_templates.py:28
msgid "sent messages"
msgstr "skickade meddelanden"
-#: extensions/stats/graph_templates.py:28
+#: extensions/stats/graph_templates.py:30
msgid "received messages"
msgstr "mottagna meddelande"
-#: extensions/stats/graph_templates.py:32
+#: extensions/stats/graph_templates.py:35
msgid "Average bad traffic"
msgstr "Genomsnittlig dålig trafik"
-#: extensions/stats/graph_templates.py:38
+#: extensions/stats/graph_templates.py:41
msgid "bounced messages"
msgstr "studsade meddelanden"
-#: extensions/stats/graph_templates.py:40
+#: extensions/stats/graph_templates.py:43
msgid "rejected messages"
msgstr "avvisade meddelanden"
-#: extensions/stats/graph_templates.py:44
+#: extensions/stats/graph_templates.py:48
msgid "Average normal traffic size"
msgstr "Genomsnittlig normal trafik storlek"
-#: extensions/stats/graph_templates.py:45
+#: extensions/stats/graph_templates.py:49
msgid "bytes/min"
msgstr "bytes/min"
-#: extensions/stats/graph_templates.py:50
+#: extensions/stats/graph_templates.py:54
msgid "received size"
msgstr "mottagen storlek"
-#: extensions/stats/graph_templates.py:52
+#: extensions/stats/graph_templates.py:56
msgid "sent size"
msgstr "sänd storlek"
-#: extensions/stats/graph_templates.py:73
+#: extensions/stats/graph_templates.py:78
msgid "Mail traffic"
msgstr "Mail trafik"
-#: extensions/stats/grapher.py:9
+#: extensions/stats/grapher.py:8
msgid "Day"
msgstr "Dag"
-#: extensions/stats/grapher.py:10
+#: extensions/stats/grapher.py:9
msgid "Week"
msgstr "Vecka"
-#: extensions/stats/grapher.py:11
+#: extensions/stats/grapher.py:10
msgid "Month"
msgstr "Månad"
-#: extensions/stats/grapher.py:12
+#: extensions/stats/grapher.py:11
msgid "Year"
msgstr "År"
-#: extensions/stats/grapher.py:59
+#: extensions/stats/grapher.py:60
msgid "Total"
msgstr "Totalt"
-#: extensions/stats/views.py:21 extensions/stats/templates/stats/graphs.html:4
+#: extensions/stats/views.py:28 extensions/stats/templates/stats/graphs.html:4
msgid "No statistics available"
msgstr "Ingen statistik tillgänglig"
-#: extensions/stats/views.py:39
+#: extensions/stats/views.py:47
msgid "Unknown graphic set"
msgstr "Okänt grafisk uppsättning"
-#: extensions/stats/views.py:61
+#: extensions/stats/views.py:70
msgid "Bad custom period"
msgstr "Ogiltig anpassad tid"
@@ -1975,14 +2539,10 @@ msgstr "Anpassat tidsintervall"
msgid "Apply"
msgstr "Applicera"
-#: extensions/webmail/__init__.py:12
+#: extensions/webmail/__init__.py:13
msgid "Simple IMAP webmail"
msgstr "Enkel IMAP webmail"
-#: extensions/webmail/__init__.py:35
-msgid "Webmail"
-msgstr "Webmail"
-
#: extensions/webmail/app_settings.py:14
msgid "Maximum attachment size"
msgstr "Maximal storlek för bilaga"
@@ -2111,99 +2671,94 @@ msgstr "Signatur text"
msgid "User defined email signature"
msgstr "Användardefinierad e-post signatur"
-#: extensions/webmail/exceptions.py:19
+#: extensions/webmail/exceptions.py:20
msgid "Server response"
msgstr "Server svar"
+#: extensions/webmail/exceptions.py:34
+msgid "Unknown action"
+msgstr "Okänd åtgärd"
+
#: extensions/webmail/forms.py:9
msgid "Cci"
msgstr "BCC"
-#: extensions/webmail/imaputils.py:237
+#: extensions/webmail/general_callbacks.py:14
+msgid "Webmail"
+msgstr "Webmail"
+
+#: extensions/webmail/imaputils.py:242
msgid "Failed to retrieve hierarchy delimiter"
msgstr "Det gick inte att hämta hierarki avgränsare"
-#: extensions/webmail/imaputils.py:278
+#: extensions/webmail/imaputils.py:283
#, python-format
msgid "Connection to IMAP server failed: %s"
msgstr "Anslutning till IMAP servern misslyckades: %s"
-#: extensions/webmail/lib.py:358
+#: extensions/webmail/lib.py:371
msgid "wrote:"
msgstr "skrev:"
-#: extensions/webmail/lib.py:423 extensions/webmail/lib.py:427
+#: extensions/webmail/lib.py:437 extensions/webmail/lib.py:441
msgid "Original message"
msgstr "Orginalmeddelande"
-#: extensions/webmail/views.py:86
+#: extensions/webmail/views.py:85
#, python-format
msgid "%(count)d message deleted"
msgid_plural "%(count)d messages deleted"
msgstr[0] "%(count)d meddelande raderat"
msgstr[1] "%(count)d meddelanden raderade"
-#: extensions/webmail/views.py:103
-msgid "Unknown action"
-msgstr "Okänd åtgärd"
-
-#: extensions/webmail/views.py:116 lib/email_listing.py:137
+#: extensions/webmail/views.py:116 lib/email_listing.py:138
msgid "Empty mailbox"
msgstr "Tom brevlåda"
-#: extensions/webmail/views.py:133
-#: extensions/webmail/templatetags/webextras.py:170
-msgid "Create a new mailbox"
-msgstr "Skapa en ny brevlåda"
-
-#: extensions/webmail/views.py:149
+#: extensions/webmail/views.py:142
msgid "Mailbox created"
msgstr "Brevlåda skapad"
-#: extensions/webmail/views.py:165
+#: extensions/webmail/views.py:148
+#: extensions/webmail/templatetags/webmail_tags.py:175
+msgid "Create a new mailbox"
+msgstr "Skapa en ny brevlåda"
+
+#: extensions/webmail/views.py:167 extensions/webmail/views.py:202
msgid "Edit mailbox"
msgstr "Redigera brevlåda"
-#: extensions/webmail/views.py:180
+#: extensions/webmail/views.py:183
msgid "Mailbox updated"
msgstr "Brevlåda uppdaterad"
-#: extensions/webmail/views.py:214 extensions/webmail/views.py:396
-#: extensions/webmail/views.py:505
-msgid "Bad request"
-msgstr "Ogiltig fråga"
-
-#: extensions/webmail/views.py:246
+#: extensions/webmail/views.py:255
msgid "Failed to save attachment: "
msgstr "Det gick inte att spara bilaga:"
-#: extensions/webmail/views.py:249
+#: extensions/webmail/views.py:258
#, python-format
msgid "Attachment is too big (limit: %s)"
msgstr "Bilagan är för stor (max:% s)"
-#: extensions/webmail/views.py:255
+#: extensions/webmail/views.py:264
#: extensions/webmail/templates/webmail/compose.html:15
#: extensions/webmail/templates/webmail/headers.html:4
msgid "Attachments"
msgstr "Bilagor"
-#: extensions/webmail/views.py:271
+#: extensions/webmail/views.py:281
msgid "Bad query"
msgstr "Dålig fråga"
-#: extensions/webmail/views.py:281
+#: extensions/webmail/views.py:293
msgid "Failed to remove attachment: "
msgstr "Misslyckades med att radera bilaga:"
-#: extensions/webmail/views.py:286
+#: extensions/webmail/views.py:298
msgid "Unknown attachment"
msgstr "Okänd bilaa"
-#: extensions/webmail/views.py:501
-msgid "Undefined action"
-msgstr "Odefinierad åtgärd"
-
#: extensions/webmail/templates/webmail/attachments.html:6
msgid "Attach"
msgstr "Bifoga"
@@ -2235,111 +2790,123 @@ msgstr "Brevlådas förälder"
msgid "Mailbox quota"
msgstr "Brevlåde kvota"
-#: extensions/webmail/templatetags/webextras.py:19
+#: extensions/webmail/templatetags/webmail_tags.py:20
msgid "Reply"
msgstr "Svara"
-#: extensions/webmail/templatetags/webextras.py:23
+#: extensions/webmail/templatetags/webmail_tags.py:24
msgid "Reply all"
msgstr "Svara alla"
-#: extensions/webmail/templatetags/webextras.py:27
-#: userprefs/templates/userprefs/forward.html:2
-#: userprefs/templatetags/uprefs_extras.py:27
-msgid "Forward"
-msgstr "Vidarebefordra"
-
-#: extensions/webmail/templatetags/webextras.py:33
+#: extensions/webmail/templatetags/webmail_tags.py:34
msgid "Display options"
msgstr "Visnings alternativ"
-#: extensions/webmail/templatetags/webextras.py:36
+#: extensions/webmail/templatetags/webmail_tags.py:37
msgid "Activate links"
msgstr "Aktivera länkar"
-#: extensions/webmail/templatetags/webextras.py:38
+#: extensions/webmail/templatetags/webmail_tags.py:39
msgid "Disable links"
msgstr "Avaktivera länkar"
-#: extensions/webmail/templatetags/webextras.py:47
+#: extensions/webmail/templatetags/webmail_tags.py:48
msgid "Close this message"
msgstr "Stäng detta meddelande"
-#: extensions/webmail/templatetags/webextras.py:60
+#: extensions/webmail/templatetags/webmail_tags.py:63
msgid "Back"
msgstr "Tillbaka"
-#: extensions/webmail/templatetags/webextras.py:64
+#: extensions/webmail/templatetags/webmail_tags.py:67
msgid "Send"
msgstr "Skicka"
-#: extensions/webmail/templatetags/webextras.py:76
+#: extensions/webmail/templatetags/webmail_tags.py:80
msgid "New message"
msgstr "Nytt meddelande"
-#: extensions/webmail/templatetags/webextras.py:85
+#: extensions/webmail/templatetags/webmail_tags.py:89
msgid "Mark messages"
msgstr "Markera meddelande"
-#: extensions/webmail/templatetags/webextras.py:89
+#: extensions/webmail/templatetags/webmail_tags.py:93
msgid "As read"
msgstr "Som läst"
-#: extensions/webmail/templatetags/webextras.py:92
+#: extensions/webmail/templatetags/webmail_tags.py:96
msgid "As unread"
msgstr "Som oläst"
-#: extensions/webmail/templatetags/webextras.py:101
+#: extensions/webmail/templatetags/webmail_tags.py:105
msgid "Compress folder"
msgstr "Komprimera katalog"
-#: extensions/webmail/templatetags/webextras.py:110
+#: extensions/webmail/templatetags/webmail_tags.py:114
msgid "Empty folder"
msgstr "Töm katalog"
-#: extensions/webmail/templatetags/webextras.py:178
+#: extensions/webmail/templatetags/webmail_tags.py:183
msgid "Edit the selected mailbox"
msgstr "Redigera vald brevlåda"
-#: extensions/webmail/templatetags/webextras.py:183
+#: extensions/webmail/templatetags/webmail_tags.py:188
msgid "Remove the selected mailbox"
msgstr "Radera vald brevlåda"
-#: lib/exceptions.py:18
+#: lib/dbutils.py:36
+#, fuzzy, python-format
+msgid "Connection to database %s not configured"
+msgstr "Anslutning till amavis misslyckades: %s"
+
+#: lib/exceptions.py:67
#, python-format
msgid "Permission denied: %s"
msgstr "Tillstånd nekas: %s"
-#: lib/exceptions.py:19
+#: lib/exceptions.py:68
msgid "Permission denied"
msgstr "Tillstånd nekas"
-#: lib/formutils.py:157 lib/formutils.py:165
+#: lib/formutils.py:187 lib/formutils.py:195
msgid "Enter a valid domain name"
msgstr "Skriv in ett giltigt domännamn"
-#: lib/permissions.py:27
+#: lib/formutils.py:244
+msgid "Yes"
+msgstr "Ja"
+
+#: lib/formutils.py:244
+msgid "No"
+msgstr "Nej"
+
+#: lib/ldaputils.py:111
+#, python-format
+msgid "Failed to update password: %s"
+msgstr "Misslyckades med att uppdatera lösenord: %s"
+
+#: lib/permissions.py:20
msgid "Simple user"
msgstr "Enkel användare"
-#: lib/permissions.py:29
+#: lib/permissions.py:22
msgid "Super administrator"
msgstr "Super administratör"
-#: lib/permissions.py:31
+#: lib/permissions.py:28
msgid "Domain administrator"
msgstr "Domän administratör"
-#: lib/permissions.py:75
+#: lib/permissions.py:73
#, python-format
msgid "Failed to grant access (%s)"
msgstr "Det gick inte att bevilja åtkomst (%s)"
-#: lib/tables.py:241
+#: lib/tables.py:251
msgid "No entries to display"
msgstr "Inga poster att visa"
-#: lib/templatetags/libextras.py:108
+#: lib/templatetags/lib_tags.py:59
msgid "activate"
msgstr "aktivera"
@@ -2397,103 +2964,35 @@ msgstr "Kom ihåg mig"
msgid "Log in"
msgstr "Logga in"
-#: userprefs/__init__.py:8
-msgid "User preferences"
-msgstr "Användarinställningar"
+#~ msgid "An alias with this name already exists"
+#~ msgstr "Ett alias med detta namn finns redan"
-#: userprefs/__init__.py:10
-msgid "Per-user settings"
-msgstr "Per användare inställningar"
+#~ msgid "A domain with this name already exists"
+#~ msgstr "En domän med detta namn existerar redan"
-#: userprefs/app_settings.py:22
-msgid "Prefered language"
-msgstr "Önskat språk"
+#~ msgid "Edit domain"
+#~ msgstr "Redigera domän"
-#: userprefs/app_settings.py:27
-msgid "Prefered language to display pages"
-msgstr "Önskat språk för att visa sidor"
+#~ msgid "%d pending requests"
+#~ msgstr "%d väntande förfrågningar"
-#: userprefs/forms.py:14
-msgid "Old password"
-msgstr "Gammalt lösenord"
+#~ msgid "Content Class"
+#~ msgstr "Innehålls klass"
-#: userprefs/forms.py:16
-msgid "New password"
-msgstr "Nytt lösenord"
+#~ msgid "Nothing"
+#~ msgstr "Ingenting"
-#: userprefs/forms.py:40
-msgid "Old password mismatchs"
-msgstr "Gammalt lösenord matchar inte"
+#~ msgid "Bad request"
+#~ msgstr "Ogiltig fråga"
-#: userprefs/forms.py:45
-msgid "Passwords mismatch"
-msgstr "Lösenord matchar inte"
+#~ msgid "Undefined action"
+#~ msgstr "Odefinierad åtgärd"
-#: userprefs/forms.py:59
-msgid "Recipient(s)"
-msgstr "Mottagare"
+#~ msgid "User preferences"
+#~ msgstr "Användarinställningar"
-#: userprefs/forms.py:62
-msgid "Indicate one or more recipients separated by a ','"
-msgstr "Ange en eller flera mottagare separerade med ett ','"
+#~ msgid "Per-user settings"
+#~ msgstr "Per användare inställningar"
-#: userprefs/forms.py:65
-msgid "Keep local copies"
-msgstr "Behåll lokal kopia"
-
-#: userprefs/forms.py:67
-msgid "Forward messages and store copies into your local mailbox"
-msgstr "Vidarebefordra meddelande och spara kopia i din lokala brevlåda"
-
-#: userprefs/forms.py:84
-msgid ""
-"You can't define a forward to a local destination. Please ask your "
-"administrator to create an alias instead."
-msgstr "Du kan inte definiera en vidarebefordring till en lokal destination. Be din administratör att skapa ett alias istället."
-
-#: userprefs/views.py:32
-msgid "You need a mailbox in order to define a forward"
-msgstr "Du behöver en brevlåda för att definiera en vidarebefordran"
-
-#: userprefs/views.py:56
-msgid "Forward updated"
-msgstr "Vidarebefordring uppdaterad"
-
-#: userprefs/views.py:98
-msgid "Profile updated"
-msgstr "Profil uppdaterad"
-
-#: userprefs/views.py:127
-msgid "Preferences saved"
-msgstr "Inställningar sparade"
-
-#: userprefs/templates/userprefs/forward.html:2
-msgid "Automatically forward emails to another address"
-msgstr "Vidarebefordra automatiskt e-post till en annan adress"
-
-#: userprefs/templates/userprefs/index.html:2
-#: userprefs/templatetags/uprefs_extras.py:48
-msgid "Settings"
-msgstr "Inställningar"
-
-#: userprefs/templates/userprefs/preferences.html:2
-#: userprefs/templatetags/uprefs_extras.py:21
-msgid "Preferences"
-msgstr "Inställningar"
-
-#: userprefs/templates/userprefs/preferences.html:2
-msgid "Customize Modoboa"
-msgstr "Anpassa Modoboa"
-
-#: userprefs/templates/userprefs/profile.html:2
-#: userprefs/templatetags/uprefs_extras.py:17
-msgid "Profile"
-msgstr "Profil"
-
-#: userprefs/templates/userprefs/profile.html:2
-msgid "Update your personal information"
-msgstr "Uppdatera personlig information"
-
-#: userprefs/templatetags/uprefs_extras.py:57
-msgid "Logout"
-msgstr "Logga ut"
+#~ msgid "You need a mailbox in order to define a forward"
+#~ msgstr "Du behöver en brevlåda för att definiera en vidarebefordran"
diff --git a/modoboa/locale/sv/LC_MESSAGES/djangojs.po b/modoboa/locale/sv/LC_MESSAGES/djangojs.po
index f349e2089..b5a7715bc 100644
--- a/modoboa/locale/sv/LC_MESSAGES/djangojs.po
+++ b/modoboa/locale/sv/LC_MESSAGES/djangojs.po
@@ -1,113 +1,100 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#
+#
# Translators:
# ogg1980 , 2013
msgid ""
msgstr ""
"Project-Id-Version: Modoboa\n"
-"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n"
-"POT-Creation-Date: 2013-05-22 17:39+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-12-03 10:33+0100\n"
"PO-Revision-Date: 2013-05-23 08:22+0000\n"
"Last-Translator: ogg1980 \n"
-"Language-Team: Swedish (http://www.transifex.com/projects/p/modoboa/language/sv/)\n"
+"Language-Team: Swedish (http://www.transifex.com/projects/p/modoboa/language/"
+"sv/)\n"
+"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: admin/static/admin/js/admin.js:26
+#: extensions/admin/static/admin/js/admin.js:32
msgid "Search"
msgstr "Sök"
-#: admin/static/admin/js/admin.js:110
+#: extensions/admin/static/admin/js/admin.js:170
msgid "Do not delete domain directory"
msgstr "Radera inte domän katalog"
-#: admin/static/admin/js/admin.js:113
+#: extensions/admin/static/admin/js/admin.js:173
msgid "This operation will remove ALL data associated to this domain."
msgstr "Denna åtgärd kommer radera ALL data associerad med den här domänen."
-#: admin/static/admin/js/admin.js:114
+#: extensions/admin/static/admin/js/admin.js:174
msgid ""
"This operation will remove all data associated to this domain, excepting "
"accounts."
-msgstr "Den här operationen raderar all data som är associerad med denna domän, förutom konton."
+msgstr ""
+"Den här operationen raderar all data som är associerad med denna domän, "
+"förutom konton."
-#: admin/static/admin/js/admin.js:117
-msgid "Delete this domain?"
-msgstr "Radera denna domän?"
-
-#: admin/static/admin/js/admin.js:161
+#: extensions/admin/static/admin/js/admin.js:222
msgid "No domain administrator defined"
msgstr "Ingen domänadministratör definierad"
-#: admin/static/admin/js/admin.js:238
+#: extensions/admin/static/admin/js/admin.js:291
msgid "Do not delete mailbox directory"
msgstr "Radera inte brevlådans katalog"
-#: admin/static/admin/js/admin.js:243
-msgid "Delete this account?"
-msgstr "Radera detta konto?"
-
-#: admin/static/admin/js/admin.js:249
-msgid "Delete this list?"
-msgstr "Radera denna lista?"
-
-#: admin/static/admin/js/admin.js:254
-msgid "Delete this forward?"
-msgstr "Radera denna vidarebefodring?"
-
-#: admin/static/admin/js/admin.js:259
-msgid "Delete this alias?"
-msgstr "Radera detta alias?"
-
-#: extensions/amavis/static/amavis/js/quarantine.js:126
+#: extensions/amavis/static/amavis/js/quarantine.js:180
msgid "Release this selection?"
msgstr "Släpp markerat urval?"
-#: extensions/amavis/static/amavis/js/quarantine.js:130
+#: extensions/amavis/static/amavis/js/quarantine.js:184
msgid "Delete this selection?"
msgstr "Radera markerat urval?"
-#: extensions/amavis/static/amavis/js/quarantine.js:148
-#: extensions/amavis/static/amavis/js/selfservice.js:22
+#: extensions/amavis/static/amavis/js/quarantine.js:203
+#: extensions/amavis/static/amavis/js/selfservice.js:17
msgid "Release this message?"
msgstr "Släpp detta meddelande?"
-#: extensions/amavis/static/amavis/js/quarantine.js:152
-#: extensions/amavis/static/amavis/js/selfservice.js:26
+#: extensions/amavis/static/amavis/js/quarantine.js:207
+#: extensions/amavis/static/amavis/js/selfservice.js:21
msgid "Delete this message?"
msgstr "Radera detta meddelande?"
-#: extensions/amavis/static/amavis/js/quarantine.js:169
+#: extensions/amavis/static/amavis/js/quarantine.js:224
msgid "View full headers"
msgstr "Visa meddelandehuvud"
-#: extensions/amavis/static/amavis/js/quarantine.js:174
+#: extensions/amavis/static/amavis/js/quarantine.js:229
msgid "Hide full headers"
msgstr "Göm meddelandehuvud"
+#: extensions/postfix_relay_domains/static/postfix_relay_domains/js/relay_domains.js:49
+msgid "Services updated"
+msgstr ""
+
#: extensions/sievefilters/static/sievefilters/js/lib.js:14
msgid "Remove this filter?"
msgstr "Radera detta filter?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:117
+#: extensions/sievefilters/static/sievefilters/js/lib.js:107
msgid "Save changes?"
msgstr "Spara ändringar?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:144
+#: extensions/sievefilters/static/sievefilters/js/lib.js:129
msgid "Remove filters set?"
msgstr "Radera filteruppsättning?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:161
+#: extensions/sievefilters/static/sievefilters/js/lib.js:146
msgid "Activate this filters set?"
msgstr "Aktivera filteruppsättning?"
-#: extensions/sievefilters/static/sievefilters/js/lib.js:169
-#: extensions/sievefilters/static/sievefilters/js/lib.js:224
+#: extensions/sievefilters/static/sievefilters/js/lib.js:154
+#: extensions/sievefilters/static/sievefilters/js/lib.js:203
msgid "active"
msgstr "aktivera"
@@ -115,19 +102,19 @@ msgstr "aktivera"
msgid "Search a domain"
msgstr "Sök domän"
-#: extensions/webmail/static/webmail/js/webmail.js:485
+#: extensions/webmail/static/webmail/js/webmail.js:472
msgid "Remove the selected mailbox?"
msgstr "Radera markerad brevlåda?"
-#: extensions/webmail/static/webmail/js/webmail.js:499
+#: extensions/webmail/static/webmail/js/webmail.js:485
msgid "Mailbox removed"
msgstr "Brevlåda raderad"
-#: extensions/webmail/static/webmail/js/webmail.js:823
+#: extensions/webmail/static/webmail/js/webmail.js:727
msgid "Message sent"
msgstr "Meddelande sänt"
-#: extensions/webmail/static/webmail/js/webmail.js:856
+#: extensions/webmail/static/webmail/js/webmail.js:854
msgid "Message deleted"
msgstr "Meddelande raderat"
@@ -145,18 +132,34 @@ msgid_plural "Moving %s messages"
msgstr[0] "Flyttar %s meddelande"
msgstr[1] "Flyttar %s meddelanden"
-#: static/js/confirmation.js:48
+#: static/js/confirmation.js:50
msgid "Warning"
msgstr "Varning"
-#: static/js/confirmation.js:57
+#: static/js/confirmation.js:59
msgid "Cancel"
msgstr "Avbryt"
-#: static/js/confirmation.js:99 static/js/history.js:239
-msgid "Internal Error"
+#: static/js/global.js:314
+#, fuzzy
+msgid "Internal error"
msgstr "Internt fel"
#: static/js/searchbar.js:20
msgid "Search..."
msgstr "Sök..."
+
+#~ msgid "Delete this domain?"
+#~ msgstr "Radera denna domän?"
+
+#~ msgid "Delete this account?"
+#~ msgstr "Radera detta konto?"
+
+#~ msgid "Delete this list?"
+#~ msgstr "Radera denna lista?"
+
+#~ msgid "Delete this forward?"
+#~ msgstr "Radera denna vidarebefodring?"
+
+#~ msgid "Delete this alias?"
+#~ msgstr "Radera detta alias?"
diff --git a/modoboa/static/css/custom.css b/modoboa/static/css/custom.css
index 6e335a80c..96e75372e 100644
--- a/modoboa/static/css/custom.css
+++ b/modoboa/static/css/custom.css
@@ -116,3 +116,13 @@ body {
.table-fixed {
table-layout: fixed;
}
+
+.menubar-text {
+ display: inline;
+ vertical-align: middle;
+}
+
+.label-title {
+ vertical-align: middle;
+ margin: 0 10px;
+}
\ No newline at end of file
diff --git a/modoboa/static/js/global.js b/modoboa/static/js/global.js
index 7be4d4c63..42c45a340 100644
--- a/modoboa/static/js/global.js
+++ b/modoboa/static/js/global.js
@@ -233,6 +233,19 @@ function parse_qs(raw) {
return res;
}
+/*
+ * Extract a specific URL parameter using its name.
+ *
+ * Ref: http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript
+ */
+function get_parameter_by_name(url, name) {
+ var name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
+ var regex = new RegExp("[\\?&]" + name + "=([^]*)"),
+ results = regex.exec(url);
+
+ return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
+}
+
/*
* Return the target associated to an event object.
*/
diff --git a/modoboa/static/js/jquery.htmltable.js b/modoboa/static/js/jquery.htmltable.js
index d428ab03b..7b3c1c0b9 100644
--- a/modoboa/static/js/jquery.htmltable.js
+++ b/modoboa/static/js/jquery.htmltable.js
@@ -10,6 +10,7 @@
this.$element = $(element);
this.options = $.extend({}, $.fn.htmltable.defaults, options);
this.shift_pressed = false;
+ this.ctrl_pressed = false;
this.last_selection = null;
this.prev_dir = null;
this.listen();
@@ -25,29 +26,50 @@
},
listen: function() {
-
$(document)
- .off("click", "tbody>tr")
- .on("click", "tbody>tr",
+ .off("change", "tbody input[type=checkbox]")
+ .on("change", "tbody input[type=checkbox]",
$.proxy(this.toggle_select, this));
$(document).on("keydown", "body", $.proxy(this.keydown, this));
$(document).on("keyup", "body", $.proxy(this.keyup, this));
},
+ /**
+ * Effective change of a table row's state.
+ */
_toggle_select: function($tr) {
- this.last_selection = $tr;
if ($tr.hasClass(this.options.tr_selected_class)) {
+ $tr.children('td[name=selection]').children('input').prop('checked', false);
$tr.removeClass(this.options.tr_selected_class);
+ if (this.options.tr_unselected_event != undefined) {
+ this.options.tr_unselected_event($tr);
+ }
} else {
+ $tr.children('td[name=selection]').children('input').prop('checked', true);
$tr.addClass(this.options.tr_selected_class);
+ if (this.options.tr_selected_event != undefined) {
+ this.options.tr_selected_event($tr);
+ }
}
},
+ /**
+ * Change the selection state of a given table row.
+ *
+ * Holding the shift key between two selections let users
+ * select all rows between those two locations.
+ *
+ * Holding the ctrl key between two selections let users make
+ * an additive selection.
+ */
toggle_select: function(e) {
- e.preventDefault();
- var $tr = $(e.target).parent();
+ var $tr = $(e.target).parents('tr');
if (this.shift_pressed && this.last_selection) {
+ var start = this.last_selection;
+
+ this.clear_selection();
+ this.last_selection = start;
var itfunc = ($tr.index() >= this.last_selection.index())
? "next" : "prev";
var $curtr = null;
@@ -55,7 +77,7 @@
if (this.prev_dir && itfunc != this.prev_dir) {
$curtr = this.last_selection;
} else {
- $curtr = this.last_selection[itfunc]("tr");
+ $curtr = this.last_selection;
}
for (; $curtr.length; $curtr = $curtr[itfunc]("tr")) {
this._toggle_select($curtr);
@@ -65,30 +87,50 @@
}
this.prev_dir = itfunc;
return;
+ } else if (!this.ctrl_pressed && (!this.last_selection || !this.last_selection.is($tr))) {
+ this.clear_selection();
}
+ this.last_selection = $tr;
this._toggle_select($tr);
},
+ /**
+ * Check if $row is selected or not.
+ */
is_selected: function($row) {
return $row.hasClass(this.options.tr_selected_class);
},
+ /**
+ * Return the current selection. (jQuery object)
+ */
current_selection: function() {
return $("tr[class*=" + this.options.tr_selected_class + "]");
},
- /*
- * Cancel the current selection
+ /**
+ * Cancel the current selection.
*/
clear_selection: function() {
+ this.last_selection = null;
this.current_selection().removeClass(this.options.tr_selected_class);
+ $("tbody input[type=checkbox]").prop('checked', false);
+ if (this.options.tr_unselected_event != undefined) {
+ this.options.tr_unselected_event();
+ }
},
- /*
- * Manually select a table row
+ /**
+ * Manually select a table row.
*/
select_row: function($row) {
+ if (!this.last_selection) {
+ this.last_selection = $row;
+ }
$row.addClass(this.options.tr_selected_class);
+ if (this.options.tr_selected_event != undefined) {
+ this.options.tr_selected_event($row);
+ }
},
keydown: function(e) {
@@ -97,6 +139,9 @@
e.preventDefault();
this.shift_pressed = true;
break;
+ case 17:
+ this.ctrl_pressed = true;
+ break;
}
},
@@ -106,6 +151,9 @@
e.preventDefault();
this.shift_pressed = false;
break;
+ case 17:
+ this.ctrl_pressed = false;
+ break;
}
}
};
diff --git a/modoboa/static/js/listing.js b/modoboa/static/js/listing.js
index c5831f9fb..8edc63e04 100644
--- a/modoboa/static/js/listing.js
+++ b/modoboa/static/js/listing.js
@@ -30,7 +30,7 @@ Listing.prototype = {
e.preventDefault();
});
}
- if (data.page != this.navobj.getparam("page")) {
+ if (data.page && data.page != this.navobj.getparam("page")) {
this.navobj.setparam("page", data.page).update(false, true);
}
var $sortables = $(this.options.sortable_selector);
diff --git a/modoboa/templates/common/buttons_list.html b/modoboa/templates/common/buttons_list.html
index ea5af9b28..2d4963eee 100644
--- a/modoboa/templates/common/buttons_list.html
+++ b/modoboa/templates/common/buttons_list.html
@@ -1,11 +1,12 @@
{% load lib_tags %}
+{% endfor %}{% block extracontent %}{% endblock %}
+
diff --git a/requirements.txt b/requirements.txt
index ec8ce5408..f7521f053 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-django
+django>=1.5,<1.6
django-reversion>=1.8.0
dj-database-url
south