diff --git a/admin/__init__.py b/admin/__init__.py index db0c3c566..b9ead3421 100644 --- a/admin/__init__.py +++ b/admin/__init__.py @@ -1,34 +1,34 @@ # -*- coding: utf-8 -*- from modoboa.lib import parameters, events -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext as _, ugettext_lazy from django.db.utils import DatabaseError from models import Extension parameters.register_admin("AUTHENTICATION_TYPE", type="list", deflt="local", - values=[('local', _("Local")), + values=[('local', ugettext_lazy("Local")), ('ldap', "LDAP")], - help=_("The backend used for authentication")) + help=ugettext_lazy("The backend used for authentication")) parameters.register_admin("CREATE_DIRECTORIES", type="list_yesno", deflt="yes", - help=_("Modoboa will handle mailbox creation on filesystem")) + help=ugettext_lazy("Modoboa will handle mailbox creation on filesystem")) parameters.register_admin("STORAGE_PATH", type="string", deflt="/var/vmail", - help=_("Path to the root directory where messages are stored")) + help=ugettext_lazy("Path to the root directory where messages are stored")) parameters.register_admin("VIRTUAL_UID", type="string", deflt="vmail", - help=_("UID of the virtual user which owns domains/mailboxes/messages on the filesystem")) + help=ugettext_lazy("UID of the virtual user which owns domains/mailboxes/messages on the filesystem")) parameters.register_admin("VIRTUAL_GID", type="string", deflt="vmail", - help=_("GID of the virtual user which owns domains/mailboxes/messages on the filesystem")) + help=ugettext_lazy("GID of the virtual user which owns domains/mailboxes/messages on the filesystem")) parameters.register_admin("MAILBOX_TYPE", type="list", deflt="maildir", values=[("maildir", "maildir"), ("mbox", "mbox")], - help=_("Mailboxes storage format")) + help=ugettext_lazy("Mailboxes storage format")) parameters.register_admin("MAILDIR_ROOT", type="string", deflt=".maildir", - help=_("Sub-directory (inside the mailbox) where messages are stored when using the maildir format")) + help=ugettext_lazy("Sub-directory (inside the mailbox) where messages are stored when using the maildir format")) parameters.register_admin( "PASSWORD_SCHEME", type="list", deflt="crypt", values=[("crypt", "crypt"), ("md5", "md5"), ("sha256", "sha256"), ("clear", "clear")], - help=_("Scheme used to crypt mailbox passwords") + help=ugettext_lazy("Scheme used to crypt mailbox passwords") ) parameters.register_admin("ITEMS_PER_PAGE", type="int", deflt=30, - help=_("Number of displayed items per page")) + help=ugettext_lazy("Number of displayed items per page")) def enabled_applications(): """Return the list of currently enabled extensions @@ -51,7 +51,7 @@ def enabled_applications(): parameters.register_admin("DEFAULT_TOP_REDIRECTION", type="list", deflt="admin", app="general", values=enabled_applications(), - help=_("The default redirection used when no application is specified")) + help=ugettext_lazy("The default redirection used when no application is specified")) @events.observe("ExtDisabled") def unset_default_topredirection(extension): diff --git a/admin/forms.py b/admin/forms.py index 60996413a..d6aa81fec 100644 --- a/admin/forms.py +++ b/admin/forms.py @@ -2,7 +2,7 @@ from django import forms from django.contrib.auth.models import Group from modoboa.admin.models import * -from django.utils.translation import ugettext as _, ugettext_noop +from django.utils.translation import ugettext as _, ugettext_lazy from django.http import QueryDict from modoboa.admin.templatetags.admin_extras import gender from modoboa.lib.emailutils import split_mailbox @@ -12,9 +12,9 @@ from modoboa.lib.permissions import * class DomainForm(forms.ModelForm, DynamicForm): aliases = DomainNameField( - label=ugettext_noop("Alias(es)"), + label=ugettext_lazy("Alias(es)"), required=False, - help_text=ugettext_noop("Alias(es) of this domain") + help_text=ugettext_lazy("Alias(es) of this domain") ) class Meta: @@ -102,12 +102,12 @@ class DomainForm(forms.ModelForm, DynamicForm): class DlistForm(forms.ModelForm, DynamicForm): email = forms.EmailField( - label=ugettext_noop("Email address"), - help_text=ugettext_noop("") + label=ugettext_lazy("Email address"), + help_text=ugettext_lazy("The distribution list address") ) recipients = forms.EmailField( - label=ugettext_noop("Recipients"), required=False, - help_text=ugettext_noop("Mailbox(es) this alias will point to") + label=ugettext_lazy("Recipients"), required=False, + help_text=ugettext_lazy("Mailbox(es) this alias will point to") ) class Meta: @@ -209,10 +209,10 @@ class ImportDataForm(forms.Form): return str(self.cleaned_data["sepcar"]) class AccountFormGeneral(forms.ModelForm): - username = forms.CharField(max_length=254) + username = forms.CharField(label=ugettext_lazy("Username"), max_length=254) role = forms.ChoiceField( - choices=[('', ugettext_noop("Choose"))], - help_text=ugettext_noop("What level of permission this user will have") + choices=[('', ugettext_lazy("Choose"))], + help_text=ugettext_lazy("What level of permission this user will have") ) class Meta: @@ -229,7 +229,7 @@ class AccountFormGeneral(forms.ModelForm): return self.fields["role"].choices = \ - [('', ugettext_noop("Choose"))] + get_account_roles(user) + [('', ugettext_lazy("Choose"))] + get_account_roles(user) if kwargs.has_key("instance"): u = kwargs["instance"] if u.is_superuser: @@ -263,9 +263,9 @@ class AccountFormGeneral(forms.ModelForm): class AccountFormGeneralPwd(AccountFormGeneral): password1 = forms.CharField(label=_("Password"), widget=forms.PasswordInput) password2 = forms.CharField( - label=ugettext_noop("Confirmation"), + label=ugettext_lazy("Confirmation"), widget=forms.PasswordInput, - help_text=ugettext_noop("Enter the same password as above, for verification.") + help_text=ugettext_lazy("Enter the same password as above, for verification.") ) class Meta: @@ -295,9 +295,9 @@ class AccountFormMail(forms.Form, DynamicForm): email = forms.EmailField(label=_("E-mail"), required=False) quota = forms.IntegerField(label=_("Quota"), required=False) aliases = forms.EmailField( - label=ugettext_noop("Alias(es)"), + label=ugettext_lazy("Alias(es)"), required=False, - help_text=ugettext_noop("Alias(es) of this mailbox") + help_text=ugettext_lazy("Alias(es) of this mailbox") ) def __init__(self, *args, **kwargs): @@ -385,9 +385,9 @@ class AccountFormMail(forms.Form, DynamicForm): class AccountPermissionsForm(forms.Form, DynamicForm): domains = DomainNameField( - label=ugettext_noop("Domain(s)"), + label=ugettext_lazy("Domain(s)"), required=False, - help_text=ugettext_noop("Domain(s) that user administrates") + help_text=ugettext_lazy("Domain(s) that user administrates") ) def __init__(self, *args, **kwargs): diff --git a/admin/models.py b/admin/models.py index 6861b418d..47b1f7449 100644 --- a/admin/models.py +++ b/admin/models.py @@ -3,7 +3,7 @@ from django.db import models, IntegrityError from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes import generic from django.contrib.auth.models import User as DUser, UserManager, Group -from django.utils.translation import ugettext as _, ugettext_noop +from django.utils.translation import ugettext as _, ugettext_lazy from django.utils.crypto import constant_time_compare from django.conf import settings from modoboa.lib import parameters, events @@ -375,11 +375,11 @@ class DatesAware(models.Model): return self.dates.last_modification class Domain(DatesAware): - name = models.CharField(ugettext_noop('name'), max_length=100, unique=True, - help_text=ugettext_noop("The domain name")) - quota = models.IntegerField(help_text=ugettext_noop("Default quota in MB applied to mailboxes")) - enabled = models.BooleanField(ugettext_noop('enabled'), - help_text=ugettext_noop("Check to activate this domain")) + 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")) + enabled = models.BooleanField(ugettext_lazy('enabled'), + help_text=ugettext_lazy("Check to activate this domain")) owners = generic.GenericRelation(ObjectAccess) class Meta: @@ -452,13 +452,13 @@ class Domain(DatesAware): self.save() class DomainAlias(DatesAware): - name = models.CharField(ugettext_noop("name"), max_length=100, unique=True, - help_text=ugettext_noop("The alias name")) - target = models.ForeignKey(Domain, verbose_name=ugettext_noop('target'), - help_text=ugettext_noop("The domain this alias points to")) + name = models.CharField(ugettext_lazy("name"), max_length=100, unique=True, + help_text=ugettext_lazy("The alias name")) + target = models.ForeignKey(Domain, verbose_name=ugettext_lazy('target'), + help_text=ugettext_lazy("The domain this alias points to")) enabled = models.BooleanField( - ugettext_noop('enabled'), - help_text=ugettext_noop("Check to activate this alias") + ugettext_lazy('enabled'), + help_text=ugettext_lazy("Check to activate this alias") ) class Meta: @@ -471,8 +471,8 @@ class DomainAlias(DatesAware): class Mailbox(DatesAware): address = models.CharField( - ugettext_noop('address'), max_length=100, - help_text=ugettext_noop("Mailbox address (without the @domain.tld part)") + ugettext_lazy('address'), max_length=100, + help_text=ugettext_lazy("Mailbox address (without the @domain.tld part)") ) quota = models.IntegerField() uid = models.IntegerField() @@ -684,17 +684,17 @@ class Mailbox(DatesAware): class Alias(DatesAware): address = models.CharField( - ugettext_noop('address'), max_length=254, - help_text=ugettext_noop("The alias address (without the domain part). For a 'catch-all' address, just enter an * character.") + ugettext_lazy('address'), max_length=254, + help_text=ugettext_lazy("The alias address (without the domain part). For a 'catch-all' address, just enter an * character.") ) domain = models.ForeignKey(Domain) mboxes = models.ManyToManyField( - Mailbox, verbose_name=ugettext_noop('mailboxes'), - help_text=ugettext_noop("The mailboxes this alias points to") + Mailbox, verbose_name=ugettext_lazy('mailboxes'), + help_text=ugettext_lazy("The mailboxes this alias points to") ) extmboxes = models.TextField(blank=True) - enabled = models.BooleanField(ugettext_noop('enabled'), - help_text=ugettext_noop("Check to activate this alias")) + enabled = models.BooleanField(ugettext_lazy('enabled'), + help_text=ugettext_lazy("Check to activate this alias")) class Meta: permissions = ( @@ -779,8 +779,8 @@ class Alias(DatesAware): class Extension(models.Model): name = models.CharField(max_length=150) enabled = models.BooleanField( - ugettext_noop('enabled'), - help_text=ugettext_noop("Check to enable this extension") + ugettext_lazy('enabled'), + help_text=ugettext_lazy("Check to enable this extension") ) def init(self): diff --git a/admin/templatetags/admin_extras.py b/admin/templatetags/admin_extras.py index 4f3b9a34f..ea8f3ac4a 100644 --- a/admin/templatetags/admin_extras.py +++ b/admin/templatetags/admin_extras.py @@ -1,6 +1,6 @@ from django import template from django.template.loader import render_to_string -from django.utils.translation import ugettext as _, ugettext_noop +from django.utils.translation import ugettext as _, ugettext_lazy from django.core.urlresolvers import reverse from modoboa import admin from modoboa.lib import events @@ -9,7 +9,7 @@ from modoboa.lib.webutils import static_url, render_actions register = template.Library() genders = { - "Enabled" : (ugettext_noop("enabled_m"), ugettext_noop("enabled_f")) + "Enabled" : (ugettext_lazy("enabled_m"), ugettext_lazy("enabled_f")) } @register.simple_tag @@ -166,7 +166,7 @@ def param(app, definition): result = """
""" \ - % (name, definition.has_key("label") and _(definition["label"]) + % (name, definition.has_key("label") and _(definition["label"]) or definition["name"]) if definition["type"] in ["string", "int"]: result += """ @@ -197,7 +197,7 @@ def param(app, definition): if definition.has_key("help"): result += """

%s

-""" % definition["help"] +""" % _(definition["help"]) result += """
diff --git a/auth/__init__.py b/auth/__init__.py index 7aa5bd65a..615210c3b 100755 --- a/auth/__init__.py +++ b/auth/__init__.py @@ -1,6 +1,6 @@ # coding: utf-8 from modoboa.lib import parameters -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext_lazy parameters.register_admin("SECRET_KEY", type="string", deflt="abcdefghijklmnop", - help=_("Key used to encrypt/decrypt passwords")) + help=ugettext_lazy("Key used to encrypt/decrypt passwords")) diff --git a/demo/__init__.py b/demo/__init__.py index db5549d52..31c008ddb 100755 --- a/demo/__init__.py +++ b/demo/__init__.py @@ -1,7 +1,7 @@ # coding: utf-8 from django.conf import settings from django.core.urlresolvers import reverse -from django.utils.translation import ugettext_noop as _ +from django.utils.translation import ugettext_lazy as _ from django.template.loader import render_to_string from modoboa.lib import events from modoboa.lib.webutils import static_url diff --git a/extensions/amavis_quarantine/__init__.py b/extensions/amavis_quarantine/__init__.py index 83d2b5412..38a34d193 100644 --- a/extensions/amavis_quarantine/__init__.py +++ b/extensions/amavis_quarantine/__init__.py @@ -2,9 +2,8 @@ """ Amavis quarantine manager (SQL based) - """ -from django.utils.translation import ugettext_noop as _, ugettext +from django.utils.translation import ugettext as _, ugettext_lazy from django.core.urlresolvers import reverse from django.template import Template, Context from modoboa.lib import events, parameters @@ -15,7 +14,7 @@ def infos(): return { "name" : "Amavis quarantine", "version" : "1.0", - "description" : ugettext("Simple amavis quarantine management tool"), + "description" : _("Simple amavis quarantine management tool"), "url" : "quarantine" } @@ -53,28 +52,28 @@ def load(): parameters.register_admin("AM_PDP_MODE", type="list", deflt="unix", values=[("inet", "inet"), ("unix", "unix")], - help=_("Mode used to access the PDP server")) + help=ugettext_lazy("Mode used to access the PDP server")) parameters.register_admin("AM_PDP_HOST", type="string", deflt="localhost", - help=_("PDP server address (if inet mode)")) + help=ugettext_lazy("PDP server address (if inet mode)")) parameters.register_admin("AM_PDP_PORT", type="int", deflt=9998, - help=_("PDP server port (if inet mode)")) + help=ugettext_lazy("PDP server port (if inet mode)")) parameters.register_admin("AM_PDP_SOCKET", type="string", - deflt=_("/var/amavis/amavisd.sock"), - help=_("Path to the PDP server socket (if unix mode)")) + deflt="/var/amavis/amavisd.sock", + help=ugettext_lazy("Path to the PDP server socket (if unix mode)")) parameters.register_admin("CHECK_REQUESTS_INTERVAL", type="int", deflt=30, - help=_("Interval between two release requests checks")) + help=ugettext_lazy("Interval between two release requests checks")) parameters.register_admin("USER_CAN_RELEASE", type="list_yesno", deflt="no", - help=_("Allow users to directly release their messages")) + help=ugettext_lazy("Allow users to directly release their messages")) parameters.register_admin("SELF_SERVICE", type="list_yesno", deflt="no", - help=_("Activate the 'self-service' mode")) + help=ugettext_lazy("Activate the 'self-service' mode")) parameters.register_user( "MESSAGES_PER_PAGE", type="int", deflt=40, label="Number of displayed emails per page", - help=_("Sets the maximum number of messages displayed in a page") + help=ugettext_lazy("Sets the maximum number of messages displayed in a page") ) def destroy(): @@ -88,9 +87,8 @@ def menu(target, user): if target == "top_menu": return [ {"name" : "quarantine", - "label" : ugettext("Quarantine"), - "url" : reverse('modoboa.extensions.amavis_quarantine.views.index'), - "img" : static_url("pics/quarantine.png")} + "label" : _("Quarantine"), + "url" : reverse('modoboa.extensions.amavis_quarantine.views.index')} ] return [] @@ -133,7 +131,7 @@ $(document).ready(function() { success_cb: function(data) { var $link = $("#nbrequests"); if (data.requests > 0) { - $link.html(data.requests + " " + gettext("pending requests")); + $link.html(data.requests + " " + "{{ text }}"); $link.parent().removeClass('hidden'); } else { $link.parent().addClass('hidden'); @@ -144,7 +142,7 @@ $(document).ready(function() { """) url = reverse("modoboa.extensions.amavis_quarantine.views.nbrequests") interval = int(parameters.get_admin("CHECK_REQUESTS_INTERVAL")) * 1000 - return [tpl.render(Context(dict(url=url, interval=interval)))] + return [tpl.render(Context(dict(url=url, interval=interval, text=_("pending requests"))))] @events.observe("TopNotifications") def display_requests(user): diff --git a/extensions/amavis_quarantine/sql_listing.py b/extensions/amavis_quarantine/sql_listing.py index 9e48f6a97..ca8009381 100644 --- a/extensions/amavis_quarantine/sql_listing.py +++ b/extensions/amavis_quarantine/sql_listing.py @@ -1,7 +1,7 @@ # coding: utf-8 from datetime import datetime -from django.utils.translation import ugettext as _, ugettext_noop +from django.utils.translation import ugettext as _, ugettext_lazy from django.db.models import Q from modoboa.lib import tables from modoboa.lib.webutils import static_url @@ -20,10 +20,10 @@ class Qtable(tables.Table): sortable=False ) rstatus = tables.ImgColumn("rstatus", width='25px') - from_ = tables.Column("from", label=ugettext_noop("From"), limit=30) - subject = tables.Column("subject", label=ugettext_noop("Subject"), limit=40) - time = tables.Column("date", label=ugettext_noop("Date")) - to = tables.Column("to", label=ugettext_noop("To"), sortable=False) + 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) cols_order = [] diff --git a/extensions/limits/__init__.py b/extensions/limits/__init__.py index 7f0a203d3..00fac2d99 100644 --- a/extensions/limits/__init__.py +++ b/extensions/limits/__init__.py @@ -7,7 +7,7 @@ The *limits* extension from django.contrib.auth.models import Permission, Group from django.db import IntegrityError from django.contrib.contenttypes.models import ContentType -from django.utils.translation import ugettext_noop as _, ugettext +from django.utils.translation import ugettext as _ from django.core.urlresolvers import reverse from modoboa.lib import events from modoboa.lib.webutils import static_url @@ -52,7 +52,7 @@ def infos(): return { "name" : "Limits", "version" : "1.0", - "description" : ugettext("Limits for objects creation"), + "description" : _("Per administrator resources to limit the number of objects they can create"), "url" : baseurl } diff --git a/extensions/limits/forms.py b/extensions/limits/forms.py index ceec8e590..028cb5db8 100644 --- a/extensions/limits/forms.py +++ b/extensions/limits/forms.py @@ -1,24 +1,24 @@ # coding: utf-8 from django import forms -from django.utils.translation import ugettext_noop as _ +from django.utils.translation import ugettext_lazy as _ from django.contrib.auth.models import User, Group from models import * from lib import * class ResourcePoolForm(forms.Form): domain_admins_limit = forms.IntegerField( - ugettext_noop("Max domain admins"), - help_text=ugettext_noop("Maximum number of domain administrators that can be created by this user") + label=ugettext_lazy("Domain admins"), + help_text=ugettext_lazy("Maximum number of domain administrators this user can create") ) - domains_limit = forms.IntegerField(ugettext_noop("Max domains"), - help_text=ugettext_noop("Maximum number of domains that can be created by this user")) - domain_aliases_limit = forms.IntegerField(ugettext_noop("Max domain aliases"), - help_text=ugettext_noop("Maximum number of domain aliases that can be created by this user")) - mailboxes_limit = forms.IntegerField(ugettext_noop("Max mailboxes"), - help_text=ugettext_noop("Maximum number of mailboxes that can be created by this user")) - mailbox_aliases_limit = forms.IntegerField(ugettext_noop("Max mailbox aliases"), - help_text=ugettext_noop("Maximum number of mailbox aliases that can be created by this user")) + domains_limit = forms.IntegerField(label=ugettext_lazy("Domains"), + help_text=ugettext_lazy("Maximum number of domains this user can create")) + domain_aliases_limit = forms.IntegerField(label=ugettext_lazy("Domain aliases"), + help_text=ugettext_lazy("Maximum number of domain aliases this user can create")) + mailboxes_limit = forms.IntegerField(label=ugettext_lazy("Mailboxes"), + help_text=ugettext_lazy("Maximum number of mailboxes this user can create")) + mailbox_aliases_limit = forms.IntegerField(label=ugettext_lazy("Mailbox aliases"), + help_text=ugettext_lazy("Maximum number of mailbox aliases this user can create")) def __init__(self, *args, **kwargs): if kwargs.has_key("instance"): @@ -29,6 +29,7 @@ class ResourcePoolForm(forms.Form): if self.account.group != "Resellers": del self.fields["domain_admins_limit"] del self.fields["domains_limit"] + del self.fields["domain_aliases_limit"] self.load_from_user(self.account) def check_limit_value(self, lname): @@ -57,7 +58,7 @@ class ResourcePoolForm(forms.Form): def allocate_from_pool(self, limit, pool): ol = pool.get_limit(limit.name) if ol.maxvalue == -2: - raise BadLimitValue(_("Your pool is not initialized yet")) + raise BadLimitValue(_("Your resources are not initialized yet")) newvalue = self.cleaned_data[limit.name] if newvalue == -1 and ol.maxvalue != -1: raise BadLimitValue(_("You're not allowed to define unlimited values")) diff --git a/extensions/limits/lib.py b/extensions/limits/lib.py index b05902168..a17fdca61 100644 --- a/extensions/limits/lib.py +++ b/extensions/limits/lib.py @@ -20,7 +20,7 @@ class UnsifficientResource(ModoboaException): self.limit = limit def __str__(self): - return _("Not enough resource into your pool") + return _("Not enough resources") class BadLimitValue(ModoboaException): pass diff --git a/extensions/limits/models.py b/extensions/limits/models.py index dc1490ef9..bd7b505cc 100644 --- a/extensions/limits/models.py +++ b/extensions/limits/models.py @@ -2,15 +2,15 @@ from django.db import models from django.contrib.contenttypes import generic -from django.utils.translation import ugettext as _, ugettext_noop +from django.utils.translation import ugettext as _, ugettext_lazy from modoboa.admin.models import User limits_tpl = [ - ("domain_admins_limit", ugettext_noop("Domain admins")), - ("domains_limit", ugettext_noop("Domains")), - ("domain_aliases_limit", ugettext_noop("Domain aliases")), - ("mailboxes_limit", ugettext_noop("Mailboxes")), - ("mailbox_aliases_limit", ugettext_noop("Mailbox aliases")) + ("domain_admins_limit", ugettext_lazy("Domain admins")), + ("domains_limit", ugettext_lazy("Domains")), + ("domain_aliases_limit", ugettext_lazy("Domain aliases")), + ("mailboxes_limit", ugettext_lazy("Mailboxes")), + ("mailbox_aliases_limit", ugettext_lazy("Mailbox aliases")) ] class LimitsPool(models.Model): diff --git a/extensions/limits/templates/limits/poolusage.html b/extensions/limits/templates/limits/poolusage.html index f2f1eadf6..05e1544c6 100644 --- a/extensions/limits/templates/limits/poolusage.html +++ b/extensions/limits/templates/limits/poolusage.html @@ -1,6 +1,6 @@ {% load i18n libextras %}
-
{% trans "Resource usage" %}
{% for l in limits %} +
{% trans "Resources usage" %}
{% for l in limits %}
{{ l.label }} ({{ l }})
diff --git a/extensions/postfix_autoreply/__init__.py b/extensions/postfix_autoreply/__init__.py index cfc31c14e..ff8cae09e 100644 --- a/extensions/postfix_autoreply/__init__.py +++ b/extensions/postfix_autoreply/__init__.py @@ -8,7 +8,7 @@ functionality into Postfix. """ from django.conf.urls.defaults import include from django.core.urlresolvers import reverse -from django.utils.translation import ugettext_noop as _, ugettext +from django.utils.translation import ugettext as _, ugettext_lazy from modoboa.lib import events, parameters from modoboa.lib.webutils import static_url from models import * @@ -17,7 +17,7 @@ def infos(): return { "name" : "Postfix autoreply", "version" : "1.0", - "description" : ugettext("Auto-reply (vacation) functionality using Postfix"), + "description" : _("Auto-reply (vacation) functionality using Postfix"), "url" : "postfix_autoreply" } @@ -42,7 +42,7 @@ def load(): parameters.register_admin( "AUTOREPLIES_TIMEOUT", type="int", deflt=86400, - help=_("Timeout in seconds between two auto-replies to the same recipient") + help=ugettext_lazy("Timeout in seconds between two auto-replies to the same recipient") ) def destroy(): @@ -65,7 +65,7 @@ def menu(target, user): return [ {"name" : "autoreply", "url" : reverse(views.autoreply), - "label" : ugettext("Auto-reply message"), + "label" : ugettext_lazy("Auto-reply message"), "modal": True, "modalcb" : "arform_cb"} ] diff --git a/extensions/sievefilters/__init__.py b/extensions/sievefilters/__init__.py index 865877bed..984248996 100644 --- a/extensions/sievefilters/__init__.py +++ b/extensions/sievefilters/__init__.py @@ -1,5 +1,5 @@ # coding: utf-8 -from django.utils.translation import ugettext_noop as _, ugettext +from django.utils.translation import ugettext as _, ugettext_lazy from django.core.urlresolvers import reverse from modoboa.lib import events, parameters from modoboa.lib.webutils import static_url @@ -12,24 +12,24 @@ def load(): parameters.register_admin("SERVER", type="string", deflt="127.0.0.1", - help=_("Address of your MANAGESIEVE server")) + help=ugettext_lazy("Address of your MANAGESIEVE server")) parameters.register_admin("PORT", type="int", deflt="2000", - help=_("Listening port of your MANAGESIEVE server")) + help=ugettext_lazy("Listening port of your MANAGESIEVE server")) parameters.register_admin("STARTTLS", type="list_yesno", deflt="no", - help=_("Use the STARTTLS extension")) + help=ugettext_lazy("Use the STARTTLS extension")) values = [('AUTO', 'auto')] for m in SUPPORTED_AUTH_MECHS: values += [(m, m.lower())] parameters.register_admin("AUTHENTICATION_MECH", type="list", deflt="auto", values=values, - help=_("Prefered authentication mechanism")) + help=ugettext_lazy("Prefered authentication mechanism")) # User parameters parameters.register_user("EDITOR_MODE", type="list", deflt="raw", - label=_("Editor mode"), + label=ugettext_lazy("Editor mode"), values=[("raw", "raw"), ("gui", "simplified")], - help=_("Select the mode you want the editor to work in")) + help=ugettext_lazy("Select the mode you want the editor to work in")) def destroy(): events.unregister("UserMenuDisplay", menu) @@ -39,7 +39,7 @@ def infos(): return { "name" : "Sieve filters", "version" : "1.0", - "description" : ugettext("Plugin to easily create server-side filters"), + "description" : _("Plugin to easily create server-side filters"), "url" : "sfilters" } @@ -53,7 +53,7 @@ def menu(target, user): return [] return [ {"name" : "sievefilters", - "label" : ugettext("Message filters"), + "label" : _("Message filters"), "url" : reverse(views.index), "img" : "icon-check"} ] diff --git a/extensions/sievefilters/forms.py b/extensions/sievefilters/forms.py index f9e529142..5ee3724bf 100644 --- a/extensions/sievefilters/forms.py +++ b/extensions/sievefilters/forms.py @@ -1,6 +1,6 @@ from django import forms from django.http import QueryDict -from django.utils.translation import ugettext as _, ugettext_noop +from django.utils.translation import ugettext as _, ugettext_lazy from django.forms.widgets import RadioFieldRenderer, RadioSelect, RadioInput from django.utils.safestring import mark_safe from django.utils.html import conditional_escape @@ -11,7 +11,7 @@ class FiltersSetForm(forms.Form): name = forms.CharField() active = forms.BooleanField(label=gender("Active", "m"), required=False, initial=False, - help_text=ugettext_noop("Check to activate this filters set")) + help_text=ugettext_lazy("Check to activate this filters set")) class CustomRadioInput(RadioInput): def __unicode__(self): diff --git a/extensions/stats/__init__.py b/extensions/stats/__init__.py index a00881fcd..c3f1dc09b 100644 --- a/extensions/stats/__init__.py +++ b/extensions/stats/__init__.py @@ -8,7 +8,7 @@ sent, received, bounced, rejected """ from django.core.urlresolvers import reverse -from django.utils.translation import ugettext_noop as _, ugettext +from django.utils.translation import ugettext as _, ugettext_lazy from django.conf.urls.defaults import * from modoboa.lib import events, parameters from modoboa.lib.webutils import static_url @@ -17,23 +17,23 @@ def infos(): return { "name" : "Statistics", "version" : "1.0", - "description" : ugettext("Graphical statistics about emails traffic using RRDtool"), + "description" : _("Graphical statistics about emails traffic using RRDtool"), "url" : "stats" } def load(): parameters.register_admin("LOGFILE", type="string", deflt="/var/log/mail.log", - help=_("Path to log file used to collect statistics")) + help=ugettext_lazy("Path to log file used to collect statistics")) parameters.register_admin("RRD_ROOTDIR", type="string", deflt="/tmp/modoboa", - help=_("Path to directory where RRD files are stored")) + help=ugettext_lazy("Path to directory where RRD files are stored")) parameters.register_admin("IMG_ROOTDIR", type="string", deflt="/tmp/modoboa", - help=_("Path to directory where PNG files are stored")) + help=ugettext_lazy("Path to directory where PNG files are stored")) parameters.register_admin("GRAPHS_LOCATION", type="string", deflt="graphs", - help=_("Graphics location (to build URLs)")) + help=ugettext_lazy("Graphics location (to build URLs)")) def destroy(): events.unregister("AdminMenuDisplay", menu) @@ -44,6 +44,6 @@ def menu(target, user): return [] return [ {"name" : "stats", - "label" : ugettext("Statistics"), + "label" : _("Statistics"), "url" : reverse('fullindex')} ] diff --git a/extensions/stats/views.py b/extensions/stats/views.py index b7ac81e08..7748da891 100644 --- a/extensions/stats/views.py +++ b/extensions/stats/views.py @@ -1,5 +1,5 @@ # coding: utf-8 -from django.utils.translation import ugettext as _, ugettext_noop +from django.utils.translation import ugettext as _, ugettext_lazy from modoboa.lib.webutils import _render, _render_to_string, ajax_simple_response from modoboa.admin.models import Domain, Mailbox from django.contrib.auth.decorators \ @@ -8,14 +8,14 @@ from modoboa.extensions.stats.grapher import * from modoboa.lib.exceptions import * graph_types = ['AVERAGE', 'MAX'] -graph_list = [{"name" : "traffic", "label" : ugettext_noop("Average normal traffic")}, - {"name" : "badtraffic", "label" : ugettext_noop("Average bad traffic")}, - {"name" : "size", "label" : ugettext_noop("Average normal traffic size")}] -periods = [{"name" : "day", "label" : ugettext_noop("Day")}, - {"name" : "week", "label" : ugettext_noop("Week")}, - {"name" : "month", "label" : ugettext_noop("Month")}, - {"name" : "year", "label" : ugettext_noop("Year")}, - {"name" : "custom", "label" : ugettext_noop("Custom")}] +graph_list = [{"name" : "traffic", "label" : ugettext_lazy("Average normal traffic")}, + {"name" : "badtraffic", "label" : ugettext_lazy("Average bad traffic")}, + {"name" : "size", "label" : ugettext_lazy("Average normal traffic size")}] +periods = [{"name" : "day", "label" : ugettext_lazy("Day")}, + {"name" : "week", "label" : ugettext_lazy("Week")}, + {"name" : "month", "label" : ugettext_lazy("Month")}, + {"name" : "year", "label" : ugettext_lazy("Year")}, + {"name" : "custom", "label" : ugettext_lazy("Custom")}] @login_required @permission_required("admin.view_mailboxes") diff --git a/extensions/webmail/__init__.py b/extensions/webmail/__init__.py index 83d0c4eb7..1dde39393 100644 --- a/extensions/webmail/__init__.py +++ b/extensions/webmail/__init__.py @@ -1,5 +1,5 @@ # coding: utf-8 -from django.utils.translation import ugettext_noop as _, ugettext +from django.utils.translation import ugettext as _, ugettext_lazy from django.core.urlresolvers import reverse from modoboa.lib import events, parameters from modoboa.lib.webutils import static_url @@ -9,58 +9,58 @@ def load(): parameters.register_admin("IMAP_SERVER", type="string", deflt="127.0.0.1", - help=_("Address of your IMAP server")) + help=ugettext_lazy("Address of your IMAP server")) parameters.register_admin("IMAP_SECURED", type="list_yesno", deflt="no", - help=_("Use a secured connection to access IMAP server")) + help=ugettext_lazy("Use a secured connection to access IMAP server")) parameters.register_admin("IMAP_PORT", type="int", deflt="143", - help=_("Listening port of your IMAP server")) + help=ugettext_lazy("Listening port of your IMAP server")) parameters.register_admin("SMTP_SERVER", type="string", deflt="127.0.0.1", - help=_("Address of your SMTP server")) + help=ugettext_lazy("Address of your SMTP server")) parameters.register_admin("SMTP_SECURED_MODE", type="list", - values=[("none", _("None")), + values=[("none", ugettext_lazy("None")), ("starttls", "STARTTLS"), ("ssl", "SSL/TLS")], deflt="none", - help=_("Use a secured connection to access SMTP server")) + help=ugettext_lazy("Use a secured connection to access SMTP server")) parameters.register_admin("SMTP_PORT", type="int", deflt="25", - help=_("Listening port of your SMTP server")) + help=ugettext_lazy("Listening port of your SMTP server")) parameters.register_admin("SMTP_AUTHENTICATION", type="list_yesno", deflt="no", - help=_("Server needs authentication")) + help=ugettext_lazy("Server needs authentication")) parameters.register_admin("MAX_ATTACHMENT_SIZE", type="int", deflt=2048, - help=_("Maximum attachment size in bytes (or KB, MB, GB if specified)")) + help=ugettext_lazy("Maximum attachment size in bytes (or KB, MB, GB if specified)")) parameters.register_user("MESSAGES_PER_PAGE", type="int", deflt=40, - label=_("Number of displayed emails per page"), - help=_("Sets the maximum number of messages displayed in a page")) + label=ugettext_lazy("Number of displayed emails per page"), + help=ugettext_lazy("Sets the maximum number of messages displayed in a page")) parameters.register_user("REFRESH_INTERVAL", type="int", deflt=300, - label=_("Listing refresh rate"), - help=_("Automatic folder refresh rate (in seconds)")) + label=ugettext_lazy("Listing refresh rate"), + help=ugettext_lazy("Automatic folder refresh rate (in seconds)")) parameters.register_user("TRASH_FOLDER", type="string", deflt="Trash", - label=_("Trash folder"), - help=_("Folder where deleted messages go")) + label=ugettext_lazy("Trash folder"), + help=ugettext_lazy("Folder where deleted messages go")) parameters.register_user("SENT_FOLDER", type="string", deflt="Sent", - label=_("Sent folder"), - help=_("Folder where copies of sent messages go")) + label=ugettext_lazy("Sent folder"), + help=ugettext_lazy("Folder where copies of sent messages go")) parameters.register_user("DRAFTS_FOLDER", type="string", deflt="Drafts", - label=_("Drafts folder"), - help=_("Folder where drafts go")) + label=ugettext_lazy("Drafts folder"), + help=ugettext_lazy("Folder where drafts go")) parameters.register_user("SIGNATURE", type="text", deflt="", - label=_("Signature text"), - help=_("User defined email signature")) + label=ugettext_lazy("Signature text"), + help=ugettext_lazy("User defined email signature")) parameters.register_user("EDITOR", type="list", deflt="plain", - label=_("Default editor"), + label=ugettext_lazy("Default editor"), values=[("html", "html"), ("plain", "text")], - help=_("The default editor to use when composing a message")) + help=ugettext_lazy("The default editor to use when composing a message")) parameters.register_user("DISPLAYMODE", type="list", deflt="plain", - label=_("Default message display mode"), + label=ugettext_lazy("Default message display mode"), values=[("html", "html"), ("plain", "text")], - help=_("The default mode used when displaying a message")) + help=ugettext_lazy("The default mode used when displaying a message")) parameters.register_user("ENABLE_LINKS", type="list_yesno", deflt="no", - label=_("Enable HTML links display"), - help=_("Enable/Disable HTML links display")) + label=ugettext_lazy("Enable HTML links display"), + help=ugettext_lazy("Enable/Disable HTML links display")) def destroy(): events.unregister("UserMenuDisplay", menu) @@ -70,7 +70,7 @@ def infos(): return { "name" : "Webmail", "version" : "1.0", - "description" : ugettext("Simple IMAP webmail"), + "description" : _("Simple IMAP webmail"), "url" : "webmail" } diff --git a/extensions/webmail/forms.py b/extensions/webmail/forms.py index 7cc3dfb2e..ad9acb8f1 100644 --- a/extensions/webmail/forms.py +++ b/extensions/webmail/forms.py @@ -1,5 +1,5 @@ from django import forms -from django.utils.translation import ugettext_noop as _ +from django.utils.translation import ugettext_lazy as _ class ComposeMailForm(forms.Form): from_ = forms.CharField(label=_("From")) diff --git a/extensions/webmail/lib.py b/extensions/webmail/lib.py index 9f2a552b4..cd272f144 100644 --- a/extensions/webmail/lib.py +++ b/extensions/webmail/lib.py @@ -8,7 +8,7 @@ import email import lxml from django.core.files.uploadhandler import FileUploadHandler, StopUpload, SkipFile from django.http import HttpResponse -from django.utils.translation import ugettext as _, ugettext_noop as __ +from django.utils.translation import ugettext as _, ugettext_lazy from django.conf import settings from modoboa.lib import u2u_decode, tables, imap_utf7, parameters from modoboa.lib.webutils import static_url, size2integer @@ -30,9 +30,9 @@ class WMtable(tables.Table): ) flags = tables.ImgColumn("flags", width="4%") withatts = tables.ImgColumn("withatts", width="2%") - subject = tables.Column("subject", label=__("Subject"), width="50%", limit=60) - from_ = tables.Column("from", width="20%", label=__("From"), limit=30) - date = tables.Column("date", width="10%", label=__("Date")) + subject = tables.Column("subject", label=ugettext_lazy("Subject"), width="50%", limit=60) + from_ = tables.Column("from", width="20%", label=ugettext_lazy("From"), limit=30) + date = tables.Column("date", width="10%", label=ugettext_lazy("Date")) cols_order = ["select", "withatts", "flags", "subject", "from_", "date"] diff --git a/lib/middleware.py b/lib/middleware.py index e8daa0ef8..eea67d1bf 100644 --- a/lib/middleware.py +++ b/lib/middleware.py @@ -32,5 +32,4 @@ class CommonExceptionCatcher(object): if not request.is_ajax(): return _render_error(request, user_context=dict(error=str(exception))) - return ajax_response(request, status="ko", respmsg=str(exception), - norefresh=True) + return ajax_response(request, status="ko", respmsg=unicode(exception), norefresh=True) diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index f489b9d7e..0f71b5a53 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa-0.8.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-17 13:45+0100\n" +"POT-Creation-Date: 2012-04-25 16:41+0200\n" "PO-Revision-Date: 2012-01-17 14:28+0100\n" "Last-Translator: Patrick Ben Koetter \n" "Language-Team: DE \n" @@ -34,564 +34,562 @@ msgid "Path to the root directory where messages are stored" msgstr "Pfad zum root-Verzeichnis unterhalb dessen E-Mails abgelegt werden" #: admin/__init__.py:17 -msgid "UID of the virtual user which owns domains/mailboxes/messages on the filesystem" -msgstr "UID des virtuellen Benutzers, der Besitzer der Domains, Mailboxen und Nachrichten im Dateisystem ist." +msgid "" +"UID of the virtual user which owns domains/mailboxes/messages on the " +"filesystem" +msgstr "" +"UID des virtuellen Benutzers, der Besitzer der Domains, Mailboxen und " +"Nachrichten im Dateisystem ist." #: admin/__init__.py:19 -msgid "GID of the virtual user which owns domains/mailboxes/messages on the filesystem" -msgstr "GID des virtuellen Benutzers, der Besitzer der Domains, Mailboxen und Nachrichten im Dateisystem ist." +msgid "" +"GID of the virtual user which owns domains/mailboxes/messages on the " +"filesystem" +msgstr "" +"GID des virtuellen Benutzers, der Besitzer der Domains, Mailboxen und " +"Nachrichten im Dateisystem ist." #: admin/__init__.py:22 msgid "Mailboxes storage format" msgstr "Mailbox erstellt." #: admin/__init__.py:24 -msgid "Sub-directory (inside the mailbox) where messages are stored when using the maildir format" -msgstr "Unterverzeichnis (innerhalb der Mailbox) in dem Nachrichten abgelegt werden wenn Maildir-Format eingesetzt wird." +msgid "" +"Sub-directory (inside the mailbox) where messages are stored when using the " +"maildir format" +msgstr "" +"Unterverzeichnis (innerhalb der Mailbox) in dem Nachrichten abgelegt werden " +"wenn Maildir-Format eingesetzt wird." -#: admin/__init__.py:27 +#: admin/__init__.py:28 msgid "Scheme used to crypt mailbox passwords" msgstr "Verschlüsselungsschema der Mailbox-Passworte" -#: admin/__init__.py:29 +#: admin/__init__.py:31 msgid "Number of displayed items per page" msgstr "Anzahl dargestellter Einträge pro Seite" -#: admin/__init__.py:52 +#: admin/__init__.py:54 msgid "The default redirection used when no application is specified" msgstr "Die Standardumleitung wenn kein Programm angegeben wurde" -#: admin/forms.py:27 +#: admin/forms.py:15 admin/forms.py:298 +#, fuzzy +msgid "Alias(es)" +msgstr "Aliases" + +#: admin/forms.py:17 +#, fuzzy +msgid "Alias(es) of this domain" +msgstr "Aliase dieser Domäne ansehen" + +#: admin/forms.py:51 admin/views.py:58 +#, fuzzy +msgid "An alias with this name already exists" +msgstr "Ein Alias mit diesem Namen existiert bereits" + +#: admin/forms.py:66 +msgid "A domain with this name already exists" +msgstr "Eine Domäne mit diesem Namen existiert bereits" + +#: admin/forms.py:76 msgid "Failed to rename domain, check permissions" msgstr "Domäne konnte nicht umbenannt werden. Prüfen Sie die Berechtigungen." -#: admin/forms.py:51 -#: admin/tables.py:20 -#: admin/tables.py:78 -msgid "Quota" -msgstr "Quota" +#: admin/forms.py:105 +#, fuzzy +msgid "Email address" +msgstr "From:-Adresse" -#: admin/forms.py:52 -msgid "Mailbox quota in MB (default to domain quota if blank)" -msgstr "Mailbox-Quota in MB (standardmäßig Domain-Quota wenn leer)" +#: admin/forms.py:106 +msgid "The distribution list address" +msgstr "" -#: admin/forms.py:53 -#: auth/forms.py:6 -msgid "Password" -msgstr "Passwort" +#: admin/forms.py:109 +#, fuzzy +msgid "Recipients" +msgstr "Empfänger" -#: admin/forms.py:55 -msgid "Password used to log in" -msgstr "Login-Passwort" - -#: admin/forms.py:56 -#: userprefs/forms.py:17 -msgid "Confirmation" -msgstr "Bestätigung" - -#: admin/forms.py:58 -msgid "Password confirmation" -msgstr "Passwort Bestätigung" - -#: admin/forms.py:61 -msgid "Check to activate this mailbox" -msgstr "Markieren, um die Mailbox zu aktivieren" - -#: admin/forms.py:88 -#: userprefs/forms.py:39 -msgid "Passwords mismatch" -msgstr "Passwörter stimmen nicht überein" - -#: admin/forms.py:103 -#: admin/tables.py:103 -msgid "Target(s)" -msgstr "Ziel(e)" - -#: admin/forms.py:104 +#: admin/forms.py:110 msgid "Mailbox(es) this alias will point to" msgstr "Mailbox(en) auf den der Alias verweisen wird" -#: admin/forms.py:152 +#: admin/forms.py:143 admin/forms.py:329 admin/models.py:756 +#, fuzzy +msgid "Domain does not exist" +msgstr "Domäne gelöscht" + +#: admin/forms.py:163 msgid "Invalid mailbox" msgstr "Ungültige Mailbox" -#: admin/forms.py:159 -msgid "Access denied for" -msgstr "Zugriff verweigert für" - -#: admin/forms.py:168 -msgid "Permission denied on" -msgstr "Erlaubnis verweigert für" +#: admin/forms.py:174 admin/models.py:776 +#, fuzzy, python-format +msgid "Mailbox %s does not exist" +msgstr "Eine Mailbox mit dieser Adresse existiert bereits." #: admin/forms.py:183 -#: admin/forms.py:199 -msgid "User" -msgstr "Nutzer" +#, fuzzy +msgid "No recipient defined" +msgstr "Kein Ziel angegeben" -#: admin/forms.py:184 -msgid "Select a user" -msgstr "Wählen Sie einen Nutzer" +#: admin/forms.py:186 +msgid "A distribution list must contain at least two recipients" +msgstr "" -#: admin/forms.py:185 -#: admin/forms.py:201 -msgid "Select a user in the list" -msgstr "Wählen Sie einen Nutzer aus der Liste" - -#: admin/forms.py:194 -#: admin/tables.py:146 -msgid "Domain" -msgstr "Domäne" - -#: admin/forms.py:196 -msgid "Select a domain" -msgstr "Wählen Sie eine Domäne" - -#: admin/forms.py:197 -msgid "Select a domain in the list" -msgstr "Wählen Sie eine Domäne aus der Liste" - -#: admin/forms.py:200 -msgid "Empty" -msgstr "Leer" - -#: admin/forms.py:204 -#: extensions/webmail/forms.py:14 +#: admin/forms.py:199 extensions/webmail/forms.py:18 msgid "Select a file" msgstr "Wählen Sie eine Datei" -#: admin/forms.py:205 +#: admin/forms.py:200 msgid "Separator" msgstr "Separator" -#: admin/lib.py:13 -#, python-format -msgid "Invalid action, %(user)s is a local user" -msgstr "Unzulässige Aktion, %(user)s ist ein lokaler Benutzer" +#: admin/forms.py:212 auth/forms.py:6 templates/admin/editdomainform.html:20 +msgid "Username" +msgstr "Benutzername" -#: admin/models.py:83 -#: admin/models.py:147 -#: admin/models.py:160 -msgid "name" -msgstr "Name" +#: admin/forms.py:214 admin/forms.py:232 +#, fuzzy +msgid "Choose" +msgstr "Wert auswählen" -#: admin/models.py:84 -msgid "The domain name" -msgstr "Name der Domäne" +#: admin/forms.py:215 +msgid "What level of permission this user will have" +msgstr "" -#: admin/models.py:85 -msgid "Default quota in MB applied to mailboxes" -msgstr "Standard-Quota für Mailboxen (in MB)" - -#: admin/models.py:86 -#: admin/models.py:151 -#: admin/models.py:400 -#: admin/models.py:476 -#: extensions/postfix_autoreply/models.py:19 -msgid "enabled" +#: admin/forms.py:225 +#, fuzzy +msgid "Enabled" msgstr "aktiviert" -#: admin/models.py:87 -msgid "Check to activate this domain" -msgstr "Auswählen, um diese Domäne zu aktivieren" - -#: admin/models.py:140 -msgid "Failed to initialise domain, check permissions" -msgstr "Domäne konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." - -#: admin/models.py:148 -msgid "The alias name" -msgstr "Der Alias-Name" - -#: admin/models.py:149 -msgid "target" -msgstr "Ziel" - -#: admin/models.py:150 -msgid "The domain this alias points to" -msgstr "Domäne auf die dieser Alias verweist" - -#: admin/models.py:152 -#: admin/models.py:401 -msgid "Check to activate this alias" -msgstr "Auswählen um den Alias zu aktivieren" - -#: admin/models.py:161 -msgid "First name and last name of mailbox owner" -msgstr "Vor- und Nachname des Mailbox-Besitzers" - -#: admin/models.py:162 -#: admin/models.py:394 -msgid "address" -msgstr "Adresse" - -#: admin/models.py:163 -msgid "Mailbox address (without the @domain.tld part)" -msgstr "Mailbox-Adresse (ohne den @domain.tld-Anteil)" - -#: admin/models.py:164 -msgid "password" +#: admin/forms.py:264 auth/forms.py:10 +msgid "Password" msgstr "Passwort" -#: admin/models.py:251 -#: admin/models.py:334 -msgid "Failed to initialise mailbox, check permissions" -msgstr "Mailbox konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." +#: admin/forms.py:266 userprefs/forms.py:15 +msgid "Confirmation" +msgstr "Bestätigung" -#: admin/models.py:270 -msgid "Mailbox with this address already exists" -msgstr "Eine Mailbox mit dieser Adresse existiert bereits." +#: admin/forms.py:268 +msgid "Enter the same password as above, for verification." +msgstr "" -#: admin/models.py:314 +#: admin/forms.py:280 +msgid "The two password fields didn't match." +msgstr "" + +#: admin/forms.py:295 +#, fuzzy +msgid "E-mail" +msgstr "Webmail" + +#: admin/forms.py:296 admin/tables.py:21 +msgid "Quota" +msgstr "Quota" + +#: admin/forms.py:300 +#, fuzzy +msgid "Alias(es) of this mailbox" +msgstr "Aliase dieser Domäne ansehen" + +#: admin/forms.py:332 admin/models.py:75 admin/models.py:665 +#: admin/views.py:359 extensions/stats/views.py:60 +#, fuzzy +msgid "You don't have access to this domain" +msgstr "Aliase dieser Domäne ansehen" + +#: admin/forms.py:350 +msgid "Failed to rename mailbox, check permissions" +msgstr "Mailbox konnte nicht umbenannt werden. Prüfen Sie die Berechtigungen." + +#: admin/forms.py:388 +#, fuzzy +msgid "Domain(s)" +msgstr "Domänen" + +#: admin/forms.py:390 +#, fuzzy +msgid "Domain(s) that user administrates" +msgstr "Domänen-Administratoren" + +#: admin/forms.py:429 admin/views.py:322 templates/admin/editdomainform.html:4 +msgid "General" +msgstr "" + +#: admin/forms.py:431 admin/views.py:325 +#, fuzzy +msgid "Mail" +msgstr "Mailboxen" + +#: admin/forms.py:433 +msgid "Permissions" +msgstr "Berechtigungen" + +#: admin/lib.py:22 +msgid "Unknown object type" +msgstr "Unbekannter Objekt-Typ" + +#: admin/models.py:70 +#, fuzzy +msgid "You can't delete your own account" +msgstr "Sie können Ihre eigene Domäne nicht löschen" + +#: admin/models.py:80 +msgid "You don't have access to this account" +msgstr "" + +#: admin/models.py:141 msgid "Failed to update password: LDAP module not installed" msgstr "Konnte Kennwort nicht aktualisieren: LDAP-Modul nicht installiert" -#: admin/models.py:320 +#: admin/models.py:147 #, python-format msgid "Failed to update password: %s" msgstr "Konnte Kennwort nicht aktualisieren: %s" -#: admin/models.py:360 +#: admin/models.py:378 admin/models.py:455 +msgid "name" +msgstr "Name" + +#: admin/models.py:379 +msgid "The domain name" +msgstr "Name der Domäne" + +#: admin/models.py:380 +msgid "Default quota in MB applied to mailboxes" +msgstr "Standard-Quota für Mailboxen (in MB)" + +#: admin/models.py:381 admin/models.py:460 admin/models.py:696 +#: admin/models.py:782 extensions/postfix_autoreply/models.py:19 +msgid "enabled" +msgstr "aktiviert" + +#: admin/models.py:382 +msgid "Check to activate this domain" +msgstr "Auswählen, um diese Domäne zu aktivieren" + +#: admin/models.py:440 +msgid "Failed to initialise domain, check permissions" +msgstr "" +"Domäne konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." + +#: admin/models.py:448 admin/models.py:657 admin/models.py:751 msgid "Invalid line" msgstr "Ungültige Zeile" -#: admin/models.py:366 +#: admin/models.py:456 +msgid "The alias name" +msgstr "Der Alias-Name" + +#: admin/models.py:457 +msgid "target" +msgstr "Ziel" + +#: admin/models.py:458 +msgid "The domain this alias points to" +msgstr "Domäne auf die dieser Alias verweist" + +#: admin/models.py:461 admin/models.py:697 +msgid "Check to activate this alias" +msgstr "Auswählen um den Alias zu aktivieren" + +#: admin/models.py:474 admin/models.py:687 +msgid "address" +msgstr "Adresse" + +#: admin/models.py:475 +msgid "Mailbox address (without the @domain.tld part)" +msgstr "Mailbox-Adresse (ohne den @domain.tld-Anteil)" + +#: admin/models.py:572 +#, python-format +msgid "%s is not a valid uid/username" +msgstr "" + +#: admin/models.py:581 +#, python-format +msgid "%s is not a valid gid/groupname" +msgstr "" + +#: admin/models.py:585 admin/models.py:642 +msgid "Failed to initialise mailbox, check permissions" +msgstr "" +"Mailbox konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." + +#: admin/models.py:610 +#, fuzzy, python-format +msgid "Account '%s' already exists" +msgstr "Eine Domäne mit diesem Namen existiert bereits" + +#: admin/models.py:663 msgid "Cannot import this mailbox because the associated domain does not exist" -msgstr "Kann Mailbox nicht importieren, weil die dazugehörende Domain nicht existiert" +msgstr "" +"Kann Mailbox nicht importieren, weil die dazugehörende Domain nicht existiert" -#: admin/models.py:395 -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:688 +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:397 +#: admin/models.py:692 msgid "mailboxes" msgstr "Mailboxen" -#: admin/models.py:398 +#: admin/models.py:693 msgid "The mailboxes this alias points to" msgstr "Mailbox auf den dieser Alias verweist" -#: admin/models.py:477 +#: admin/models.py:758 lib/permissions.py:115 +#, fuzzy +msgid "You can't access this domain" +msgstr "Sie können Ihre eigene Domäne nicht löschen" + +#: admin/models.py:783 msgid "Check to enable this extension" msgstr "Auswählen, um diese Erweiterung zu aktivieren" -#: admin/permissions.py:29 -msgid "Add super administrator" -msgstr "Super-Administrator hinzufügen" - -#: admin/permissions.py:82 -msgid "Add domain administrator" -msgstr "Domänen-Administrator hinzufügen" - -#: admin/tables.py:10 -#: admin/tables.py:45 -#: admin/tables.py:71 -#: admin/tables.py:127 -#: extensions/sievefilters/forms.py:16 -#: extensions/sievefilters/templates/sievefilters/filters.html:8 +#: admin/tables.py:11 admin/tables.py:49 extensions/sievefilters/forms.py:53 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:6 +#: templates/admin/editdomainform.html:20 msgid "Name" msgstr "Name" -#: admin/tables.py:11 -#: admin/tables.py:47 -#: admin/tables.py:72 -#: admin/tables.py:104 -msgid "Created" -msgstr "Erstellt" +#: admin/tables.py:13 +msgid "Edit domain" +msgstr "Domäne bearbeiten" -#: admin/tables.py:12 -#: admin/tables.py:48 -#: admin/tables.py:74 -#: admin/tables.py:105 -msgid "Last modified" -msgstr "Zuletzt verändert" - -#: admin/tables.py:14 -#: admin/views.py:164 -#: admin/templatetags/admin_extras.py:128 +#: admin/tables.py:15 extensions/limits/forms.py:16 +#: extensions/limits/models.py:11 msgid "Domain aliases" msgstr "Domänen-Aliase" -#: admin/tables.py:16 -#: admin/templatetags/admin_extras.py:36 -#: admin/templatetags/admin_extras.py:131 +#: admin/tables.py:17 extensions/limits/forms.py:18 +#: extensions/limits/models.py:12 +#: extensions/webmail/templates/webmail/folders.html:4 msgid "Mailboxes" msgstr "Mailboxen" -#: admin/tables.py:18 -#: admin/views.py:394 -#: admin/templatetags/admin_extras.py:134 +#: admin/tables.py:19 extensions/limits/forms.py:20 +#: extensions/limits/models.py:13 msgid "Mailbox aliases" msgstr "Mailboxen-Aliase" -#: admin/tables.py:24 -#: admin/tables.py:52 -#: admin/tables.py:82 -#: admin/tables.py:109 -#: admin/templatetags/admin_extras.py:98 -#: extensions/sievefilters/templates/sievefilters/filter.html:86 -#: extensions/sievefilters/templates/sievefilters/filters.html:7 -#: extensions/sievefilters/templates/sievefilters/guieditor.html:3 -#: extensions/sievefilters/templates/sievefilters/rawfilter.html:3 +#: admin/tables.py:25 admin/tables.py:65 extensions/sievefilters/views.py:79 +#: extensions/sievefilters/templates/sievefilters/filter.html:17 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:5 #: extensions/webmail/templatetags/webextras.py:93 msgid "Actions" msgstr "Aktionen" #: admin/tables.py:36 -#: admin/tables.py:93 msgid "MB" msgstr "MB" -#: admin/tables.py:39 -#: admin/tables.py:64 -#: admin/tables.py:96 -#: admin/tables.py:122 -#: extensions/sievefilters/views.py:248 +#: admin/tables.py:39 extensions/sievefilters/views.py:265 msgid "yes" msgstr "Ja" -#: admin/tables.py:39 -#: admin/tables.py:64 -#: admin/tables.py:96 -#: admin/tables.py:122 -#: extensions/sievefilters/views.py:252 +#: admin/tables.py:39 extensions/sievefilters/views.py:269 msgid "no" msgstr "Nein" -#: admin/tables.py:46 -msgid "Targeted domain" -msgstr "Ziel-Domäne" - -#: admin/tables.py:70 -#: admin/tables.py:102 -msgid "Address" -msgstr "Adresse" - -#: admin/tables.py:76 -msgid "Aliases" -msgstr "Aliases" - -#: admin/tables.py:128 +#: admin/tables.py:50 msgid "Version" msgstr "Version" -#: admin/tables.py:129 +#: admin/tables.py:51 msgid "Description" msgstr "Beschreibung" -#: admin/tables.py:136 -msgid "User name" +#: admin/tables.py:58 +#, fuzzy +msgid "Email/Username" msgstr "Benutzername" -#: admin/tables.py:137 -#: admin/tables.py:147 -msgid "Full name" -msgstr "Voller Name" +#: admin/tables.py:64 +#, fuzzy +msgid "Fullname/Recipient" +msgstr "Empfänger" -#: admin/tables.py:138 -#: admin/tables.py:148 -msgid "Defined" -msgstr "Definiert" - -#: admin/views.py:31 -msgid "Unknown object type" -msgstr "Unbekannter Objekt-Typ" - -#: admin/views.py:65 -msgid "Do not delete domain directory" -msgstr "Domänen-Verzeichnis nicht löschen" - -#: admin/views.py:68 -msgid "Available domains" -msgstr "Verfügbare Domänen" - -#: admin/views.py:86 -msgid "Domain with this name already defined" -msgstr "Es existiert bereits eine Domain mit diesem Namen" - -#: admin/views.py:103 +#: admin/views.py:78 admin/templatetags/admin_extras.py:67 msgid "New domain" msgstr "Neue Domäne" -#: admin/views.py:104 -#: admin/views.py:173 -#: admin/views.py:297 -#: admin/views.py:328 -#: admin/views.py:432 -#: extensions/sievefilters/views.py:175 -#: extensions/webmail/views.py:371 +#: admin/views.py:79 admin/views.py:202 admin/views.py:319 admin/views.py:326 +#: extensions/sievefilters/views.py:120 extensions/sievefilters/views.py:187 +#: extensions/webmail/views.py:118 msgid "Create" msgstr "Erstellen" -#: admin/views.py:109 +#: admin/views.py:85 msgid "Domain created" msgstr "Domäne erstellt." -#: admin/views.py:120 -msgid "Domain editing" -msgstr "Domäne Bearbeitung" +#: admin/views.py:96 +#, fuzzy +msgid "You can't edit this domain" +msgstr "Sie können Ihre eigene Domäne nicht löschen" -#: admin/views.py:121 -#: admin/views.py:208 -#: admin/views.py:451 -#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:38 -#: extensions/webmail/views.py:398 -#: templates/userprefs/chpassword.html:15 -#: templates/userprefs/setforward.html:15 +#: admin/views.py:107 admin/views.py:227 admin/views.py:372 +#: extensions/postfix_autoreply/views.py:22 +#: extensions/sievefilters/views.py:139 extensions/webmail/views.py:149 +#: userprefs/views.py:34 userprefs/views.py:66 msgid "Update" msgstr "Aktualisieren" -#: admin/views.py:126 +#: admin/views.py:114 msgid "Domain modified" msgstr "Domäne verändert" -#: admin/views.py:140 +#: admin/views.py:135 +#, fuzzy +msgid "You can't delete this domain" +msgstr "Sie können Ihre eigene Domäne nicht löschen" + +#: admin/views.py:137 msgid "You can't delete your own domain" msgstr "Sie können Ihre eigene Domäne nicht löschen" -#: admin/views.py:149 +#: admin/views.py:147 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domäne gelöscht" msgstr[1] "Domänen gelöscht" -#: admin/views.py:172 -msgid "New domain alias" -msgstr "Neuer Domänen-Alias" - -#: admin/views.py:182 -#: admin/views.py:217 -msgid "A domain with this name already exists" -msgstr "Eine Domäne mit diesem Namen existiert bereits" - -#: admin/views.py:187 -#: admin/views.py:222 -#: admin/views.py:412 +#: admin/views.py:180 msgid "Alias with this name already exists" msgstr "Ein Alias mit diesem Namen existiert bereits" -#: admin/views.py:189 -msgid "Domain alias created" +#: admin/views.py:201 admin/templatetags/admin_extras.py:96 +msgid "New distribution list" +msgstr "" + +#: admin/views.py:213 +#, fuzzy +msgid "Distribution list created" msgstr "Domänen-Alias erstellt" -#: admin/views.py:207 -msgid "Domain alias editing" -msgstr "Domänen-Alias Bearbeitung" +#: admin/views.py:225 admin/views.py:248 +msgid "You do not have access to this domain" +msgstr "" -#: admin/views.py:224 -msgid "Domain alias updated" -msgstr "Domänen-Alias aktualisiert" +#: admin/views.py:233 +#, fuzzy +msgid "Distribution list modified" +msgstr "Mailbox-Alias verändert" -#: admin/views.py:240 -msgid "Domain alias deleted" -msgid_plural "Domain aliases deleted" +#: admin/views.py:253 +#, fuzzy +msgid "Distribution list deleted" +msgid_plural "Distribution lists deleted" msgstr[0] "Domänen-Alias gelöscht" msgstr[1] "Domänen-Aliase gelöscht" -#: admin/views.py:248 -msgid "Available mailboxes" -msgstr "Verfügbare Mailboxen" +#: admin/views.py:316 admin/templatetags/admin_extras.py:90 +msgid "New account" +msgstr "" -#: admin/views.py:256 -msgid "Do not delete mailbox directory" -msgstr "Löschen Sie nicht das Mailbox-Verzeichnis" - -#: admin/views.py:296 -msgid "New mailbox" -msgstr "Neue Mailbox" - -#: admin/views.py:310 -msgid "Mailbox created" -msgstr "Mailbox erstellt." +#: admin/views.py:323 +msgid "Next" +msgstr "Nächstes" #: admin/views.py:327 -msgid "Mailbox editing" -msgstr "Mailboxen Bearbeitung" +msgid "Previous" +msgstr "Vorheriges" -#: admin/views.py:344 -msgid "Mailbox modified" -msgstr "Mailbox verändert" +#: admin/views.py:338 +#, fuzzy +msgid "Account created" +msgstr "Domäne erstellt." -#: admin/views.py:347 -msgid "Failed to rename mailbox, check permissions" -msgstr "Mailbox konnte nicht umbenannt werden. Prüfen Sie die Berechtigungen." +#: admin/views.py:362 +msgid "You can't access this account" +msgstr "" -#: admin/views.py:366 -msgid "You can't delete your own mailbox" -msgstr "Sie können Ihre eigene Mailbox nicht löschen" +#: admin/views.py:389 +#, fuzzy +msgid "Account updated" +msgstr "Konto ist deaktiviert" -#: admin/views.py:376 -msgid "Mailbox deleted" -msgid_plural "Mailboxes deleted" -msgstr[0] "Mailbox gelöscht" -msgstr[1] "Mailboxen gelöscht" +#: admin/views.py:409 +#, fuzzy +msgid "Account deleted" +msgid_plural "Accounts deleted" +msgstr[0] "Domäne gelöscht" +msgstr[1] "Domänen gelöscht" -#: admin/views.py:407 -msgid "No target defined" -msgstr "Kein Ziel angegeben" +#: admin/views.py:438 admin/views.py:443 +#: extensions/amavis_quarantine/views.py:196 +#: extensions/amavis_quarantine/views.py:202 +#: extensions/amavis_quarantine/views.py:229 +#: extensions/amavis_quarantine/views.py:233 +#: extensions/amavis_quarantine/views.py:235 extensions/stats/views.py:46 +#: extensions/webmail/views.py:32 extensions/webmail/views.py:55 +#: extensions/webmail/views.py:68 extensions/webmail/views.py:80 +#: extensions/webmail/views.py:96 extensions/webmail/views.py:180 +#: extensions/webmail/views.py:405 extensions/webmail/views.py:416 +#: extensions/webmail/views.py:443 lib/formutils.py:29 lib/formutils.py:34 +#, fuzzy +msgid "Invalid request" +msgstr "Ungültige Zeile" -#: admin/views.py:431 -msgid "New mailbox alias" -msgstr "Neuer Mailbox-Alias" - -#: admin/views.py:437 -msgid "Mailbox alias created" -msgstr "Mailbox-Alias erstellt." - -#: admin/views.py:450 -msgid "Mailbox alias editing" -msgstr "Mailbox-Alias Bearbeitung" - -#: admin/views.py:456 -msgid "Mailbox alias modified" -msgstr "Mailbox-Alias verändert" - -#: admin/views.py:470 -msgid "Alias deleted" -msgid_plural "Aliases deleted" -msgstr[0] "Alias gelöscht" -msgstr[1] "Aliase gelöscht" - -#: admin/views.py:481 -msgid "Super administrators" -msgstr "Super-Administratoren" - -#: admin/views.py:490 -msgid "Domain administrators" -msgstr "Domänen-Administratoren" - -#: admin/views.py:505 -#: admin/views.py:522 -msgid "Permission denied!" +#: admin/views.py:445 +#, fuzzy +msgid "Permission denied" msgstr "Berechtigung verweigert!" -#: admin/views.py:514 -msgid "Permission added." -msgstr "Berechtigung hinzugefügt." +#: admin/views.py:483 +#, fuzzy +msgid "Parameters saved" +msgstr "Parameter" -#: admin/views.py:528 -msgid "Permissions removed" -msgstr "Berechtigungen entfernt" - -#: admin/views.py:609 +#: admin/views.py:529 msgid "Modifications applied." msgstr "Änderungen übernommen." -#: admin/views.py:631 -#, python-format -msgid "%d mailboxes imported successfully" +#: admin/views.py:586 +#, fuzzy, python-format +msgid "%d objects imported successfully" msgstr "%d Mailboxen erfolgreich importiert" -#: admin/views.py:641 -#: admin/templatetags/admin_extras.py:112 -#: templates/admin/import.html:48 -msgid "Import data" +#: admin/views.py:605 +msgid "" +"Provide a CSV file where lines respect one of the following format:\n" +"
    \n" +"
  • account; loginname; password; first name; last name; address\n" +"
  • dlist; address; recipient; recipient; ...
  • \n" +"
\n" +"You can use a different character as separator.\n" +msgstr "" + +#: admin/views.py:613 +#, fuzzy +msgid "Import identities" msgstr "Daten importieren" -#: admin/views.py:642 -#: templates/admin/import.html:56 +#: admin/views.py:614 admin/views.py:640 admin/templatetags/admin_extras.py:73 +#: admin/templatetags/admin_extras.py:102 msgid "Import" msgstr "Importiere" +#: admin/views.py:632 +msgid "" +"Provide a CSV file where lines respect the following format:
\n" +"domain; name; quota
\n" +"\n" +"You can use a different character as separator.\n" +msgstr "" + +#: admin/views.py:639 +#, fuzzy +msgid "Import domains" +msgstr "Daten importieren" + #: admin/templatetags/admin_extras.py:12 msgid "enabled_m" msgstr "aktiviert_m" @@ -600,306 +598,376 @@ msgstr "aktiviert_m" msgid "enabled_f" msgstr "aktiviert_f" -#: admin/templatetags/admin_extras.py:20 -msgid "Admin" -msgstr "Admin" - -#: admin/templatetags/admin_extras.py:29 -#: admin/templatetags/admin_extras.py:123 +#: admin/templatetags/admin_extras.py:22 extensions/limits/forms.py:14 +#: extensions/limits/models.py:10 templates/admin/domains.html:2 msgid "Domains" msgstr "Domänen" -#: admin/templatetags/admin_extras.py:46 -#: templates/admin/permissions.html:6 -msgid "Permissions" -msgstr "Berechtigungen" +#: admin/templatetags/admin_extras.py:30 templates/admin/identities.html:2 +msgid "Identities" +msgstr "" -#: admin/templatetags/admin_extras.py:53 -#: templates/admin/settings_header.html:6 -msgid "Settings" -msgstr "Einstellungen" +#: admin/templatetags/admin_extras.py:35 +msgid "Modoboa" +msgstr "" -#: admin/templatetags/admin_extras.py:68 -msgid "Parameters" -msgstr "Parameter" - -#: admin/templatetags/admin_extras.py:71 +#: admin/templatetags/admin_extras.py:49 templates/admin/extensions.html:2 msgid "Extensions" msgstr "Erweiterungen" -#: admin/templatetags/admin_extras.py:103 -msgid "New" -msgstr "Neu" +#: admin/templatetags/admin_extras.py:54 templates/admin/parameters.html:2 +msgid "Parameters" +msgstr "Parameter" -#: admin/templatetags/admin_extras.py:107 -msgid "Remove" -msgstr "Entfernen" +#: admin/templatetags/admin_extras.py:133 +msgid "Delete this account" +msgstr "" -#: admin/templatetags/admin_extras.py:149 -msgid "Add permission" -msgstr "Berechtigung hinzufügen" +#: admin/templatetags/admin_extras.py:140 +msgid "Delete this distribution list" +msgstr "" -#: admin/templatetags/admin_extras.py:153 -msgid "Remove permissions" +#: admin/templatetags/admin_extras.py:150 +#, fuzzy +msgid "Remove this permission" msgstr "Berechtigung entziehen" -#: admin/templatetags/admin_extras.py:166 -msgid "Edit domain" -msgstr "Domäne bearbeiten" - -#: admin/templatetags/admin_extras.py:172 -msgid "View aliases of this domain" -msgstr "Aliase dieser Domäne ansehen" - -#: admin/templatetags/admin_extras.py:182 -msgid "Edit alias" -msgstr "Alias bearbeiten" - -#: admin/templatetags/admin_extras.py:194 -msgid "Edit mailbox" -msgstr "Mailbox bearbeiten" - -#: admin/templatetags/admin_extras.py:200 -msgid "View this mailbox aliases" -msgstr "Aliase dieser Mailbox ansehen" - -#: admin/templatetags/admin_extras.py:215 -msgid "Edit mailbox alias" -msgstr "Mailbox-Alias bearbeiten" - -#: admin/templatetags/admin_extras.py:250 +#: admin/templatetags/admin_extras.py:184 msgid "Yes" msgstr "Ja" -#: admin/templatetags/admin_extras.py:250 +#: admin/templatetags/admin_extras.py:184 msgid "No" msgstr "Nein" -#: admin/templatetags/admin_extras.py:267 -#: templates/common/genericform.html:6 -msgid "Help" -msgstr "Hilfe" - #: auth/__init__.py:6 msgid "Key used to encrypt/decrypt passwords" msgstr "Verwendeter Schlüssel, um Passworte zu ver-/entschlüsseln" -#: auth/forms.py:5 -msgid "Username" -msgstr "Benutzername" - -#: auth/forms.py:7 -msgid "Password used to authenticate" -msgstr "Login-Passwort" - #: auth/views.py:38 msgid "Account is disabled." msgstr "Konto ist deaktiviert" #: auth/views.py:39 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." +msgstr "" +"Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie es " +"noch einmal." -#: demo/__init__.py:16 +#: demo/__init__.py:19 msgid "Test messages" msgstr "Test-Nachrichten" -#: demo/__init__.py:21 +#: demo/__init__.py:24 msgid "Send virus" msgstr "Virus senden" -#: demo/__init__.py:25 +#: demo/__init__.py:28 msgid "Send spam" msgstr "Spam senden" +#: demo/views.py:17 demo/views.py:41 +#, fuzzy +msgid "Message sent" +msgstr "Nachrichten" + #: demo/templates/demo/login_announcement.html:2 +#, fuzzy msgid "" "\n" -"

Welcome to the online demo!

\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):

\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 of give any suggestion to \n" -" the mailing list.

\n" +"

Please report any issue or give any suggestion to \n" +" the " +"mailing list.

\n" msgstr "" "\n" "

Willkommen zur Online Demo!

\n" -"

Warnung: die Inhalte der Demo werden alle zwei Stunden gelöscht.

\n" +"

Warnung: die Inhalte der Demo werden alle zwei Stunden gelöscht.\n" -#: extensions/amavis_quarantine/main.py:15 +#: extensions/amavis_quarantine/__init__.py:17 msgid "Simple amavis quarantine management tool" msgstr "Einfaches amavis Quarantäne-Management Werkzeug" -#: extensions/amavis_quarantine/main.py:23 +#: extensions/amavis_quarantine/__init__.py:46 msgid "Quarantine messages maximum age (in days) before deletion" -msgstr "Maximales Alter (in Tagen) von Nachrichten in der Quarantäne bevor sie gelöscht werden" +msgstr "" +"Maximales Alter (in Tagen) von Nachrichten in der Quarantäne bevor sie " +"gelöscht werden" -#: extensions/amavis_quarantine/main.py:25 +#: extensions/amavis_quarantine/__init__.py:50 msgid "Remove messages marked as released while cleaning up the database" msgstr "Freigegebene Nachrichten löschen wenn Datenbank bereinigt wird" -#: extensions/amavis_quarantine/main.py:29 +#: extensions/amavis_quarantine/__init__.py:55 msgid "Mode used to access the PDP server" msgstr "Modus für Zugriff auf den PDP-Server" -#: extensions/amavis_quarantine/main.py:32 +#: extensions/amavis_quarantine/__init__.py:58 msgid "PDP server address (if inet mode)" msgstr "PDP-Server addresse (im inet-Modus)" -#: extensions/amavis_quarantine/main.py:35 +#: extensions/amavis_quarantine/__init__.py:61 msgid "PDP server port (if inet mode)" msgstr "PDP-Server port (im inet-Modus)" -#: extensions/amavis_quarantine/main.py:37 -msgid "/var/amavis/amavisd.sock" -msgstr "/var/amavis/amavisd.sock" - -#: extensions/amavis_quarantine/main.py:38 +#: extensions/amavis_quarantine/__init__.py:64 msgid "Path to the PDP server socket (if unix mode)" msgstr "Pfad zum PDP-Server Socket (im UNIX-Modus)" -#: extensions/amavis_quarantine/main.py:42 -#: extensions/webmail/main.py:40 -msgid "Sets 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_quarantine/__init__.py:67 +msgid "Interval between two release requests checks" +msgstr "" -#: extensions/amavis_quarantine/main.py:58 -#: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:42 +#: extensions/amavis_quarantine/__init__.py:69 +msgid "Allow users to directly release their messages" +msgstr "" + +#: extensions/amavis_quarantine/__init__.py:71 +msgid "Activate the 'self-service' mode" +msgstr "" + +#: extensions/amavis_quarantine/__init__.py:76 +#: extensions/webmail/__init__.py:37 +msgid "Sets 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_quarantine/__init__.py:90 msgid "Quarantine" msgstr "Quarantäne" -#: extensions/amavis_quarantine/sql_listing.py:21 -#: extensions/webmail/forms.py:5 +#: extensions/amavis_quarantine/__init__.py:145 +#, fuzzy +msgid "pending requests" +msgstr "Fehlerhafte Anfrage" + +#: extensions/amavis_quarantine/__init__.py:161 +#, python-format +msgid "%d pending requests" +msgstr "" + +#: extensions/amavis_quarantine/sql_listing.py:23 +#: extensions/webmail/forms.py:5 extensions/webmail/lib.py:34 msgid "From" msgstr "Von" -#: extensions/amavis_quarantine/sql_listing.py:22 -#: extensions/sievefilters/forms.py:29 -#: extensions/webmail/forms.py:8 -#: extensions/webmail/lib.py:525 -#: templates/common/email_searchbar.html:7 +#: extensions/amavis_quarantine/sql_listing.py:24 +#: extensions/sievefilters/forms.py:68 extensions/webmail/forms.py:9 +#: extensions/webmail/lib.py:33 extensions/webmail/lib.py:363 +#: templates/common/email_searchbar.html:6 msgid "Subject" msgstr "Betreff" -#: extensions/amavis_quarantine/sql_listing.py:23 -#: extensions/webmail/lib.py:527 +#: extensions/amavis_quarantine/sql_listing.py:25 extensions/webmail/lib.py:35 +#: extensions/webmail/lib.py:365 msgid "Date" msgstr "Datum" -#: extensions/amavis_quarantine/sql_listing.py:24 -#: extensions/amavis_quarantine/templatetags/amextras.py:94 +#: extensions/amavis_quarantine/sql_listing.py:26 +#: extensions/amavis_quarantine/templatetags/amextras.py:102 #: extensions/webmail/forms.py:6 msgid "To" msgstr "An" -#: extensions/amavis_quarantine/views.py:89 +#: extensions/amavis_quarantine/views.py:32 msgid "Empty quarantine" msgstr "Quarantäne leeren" -#: extensions/amavis_quarantine/views.py:172 +#: extensions/amavis_quarantine/views.py:203 +#, fuzzy +msgid "Message deleted" +msgstr "Nachrichten-Filter" + +#: extensions/amavis_quarantine/views.py:219 #, 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_quarantine/views.py:202 +#: extensions/amavis_quarantine/views.py:238 +msgid "Request sent" +msgstr "" + +#: extensions/amavis_quarantine/views.py:244 +#, fuzzy +msgid "Message released" +msgstr "Nachrichten-Header" + +#: extensions/amavis_quarantine/views.py:258 +#, python-format +msgid "%(count)d request sent" +msgid_plural "%(count)d requests sent" +msgstr[0] "" +msgstr[1] "" + +#: extensions/amavis_quarantine/views.py:281 #, python-format msgid "%(count)d message released successfully" msgid_plural "%(count)d messages released successfully" msgstr[0] "%(count)d Nachicht erfolgreich freigegeben" msgstr[1] "%(count)d Nachichten erfolgreich freigegeben" -#: extensions/amavis_quarantine/templates/amavis_quarantine/viewheader.html:36 -msgid "Message headers" -msgstr "Nachrichten-Header" +#: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:2 +#, fuzzy +msgid "Quarantine management" +msgstr "Einfaches amavis Quarantäne-Management Werkzeug" -#: extensions/amavis_quarantine/templatetags/amextras.py:16 -msgid "View as plain text" -msgstr "In Text-Format betrachten" - -#: extensions/amavis_quarantine/templatetags/amextras.py:19 -msgid "View as HTML" -msgstr "In HTML-Format betrachten" - -#: extensions/amavis_quarantine/templatetags/amextras.py:22 -#: extensions/webmail/templatetags/webextras.py:42 -msgid "Activate links" -msgstr "Links aktivieren" - -#: extensions/amavis_quarantine/templatetags/amextras.py:30 -msgid "Back to list" -msgstr "Zurück zur Liste" - -#: extensions/amavis_quarantine/templatetags/amextras.py:34 -msgid "View full headers" -msgstr "Alle Mail-Header ansehen" - -#: extensions/amavis_quarantine/templatetags/amextras.py:41 -#: extensions/amavis_quarantine/templatetags/amextras.py:64 +#: extensions/amavis_quarantine/templatetags/amextras.py:20 +#: extensions/amavis_quarantine/templatetags/amextras.py:52 +#: extensions/amavis_quarantine/templatetags/amextras.py:72 msgid "Release" msgstr "Freigeben" -#: extensions/amavis_quarantine/templatetags/amextras.py:46 -#: extensions/amavis_quarantine/templatetags/amextras.py:68 -#: extensions/webmail/templatetags/webextras.py:35 +#: extensions/amavis_quarantine/templatetags/amextras.py:26 +#: extensions/amavis_quarantine/templatetags/amextras.py:59 +#: extensions/amavis_quarantine/templatetags/amextras.py:77 +#: extensions/webmail/templatetags/webextras.py:33 msgid "Delete" msgstr "Löschen" -#: extensions/amavis_quarantine/templatetags/amextras.py:48 -#: userprefs/templatetags/uprefs_extras.py:17 -msgid "Options" -msgstr "Optionen" +#: extensions/amavis_quarantine/templatetags/amextras.py:29 +msgid "View full headers" +msgstr "Alle Mail-Header ansehen" -#: extensions/amavis_quarantine/templatetags/amextras.py:72 -msgid "Select" -msgstr "Auswählen" +#: extensions/amavis_quarantine/templatetags/amextras.py:80 +#, fuzzy +msgid "Content Class" +msgstr "Inhalt" -#: extensions/amavis_quarantine/templatetags/amextras.py:77 +#: extensions/amavis_quarantine/templatetags/amextras.py:84 msgid "Nothing" msgstr "Nichts" -#: extensions/amavis_quarantine/templatetags/amextras.py:80 +#: extensions/amavis_quarantine/templatetags/amextras.py:87 msgid "Spam" msgstr "Spam" -#: extensions/amavis_quarantine/templatetags/amextras.py:83 +#: extensions/amavis_quarantine/templatetags/amextras.py:90 +msgid "Virus" +msgstr "" + +#: extensions/amavis_quarantine/templatetags/amextras.py:93 msgid "Bad header" msgstr "Schlechte Header" -#: extensions/amavis_quarantine/templatetags/amextras.py:86 +#: extensions/amavis_quarantine/templatetags/amextras.py:96 msgid "Bad MIME" msgstr "Schlechtes MIME" -#: extensions/postfix_autoreply/forms.py:7 +#: extensions/limits/__init__.py:55 +msgid "" +"Per administrator resources to limit the number of objects they can create" +msgstr "" + +#: extensions/limits/__init__.py:62 +msgid "Reseller" +msgstr "" + +#: extensions/limits/__init__.py:93 +msgid "Resources" +msgstr "" + +#: extensions/limits/forms.py:11 extensions/limits/models.py:9 +#, fuzzy +msgid "Domain admins" +msgstr "Domänen-Administratoren" + +#: extensions/limits/forms.py:12 +msgid "Maximum number of domain administrators this user can create" +msgstr "" + +#: extensions/limits/forms.py:15 +msgid "Maximum number of domains this user can create" +msgstr "" + +#: extensions/limits/forms.py:17 +msgid "Maximum number of domain aliases this user can create" +msgstr "" + +#: extensions/limits/forms.py:19 +msgid "Maximum number of mailboxes this user can create" +msgstr "" + +#: extensions/limits/forms.py:21 +msgid "Maximum number of mailbox aliases this user can create" +msgstr "" + +#: extensions/limits/forms.py:36 +#, fuzzy +msgid "Invalid limit" +msgstr "Ungültige Zeile" + +#: extensions/limits/forms.py:60 +msgid "Your resources are not initialized yet" +msgstr "" + +#: extensions/limits/forms.py:63 +msgid "You're not allowed to define unlimited values" +msgstr "" + +#: extensions/limits/lib.py:16 +#, python-format +msgid "%s: limit reached" +msgstr "" + +#: extensions/limits/lib.py:23 +#, fuzzy +msgid "Not enough resources" +msgstr "Kein weiterer Platz auf Server verfügbar" + +#: extensions/limits/models.py:100 +#, fuzzy +msgid "undefined" +msgstr "Definiert" + +#: extensions/limits/models.py:102 +msgid "unlimited" +msgstr "" + +#: extensions/limits/templates/limits/poolusage.html:3 +#, fuzzy +msgid "Resources usage" +msgstr "Zurückgeworfene Nachrichten" + +#: extensions/postfix_autoreply/__init__.py:20 +msgid "Auto-reply (vacation) functionality using Postfix" +msgstr "" +"Automatische Antwort (Abwesenheitsbenachrichtigung) über Postfix-Programm" + +#: extensions/postfix_autoreply/__init__.py:45 +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/__init__.py:68 +#: extensions/postfix_autoreply/views.py:19 +msgid "Auto-reply message" +msgstr "Automatische Antwort" + +#: extensions/postfix_autoreply/forms.py:8 msgid "Until" msgstr "Bis" -#: extensions/postfix_autoreply/forms.py:8 +#: extensions/postfix_autoreply/forms.py:9 msgid "Activate your auto reply until this date" msgstr "Aktivieren Sie ihre automatisierte Antwort bis zu diesem Datum" -#: extensions/postfix_autoreply/forms.py:22 +#: extensions/postfix_autoreply/forms.py:23 msgid "This date is over" msgstr "Das Datum ist vorbei" -#: extensions/postfix_autoreply/main.py:21 -msgid "Auto-reply (vacation) functionality using Postfix" -msgstr "Automatische Antwort (Abwesenheitsbenachrichtigung) über Postfix-Programm" - -#: extensions/postfix_autoreply/main.py:35 -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/main.py:61 -#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:30 -msgid "Auto-reply message" -msgstr "Automatische Antwort" - #: extensions/postfix_autoreply/models.py:15 msgid "subject" msgstr "Betreff" @@ -920,205 +988,196 @@ msgstr "Der Inhalt, der in den versendeten Nachrichten verwendet wird" msgid "Activate/Deactivate your auto reply" msgstr "Aktivieren/Deaktivieren Sie die automatisierte Antwort" -#: extensions/postfix_autoreply/views.py:36 +#: extensions/postfix_autoreply/views.py:43 msgid "Auto reply message updated successfully." msgstr "Automatische Antwort erfolgreich aktualisiert." -#: extensions/sievefilters/forms.py:10 +#: extensions/sievefilters/__init__.py:15 +msgid "Address of your MANAGESIEVE server" +msgstr "Adresse Ihres MANAGESIEVE-Servers" + +#: extensions/sievefilters/__init__.py:17 +msgid "Listening port of your MANAGESIEVE server" +msgstr "TCP-Port auf Ihr MANAGESIEVE-Server lauscht" + +#: extensions/sievefilters/__init__.py:19 +msgid "Use the STARTTLS extension" +msgstr "STARTTLS benutzen" + +#: extensions/sievefilters/__init__.py:26 +msgid "Prefered authentication mechanism" +msgstr "Bevorzugte Authentifizierungsmethode" + +#: extensions/sievefilters/__init__.py:30 +msgid "Editor mode" +msgstr "Editor-Modus" + +#: extensions/sievefilters/__init__.py:32 +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/__init__.py:42 +msgid "Plugin to easily create server-side filters" +msgstr "Plugin, um auf einfache Weise server-seitige Filter zu erstellen" + +#: extensions/sievefilters/__init__.py:56 +#: extensions/sievefilters/templates/sievefilters/index.html:2 +msgid "Message filters" +msgstr "Nachrichten-Filter" + +#: extensions/sievefilters/forms.py:14 msgid "Check to activate this filters set" msgstr "Häckchen setzen, damit Filter aktiv wird" -#: extensions/sievefilters/forms.py:17 +#: extensions/sievefilters/forms.py:55 msgid "All of the following" msgstr "Alle folgende" -#: extensions/sievefilters/forms.py:18 +#: extensions/sievefilters/forms.py:56 msgid "Any of the following" msgstr "Irgendeines der folgenden" -#: extensions/sievefilters/forms.py:19 +#: extensions/sievefilters/forms.py:57 msgid "All messages" msgstr "Alle Nachrichten" -#: extensions/sievefilters/forms.py:23 +#: extensions/sievefilters/forms.py:62 msgid "contains" msgstr "enthält" -#: extensions/sievefilters/forms.py:24 +#: extensions/sievefilters/forms.py:63 msgid "does not contain" msgstr "enthält nicht" -#: extensions/sievefilters/forms.py:25 +#: extensions/sievefilters/forms.py:64 msgid "is" msgstr "ist" -#: extensions/sievefilters/forms.py:26 +#: extensions/sievefilters/forms.py:65 msgid "is not" msgstr "ist nicht" -#: extensions/sievefilters/forms.py:30 +#: extensions/sievefilters/forms.py:69 msgid "Sender" msgstr "Sender" -#: extensions/sievefilters/forms.py:31 +#: extensions/sievefilters/forms.py:70 msgid "Recipient" msgstr "Empfänger" -#: extensions/sievefilters/forms.py:32 -#: extensions/webmail/forms.py:7 +#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:7 msgid "Cc" msgstr "Cc" -#: extensions/sievefilters/forms.py:33 +#: extensions/sievefilters/forms.py:72 msgid "Size" msgstr "Größe" -#: extensions/sievefilters/forms.py:34 +#: extensions/sievefilters/forms.py:73 msgid "is greater than" msgstr "ist größer als" -#: extensions/sievefilters/forms.py:35 +#: extensions/sievefilters/forms.py:74 msgid "is less than" msgstr "ist weniger als" -#: extensions/sievefilters/forms.py:39 +#: extensions/sievefilters/forms.py:78 msgid "Move message to" msgstr "Verschiebe Nachricht nach" -#: extensions/sievefilters/forms.py:41 +#: extensions/sievefilters/forms.py:80 msgid "Redirect message to" msgstr "Leite Nachricht um zu" #: extensions/sievefilters/lib.py:37 msgid "Connection to MANAGESIEVE server failed, check your configuration" -msgstr "Verbindung zu MANAGESIEVE-Server fehlgeschlagen. Überprüfen Sie Ihre Konfiguration." +msgstr "" +"Verbindung zu MANAGESIEVE-Server fehlgeschlagen. Überprüfen Sie Ihre " +"Konfiguration." -#: extensions/sievefilters/lib.py:78 +#: extensions/sievefilters/lib.py:82 msgid "Not enough space on server" msgstr "Kein weiterer Platz auf Server verfügbar" -#: extensions/sievefilters/main.py:15 -msgid "Address of your MANAGESIEVE server" -msgstr "Adresse Ihres MANAGESIEVE-Servers" - -#: extensions/sievefilters/main.py:17 -msgid "Listening port of your MANAGESIEVE server" -msgstr "TCP-Port auf Ihr MANAGESIEVE-Server lauscht" - -#: extensions/sievefilters/main.py:19 -msgid "Use the STARTTLS extension" -msgstr "STARTTLS benutzen" - -#: extensions/sievefilters/main.py:26 -msgid "Prefered authentication mechanism" -msgstr "Bevorzugte Authentifizierungsmethode" - -#: extensions/sievefilters/main.py:30 -msgid "Editor mode" -msgstr "Editor-Modus" - -#: extensions/sievefilters/main.py:32 -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/main.py:42 -msgid "Plugin to easily create server-side filters" -msgstr "Plugin, um auf einfache Weise server-seitige Filter zu erstellen" - -#: extensions/sievefilters/main.py:57 -#: extensions/sievefilters/templates/sievefilters/index.html:17 -msgid "Message filters" -msgstr "Nachrichten-Filter" - -#: extensions/sievefilters/views.py:70 +#: extensions/sievefilters/views.py:64 msgid "Failed to retrieve filters set" msgstr "Konnte Filter-Satz nicht laden" -#: extensions/sievefilters/views.py:114 -#: extensions/sievefilters/templatetags/sfilters_tags.py:34 +#: extensions/sievefilters/views.py:117 +#: extensions/sievefilters/templatetags/sfilters_tags.py:33 msgid "New filter" msgstr "Neuer Filter" -#: extensions/sievefilters/views.py:117 +#: extensions/sievefilters/views.py:124 msgid "Filter created" msgstr "Filter erstellt" -#: extensions/sievefilters/views.py:128 -#: extensions/sievefilters/templatetags/sfilters_tags.py:72 +#: extensions/sievefilters/views.py:136 +#: extensions/sievefilters/templatetags/sfilters_tags.py:77 msgid "Edit filter" msgstr "Filter bearbeiten" -#: extensions/sievefilters/views.py:133 +#: extensions/sievefilters/views.py:145 msgid "Filter modified" msgstr "Filter verändert" -#: extensions/sievefilters/views.py:153 +#: extensions/sievefilters/views.py:165 msgid "Filter removed" msgstr "Filter entfernt" -#: extensions/sievefilters/views.py:154 +#: extensions/sievefilters/views.py:166 msgid "Failed to remove filter" msgstr "Konnte Filter nicht entfernen" -#: extensions/sievefilters/views.py:168 +#: extensions/sievefilters/views.py:180 msgid "Filters set saved" msgstr "Filter-Satz gespeichert" -#: extensions/sievefilters/views.py:173 +#: extensions/sievefilters/views.py:185 msgid "Create a new filters set" msgstr "Neuen Filter-Satz erstellen" -#: extensions/sievefilters/views.py:193 +#: extensions/sievefilters/views.py:207 msgid "Filters set created" msgstr "Filter erstellt" -#: extensions/sievefilters/views.py:210 +#: extensions/sievefilters/views.py:226 msgid "Filters set deleted" msgstr "Filter entfernt" -#: extensions/sievefilters/views.py:221 +#: extensions/sievefilters/views.py:238 msgid "Filters set activated" msgstr "Filter-Satz aktiviert" -#: extensions/sievefilters/templates/sievefilters/filter.html:72 +#: extensions/sievefilters/templates/sievefilters/filter.html:6 msgid "Conditions" msgstr "Bedingungen" -#: extensions/sievefilters/templates/sievefilters/filter.html:75 -msgid "Match type" -msgstr "Übereinstimmung" - -#: extensions/sievefilters/templates/sievefilters/filter.html:92 -#: templates/admin/parameters.html:14 -#: templates/userprefs/preferences.html:18 -msgid "Save" -msgstr "Speichern" - -#: extensions/sievefilters/templates/sievefilters/filters.html:2 -msgid "Filters" -msgstr "Filter" - -#: extensions/sievefilters/templates/sievefilters/filters.html:9 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:7 msgid "Active" msgstr "Aktiv" -#: extensions/sievefilters/templates/sievefilters/filters.html:26 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:24 msgid "No filter defined yet" msgstr "Noch keine Filter definiert" -#: extensions/sievefilters/templates/sievefilters/index.html:20 -msgid "Filters sets" +#: extensions/sievefilters/templates/sievefilters/index.html:55 +#, fuzzy +msgid "Filter sets" msgstr "Filter-Sätze" -#: extensions/sievefilters/templates/sievefilters/index.html:23 +#: extensions/sievefilters/templates/sievefilters/index.html:59 msgid "active" msgstr "aktiv" -#: extensions/sievefilters/templates/sievefilters/index.html:38 -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/templates/sievefilters/index.html:73 +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:17 +#: extensions/sievefilters/templatetags/sfilters_tags.py:16 msgid "New filters set" msgstr "Neuer Filter-Satz" @@ -1126,116 +1185,131 @@ msgstr "Neuer Filter-Satz" msgid "Save filters set" msgstr "Filter-Satz speichern" -#: extensions/sievefilters/templatetags/sfilters_tags.py:51 +#: extensions/sievefilters/templatetags/sfilters_tags.py:52 msgid "Activate filters set" msgstr "Filter-Satz aktivieren" -#: extensions/sievefilters/templatetags/sfilters_tags.py:55 +#: extensions/sievefilters/templatetags/sfilters_tags.py:57 msgid "Remove filters set" msgstr "Filter-Satz entfernen" -#: extensions/sievefilters/templatetags/sfilters_tags.py:59 +#: extensions/sievefilters/templatetags/sfilters_tags.py:62 msgid "Download" msgstr "Herunterladen" -#: extensions/sievefilters/templatetags/sfilters_tags.py:78 +#: extensions/sievefilters/templatetags/sfilters_tags.py:85 msgid "Remove this filter" msgstr "Filter entfernen" -#: extensions/sievefilters/templatetags/sfilters_tags.py:85 +#: extensions/sievefilters/templatetags/sfilters_tags.py:93 msgid "Move this filter up" msgstr "Filter nach oben verschieben" -#: extensions/sievefilters/templatetags/sfilters_tags.py:92 +#: extensions/sievefilters/templatetags/sfilters_tags.py:101 msgid "Move this filter down" msgstr "Filter nach unten verschieben" -#: extensions/stats/grapher.py:18 -msgid "sent messages" -msgstr "Gesendete Nachrichten" - -#: extensions/stats/grapher.py:20 -msgid "received messages" -msgstr "Empfangene Nachrichten" - -#: extensions/stats/grapher.py:28 -msgid "msgs/min" -msgstr "E-Mails/min" - -#: extensions/stats/grapher.py:32 -msgid "bounced messages" -msgstr "Zurückgeworfene Nachrichten" - -#: extensions/stats/grapher.py:34 -msgid "rejected messages" -msgstr "Abgewiesene Nachrichten" - -#: extensions/stats/grapher.py:42 -msgid "bytes/min" -msgstr "Bytes/min" - -#: extensions/stats/grapher.py:46 -msgid "received size" -msgstr "Empfangsgrösse" - -#: extensions/stats/grapher.py:48 -msgid "sent size" -msgstr "Versendegrösse" - -#: extensions/stats/main.py:20 +#: extensions/stats/__init__.py:20 msgid "Graphical statistics about emails traffic using RRDtool" msgstr "Grafische E-Mail-Statistik (setzt RRDtool ein)" -#: extensions/stats/main.py:28 +#: extensions/stats/__init__.py:27 msgid "Path to log file used to collect statistics" msgstr "Pfad zur Log-Datei, um Statistiken zu sammeln" -#: extensions/stats/main.py:31 +#: extensions/stats/__init__.py:30 msgid "Path to directory where RRD files are stored" msgstr "Pfad zum Verzeichnis in dem die RRD-Dateien abgelegt werden" -#: extensions/stats/main.py:34 +#: extensions/stats/__init__.py:33 msgid "Path to directory where PNG files are stored" msgstr "Pfad zu dem Verzeichnis in dem PNG-Dateien abgelegt werden" -#: extensions/stats/main.py:47 -#: extensions/stats/templates/stats/index.html:84 +#: extensions/stats/__init__.py:36 +msgid "Graphics location (to build URLs)" +msgstr "" + +#: extensions/stats/__init__.py:47 msgid "Statistics" msgstr "Statistiken" -#: extensions/stats/views.py:15 +#: extensions/stats/grapher.py:17 +msgid "sent messages" +msgstr "Gesendete Nachrichten" + +#: extensions/stats/grapher.py:19 +msgid "received messages" +msgstr "Empfangene Nachrichten" + +#: extensions/stats/grapher.py:27 +msgid "msgs/min" +msgstr "E-Mails/min" + +#: extensions/stats/grapher.py:31 +msgid "bounced messages" +msgstr "Zurückgeworfene Nachrichten" + +#: extensions/stats/grapher.py:33 +msgid "rejected messages" +msgstr "Abgewiesene Nachrichten" + +#: extensions/stats/grapher.py:41 +msgid "bytes/min" +msgstr "Bytes/min" + +#: extensions/stats/grapher.py:45 +msgid "received size" +msgstr "Empfangsgrösse" + +#: extensions/stats/grapher.py:47 +msgid "sent size" +msgstr "Versendegrösse" + +#: extensions/stats/views.py:11 msgid "Average normal traffic" msgstr "Durchschnittlicher normaler Datenverkehr" -#: extensions/stats/views.py:16 +#: extensions/stats/views.py:12 msgid "Average bad traffic" msgstr "Durchschnittlicher schlechter Datenverkehr" -#: extensions/stats/views.py:17 +#: extensions/stats/views.py:13 msgid "Average normal traffic size" msgstr "Durchschnittliche Grösse normaler Datenverkehr" -#: extensions/stats/views.py:18 +#: extensions/stats/views.py:14 msgid "Day" msgstr "Tag" -#: extensions/stats/views.py:19 +#: extensions/stats/views.py:15 msgid "Week" msgstr "Woche" -#: extensions/stats/views.py:20 +#: extensions/stats/views.py:16 msgid "Month" msgstr "Monat" -#: extensions/stats/views.py:21 +#: extensions/stats/views.py:17 msgid "Year" msgstr "Jahr" -#: extensions/stats/views.py:22 +#: extensions/stats/views.py:18 msgid "Custom" msgstr "Individuell" -#: extensions/stats/views.py:60 +#: extensions/stats/views.py:30 extensions/stats/templates/stats/graphs.html:8 +msgid "No statistics available" +msgstr "Keine Statistik-Daten verfügbar" + +#: extensions/stats/views.py:52 +msgid "you're not allowed to see those statistics" +msgstr "" + +#: extensions/stats/views.py:58 +msgid "Domain not found. Please enter a full name" +msgstr "" + +#: extensions/stats/views.py:65 msgid "Bad custom period" msgstr "Ungültiger individueller Zeitraum" @@ -1244,409 +1318,458 @@ msgid "Custom period : from" msgstr "Individueller Zeitraum : von" #: extensions/stats/templates/stats/graphs.html:3 -#: templates/admin/listing.html:12 -#: templates/common/navbar.html:2 msgid "to" msgstr "bis" -#: extensions/stats/templates/stats/graphs.html:8 -msgid "No statistics available" -msgstr "Keine Statistik-Daten verfügbar" +#: extensions/stats/templates/stats/index.html:2 +#, fuzzy +msgid "Graphical statistics" +msgstr "Statistiken" -#: extensions/stats/templates/stats/index.html:89 -msgid "Domain:" -msgstr "Domäne:" +#: extensions/stats/templates/stats/index.html:20 +#, fuzzy +msgid "Search a domain" +msgstr "Wählen Sie eine Domäne" -#: extensions/stats/templates/stats/index.html:91 -msgid "Global" -msgstr "Global" +#: extensions/stats/templates/stats/index.html:29 +msgid "Apply" +msgstr "Antworten" -#: extensions/stats/templates/stats/index.html:99 -msgid "Period:" -msgstr "Zeitraum:" - -#: extensions/stats/templates/stats/index.html:107 -msgid "Start" -msgstr "Start" - -#: extensions/stats/templates/stats/index.html:109 -msgid "End" -msgstr "Aktiviert" - -#: extensions/webmail/lib.py:33 -msgid "Server response" -msgstr "Server-Antwort" - -#: extensions/webmail/lib.py:145 -msgid "Connection to IMAP server failed, check your configuration" -msgstr "Verbindung zu IMAP-Server fehlgeschlagen. Überprüfen Sie Ihre Konfiguration" - -#: extensions/webmail/lib.py:149 -msgid "Authentication failed, check your configuration" -msgstr "Authentifizierung fehlgeschlagen. Überprüfen Sie Ihre Konfiguration" - -#: extensions/webmail/lib.py:472 -msgid "wrote:" -msgstr "schrieb:" - -#: extensions/webmail/lib.py:539 -#: extensions/webmail/lib.py:543 -msgid "Original message" -msgstr "Gesendete Nachrichten" - -#: extensions/webmail/main.py:14 +#: extensions/webmail/__init__.py:12 msgid "Address of your IMAP server" msgstr "Addresse Ihres IMAP-Servers" -#: extensions/webmail/main.py:17 +#: extensions/webmail/__init__.py:15 msgid "Use a secured connection to access IMAP server" msgstr "Gesicherte Verbindung für Zugriff auf IMAP-Server verwenden" -#: extensions/webmail/main.py:19 +#: extensions/webmail/__init__.py:17 msgid "Listening port of your IMAP server" msgstr "Port auf dem der IMAP-Server lauscht" -#: extensions/webmail/main.py:22 +#: extensions/webmail/__init__.py:20 msgid "Address of your SMTP server" msgstr "Addresse Ihres SMTP-Servers" -#: extensions/webmail/main.py:24 +#: extensions/webmail/__init__.py:22 msgid "None" msgstr "Kein" -#: extensions/webmail/main.py:28 +#: extensions/webmail/__init__.py:26 msgid "Use a secured connection to access SMTP server" msgstr "Gesicherte Verbindung für Zugriff auf SMTP-Server verwenden" -#: extensions/webmail/main.py:30 +#: extensions/webmail/__init__.py:28 msgid "Listening port of your SMTP server" msgstr "Port auf dem der SMTP-Server lauscht" -#: extensions/webmail/main.py:33 +#: extensions/webmail/__init__.py:31 msgid "Server needs authentication" msgstr "Server erfordert Authentifizierung" -#: extensions/webmail/main.py:35 +#: extensions/webmail/__init__.py:33 msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)" msgstr "Maximale Größe Anhang in Bytes (oder KB, MB, GB wenn angegeben)" -#: extensions/webmail/main.py:39 +#: extensions/webmail/__init__.py:36 msgid "Number of displayed emails per page" msgstr "Anzahl dargestellter Nachrichten pro Seite" -#: extensions/webmail/main.py:42 +#: extensions/webmail/__init__.py:39 msgid "Listing refresh rate" msgstr "Aktualisierungsintervall für Liste" -#: extensions/webmail/main.py:43 +#: extensions/webmail/__init__.py:40 msgid "Automatic folder refresh rate (in seconds)" msgstr "Aktualisierungsintervall für Ordner (in Sekunden)" -#: extensions/webmail/main.py:45 +#: extensions/webmail/__init__.py:42 msgid "Trash folder" msgstr "Papierkorb" -#: extensions/webmail/main.py:46 +#: extensions/webmail/__init__.py:43 msgid "Folder where deleted messages go" msgstr "Ordner für gelöschte Nachrichten" -#: extensions/webmail/main.py:48 +#: extensions/webmail/__init__.py:45 msgid "Sent folder" msgstr "Gesendete Nachrichten" -#: extensions/webmail/main.py:49 +#: extensions/webmail/__init__.py:46 msgid "Folder where copies of sent messages go" msgstr "Ordner für Gesendete Nachrichten" -#: extensions/webmail/main.py:51 +#: extensions/webmail/__init__.py:48 msgid "Drafts folder" msgstr "Entwürfe" -#: extensions/webmail/main.py:52 +#: extensions/webmail/__init__.py:49 msgid "Folder where drafts go" msgstr "Ordner für Entwürfe" -#: extensions/webmail/main.py:54 +#: extensions/webmail/__init__.py:51 msgid "Signature text" msgstr "Signatur" -#: extensions/webmail/main.py:55 +#: extensions/webmail/__init__.py:52 msgid "User defined email signature" msgstr "Benutzerdefinierte E-Mail-Signatur" -#: extensions/webmail/main.py:57 +#: extensions/webmail/__init__.py:54 msgid "Default editor" msgstr "Standard-Editor" -#: extensions/webmail/main.py:59 +#: extensions/webmail/__init__.py:56 msgid "The default editor to use when composing a message" msgstr "Der Standard-Editor zum Erstellen einer Nachricht" -#: extensions/webmail/main.py:61 +#: extensions/webmail/__init__.py:58 msgid "Default message display mode" msgstr "Standard Betrachtungsmodus für Nachrichten" -#: extensions/webmail/main.py:63 +#: extensions/webmail/__init__.py:60 msgid "The default mode used when displaying a message" msgstr "Der Standard Modus zum Betrachten einer Nachricht" -#: extensions/webmail/main.py:65 +#: extensions/webmail/__init__.py:62 msgid "Enable HTML links display" msgstr "Aktiviere Darstellung von HTML-Links" -#: extensions/webmail/main.py:66 +#: extensions/webmail/__init__.py:63 msgid "Enable/Disable HTML links display" msgstr "Aktiviere/Deaktiviere Darstellung von HTML-Links" -#: extensions/webmail/main.py:76 +#: extensions/webmail/__init__.py:73 msgid "Simple IMAP webmail" msgstr "Einfaches IMAP-Webmail" -#: extensions/webmail/main.py:91 -#: extensions/webmail/templates/webmail/index.html:212 +#: extensions/webmail/__init__.py:85 msgid "Webmail" msgstr "Webmail" -#: extensions/webmail/views.py:61 -#: lib/email_listing.py:132 -msgid "This folder contains no messages" -msgstr "Dieser Ordner enthält keine Nachrichten" +#: extensions/webmail/exceptions.py:19 +msgid "Server response" +msgstr "Server-Antwort" -#: extensions/webmail/views.py:369 -msgid "Create a new folder" +#: extensions/webmail/forms.py:8 +#, fuzzy +msgid "Cci" +msgstr "Cc" + +#: extensions/webmail/imaputils.py:251 +#, fuzzy, python-format +msgid "Connection to IMAP server failed: %s" +msgstr "" +"Verbindung zu IMAP-Server fehlgeschlagen. Überprüfen Sie Ihre Konfiguration" + +#: extensions/webmail/lib.py:310 +msgid "wrote:" +msgstr "schrieb:" + +#: extensions/webmail/lib.py:377 extensions/webmail/lib.py:381 +msgid "Original message" +msgstr "Gesendete Nachrichten" + +#: extensions/webmail/lib.py:681 +msgid "Red fields are mandatories" +msgstr "" + +#: extensions/webmail/views.py:85 +#, fuzzy +msgid "Unknown action" +msgstr "Unbekannter Anhang" + +#: extensions/webmail/views.py:98 lib/email_listing.py:158 +#, fuzzy +msgid "Empty mailbox" +msgstr "Mailbox bearbeiten" + +#: extensions/webmail/views.py:115 +#: extensions/webmail/templatetags/webextras.py:166 +#, fuzzy +msgid "Create a new mailbox" msgstr "Neuen Ordner anlegen" -#: extensions/webmail/views.py:381 -msgid "Folder created" -msgstr "Ordner erstellt" +#: extensions/webmail/views.py:130 +msgid "Mailbox created" +msgstr "Mailbox erstellt." -#: extensions/webmail/views.py:396 -msgid "Edit folder" -msgstr "Ordner bearbeiten" +#: extensions/webmail/views.py:146 +msgid "Edit mailbox" +msgstr "Mailbox bearbeiten" -#: extensions/webmail/views.py:417 -msgid "Folder modified" -msgstr "Ordner verändert" +#: extensions/webmail/views.py:161 +#, fuzzy +msgid "Mailbox updated" +msgstr "Mailbox erstellt." -#: extensions/webmail/views.py:465 +#: extensions/webmail/views.py:194 extensions/webmail/views.py:374 +#: extensions/webmail/views.py:483 +#, fuzzy +msgid "Bad request" +msgstr "Fehlerhafte Anfrage" + +#: extensions/webmail/views.py:225 msgid "Failed to save attachment: " msgstr "Konnte Anhang nicht speichern" -#: extensions/webmail/views.py:468 +#: extensions/webmail/views.py:228 #, python-format msgid "Attachment is too big (limit: %s)" msgstr "Anhang ist zu groß (Limit: %s)" -#: extensions/webmail/views.py:483 -msgid "Bad query" -msgstr "Fehlerhafte Anfrage" - -#: extensions/webmail/views.py:493 -msgid "Failed to remove attachment: " -msgstr "Konnte Anhang nicht entfernen:" - -#: extensions/webmail/views.py:498 -msgid "Unknown attachment" -msgstr "Unbekannter Anhang" - -#: extensions/webmail/templates/webmail/attachments.html:86 -#: extensions/webmail/templates/webmail/compose.html:9 -#: extensions/webmail/templates/webmail/headers.html:7 +#: extensions/webmail/views.py:234 +#: extensions/webmail/templates/webmail/compose.html:16 +#: extensions/webmail/templates/webmail/headers.html:4 msgid "Attachments" msgstr "Dateianhänge" -#: extensions/webmail/templates/webmail/attachments.html:93 +#: extensions/webmail/views.py:250 +msgid "Bad query" +msgstr "Fehlerhafte Anfrage" + +#: extensions/webmail/views.py:260 +msgid "Failed to remove attachment: " +msgstr "Konnte Anhang nicht entfernen:" + +#: extensions/webmail/views.py:265 +msgid "Unknown attachment" +msgstr "Unbekannter Anhang" + +#: extensions/webmail/views.py:479 +msgid "Undefined action" +msgstr "" + +#: extensions/webmail/templates/webmail/attachments.html:6 msgid "Attach" msgstr "Anhängen" -#: extensions/webmail/templates/webmail/attachments.html:97 +#: extensions/webmail/templates/webmail/attachments.html:9 msgid "Uploading.." msgstr "Lade hoch …" -#: extensions/webmail/templates/webmail/attachments.html:113 -msgid "Done" -msgstr "Abgeschlossen" +#: extensions/webmail/templates/webmail/compose.html:7 +msgid "Add Cc field" +msgstr "" -#: extensions/webmail/templates/webmail/compose.html:12 +#: extensions/webmail/templates/webmail/compose.html:7 +msgid "Add Cci field" +msgstr "" + +#: extensions/webmail/templates/webmail/compose.html:19 #, python-format msgid "%(counter)s file" msgid_plural "%(counter)s files" msgstr[0] "%(counter)s Datei" msgstr[1] "%(counter)s Dateien" -#: extensions/webmail/templates/webmail/folder.html:37 -msgid "Parent folder" -msgstr "Übergeordneter Ordner" +#: extensions/webmail/templates/webmail/folder.html:6 +#, fuzzy +msgid "Parent mailbox" +msgstr "Neue Mailbox" -#: extensions/webmail/templates/webmail/folders.html:8 -msgid "Add a new folder" -msgstr "Neuen Ordner erstellen" - -#: extensions/webmail/templates/webmail/folders.html:10 -msgid "Folders" -msgstr "Ordner" - -#: extensions/webmail/templates/webmail/index.html:218 +#: extensions/webmail/templates/webmail/index.html:36 msgid "Mailbox quota" msgstr "Mailbox Quota" -#: extensions/webmail/templatetags/webextras.py:19 -#: extensions/webmail/templatetags/webextras.py:61 -msgid "Back" -msgstr "Zurück" - -#: extensions/webmail/templatetags/webextras.py:23 +#: extensions/webmail/templatetags/webextras.py:21 msgid "Reply" msgstr "Antworten" -#: extensions/webmail/templatetags/webextras.py:27 +#: extensions/webmail/templatetags/webextras.py:25 msgid "Reply all" msgstr "Allen Antworten" -#: extensions/webmail/templatetags/webextras.py:31 -#: userprefs/templatetags/uprefs_extras.py:39 +#: extensions/webmail/templatetags/webextras.py:29 +#: userprefs/templatetags/uprefs_extras.py:25 msgid "Forward" msgstr "Weiterleiten" -#: extensions/webmail/templatetags/webextras.py:37 +#: extensions/webmail/templatetags/webextras.py:35 msgid "Display options" msgstr "Optionen darstellen" -#: extensions/webmail/templatetags/webextras.py:45 +#: extensions/webmail/templatetags/webextras.py:38 +msgid "Activate links" +msgstr "Links aktivieren" + +#: extensions/webmail/templatetags/webextras.py:40 msgid "Disable links" msgstr "Links aktivieren" -#: extensions/webmail/templatetags/webextras.py:65 +#: extensions/webmail/templatetags/webextras.py:49 +#, fuzzy +msgid "Close this message" +msgstr "Gesendete Nachrichten" + +#: extensions/webmail/templatetags/webextras.py:62 +msgid "Back" +msgstr "Zurück" + +#: extensions/webmail/templatetags/webextras.py:66 msgid "Send" msgstr "Senden" -#: extensions/webmail/templatetags/webextras.py:77 +#: extensions/webmail/templatetags/webextras.py:78 msgid "New message" msgstr "Neue Nachrichten" -#: extensions/webmail/templatetags/webextras.py:80 +#: extensions/webmail/templatetags/webextras.py:81 msgid "Mark messages" msgstr "Markiere Nachrichten" -#: extensions/webmail/templatetags/webextras.py:84 +#: extensions/webmail/templatetags/webextras.py:85 msgid "As read" msgstr "Als gelesen" -#: extensions/webmail/templatetags/webextras.py:87 +#: extensions/webmail/templatetags/webextras.py:88 msgid "As unread" msgstr "Als ungelesen" -#: extensions/webmail/templatetags/webextras.py:98 +#: extensions/webmail/templatetags/webextras.py:97 msgid "Compress folder" msgstr "Ordner komprimieren" -#: extensions/webmail/templatetags/webextras.py:107 +#: extensions/webmail/templatetags/webextras.py:105 msgid "Empty folder" msgstr "Leerer Ordner" -#: lib/tables.py:201 +#: extensions/webmail/templatetags/webextras.py:174 +#, fuzzy +msgid "Edit the selected mailbox" +msgstr "Mailbox bearbeiten" + +#: extensions/webmail/templatetags/webextras.py:179 +msgid "Remove the selected mailbox" +msgstr "" + +#: lib/exceptions.py:17 +#, fuzzy, python-format +msgid "Permission denied: %s" +msgstr "Erlaubnis verweigert für" + +#: lib/formutils.py:154 lib/formutils.py:161 +#, fuzzy +msgid "Enter a valid domain name" +msgstr "Name der Domäne" + +#: lib/permissions.py:25 +#, fuzzy +msgid "Simple user" +msgstr "Wählen Sie einen Nutzer" + +#: lib/permissions.py:27 +#, fuzzy +msgid "Super administrator" +msgstr "Super-Administratoren" + +#: lib/permissions.py:29 +#, fuzzy +msgid "Domain administrator" +msgstr "Domänen-Administratoren" + +#: lib/permissions.py:61 +#, fuzzy, python-format +msgid "Failed to grant access (%s)" +msgstr "Konnte Kennwort nicht aktualisieren: %s" + +#: lib/tables.py:233 msgid "No entries to display" msgstr "Keine Einträge darzustellen" -#: templates/nlayout.html:50 -msgid "Logout" -msgstr "Logout" +#: templates/admin/editdomainform.html:5 +#, fuzzy +msgid "Administrators" +msgstr "Super-Administratoren" -#: templates/admin/add_permission.html:16 -msgid "Add" -msgstr "Hinzufügen" +#: templates/admin/editdomainform.html:6 +msgid "Miscellaneous" +msgstr "" -#: templates/admin/domains_header.html:13 -msgid "for" -msgstr "Für" +#: templates/admin/editdomainform.html:24 +#, fuzzy +msgid "No domain administrator defined" +msgstr "Domänen-Administrator hinzufügen" -#: templates/admin/extensions.html:11 -msgid "Apply" -msgstr "Antworten" +#: templates/admin/editdomainform.html:27 +#, fuzzy +msgid "Creation date" +msgstr "Erstellen" -#: templates/admin/import.html:62 +#: templates/admin/editdomainform.html:28 +#, fuzzy +msgid "Last modification date" +msgstr "Zuletzt verändert" + +#: templates/admin/extensions.html:7 templates/admin/parameters.html:9 +#: templates/userprefs/preferences.html:37 +msgid "Save" +msgstr "Speichern" + +#: templates/admin/importform.html:5 +msgid "Help" +msgstr "Hilfe" + +#: templates/admin/importform.html:12 msgid "Importing..." msgstr "Importiere …" -#: templates/admin/listing.html:12 -msgid "Items" -msgstr "Einträge" - -#: templates/admin/listing.html:12 -#: templates/common/navbar.html:2 -msgid "of" -msgstr "von" - -#: templates/admin/listing.html:16 -#: templates/common/navbar.html:6 -msgid "First" -msgstr "Erstes" - -#: templates/admin/listing.html:19 -#: templates/common/navbar.html:9 -msgid "Previous" -msgstr "Vorheriges" - -#: templates/admin/listing.html:24 -#: templates/common/navbar.html:14 -msgid "Next" -msgstr "Nächstes" - -#: templates/admin/listing.html:27 -#: templates/common/navbar.html:17 -msgid "Last" -msgstr "Letztes" +#: templates/admin/listing.html:12 templates/admin/searchform.html:4 +#, fuzzy +msgid "Search" +msgstr "Suchen..." #: templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Wert auswählen" -#: templates/common/email_searchbar.html:4 -msgid "Search..." -msgstr "Suchen..." +#: templates/admin/newaccount.html:31 templates/common/generic_modal.html:11 +msgid "Close" +msgstr "" -#: templates/common/email_searchbar.html:6 +#: templates/common/email_searchbar.html:5 msgid "From address" msgstr "From:-Adresse" -#: templates/common/email_searchbar.html:11 +#: templates/common/email_searchbar.html:10 msgid "Both" msgstr "Beide" -#: templates/common/error.html:3 -msgid "Error" +#: templates/common/email_searchbar.html:12 +msgid "Search..." +msgstr "Suchen..." + +#: templates/common/error.html:4 +#, fuzzy +msgid "Error:" msgstr "Fehler" -#: templates/common/navbar.html:2 -msgid "Messages" -msgstr "Nachrichten" +#: templates/common/generic_field.html:4 +#, fuzzy +msgid "Help:" +msgstr "Hilfe" #: templates/common/parameters.html:15 msgid "No parameters available" msgstr "Keine Parameter verfügbar" -#: templates/registration/login.html:8 +#: templates/registration/login.html:5 msgid "Welcome to Modoboa" msgstr "Willkommen zu Modoboa" -#: templates/registration/login.html:28 -msgid "Welcome" -msgstr "Willkommen" +#: templates/registration/login.html:35 +msgid "Remember me" +msgstr "" -#: templates/userprefs/chpassword.html:7 -#: userprefs/templatetags/uprefs_extras.py:23 -msgid "Change password" -msgstr "Passwort ändern" +#: templates/registration/login.html:37 +msgid "Log in" +msgstr "" -#: templates/userprefs/preferences.html:6 -#: userprefs/templatetags/uprefs_extras.py:28 -msgid "Preferences" +#: templates/userprefs/preferences.html:2 +#: userprefs/templatetags/uprefs_extras.py:53 +msgid "Settings" msgstr "Einstellungen" -#: templates/userprefs/setforward.html:7 -msgid "Define your forward" -msgstr "Weiterleitung definieren" - #: userprefs/__init__.py:7 msgid "Prefered language" msgstr "Bevorzugte Sprache" @@ -1655,39 +1778,327 @@ msgstr "Bevorzugte Sprache" msgid "Prefered language to display pages" msgstr "Bevorzugte Sprache für Seitendarstellung" -#: userprefs/forms.py:13 +#: userprefs/forms.py:11 msgid "Old password" msgstr "Altes Passwort" -#: userprefs/forms.py:15 +#: userprefs/forms.py:13 msgid "New password" msgstr "Neues Passwort" -#: userprefs/forms.py:34 +#: userprefs/forms.py:27 msgid "Old password mismatchs" msgstr "Altes Passwort stimmt nicht überein" -#: userprefs/forms.py:43 +#: userprefs/forms.py:32 +msgid "Passwords mismatch" +msgstr "Passwörter stimmen nicht überein" + +#: userprefs/forms.py:36 msgid "Destination(s)" msgstr "Ziel(e)" -#: userprefs/forms.py:44 +#: userprefs/forms.py:37 msgid "Keep local copies" msgstr "Lokale Kopien behalten" -#: userprefs/forms.py:57 -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/forms.py:50 +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:27 +#: userprefs/views.py:26 msgid "Password change is disabled for this user" msgstr "Passwort-Änderung ist für diesen Anwender deaktiviert" -#: userprefs/views.py:46 +#: userprefs/views.py:31 userprefs/templatetags/uprefs_extras.py:48 +msgid "Change password" +msgstr "Passwort ändern" + +#: userprefs/views.py:51 msgid "Password changed" msgstr "Passwort geändert" -#: userprefs/views.py:79 +#: userprefs/views.py:63 +#, fuzzy +msgid "Define a forward" +msgstr "Weiterleitung definieren" + +#: userprefs/views.py:89 msgid "Forward updated" msgstr "Weiterleitung aktualisiert" +#: userprefs/views.py:142 +#, fuzzy +msgid "Preferences saved" +msgstr "Einstellungen" + +#: userprefs/templatetags/uprefs_extras.py:17 +msgid "Preferences" +msgstr "Einstellungen" + +#: userprefs/templatetags/uprefs_extras.py:61 +msgid "Logout" +msgstr "Logout" + +#, fuzzy +#~ msgid "Domain administrators" +#~ msgstr "Domänen-Administratoren" + +#, fuzzy +#~ msgid "Max domain admins" +#~ msgstr "Domänen-Administrator hinzufügen" + +#, fuzzy +#~ msgid "Max domains" +#~ msgstr "Neue Domäne" + +#, fuzzy +#~ msgid "Max domain aliases" +#~ msgstr "Domänen-Aliase" + +#, fuzzy +#~ msgid "Max mailboxes" +#~ msgstr "Mailboxen" + +#, fuzzy +#~ msgid "Max mailbox aliases" +#~ msgstr "Mailboxen-Aliase" + +#~ msgid "/var/amavis/amavisd.sock" +#~ msgstr "/var/amavis/amavisd.sock" + +#~ msgid "Messages" +#~ msgstr "Nachrichten" + +#~ msgid "of" +#~ msgstr "von" + +#~ msgid "First" +#~ msgstr "Erstes" + +#~ msgid "Last" +#~ msgstr "Letztes" + +#~ msgid "Mailbox quota in MB (default to domain quota if blank)" +#~ msgstr "Mailbox-Quota in MB (standardmäßig Domain-Quota wenn leer)" + +#~ msgid "Password used to log in" +#~ msgstr "Login-Passwort" + +#~ msgid "Password confirmation" +#~ msgstr "Passwort Bestätigung" + +#~ msgid "Check to activate this mailbox" +#~ msgstr "Markieren, um die Mailbox zu aktivieren" + +#~ msgid "Target(s)" +#~ msgstr "Ziel(e)" + +#~ msgid "Access denied for" +#~ msgstr "Zugriff verweigert für" + +#~ msgid "User" +#~ msgstr "Nutzer" + +#~ msgid "Select a user in the list" +#~ msgstr "Wählen Sie einen Nutzer aus der Liste" + +#~ msgid "Domain" +#~ msgstr "Domäne" + +#~ msgid "Select a domain in the list" +#~ msgstr "Wählen Sie eine Domäne aus der Liste" + +#~ msgid "Empty" +#~ msgstr "Leer" + +#~ msgid "Invalid action, %(user)s is a local user" +#~ msgstr "Unzulässige Aktion, %(user)s ist ein lokaler Benutzer" + +#~ msgid "First name and last name of mailbox owner" +#~ msgstr "Vor- und Nachname des Mailbox-Besitzers" + +#~ msgid "password" +#~ msgstr "Passwort" + +#~ msgid "Add super administrator" +#~ msgstr "Super-Administrator hinzufügen" + +#~ msgid "Created" +#~ msgstr "Erstellt" + +#~ msgid "Targeted domain" +#~ msgstr "Ziel-Domäne" + +#~ msgid "Address" +#~ msgstr "Adresse" + +#~ msgid "User name" +#~ msgstr "Benutzername" + +#~ msgid "Full name" +#~ msgstr "Voller Name" + +#~ msgid "Do not delete domain directory" +#~ msgstr "Domänen-Verzeichnis nicht löschen" + +#~ msgid "Available domains" +#~ msgstr "Verfügbare Domänen" + +#~ msgid "Domain with this name already defined" +#~ msgstr "Es existiert bereits eine Domain mit diesem Namen" + +#~ msgid "Domain editing" +#~ msgstr "Domäne Bearbeitung" + +#~ msgid "New domain alias" +#~ msgstr "Neuer Domänen-Alias" + +#~ msgid "Domain alias editing" +#~ msgstr "Domänen-Alias Bearbeitung" + +#~ msgid "Domain alias updated" +#~ msgstr "Domänen-Alias aktualisiert" + +#~ msgid "Available mailboxes" +#~ msgstr "Verfügbare Mailboxen" + +#~ msgid "Do not delete mailbox directory" +#~ msgstr "Löschen Sie nicht das Mailbox-Verzeichnis" + +#~ msgid "Mailbox editing" +#~ msgstr "Mailboxen Bearbeitung" + +#~ msgid "Mailbox modified" +#~ msgstr "Mailbox verändert" + +#~ msgid "You can't delete your own mailbox" +#~ msgstr "Sie können Ihre eigene Mailbox nicht löschen" + +#~ msgid "Mailbox deleted" +#~ msgid_plural "Mailboxes deleted" +#~ msgstr[0] "Mailbox gelöscht" +#~ msgstr[1] "Mailboxen gelöscht" + +#~ msgid "New mailbox alias" +#~ msgstr "Neuer Mailbox-Alias" + +#~ msgid "Mailbox alias created" +#~ msgstr "Mailbox-Alias erstellt." + +#~ msgid "Mailbox alias editing" +#~ msgstr "Mailbox-Alias Bearbeitung" + +#~ msgid "Alias deleted" +#~ msgid_plural "Aliases deleted" +#~ msgstr[0] "Alias gelöscht" +#~ msgstr[1] "Aliase gelöscht" + +#~ msgid "Permission added." +#~ msgstr "Berechtigung hinzugefügt." + +#~ msgid "Permissions removed" +#~ msgstr "Berechtigungen entfernt" + +#~ msgid "Admin" +#~ msgstr "Admin" + +#~ msgid "New" +#~ msgstr "Neu" + +#~ msgid "Remove" +#~ msgstr "Entfernen" + +#~ msgid "Add permission" +#~ msgstr "Berechtigung hinzufügen" + +#~ msgid "Edit alias" +#~ msgstr "Alias bearbeiten" + +#~ msgid "View this mailbox aliases" +#~ msgstr "Aliase dieser Mailbox ansehen" + +#~ msgid "Edit mailbox alias" +#~ msgstr "Mailbox-Alias bearbeiten" + +#~ msgid "Password used to authenticate" +#~ msgstr "Login-Passwort" + +#~ msgid "View as plain text" +#~ msgstr "In Text-Format betrachten" + +#~ msgid "View as HTML" +#~ msgstr "In HTML-Format betrachten" + +#~ msgid "Back to list" +#~ msgstr "Zurück zur Liste" + +#~ msgid "Options" +#~ msgstr "Optionen" + +#~ msgid "Select" +#~ msgstr "Auswählen" + +#~ msgid "Match type" +#~ msgstr "Übereinstimmung" + +#~ msgid "Filters" +#~ msgstr "Filter" + +#~ msgid "Domain:" +#~ msgstr "Domäne:" + +#~ msgid "Global" +#~ msgstr "Global" + +#~ msgid "Period:" +#~ msgstr "Zeitraum:" + +#~ msgid "Start" +#~ msgstr "Start" + +#~ msgid "End" +#~ msgstr "Aktiviert" + +#~ msgid "Authentication failed, check your configuration" +#~ msgstr "Authentifizierung fehlgeschlagen. Überprüfen Sie Ihre Konfiguration" + +#~ msgid "This folder contains no messages" +#~ msgstr "Dieser Ordner enthält keine Nachrichten" + +#~ msgid "Folder created" +#~ msgstr "Ordner erstellt" + +#~ msgid "Edit folder" +#~ msgstr "Ordner bearbeiten" + +#~ msgid "Folder modified" +#~ msgstr "Ordner verändert" + +#~ msgid "Done" +#~ msgstr "Abgeschlossen" + +#~ msgid "Parent folder" +#~ msgstr "Übergeordneter Ordner" + +#~ msgid "Add a new folder" +#~ msgstr "Neuen Ordner erstellen" + +#~ msgid "Folders" +#~ msgstr "Ordner" + +#~ msgid "Add" +#~ msgstr "Hinzufügen" + +#~ msgid "for" +#~ msgstr "Für" + +#~ msgid "Items" +#~ msgstr "Einträge" + +#~ msgid "Welcome" +#~ msgstr "Willkommen" diff --git a/locale/de/LC_MESSAGES/djangojs.po b/locale/de/LC_MESSAGES/djangojs.po index 4f29f3bcd..62ac5a934 100644 --- a/locale/de/LC_MESSAGES/djangojs.po +++ b/locale/de/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa-0.8.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-10 11:09+0100\n" +"POT-Creation-Date: 2012-04-25 14:47+0200\n" "PO-Revision-Date: 2012-01-10 22:49+0100\n" "Last-Translator: Patrick Ben Koetter \n" "Language-Team: DE \n" @@ -17,31 +17,41 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: extensions/amavis_quarantine/static/js/quarantine.js:41 -msgid "Delete this message?" -msgstr "Diese Nachricht löschen?" - -#: extensions/amavis_quarantine/static/js/quarantine.js:49 -msgid "Release this message?" -msgstr "Diese Nachricht freilassen?" - -#: extensions/amavis_quarantine/static/js/quarantine.js:107 +#: extensions/amavis_quarantine/static/js/quarantine.js:126 msgid "Release this selection?" msgstr "Diese Auswahl freilassen?" -#: extensions/amavis_quarantine/static/js/quarantine.js:114 +#: extensions/amavis_quarantine/static/js/quarantine.js:130 msgid "Delete this selection?" msgstr "Diese Auswahl löschen?" +#: extensions/amavis_quarantine/static/js/quarantine.js:148 +#: extensions/amavis_quarantine/static/js/selfservice.js:22 +msgid "Release this message?" +msgstr "Diese Nachricht freilassen?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:152 +#: extensions/amavis_quarantine/static/js/selfservice.js:26 +msgid "Delete this message?" +msgstr "Diese Nachricht löschen?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:169 +msgid "View full headers" +msgstr "" + +#: extensions/amavis_quarantine/static/js/quarantine.js:174 +msgid "Hide full headers" +msgstr "" + #: extensions/sievefilters/static/js/lib.js:14 msgid "Remove this filter?" msgstr "Diesen Filter entfernen?" -#: extensions/sievefilters/static/js/lib.js:116 +#: extensions/sievefilters/static/js/lib.js:117 msgid "Save changes?" msgstr "Änderungen speichern?" -#: extensions/sievefilters/static/js/lib.js:143 +#: extensions/sievefilters/static/js/lib.js:144 msgid "Remove filters set?" msgstr "Diesen Filter entfernen?" @@ -50,52 +60,63 @@ msgid "Activate this filters set?" msgstr "Diesen Filter aktivieren?" #: extensions/sievefilters/static/js/lib.js:169 +#: extensions/sievefilters/static/js/lib.js:224 msgid "active" msgstr "aktiv" -#: extensions/webmail/static/js/fdmenu.js:31 -msgid "Edit folder" -msgstr "Ordner bearbeiten" +#: extensions/stats/static/js/stats.js:28 +msgid "Search a domain" +msgstr "" -#: extensions/webmail/static/js/fdmenu.js:63 -msgid "Folder deleted" -msgstr "Ordner gelöscht" +#: extensions/webmail/static/js/webmail.js:499 +#, fuzzy +msgid "Remove the selected mailbox?" +msgstr "Diese Auswahl entfernen?" -#: extensions/webmail/static/js/webmail.js:95 -msgid "Sending..." -msgstr "Sende …" +#: extensions/webmail/static/js/webmail.js:513 +msgid "Mailbox removed" +msgstr "" -#: extensions/webmail/static/js/webmail.js:229 -#: extensions/webmail/static/js/webmail.js:254 -#: static/js/anchor_nav.js:215 -msgid "Done" -msgstr "Abgeschlossen" +#: static/js/admin.js:17 +msgid "No domain administrator defined" +msgstr "" -#: extensions/webmail/static/js/webmail.js:243 -msgid "Waiting..." -msgstr "Warte..." +#: static/js/confirmation.js:45 +msgid "Cancel" +msgstr "" -#: static/js/anchor_nav.js:10 +#: static/js/confirmation.js:84 static/js/history.js:229 +msgid "Internal Error" +msgstr "" + +#: static/js/history.js:10 msgid "Loading..." msgstr "Lade..." -#: static/js/common.js:17 -msgid "Message sent" -msgstr "Nachrichten gesendet" - -#: static/js/common.js:188 +#: static/js/searchbar.js:20 msgid "Search..." msgstr "Suchen..." -#: static/js/domains.js:61 -msgid "Remove this selection?" -msgstr "Diese Auswahl entfernen?" +#~ msgid "Edit folder" +#~ msgstr "Ordner bearbeiten" -#: static/js/preferences.js:14 -msgid "Preferences saved" -msgstr "Einstellungen gespeichert" +#~ msgid "Folder deleted" +#~ msgstr "Ordner gelöscht" -#: static/js/settings.js:14 -msgid "Parameters saved" -msgstr "Parameter gespeichert" +#~ msgid "Sending..." +#~ msgstr "Sende …" +#~ msgid "Done" +#~ msgstr "Abgeschlossen" + +#~ msgid "Waiting..." +#~ msgstr "Warte..." + +#~ msgid "Message sent" +#~ msgstr "Nachrichten gesendet" + +#~ msgid "Preferences saved" +#~ msgstr "Einstellungen gespeichert" + +#~ msgid "Parameters saved" +#~ msgstr "Parameter gespeichert" diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index c55ec5fea..d91dcf834 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/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: 2012-01-17 13:45+0100\n" +"POT-Creation-Date: 2012-04-25 16:41+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,497 +55,498 @@ msgid "" "maildir format" msgstr "" -#: admin/__init__.py:27 +#: admin/__init__.py:28 msgid "Scheme used to crypt mailbox passwords" msgstr "" -#: admin/__init__.py:29 +#: admin/__init__.py:31 msgid "Number of displayed items per page" msgstr "" -#: admin/__init__.py:52 +#: admin/__init__.py:54 msgid "The default redirection used when no application is specified" msgstr "" -#: admin/forms.py:27 +#: admin/forms.py:15 admin/forms.py:298 +msgid "Alias(es)" +msgstr "" + +#: admin/forms.py:17 +msgid "Alias(es) of this domain" +msgstr "" + +#: admin/forms.py:51 admin/views.py:58 +msgid "An alias with this name already exists" +msgstr "" + +#: admin/forms.py:66 +msgid "A domain with this name already exists" +msgstr "" + +#: admin/forms.py:76 msgid "Failed to rename domain, check permissions" msgstr "" -#: admin/forms.py:51 admin/tables.py:20 admin/tables.py:78 -msgid "Quota" +#: admin/forms.py:105 +msgid "Email address" msgstr "" -#: admin/forms.py:52 -msgid "Mailbox quota in MB (default to domain quota if blank)" +#: admin/forms.py:106 +msgid "The distribution list address" msgstr "" -#: admin/forms.py:53 auth/forms.py:6 -msgid "Password" +#: admin/forms.py:109 +msgid "Recipients" msgstr "" -#: admin/forms.py:55 -msgid "Password used to log in" -msgstr "" - -#: admin/forms.py:56 userprefs/forms.py:17 -msgid "Confirmation" -msgstr "" - -#: admin/forms.py:58 -msgid "Password confirmation" -msgstr "" - -#: admin/forms.py:61 -msgid "Check to activate this mailbox" -msgstr "" - -#: admin/forms.py:88 userprefs/forms.py:39 -msgid "Passwords mismatch" -msgstr "" - -#: admin/forms.py:103 admin/tables.py:103 -msgid "Target(s)" -msgstr "" - -#: admin/forms.py:104 +#: admin/forms.py:110 msgid "Mailbox(es) this alias will point to" msgstr "" -#: admin/forms.py:152 +#: admin/forms.py:143 admin/forms.py:329 admin/models.py:756 +msgid "Domain does not exist" +msgstr "" + +#: admin/forms.py:163 msgid "Invalid mailbox" msgstr "" -#: admin/forms.py:159 -msgid "Access denied for" +#: admin/forms.py:174 admin/models.py:776 +#, python-format +msgid "Mailbox %s does not exist" msgstr "" -#: admin/forms.py:168 -msgid "Permission denied on" +#: admin/forms.py:183 +msgid "No recipient defined" msgstr "" -#: admin/forms.py:183 admin/forms.py:199 -msgid "User" +#: admin/forms.py:186 +msgid "A distribution list must contain at least two recipients" msgstr "" -#: admin/forms.py:184 -msgid "Select a user" -msgstr "" - -#: admin/forms.py:185 admin/forms.py:201 -msgid "Select a user in the list" -msgstr "" - -#: admin/forms.py:194 admin/tables.py:146 -msgid "Domain" -msgstr "" - -#: admin/forms.py:196 -msgid "Select a domain" -msgstr "" - -#: admin/forms.py:197 -msgid "Select a domain in the list" -msgstr "" - -#: admin/forms.py:200 -msgid "Empty" -msgstr "" - -#: admin/forms.py:204 extensions/webmail/forms.py:14 +#: admin/forms.py:199 extensions/webmail/forms.py:18 msgid "Select a file" msgstr "" -#: admin/forms.py:205 +#: admin/forms.py:200 msgid "Separator" msgstr "" -#: admin/lib.py:13 -#, python-format -msgid "Invalid action, %(user)s is a local user" +#: admin/forms.py:212 auth/forms.py:6 templates/admin/editdomainform.html:20 +msgid "Username" msgstr "" -#: admin/models.py:83 admin/models.py:147 admin/models.py:160 -msgid "name" +#: admin/forms.py:214 admin/forms.py:232 +msgid "Choose" msgstr "" -#: admin/models.py:84 -msgid "The domain name" +#: admin/forms.py:215 +msgid "What level of permission this user will have" msgstr "" -#: admin/models.py:85 -msgid "Default quota in MB applied to mailboxes" +#: admin/forms.py:225 +msgid "Enabled" msgstr "" -#: admin/models.py:86 admin/models.py:151 admin/models.py:400 -#: admin/models.py:476 extensions/postfix_autoreply/models.py:19 -msgid "enabled" +#: admin/forms.py:264 auth/forms.py:10 +msgid "Password" msgstr "" -#: admin/models.py:87 -msgid "Check to activate this domain" +#: admin/forms.py:266 userprefs/forms.py:15 +msgid "Confirmation" msgstr "" -#: admin/models.py:140 -msgid "Failed to initialise domain, check permissions" +#: admin/forms.py:268 +msgid "Enter the same password as above, for verification." msgstr "" -#: admin/models.py:148 -msgid "The alias name" +#: admin/forms.py:280 +msgid "The two password fields didn't match." msgstr "" -#: admin/models.py:149 -msgid "target" +#: admin/forms.py:295 +msgid "E-mail" msgstr "" -#: admin/models.py:150 -msgid "The domain this alias points to" +#: admin/forms.py:296 admin/tables.py:21 +msgid "Quota" msgstr "" -#: admin/models.py:152 admin/models.py:401 -msgid "Check to activate this alias" +#: admin/forms.py:300 +msgid "Alias(es) of this mailbox" msgstr "" -#: admin/models.py:161 -msgid "First name and last name of mailbox owner" +#: admin/forms.py:332 admin/models.py:75 admin/models.py:665 +#: admin/views.py:359 extensions/stats/views.py:60 +msgid "You don't have access to this domain" msgstr "" -#: admin/models.py:162 admin/models.py:394 -msgid "address" +#: admin/forms.py:350 +msgid "Failed to rename mailbox, check permissions" msgstr "" -#: admin/models.py:163 -msgid "Mailbox address (without the @domain.tld part)" +#: admin/forms.py:388 +msgid "Domain(s)" msgstr "" -#: admin/models.py:164 -msgid "password" +#: admin/forms.py:390 +msgid "Domain(s) that user administrates" msgstr "" -#: admin/models.py:251 admin/models.py:334 -msgid "Failed to initialise mailbox, check permissions" +#: admin/forms.py:429 admin/views.py:322 templates/admin/editdomainform.html:4 +msgid "General" msgstr "" -#: admin/models.py:270 -msgid "Mailbox with this address already exists" +#: admin/forms.py:431 admin/views.py:325 +msgid "Mail" msgstr "" -#: admin/models.py:314 +#: admin/forms.py:433 +msgid "Permissions" +msgstr "" + +#: admin/lib.py:22 +msgid "Unknown object type" +msgstr "" + +#: admin/models.py:70 +msgid "You can't delete your own account" +msgstr "" + +#: admin/models.py:80 +msgid "You don't have access to this account" +msgstr "" + +#: admin/models.py:141 msgid "Failed to update password: LDAP module not installed" msgstr "" -#: admin/models.py:320 +#: admin/models.py:147 #, python-format msgid "Failed to update password: %s" msgstr "" -#: admin/models.py:360 +#: admin/models.py:378 admin/models.py:455 +msgid "name" +msgstr "" + +#: admin/models.py:379 +msgid "The domain name" +msgstr "" + +#: admin/models.py:380 +msgid "Default quota in MB applied to mailboxes" +msgstr "" + +#: admin/models.py:381 admin/models.py:460 admin/models.py:696 +#: admin/models.py:782 extensions/postfix_autoreply/models.py:19 +msgid "enabled" +msgstr "" + +#: admin/models.py:382 +msgid "Check to activate this domain" +msgstr "" + +#: admin/models.py:440 +msgid "Failed to initialise domain, check permissions" +msgstr "" + +#: admin/models.py:448 admin/models.py:657 admin/models.py:751 msgid "Invalid line" msgstr "" -#: admin/models.py:366 +#: admin/models.py:456 +msgid "The alias name" +msgstr "" + +#: admin/models.py:457 +msgid "target" +msgstr "" + +#: admin/models.py:458 +msgid "The domain this alias points to" +msgstr "" + +#: admin/models.py:461 admin/models.py:697 +msgid "Check to activate this alias" +msgstr "" + +#: admin/models.py:474 admin/models.py:687 +msgid "address" +msgstr "" + +#: admin/models.py:475 +msgid "Mailbox address (without the @domain.tld part)" +msgstr "" + +#: admin/models.py:572 +#, python-format +msgid "%s is not a valid uid/username" +msgstr "" + +#: admin/models.py:581 +#, python-format +msgid "%s is not a valid gid/groupname" +msgstr "" + +#: admin/models.py:585 admin/models.py:642 +msgid "Failed to initialise mailbox, check permissions" +msgstr "" + +#: admin/models.py:610 +#, python-format +msgid "Account '%s' already exists" +msgstr "" + +#: admin/models.py:663 msgid "Cannot import this mailbox because the associated domain does not exist" msgstr "" -#: admin/models.py:395 +#: admin/models.py:688 msgid "" "The alias address (without the domain part). For a 'catch-all' address, just " "enter an * character." msgstr "" -#: admin/models.py:397 +#: admin/models.py:692 msgid "mailboxes" msgstr "" -#: admin/models.py:398 +#: admin/models.py:693 msgid "The mailboxes this alias points to" msgstr "" -#: admin/models.py:477 +#: admin/models.py:758 lib/permissions.py:115 +msgid "You can't access this domain" +msgstr "" + +#: admin/models.py:783 msgid "Check to enable this extension" msgstr "" -#: admin/permissions.py:29 -msgid "Add super administrator" -msgstr "" - -#: admin/permissions.py:82 -msgid "Add domain administrator" -msgstr "" - -#: admin/tables.py:10 admin/tables.py:45 admin/tables.py:71 -#: admin/tables.py:127 extensions/sievefilters/forms.py:16 -#: extensions/sievefilters/templates/sievefilters/filters.html:8 +#: admin/tables.py:11 admin/tables.py:49 extensions/sievefilters/forms.py:53 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:6 +#: templates/admin/editdomainform.html:20 msgid "Name" msgstr "" -#: admin/tables.py:11 admin/tables.py:47 admin/tables.py:72 -#: admin/tables.py:104 -msgid "Created" +#: admin/tables.py:13 +msgid "Edit domain" msgstr "" -#: admin/tables.py:12 admin/tables.py:48 admin/tables.py:74 -#: admin/tables.py:105 -msgid "Last modified" -msgstr "" - -#: admin/tables.py:14 admin/views.py:164 -#: admin/templatetags/admin_extras.py:128 +#: admin/tables.py:15 extensions/limits/forms.py:16 +#: extensions/limits/models.py:11 msgid "Domain aliases" msgstr "" -#: admin/tables.py:16 admin/templatetags/admin_extras.py:36 -#: admin/templatetags/admin_extras.py:131 +#: admin/tables.py:17 extensions/limits/forms.py:18 +#: extensions/limits/models.py:12 +#: extensions/webmail/templates/webmail/folders.html:4 msgid "Mailboxes" msgstr "" -#: admin/tables.py:18 admin/views.py:394 -#: admin/templatetags/admin_extras.py:134 +#: admin/tables.py:19 extensions/limits/forms.py:20 +#: extensions/limits/models.py:13 msgid "Mailbox aliases" msgstr "" -#: admin/tables.py:24 admin/tables.py:52 admin/tables.py:82 -#: admin/tables.py:109 admin/templatetags/admin_extras.py:98 -#: extensions/sievefilters/templates/sievefilters/filter.html:86 -#: extensions/sievefilters/templates/sievefilters/filters.html:7 -#: extensions/sievefilters/templates/sievefilters/guieditor.html:3 -#: extensions/sievefilters/templates/sievefilters/rawfilter.html:3 +#: admin/tables.py:25 admin/tables.py:65 extensions/sievefilters/views.py:79 +#: extensions/sievefilters/templates/sievefilters/filter.html:17 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:5 #: extensions/webmail/templatetags/webextras.py:93 msgid "Actions" msgstr "" -#: admin/tables.py:36 admin/tables.py:93 +#: admin/tables.py:36 msgid "MB" msgstr "" -#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 -#: admin/tables.py:122 extensions/sievefilters/views.py:248 +#: admin/tables.py:39 extensions/sievefilters/views.py:265 msgid "yes" msgstr "" -#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 -#: admin/tables.py:122 extensions/sievefilters/views.py:252 +#: admin/tables.py:39 extensions/sievefilters/views.py:269 msgid "no" msgstr "" -#: admin/tables.py:46 -msgid "Targeted domain" -msgstr "" - -#: admin/tables.py:70 admin/tables.py:102 -msgid "Address" -msgstr "" - -#: admin/tables.py:76 -msgid "Aliases" -msgstr "" - -#: admin/tables.py:128 +#: admin/tables.py:50 msgid "Version" msgstr "" -#: admin/tables.py:129 +#: admin/tables.py:51 msgid "Description" msgstr "" -#: admin/tables.py:136 -msgid "User name" +#: admin/tables.py:58 +msgid "Email/Username" msgstr "" -#: admin/tables.py:137 admin/tables.py:147 -msgid "Full name" +#: admin/tables.py:64 +msgid "Fullname/Recipient" msgstr "" -#: admin/tables.py:138 admin/tables.py:148 -msgid "Defined" -msgstr "" - -#: admin/views.py:31 -msgid "Unknown object type" -msgstr "" - -#: admin/views.py:65 -msgid "Do not delete domain directory" -msgstr "" - -#: admin/views.py:68 -msgid "Available domains" -msgstr "" - -#: admin/views.py:86 -msgid "Domain with this name already defined" -msgstr "" - -#: admin/views.py:103 +#: admin/views.py:78 admin/templatetags/admin_extras.py:67 msgid "New domain" msgstr "" -#: admin/views.py:104 admin/views.py:173 admin/views.py:297 admin/views.py:328 -#: admin/views.py:432 extensions/sievefilters/views.py:175 -#: extensions/webmail/views.py:371 +#: admin/views.py:79 admin/views.py:202 admin/views.py:319 admin/views.py:326 +#: extensions/sievefilters/views.py:120 extensions/sievefilters/views.py:187 +#: extensions/webmail/views.py:118 msgid "Create" msgstr "" -#: admin/views.py:109 +#: admin/views.py:85 msgid "Domain created" msgstr "" -#: admin/views.py:120 -msgid "Domain editing" +#: admin/views.py:96 +msgid "You can't edit this domain" msgstr "" -#: admin/views.py:121 admin/views.py:208 admin/views.py:451 -#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:38 -#: extensions/webmail/views.py:398 templates/userprefs/chpassword.html:15 -#: templates/userprefs/setforward.html:15 +#: admin/views.py:107 admin/views.py:227 admin/views.py:372 +#: extensions/postfix_autoreply/views.py:22 +#: extensions/sievefilters/views.py:139 extensions/webmail/views.py:149 +#: userprefs/views.py:34 userprefs/views.py:66 msgid "Update" msgstr "" -#: admin/views.py:126 +#: admin/views.py:114 msgid "Domain modified" msgstr "" -#: admin/views.py:140 +#: admin/views.py:135 +msgid "You can't delete this domain" +msgstr "" + +#: admin/views.py:137 msgid "You can't delete your own domain" msgstr "" -#: admin/views.py:149 +#: admin/views.py:147 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "" msgstr[1] "" -#: admin/views.py:172 -msgid "New domain alias" -msgstr "" - -#: admin/views.py:182 admin/views.py:217 -msgid "A domain with this name already exists" -msgstr "" - -#: admin/views.py:187 admin/views.py:222 admin/views.py:412 +#: admin/views.py:180 msgid "Alias with this name already exists" msgstr "" -#: admin/views.py:189 -msgid "Domain alias created" +#: admin/views.py:201 admin/templatetags/admin_extras.py:96 +msgid "New distribution list" msgstr "" -#: admin/views.py:207 -msgid "Domain alias editing" +#: admin/views.py:213 +msgid "Distribution list created" msgstr "" -#: admin/views.py:224 -msgid "Domain alias updated" +#: admin/views.py:225 admin/views.py:248 +msgid "You do not have access to this domain" msgstr "" -#: admin/views.py:240 -msgid "Domain alias deleted" -msgid_plural "Domain aliases deleted" +#: admin/views.py:233 +msgid "Distribution list modified" +msgstr "" + +#: admin/views.py:253 +msgid "Distribution list deleted" +msgid_plural "Distribution lists deleted" msgstr[0] "" msgstr[1] "" -#: admin/views.py:248 -msgid "Available mailboxes" +#: admin/views.py:316 admin/templatetags/admin_extras.py:90 +msgid "New account" msgstr "" -#: admin/views.py:256 -msgid "Do not delete mailbox directory" -msgstr "" - -#: admin/views.py:296 -msgid "New mailbox" -msgstr "" - -#: admin/views.py:310 -msgid "Mailbox created" +#: admin/views.py:323 +msgid "Next" msgstr "" #: admin/views.py:327 -msgid "Mailbox editing" +msgid "Previous" msgstr "" -#: admin/views.py:344 -msgid "Mailbox modified" +#: admin/views.py:338 +msgid "Account created" msgstr "" -#: admin/views.py:347 -msgid "Failed to rename mailbox, check permissions" +#: admin/views.py:362 +msgid "You can't access this account" msgstr "" -#: admin/views.py:366 -msgid "You can't delete your own mailbox" +#: admin/views.py:389 +msgid "Account updated" msgstr "" -#: admin/views.py:376 -msgid "Mailbox deleted" -msgid_plural "Mailboxes deleted" +#: admin/views.py:409 +msgid "Account deleted" +msgid_plural "Accounts deleted" msgstr[0] "" msgstr[1] "" -#: admin/views.py:407 -msgid "No target defined" +#: admin/views.py:438 admin/views.py:443 +#: extensions/amavis_quarantine/views.py:196 +#: extensions/amavis_quarantine/views.py:202 +#: extensions/amavis_quarantine/views.py:229 +#: extensions/amavis_quarantine/views.py:233 +#: extensions/amavis_quarantine/views.py:235 extensions/stats/views.py:46 +#: extensions/webmail/views.py:32 extensions/webmail/views.py:55 +#: extensions/webmail/views.py:68 extensions/webmail/views.py:80 +#: extensions/webmail/views.py:96 extensions/webmail/views.py:180 +#: extensions/webmail/views.py:405 extensions/webmail/views.py:416 +#: extensions/webmail/views.py:443 lib/formutils.py:29 lib/formutils.py:34 +msgid "Invalid request" msgstr "" -#: admin/views.py:431 -msgid "New mailbox alias" +#: admin/views.py:445 +msgid "Permission denied" msgstr "" -#: admin/views.py:437 -msgid "Mailbox alias created" +#: admin/views.py:483 +msgid "Parameters saved" msgstr "" -#: admin/views.py:450 -msgid "Mailbox alias editing" -msgstr "" - -#: admin/views.py:456 -msgid "Mailbox alias modified" -msgstr "" - -#: admin/views.py:470 -msgid "Alias deleted" -msgid_plural "Aliases deleted" -msgstr[0] "" -msgstr[1] "" - -#: admin/views.py:481 -msgid "Super administrators" -msgstr "" - -#: admin/views.py:490 -msgid "Domain administrators" -msgstr "" - -#: admin/views.py:505 admin/views.py:522 -msgid "Permission denied!" -msgstr "" - -#: admin/views.py:514 -msgid "Permission added." -msgstr "" - -#: admin/views.py:528 -msgid "Permissions removed" -msgstr "" - -#: admin/views.py:609 +#: admin/views.py:529 msgid "Modifications applied." msgstr "" -#: admin/views.py:631 +#: admin/views.py:586 #, python-format -msgid "%d mailboxes imported successfully" +msgid "%d objects imported successfully" msgstr "" -#: admin/views.py:641 admin/templatetags/admin_extras.py:112 -#: templates/admin/import.html:48 -msgid "Import data" +#: admin/views.py:605 +msgid "" +"Provide a CSV file where lines respect one of the following format:\n" +"

    \n" +"
  • account; loginname; password; first name; last name; address\n" +"
  • dlist; address; recipient; recipient; ...
  • \n" +"
\n" +"You can use a different character as separator.\n" msgstr "" -#: admin/views.py:642 templates/admin/import.html:56 +#: admin/views.py:613 +msgid "Import identities" +msgstr "" + +#: admin/views.py:614 admin/views.py:640 admin/templatetags/admin_extras.py:73 +#: admin/templatetags/admin_extras.py:102 msgid "Import" msgstr "" +#: admin/views.py:632 +msgid "" +"Provide a CSV file where lines respect the following format:
\n" +"domain; name; quota
\n" +"\n" +"You can use a different character as separator.\n" +msgstr "" + +#: admin/views.py:639 +msgid "Import domains" +msgstr "" + #: admin/templatetags/admin_extras.py:12 msgid "enabled_m" msgstr "" @@ -554,96 +555,51 @@ msgstr "" msgid "enabled_f" msgstr "" -#: admin/templatetags/admin_extras.py:20 -msgid "Admin" -msgstr "" - -#: admin/templatetags/admin_extras.py:29 -#: admin/templatetags/admin_extras.py:123 +#: admin/templatetags/admin_extras.py:22 extensions/limits/forms.py:14 +#: extensions/limits/models.py:10 templates/admin/domains.html:2 msgid "Domains" msgstr "" -#: admin/templatetags/admin_extras.py:46 templates/admin/permissions.html:6 -msgid "Permissions" +#: admin/templatetags/admin_extras.py:30 templates/admin/identities.html:2 +msgid "Identities" msgstr "" -#: admin/templatetags/admin_extras.py:53 -#: templates/admin/settings_header.html:6 -msgid "Settings" +#: admin/templatetags/admin_extras.py:35 +msgid "Modoboa" msgstr "" -#: admin/templatetags/admin_extras.py:68 -msgid "Parameters" -msgstr "" - -#: admin/templatetags/admin_extras.py:71 +#: admin/templatetags/admin_extras.py:49 templates/admin/extensions.html:2 msgid "Extensions" msgstr "" -#: admin/templatetags/admin_extras.py:103 -msgid "New" +#: admin/templatetags/admin_extras.py:54 templates/admin/parameters.html:2 +msgid "Parameters" msgstr "" -#: admin/templatetags/admin_extras.py:107 -msgid "Remove" +#: admin/templatetags/admin_extras.py:133 +msgid "Delete this account" msgstr "" -#: admin/templatetags/admin_extras.py:149 -msgid "Add permission" +#: admin/templatetags/admin_extras.py:140 +msgid "Delete this distribution list" msgstr "" -#: admin/templatetags/admin_extras.py:153 -msgid "Remove permissions" +#: admin/templatetags/admin_extras.py:150 +msgid "Remove this permission" msgstr "" -#: admin/templatetags/admin_extras.py:166 -msgid "Edit domain" -msgstr "" - -#: admin/templatetags/admin_extras.py:172 -msgid "View aliases of this domain" -msgstr "" - -#: admin/templatetags/admin_extras.py:182 -msgid "Edit alias" -msgstr "" - -#: admin/templatetags/admin_extras.py:194 -msgid "Edit mailbox" -msgstr "" - -#: admin/templatetags/admin_extras.py:200 -msgid "View this mailbox aliases" -msgstr "" - -#: admin/templatetags/admin_extras.py:215 -msgid "Edit mailbox alias" -msgstr "" - -#: admin/templatetags/admin_extras.py:250 +#: admin/templatetags/admin_extras.py:184 msgid "Yes" msgstr "" -#: admin/templatetags/admin_extras.py:250 +#: admin/templatetags/admin_extras.py:184 msgid "No" msgstr "" -#: admin/templatetags/admin_extras.py:267 templates/common/genericform.html:6 -msgid "Help" -msgstr "" - #: auth/__init__.py:6 msgid "Key used to encrypt/decrypt passwords" msgstr "" -#: auth/forms.py:5 -msgid "Username" -msgstr "" - -#: auth/forms.py:7 -msgid "Password used to authenticate" -msgstr "" - #: auth/views.py:38 msgid "Account is disabled." msgstr "" @@ -652,22 +608,26 @@ msgstr "" msgid "Your username and password didn't match. Please try again." msgstr "" -#: demo/__init__.py:16 +#: demo/__init__.py:19 msgid "Test messages" msgstr "" -#: demo/__init__.py:21 +#: demo/__init__.py:24 msgid "Send virus" msgstr "" -#: demo/__init__.py:25 +#: demo/__init__.py:28 msgid "Send spam" msgstr "" +#: demo/views.py:17 demo/views.py:41 +msgid "Message sent" +msgstr "" + #: demo/templates/demo/login_announcement.html:2 msgid "" "\n" -"

Welcome to the online demo!

\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" @@ -676,178 +636,269 @@ msgid "" "
  • A domain administrator : admin@demo.local/admin
  • \n" "
  • A simple user : user@demo.local/user
  • \n" "\n" -"

    Please report any issue of give any suggestion to \n" +"

    Please report any issue or give any suggestion to \n" " the " "mailing list.

    \n" msgstr "" -#: extensions/amavis_quarantine/main.py:15 +#: extensions/amavis_quarantine/__init__.py:17 msgid "Simple amavis quarantine management tool" msgstr "" -#: extensions/amavis_quarantine/main.py:23 +#: extensions/amavis_quarantine/__init__.py:46 msgid "Quarantine messages maximum age (in days) before deletion" msgstr "" -#: extensions/amavis_quarantine/main.py:25 +#: extensions/amavis_quarantine/__init__.py:50 msgid "Remove messages marked as released while cleaning up the database" msgstr "" -#: extensions/amavis_quarantine/main.py:29 +#: extensions/amavis_quarantine/__init__.py:55 msgid "Mode used to access the PDP server" msgstr "" -#: extensions/amavis_quarantine/main.py:32 +#: extensions/amavis_quarantine/__init__.py:58 msgid "PDP server address (if inet mode)" msgstr "" -#: extensions/amavis_quarantine/main.py:35 +#: extensions/amavis_quarantine/__init__.py:61 msgid "PDP server port (if inet mode)" msgstr "" -#: extensions/amavis_quarantine/main.py:37 -msgid "/var/amavis/amavisd.sock" -msgstr "" - -#: extensions/amavis_quarantine/main.py:38 +#: extensions/amavis_quarantine/__init__.py:64 msgid "Path to the PDP server socket (if unix mode)" msgstr "" -#: extensions/amavis_quarantine/main.py:42 extensions/webmail/main.py:40 +#: extensions/amavis_quarantine/__init__.py:67 +msgid "Interval between two release requests checks" +msgstr "" + +#: extensions/amavis_quarantine/__init__.py:69 +msgid "Allow users to directly release their messages" +msgstr "" + +#: extensions/amavis_quarantine/__init__.py:71 +msgid "Activate the 'self-service' mode" +msgstr "" + +#: extensions/amavis_quarantine/__init__.py:76 +#: extensions/webmail/__init__.py:37 msgid "Sets the maximum number of messages displayed in a page" msgstr "" -#: extensions/amavis_quarantine/main.py:58 -#: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:42 +#: extensions/amavis_quarantine/__init__.py:90 msgid "Quarantine" msgstr "" -#: extensions/amavis_quarantine/sql_listing.py:21 -#: extensions/webmail/forms.py:5 -msgid "From" +#: extensions/amavis_quarantine/__init__.py:145 +msgid "pending requests" msgstr "" -#: extensions/amavis_quarantine/sql_listing.py:22 -#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:8 -#: extensions/webmail/lib.py:525 templates/common/email_searchbar.html:7 -msgid "Subject" +#: extensions/amavis_quarantine/__init__.py:161 +#, python-format +msgid "%d pending requests" msgstr "" #: extensions/amavis_quarantine/sql_listing.py:23 -#: extensions/webmail/lib.py:527 -msgid "Date" +#: extensions/webmail/forms.py:5 extensions/webmail/lib.py:34 +msgid "From" msgstr "" #: extensions/amavis_quarantine/sql_listing.py:24 -#: extensions/amavis_quarantine/templatetags/amextras.py:94 +#: extensions/sievefilters/forms.py:68 extensions/webmail/forms.py:9 +#: extensions/webmail/lib.py:33 extensions/webmail/lib.py:363 +#: templates/common/email_searchbar.html:6 +msgid "Subject" +msgstr "" + +#: extensions/amavis_quarantine/sql_listing.py:25 extensions/webmail/lib.py:35 +#: extensions/webmail/lib.py:365 +msgid "Date" +msgstr "" + +#: extensions/amavis_quarantine/sql_listing.py:26 +#: extensions/amavis_quarantine/templatetags/amextras.py:102 #: extensions/webmail/forms.py:6 msgid "To" msgstr "" -#: extensions/amavis_quarantine/views.py:89 +#: extensions/amavis_quarantine/views.py:32 msgid "Empty quarantine" msgstr "" -#: extensions/amavis_quarantine/views.py:172 +#: extensions/amavis_quarantine/views.py:203 +msgid "Message deleted" +msgstr "" + +#: extensions/amavis_quarantine/views.py:219 #, python-format msgid "%(count)d message deleted successfully" msgid_plural "%(count)d messages deleted successfully" msgstr[0] "" msgstr[1] "" -#: extensions/amavis_quarantine/views.py:202 +#: extensions/amavis_quarantine/views.py:238 +msgid "Request sent" +msgstr "" + +#: extensions/amavis_quarantine/views.py:244 +msgid "Message released" +msgstr "" + +#: extensions/amavis_quarantine/views.py:258 +#, python-format +msgid "%(count)d request sent" +msgid_plural "%(count)d requests sent" +msgstr[0] "" +msgstr[1] "" + +#: extensions/amavis_quarantine/views.py:281 #, python-format msgid "%(count)d message released successfully" msgid_plural "%(count)d messages released successfully" msgstr[0] "" msgstr[1] "" -#: extensions/amavis_quarantine/templates/amavis_quarantine/viewheader.html:36 -msgid "Message headers" +#: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:2 +msgid "Quarantine management" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:16 -msgid "View as plain text" -msgstr "" - -#: extensions/amavis_quarantine/templatetags/amextras.py:19 -msgid "View as HTML" -msgstr "" - -#: extensions/amavis_quarantine/templatetags/amextras.py:22 -#: extensions/webmail/templatetags/webextras.py:42 -msgid "Activate links" -msgstr "" - -#: extensions/amavis_quarantine/templatetags/amextras.py:30 -msgid "Back to list" -msgstr "" - -#: extensions/amavis_quarantine/templatetags/amextras.py:34 -msgid "View full headers" -msgstr "" - -#: extensions/amavis_quarantine/templatetags/amextras.py:41 -#: extensions/amavis_quarantine/templatetags/amextras.py:64 +#: extensions/amavis_quarantine/templatetags/amextras.py:20 +#: extensions/amavis_quarantine/templatetags/amextras.py:52 +#: extensions/amavis_quarantine/templatetags/amextras.py:72 msgid "Release" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:46 -#: extensions/amavis_quarantine/templatetags/amextras.py:68 -#: extensions/webmail/templatetags/webextras.py:35 +#: extensions/amavis_quarantine/templatetags/amextras.py:26 +#: extensions/amavis_quarantine/templatetags/amextras.py:59 +#: extensions/amavis_quarantine/templatetags/amextras.py:77 +#: extensions/webmail/templatetags/webextras.py:33 msgid "Delete" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:48 -#: userprefs/templatetags/uprefs_extras.py:17 -msgid "Options" -msgstr "" - -#: extensions/amavis_quarantine/templatetags/amextras.py:72 -msgid "Select" -msgstr "" - -#: extensions/amavis_quarantine/templatetags/amextras.py:77 -msgid "Nothing" +#: extensions/amavis_quarantine/templatetags/amextras.py:29 +msgid "View full headers" msgstr "" #: extensions/amavis_quarantine/templatetags/amextras.py:80 +msgid "Content Class" +msgstr "" + +#: extensions/amavis_quarantine/templatetags/amextras.py:84 +msgid "Nothing" +msgstr "" + +#: extensions/amavis_quarantine/templatetags/amextras.py:87 msgid "Spam" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:83 +#: extensions/amavis_quarantine/templatetags/amextras.py:90 +msgid "Virus" +msgstr "" + +#: extensions/amavis_quarantine/templatetags/amextras.py:93 msgid "Bad header" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:86 +#: extensions/amavis_quarantine/templatetags/amextras.py:96 msgid "Bad MIME" msgstr "" -#: extensions/postfix_autoreply/forms.py:7 -msgid "Until" +#: extensions/limits/__init__.py:55 +msgid "" +"Per administrator resources to limit the number of objects they can create" msgstr "" -#: extensions/postfix_autoreply/forms.py:8 -msgid "Activate your auto reply until this date" +#: extensions/limits/__init__.py:62 +msgid "Reseller" msgstr "" -#: extensions/postfix_autoreply/forms.py:22 -msgid "This date is over" +#: extensions/limits/__init__.py:93 +msgid "Resources" msgstr "" -#: extensions/postfix_autoreply/main.py:21 +#: extensions/limits/forms.py:11 extensions/limits/models.py:9 +msgid "Domain admins" +msgstr "" + +#: extensions/limits/forms.py:12 +msgid "Maximum number of domain administrators this user can create" +msgstr "" + +#: extensions/limits/forms.py:15 +msgid "Maximum number of domains this user can create" +msgstr "" + +#: extensions/limits/forms.py:17 +msgid "Maximum number of domain aliases this user can create" +msgstr "" + +#: extensions/limits/forms.py:19 +msgid "Maximum number of mailboxes this user can create" +msgstr "" + +#: extensions/limits/forms.py:21 +msgid "Maximum number of mailbox aliases this user can create" +msgstr "" + +#: extensions/limits/forms.py:36 +msgid "Invalid limit" +msgstr "" + +#: extensions/limits/forms.py:60 +msgid "Your resources are not initialized yet" +msgstr "" + +#: extensions/limits/forms.py:63 +msgid "You're not allowed to define unlimited values" +msgstr "" + +#: extensions/limits/lib.py:16 +#, python-format +msgid "%s: limit reached" +msgstr "" + +#: extensions/limits/lib.py:23 +msgid "Not enough resources" +msgstr "" + +#: extensions/limits/models.py:100 +msgid "undefined" +msgstr "" + +#: extensions/limits/models.py:102 +msgid "unlimited" +msgstr "" + +#: extensions/limits/templates/limits/poolusage.html:3 +msgid "Resources usage" +msgstr "" + +#: extensions/postfix_autoreply/__init__.py:20 msgid "Auto-reply (vacation) functionality using Postfix" msgstr "" -#: extensions/postfix_autoreply/main.py:35 +#: extensions/postfix_autoreply/__init__.py:45 msgid "Timeout in seconds between two auto-replies to the same recipient" msgstr "" -#: extensions/postfix_autoreply/main.py:61 -#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:30 +#: extensions/postfix_autoreply/__init__.py:68 +#: extensions/postfix_autoreply/views.py:19 msgid "Auto-reply message" msgstr "" +#: extensions/postfix_autoreply/forms.py:8 +msgid "Until" +msgstr "" + +#: extensions/postfix_autoreply/forms.py:9 +msgid "Activate your auto reply until this date" +msgstr "" + +#: extensions/postfix_autoreply/forms.py:23 +msgid "This date is over" +msgstr "" + #: extensions/postfix_autoreply/models.py:15 msgid "subject" msgstr "" @@ -868,71 +919,104 @@ msgstr "" msgid "Activate/Deactivate your auto reply" msgstr "" -#: extensions/postfix_autoreply/views.py:36 +#: extensions/postfix_autoreply/views.py:43 msgid "Auto reply message updated successfully." msgstr "" -#: extensions/sievefilters/forms.py:10 +#: extensions/sievefilters/__init__.py:15 +msgid "Address of your MANAGESIEVE server" +msgstr "" + +#: extensions/sievefilters/__init__.py:17 +msgid "Listening port of your MANAGESIEVE server" +msgstr "" + +#: extensions/sievefilters/__init__.py:19 +msgid "Use the STARTTLS extension" +msgstr "" + +#: extensions/sievefilters/__init__.py:26 +msgid "Prefered authentication mechanism" +msgstr "" + +#: extensions/sievefilters/__init__.py:30 +msgid "Editor mode" +msgstr "" + +#: extensions/sievefilters/__init__.py:32 +msgid "Select the mode you want the editor to work in" +msgstr "" + +#: extensions/sievefilters/__init__.py:42 +msgid "Plugin to easily create server-side filters" +msgstr "" + +#: extensions/sievefilters/__init__.py:56 +#: extensions/sievefilters/templates/sievefilters/index.html:2 +msgid "Message filters" +msgstr "" + +#: extensions/sievefilters/forms.py:14 msgid "Check to activate this filters set" msgstr "" -#: extensions/sievefilters/forms.py:17 +#: extensions/sievefilters/forms.py:55 msgid "All of the following" msgstr "" -#: extensions/sievefilters/forms.py:18 +#: extensions/sievefilters/forms.py:56 msgid "Any of the following" msgstr "" -#: extensions/sievefilters/forms.py:19 +#: extensions/sievefilters/forms.py:57 msgid "All messages" msgstr "" -#: extensions/sievefilters/forms.py:23 +#: extensions/sievefilters/forms.py:62 msgid "contains" msgstr "" -#: extensions/sievefilters/forms.py:24 +#: extensions/sievefilters/forms.py:63 msgid "does not contain" msgstr "" -#: extensions/sievefilters/forms.py:25 +#: extensions/sievefilters/forms.py:64 msgid "is" msgstr "" -#: extensions/sievefilters/forms.py:26 +#: extensions/sievefilters/forms.py:65 msgid "is not" msgstr "" -#: extensions/sievefilters/forms.py:30 +#: extensions/sievefilters/forms.py:69 msgid "Sender" msgstr "" -#: extensions/sievefilters/forms.py:31 +#: extensions/sievefilters/forms.py:70 msgid "Recipient" msgstr "" -#: extensions/sievefilters/forms.py:32 extensions/webmail/forms.py:7 +#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:7 msgid "Cc" msgstr "" -#: extensions/sievefilters/forms.py:33 +#: extensions/sievefilters/forms.py:72 msgid "Size" msgstr "" -#: extensions/sievefilters/forms.py:34 +#: extensions/sievefilters/forms.py:73 msgid "is greater than" msgstr "" -#: extensions/sievefilters/forms.py:35 +#: extensions/sievefilters/forms.py:74 msgid "is less than" msgstr "" -#: extensions/sievefilters/forms.py:39 +#: extensions/sievefilters/forms.py:78 msgid "Move message to" msgstr "" -#: extensions/sievefilters/forms.py:41 +#: extensions/sievefilters/forms.py:80 msgid "Redirect message to" msgstr "" @@ -940,132 +1024,86 @@ msgstr "" msgid "Connection to MANAGESIEVE server failed, check your configuration" msgstr "" -#: extensions/sievefilters/lib.py:78 +#: extensions/sievefilters/lib.py:82 msgid "Not enough space on server" msgstr "" -#: extensions/sievefilters/main.py:15 -msgid "Address of your MANAGESIEVE server" -msgstr "" - -#: extensions/sievefilters/main.py:17 -msgid "Listening port of your MANAGESIEVE server" -msgstr "" - -#: extensions/sievefilters/main.py:19 -msgid "Use the STARTTLS extension" -msgstr "" - -#: extensions/sievefilters/main.py:26 -msgid "Prefered authentication mechanism" -msgstr "" - -#: extensions/sievefilters/main.py:30 -msgid "Editor mode" -msgstr "" - -#: extensions/sievefilters/main.py:32 -msgid "Select the mode you want the editor to work in" -msgstr "" - -#: extensions/sievefilters/main.py:42 -msgid "Plugin to easily create server-side filters" -msgstr "" - -#: extensions/sievefilters/main.py:57 -#: extensions/sievefilters/templates/sievefilters/index.html:17 -msgid "Message filters" -msgstr "" - -#: extensions/sievefilters/views.py:70 +#: extensions/sievefilters/views.py:64 msgid "Failed to retrieve filters set" msgstr "" -#: extensions/sievefilters/views.py:114 -#: extensions/sievefilters/templatetags/sfilters_tags.py:34 +#: extensions/sievefilters/views.py:117 +#: extensions/sievefilters/templatetags/sfilters_tags.py:33 msgid "New filter" msgstr "" -#: extensions/sievefilters/views.py:117 +#: extensions/sievefilters/views.py:124 msgid "Filter created" msgstr "" -#: extensions/sievefilters/views.py:128 -#: extensions/sievefilters/templatetags/sfilters_tags.py:72 +#: extensions/sievefilters/views.py:136 +#: extensions/sievefilters/templatetags/sfilters_tags.py:77 msgid "Edit filter" msgstr "" -#: extensions/sievefilters/views.py:133 +#: extensions/sievefilters/views.py:145 msgid "Filter modified" msgstr "" -#: extensions/sievefilters/views.py:153 +#: extensions/sievefilters/views.py:165 msgid "Filter removed" msgstr "" -#: extensions/sievefilters/views.py:154 +#: extensions/sievefilters/views.py:166 msgid "Failed to remove filter" msgstr "" -#: extensions/sievefilters/views.py:168 +#: extensions/sievefilters/views.py:180 msgid "Filters set saved" msgstr "" -#: extensions/sievefilters/views.py:173 +#: extensions/sievefilters/views.py:185 msgid "Create a new filters set" msgstr "" -#: extensions/sievefilters/views.py:193 +#: extensions/sievefilters/views.py:207 msgid "Filters set created" msgstr "" -#: extensions/sievefilters/views.py:210 +#: extensions/sievefilters/views.py:226 msgid "Filters set deleted" msgstr "" -#: extensions/sievefilters/views.py:221 +#: extensions/sievefilters/views.py:238 msgid "Filters set activated" msgstr "" -#: extensions/sievefilters/templates/sievefilters/filter.html:72 +#: extensions/sievefilters/templates/sievefilters/filter.html:6 msgid "Conditions" msgstr "" -#: extensions/sievefilters/templates/sievefilters/filter.html:75 -msgid "Match type" -msgstr "" - -#: extensions/sievefilters/templates/sievefilters/filter.html:92 -#: templates/admin/parameters.html:14 templates/userprefs/preferences.html:18 -msgid "Save" -msgstr "" - -#: extensions/sievefilters/templates/sievefilters/filters.html:2 -msgid "Filters" -msgstr "" - -#: extensions/sievefilters/templates/sievefilters/filters.html:9 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:7 msgid "Active" msgstr "" -#: extensions/sievefilters/templates/sievefilters/filters.html:26 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:24 msgid "No filter defined yet" msgstr "" -#: extensions/sievefilters/templates/sievefilters/index.html:20 -msgid "Filters sets" +#: extensions/sievefilters/templates/sievefilters/index.html:55 +msgid "Filter sets" msgstr "" -#: extensions/sievefilters/templates/sievefilters/index.html:23 +#: extensions/sievefilters/templates/sievefilters/index.html:59 msgid "active" msgstr "" -#: extensions/sievefilters/templates/sievefilters/index.html:38 +#: extensions/sievefilters/templates/sievefilters/index.html:73 msgid "" "No filters set defined yet. You must create one in order to define filters." msgstr "" -#: extensions/sievefilters/templatetags/sfilters_tags.py:17 +#: extensions/sievefilters/templatetags/sfilters_tags.py:16 msgid "New filters set" msgstr "" @@ -1073,115 +1111,131 @@ msgstr "" msgid "Save filters set" msgstr "" -#: extensions/sievefilters/templatetags/sfilters_tags.py:51 +#: extensions/sievefilters/templatetags/sfilters_tags.py:52 msgid "Activate filters set" msgstr "" -#: extensions/sievefilters/templatetags/sfilters_tags.py:55 +#: extensions/sievefilters/templatetags/sfilters_tags.py:57 msgid "Remove filters set" msgstr "" -#: extensions/sievefilters/templatetags/sfilters_tags.py:59 +#: extensions/sievefilters/templatetags/sfilters_tags.py:62 msgid "Download" msgstr "" -#: extensions/sievefilters/templatetags/sfilters_tags.py:78 +#: extensions/sievefilters/templatetags/sfilters_tags.py:85 msgid "Remove this filter" msgstr "" -#: extensions/sievefilters/templatetags/sfilters_tags.py:85 +#: extensions/sievefilters/templatetags/sfilters_tags.py:93 msgid "Move this filter up" msgstr "" -#: extensions/sievefilters/templatetags/sfilters_tags.py:92 +#: extensions/sievefilters/templatetags/sfilters_tags.py:101 msgid "Move this filter down" msgstr "" -#: extensions/stats/grapher.py:18 -msgid "sent messages" -msgstr "" - -#: extensions/stats/grapher.py:20 -msgid "received messages" -msgstr "" - -#: extensions/stats/grapher.py:28 -msgid "msgs/min" -msgstr "" - -#: extensions/stats/grapher.py:32 -msgid "bounced messages" -msgstr "" - -#: extensions/stats/grapher.py:34 -msgid "rejected messages" -msgstr "" - -#: extensions/stats/grapher.py:42 -msgid "bytes/min" -msgstr "" - -#: extensions/stats/grapher.py:46 -msgid "received size" -msgstr "" - -#: extensions/stats/grapher.py:48 -msgid "sent size" -msgstr "" - -#: extensions/stats/main.py:20 +#: extensions/stats/__init__.py:20 msgid "Graphical statistics about emails traffic using RRDtool" msgstr "" -#: extensions/stats/main.py:28 +#: extensions/stats/__init__.py:27 msgid "Path to log file used to collect statistics" msgstr "" -#: extensions/stats/main.py:31 +#: extensions/stats/__init__.py:30 msgid "Path to directory where RRD files are stored" msgstr "" -#: extensions/stats/main.py:34 +#: extensions/stats/__init__.py:33 msgid "Path to directory where PNG files are stored" msgstr "" -#: extensions/stats/main.py:47 extensions/stats/templates/stats/index.html:84 +#: extensions/stats/__init__.py:36 +msgid "Graphics location (to build URLs)" +msgstr "" + +#: extensions/stats/__init__.py:47 msgid "Statistics" msgstr "" -#: extensions/stats/views.py:15 +#: extensions/stats/grapher.py:17 +msgid "sent messages" +msgstr "" + +#: extensions/stats/grapher.py:19 +msgid "received messages" +msgstr "" + +#: extensions/stats/grapher.py:27 +msgid "msgs/min" +msgstr "" + +#: extensions/stats/grapher.py:31 +msgid "bounced messages" +msgstr "" + +#: extensions/stats/grapher.py:33 +msgid "rejected messages" +msgstr "" + +#: extensions/stats/grapher.py:41 +msgid "bytes/min" +msgstr "" + +#: extensions/stats/grapher.py:45 +msgid "received size" +msgstr "" + +#: extensions/stats/grapher.py:47 +msgid "sent size" +msgstr "" + +#: extensions/stats/views.py:11 msgid "Average normal traffic" msgstr "" -#: extensions/stats/views.py:16 +#: extensions/stats/views.py:12 msgid "Average bad traffic" msgstr "" -#: extensions/stats/views.py:17 +#: extensions/stats/views.py:13 msgid "Average normal traffic size" msgstr "" -#: extensions/stats/views.py:18 +#: extensions/stats/views.py:14 msgid "Day" msgstr "" -#: extensions/stats/views.py:19 +#: extensions/stats/views.py:15 msgid "Week" msgstr "" -#: extensions/stats/views.py:20 +#: extensions/stats/views.py:16 msgid "Month" msgstr "" -#: extensions/stats/views.py:21 +#: extensions/stats/views.py:17 msgid "Year" msgstr "" -#: extensions/stats/views.py:22 +#: extensions/stats/views.py:18 msgid "Custom" msgstr "" -#: extensions/stats/views.py:60 +#: extensions/stats/views.py:30 extensions/stats/templates/stats/graphs.html:8 +msgid "No statistics available" +msgstr "" + +#: extensions/stats/views.py:52 +msgid "you're not allowed to see those statistics" +msgstr "" + +#: extensions/stats/views.py:58 +msgid "Domain not found. Please enter a full name" +msgstr "" + +#: extensions/stats/views.py:65 msgid "Bad custom period" msgstr "" @@ -1190,399 +1244,433 @@ msgid "Custom period : from" msgstr "" #: extensions/stats/templates/stats/graphs.html:3 -#: templates/admin/listing.html:12 templates/common/navbar.html:2 msgid "to" msgstr "" -#: extensions/stats/templates/stats/graphs.html:8 -msgid "No statistics available" +#: extensions/stats/templates/stats/index.html:2 +msgid "Graphical statistics" msgstr "" -#: extensions/stats/templates/stats/index.html:89 -msgid "Domain:" +#: extensions/stats/templates/stats/index.html:20 +msgid "Search a domain" msgstr "" -#: extensions/stats/templates/stats/index.html:91 -msgid "Global" +#: extensions/stats/templates/stats/index.html:29 +msgid "Apply" msgstr "" -#: extensions/stats/templates/stats/index.html:99 -msgid "Period:" -msgstr "" - -#: extensions/stats/templates/stats/index.html:107 -msgid "Start" -msgstr "" - -#: extensions/stats/templates/stats/index.html:109 -msgid "End" -msgstr "" - -#: extensions/webmail/lib.py:33 -msgid "Server response" -msgstr "" - -#: extensions/webmail/lib.py:145 -msgid "Connection to IMAP server failed, check your configuration" -msgstr "" - -#: extensions/webmail/lib.py:149 -msgid "Authentication failed, check your configuration" -msgstr "" - -#: extensions/webmail/lib.py:472 -msgid "wrote:" -msgstr "" - -#: extensions/webmail/lib.py:539 extensions/webmail/lib.py:543 -msgid "Original message" -msgstr "" - -#: extensions/webmail/main.py:14 +#: extensions/webmail/__init__.py:12 msgid "Address of your IMAP server" msgstr "" -#: extensions/webmail/main.py:17 +#: extensions/webmail/__init__.py:15 msgid "Use a secured connection to access IMAP server" msgstr "" -#: extensions/webmail/main.py:19 +#: extensions/webmail/__init__.py:17 msgid "Listening port of your IMAP server" msgstr "" -#: extensions/webmail/main.py:22 +#: extensions/webmail/__init__.py:20 msgid "Address of your SMTP server" msgstr "" -#: extensions/webmail/main.py:24 +#: extensions/webmail/__init__.py:22 msgid "None" msgstr "" -#: extensions/webmail/main.py:28 +#: extensions/webmail/__init__.py:26 msgid "Use a secured connection to access SMTP server" msgstr "" -#: extensions/webmail/main.py:30 +#: extensions/webmail/__init__.py:28 msgid "Listening port of your SMTP server" msgstr "" -#: extensions/webmail/main.py:33 +#: extensions/webmail/__init__.py:31 msgid "Server needs authentication" msgstr "" -#: extensions/webmail/main.py:35 +#: extensions/webmail/__init__.py:33 msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)" msgstr "" -#: extensions/webmail/main.py:39 +#: extensions/webmail/__init__.py:36 msgid "Number of displayed emails per page" msgstr "" -#: extensions/webmail/main.py:42 +#: extensions/webmail/__init__.py:39 msgid "Listing refresh rate" msgstr "" -#: extensions/webmail/main.py:43 +#: extensions/webmail/__init__.py:40 msgid "Automatic folder refresh rate (in seconds)" msgstr "" -#: extensions/webmail/main.py:45 +#: extensions/webmail/__init__.py:42 msgid "Trash folder" msgstr "" -#: extensions/webmail/main.py:46 +#: extensions/webmail/__init__.py:43 msgid "Folder where deleted messages go" msgstr "" -#: extensions/webmail/main.py:48 +#: extensions/webmail/__init__.py:45 msgid "Sent folder" msgstr "" -#: extensions/webmail/main.py:49 +#: extensions/webmail/__init__.py:46 msgid "Folder where copies of sent messages go" msgstr "" -#: extensions/webmail/main.py:51 +#: extensions/webmail/__init__.py:48 msgid "Drafts folder" msgstr "" -#: extensions/webmail/main.py:52 +#: extensions/webmail/__init__.py:49 msgid "Folder where drafts go" msgstr "" -#: extensions/webmail/main.py:54 +#: extensions/webmail/__init__.py:51 msgid "Signature text" msgstr "" -#: extensions/webmail/main.py:55 +#: extensions/webmail/__init__.py:52 msgid "User defined email signature" msgstr "" -#: extensions/webmail/main.py:57 +#: extensions/webmail/__init__.py:54 msgid "Default editor" msgstr "" -#: extensions/webmail/main.py:59 +#: extensions/webmail/__init__.py:56 msgid "The default editor to use when composing a message" msgstr "" -#: extensions/webmail/main.py:61 +#: extensions/webmail/__init__.py:58 msgid "Default message display mode" msgstr "" -#: extensions/webmail/main.py:63 +#: extensions/webmail/__init__.py:60 msgid "The default mode used when displaying a message" msgstr "" -#: extensions/webmail/main.py:65 +#: extensions/webmail/__init__.py:62 msgid "Enable HTML links display" msgstr "" -#: extensions/webmail/main.py:66 +#: extensions/webmail/__init__.py:63 msgid "Enable/Disable HTML links display" msgstr "" -#: extensions/webmail/main.py:76 +#: extensions/webmail/__init__.py:73 msgid "Simple IMAP webmail" msgstr "" -#: extensions/webmail/main.py:91 -#: extensions/webmail/templates/webmail/index.html:212 +#: extensions/webmail/__init__.py:85 msgid "Webmail" msgstr "" -#: extensions/webmail/views.py:61 lib/email_listing.py:132 -msgid "This folder contains no messages" +#: extensions/webmail/exceptions.py:19 +msgid "Server response" msgstr "" -#: extensions/webmail/views.py:369 -msgid "Create a new folder" +#: extensions/webmail/forms.py:8 +msgid "Cci" msgstr "" -#: extensions/webmail/views.py:381 -msgid "Folder created" +#: extensions/webmail/imaputils.py:251 +#, python-format +msgid "Connection to IMAP server failed: %s" msgstr "" -#: extensions/webmail/views.py:396 -msgid "Edit folder" +#: extensions/webmail/lib.py:310 +msgid "wrote:" msgstr "" -#: extensions/webmail/views.py:417 -msgid "Folder modified" +#: extensions/webmail/lib.py:377 extensions/webmail/lib.py:381 +msgid "Original message" msgstr "" -#: extensions/webmail/views.py:465 +#: extensions/webmail/lib.py:681 +msgid "Red fields are mandatories" +msgstr "" + +#: extensions/webmail/views.py:85 +msgid "Unknown action" +msgstr "" + +#: extensions/webmail/views.py:98 lib/email_listing.py:158 +msgid "Empty mailbox" +msgstr "" + +#: extensions/webmail/views.py:115 +#: extensions/webmail/templatetags/webextras.py:166 +msgid "Create a new mailbox" +msgstr "" + +#: extensions/webmail/views.py:130 +msgid "Mailbox created" +msgstr "" + +#: extensions/webmail/views.py:146 +msgid "Edit mailbox" +msgstr "" + +#: extensions/webmail/views.py:161 +msgid "Mailbox updated" +msgstr "" + +#: extensions/webmail/views.py:194 extensions/webmail/views.py:374 +#: extensions/webmail/views.py:483 +msgid "Bad request" +msgstr "" + +#: extensions/webmail/views.py:225 msgid "Failed to save attachment: " msgstr "" -#: extensions/webmail/views.py:468 +#: extensions/webmail/views.py:228 #, python-format msgid "Attachment is too big (limit: %s)" msgstr "" -#: extensions/webmail/views.py:483 -msgid "Bad query" -msgstr "" - -#: extensions/webmail/views.py:493 -msgid "Failed to remove attachment: " -msgstr "" - -#: extensions/webmail/views.py:498 -msgid "Unknown attachment" -msgstr "" - -#: extensions/webmail/templates/webmail/attachments.html:86 -#: extensions/webmail/templates/webmail/compose.html:9 -#: extensions/webmail/templates/webmail/headers.html:7 +#: extensions/webmail/views.py:234 +#: extensions/webmail/templates/webmail/compose.html:16 +#: extensions/webmail/templates/webmail/headers.html:4 msgid "Attachments" msgstr "" -#: extensions/webmail/templates/webmail/attachments.html:93 +#: extensions/webmail/views.py:250 +msgid "Bad query" +msgstr "" + +#: extensions/webmail/views.py:260 +msgid "Failed to remove attachment: " +msgstr "" + +#: extensions/webmail/views.py:265 +msgid "Unknown attachment" +msgstr "" + +#: extensions/webmail/views.py:479 +msgid "Undefined action" +msgstr "" + +#: extensions/webmail/templates/webmail/attachments.html:6 msgid "Attach" msgstr "" -#: extensions/webmail/templates/webmail/attachments.html:97 +#: extensions/webmail/templates/webmail/attachments.html:9 msgid "Uploading.." msgstr "" -#: extensions/webmail/templates/webmail/attachments.html:113 -msgid "Done" +#: extensions/webmail/templates/webmail/compose.html:7 +msgid "Add Cc field" msgstr "" -#: extensions/webmail/templates/webmail/compose.html:12 +#: extensions/webmail/templates/webmail/compose.html:7 +msgid "Add Cci field" +msgstr "" + +#: extensions/webmail/templates/webmail/compose.html:19 #, python-format msgid "%(counter)s file" msgid_plural "%(counter)s files" msgstr[0] "" msgstr[1] "" -#: extensions/webmail/templates/webmail/folder.html:37 -msgid "Parent folder" +#: extensions/webmail/templates/webmail/folder.html:6 +msgid "Parent mailbox" msgstr "" -#: extensions/webmail/templates/webmail/folders.html:8 -msgid "Add a new folder" -msgstr "" - -#: extensions/webmail/templates/webmail/folders.html:10 -msgid "Folders" -msgstr "" - -#: extensions/webmail/templates/webmail/index.html:218 +#: extensions/webmail/templates/webmail/index.html:36 msgid "Mailbox quota" msgstr "" -#: extensions/webmail/templatetags/webextras.py:19 -#: extensions/webmail/templatetags/webextras.py:61 -msgid "Back" -msgstr "" - -#: extensions/webmail/templatetags/webextras.py:23 +#: extensions/webmail/templatetags/webextras.py:21 msgid "Reply" msgstr "" -#: extensions/webmail/templatetags/webextras.py:27 +#: extensions/webmail/templatetags/webextras.py:25 msgid "Reply all" msgstr "" -#: extensions/webmail/templatetags/webextras.py:31 -#: userprefs/templatetags/uprefs_extras.py:39 +#: extensions/webmail/templatetags/webextras.py:29 +#: userprefs/templatetags/uprefs_extras.py:25 msgid "Forward" msgstr "" -#: extensions/webmail/templatetags/webextras.py:37 +#: extensions/webmail/templatetags/webextras.py:35 msgid "Display options" msgstr "" -#: extensions/webmail/templatetags/webextras.py:45 +#: extensions/webmail/templatetags/webextras.py:38 +msgid "Activate links" +msgstr "" + +#: extensions/webmail/templatetags/webextras.py:40 msgid "Disable links" msgstr "" -#: extensions/webmail/templatetags/webextras.py:65 +#: extensions/webmail/templatetags/webextras.py:49 +msgid "Close this message" +msgstr "" + +#: extensions/webmail/templatetags/webextras.py:62 +msgid "Back" +msgstr "" + +#: extensions/webmail/templatetags/webextras.py:66 msgid "Send" msgstr "" -#: extensions/webmail/templatetags/webextras.py:77 +#: extensions/webmail/templatetags/webextras.py:78 msgid "New message" msgstr "" -#: extensions/webmail/templatetags/webextras.py:80 +#: extensions/webmail/templatetags/webextras.py:81 msgid "Mark messages" msgstr "" -#: extensions/webmail/templatetags/webextras.py:84 +#: extensions/webmail/templatetags/webextras.py:85 msgid "As read" msgstr "" -#: extensions/webmail/templatetags/webextras.py:87 +#: extensions/webmail/templatetags/webextras.py:88 msgid "As unread" msgstr "" -#: extensions/webmail/templatetags/webextras.py:98 +#: extensions/webmail/templatetags/webextras.py:97 msgid "Compress folder" msgstr "" -#: extensions/webmail/templatetags/webextras.py:107 +#: extensions/webmail/templatetags/webextras.py:105 msgid "Empty folder" msgstr "" -#: lib/tables.py:201 +#: extensions/webmail/templatetags/webextras.py:174 +msgid "Edit the selected mailbox" +msgstr "" + +#: extensions/webmail/templatetags/webextras.py:179 +msgid "Remove the selected mailbox" +msgstr "" + +#: lib/exceptions.py:17 +#, python-format +msgid "Permission denied: %s" +msgstr "" + +#: lib/formutils.py:154 lib/formutils.py:161 +msgid "Enter a valid domain name" +msgstr "" + +#: lib/permissions.py:25 +msgid "Simple user" +msgstr "" + +#: lib/permissions.py:27 +msgid "Super administrator" +msgstr "" + +#: lib/permissions.py:29 +msgid "Domain administrator" +msgstr "" + +#: lib/permissions.py:61 +#, python-format +msgid "Failed to grant access (%s)" +msgstr "" + +#: lib/tables.py:233 msgid "No entries to display" msgstr "" -#: templates/nlayout.html:50 -msgid "Logout" +#: templates/admin/editdomainform.html:5 +msgid "Administrators" msgstr "" -#: templates/admin/add_permission.html:16 -msgid "Add" +#: templates/admin/editdomainform.html:6 +msgid "Miscellaneous" msgstr "" -#: templates/admin/domains_header.html:13 -msgid "for" +#: templates/admin/editdomainform.html:24 +msgid "No domain administrator defined" msgstr "" -#: templates/admin/extensions.html:11 -msgid "Apply" +#: templates/admin/editdomainform.html:27 +msgid "Creation date" msgstr "" -#: templates/admin/import.html:62 +#: templates/admin/editdomainform.html:28 +msgid "Last modification date" +msgstr "" + +#: templates/admin/extensions.html:7 templates/admin/parameters.html:9 +#: templates/userprefs/preferences.html:37 +msgid "Save" +msgstr "" + +#: templates/admin/importform.html:5 +msgid "Help" +msgstr "" + +#: templates/admin/importform.html:12 msgid "Importing..." msgstr "" -#: templates/admin/listing.html:12 -msgid "Items" -msgstr "" - -#: templates/admin/listing.html:12 templates/common/navbar.html:2 -msgid "of" -msgstr "" - -#: templates/admin/listing.html:16 templates/common/navbar.html:6 -msgid "First" -msgstr "" - -#: templates/admin/listing.html:19 templates/common/navbar.html:9 -msgid "Previous" -msgstr "" - -#: templates/admin/listing.html:24 templates/common/navbar.html:14 -msgid "Next" -msgstr "" - -#: templates/admin/listing.html:27 templates/common/navbar.html:17 -msgid "Last" +#: templates/admin/listing.html:12 templates/admin/searchform.html:4 +msgid "Search" msgstr "" #: templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "" -#: templates/common/email_searchbar.html:4 -msgid "Search..." +#: templates/admin/newaccount.html:31 templates/common/generic_modal.html:11 +msgid "Close" msgstr "" -#: templates/common/email_searchbar.html:6 +#: templates/common/email_searchbar.html:5 msgid "From address" msgstr "" -#: templates/common/email_searchbar.html:11 +#: templates/common/email_searchbar.html:10 msgid "Both" msgstr "" -#: templates/common/error.html:3 -msgid "Error" +#: templates/common/email_searchbar.html:12 +msgid "Search..." msgstr "" -#: templates/common/navbar.html:2 -msgid "Messages" +#: templates/common/error.html:4 +msgid "Error:" +msgstr "" + +#: templates/common/generic_field.html:4 +msgid "Help:" msgstr "" #: templates/common/parameters.html:15 msgid "No parameters available" msgstr "" -#: templates/registration/login.html:8 +#: templates/registration/login.html:5 msgid "Welcome to Modoboa" msgstr "" -#: templates/registration/login.html:28 -msgid "Welcome" +#: templates/registration/login.html:35 +msgid "Remember me" msgstr "" -#: templates/userprefs/chpassword.html:7 -#: userprefs/templatetags/uprefs_extras.py:23 -msgid "Change password" +#: templates/registration/login.html:37 +msgid "Log in" msgstr "" -#: templates/userprefs/preferences.html:6 -#: userprefs/templatetags/uprefs_extras.py:28 -msgid "Preferences" -msgstr "" - -#: templates/userprefs/setforward.html:7 -msgid "Define your forward" +#: templates/userprefs/preferences.html:2 +#: userprefs/templatetags/uprefs_extras.py:53 +msgid "Settings" msgstr "" #: userprefs/__init__.py:7 @@ -1593,40 +1681,64 @@ msgstr "" msgid "Prefered language to display pages" msgstr "" -#: userprefs/forms.py:13 +#: userprefs/forms.py:11 msgid "Old password" msgstr "" -#: userprefs/forms.py:15 +#: userprefs/forms.py:13 msgid "New password" msgstr "" -#: userprefs/forms.py:34 +#: userprefs/forms.py:27 msgid "Old password mismatchs" msgstr "" -#: userprefs/forms.py:43 +#: userprefs/forms.py:32 +msgid "Passwords mismatch" +msgstr "" + +#: userprefs/forms.py:36 msgid "Destination(s)" msgstr "" -#: userprefs/forms.py:44 +#: userprefs/forms.py:37 msgid "Keep local copies" msgstr "" -#: userprefs/forms.py:57 +#: userprefs/forms.py:50 msgid "" "You can't define a forward to a local destination. Please ask your " "administrator to create an alias instead." msgstr "" -#: userprefs/views.py:27 +#: userprefs/views.py:26 msgid "Password change is disabled for this user" msgstr "" -#: userprefs/views.py:46 +#: userprefs/views.py:31 userprefs/templatetags/uprefs_extras.py:48 +msgid "Change password" +msgstr "" + +#: userprefs/views.py:51 msgid "Password changed" msgstr "" -#: userprefs/views.py:79 +#: userprefs/views.py:63 +msgid "Define a forward" +msgstr "" + +#: userprefs/views.py:89 msgid "Forward updated" msgstr "" + +#: userprefs/views.py:142 +msgid "Preferences saved" +msgstr "" + +#: userprefs/templatetags/uprefs_extras.py:17 +msgid "Preferences" +msgstr "" + +#: userprefs/templatetags/uprefs_extras.py:61 +msgid "Logout" +msgstr "" diff --git a/locale/en/LC_MESSAGES/djangojs.po b/locale/en/LC_MESSAGES/djangojs.po index c8806e7e8..626074943 100644 --- a/locale/en/LC_MESSAGES/djangojs.po +++ b/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: 2012-01-10 11:09+0100\n" +"POT-Creation-Date: 2012-04-25 14:47+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,31 +17,41 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: extensions/amavis_quarantine/static/js/quarantine.js:41 -msgid "Delete this message?" -msgstr "" - -#: extensions/amavis_quarantine/static/js/quarantine.js:49 -msgid "Release this message?" -msgstr "" - -#: extensions/amavis_quarantine/static/js/quarantine.js:107 +#: extensions/amavis_quarantine/static/js/quarantine.js:126 msgid "Release this selection?" msgstr "" -#: extensions/amavis_quarantine/static/js/quarantine.js:114 +#: extensions/amavis_quarantine/static/js/quarantine.js:130 msgid "Delete this selection?" msgstr "" +#: extensions/amavis_quarantine/static/js/quarantine.js:148 +#: extensions/amavis_quarantine/static/js/selfservice.js:22 +msgid "Release this message?" +msgstr "" + +#: extensions/amavis_quarantine/static/js/quarantine.js:152 +#: extensions/amavis_quarantine/static/js/selfservice.js:26 +msgid "Delete this message?" +msgstr "" + +#: extensions/amavis_quarantine/static/js/quarantine.js:169 +msgid "View full headers" +msgstr "" + +#: extensions/amavis_quarantine/static/js/quarantine.js:174 +msgid "Hide full headers" +msgstr "" + #: extensions/sievefilters/static/js/lib.js:14 msgid "Remove this filter?" msgstr "" -#: extensions/sievefilters/static/js/lib.js:116 +#: extensions/sievefilters/static/js/lib.js:117 msgid "Save changes?" msgstr "" -#: extensions/sievefilters/static/js/lib.js:143 +#: extensions/sievefilters/static/js/lib.js:144 msgid "Remove filters set?" msgstr "" @@ -50,50 +60,38 @@ msgid "Activate this filters set?" msgstr "" #: extensions/sievefilters/static/js/lib.js:169 +#: extensions/sievefilters/static/js/lib.js:224 msgid "active" msgstr "" -#: extensions/webmail/static/js/fdmenu.js:31 -msgid "Edit folder" +#: extensions/stats/static/js/stats.js:28 +msgid "Search a domain" msgstr "" -#: extensions/webmail/static/js/fdmenu.js:63 -msgid "Folder deleted" +#: extensions/webmail/static/js/webmail.js:499 +msgid "Remove the selected mailbox?" msgstr "" -#: extensions/webmail/static/js/webmail.js:95 -msgid "Sending..." +#: extensions/webmail/static/js/webmail.js:513 +msgid "Mailbox removed" msgstr "" -#: extensions/webmail/static/js/webmail.js:229 -#: extensions/webmail/static/js/webmail.js:254 static/js/anchor_nav.js:215 -msgid "Done" +#: static/js/admin.js:17 +msgid "No domain administrator defined" msgstr "" -#: extensions/webmail/static/js/webmail.js:243 -msgid "Waiting..." +#: static/js/confirmation.js:45 +msgid "Cancel" msgstr "" -#: static/js/anchor_nav.js:10 +#: static/js/confirmation.js:84 static/js/history.js:229 +msgid "Internal Error" +msgstr "" + +#: static/js/history.js:10 msgid "Loading..." msgstr "" -#: static/js/common.js:17 -msgid "Message sent" -msgstr "" - -#: static/js/common.js:188 +#: static/js/searchbar.js:20 msgid "Search..." msgstr "" - -#: static/js/domains.js:61 -msgid "Remove this selection?" -msgstr "" - -#: static/js/preferences.js:14 -msgid "Preferences saved" -msgstr "" - -#: static/js/settings.js:14 -msgid "Parameters saved" -msgstr "" diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index 808e962e8..13560c1f7 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -1,22 +1,22 @@ # Modoboa spanish translation. # Copyright (C) 2012 # This file is distributed under the same license as the Modoboa package. -# +# # Translators: # Pedro Gracia , 2011, 2012. # Pedro Gracia , 2010, 2011. msgid "" msgstr "" "Project-Id-Version: Modoboa-0.8.8\n" -"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n" -"POT-Creation-Date: 2012-01-10 11:09+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 16:41+0200\n" "PO-Revision-Date: 2012-01-23 08:44+0000\n" "Last-Translator: Pedro Gracia \n" "Language-Team: 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 @@ -41,16 +41,16 @@ msgid "" "UID of the virtual user which owns domains/mailboxes/messages on the " "filesystem" msgstr "" -"UID del usuario virtual que es el propietario de los " -"dominios/mailboxes/mensajes en el sistema" +"UID del usuario virtual que es el propietario de los dominios/mailboxes/" +"mensajes en el sistema" #: admin/__init__.py:19 msgid "" "GID of the virtual user which owns domains/mailboxes/messages on the " "filesystem" msgstr "" -"GID del usuario virtual que es el propietario de los " -"dominios/mailboxes/mensajes en el sistema" +"GID del usuario virtual que es el propietario de los dominios/mailboxes/" +"mensajes en el sistema" #: admin/__init__.py:22 msgid "Mailboxes storage format" @@ -64,501 +64,536 @@ msgstr "" "Subdirectorio (dentro del \"mailbox\") dónde los mensajes son almacenados " "cuando se usa el formato maildir" -#: admin/__init__.py:27 +#: admin/__init__.py:28 msgid "Scheme used to crypt mailbox passwords" msgstr "Esquema usado para cifrar las contraseñas del \"mailbox\"" -#: admin/__init__.py:29 +#: admin/__init__.py:31 msgid "Number of displayed items per page" msgstr "Número de ítems mostrado por página" -#: admin/__init__.py:52 +#: admin/__init__.py:54 msgid "The default redirection used when no application is specified" msgstr "" "La redirección que será usada cuando ninguna aplicación sea especificada." -#: admin/forms.py:27 +#: admin/forms.py:15 admin/forms.py:298 +#, fuzzy +msgid "Alias(es)" +msgstr "Alias" + +#: admin/forms.py:17 +#, fuzzy +msgid "Alias(es) of this domain" +msgstr "Activar los alias este dominio" + +#: admin/forms.py:51 admin/views.py:58 +#, fuzzy +msgid "An alias with this name already exists" +msgstr "Ya existe un alias con este nombre" + +#: admin/forms.py:66 +msgid "A domain with this name already exists" +msgstr "Ya existe un alias de dominio con este nombre" + +#: admin/forms.py:76 msgid "Failed to rename domain, check permissions" msgstr "Ha fallado el cambio de nombre de este dominio, compruebe permisos" -#: admin/forms.py:51 admin/tables.py:20 admin/tables.py:78 -msgid "Quota" -msgstr "Cuota" +#: admin/forms.py:105 +#, fuzzy +msgid "Email address" +msgstr "De la dirección" -#: admin/forms.py:52 -msgid "Mailbox quota in MB (default to domain quota if blank)" +#: admin/forms.py:106 +msgid "The distribution list address" msgstr "" -"Cuota del \"Mailbox\" en MB (por defecto la del dominio, si no se " -"especifica)" -#: admin/forms.py:53 auth/forms.py:6 -msgid "Password" -msgstr "Contraseña" +#: admin/forms.py:109 +#, fuzzy +msgid "Recipients" +msgstr "Receptor" -#: admin/forms.py:55 -msgid "Password used to log in" -msgstr "Contraseña usada para identificarse (\"log in\")" - -#: admin/forms.py:56 userprefs/forms.py:17 -msgid "Confirmation" -msgstr "Confirmación" - -#: admin/forms.py:58 -msgid "Password confirmation" -msgstr "Confirmación de la contraseña" - -#: admin/forms.py:61 -msgid "Check to activate this mailbox" -msgstr "Activar este 'mailbox'" - -#: admin/forms.py:88 userprefs/forms.py:39 -msgid "Passwords mismatch" -msgstr "Las contraseñas no coinciden" - -#: admin/forms.py:103 admin/tables.py:103 -msgid "Target(s)" -msgstr "Destino(s)" - -#: admin/forms.py:104 +#: admin/forms.py:110 msgid "Mailbox(es) this alias will point to" msgstr "Los 'mailbox'(es) a los que el alias apunta" -#: admin/forms.py:152 +#: admin/forms.py:143 admin/forms.py:329 admin/models.py:756 +#, fuzzy +msgid "Domain does not exist" +msgstr "Dominio eliminado" + +#: admin/forms.py:163 msgid "Invalid mailbox" msgstr "'mailbox' inválido" -#: admin/forms.py:159 -msgid "Access denied for" -msgstr "Acceso denegado para" +#: admin/forms.py:174 admin/models.py:776 +#, fuzzy, python-format +msgid "Mailbox %s does not exist" +msgstr "Ya existe un \"Mailbox\" con esta dirección" -#: admin/forms.py:168 -msgid "Permission denied on" -msgstr "Permiso denegado en" +#: admin/forms.py:183 +#, fuzzy +msgid "No recipient defined" +msgstr "No hay destino definido" -#: admin/forms.py:183 admin/forms.py:199 -msgid "User" -msgstr "Usuario" +#: admin/forms.py:186 +msgid "A distribution list must contain at least two recipients" +msgstr "" -#: admin/forms.py:184 -msgid "Select a user" -msgstr "Seleccione un usuario" - -#: admin/forms.py:185 admin/forms.py:201 -msgid "Select a user in the list" -msgstr "Seleccione un usuario de la lista" - -#: admin/forms.py:194 admin/tables.py:146 -msgid "Domain" -msgstr "Dominio" - -#: admin/forms.py:196 -msgid "Select a domain" -msgstr "Seleccione un dominio" - -#: admin/forms.py:197 -msgid "Select a domain in the list" -msgstr "Elija un dominio de la lista" - -#: admin/forms.py:200 -msgid "Empty" -msgstr "Vacío" - -#: admin/forms.py:204 extensions/webmail/forms.py:14 +#: admin/forms.py:199 extensions/webmail/forms.py:18 msgid "Select a file" msgstr "Seleccione un fichero" -#: admin/forms.py:205 +#: admin/forms.py:200 msgid "Separator" msgstr "Separador" -#: admin/lib.py:13 -#, python-format -msgid "Invalid action, %(user)s is a local user" -msgstr "Acción inválida, %(user)s es un usuario local" +#: admin/forms.py:212 auth/forms.py:6 templates/admin/editdomainform.html:20 +msgid "Username" +msgstr "Nombre de usuario" -#: admin/models.py:78 admin/models.py:142 admin/models.py:155 -msgid "name" -msgstr "nombre" +#: admin/forms.py:214 admin/forms.py:232 +#, fuzzy +msgid "Choose" +msgstr "Elija un valor" -#: admin/models.py:79 -msgid "The domain name" -msgstr "Nombre del dominio" +#: admin/forms.py:215 +msgid "What level of permission this user will have" +msgstr "" -#: admin/models.py:80 -msgid "Default quota in MB applied to mailboxes" -msgstr "Cuota por defecto en MB que se aplicarán a los \"mailboxes\"" - -#: admin/models.py:81 admin/models.py:146 admin/models.py:393 -#: admin/models.py:469 extensions/postfix_autoreply/models.py:19 -msgid "enabled" +#: admin/forms.py:225 +#, fuzzy +msgid "Enabled" msgstr "activado" -#: admin/models.py:82 -msgid "Check to activate this domain" -msgstr "Activar este dominio" +#: admin/forms.py:264 auth/forms.py:10 +msgid "Password" +msgstr "Contraseña" -#: admin/models.py:135 -msgid "Failed to initialise domain, check permissions" -msgstr "Ha fallado la inicialización del dominio, compruebe permisos" +#: admin/forms.py:266 userprefs/forms.py:15 +msgid "Confirmation" +msgstr "Confirmación" -#: admin/models.py:143 -msgid "The alias name" -msgstr "Nombre del alias" +#: admin/forms.py:268 +msgid "Enter the same password as above, for verification." +msgstr "" -#: admin/models.py:144 -msgid "target" -msgstr "objetivo" +#: admin/forms.py:280 +msgid "The two password fields didn't match." +msgstr "" -#: admin/models.py:145 -msgid "The domain this alias points to" -msgstr "El dominio de este alias apuntan a" +#: admin/forms.py:295 +#, fuzzy +msgid "E-mail" +msgstr "Correo web" -#: admin/models.py:147 admin/models.py:394 -msgid "Check to activate this alias" -msgstr "Activar este alias" +#: admin/forms.py:296 admin/tables.py:21 +msgid "Quota" +msgstr "Cuota" -#: admin/models.py:156 -msgid "First name and last name of mailbox owner" -msgstr "Nombre y apellidos del propietario del \"mailbox\"" +#: admin/forms.py:300 +#, fuzzy +msgid "Alias(es) of this mailbox" +msgstr "Activar los alias este dominio" -#: admin/models.py:157 admin/models.py:387 -msgid "address" -msgstr "dirección" +#: admin/forms.py:332 admin/models.py:75 admin/models.py:665 +#: admin/views.py:359 extensions/stats/views.py:60 +#, fuzzy +msgid "You don't have access to this domain" +msgstr "Activar los alias este dominio" -#: admin/models.py:158 -msgid "Mailbox address (without the @domain.tld part)" -msgstr "Dirección del \"mailbox\" (sin la parte @dominio.tld)" +#: admin/forms.py:350 +msgid "Failed to rename mailbox, check permissions" +msgstr "Ha fallado el cambio de nombre del \"mailbox\", compruebe permisos" -#: admin/models.py:159 -msgid "password" -msgstr "contraseña" +#: admin/forms.py:388 +#, fuzzy +msgid "Domain(s)" +msgstr "Dominios" -#: admin/models.py:246 admin/models.py:327 -msgid "Failed to initialise mailbox, check permissions" -msgstr "Ha fallado la inicialización del \"mailbox\", compruebe permisos" +#: admin/forms.py:390 +#, fuzzy +msgid "Domain(s) that user administrates" +msgstr "Administradores del dominio" -#: admin/models.py:265 -msgid "Mailbox with this address already exists" -msgstr "Ya existe un \"Mailbox\" con esta dirección" +#: admin/forms.py:429 admin/views.py:322 templates/admin/editdomainform.html:4 +msgid "General" +msgstr "" -#: admin/models.py:313 +#: admin/forms.py:431 admin/views.py:325 +#, fuzzy +msgid "Mail" +msgstr "'Mailboxes'" + +#: admin/forms.py:433 +msgid "Permissions" +msgstr "Permisos" + +#: admin/lib.py:22 +msgid "Unknown object type" +msgstr "Tipo de objeto desconocido" + +#: admin/models.py:70 +#, fuzzy +msgid "You can't delete your own account" +msgstr "No puedo eliminar su propio dominio" + +#: admin/models.py:80 +msgid "You don't have access to this account" +msgstr "" + +#: admin/models.py:141 +#, fuzzy +msgid "Failed to update password: LDAP module not installed" +msgstr "Falló en la actualización del password: %s" + +#: admin/models.py:147 #, python-format msgid "Failed to update password: %s" msgstr "Falló en la actualización del password: %s" -#: admin/models.py:353 +#: admin/models.py:378 admin/models.py:455 +msgid "name" +msgstr "nombre" + +#: admin/models.py:379 +msgid "The domain name" +msgstr "Nombre del dominio" + +#: admin/models.py:380 +msgid "Default quota in MB applied to mailboxes" +msgstr "Cuota por defecto en MB que se aplicarán a los \"mailboxes\"" + +#: admin/models.py:381 admin/models.py:460 admin/models.py:696 +#: admin/models.py:782 extensions/postfix_autoreply/models.py:19 +msgid "enabled" +msgstr "activado" + +#: admin/models.py:382 +msgid "Check to activate this domain" +msgstr "Activar este dominio" + +#: admin/models.py:440 +msgid "Failed to initialise domain, check permissions" +msgstr "Ha fallado la inicialización del dominio, compruebe permisos" + +#: admin/models.py:448 admin/models.py:657 admin/models.py:751 msgid "Invalid line" msgstr "Línea inválida" -#: admin/models.py:359 -msgid "" -"Cannot import this mailbox because the associated domain does not exist" +#: admin/models.py:456 +msgid "The alias name" +msgstr "Nombre del alias" + +#: admin/models.py:457 +msgid "target" +msgstr "objetivo" + +#: admin/models.py:458 +msgid "The domain this alias points to" +msgstr "El dominio de este alias apuntan a" + +#: admin/models.py:461 admin/models.py:697 +msgid "Check to activate this alias" +msgstr "Activar este alias" + +#: admin/models.py:474 admin/models.py:687 +msgid "address" +msgstr "dirección" + +#: admin/models.py:475 +msgid "Mailbox address (without the @domain.tld part)" +msgstr "Dirección del \"mailbox\" (sin la parte @dominio.tld)" + +#: admin/models.py:572 +#, python-format +msgid "%s is not a valid uid/username" +msgstr "" + +#: admin/models.py:581 +#, python-format +msgid "%s is not a valid gid/groupname" +msgstr "" + +#: admin/models.py:585 admin/models.py:642 +msgid "Failed to initialise mailbox, check permissions" +msgstr "Ha fallado la inicialización del \"mailbox\", compruebe permisos" + +#: admin/models.py:610 +#, fuzzy, python-format +msgid "Account '%s' already exists" +msgstr "Ya existe un alias de dominio con este nombre" + +#: admin/models.py:663 +msgid "Cannot import this mailbox because the associated domain does not exist" msgstr "" "No ha sido posible importar este 'mailbox' ya que el dominio asociado no " "existe" -#: admin/models.py:388 +#: admin/models.py:688 msgid "" -"The alias address (without the domain part). For a 'catch-all' address, just" -" enter an * character." +"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 (*)." +"La dirección del alias (sin la parte del dominio). Para una dirección que lo " +"recoja todo, ponga un asterisco (*)." -#: admin/models.py:390 +#: admin/models.py:692 msgid "mailboxes" msgstr "'mailboxes'" -#: admin/models.py:391 +#: admin/models.py:693 msgid "The mailboxes this alias points to" msgstr "Los 'mailboxes' de este alias apuntan a" -#: admin/models.py:470 +#: admin/models.py:758 lib/permissions.py:115 +#, fuzzy +msgid "You can't access this domain" +msgstr "No puedo eliminar su propio dominio" + +#: admin/models.py:783 msgid "Check to enable this extension" msgstr "Activar esta extensión" -#: admin/permissions.py:29 -msgid "Add super administrator" -msgstr "Añadir super administrador" - -#: admin/permissions.py:82 -msgid "Add domain administrator" -msgstr "Añadir un administrador al dominio" - -#: admin/tables.py:10 admin/tables.py:45 admin/tables.py:71 -#: admin/tables.py:127 extensions/sievefilters/forms.py:16 -#: extensions/sievefilters/templates/sievefilters/filters.html:8 +#: admin/tables.py:11 admin/tables.py:49 extensions/sievefilters/forms.py:53 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:6 +#: templates/admin/editdomainform.html:20 msgid "Name" msgstr "Nombre" -#: admin/tables.py:11 admin/tables.py:47 admin/tables.py:72 -#: admin/tables.py:104 -msgid "Created" -msgstr "Creado" +#: admin/tables.py:13 +msgid "Edit domain" +msgstr "Editar el dominio" -#: admin/tables.py:12 admin/tables.py:48 admin/tables.py:74 -#: admin/tables.py:105 -msgid "Last modified" -msgstr "Última modificación" - -#: admin/tables.py:14 admin/views.py:164 -#: admin/templatetags/admin_extras.py:128 +#: admin/tables.py:15 extensions/limits/forms.py:16 +#: extensions/limits/models.py:11 msgid "Domain aliases" msgstr "Alias del dominio" -#: admin/tables.py:16 admin/templatetags/admin_extras.py:36 -#: admin/templatetags/admin_extras.py:131 +#: admin/tables.py:17 extensions/limits/forms.py:18 +#: extensions/limits/models.py:12 +#: extensions/webmail/templates/webmail/folders.html:4 msgid "Mailboxes" msgstr "'Mailboxes'" -#: admin/tables.py:18 admin/views.py:394 -#: admin/templatetags/admin_extras.py:134 +#: admin/tables.py:19 extensions/limits/forms.py:20 +#: extensions/limits/models.py:13 msgid "Mailbox aliases" msgstr "Alias del \"mailbox\"" -#: admin/tables.py:24 admin/tables.py:52 admin/tables.py:82 -#: admin/tables.py:109 admin/templatetags/admin_extras.py:98 -#: extensions/sievefilters/templates/sievefilters/filter.html:86 -#: extensions/sievefilters/templates/sievefilters/filters.html:7 -#: extensions/sievefilters/templates/sievefilters/guieditor.html:3 -#: extensions/sievefilters/templates/sievefilters/rawfilter.html:3 +#: admin/tables.py:25 admin/tables.py:65 extensions/sievefilters/views.py:79 +#: extensions/sievefilters/templates/sievefilters/filter.html:17 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:5 #: extensions/webmail/templatetags/webextras.py:93 msgid "Actions" msgstr "Acciones" -#: admin/tables.py:36 admin/tables.py:93 +#: admin/tables.py:36 msgid "MB" msgstr "MB" -#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 -#: admin/tables.py:122 extensions/sievefilters/views.py:248 +#: admin/tables.py:39 extensions/sievefilters/views.py:265 msgid "yes" msgstr "sí" -#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 -#: admin/tables.py:122 extensions/sievefilters/views.py:252 +#: admin/tables.py:39 extensions/sievefilters/views.py:269 msgid "no" msgstr "no" -#: admin/tables.py:46 -msgid "Targeted domain" -msgstr "Dominio elegido" - -#: admin/tables.py:70 admin/tables.py:102 -msgid "Address" -msgstr "Dirección" - -#: admin/tables.py:76 -msgid "Aliases" -msgstr "Alias" - -#: admin/tables.py:128 +#: admin/tables.py:50 msgid "Version" msgstr "Versión" -#: admin/tables.py:129 +#: admin/tables.py:51 msgid "Description" msgstr "Descripción" -#: admin/tables.py:136 -msgid "User name" +#: admin/tables.py:58 +#, fuzzy +msgid "Email/Username" msgstr "Nombre de usuario" -#: admin/tables.py:137 admin/tables.py:147 -msgid "Full name" -msgstr "Nombre completo" +#: admin/tables.py:64 +#, fuzzy +msgid "Fullname/Recipient" +msgstr "Receptor" -#: admin/tables.py:138 admin/tables.py:148 -msgid "Defined" -msgstr "Definido" - -#: admin/views.py:31 -msgid "Unknown object type" -msgstr "Tipo de objeto desconocido" - -#: admin/views.py:65 -msgid "Do not delete domain directory" -msgstr "No eliminar el directorio del dominio" - -#: admin/views.py:68 -msgid "Available domains" -msgstr "Dominios disponibles" - -#: admin/views.py:86 -msgid "Domain with this name already defined" -msgstr "Ya existe un dominio con este nombre" - -#: admin/views.py:103 +#: admin/views.py:78 admin/templatetags/admin_extras.py:67 msgid "New domain" msgstr "Nuevo dominio" -#: admin/views.py:104 admin/views.py:173 admin/views.py:297 admin/views.py:328 -#: admin/views.py:432 extensions/sievefilters/views.py:175 -#: extensions/webmail/views.py:371 +#: admin/views.py:79 admin/views.py:202 admin/views.py:319 admin/views.py:326 +#: extensions/sievefilters/views.py:120 extensions/sievefilters/views.py:187 +#: extensions/webmail/views.py:118 msgid "Create" msgstr "Crear" -#: admin/views.py:109 +#: admin/views.py:85 msgid "Domain created" msgstr "Dominio creado" -#: admin/views.py:120 -msgid "Domain editing" -msgstr "Editando el dominio" +#: admin/views.py:96 +#, fuzzy +msgid "You can't edit this domain" +msgstr "No puedo eliminar su propio dominio" -#: admin/views.py:121 admin/views.py:208 admin/views.py:451 -#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:38 -#: extensions/webmail/views.py:398 templates/userprefs/chpassword.html:15 -#: templates/userprefs/setforward.html:15 +#: admin/views.py:107 admin/views.py:227 admin/views.py:372 +#: extensions/postfix_autoreply/views.py:22 +#: extensions/sievefilters/views.py:139 extensions/webmail/views.py:149 +#: userprefs/views.py:34 userprefs/views.py:66 msgid "Update" msgstr "Actualizar" -#: admin/views.py:126 +#: admin/views.py:114 msgid "Domain modified" msgstr "Dominio modificado" -#: admin/views.py:140 +#: admin/views.py:135 +#, fuzzy +msgid "You can't delete this domain" +msgstr "No puedo eliminar su propio dominio" + +#: admin/views.py:137 msgid "You can't delete your own domain" msgstr "No puedo eliminar su propio dominio" -#: admin/views.py:149 +#: admin/views.py:147 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Dominio eliminado" msgstr[1] "Dominios eliminados" -#: admin/views.py:172 -msgid "New domain alias" -msgstr "Nuevo alias de dominio" - -#: admin/views.py:182 admin/views.py:217 -msgid "A domain with this name already exists" -msgstr "Ya existe un alias de dominio con este nombre" - -#: admin/views.py:187 admin/views.py:222 admin/views.py:412 +#: admin/views.py:180 msgid "Alias with this name already exists" msgstr "Ya existe un alias con este nombre" -#: admin/views.py:189 -msgid "Domain alias created" +#: admin/views.py:201 admin/templatetags/admin_extras.py:96 +msgid "New distribution list" +msgstr "" + +#: admin/views.py:213 +#, fuzzy +msgid "Distribution list created" msgstr "Alias de dominio creado" -#: admin/views.py:207 -msgid "Domain alias editing" -msgstr "Editando alias de dominio" +#: admin/views.py:225 admin/views.py:248 +msgid "You do not have access to this domain" +msgstr "" -#: admin/views.py:224 -msgid "Domain alias updated" -msgstr "Alias de dominio actualizado" +#: admin/views.py:233 +#, fuzzy +msgid "Distribution list modified" +msgstr "Alias del \"mailbox\" modificado" -#: admin/views.py:240 -msgid "Domain alias deleted" -msgid_plural "Domain aliases deleted" +#: admin/views.py:253 +#, fuzzy +msgid "Distribution list deleted" +msgid_plural "Distribution lists deleted" msgstr[0] "Alias de dominio eliminado" msgstr[1] "Alias de dominio eliminados" -#: admin/views.py:248 -msgid "Available mailboxes" -msgstr "\"Mailboxes\" disponibles" +#: admin/views.py:316 admin/templatetags/admin_extras.py:90 +msgid "New account" +msgstr "" -#: admin/views.py:256 -msgid "Do not delete mailbox directory" -msgstr "No eliminar el directorio del \"mailbox\"" - -#: admin/views.py:296 -msgid "New mailbox" -msgstr "Nuevo \"mailbox\"" - -#: admin/views.py:310 -msgid "Mailbox created" -msgstr "\"Mailbox\" creado." +#: admin/views.py:323 +msgid "Next" +msgstr "Siguiente" #: admin/views.py:327 -msgid "Mailbox editing" -msgstr "Editando el \"Mailbox\"" +msgid "Previous" +msgstr "Anterior" -#: admin/views.py:344 -msgid "Mailbox modified" -msgstr "\"Mailbox\" modificado" +#: admin/views.py:338 +#, fuzzy +msgid "Account created" +msgstr "Dominio creado" -#: admin/views.py:347 -msgid "Failed to rename mailbox, check permissions" -msgstr "Ha fallado el cambio de nombre del \"mailbox\", compruebe permisos" +#: admin/views.py:362 +msgid "You can't access this account" +msgstr "" -#: admin/views.py:366 -msgid "You can't delete your own mailbox" -msgstr "No puede eliminar su propio \"mailbox\"" +#: admin/views.py:389 +#, fuzzy +msgid "Account updated" +msgstr "La cuenta está desactivada." -#: admin/views.py:376 -msgid "Mailbox deleted" -msgid_plural "Mailboxes deleted" -msgstr[0] "\"Mailbox\" elimiado" -msgstr[1] "\"Mailboxes\" eliminados" +#: admin/views.py:409 +#, fuzzy +msgid "Account deleted" +msgid_plural "Accounts deleted" +msgstr[0] "Dominio eliminado" +msgstr[1] "Dominios eliminados" -#: admin/views.py:407 -msgid "No target defined" -msgstr "No hay destino definido" +#: admin/views.py:438 admin/views.py:443 +#: extensions/amavis_quarantine/views.py:196 +#: extensions/amavis_quarantine/views.py:202 +#: extensions/amavis_quarantine/views.py:229 +#: extensions/amavis_quarantine/views.py:233 +#: extensions/amavis_quarantine/views.py:235 extensions/stats/views.py:46 +#: extensions/webmail/views.py:32 extensions/webmail/views.py:55 +#: extensions/webmail/views.py:68 extensions/webmail/views.py:80 +#: extensions/webmail/views.py:96 extensions/webmail/views.py:180 +#: extensions/webmail/views.py:405 extensions/webmail/views.py:416 +#: extensions/webmail/views.py:443 lib/formutils.py:29 lib/formutils.py:34 +#, fuzzy +msgid "Invalid request" +msgstr "Línea inválida" -#: admin/views.py:431 -msgid "New mailbox alias" -msgstr "Nuevo alias del \"mailbox\"" - -#: admin/views.py:437 -msgid "Mailbox alias created" -msgstr "Alias del \"mailbox\" creado." - -#: admin/views.py:450 -msgid "Mailbox alias editing" -msgstr "Editando el alias del \"mailbox\"" - -#: admin/views.py:456 -msgid "Mailbox alias modified" -msgstr "Alias del \"mailbox\" modificado" - -#: admin/views.py:470 -msgid "Alias deleted" -msgid_plural "Aliases deleted" -msgstr[0] "Alias eliminado" -msgstr[1] "Alias eliminados" - -#: admin/views.py:481 -msgid "Super administrators" -msgstr "Super administradores" - -#: admin/views.py:490 -msgid "Domain administrators" -msgstr "Administradores del dominio" - -#: admin/views.py:505 admin/views.py:522 -msgid "Permission denied!" +#: admin/views.py:445 +#, fuzzy +msgid "Permission denied" msgstr "¡Permiso denegado!" -#: admin/views.py:514 -msgid "Permission added." -msgstr "Permiso añadido." +#: admin/views.py:483 +#, fuzzy +msgid "Parameters saved" +msgstr "Parámetros" -#: admin/views.py:528 -msgid "Permissions removed" -msgstr "Permisos eliminados" - -#: admin/views.py:609 +#: admin/views.py:529 msgid "Modifications applied." msgstr "Modificaciones aplicadas." -#: admin/views.py:631 -#, python-format -msgid "%d mailboxes imported successfully" +#: admin/views.py:586 +#, fuzzy, python-format +msgid "%d objects imported successfully" msgstr "%d 'mailboxes' importadas con éxito" -#: admin/views.py:641 admin/templatetags/admin_extras.py:112 -#: templates/admin/import.html:48 -msgid "Import data" +#: admin/views.py:605 +msgid "" +"Provide a CSV file where lines respect one of the following format:\n" +"
      \n" +"
    • account; loginname; password; first name; last name; address\n" +"
    • dlist; address; recipient; recipient; ...
    • \n" +"
    \n" +"You can use a different character as separator.\n" +msgstr "" + +#: admin/views.py:613 +#, fuzzy +msgid "Import identities" msgstr "Importar datos" -#: admin/views.py:642 templates/admin/import.html:56 +#: admin/views.py:614 admin/views.py:640 admin/templatetags/admin_extras.py:73 +#: admin/templatetags/admin_extras.py:102 msgid "Import" msgstr "Importar" +#: admin/views.py:632 +msgid "" +"Provide a CSV file where lines respect the following format:
    \n" +"domain; name; quota
    \n" +"\n" +"You can use a different character as separator.\n" +msgstr "" + +#: admin/views.py:639 +#, fuzzy +msgid "Import domains" +msgstr "Importar datos" + #: admin/templatetags/admin_extras.py:12 msgid "enabled_m" msgstr "Activado" @@ -567,96 +602,52 @@ msgstr "Activado" msgid "enabled_f" msgstr "Activado" -#: admin/templatetags/admin_extras.py:20 -msgid "Admin" -msgstr "Administrador" - -#: admin/templatetags/admin_extras.py:29 -#: admin/templatetags/admin_extras.py:123 +#: admin/templatetags/admin_extras.py:22 extensions/limits/forms.py:14 +#: extensions/limits/models.py:10 templates/admin/domains.html:2 msgid "Domains" msgstr "Dominios" -#: admin/templatetags/admin_extras.py:46 templates/admin/permissions.html:6 -msgid "Permissions" -msgstr "Permisos" +#: admin/templatetags/admin_extras.py:30 templates/admin/identities.html:2 +msgid "Identities" +msgstr "" -#: admin/templatetags/admin_extras.py:53 -#: templates/admin/settings_header.html:6 -msgid "Settings" -msgstr "Configuración" +#: admin/templatetags/admin_extras.py:35 +msgid "Modoboa" +msgstr "" -#: admin/templatetags/admin_extras.py:68 -msgid "Parameters" -msgstr "Parámetros" - -#: admin/templatetags/admin_extras.py:71 +#: admin/templatetags/admin_extras.py:49 templates/admin/extensions.html:2 msgid "Extensions" msgstr "Extensiones" -#: admin/templatetags/admin_extras.py:103 -msgid "New" -msgstr "Nuevo" +#: admin/templatetags/admin_extras.py:54 templates/admin/parameters.html:2 +msgid "Parameters" +msgstr "Parámetros" -#: admin/templatetags/admin_extras.py:107 -msgid "Remove" -msgstr "Eliminar" +#: admin/templatetags/admin_extras.py:133 +msgid "Delete this account" +msgstr "" -#: admin/templatetags/admin_extras.py:149 -msgid "Add permission" -msgstr "Añadir un permiso" +#: admin/templatetags/admin_extras.py:140 +msgid "Delete this distribution list" +msgstr "" -#: admin/templatetags/admin_extras.py:153 -msgid "Remove permissions" +#: admin/templatetags/admin_extras.py:150 +#, fuzzy +msgid "Remove this permission" msgstr "Elminar permisos" -#: admin/templatetags/admin_extras.py:166 -msgid "Edit domain" -msgstr "Editar el dominio" - -#: admin/templatetags/admin_extras.py:172 -msgid "View aliases of this domain" -msgstr "Activar los alias este dominio" - -#: admin/templatetags/admin_extras.py:182 -msgid "Edit alias" -msgstr "Editar el alias" - -#: admin/templatetags/admin_extras.py:194 -msgid "Edit mailbox" -msgstr "Editar el \"mailbox\"" - -#: admin/templatetags/admin_extras.py:200 -msgid "View this mailbox aliases" -msgstr "Mostrar este alias del \"mailbox\"" - -#: admin/templatetags/admin_extras.py:215 -msgid "Edit mailbox alias" -msgstr "Editar el alias del \"mailbox\"" - -#: admin/templatetags/admin_extras.py:250 +#: admin/templatetags/admin_extras.py:184 msgid "Yes" msgstr "Sí" -#: admin/templatetags/admin_extras.py:250 +#: admin/templatetags/admin_extras.py:184 msgid "No" msgstr "No " -#: admin/templatetags/admin_extras.py:267 templates/common/genericform.html:6 -msgid "Help" -msgstr "Ayuda" - #: auth/__init__.py:6 msgid "Key used to encrypt/decrypt passwords" msgstr "Clave usada para cifrar/descifrar contraseñas" -#: auth/forms.py:5 -msgid "Username" -msgstr "Nombre de usuario" - -#: auth/forms.py:7 -msgid "Password used to authenticate" -msgstr "Contraseña usada para autenticar" - #: auth/views.py:38 msgid "Account is disabled." msgstr "La cuenta está desactivada." @@ -667,214 +658,326 @@ msgstr "" "Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de " "nuevo." -#: demo/__init__.py:16 +#: demo/__init__.py:19 msgid "Test messages" msgstr "Mensajes de test" -#: demo/__init__.py:21 +#: demo/__init__.py:24 msgid "Send virus" msgstr "Enviar virus" -#: demo/__init__.py:25 +#: demo/__init__.py:28 msgid "Send spam" msgstr "Enviar" +#: demo/views.py:17 demo/views.py:41 +#, fuzzy +msgid "Message sent" +msgstr "Mensajes" + #: demo/templates/demo/login_announcement.html:2 +#, fuzzy msgid "" "\n" -"

    Welcome to the online demo!

    \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):

    \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 of give any suggestion to \n" -" the mailing list.

    \n" +"

    Please report any issue or give any suggestion to \n" +" the " +"mailing list.

    \n" msgstr "" "\n" "

    ¡Bienvenido a la demo online!

    \n" "

    Aviso: Los datos de esta demo serán borrados cada dos horas.

    \n" -"

    Para probar la demo puede usar cualquiera de los siguientes usuarios disponibles (username/password):

    \n" +"

    Para probar la demo puede usar cualquiera de los siguientes usuarios " +"disponibles (username/password):

    \n" "
      \n" "
    • Un super administrador : admin/password
    • \n" "
    • Un administrador dominio : admin@demo.local/admin
    • \n" "
    • Un usuario normal: user@demo.local/user
    • \n" "
    \n" -"

    Por favor, informe de cualquier incidencia o sugerencia que tenga a la lista de correo .

    \n" +"

    Por favor, informe de cualquier incidencia o sugerencia que tenga a la " +"lista de correo .

    \n" -#: extensions/amavis_quarantine/main.py:15 +#: extensions/amavis_quarantine/__init__.py:17 msgid "Simple amavis quarantine management tool" msgstr "Herramienta simple de adminitración de cuarentena para amavis " -#: extensions/amavis_quarantine/main.py:23 +#: extensions/amavis_quarantine/__init__.py:46 msgid "Quarantine messages maximum age (in days) before deletion" msgstr "" "Máxima edad (en días) de los mensajes de cuarentena antes de proceder a su " "eliminación" -#: extensions/amavis_quarantine/main.py:25 +#: extensions/amavis_quarantine/__init__.py:50 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" +"Eliminar los mensajes marcados como publicados cuando se haga limpieza de la " +"base de datos" -#: extensions/amavis_quarantine/main.py:29 +#: extensions/amavis_quarantine/__init__.py:55 msgid "Mode used to access the PDP server" msgstr "Modo usado para acceder al servidor PDP" -#: extensions/amavis_quarantine/main.py:32 +#: extensions/amavis_quarantine/__init__.py:58 msgid "PDP server address (if inet mode)" msgstr "Dirección del servidor de PDP (en modo inet)" -#: extensions/amavis_quarantine/main.py:35 +#: extensions/amavis_quarantine/__init__.py:61 msgid "PDP server port (if inet mode)" msgstr "Puerto del servidor de PDP (en modo inet)" -#: extensions/amavis_quarantine/main.py:37 -msgid "/var/amavis/amavisd.sock" -msgstr "/var/amavis/amavisd.sock" - -#: extensions/amavis_quarantine/main.py:38 +#: extensions/amavis_quarantine/__init__.py:64 msgid "Path to the PDP server socket (if unix mode)" msgstr "Dirección del socket del servidor de PDP (en modo inet)" -#: extensions/amavis_quarantine/main.py:42 extensions/webmail/main.py:40 +#: extensions/amavis_quarantine/__init__.py:67 +msgid "Interval between two release requests checks" +msgstr "" + +#: extensions/amavis_quarantine/__init__.py:69 +msgid "Allow users to directly release their messages" +msgstr "" + +#: extensions/amavis_quarantine/__init__.py:71 +msgid "Activate the 'self-service' mode" +msgstr "" + +#: extensions/amavis_quarantine/__init__.py:76 +#: extensions/webmail/__init__.py:37 msgid "Sets the maximum number of messages displayed in a page" msgstr "Fija el número máximo de mensajes mostrados en una página" -#: extensions/amavis_quarantine/main.py:58 -#: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:42 +#: extensions/amavis_quarantine/__init__.py:90 msgid "Quarantine" msgstr "Cuarentena" -#: extensions/amavis_quarantine/sql_listing.py:21 -#: extensions/webmail/forms.py:5 +#: extensions/amavis_quarantine/__init__.py:145 +#, fuzzy +msgid "pending requests" +msgstr "Consulta errónea" + +#: extensions/amavis_quarantine/__init__.py:161 +#, python-format +msgid "%d pending requests" +msgstr "" + +#: extensions/amavis_quarantine/sql_listing.py:23 +#: extensions/webmail/forms.py:5 extensions/webmail/lib.py:34 msgid "From" msgstr "Desde" -#: extensions/amavis_quarantine/sql_listing.py:22 -#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:8 -#: extensions/webmail/lib.py:525 templates/common/email_searchbar.html:7 +#: extensions/amavis_quarantine/sql_listing.py:24 +#: extensions/sievefilters/forms.py:68 extensions/webmail/forms.py:9 +#: extensions/webmail/lib.py:33 extensions/webmail/lib.py:363 +#: templates/common/email_searchbar.html:6 msgid "Subject" msgstr "Tema" -#: extensions/amavis_quarantine/sql_listing.py:23 -#: extensions/webmail/lib.py:527 +#: extensions/amavis_quarantine/sql_listing.py:25 extensions/webmail/lib.py:35 +#: extensions/webmail/lib.py:365 msgid "Date" msgstr "Fecha" -#: extensions/amavis_quarantine/sql_listing.py:24 -#: extensions/amavis_quarantine/templatetags/amextras.py:94 +#: extensions/amavis_quarantine/sql_listing.py:26 +#: extensions/amavis_quarantine/templatetags/amextras.py:102 #: extensions/webmail/forms.py:6 msgid "To" msgstr "A" -#: extensions/amavis_quarantine/views.py:89 +#: extensions/amavis_quarantine/views.py:32 msgid "Empty quarantine" msgstr "Vaciar cuarentena" -#: extensions/amavis_quarantine/views.py:172 +#: extensions/amavis_quarantine/views.py:203 +#, fuzzy +msgid "Message deleted" +msgstr "Filtros de mensaje" + +#: extensions/amavis_quarantine/views.py:219 #, 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_quarantine/views.py:202 +#: extensions/amavis_quarantine/views.py:238 +msgid "Request sent" +msgstr "" + +#: extensions/amavis_quarantine/views.py:244 +#, fuzzy +msgid "Message released" +msgstr "Cabeceras del mensaje" + +#: extensions/amavis_quarantine/views.py:258 +#, python-format +msgid "%(count)d request sent" +msgid_plural "%(count)d requests sent" +msgstr[0] "" +msgstr[1] "" + +#: extensions/amavis_quarantine/views.py:281 #, python-format msgid "%(count)d message released successfully" msgid_plural "%(count)d messages released successfully" msgstr[0] "%(count)d mensaje publicado correctamente" msgstr[1] "%(count)d mensajes publicados correctamente" -#: extensions/amavis_quarantine/templates/amavis_quarantine/viewheader.html:36 -msgid "Message headers" -msgstr "Cabeceras del mensaje" +#: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:2 +#, fuzzy +msgid "Quarantine management" +msgstr "Herramienta simple de adminitración de cuarentena para amavis " -#: extensions/amavis_quarantine/templatetags/amextras.py:16 -msgid "View as plain text" -msgstr "Ver como texto plana" - -#: extensions/amavis_quarantine/templatetags/amextras.py:19 -msgid "View as HTML" -msgstr "Ver como HTML" - -#: extensions/amavis_quarantine/templatetags/amextras.py:22 -#: extensions/webmail/templatetags/webextras.py:42 -msgid "Activate links" -msgstr "Activar enlaces" - -#: extensions/amavis_quarantine/templatetags/amextras.py:30 -msgid "Back to list" -msgstr "Volver a la lista" - -#: extensions/amavis_quarantine/templatetags/amextras.py:34 -msgid "View full headers" -msgstr "Ver todas las cabeceras" - -#: extensions/amavis_quarantine/templatetags/amextras.py:41 -#: extensions/amavis_quarantine/templatetags/amextras.py:64 +#: extensions/amavis_quarantine/templatetags/amextras.py:20 +#: extensions/amavis_quarantine/templatetags/amextras.py:52 +#: extensions/amavis_quarantine/templatetags/amextras.py:72 msgid "Release" msgstr "Publicar" -#: extensions/amavis_quarantine/templatetags/amextras.py:46 -#: extensions/amavis_quarantine/templatetags/amextras.py:68 -#: extensions/webmail/templatetags/webextras.py:35 +#: extensions/amavis_quarantine/templatetags/amextras.py:26 +#: extensions/amavis_quarantine/templatetags/amextras.py:59 +#: extensions/amavis_quarantine/templatetags/amextras.py:77 +#: extensions/webmail/templatetags/webextras.py:33 msgid "Delete" msgstr "Eliminar" -#: extensions/amavis_quarantine/templatetags/amextras.py:48 -#: userprefs/templatetags/uprefs_extras.py:17 -msgid "Options" -msgstr "Opciones" +#: extensions/amavis_quarantine/templatetags/amextras.py:29 +msgid "View full headers" +msgstr "Ver todas las cabeceras" -#: extensions/amavis_quarantine/templatetags/amextras.py:72 -msgid "Select" -msgstr "Seleccionar" +#: extensions/amavis_quarantine/templatetags/amextras.py:80 +#, fuzzy +msgid "Content Class" +msgstr "Contenido" -#: extensions/amavis_quarantine/templatetags/amextras.py:77 +#: extensions/amavis_quarantine/templatetags/amextras.py:84 msgid "Nothing" msgstr "Nada" -#: extensions/amavis_quarantine/templatetags/amextras.py:80 +#: extensions/amavis_quarantine/templatetags/amextras.py:87 msgid "Spam" msgstr "Spam" -#: extensions/amavis_quarantine/templatetags/amextras.py:83 +#: extensions/amavis_quarantine/templatetags/amextras.py:90 +msgid "Virus" +msgstr "" + +#: extensions/amavis_quarantine/templatetags/amextras.py:93 msgid "Bad header" msgstr "Mala cabecera" -#: extensions/amavis_quarantine/templatetags/amextras.py:86 +#: extensions/amavis_quarantine/templatetags/amextras.py:96 msgid "Bad MIME" msgstr "Mal MIME" -#: extensions/postfix_autoreply/forms.py:7 -msgid "Until" -msgstr "Hasta" +#: extensions/limits/__init__.py:55 +msgid "" +"Per administrator resources to limit the number of objects they can create" +msgstr "" -#: extensions/postfix_autoreply/forms.py:8 -msgid "Activate your auto reply until this date" -msgstr "Activar su autorespuesta hasta esta fecha" +#: extensions/limits/__init__.py:62 +msgid "Reseller" +msgstr "" -#: extensions/postfix_autoreply/forms.py:22 -msgid "This date is over" -msgstr "Esta fecha ha pasado" +#: extensions/limits/__init__.py:93 +msgid "Resources" +msgstr "" -#: extensions/postfix_autoreply/main.py:21 +#: extensions/limits/forms.py:11 extensions/limits/models.py:9 +#, fuzzy +msgid "Domain admins" +msgstr "Administradores del dominio" + +#: extensions/limits/forms.py:12 +msgid "Maximum number of domain administrators this user can create" +msgstr "" + +#: extensions/limits/forms.py:15 +msgid "Maximum number of domains this user can create" +msgstr "" + +#: extensions/limits/forms.py:17 +msgid "Maximum number of domain aliases this user can create" +msgstr "" + +#: extensions/limits/forms.py:19 +msgid "Maximum number of mailboxes this user can create" +msgstr "" + +#: extensions/limits/forms.py:21 +msgid "Maximum number of mailbox aliases this user can create" +msgstr "" + +#: extensions/limits/forms.py:36 +#, fuzzy +msgid "Invalid limit" +msgstr "Línea inválida" + +#: extensions/limits/forms.py:60 +msgid "Your resources are not initialized yet" +msgstr "" + +#: extensions/limits/forms.py:63 +msgid "You're not allowed to define unlimited values" +msgstr "" + +#: extensions/limits/lib.py:16 +#, python-format +msgid "%s: limit reached" +msgstr "" + +#: extensions/limits/lib.py:23 +#, fuzzy +msgid "Not enough resources" +msgstr "No hay suficiente espacio en el servidor" + +#: extensions/limits/models.py:100 +#, fuzzy +msgid "undefined" +msgstr "Definido" + +#: extensions/limits/models.py:102 +msgid "unlimited" +msgstr "" + +#: extensions/limits/templates/limits/poolusage.html:3 +#, fuzzy +msgid "Resources usage" +msgstr "mensajes rebotados" + +#: extensions/postfix_autoreply/__init__.py:20 msgid "Auto-reply (vacation) functionality using Postfix" msgstr "Funcionalidad de autorespuesta (vacaciones) usando Postfix" -#: extensions/postfix_autoreply/main.py:35 +#: extensions/postfix_autoreply/__init__.py:45 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/main.py:61 -#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:30 +#: extensions/postfix_autoreply/__init__.py:68 +#: extensions/postfix_autoreply/views.py:19 msgid "Auto-reply message" msgstr "Mensaje de autorespuesta" +#: extensions/postfix_autoreply/forms.py:8 +msgid "Until" +msgstr "Hasta" + +#: extensions/postfix_autoreply/forms.py:9 +msgid "Activate your auto reply until this date" +msgstr "Activar su autorespuesta hasta esta fecha" + +#: extensions/postfix_autoreply/forms.py:23 +msgid "This date is over" +msgstr "Esta fecha ha pasado" + #: extensions/postfix_autoreply/models.py:15 msgid "subject" msgstr "asunto" @@ -895,207 +998,194 @@ msgstr "El contenido que aparecerá en los correos enviados" msgid "Activate/Deactivate your auto reply" msgstr "Activar/desactivar su autorespuesta" -#: extensions/postfix_autoreply/views.py:36 +#: extensions/postfix_autoreply/views.py:43 msgid "Auto reply message updated successfully." msgstr "El mensaje de autorespuesta se ha actualizado correctamente." -#: extensions/sievefilters/forms.py:10 +#: extensions/sievefilters/__init__.py:15 +msgid "Address of your MANAGESIEVE server" +msgstr "Dirección de su servidor MANAGESIEVE" + +#: extensions/sievefilters/__init__.py:17 +msgid "Listening port of your MANAGESIEVE server" +msgstr "Puerto a la escucha de su servidor MANAGESIEVE" + +#: extensions/sievefilters/__init__.py:19 +msgid "Use the STARTTLS extension" +msgstr "Usar la extensión STARTTLS" + +#: extensions/sievefilters/__init__.py:26 +msgid "Prefered authentication mechanism" +msgstr "Mecanismo de autenticación preferido" + +#: extensions/sievefilters/__init__.py:30 +msgid "Editor mode" +msgstr "Modo editor" + +#: extensions/sievefilters/__init__.py:32 +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/__init__.py:42 +msgid "Plugin to easily create server-side filters" +msgstr "'Plugin' para crear filtros en el servidor de forma sencilla" + +#: extensions/sievefilters/__init__.py:56 +#: extensions/sievefilters/templates/sievefilters/index.html:2 +msgid "Message filters" +msgstr "Filtros de mensaje" + +#: extensions/sievefilters/forms.py:14 msgid "Check to activate this filters set" msgstr "Marcar para activar este conjunto de filtros" -#: extensions/sievefilters/forms.py:17 +#: extensions/sievefilters/forms.py:55 msgid "All of the following" msgstr "Todos los siguientes" -#: extensions/sievefilters/forms.py:18 +#: extensions/sievefilters/forms.py:56 msgid "Any of the following" msgstr "Cualquiera de los siguientes" -#: extensions/sievefilters/forms.py:19 +#: extensions/sievefilters/forms.py:57 msgid "All messages" msgstr "Todos los mensajes" -#: extensions/sievefilters/forms.py:23 +#: extensions/sievefilters/forms.py:62 msgid "contains" msgstr "contiene" -#: extensions/sievefilters/forms.py:24 +#: extensions/sievefilters/forms.py:63 msgid "does not contain" msgstr "no contiene" -#: extensions/sievefilters/forms.py:25 +#: extensions/sievefilters/forms.py:64 msgid "is" msgstr "es" -#: extensions/sievefilters/forms.py:26 +#: extensions/sievefilters/forms.py:65 msgid "is not" msgstr "no es" -#: extensions/sievefilters/forms.py:30 +#: extensions/sievefilters/forms.py:69 msgid "Sender" msgstr "Remitente" -#: extensions/sievefilters/forms.py:31 +#: extensions/sievefilters/forms.py:70 msgid "Recipient" msgstr "Receptor" -#: extensions/sievefilters/forms.py:32 extensions/webmail/forms.py:7 +#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:7 msgid "Cc" msgstr "Cc" -#: extensions/sievefilters/forms.py:33 +#: extensions/sievefilters/forms.py:72 msgid "Size" msgstr "Tamaño" -#: extensions/sievefilters/forms.py:34 +#: extensions/sievefilters/forms.py:73 msgid "is greater than" msgstr "mayor que" -#: extensions/sievefilters/forms.py:35 +#: extensions/sievefilters/forms.py:74 msgid "is less than" msgstr "menor que" -#: extensions/sievefilters/forms.py:39 +#: extensions/sievefilters/forms.py:78 msgid "Move message to" msgstr "Mover el mensaje a" -#: extensions/sievefilters/forms.py:41 +#: extensions/sievefilters/forms.py:80 msgid "Redirect message to" msgstr "Redirigir el mensaje a" #: extensions/sievefilters/lib.py:37 msgid "Connection to MANAGESIEVE server failed, check your configuration" -msgstr "" -"La conexión al servidor MANAGESIEVE falló, verifique su configuración." +msgstr "La conexión al servidor MANAGESIEVE falló, verifique su configuración." -#: extensions/sievefilters/lib.py:78 +#: extensions/sievefilters/lib.py:82 msgid "Not enough space on server" msgstr "No hay suficiente espacio en el servidor" -#: extensions/sievefilters/main.py:15 -msgid "Address of your MANAGESIEVE server" -msgstr "Dirección de su servidor MANAGESIEVE" - -#: extensions/sievefilters/main.py:17 -msgid "Listening port of your MANAGESIEVE server" -msgstr "Puerto a la escucha de su servidor MANAGESIEVE" - -#: extensions/sievefilters/main.py:19 -msgid "Use the STARTTLS extension" -msgstr "Usar la extensión STARTTLS" - -#: extensions/sievefilters/main.py:26 -msgid "Prefered authentication mechanism" -msgstr "Mecanismo de autenticación preferido" - -#: extensions/sievefilters/main.py:30 -msgid "Editor mode" -msgstr "Modo editor" - -#: extensions/sievefilters/main.py:32 -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/main.py:42 -msgid "Plugin to easily create server-side filters" -msgstr "'Plugin' para crear filtros en el servidor de forma sencilla" - -#: extensions/sievefilters/main.py:57 -#: extensions/sievefilters/templates/sievefilters/index.html:17 -msgid "Message filters" -msgstr "Filtros de mensaje" - -#: extensions/sievefilters/views.py:70 +#: extensions/sievefilters/views.py:64 msgid "Failed to retrieve filters set" msgstr "Fallo en la recuperación de un conjunto de filtros" -#: extensions/sievefilters/views.py:114 -#: extensions/sievefilters/templatetags/sfilters_tags.py:34 +#: extensions/sievefilters/views.py:117 +#: extensions/sievefilters/templatetags/sfilters_tags.py:33 msgid "New filter" msgstr "Nuevo filtro" -#: extensions/sievefilters/views.py:117 +#: extensions/sievefilters/views.py:124 msgid "Filter created" msgstr "Filtro creado" -#: extensions/sievefilters/views.py:128 -#: extensions/sievefilters/templatetags/sfilters_tags.py:72 +#: extensions/sievefilters/views.py:136 +#: extensions/sievefilters/templatetags/sfilters_tags.py:77 msgid "Edit filter" msgstr "Editar filtro" -#: extensions/sievefilters/views.py:133 +#: extensions/sievefilters/views.py:145 msgid "Filter modified" msgstr "Filtro modificado" -#: extensions/sievefilters/views.py:153 +#: extensions/sievefilters/views.py:165 msgid "Filter removed" msgstr "Filtro eliminado" -#: extensions/sievefilters/views.py:154 +#: extensions/sievefilters/views.py:166 msgid "Failed to remove filter" msgstr "La eliminación del filtro falló" -#: extensions/sievefilters/views.py:168 +#: extensions/sievefilters/views.py:180 msgid "Filters set saved" msgstr "Filtros guardados" -#: extensions/sievefilters/views.py:173 +#: extensions/sievefilters/views.py:185 msgid "Create a new filters set" msgstr "Crear un nuevo conjunto de filtros" -#: extensions/sievefilters/views.py:193 +#: extensions/sievefilters/views.py:207 msgid "Filters set created" msgstr "Conjunto de filtros creado" -#: extensions/sievefilters/views.py:210 +#: extensions/sievefilters/views.py:226 msgid "Filters set deleted" msgstr "Conjunto de filtros eliminado" -#: extensions/sievefilters/views.py:221 +#: extensions/sievefilters/views.py:238 msgid "Filters set activated" msgstr "Conjunto de filtros activado" -#: extensions/sievefilters/templates/sievefilters/filter.html:72 +#: extensions/sievefilters/templates/sievefilters/filter.html:6 msgid "Conditions" msgstr "Condiciones" -#: extensions/sievefilters/templates/sievefilters/filter.html:75 -msgid "Match type" -msgstr "Tipo de coincidencia" - -#: extensions/sievefilters/templates/sievefilters/filter.html:92 -#: templates/admin/parameters.html:14 templates/userprefs/preferences.html:18 -msgid "Save" -msgstr "Guardar" - -#: extensions/sievefilters/templates/sievefilters/filters.html:2 -msgid "Filters" -msgstr "Filtros" - -#: extensions/sievefilters/templates/sievefilters/filters.html:9 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:7 msgid "Active" msgstr "Activo" -#: extensions/sievefilters/templates/sievefilters/filters.html:26 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:24 msgid "No filter defined yet" msgstr "No hay un filtro definido aún" -#: extensions/sievefilters/templates/sievefilters/index.html:20 -msgid "Filters sets" +#: extensions/sievefilters/templates/sievefilters/index.html:55 +#, fuzzy +msgid "Filter sets" msgstr "Conjunto de filtros" -#: extensions/sievefilters/templates/sievefilters/index.html:23 +#: extensions/sievefilters/templates/sievefilters/index.html:59 msgid "active" msgstr "activo" -#: extensions/sievefilters/templates/sievefilters/index.html:38 +#: extensions/sievefilters/templates/sievefilters/index.html:73 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. De be crear uno para poder " "definir filtros." -#: extensions/sievefilters/templatetags/sfilters_tags.py:17 +#: extensions/sievefilters/templatetags/sfilters_tags.py:16 msgid "New filters set" msgstr "Nuevo conjunto de filtros" @@ -1103,115 +1193,131 @@ msgstr "Nuevo conjunto de filtros" msgid "Save filters set" msgstr "Guardar conjunto de filtros" -#: extensions/sievefilters/templatetags/sfilters_tags.py:51 +#: extensions/sievefilters/templatetags/sfilters_tags.py:52 msgid "Activate filters set" msgstr "Activar conjunto de filtros" -#: extensions/sievefilters/templatetags/sfilters_tags.py:55 +#: extensions/sievefilters/templatetags/sfilters_tags.py:57 msgid "Remove filters set" msgstr "Eliminar conjunto de filtros" -#: extensions/sievefilters/templatetags/sfilters_tags.py:59 +#: extensions/sievefilters/templatetags/sfilters_tags.py:62 msgid "Download" msgstr "Descargar" -#: extensions/sievefilters/templatetags/sfilters_tags.py:78 +#: extensions/sievefilters/templatetags/sfilters_tags.py:85 msgid "Remove this filter" msgstr "Eliminar este filtro" -#: extensions/sievefilters/templatetags/sfilters_tags.py:85 +#: extensions/sievefilters/templatetags/sfilters_tags.py:93 msgid "Move this filter up" msgstr "Subir este filtro" -#: extensions/sievefilters/templatetags/sfilters_tags.py:92 +#: extensions/sievefilters/templatetags/sfilters_tags.py:101 msgid "Move this filter down" msgstr "Bajar este filtro" -#: extensions/stats/grapher.py:18 -msgid "sent messages" -msgstr "mensajes enviados" - -#: extensions/stats/grapher.py:20 -msgid "received messages" -msgstr "mensajes recividos" - -#: extensions/stats/grapher.py:28 -msgid "msgs/min" -msgstr "msjs/min" - -#: extensions/stats/grapher.py:32 -msgid "bounced messages" -msgstr "mensajes rebotados" - -#: extensions/stats/grapher.py:34 -msgid "rejected messages" -msgstr "mensajes bloqueados" - -#: extensions/stats/grapher.py:42 -msgid "bytes/min" -msgstr "bytes/min" - -#: extensions/stats/grapher.py:46 -msgid "received size" -msgstr "tamaño recibido" - -#: extensions/stats/grapher.py:48 -msgid "sent size" -msgstr "tamaño enviado" - -#: extensions/stats/main.py:20 +#: extensions/stats/__init__.py:20 msgid "Graphical statistics about emails traffic using RRDtool" msgstr "Estadísticas gráficas sobre el tráfico de emails usando RRDtool" -#: extensions/stats/main.py:28 +#: extensions/stats/__init__.py:27 msgid "Path to log file used to collect statistics" msgstr "Fichero de log usado para recolectar estadísticas" -#: extensions/stats/main.py:31 +#: extensions/stats/__init__.py:30 msgid "Path to directory where RRD files are stored" msgstr "Directorio dónde están almacenados los ficheros RRD" -#: extensions/stats/main.py:34 +#: extensions/stats/__init__.py:33 msgid "Path to directory where PNG files are stored" msgstr "Directorio dónde están almacenados los ficheros PNG" -#: extensions/stats/main.py:47 extensions/stats/templates/stats/index.html:84 +#: extensions/stats/__init__.py:36 +msgid "Graphics location (to build URLs)" +msgstr "" + +#: extensions/stats/__init__.py:47 msgid "Statistics" msgstr "Estadísticas" -#: extensions/stats/views.py:15 +#: extensions/stats/grapher.py:17 +msgid "sent messages" +msgstr "mensajes enviados" + +#: extensions/stats/grapher.py:19 +msgid "received messages" +msgstr "mensajes recividos" + +#: extensions/stats/grapher.py:27 +msgid "msgs/min" +msgstr "msjs/min" + +#: extensions/stats/grapher.py:31 +msgid "bounced messages" +msgstr "mensajes rebotados" + +#: extensions/stats/grapher.py:33 +msgid "rejected messages" +msgstr "mensajes bloqueados" + +#: extensions/stats/grapher.py:41 +msgid "bytes/min" +msgstr "bytes/min" + +#: extensions/stats/grapher.py:45 +msgid "received size" +msgstr "tamaño recibido" + +#: extensions/stats/grapher.py:47 +msgid "sent size" +msgstr "tamaño enviado" + +#: extensions/stats/views.py:11 msgid "Average normal traffic" msgstr "Media de tráfico normal" -#: extensions/stats/views.py:16 +#: extensions/stats/views.py:12 msgid "Average bad traffic" msgstr "Media de tráfico erróneo" -#: extensions/stats/views.py:17 +#: extensions/stats/views.py:13 msgid "Average normal traffic size" msgstr "Tamaño medio de tráfico normal" -#: extensions/stats/views.py:18 +#: extensions/stats/views.py:14 msgid "Day" msgstr "Día" -#: extensions/stats/views.py:19 +#: extensions/stats/views.py:15 msgid "Week" msgstr "Semana" -#: extensions/stats/views.py:20 +#: extensions/stats/views.py:16 msgid "Month" msgstr "Mes" -#: extensions/stats/views.py:21 +#: extensions/stats/views.py:17 msgid "Year" msgstr "Año" -#: extensions/stats/views.py:22 +#: extensions/stats/views.py:18 msgid "Custom" msgstr "A medida" -#: extensions/stats/views.py:60 +#: extensions/stats/views.py:30 extensions/stats/templates/stats/graphs.html:8 +msgid "No statistics available" +msgstr "No hay estadísticas disponibles" + +#: extensions/stats/views.py:52 +msgid "you're not allowed to see those statistics" +msgstr "" + +#: extensions/stats/views.py:58 +msgid "Domain not found. Please enter a full name" +msgstr "" + +#: extensions/stats/views.py:65 msgid "Bad custom period" msgstr "Período a medida erróneo" @@ -1220,400 +1326,456 @@ msgid "Custom period : from" msgstr "Período a medida : desde" #: extensions/stats/templates/stats/graphs.html:3 -#: templates/admin/listing.html:12 templates/common/navbar.html:2 msgid "to" msgstr "hasta" -#: extensions/stats/templates/stats/graphs.html:8 -msgid "No statistics available" -msgstr "No hay estadísticas disponibles" +#: extensions/stats/templates/stats/index.html:2 +#, fuzzy +msgid "Graphical statistics" +msgstr "Estadísticas" -#: extensions/stats/templates/stats/index.html:89 -msgid "Domain:" -msgstr "Dominio:" +#: extensions/stats/templates/stats/index.html:20 +#, fuzzy +msgid "Search a domain" +msgstr "Seleccione un dominio" -#: extensions/stats/templates/stats/index.html:91 -msgid "Global" -msgstr "Global" +#: extensions/stats/templates/stats/index.html:29 +msgid "Apply" +msgstr "Aplicar" -#: extensions/stats/templates/stats/index.html:99 -msgid "Period:" -msgstr "Período:" - -#: extensions/stats/templates/stats/index.html:107 -msgid "Start" -msgstr "Inicio" - -#: extensions/stats/templates/stats/index.html:109 -msgid "End" -msgstr "Fin" - -#: extensions/webmail/lib.py:33 -msgid "Server response" -msgstr "Respuesta del servidor" - -#: extensions/webmail/lib.py:145 -msgid "Connection to IMAP server failed, check your configuration" -msgstr "Ha fallado la conexión al servidor IMAP, compruebe su configuración" - -#: extensions/webmail/lib.py:149 -msgid "Authentication failed, check your configuration" -msgstr "Ha fallado la autenticación, compruebe su configuración" - -#: extensions/webmail/lib.py:472 -msgid "wrote:" -msgstr "escribió:" - -#: extensions/webmail/lib.py:539 extensions/webmail/lib.py:543 -msgid "Original message" -msgstr "Mensaje original" - -#: extensions/webmail/main.py:14 +#: extensions/webmail/__init__.py:12 msgid "Address of your IMAP server" msgstr "Dirección de su servidor IMAP" -#: extensions/webmail/main.py:17 +#: extensions/webmail/__init__.py:15 msgid "Use a secured connection to access IMAP server" msgstr "Usar una conexión segura para acceder al servidor IMAP" -#: extensions/webmail/main.py:19 +#: extensions/webmail/__init__.py:17 msgid "Listening port of your IMAP server" msgstr "Puerto de su servidor IMAP" -#: extensions/webmail/main.py:22 +#: extensions/webmail/__init__.py:20 msgid "Address of your SMTP server" msgstr "Dirección de su servidor IMAP" -#: extensions/webmail/main.py:24 +#: extensions/webmail/__init__.py:22 msgid "None" msgstr "Nada" -#: extensions/webmail/main.py:28 +#: extensions/webmail/__init__.py:26 msgid "Use a secured connection to access SMTP server" msgstr "Usar una conexión segura para acceder al servidor SMTP" -#: extensions/webmail/main.py:30 +#: extensions/webmail/__init__.py:28 msgid "Listening port of your SMTP server" msgstr "Puerto de su servidor SMTP" -#: extensions/webmail/main.py:33 +#: extensions/webmail/__init__.py:31 msgid "Server needs authentication" msgstr "El servidor requiere autenticación" -#: extensions/webmail/main.py:35 +#: extensions/webmail/__init__.py:33 msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)" msgstr "Tamaño máximo del adjunto en bytes (or KB, MB, GB si se especifica)" -#: extensions/webmail/main.py:39 +#: extensions/webmail/__init__.py:36 msgid "Number of displayed emails per page" msgstr "Número de emails mostrados por página" -#: extensions/webmail/main.py:42 +#: extensions/webmail/__init__.py:39 msgid "Listing refresh rate" msgstr "Tasa de refresco" -#: extensions/webmail/main.py:43 +#: extensions/webmail/__init__.py:40 msgid "Automatic folder refresh rate (in seconds)" msgstr "Tasa de refresco automática de la carpeta (en segundos)" -#: extensions/webmail/main.py:45 +#: extensions/webmail/__init__.py:42 msgid "Trash folder" msgstr "Carpeta de basura" -#: extensions/webmail/main.py:46 +#: extensions/webmail/__init__.py:43 msgid "Folder where deleted messages go" msgstr "Carpeta dónde van los mensajes eliminados" -#: extensions/webmail/main.py:48 +#: extensions/webmail/__init__.py:45 msgid "Sent folder" msgstr "Carpeta de enviados" -#: extensions/webmail/main.py:49 +#: extensions/webmail/__init__.py:46 msgid "Folder where copies of sent messages go" msgstr "Carpeta dónde van las copias de los correos enviados" -#: extensions/webmail/main.py:51 +#: extensions/webmail/__init__.py:48 msgid "Drafts folder" msgstr "Carpeta de borradores" -#: extensions/webmail/main.py:52 +#: extensions/webmail/__init__.py:49 msgid "Folder where drafts go" msgstr "Carpeta dónde van los borradores" -#: extensions/webmail/main.py:54 +#: extensions/webmail/__init__.py:51 msgid "Signature text" msgstr "Texto de la firma" -#: extensions/webmail/main.py:55 +#: extensions/webmail/__init__.py:52 msgid "User defined email signature" msgstr "Firma de correo definida por el usuario" -#: extensions/webmail/main.py:57 +#: extensions/webmail/__init__.py:54 msgid "Default editor" msgstr "Editor por defecto" -#: extensions/webmail/main.py:59 +#: extensions/webmail/__init__.py:56 msgid "The default editor to use when composing a message" msgstr "Editor por defecto para usar cuando redacta un mensaje" -#: extensions/webmail/main.py:61 +#: extensions/webmail/__init__.py:58 msgid "Default message display mode" msgstr "Modo por defecto para un mensaje" -#: extensions/webmail/main.py:63 +#: extensions/webmail/__init__.py:60 msgid "The default mode used when displaying a message" msgstr "Modo por defecto usado para mostrar un mensaje" -#: extensions/webmail/main.py:65 +#: extensions/webmail/__init__.py:62 msgid "Enable HTML links display" msgstr "Activar el mostrar enlaces de HTML" -#: extensions/webmail/main.py:66 +#: extensions/webmail/__init__.py:63 msgid "Enable/Disable HTML links display" msgstr "Activar/Desactivar el mostrar enlaces HTML" -#: extensions/webmail/main.py:76 +#: extensions/webmail/__init__.py:73 msgid "Simple IMAP webmail" msgstr "Correo web simple para IMAP" -#: extensions/webmail/main.py:91 -#: extensions/webmail/templates/webmail/index.html:212 +#: extensions/webmail/__init__.py:85 msgid "Webmail" msgstr "Correo web" -#: extensions/webmail/views.py:61 lib/email_listing.py:132 -msgid "This folder contains no messages" -msgstr "Esta carpeta no contiene mensajes" +#: extensions/webmail/exceptions.py:19 +msgid "Server response" +msgstr "Respuesta del servidor" -#: extensions/webmail/views.py:369 -msgid "Create a new folder" +#: extensions/webmail/forms.py:8 +#, fuzzy +msgid "Cci" +msgstr "Cc" + +#: extensions/webmail/imaputils.py:251 +#, fuzzy, python-format +msgid "Connection to IMAP server failed: %s" +msgstr "Ha fallado la conexión al servidor IMAP, compruebe su configuración" + +#: extensions/webmail/lib.py:310 +msgid "wrote:" +msgstr "escribió:" + +#: extensions/webmail/lib.py:377 extensions/webmail/lib.py:381 +msgid "Original message" +msgstr "Mensaje original" + +#: extensions/webmail/lib.py:681 +msgid "Red fields are mandatories" +msgstr "" + +#: extensions/webmail/views.py:85 +#, fuzzy +msgid "Unknown action" +msgstr "Adjunto desconocido" + +#: extensions/webmail/views.py:98 lib/email_listing.py:158 +#, fuzzy +msgid "Empty mailbox" +msgstr "Editar el \"mailbox\"" + +#: extensions/webmail/views.py:115 +#: extensions/webmail/templatetags/webextras.py:166 +#, fuzzy +msgid "Create a new mailbox" msgstr "Crear una nueva carpeta" -#: extensions/webmail/views.py:381 -msgid "Folder created" -msgstr "Carpeta creada" +#: extensions/webmail/views.py:130 +msgid "Mailbox created" +msgstr "\"Mailbox\" creado." -#: extensions/webmail/views.py:396 -msgid "Edit folder" -msgstr "Editar carpeta" +#: extensions/webmail/views.py:146 +msgid "Edit mailbox" +msgstr "Editar el \"mailbox\"" -#: extensions/webmail/views.py:417 -msgid "Folder modified" -msgstr "Carpeta modificada" +#: extensions/webmail/views.py:161 +#, fuzzy +msgid "Mailbox updated" +msgstr "\"Mailbox\" creado." -#: extensions/webmail/views.py:465 +#: extensions/webmail/views.py:194 extensions/webmail/views.py:374 +#: extensions/webmail/views.py:483 +#, fuzzy +msgid "Bad request" +msgstr "Consulta errónea" + +#: extensions/webmail/views.py:225 msgid "Failed to save attachment: " msgstr "Fallo al guardar el adjunto:" -#: extensions/webmail/views.py:468 +#: extensions/webmail/views.py:228 #, python-format msgid "Attachment is too big (limit: %s)" msgstr "EL adjunto es demasiado grande (límite: %s)" -#: extensions/webmail/views.py:483 -msgid "Bad query" -msgstr "Consulta errónea" - -#: extensions/webmail/views.py:493 -msgid "Failed to remove attachment: " -msgstr "Fallo al eliminar el adjunto:" - -#: extensions/webmail/views.py:498 -msgid "Unknown attachment" -msgstr "Adjunto desconocido" - -#: extensions/webmail/templates/webmail/attachments.html:86 -#: extensions/webmail/templates/webmail/compose.html:9 -#: extensions/webmail/templates/webmail/headers.html:7 +#: extensions/webmail/views.py:234 +#: extensions/webmail/templates/webmail/compose.html:16 +#: extensions/webmail/templates/webmail/headers.html:4 msgid "Attachments" msgstr "Adjuntos" -#: extensions/webmail/templates/webmail/attachments.html:93 +#: extensions/webmail/views.py:250 +msgid "Bad query" +msgstr "Consulta errónea" + +#: extensions/webmail/views.py:260 +msgid "Failed to remove attachment: " +msgstr "Fallo al eliminar el adjunto:" + +#: extensions/webmail/views.py:265 +msgid "Unknown attachment" +msgstr "Adjunto desconocido" + +#: extensions/webmail/views.py:479 +msgid "Undefined action" +msgstr "" + +#: extensions/webmail/templates/webmail/attachments.html:6 msgid "Attach" msgstr "Adjunto" -#: extensions/webmail/templates/webmail/attachments.html:97 +#: extensions/webmail/templates/webmail/attachments.html:9 msgid "Uploading.." msgstr "Subiendo..." -#: extensions/webmail/templates/webmail/attachments.html:113 -msgid "Done" -msgstr "Hecho" +#: extensions/webmail/templates/webmail/compose.html:7 +msgid "Add Cc field" +msgstr "" -#: extensions/webmail/templates/webmail/compose.html:12 +#: extensions/webmail/templates/webmail/compose.html:7 +msgid "Add Cci field" +msgstr "" + +#: extensions/webmail/templates/webmail/compose.html:19 #, python-format msgid "%(counter)s file" msgid_plural "%(counter)s files" msgstr[0] "%(counter)s fichero" msgstr[1] "%(counter)s ficheros" -#: extensions/webmail/templates/webmail/folder.html:37 -msgid "Parent folder" -msgstr "Carpeta padre" +#: extensions/webmail/templates/webmail/folder.html:6 +#, fuzzy +msgid "Parent mailbox" +msgstr "Nuevo \"mailbox\"" -#: extensions/webmail/templates/webmail/folders.html:8 -msgid "Add a new folder" -msgstr "Añadir una nueva carpeta" - -#: extensions/webmail/templates/webmail/folders.html:10 -msgid "Folders" -msgstr "Carpetas" - -#: extensions/webmail/templates/webmail/index.html:218 +#: extensions/webmail/templates/webmail/index.html:36 msgid "Mailbox quota" msgstr "Cuota del 'mailbox'" -#: extensions/webmail/templatetags/webextras.py:19 -#: extensions/webmail/templatetags/webextras.py:61 -msgid "Back" -msgstr "Anterior" - -#: extensions/webmail/templatetags/webextras.py:23 +#: extensions/webmail/templatetags/webextras.py:21 msgid "Reply" msgstr "Responder" -#: extensions/webmail/templatetags/webextras.py:27 +#: extensions/webmail/templatetags/webextras.py:25 msgid "Reply all" msgstr "Responder a todos" -#: extensions/webmail/templatetags/webextras.py:31 -#: userprefs/templatetags/uprefs_extras.py:39 +#: extensions/webmail/templatetags/webextras.py:29 +#: userprefs/templatetags/uprefs_extras.py:25 msgid "Forward" msgstr "Siguiente" -#: extensions/webmail/templatetags/webextras.py:37 +#: extensions/webmail/templatetags/webextras.py:35 msgid "Display options" msgstr "Opciones de pantalla" -#: extensions/webmail/templatetags/webextras.py:45 +#: extensions/webmail/templatetags/webextras.py:38 +msgid "Activate links" +msgstr "Activar enlaces" + +#: extensions/webmail/templatetags/webextras.py:40 msgid "Disable links" msgstr "Desactivar enlaces" -#: extensions/webmail/templatetags/webextras.py:65 +#: extensions/webmail/templatetags/webextras.py:49 +#, fuzzy +msgid "Close this message" +msgstr "mensajes enviados" + +#: extensions/webmail/templatetags/webextras.py:62 +msgid "Back" +msgstr "Anterior" + +#: extensions/webmail/templatetags/webextras.py:66 msgid "Send" msgstr "Enviar" -#: extensions/webmail/templatetags/webextras.py:77 +#: extensions/webmail/templatetags/webextras.py:78 msgid "New message" msgstr "Nuevo mensaje" -#: extensions/webmail/templatetags/webextras.py:80 +#: extensions/webmail/templatetags/webextras.py:81 msgid "Mark messages" msgstr "Marcar mensajes" -#: extensions/webmail/templatetags/webextras.py:84 +#: extensions/webmail/templatetags/webextras.py:85 msgid "As read" msgstr "Como leído" -#: extensions/webmail/templatetags/webextras.py:87 +#: extensions/webmail/templatetags/webextras.py:88 msgid "As unread" msgstr "Como no leído" -#: extensions/webmail/templatetags/webextras.py:98 +#: extensions/webmail/templatetags/webextras.py:97 msgid "Compress folder" msgstr "Comprimir la carpeta" -#: extensions/webmail/templatetags/webextras.py:107 +#: extensions/webmail/templatetags/webextras.py:105 msgid "Empty folder" msgstr "Vaciar la carpeta" -#: lib/tables.py:201 +#: extensions/webmail/templatetags/webextras.py:174 +#, fuzzy +msgid "Edit the selected mailbox" +msgstr "Editar el \"mailbox\"" + +#: extensions/webmail/templatetags/webextras.py:179 +msgid "Remove the selected mailbox" +msgstr "" + +#: lib/exceptions.py:17 +#, fuzzy, python-format +msgid "Permission denied: %s" +msgstr "Permiso denegado en" + +#: lib/formutils.py:154 lib/formutils.py:161 +#, fuzzy +msgid "Enter a valid domain name" +msgstr "Nombre del dominio" + +#: lib/permissions.py:25 +#, fuzzy +msgid "Simple user" +msgstr "Seleccione un usuario" + +#: lib/permissions.py:27 +#, fuzzy +msgid "Super administrator" +msgstr "Super administradores" + +#: lib/permissions.py:29 +#, fuzzy +msgid "Domain administrator" +msgstr "Administradores del dominio" + +#: lib/permissions.py:61 +#, fuzzy, python-format +msgid "Failed to grant access (%s)" +msgstr "Falló en la actualización del password: %s" + +#: lib/tables.py:233 msgid "No entries to display" msgstr "No hay entradas que mostrar" -#: templates/nlayout.html:50 -msgid "Logout" -msgstr "Salir" +#: templates/admin/editdomainform.html:5 +#, fuzzy +msgid "Administrators" +msgstr "Super administradores" -#: templates/admin/add_permission.html:16 -msgid "Add" -msgstr "Añadir" +#: templates/admin/editdomainform.html:6 +msgid "Miscellaneous" +msgstr "" -#: templates/admin/domains_header.html:13 -msgid "for" -msgstr "para" +#: templates/admin/editdomainform.html:24 +#, fuzzy +msgid "No domain administrator defined" +msgstr "Añadir un administrador al dominio" -#: templates/admin/extensions.html:11 -msgid "Apply" -msgstr "Aplicar" +#: templates/admin/editdomainform.html:27 +#, fuzzy +msgid "Creation date" +msgstr "Crear" -#: templates/admin/import.html:62 +#: templates/admin/editdomainform.html:28 +#, fuzzy +msgid "Last modification date" +msgstr "Última modificación" + +#: templates/admin/extensions.html:7 templates/admin/parameters.html:9 +#: templates/userprefs/preferences.html:37 +msgid "Save" +msgstr "Guardar" + +#: templates/admin/importform.html:5 +msgid "Help" +msgstr "Ayuda" + +#: templates/admin/importform.html:12 msgid "Importing..." msgstr "Importando..." -#: templates/admin/listing.html:12 -msgid "Items" -msgstr "Ítems" - -#: templates/admin/listing.html:12 templates/common/navbar.html:2 -msgid "of" -msgstr "de" - -#: templates/admin/listing.html:16 templates/common/navbar.html:6 -msgid "First" -msgstr "Primero" - -#: templates/admin/listing.html:19 templates/common/navbar.html:9 -msgid "Previous" -msgstr "Anterior" - -#: templates/admin/listing.html:24 templates/common/navbar.html:14 -msgid "Next" -msgstr "Siguiente" - -#: templates/admin/listing.html:27 templates/common/navbar.html:17 -msgid "Last" -msgstr "Último" +#: templates/admin/listing.html:12 templates/admin/searchform.html:4 +#, fuzzy +msgid "Search" +msgstr "Buscar..." #: templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Elija un valor" -#: templates/common/email_searchbar.html:4 -msgid "Search..." -msgstr "Buscar..." +#: templates/admin/newaccount.html:31 templates/common/generic_modal.html:11 +msgid "Close" +msgstr "" -#: templates/common/email_searchbar.html:6 +#: templates/common/email_searchbar.html:5 msgid "From address" msgstr "De la dirección" -#: templates/common/email_searchbar.html:11 +#: templates/common/email_searchbar.html:10 msgid "Both" msgstr "Ambos" -#: templates/common/error.html:3 -msgid "Error" +#: templates/common/email_searchbar.html:12 +msgid "Search..." +msgstr "Buscar..." + +#: templates/common/error.html:4 +#, fuzzy +msgid "Error:" msgstr "Error" -#: templates/common/navbar.html:2 -msgid "Messages" -msgstr "Mensajes" +#: templates/common/generic_field.html:4 +#, fuzzy +msgid "Help:" +msgstr "Ayuda" #: templates/common/parameters.html:15 msgid "No parameters available" msgstr "No hay parámetros disponibles" -#: templates/registration/login.html:8 +#: templates/registration/login.html:5 msgid "Welcome to Modoboa" msgstr "Bienvenido a Modoboa" -#: templates/registration/login.html:28 -msgid "Welcome" -msgstr "Bienvenido" +#: templates/registration/login.html:35 +msgid "Remember me" +msgstr "" -#: templates/userprefs/chpassword.html:7 -#: userprefs/templatetags/uprefs_extras.py:23 -msgid "Change password" -msgstr "Cambiar la contraseña" +#: templates/registration/login.html:37 +msgid "Log in" +msgstr "" -#: templates/userprefs/preferences.html:6 -#: userprefs/templatetags/uprefs_extras.py:28 -msgid "Preferences" -msgstr "Preferencias" - -#: templates/userprefs/setforward.html:7 -msgid "Define your forward" -msgstr "Defina su reenvío" +#: templates/userprefs/preferences.html:2 +#: userprefs/templatetags/uprefs_extras.py:53 +msgid "Settings" +msgstr "Configuración" #: userprefs/__init__.py:7 msgid "Prefered language" @@ -1623,27 +1785,31 @@ msgstr "Idioma preferido" msgid "Prefered language to display pages" msgstr "Idioma preferido para mostrar las páginas" -#: userprefs/forms.py:13 +#: userprefs/forms.py:11 msgid "Old password" msgstr "Contraseña anterior" -#: userprefs/forms.py:15 +#: userprefs/forms.py:13 msgid "New password" msgstr "Nueva contraseña" -#: userprefs/forms.py:34 +#: userprefs/forms.py:27 msgid "Old password mismatchs" msgstr "La contraseña no concuerda con la anterior" -#: userprefs/forms.py:43 +#: userprefs/forms.py:32 +msgid "Passwords mismatch" +msgstr "Las contraseñas no coinciden" + +#: userprefs/forms.py:36 msgid "Destination(s)" msgstr "Destino(s)" -#: userprefs/forms.py:44 +#: userprefs/forms.py:37 msgid "Keep local copies" msgstr "Mantener copias locales" -#: userprefs/forms.py:57 +#: userprefs/forms.py:50 msgid "" "You can't define a forward to a local destination. Please ask your " "administrator to create an alias instead." @@ -1651,16 +1817,297 @@ 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:27 +#: userprefs/views.py:26 msgid "Password change is disabled for this user" msgstr "El cambio de contraseña está deshabilitado para este usuario" -#: userprefs/views.py:46 +#: userprefs/views.py:31 userprefs/templatetags/uprefs_extras.py:48 +msgid "Change password" +msgstr "Cambiar la contraseña" + +#: userprefs/views.py:51 msgid "Password changed" msgstr "Contraseña cambiada" -#: userprefs/views.py:79 +#: userprefs/views.py:63 +#, fuzzy +msgid "Define a forward" +msgstr "Defina su reenvío" + +#: userprefs/views.py:89 msgid "Forward updated" msgstr "Reenvío actualizado" +#: userprefs/views.py:142 +#, fuzzy +msgid "Preferences saved" +msgstr "Preferencias" +#: userprefs/templatetags/uprefs_extras.py:17 +msgid "Preferences" +msgstr "Preferencias" + +#: userprefs/templatetags/uprefs_extras.py:61 +msgid "Logout" +msgstr "Salir" + +#, fuzzy +#~ msgid "Domain administrators" +#~ msgstr "Administradores del dominio" + +#, fuzzy +#~ msgid "Max domain admins" +#~ msgstr "Añadir un administrador al dominio" + +#, fuzzy +#~ msgid "Max domains" +#~ msgstr "Nuevo dominio" + +#, fuzzy +#~ msgid "Max domain aliases" +#~ msgstr "Alias del dominio" + +#, fuzzy +#~ msgid "Max mailboxes" +#~ msgstr "'mailboxes'" + +#, fuzzy +#~ msgid "Max mailbox aliases" +#~ msgstr "Alias del \"mailbox\"" + +#~ msgid "/var/amavis/amavisd.sock" +#~ msgstr "/var/amavis/amavisd.sock" + +#~ msgid "Messages" +#~ msgstr "Mensajes" + +#~ msgid "of" +#~ msgstr "de" + +#~ msgid "First" +#~ msgstr "Primero" + +#~ msgid "Last" +#~ msgstr "Último" + +#~ msgid "Mailbox quota in MB (default to domain quota if blank)" +#~ msgstr "" +#~ "Cuota del \"Mailbox\" en MB (por defecto la del dominio, si no se " +#~ "especifica)" + +#~ msgid "Password used to log in" +#~ msgstr "Contraseña usada para identificarse (\"log in\")" + +#~ msgid "Password confirmation" +#~ msgstr "Confirmación de la contraseña" + +#~ msgid "Check to activate this mailbox" +#~ msgstr "Activar este 'mailbox'" + +#~ msgid "Target(s)" +#~ msgstr "Destino(s)" + +#~ msgid "Access denied for" +#~ msgstr "Acceso denegado para" + +#~ msgid "User" +#~ msgstr "Usuario" + +#~ msgid "Select a user in the list" +#~ msgstr "Seleccione un usuario de la lista" + +#~ msgid "Domain" +#~ msgstr "Dominio" + +#~ msgid "Select a domain in the list" +#~ msgstr "Elija un dominio de la lista" + +#~ msgid "Empty" +#~ msgstr "Vacío" + +#~ msgid "Invalid action, %(user)s is a local user" +#~ msgstr "Acción inválida, %(user)s es un usuario local" + +#~ msgid "First name and last name of mailbox owner" +#~ msgstr "Nombre y apellidos del propietario del \"mailbox\"" + +#~ msgid "password" +#~ msgstr "contraseña" + +#~ msgid "Add super administrator" +#~ msgstr "Añadir super administrador" + +#~ msgid "Created" +#~ msgstr "Creado" + +#~ msgid "Targeted domain" +#~ msgstr "Dominio elegido" + +#~ msgid "Address" +#~ msgstr "Dirección" + +#~ msgid "User name" +#~ msgstr "Nombre de usuario" + +#~ msgid "Full name" +#~ msgstr "Nombre completo" + +#~ msgid "Do not delete domain directory" +#~ msgstr "No eliminar el directorio del dominio" + +#~ msgid "Available domains" +#~ msgstr "Dominios disponibles" + +#~ msgid "Domain with this name already defined" +#~ msgstr "Ya existe un dominio con este nombre" + +#~ msgid "Domain editing" +#~ msgstr "Editando el dominio" + +#~ msgid "New domain alias" +#~ msgstr "Nuevo alias de dominio" + +#~ msgid "Domain alias editing" +#~ msgstr "Editando alias de dominio" + +#~ msgid "Domain alias updated" +#~ msgstr "Alias de dominio actualizado" + +#~ msgid "Available mailboxes" +#~ msgstr "\"Mailboxes\" disponibles" + +#~ msgid "Do not delete mailbox directory" +#~ msgstr "No eliminar el directorio del \"mailbox\"" + +#~ msgid "Mailbox editing" +#~ msgstr "Editando el \"Mailbox\"" + +#~ msgid "Mailbox modified" +#~ msgstr "\"Mailbox\" modificado" + +#~ msgid "You can't delete your own mailbox" +#~ msgstr "No puede eliminar su propio \"mailbox\"" + +#~ msgid "Mailbox deleted" +#~ msgid_plural "Mailboxes deleted" +#~ msgstr[0] "\"Mailbox\" elimiado" +#~ msgstr[1] "\"Mailboxes\" eliminados" + +#~ msgid "New mailbox alias" +#~ msgstr "Nuevo alias del \"mailbox\"" + +#~ msgid "Mailbox alias created" +#~ msgstr "Alias del \"mailbox\" creado." + +#~ msgid "Mailbox alias editing" +#~ msgstr "Editando el alias del \"mailbox\"" + +#~ msgid "Alias deleted" +#~ msgid_plural "Aliases deleted" +#~ msgstr[0] "Alias eliminado" +#~ msgstr[1] "Alias eliminados" + +#~ msgid "Permission added." +#~ msgstr "Permiso añadido." + +#~ msgid "Permissions removed" +#~ msgstr "Permisos eliminados" + +#~ msgid "Admin" +#~ msgstr "Administrador" + +#~ msgid "New" +#~ msgstr "Nuevo" + +#~ msgid "Remove" +#~ msgstr "Eliminar" + +#~ msgid "Add permission" +#~ msgstr "Añadir un permiso" + +#~ msgid "Edit alias" +#~ msgstr "Editar el alias" + +#~ msgid "View this mailbox aliases" +#~ msgstr "Mostrar este alias del \"mailbox\"" + +#~ msgid "Edit mailbox alias" +#~ msgstr "Editar el alias del \"mailbox\"" + +#~ msgid "Password used to authenticate" +#~ msgstr "Contraseña usada para autenticar" + +#~ msgid "View as plain text" +#~ msgstr "Ver como texto plana" + +#~ msgid "View as HTML" +#~ msgstr "Ver como HTML" + +#~ msgid "Back to list" +#~ msgstr "Volver a la lista" + +#~ msgid "Options" +#~ msgstr "Opciones" + +#~ msgid "Select" +#~ msgstr "Seleccionar" + +#~ msgid "Match type" +#~ msgstr "Tipo de coincidencia" + +#~ msgid "Filters" +#~ msgstr "Filtros" + +#~ msgid "Domain:" +#~ msgstr "Dominio:" + +#~ msgid "Global" +#~ msgstr "Global" + +#~ msgid "Period:" +#~ msgstr "Período:" + +#~ msgid "Start" +#~ msgstr "Inicio" + +#~ msgid "End" +#~ msgstr "Fin" + +#~ msgid "Authentication failed, check your configuration" +#~ msgstr "Ha fallado la autenticación, compruebe su configuración" + +#~ msgid "This folder contains no messages" +#~ msgstr "Esta carpeta no contiene mensajes" + +#~ msgid "Folder created" +#~ msgstr "Carpeta creada" + +#~ msgid "Edit folder" +#~ msgstr "Editar carpeta" + +#~ msgid "Folder modified" +#~ msgstr "Carpeta modificada" + +#~ msgid "Done" +#~ msgstr "Hecho" + +#~ msgid "Parent folder" +#~ msgstr "Carpeta padre" + +#~ msgid "Add a new folder" +#~ msgstr "Añadir una nueva carpeta" + +#~ msgid "Folders" +#~ msgstr "Carpetas" + +#~ msgid "Add" +#~ msgstr "Añadir" + +#~ msgid "for" +#~ msgstr "para" + +#~ msgid "Items" +#~ msgstr "Ítems" + +#~ msgid "Welcome" +#~ msgstr "Bienvenido" diff --git a/locale/es/LC_MESSAGES/djangojs.po b/locale/es/LC_MESSAGES/djangojs.po index 3c6013667..bda7182c8 100644 --- a/locale/es/LC_MESSAGES/djangojs.po +++ b/locale/es/LC_MESSAGES/djangojs.po @@ -1,49 +1,59 @@ # Modoboa spanish translation. # Copyright (C) 2012 # This file is distributed under the same license as the Modoboa package. -# +# # Translators: # Pedro Gracia , 2011. # Pedro Gracia , 2010, 2011. msgid "" msgstr "" "Project-Id-Version: Modoboa-0.8.8\n" -"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n" -"POT-Creation-Date: 2012-01-10 11:09+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 14:47+0200\n" "PO-Revision-Date: 2012-01-10 10:34+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: 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" -#: extensions/amavis_quarantine/static/js/quarantine.js:41 -msgid "Delete this message?" -msgstr "¿Eliminar este mensaje?" - -#: extensions/amavis_quarantine/static/js/quarantine.js:49 -msgid "Release this message?" -msgstr "¿Publicar este mensaje?" - -#: extensions/amavis_quarantine/static/js/quarantine.js:107 +#: extensions/amavis_quarantine/static/js/quarantine.js:126 msgid "Release this selection?" msgstr "¿Publicar esta selección?" -#: extensions/amavis_quarantine/static/js/quarantine.js:114 +#: extensions/amavis_quarantine/static/js/quarantine.js:130 msgid "Delete this selection?" msgstr "¿Eliminar esta selección?" +#: extensions/amavis_quarantine/static/js/quarantine.js:148 +#: extensions/amavis_quarantine/static/js/selfservice.js:22 +msgid "Release this message?" +msgstr "¿Publicar este mensaje?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:152 +#: extensions/amavis_quarantine/static/js/selfservice.js:26 +msgid "Delete this message?" +msgstr "¿Eliminar este mensaje?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:169 +msgid "View full headers" +msgstr "" + +#: extensions/amavis_quarantine/static/js/quarantine.js:174 +msgid "Hide full headers" +msgstr "" + #: extensions/sievefilters/static/js/lib.js:14 msgid "Remove this filter?" msgstr "¿Eliminar este filtro?" -#: extensions/sievefilters/static/js/lib.js:116 +#: extensions/sievefilters/static/js/lib.js:117 msgid "Save changes?" msgstr "¿Guardar cambios?" -#: extensions/sievefilters/static/js/lib.js:143 +#: extensions/sievefilters/static/js/lib.js:144 msgid "Remove filters set?" msgstr "¿Eliminar este conjunto de filtros?" @@ -52,52 +62,60 @@ msgid "Activate this filters set?" msgstr "¿Activar este conjunto de filtros?" #: extensions/sievefilters/static/js/lib.js:169 +#: extensions/sievefilters/static/js/lib.js:224 msgid "active" msgstr "Activar" -#: extensions/webmail/static/js/fdmenu.js:31 -msgid "Edit folder" -msgstr "Editar carpeta" +#: extensions/stats/static/js/stats.js:28 +msgid "Search a domain" +msgstr "" -#: extensions/webmail/static/js/fdmenu.js:63 -msgid "Folder deleted" -msgstr "Carpeta eliminada" +#: extensions/webmail/static/js/webmail.js:499 +#, fuzzy +msgid "Remove the selected mailbox?" +msgstr "¿Publicar esta selección?" -#: extensions/webmail/static/js/webmail.js:95 -msgid "Sending..." -msgstr "Enviando..." +#: extensions/webmail/static/js/webmail.js:513 +msgid "Mailbox removed" +msgstr "" -#: extensions/webmail/static/js/webmail.js:229 -#: extensions/webmail/static/js/webmail.js:254 static/js/anchor_nav.js:215 -msgid "Done" -msgstr "Hecho" +#: static/js/admin.js:17 +msgid "No domain administrator defined" +msgstr "" -#: extensions/webmail/static/js/webmail.js:243 -msgid "Waiting..." -msgstr "Esperando..." +#: static/js/confirmation.js:45 +msgid "Cancel" +msgstr "" -#: static/js/anchor_nav.js:10 +#: static/js/confirmation.js:84 static/js/history.js:229 +msgid "Internal Error" +msgstr "" + +#: static/js/history.js:10 msgid "Loading..." msgstr "Cargando..." -#: static/js/common.js:17 -msgid "Message sent" -msgstr "" - -#: static/js/common.js:188 +#: static/js/searchbar.js:20 msgid "Search..." msgstr "Buscar..." -#: static/js/domains.js:61 -msgid "Remove this selection?" -msgstr "" +#~ msgid "Edit folder" +#~ msgstr "Editar carpeta" -#: static/js/preferences.js:14 -msgid "Preferences saved" -msgstr "Preferencias guardas" +#~ msgid "Folder deleted" +#~ msgstr "Carpeta eliminada" -#: static/js/settings.js:14 -msgid "Parameters saved" -msgstr "Parámetros guardados" +#~ msgid "Sending..." +#~ msgstr "Enviando..." +#~ msgid "Done" +#~ msgstr "Hecho" +#~ msgid "Waiting..." +#~ msgstr "Esperando..." + +#~ msgid "Preferences saved" +#~ msgstr "Preferencias guardas" + +#~ msgid "Parameters saved" +#~ msgstr "Parámetros guardados" diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index e2a76e7ba..36071251f 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -1,13 +1,13 @@ # Modoboa french translation -# Copyright (C) 2010-2011 +# Copyright (C) 2009-2012 # This file is distributed under the same license as the Modoboa package. # -# Antoine Nguyen , 2010-2011. +# Antoine Nguyen , 2009-2012. msgid "" msgstr "" -"Project-Id-Version: modoboa-0.8.8\n" +"Project-Id-Version: modoboa-0.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-17 13:45+0100\n" +"POT-Creation-Date: 2012-04-25 16:41+0200\n" "PO-Revision-Date: 2011-01-07 10:00+100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: FR \n" @@ -62,202 +62,258 @@ msgstr "" "Sous répertoire (dans la boite aux lettres) ou les messages sont stockés en " "cas d'utilisation du format maildir" -#: admin/__init__.py:27 +#: admin/__init__.py:28 msgid "Scheme used to crypt mailbox passwords" msgstr "" "Méthode utilisée pour chiffrer les mots de passe des boites aux lettres" -#: admin/__init__.py:29 +#: admin/__init__.py:31 msgid "Number of displayed items per page" msgstr "Nombre d'éléments affichés par page" -#: admin/__init__.py:52 +#: admin/__init__.py:54 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/forms.py:27 +#: admin/forms.py:15 admin/forms.py:298 +msgid "Alias(es)" +msgstr "Alias" + +#: admin/forms.py:17 +msgid "Alias(es) of this domain" +msgstr "Alias de ce domaine" + +#: admin/forms.py:51 admin/views.py:58 +msgid "An alias with this name already exists" +msgstr "Un alias de ce nom existe déjà" + +#: admin/forms.py:66 +msgid "A domain with this name already exists" +msgstr "Un domaine de ce nom existe déjà" + +#: admin/forms.py:76 msgid "Failed to rename domain, check permissions" msgstr "Impossible de renommer le domaine, vérifier les permissions" -#: admin/forms.py:51 admin/tables.py:20 admin/tables.py:78 -msgid "Quota" -msgstr "Quota" +#: admin/forms.py:105 +msgid "Email address" +msgstr "Adresse email" -#: admin/forms.py:52 -msgid "Mailbox quota in MB (default to domain quota if blank)" -msgstr "" -"Quota en Mo de la boite aux lettres (par défaut celui du domaine si vide)" +#: admin/forms.py:106 +msgid "The distribution list address" +msgstr "L'adresse de liste de distribution" -#: admin/forms.py:53 auth/forms.py:6 -msgid "Password" -msgstr "Mot de passe" +#: admin/forms.py:109 +msgid "Recipients" +msgstr "Destinataires" -#: admin/forms.py:55 -msgid "Password used to log in" -msgstr "Mot de passe utilisé pour se connecter" - -#: admin/forms.py:56 userprefs/forms.py:17 -msgid "Confirmation" -msgstr "Confirmation" - -#: admin/forms.py:58 -msgid "Password confirmation" -msgstr "Confirmation du mot de passe" - -#: admin/forms.py:61 -msgid "Check to activate this mailbox" -msgstr "Cocher pour activer cette boite aux lettres" - -#: admin/forms.py:88 userprefs/forms.py:39 -msgid "Passwords mismatch" -msgstr "Les mots de passe diffèrent" - -#: admin/forms.py:103 admin/tables.py:103 -msgid "Target(s)" -msgstr "Cible(s)" - -#: admin/forms.py:104 +#: admin/forms.py:110 msgid "Mailbox(es) this alias will point to" msgstr "Les boites aux lettres sur lesquelles cet alias pointera" -#: admin/forms.py:152 +#: admin/forms.py:143 admin/forms.py:329 admin/models.py:756 +msgid "Domain does not exist" +msgstr "Domain inexistant" + +#: admin/forms.py:163 msgid "Invalid mailbox" msgstr "Boite aux lettres invalide" -#: admin/forms.py:159 -msgid "Access denied for" -msgstr "Accès refusé pour" +#: admin/forms.py:174 admin/models.py:776 +#, python-format +msgid "Mailbox %s does not exist" +msgstr "La boite %s n'existe pas" -#: admin/forms.py:168 -msgid "Permission denied on" -msgstr "Permission refusée sur" +#: admin/forms.py:183 +msgid "No recipient defined" +msgstr "Aucune destinataire défini" -#: admin/forms.py:183 admin/forms.py:199 -msgid "User" -msgstr "Utilisateur" +#: admin/forms.py:186 +msgid "A distribution list must contain at least two recipients" +msgstr "Une liste de distribution doit contenir au moins deux destinataires" -#: admin/forms.py:184 -msgid "Select a user" -msgstr "Sélectionner un utilisateur" - -#: admin/forms.py:185 admin/forms.py:201 -msgid "Select a user in the list" -msgstr "Sélectionner un utilisateur dans la liste" - -#: admin/forms.py:194 admin/tables.py:146 -msgid "Domain" -msgstr "Domaine" - -#: admin/forms.py:196 -msgid "Select a domain" -msgstr "Sélectionner un domaine" - -#: admin/forms.py:197 -msgid "Select a domain in the list" -msgstr "Sélectionner un domaine dans la liste" - -#: admin/forms.py:200 -msgid "Empty" -msgstr "Vide" - -#: admin/forms.py:204 extensions/webmail/forms.py:14 +#: admin/forms.py:199 extensions/webmail/forms.py:18 msgid "Select a file" msgstr "Sélectionner un fichier" -#: admin/forms.py:205 +#: admin/forms.py:200 msgid "Separator" msgstr "Séparateur" -#: admin/lib.py:13 -#, python-format -msgid "Invalid action, %(user)s is a local user" -msgstr "Action invalide, %(user)s est un utilisateur local" +#: admin/forms.py:212 auth/forms.py:6 templates/admin/editdomainform.html:20 +msgid "Username" +msgstr "Nom d'utilisateur" -#: admin/models.py:83 admin/models.py:147 admin/models.py:160 -msgid "name" -msgstr "Nom" +#: admin/forms.py:214 admin/forms.py:232 +msgid "Choose" +msgstr "Choisir" -#: admin/models.py:84 -msgid "The domain name" -msgstr "Le nom du domaine" +#: admin/forms.py:215 +msgid "What level of permission this user will have" +msgstr "Quel niveau de permission cet utilisateur aura" -#: admin/models.py:85 -msgid "Default quota in MB applied to mailboxes" -msgstr "Quota par défaut en Mo appliqué aux boites aux lettres" - -#: admin/models.py:86 admin/models.py:151 admin/models.py:400 -#: admin/models.py:476 extensions/postfix_autoreply/models.py:19 -msgid "enabled" +#: admin/forms.py:225 +msgid "Enabled" msgstr "Activé" -#: admin/models.py:87 -msgid "Check to activate this domain" -msgstr "Cocher pour activer ce domaine" - -#: admin/models.py:140 -msgid "Failed to initialise domain, check permissions" -msgstr "Impossible d'initialiser le domaine, vérifier les permissions" - -#: admin/models.py:148 -msgid "The alias name" -msgstr "Le nom de l'alias" - -#: admin/models.py:149 -msgid "target" -msgstr "cible" - -#: admin/models.py:150 -msgid "The domain this alias points to" -msgstr "Le domaine vers lequel cet alias pointe" - -#: admin/models.py:152 admin/models.py:401 -msgid "Check to activate this alias" -msgstr "Cocher pour activer cet alias" - -#: admin/models.py:161 -msgid "First name and last name of mailbox owner" -msgstr "Prénom et nom du propriétaire de la boite aux lettres" - -#: admin/models.py:162 admin/models.py:394 -msgid "address" -msgstr "Adresse" - -#: admin/models.py:163 -msgid "Mailbox address (without the @domain.tld part)" -msgstr "Adresse de la boite aux lettres (sans la partie @domain.tld)" - -#: admin/models.py:164 -msgid "password" +#: admin/forms.py:264 auth/forms.py:10 +msgid "Password" msgstr "Mot de passe" -#: admin/models.py:251 admin/models.py:334 -msgid "Failed to initialise mailbox, check permissions" -msgstr "" -"Impossible d'initialiser la boite aux lettres, vérifier les permissions" +#: admin/forms.py:266 userprefs/forms.py:15 +msgid "Confirmation" +msgstr "Confirmation" -#: admin/models.py:270 -msgid "Mailbox with this address already exists" -msgstr "Une boite aux lettres pour cette adresse existe déjà" +#: admin/forms.py:268 +msgid "Enter the same password as above, for verification." +msgstr "Entrer le même mot de passe, pour vérification." -#: admin/models.py:314 +#: admin/forms.py:280 +msgid "The two password fields didn't match." +msgstr "Les deux mots de passe ne correspondent pas." + +#: admin/forms.py:295 +msgid "E-mail" +msgstr "E-mail" + +#: admin/forms.py:296 admin/tables.py:21 +msgid "Quota" +msgstr "Quota" + +#: admin/forms.py:300 +msgid "Alias(es) of this mailbox" +msgstr "Alias de cette boite" + +#: admin/forms.py:332 admin/models.py:75 admin/models.py:665 +#: admin/views.py:359 extensions/stats/views.py:60 +msgid "You don't have access to this domain" +msgstr "Vous n'avez pas accès à ce domaine" + +#: admin/forms.py:350 +msgid "Failed to rename mailbox, check permissions" +msgstr "Impossible de renommer la boite aux lettres, vérifier les permissions." + +#: admin/forms.py:388 +msgid "Domain(s)" +msgstr "Domaine(s)" + +#: admin/forms.py:390 +msgid "Domain(s) that user administrates" +msgstr "Domaine(s) que cet utilisateur administre" + +#: admin/forms.py:429 admin/views.py:322 templates/admin/editdomainform.html:4 +msgid "General" +msgstr "Général" + +#: admin/forms.py:431 admin/views.py:325 +msgid "Mail" +msgstr "Courrier" + +#: admin/forms.py:433 +msgid "Permissions" +msgstr "Permissions" + +#: admin/lib.py:22 +msgid "Unknown object type" +msgstr "Type d'objet inconnu" + +#: admin/models.py:70 +msgid "You can't delete your own account" +msgstr "Vous ne pouvez pas supprimer votre propre compte" + +#: admin/models.py:80 +msgid "You don't have access to this account" +msgstr "Vous n'avez pas accès à ce compte" + +#: admin/models.py:141 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é" +msgstr "" +"Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé" -#: admin/models.py:320 +#: admin/models.py:147 #, python-format msgid "Failed to update password: %s" msgstr "Echec de la mise à jour du mot de passe : %s" -#: admin/models.py:360 +#: admin/models.py:378 admin/models.py:455 +msgid "name" +msgstr "Nom" + +#: admin/models.py:379 +msgid "The domain name" +msgstr "Le nom du domaine" + +#: admin/models.py:380 +msgid "Default quota in MB applied to mailboxes" +msgstr "Quota par défaut en Mo appliqué aux boites aux lettres" + +#: admin/models.py:381 admin/models.py:460 admin/models.py:696 +#: admin/models.py:782 extensions/postfix_autoreply/models.py:19 +msgid "enabled" +msgstr "Activé" + +#: admin/models.py:382 +msgid "Check to activate this domain" +msgstr "Cocher pour activer ce domaine" + +#: admin/models.py:440 +msgid "Failed to initialise domain, check permissions" +msgstr "Impossible d'initialiser le domaine, vérifier les permissions" + +#: admin/models.py:448 admin/models.py:657 admin/models.py:751 msgid "Invalid line" msgstr "Ligne invalide" -#: admin/models.py:366 +#: admin/models.py:456 +msgid "The alias name" +msgstr "Le nom de l'alias" + +#: admin/models.py:457 +msgid "target" +msgstr "cible" + +#: admin/models.py:458 +msgid "The domain this alias points to" +msgstr "Le domaine vers lequel cet alias pointe" + +#: admin/models.py:461 admin/models.py:697 +msgid "Check to activate this alias" +msgstr "Cocher pour activer cet alias" + +#: admin/models.py:474 admin/models.py:687 +msgid "address" +msgstr "Adresse" + +#: admin/models.py:475 +msgid "Mailbox address (without the @domain.tld part)" +msgstr "Adresse de la boite aux lettres (sans la partie @domain.tld)" + +#: admin/models.py:572 +#, python-format +msgid "%s is not a valid uid/username" +msgstr "%s n'est pas un uid/nom d'utilisateur valide" + +#: admin/models.py:581 +#, python-format +msgid "%s is not a valid gid/groupname" +msgstr "%s n'est pas un gid/nom de groupe valide" + +#: admin/models.py:585 admin/models.py:642 +msgid "Failed to initialise mailbox, check permissions" +msgstr "" +"Impossible d'initialiser la boite aux lettres, vérifier les permissions" + +#: admin/models.py:610 +#, python-format +msgid "Account '%s' already exists" +msgstr "Le compte %s existe déjà" + +#: admin/models.py:663 msgid "Cannot import this mailbox because the associated domain does not exist" msgstr "Impossible d'importer cette boite car le domaine associé n'existe pas" -#: admin/models.py:395 +#: admin/models.py:688 msgid "" "The alias address (without the domain part). For a 'catch-all' address, just " "enter an * character." @@ -265,300 +321,256 @@ msgstr "" "L'adresse de l'alias (sans la partie domaine). Pour une adresse 'attrape-" "tout', entrer juste un caractère *." -#: admin/models.py:397 +#: admin/models.py:692 msgid "mailboxes" msgstr "Boites aux lettres" -#: admin/models.py:398 +#: admin/models.py:693 msgid "The mailboxes this alias points to" msgstr "Les boites aux lettres sur lesquelles pointe cet alias" -#: admin/models.py:477 +#: admin/models.py:758 lib/permissions.py:115 +msgid "You can't access this domain" +msgstr "Vous ne pouvez pas accéder à ce domaine" + +#: admin/models.py:783 msgid "Check to enable this extension" msgstr "Cocher pour activer cette extension" -#: admin/permissions.py:29 -msgid "Add super administrator" -msgstr "Ajouter un super administrateur" - -#: admin/permissions.py:82 -msgid "Add domain administrator" -msgstr "Ajouter un admin. de domaine" - -#: admin/tables.py:10 admin/tables.py:45 admin/tables.py:71 -#: admin/tables.py:127 extensions/sievefilters/forms.py:16 -#: extensions/sievefilters/templates/sievefilters/filters.html:8 +#: admin/tables.py:11 admin/tables.py:49 extensions/sievefilters/forms.py:53 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:6 +#: templates/admin/editdomainform.html:20 msgid "Name" msgstr "Nom" -#: admin/tables.py:11 admin/tables.py:47 admin/tables.py:72 -#: admin/tables.py:104 -msgid "Created" -msgstr "Crée" +#: admin/tables.py:13 +msgid "Edit domain" +msgstr "Editer le domaine" -#: admin/tables.py:12 admin/tables.py:48 admin/tables.py:74 -#: admin/tables.py:105 -msgid "Last modified" -msgstr "Modifié" - -#: admin/tables.py:14 admin/views.py:164 -#: admin/templatetags/admin_extras.py:128 +#: admin/tables.py:15 extensions/limits/forms.py:16 +#: extensions/limits/models.py:11 msgid "Domain aliases" msgstr "Alias de domaine" -#: admin/tables.py:16 admin/templatetags/admin_extras.py:36 -#: admin/templatetags/admin_extras.py:131 +#: admin/tables.py:17 extensions/limits/forms.py:18 +#: extensions/limits/models.py:12 +#: extensions/webmail/templates/webmail/folders.html:4 msgid "Mailboxes" msgstr "Boites" -#: admin/tables.py:18 admin/views.py:394 -#: admin/templatetags/admin_extras.py:134 +#: admin/tables.py:19 extensions/limits/forms.py:20 +#: extensions/limits/models.py:13 msgid "Mailbox aliases" msgstr "Alias de boite." -#: admin/tables.py:24 admin/tables.py:52 admin/tables.py:82 -#: admin/tables.py:109 admin/templatetags/admin_extras.py:98 -#: extensions/sievefilters/templates/sievefilters/filter.html:86 -#: extensions/sievefilters/templates/sievefilters/filters.html:7 -#: extensions/sievefilters/templates/sievefilters/guieditor.html:3 -#: extensions/sievefilters/templates/sievefilters/rawfilter.html:3 +#: admin/tables.py:25 admin/tables.py:65 extensions/sievefilters/views.py:79 +#: extensions/sievefilters/templates/sievefilters/filter.html:17 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:5 #: extensions/webmail/templatetags/webextras.py:93 msgid "Actions" msgstr "Actions" -#: admin/tables.py:36 admin/tables.py:93 +#: admin/tables.py:36 msgid "MB" msgstr "Mo" -#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 -#: admin/tables.py:122 extensions/sievefilters/views.py:248 +#: admin/tables.py:39 extensions/sievefilters/views.py:265 msgid "yes" msgstr "oui" -#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 -#: admin/tables.py:122 extensions/sievefilters/views.py:252 +#: admin/tables.py:39 extensions/sievefilters/views.py:269 msgid "no" msgstr "non" -#: admin/tables.py:46 -msgid "Targeted domain" -msgstr "Domaine ciblé" - -#: admin/tables.py:70 admin/tables.py:102 -msgid "Address" -msgstr "Adresse" - -#: admin/tables.py:76 -msgid "Aliases" -msgstr "Alias" - -#: admin/tables.py:128 +#: admin/tables.py:50 msgid "Version" msgstr "Version" -#: admin/tables.py:129 +#: admin/tables.py:51 msgid "Description" msgstr "Description" -#: admin/tables.py:136 -msgid "User name" -msgstr "Nom d'utilisateur" +#: admin/tables.py:58 +msgid "Email/Username" +msgstr "Email/Nom d'utilisateur" -#: admin/tables.py:137 admin/tables.py:147 -msgid "Full name" -msgstr "Nom complet" +#: admin/tables.py:64 +msgid "Fullname/Recipient" +msgstr "Nom complet/Destinataire" -#: admin/tables.py:138 admin/tables.py:148 -msgid "Defined" -msgstr "Défini le" - -#: admin/views.py:31 -msgid "Unknown object type" -msgstr "Type d'objet inconnu" - -#: admin/views.py:65 -msgid "Do not delete domain directory" -msgstr "Ne pas supprimer le répertoire du domaine" - -#: admin/views.py:68 -msgid "Available domains" -msgstr "Domaines disponibles" - -#: admin/views.py:86 -msgid "Domain with this name already defined" -msgstr "Un domaine avec ce nom existe déjà" - -#: admin/views.py:103 +#: admin/views.py:78 admin/templatetags/admin_extras.py:67 msgid "New domain" msgstr "Nouveau domaine" -#: admin/views.py:104 admin/views.py:173 admin/views.py:297 admin/views.py:328 -#: admin/views.py:432 extensions/sievefilters/views.py:175 -#: extensions/webmail/views.py:371 +#: admin/views.py:79 admin/views.py:202 admin/views.py:319 admin/views.py:326 +#: extensions/sievefilters/views.py:120 extensions/sievefilters/views.py:187 +#: extensions/webmail/views.py:118 msgid "Create" msgstr "Créer" -#: admin/views.py:109 +#: admin/views.py:85 msgid "Domain created" msgstr "Domaine créé" -#: admin/views.py:120 -msgid "Domain editing" -msgstr "Edition de domaine" +#: admin/views.py:96 +msgid "You can't edit this domain" +msgstr "Vous ne pouvez pas éditer ce domaine" -#: admin/views.py:121 admin/views.py:208 admin/views.py:451 -#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:38 -#: extensions/webmail/views.py:398 templates/userprefs/chpassword.html:15 -#: templates/userprefs/setforward.html:15 +#: admin/views.py:107 admin/views.py:227 admin/views.py:372 +#: extensions/postfix_autoreply/views.py:22 +#: extensions/sievefilters/views.py:139 extensions/webmail/views.py:149 +#: userprefs/views.py:34 userprefs/views.py:66 msgid "Update" msgstr "Mettre à jour" -#: admin/views.py:126 +#: admin/views.py:114 msgid "Domain modified" msgstr "Domaine modifié" -#: admin/views.py:140 +#: admin/views.py:135 +msgid "You can't delete this domain" +msgstr "Vous ne pouvez pas supprimer ce domaine" + +#: admin/views.py:137 msgid "You can't delete your own domain" msgstr "Vous ne pouvez pas supprimer votre propre domaine" -#: admin/views.py:149 +#: admin/views.py:147 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domaine supprimé" msgstr[1] "Domaines supprimés" -#: admin/views.py:172 -msgid "New domain alias" -msgstr "Nouvel alias de domaine" - -#: admin/views.py:182 admin/views.py:217 -msgid "A domain with this name already exists" -msgstr "Un domaine de ce nom existe déjà" - -#: admin/views.py:187 admin/views.py:222 admin/views.py:412 +#: admin/views.py:180 msgid "Alias with this name already exists" msgstr "Un alias de ce nom existe déjà" -#: admin/views.py:189 -msgid "Domain alias created" -msgstr "Alias de domaine créé" +#: admin/views.py:201 admin/templatetags/admin_extras.py:96 +msgid "New distribution list" +msgstr "Nouvelle liste de distribution" -#: admin/views.py:207 -msgid "Domain alias editing" -msgstr "Edition d'alias de domaine" +#: admin/views.py:213 +msgid "Distribution list created" +msgstr "Liste de distribution créée" -#: admin/views.py:224 -msgid "Domain alias updated" -msgstr "Alias de domaine mis à jour" +#: admin/views.py:225 admin/views.py:248 +msgid "You do not have access to this domain" +msgstr "Vous n'avez pas accès à ce domaine" -#: admin/views.py:240 -msgid "Domain alias deleted" -msgid_plural "Domain aliases deleted" -msgstr[0] "Alias de domaine supprimé" -msgstr[1] "Alias de domaine supprimés" +#: admin/views.py:233 +msgid "Distribution list modified" +msgstr "Liste de distribution modifiée" -#: admin/views.py:248 -msgid "Available mailboxes" -msgstr "Boites aux lettres disponibles" +#: admin/views.py:253 +msgid "Distribution list deleted" +msgid_plural "Distribution lists deleted" +msgstr[0] "Liste de distribution supprimée" +msgstr[1] "Listes de distribution supprimées" -#: admin/views.py:256 -msgid "Do not delete mailbox directory" -msgstr "Ne pas supprimer le répertoire de la boite aux lettres" +#: admin/views.py:316 admin/templatetags/admin_extras.py:90 +msgid "New account" +msgstr "Nouveau compte" -#: admin/views.py:296 -msgid "New mailbox" -msgstr "Nouvelle boite aux lettres" - -#: admin/views.py:310 -msgid "Mailbox created" -msgstr "Boite aux lettres créée" +#: admin/views.py:323 +msgid "Next" +msgstr "Suivante" #: admin/views.py:327 -msgid "Mailbox editing" -msgstr "Edition de boite aux lettres" +msgid "Previous" +msgstr "Précédente" -#: admin/views.py:344 -msgid "Mailbox modified" -msgstr "Boite aux lettres modifiée" +#: admin/views.py:338 +msgid "Account created" +msgstr "Compte créé" -#: admin/views.py:347 -msgid "Failed to rename mailbox, check permissions" -msgstr "Impossible de renommer la boite aux lettres, vérifier les permissions." +#: admin/views.py:362 +msgid "You can't access this account" +msgstr "Vous n'avez pas accès à ce compte" -#: admin/views.py:366 -msgid "You can't delete your own mailbox" -msgstr "Vous ne pouvez pas supprimer votre propre boite aux lettres" +#: admin/views.py:389 +msgid "Account updated" +msgstr "Compte mis à jour" -#: admin/views.py:376 -msgid "Mailbox deleted" -msgid_plural "Mailboxes deleted" -msgstr[0] "Boite aux lettres supprimée" -msgstr[1] "Boites aux lettres supprimées" +#: admin/views.py:409 +msgid "Account deleted" +msgid_plural "Accounts deleted" +msgstr[0] "Compte supprimé" +msgstr[1] "Comptes supprimés" -#: admin/views.py:407 -msgid "No target defined" -msgstr "Aucune cible définie" +#: admin/views.py:438 admin/views.py:443 +#: extensions/amavis_quarantine/views.py:196 +#: extensions/amavis_quarantine/views.py:202 +#: extensions/amavis_quarantine/views.py:229 +#: extensions/amavis_quarantine/views.py:233 +#: extensions/amavis_quarantine/views.py:235 extensions/stats/views.py:46 +#: extensions/webmail/views.py:32 extensions/webmail/views.py:55 +#: extensions/webmail/views.py:68 extensions/webmail/views.py:80 +#: extensions/webmail/views.py:96 extensions/webmail/views.py:180 +#: extensions/webmail/views.py:405 extensions/webmail/views.py:416 +#: extensions/webmail/views.py:443 lib/formutils.py:29 lib/formutils.py:34 +msgid "Invalid request" +msgstr "Requête invalide" -#: admin/views.py:431 -msgid "New mailbox alias" -msgstr "Nouvel alias de boite aux lettres" +#: admin/views.py:445 +msgid "Permission denied" +msgstr "Permission refusée" -#: admin/views.py:437 -msgid "Mailbox alias created" -msgstr "Alias de boite aux lettres créé" +#: admin/views.py:483 +msgid "Parameters saved" +msgstr "Paramètres enregistrés" -#: admin/views.py:450 -msgid "Mailbox alias editing" -msgstr "Edition d'alias de boite" - -#: admin/views.py:456 -msgid "Mailbox alias modified" -msgstr "Alias de boite aux lettres modifié" - -#: admin/views.py:470 -msgid "Alias deleted" -msgid_plural "Aliases deleted" -msgstr[0] "Alias de boite aux lettres supprimé" -msgstr[1] "Alias de boite aux lettres supprimés" - -#: admin/views.py:481 -msgid "Super administrators" -msgstr "Super administrateurs" - -#: admin/views.py:490 -msgid "Domain administrators" -msgstr "Administrateurs de domaine" - -#: admin/views.py:505 admin/views.py:522 -msgid "Permission denied!" -msgstr "Permission refusée!" - -#: admin/views.py:514 -msgid "Permission added." -msgstr "Permission ajoutée." - -#: admin/views.py:528 -msgid "Permissions removed" -msgstr "Permission supprimée" - -#: admin/views.py:609 +#: admin/views.py:529 msgid "Modifications applied." -msgstr "Modifications appliquées" +msgstr "Modifications appliquées." -#: admin/views.py:631 +#: admin/views.py:586 #, python-format -msgid "%d mailboxes imported successfully" -msgstr "%d boites importées avec succès" +msgid "%d objects imported successfully" +msgstr "%d objets importés avec succès" -#: admin/views.py:641 admin/templatetags/admin_extras.py:112 -#: templates/admin/import.html:48 -msgid "Import data" -msgstr "Importer des données" +#: admin/views.py:605 +msgid "" +"Provide a CSV file where lines respect one of the following format:\n" +"
      \n" +"
    • account; loginname; password; first name; last name; address\n" +"
    • dlist; address; recipient; recipient; ...
    • \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; loginname; password; first name; last name; address\n" +"
    • dlist; address; recipient; recipient; ...
    • \n" +"
    \n" +"Vous pouvez utiliser un caractère différent comme séparateur.\n" -#: admin/views.py:642 templates/admin/import.html:56 +#: admin/views.py:613 +msgid "Import identities" +msgstr "Importer des identités" + +#: admin/views.py:614 admin/views.py:640 admin/templatetags/admin_extras.py:73 +#: admin/templatetags/admin_extras.py:102 msgid "Import" msgstr "Importer" +#: admin/views.py:632 +msgid "" +"Provide a CSV file where lines respect the following format:
    \n" +"domain; name; quota
    \n" +"\n" +"You can use a different character as separator.\n" +msgstr "" +"Fournir un fichier CSV ou chaque ligne respècte le format suivant :
    \n" +"domain; name; quota
    \n" +"\n" +"Vous pouvez utiliser un caractère différent comme séparateur.\n" + +#: admin/views.py:639 +msgid "Import domains" +msgstr "Importer des domaines" + #: admin/templatetags/admin_extras.py:12 msgid "enabled_m" msgstr "Activé" @@ -567,96 +579,51 @@ msgstr "Activé" msgid "enabled_f" msgstr "Activée" -#: admin/templatetags/admin_extras.py:20 -msgid "Admin" -msgstr "Admin" - -#: admin/templatetags/admin_extras.py:29 -#: admin/templatetags/admin_extras.py:123 +#: admin/templatetags/admin_extras.py:22 extensions/limits/forms.py:14 +#: extensions/limits/models.py:10 templates/admin/domains.html:2 msgid "Domains" msgstr "Domaines" -#: admin/templatetags/admin_extras.py:46 templates/admin/permissions.html:6 -msgid "Permissions" -msgstr "Permissions" +#: admin/templatetags/admin_extras.py:30 templates/admin/identities.html:2 +msgid "Identities" +msgstr "Identités" -#: admin/templatetags/admin_extras.py:53 -#: templates/admin/settings_header.html:6 -msgid "Settings" -msgstr "Configuration" +#: admin/templatetags/admin_extras.py:35 +msgid "Modoboa" +msgstr "Modoboa" -#: admin/templatetags/admin_extras.py:68 -msgid "Parameters" -msgstr "Paramètres" - -#: admin/templatetags/admin_extras.py:71 +#: admin/templatetags/admin_extras.py:49 templates/admin/extensions.html:2 msgid "Extensions" msgstr "Extensions" -#: admin/templatetags/admin_extras.py:103 -msgid "New" -msgstr "Nouveau" +#: admin/templatetags/admin_extras.py:54 templates/admin/parameters.html:2 +msgid "Parameters" +msgstr "Paramètres" -#: admin/templatetags/admin_extras.py:107 -msgid "Remove" -msgstr "Supprimer" +#: admin/templatetags/admin_extras.py:133 +msgid "Delete this account" +msgstr "Supprimer ce compte" -#: admin/templatetags/admin_extras.py:149 -msgid "Add permission" -msgstr "Ajouter une permission" +#: admin/templatetags/admin_extras.py:140 +msgid "Delete this distribution list" +msgstr "Supprimer cette liste de distribution" -#: admin/templatetags/admin_extras.py:153 -msgid "Remove permissions" -msgstr "Supprimer les permissions" +#: admin/templatetags/admin_extras.py:150 +msgid "Remove this permission" +msgstr "Supprimer cette permission" -#: admin/templatetags/admin_extras.py:166 -msgid "Edit domain" -msgstr "Editer le domaine" - -#: admin/templatetags/admin_extras.py:172 -msgid "View aliases of this domain" -msgstr "Voir les alias de ce domaine" - -#: admin/templatetags/admin_extras.py:182 -msgid "Edit alias" -msgstr "Editer cet alias" - -#: admin/templatetags/admin_extras.py:194 -msgid "Edit mailbox" -msgstr "Editer la boite aux lettres" - -#: admin/templatetags/admin_extras.py:200 -msgid "View this mailbox aliases" -msgstr "Voir les alias de cette boite" - -#: admin/templatetags/admin_extras.py:215 -msgid "Edit mailbox alias" -msgstr "Editer l'alias de boite" - -#: admin/templatetags/admin_extras.py:250 +#: admin/templatetags/admin_extras.py:184 msgid "Yes" msgstr "Oui" -#: admin/templatetags/admin_extras.py:250 +#: admin/templatetags/admin_extras.py:184 msgid "No" msgstr "Non" -#: admin/templatetags/admin_extras.py:267 templates/common/genericform.html:6 -msgid "Help" -msgstr "Aide" - #: auth/__init__.py:6 msgid "Key used to encrypt/decrypt passwords" msgstr "Clé utilisée pour chiffrer/déchiffre les mots de passe" -#: auth/forms.py:5 -msgid "Username" -msgstr "Nom d'utilisateur" - -#: auth/forms.py:7 -msgid "Password used to authenticate" -msgstr "Mot de passe utilisé pour se connecter" - #: auth/views.py:38 msgid "Account is disabled." msgstr "Compte désactivé." @@ -667,22 +634,26 @@ msgstr "" "Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez " "réessayer." -#: demo/__init__.py:16 +#: demo/__init__.py:19 msgid "Test messages" msgstr "Message de test" -#: demo/__init__.py:21 +#: demo/__init__.py:24 msgid "Send virus" msgstr "Envoyer un virus" -#: demo/__init__.py:25 +#: demo/__init__.py:28 msgid "Send spam" msgstr "Envoyer un spam" +#: demo/views.py:17 demo/views.py:41 +msgid "Message sent" +msgstr "Message envoyé" + #: demo/templates/demo/login_announcement.html:2 msgid "" "\n" -"

    Welcome to the online demo!

    \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" @@ -691,7 +662,7 @@ msgid "" "
  • A domain administrator : admin@demo.local/admin
  • \n" "
  • A simple user : user@demo.local/user
  • \n" "\n" -"

    Please report any issue of give any suggestion to \n" +"

    Please report any issue or give any suggestion to \n" " the " "mailing list.

    \n" msgstr "" @@ -710,177 +681,268 @@ msgstr "" " la liste " "de diffusion.

    \n" -#: extensions/amavis_quarantine/main.py:15 +#: extensions/amavis_quarantine/__init__.py:17 msgid "Simple amavis quarantine management tool" msgstr "Outil simple de gestion de quarantaine amavis" -#: extensions/amavis_quarantine/main.py:23 +#: extensions/amavis_quarantine/__init__.py:46 msgid "Quarantine messages maximum age (in days) before deletion" msgstr "Age maximum (en jours) des messages en quarantaine avant suppression" -#: extensions/amavis_quarantine/main.py:25 +#: extensions/amavis_quarantine/__init__.py:50 msgid "Remove messages marked as released while cleaning up the database" msgstr "" "Supprimer les messages marqués comme relâchés pendant le nettoyage de la " "base de données" -#: extensions/amavis_quarantine/main.py:29 +#: extensions/amavis_quarantine/__init__.py:55 msgid "Mode used to access the PDP server" msgstr "Mode utilisé pour accéder au serveur PDP" -#: extensions/amavis_quarantine/main.py:32 +#: extensions/amavis_quarantine/__init__.py:58 msgid "PDP server address (if inet mode)" msgstr "Adresse du serveur PDP (en mode inet)" -#: extensions/amavis_quarantine/main.py:35 +#: extensions/amavis_quarantine/__init__.py:61 msgid "PDP server port (if inet mode)" msgstr "Port du serveur PDP (en mode inet)" -#: extensions/amavis_quarantine/main.py:37 -msgid "/var/amavis/amavisd.sock" -msgstr "" - -#: extensions/amavis_quarantine/main.py:38 +#: extensions/amavis_quarantine/__init__.py:64 msgid "Path to the PDP server socket (if unix mode)" msgstr "Emplacement de la socket du serveur PDP (en mode unix)" -#: extensions/amavis_quarantine/main.py:42 extensions/webmail/main.py:40 +#: extensions/amavis_quarantine/__init__.py:67 +msgid "Interval between two release requests checks" +msgstr "Intervalle entre deux vérifications de requêtes en attente" + +#: extensions/amavis_quarantine/__init__.py:69 +msgid "Allow users to directly release their messages" +msgstr "Autoriser les utilisateurs à relâcher directement leurs messages" + +#: extensions/amavis_quarantine/__init__.py:71 +msgid "Activate the 'self-service' mode" +msgstr "Activer le mode 'libre service'" + +#: extensions/amavis_quarantine/__init__.py:76 +#: extensions/webmail/__init__.py:37 msgid "Sets the maximum number of messages displayed in a page" msgstr "Définit le nombre maximal de messages affichés dans une page" -#: extensions/amavis_quarantine/main.py:58 -#: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:42 +#: extensions/amavis_quarantine/__init__.py:90 msgid "Quarantine" msgstr "Quarantaine" -#: extensions/amavis_quarantine/sql_listing.py:21 -#: extensions/webmail/forms.py:5 +#: extensions/amavis_quarantine/__init__.py:145 +msgid "pending requests" +msgstr "requêtes en attente" + +#: extensions/amavis_quarantine/__init__.py:161 +#, python-format +msgid "%d pending requests" +msgstr "%d requêtes en attente" + +#: extensions/amavis_quarantine/sql_listing.py:23 +#: extensions/webmail/forms.py:5 extensions/webmail/lib.py:34 msgid "From" msgstr "De" -#: extensions/amavis_quarantine/sql_listing.py:22 -#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:8 -#: extensions/webmail/lib.py:525 templates/common/email_searchbar.html:7 +#: extensions/amavis_quarantine/sql_listing.py:24 +#: extensions/sievefilters/forms.py:68 extensions/webmail/forms.py:9 +#: extensions/webmail/lib.py:33 extensions/webmail/lib.py:363 +#: templates/common/email_searchbar.html:6 msgid "Subject" msgstr "Sujet" -#: extensions/amavis_quarantine/sql_listing.py:23 -#: extensions/webmail/lib.py:527 +#: extensions/amavis_quarantine/sql_listing.py:25 extensions/webmail/lib.py:35 +#: extensions/webmail/lib.py:365 msgid "Date" msgstr "Date" -#: extensions/amavis_quarantine/sql_listing.py:24 -#: extensions/amavis_quarantine/templatetags/amextras.py:94 +#: extensions/amavis_quarantine/sql_listing.py:26 +#: extensions/amavis_quarantine/templatetags/amextras.py:102 #: extensions/webmail/forms.py:6 msgid "To" msgstr "A" -#: extensions/amavis_quarantine/views.py:89 +#: extensions/amavis_quarantine/views.py:32 msgid "Empty quarantine" msgstr "Quarantaine vide" -#: extensions/amavis_quarantine/views.py:172 +#: extensions/amavis_quarantine/views.py:203 +msgid "Message deleted" +msgstr "Message supprimé" + +#: extensions/amavis_quarantine/views.py:219 #, 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_quarantine/views.py:202 +#: extensions/amavis_quarantine/views.py:238 +msgid "Request sent" +msgstr "Requête envoyée" + +#: extensions/amavis_quarantine/views.py:244 +msgid "Message released" +msgstr "Message relâché" + +#: extensions/amavis_quarantine/views.py:258 +#, 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_quarantine/views.py:281 #, python-format msgid "%(count)d message released successfully" msgid_plural "%(count)d messages released successfully" msgstr[0] "%(count)d message relâché correctement" msgstr[1] "%(count)d messages relâchés correctement" -#: extensions/amavis_quarantine/templates/amavis_quarantine/viewheader.html:36 -msgid "Message headers" -msgstr "Entêtes du message" +#: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:2 +msgid "Quarantine management" +msgstr "Gestion de la quarantaine" -#: extensions/amavis_quarantine/templatetags/amextras.py:16 -msgid "View as plain text" -msgstr "Afficher en texte" - -#: extensions/amavis_quarantine/templatetags/amextras.py:19 -msgid "View as HTML" -msgstr "Afficher en HTML" - -#: extensions/amavis_quarantine/templatetags/amextras.py:22 -#: extensions/webmail/templatetags/webextras.py:42 -msgid "Activate links" -msgstr "Activer les liens" - -#: extensions/amavis_quarantine/templatetags/amextras.py:30 -msgid "Back to list" -msgstr "Retour à la liste" - -#: extensions/amavis_quarantine/templatetags/amextras.py:34 -msgid "View full headers" -msgstr "Afficher tous les entêtes" - -#: extensions/amavis_quarantine/templatetags/amextras.py:41 -#: extensions/amavis_quarantine/templatetags/amextras.py:64 +#: extensions/amavis_quarantine/templatetags/amextras.py:20 +#: extensions/amavis_quarantine/templatetags/amextras.py:52 +#: extensions/amavis_quarantine/templatetags/amextras.py:72 msgid "Release" msgstr "Relâcher" -#: extensions/amavis_quarantine/templatetags/amextras.py:46 -#: extensions/amavis_quarantine/templatetags/amextras.py:68 -#: extensions/webmail/templatetags/webextras.py:35 +#: extensions/amavis_quarantine/templatetags/amextras.py:26 +#: extensions/amavis_quarantine/templatetags/amextras.py:59 +#: extensions/amavis_quarantine/templatetags/amextras.py:77 +#: extensions/webmail/templatetags/webextras.py:33 msgid "Delete" msgstr "Supprimer" -#: extensions/amavis_quarantine/templatetags/amextras.py:48 -#: userprefs/templatetags/uprefs_extras.py:17 -msgid "Options" -msgstr "Options" +#: extensions/amavis_quarantine/templatetags/amextras.py:29 +msgid "View full headers" +msgstr "Afficher tous les entêtes" -#: extensions/amavis_quarantine/templatetags/amextras.py:72 -msgid "Select" -msgstr "Sélectionner" +#: extensions/amavis_quarantine/templatetags/amextras.py:80 +msgid "Content Class" +msgstr "Classe de contenu" -#: extensions/amavis_quarantine/templatetags/amextras.py:77 +#: extensions/amavis_quarantine/templatetags/amextras.py:84 msgid "Nothing" msgstr "Rien" -#: extensions/amavis_quarantine/templatetags/amextras.py:80 +#: extensions/amavis_quarantine/templatetags/amextras.py:87 msgid "Spam" msgstr "Spam" -#: extensions/amavis_quarantine/templatetags/amextras.py:83 +#: extensions/amavis_quarantine/templatetags/amextras.py:90 +msgid "Virus" +msgstr "Virus" + +#: extensions/amavis_quarantine/templatetags/amextras.py:93 msgid "Bad header" msgstr "Mauvais entête" -#: extensions/amavis_quarantine/templatetags/amextras.py:86 +#: extensions/amavis_quarantine/templatetags/amextras.py:96 msgid "Bad MIME" msgstr "Mauvais type MIME" -#: extensions/postfix_autoreply/forms.py:7 -msgid "Until" -msgstr "Jusqu'à" +#: extensions/limits/__init__.py:55 +msgid "" +"Per administrator resources to limit the number of objects they can create" +msgstr "" -#: extensions/postfix_autoreply/forms.py:8 -msgid "Activate your auto reply until this date" -msgstr "Activer votre réponse automatique jusqu'à cette date" +#: extensions/limits/__init__.py:62 +msgid "Reseller" +msgstr "Revendeur" -#: extensions/postfix_autoreply/forms.py:22 -msgid "This date is over" -msgstr "Cette date est dépassée" +#: extensions/limits/__init__.py:93 +msgid "Resources" +msgstr "Ressources" -#: extensions/postfix_autoreply/main.py:21 +#: extensions/limits/forms.py:11 extensions/limits/models.py:9 +msgid "Domain admins" +msgstr "Admins de domaine" + +#: extensions/limits/forms.py:12 +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:15 +msgid "Maximum number of domains this user can create" +msgstr "Nombre maximal de domaines que cet utilisateur peut créer" + +#: extensions/limits/forms.py:17 +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:19 +msgid "Maximum number of mailboxes this user can create" +msgstr "Nombre maximal de boites que cet utilisateur peut créer" + +#: extensions/limits/forms.py:21 +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:36 +msgid "Invalid limit" +msgstr "Limite invalide" + +#: extensions/limits/forms.py:60 +msgid "Your resources are not initialized yet" +msgstr "Vos ressources ne sont pas encore initialisées" + +#: extensions/limits/forms.py:63 +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 +#, python-format +msgid "%s: limit reached" +msgstr "%s : limite atteinte" + +#: extensions/limits/lib.py:23 +msgid "Not enough resources" +msgstr "Pas assez de ressources" + +#: extensions/limits/models.py:100 +msgid "undefined" +msgstr "Indéfini" + +#: extensions/limits/models.py:102 +msgid "unlimited" +msgstr "illimité" + +#: extensions/limits/templates/limits/poolusage.html:3 +msgid "Resources usage" +msgstr "Utilisation des ressources" + +#: extensions/postfix_autoreply/__init__.py:20 msgid "Auto-reply (vacation) functionality using Postfix" msgstr "Fonction de réponse automatique (vacances) utilisant Postfix" -#: extensions/postfix_autoreply/main.py:35 +#: extensions/postfix_autoreply/__init__.py:45 msgid "Timeout in seconds between two auto-replies to the same recipient" msgstr "" "Timeout en secondes entre deux réponses automatiques pour le même " "destinataire" -#: extensions/postfix_autoreply/main.py:61 -#: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:30 +#: extensions/postfix_autoreply/__init__.py:68 +#: extensions/postfix_autoreply/views.py:19 msgid "Auto-reply message" msgstr "Message de réponse automatique" +#: extensions/postfix_autoreply/forms.py:8 +msgid "Until" +msgstr "Jusqu'à" + +#: extensions/postfix_autoreply/forms.py:9 +msgid "Activate your auto reply until this date" +msgstr "Activer votre réponse automatique jusqu'à cette date" + +#: extensions/postfix_autoreply/forms.py:23 +msgid "This date is over" +msgstr "Cette date est dépassée" + #: extensions/postfix_autoreply/models.py:15 msgid "subject" msgstr "sujet" @@ -901,71 +963,104 @@ msgstr "Le contenu qui apparaitra dans les emails envoyés" msgid "Activate/Deactivate your auto reply" msgstr "Activer/Désactiver votre réponse automatique" -#: extensions/postfix_autoreply/views.py:36 +#: extensions/postfix_autoreply/views.py:43 msgid "Auto reply message updated successfully." msgstr "Message de réponse auto. mis à jour." -#: extensions/sievefilters/forms.py:10 +#: extensions/sievefilters/__init__.py:15 +msgid "Address of your MANAGESIEVE server" +msgstr "Adresse de votre serveur ManageSieve" + +#: extensions/sievefilters/__init__.py:17 +msgid "Listening port of your MANAGESIEVE server" +msgstr "Port d'écoute de votre serveur ManageSieve" + +#: extensions/sievefilters/__init__.py:19 +msgid "Use the STARTTLS extension" +msgstr "Utiliser l'extension STARTTLS" + +#: extensions/sievefilters/__init__.py:26 +msgid "Prefered authentication mechanism" +msgstr "Méthode d'authentification préférée" + +#: extensions/sievefilters/__init__.py:30 +msgid "Editor mode" +msgstr "Mode de l'editeur" + +#: extensions/sievefilters/__init__.py:32 +msgid "Select the mode you want the editor to work in" +msgstr "Sélectionner le mode de fonctionnement de l'éditeur" + +#: extensions/sievefilters/__init__.py:42 +msgid "Plugin to easily create server-side filters" +msgstr "Extension pour créer simplement des filtres côté serveur" + +#: extensions/sievefilters/__init__.py:56 +#: extensions/sievefilters/templates/sievefilters/index.html:2 +msgid "Message filters" +msgstr "Filtres de messages" + +#: extensions/sievefilters/forms.py:14 msgid "Check to activate this filters set" msgstr "Cocher pour activer ce jeu de filtres" -#: extensions/sievefilters/forms.py:17 +#: extensions/sievefilters/forms.py:55 msgid "All of the following" msgstr "Toutes les conditions suivantes" -#: extensions/sievefilters/forms.py:18 +#: extensions/sievefilters/forms.py:56 msgid "Any of the following" msgstr "Au moins une des conditions suivantes" -#: extensions/sievefilters/forms.py:19 +#: extensions/sievefilters/forms.py:57 msgid "All messages" msgstr "Tous les messages" -#: extensions/sievefilters/forms.py:23 +#: extensions/sievefilters/forms.py:62 msgid "contains" msgstr "contient" -#: extensions/sievefilters/forms.py:24 +#: extensions/sievefilters/forms.py:63 msgid "does not contain" msgstr "ne contient pas" -#: extensions/sievefilters/forms.py:25 +#: extensions/sievefilters/forms.py:64 msgid "is" msgstr "est" -#: extensions/sievefilters/forms.py:26 +#: extensions/sievefilters/forms.py:65 msgid "is not" msgstr "n'est pas" -#: extensions/sievefilters/forms.py:30 +#: extensions/sievefilters/forms.py:69 msgid "Sender" msgstr "Expéditeur" -#: extensions/sievefilters/forms.py:31 +#: extensions/sievefilters/forms.py:70 msgid "Recipient" msgstr "Destinataire" -#: extensions/sievefilters/forms.py:32 extensions/webmail/forms.py:7 +#: extensions/sievefilters/forms.py:71 extensions/webmail/forms.py:7 msgid "Cc" msgstr "Cc" -#: extensions/sievefilters/forms.py:33 +#: extensions/sievefilters/forms.py:72 msgid "Size" msgstr "Taille" -#: extensions/sievefilters/forms.py:34 +#: extensions/sievefilters/forms.py:73 msgid "is greater than" msgstr "est supérieure à" -#: extensions/sievefilters/forms.py:35 +#: extensions/sievefilters/forms.py:74 msgid "is less than" msgstr "est inférieure à" -#: extensions/sievefilters/forms.py:39 +#: extensions/sievefilters/forms.py:78 msgid "Move message to" msgstr "Déplacer le message vers" -#: extensions/sievefilters/forms.py:41 +#: extensions/sievefilters/forms.py:80 msgid "Redirect message to" msgstr "Rediriger le message vers" @@ -974,134 +1069,88 @@ 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:78 +#: extensions/sievefilters/lib.py:82 msgid "Not enough space on server" msgstr "Pas assez d'espace sur le serveur" -#: extensions/sievefilters/main.py:15 -msgid "Address of your MANAGESIEVE server" -msgstr "Adresse de votre serveur ManageSieve" - -#: extensions/sievefilters/main.py:17 -msgid "Listening port of your MANAGESIEVE server" -msgstr "Port d'écoute de votre serveur ManageSieve" - -#: extensions/sievefilters/main.py:19 -msgid "Use the STARTTLS extension" -msgstr "Utiliser l'extension STARTTLS" - -#: extensions/sievefilters/main.py:26 -msgid "Prefered authentication mechanism" -msgstr "Méthode d'authentification préférée" - -#: extensions/sievefilters/main.py:30 -msgid "Editor mode" -msgstr "Mode de l'editeur" - -#: extensions/sievefilters/main.py:32 -msgid "Select the mode you want the editor to work in" -msgstr "Sélectionner le mode de fonctionnement de l'éditeur" - -#: extensions/sievefilters/main.py:42 -msgid "Plugin to easily create server-side filters" -msgstr "Extension pour créer simplement des filtres côté serveur" - -#: extensions/sievefilters/main.py:57 -#: extensions/sievefilters/templates/sievefilters/index.html:17 -msgid "Message filters" -msgstr "Filtres de messages" - -#: extensions/sievefilters/views.py:70 +#: extensions/sievefilters/views.py:64 msgid "Failed to retrieve filters set" msgstr "Impossible de récuperer le jeu de filtres" -#: extensions/sievefilters/views.py:114 -#: extensions/sievefilters/templatetags/sfilters_tags.py:34 +#: extensions/sievefilters/views.py:117 +#: extensions/sievefilters/templatetags/sfilters_tags.py:33 msgid "New filter" msgstr "Nouveau filtre" -#: extensions/sievefilters/views.py:117 +#: extensions/sievefilters/views.py:124 msgid "Filter created" msgstr "Filtre créé" -#: extensions/sievefilters/views.py:128 -#: extensions/sievefilters/templatetags/sfilters_tags.py:72 +#: extensions/sievefilters/views.py:136 +#: extensions/sievefilters/templatetags/sfilters_tags.py:77 msgid "Edit filter" msgstr "Editer le filtre" -#: extensions/sievefilters/views.py:133 +#: extensions/sievefilters/views.py:145 msgid "Filter modified" msgstr "Filtre modifié" -#: extensions/sievefilters/views.py:153 +#: extensions/sievefilters/views.py:165 msgid "Filter removed" msgstr "Filtre supprimé" -#: extensions/sievefilters/views.py:154 +#: extensions/sievefilters/views.py:166 msgid "Failed to remove filter" msgstr "Impossible de supprimer le filtre" -#: extensions/sievefilters/views.py:168 +#: extensions/sievefilters/views.py:180 msgid "Filters set saved" msgstr "Jeu de filtres sauvegardé" -#: extensions/sievefilters/views.py:173 +#: extensions/sievefilters/views.py:185 msgid "Create a new filters set" msgstr "Créer un nouveau jeu de filtres" -#: extensions/sievefilters/views.py:193 +#: extensions/sievefilters/views.py:207 msgid "Filters set created" msgstr "Jeu de filtres créé" -#: extensions/sievefilters/views.py:210 +#: extensions/sievefilters/views.py:226 msgid "Filters set deleted" msgstr "Jeu de filtres supprimé" -#: extensions/sievefilters/views.py:221 +#: extensions/sievefilters/views.py:238 msgid "Filters set activated" msgstr "Jeu de filtres activé" -#: extensions/sievefilters/templates/sievefilters/filter.html:72 +#: extensions/sievefilters/templates/sievefilters/filter.html:6 msgid "Conditions" msgstr "Conditions" -#: extensions/sievefilters/templates/sievefilters/filter.html:75 -msgid "Match type" -msgstr "Type de comparaison" - -#: extensions/sievefilters/templates/sievefilters/filter.html:92 -#: templates/admin/parameters.html:14 templates/userprefs/preferences.html:18 -msgid "Save" -msgstr "Sauvegarder" - -#: extensions/sievefilters/templates/sievefilters/filters.html:2 -msgid "Filters" -msgstr "Filtres" - -#: extensions/sievefilters/templates/sievefilters/filters.html:9 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:7 msgid "Active" msgstr "Actif" -#: extensions/sievefilters/templates/sievefilters/filters.html:26 +#: extensions/sievefilters/templates/sievefilters/guieditor.html:24 msgid "No filter defined yet" msgstr "Aucun filtre défini." -#: extensions/sievefilters/templates/sievefilters/index.html:20 -msgid "Filters sets" +#: extensions/sievefilters/templates/sievefilters/index.html:55 +msgid "Filter sets" msgstr "Jeux de filtres" -#: extensions/sievefilters/templates/sievefilters/index.html:23 +#: extensions/sievefilters/templates/sievefilters/index.html:59 msgid "active" msgstr "actif" -#: extensions/sievefilters/templates/sievefilters/index.html:38 +#: extensions/sievefilters/templates/sievefilters/index.html:73 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:17 +#: extensions/sievefilters/templatetags/sfilters_tags.py:16 msgid "New filters set" msgstr "Nouveau jeu de filtres" @@ -1109,116 +1158,132 @@ msgstr "Nouveau jeu de filtres" msgid "Save filters set" msgstr "Sauvegarder le jeu de filtres" -#: extensions/sievefilters/templatetags/sfilters_tags.py:51 +#: extensions/sievefilters/templatetags/sfilters_tags.py:52 msgid "Activate filters set" msgstr "Activer le jeu de filtres" -#: extensions/sievefilters/templatetags/sfilters_tags.py:55 +#: extensions/sievefilters/templatetags/sfilters_tags.py:57 msgid "Remove filters set" msgstr "Supprimer le jeu de filtres" -#: extensions/sievefilters/templatetags/sfilters_tags.py:59 +#: extensions/sievefilters/templatetags/sfilters_tags.py:62 msgid "Download" msgstr "Télécharger" -#: extensions/sievefilters/templatetags/sfilters_tags.py:78 +#: extensions/sievefilters/templatetags/sfilters_tags.py:85 msgid "Remove this filter" msgstr "Supprimer ce filtre" -#: extensions/sievefilters/templatetags/sfilters_tags.py:85 +#: extensions/sievefilters/templatetags/sfilters_tags.py:93 msgid "Move this filter up" msgstr "Déplacer ce filtre vers le haut" -#: extensions/sievefilters/templatetags/sfilters_tags.py:92 +#: extensions/sievefilters/templatetags/sfilters_tags.py:101 msgid "Move this filter down" msgstr "Déplacer ce filtre vers le bas" -#: extensions/stats/grapher.py:18 -msgid "sent messages" -msgstr "messages envoyés" - -#: extensions/stats/grapher.py:20 -msgid "received messages" -msgstr "messages reçus" - -#: extensions/stats/grapher.py:28 -msgid "msgs/min" -msgstr "msgs/min" - -#: extensions/stats/grapher.py:32 -msgid "bounced messages" -msgstr "messages non remis" - -#: extensions/stats/grapher.py:34 -msgid "rejected messages" -msgstr "messages rejetés" - -#: extensions/stats/grapher.py:42 -msgid "bytes/min" -msgstr "octes/min" - -#: extensions/stats/grapher.py:46 -msgid "received size" -msgstr "taille reçue" - -#: extensions/stats/grapher.py:48 -msgid "sent size" -msgstr "taille envoyée" - -#: extensions/stats/main.py:20 +#: extensions/stats/__init__.py:20 msgid "Graphical statistics about emails traffic using RRDtool" msgstr "" "Statistiques graphiques concernant le trafic des messages utilisant RRDtool" -#: extensions/stats/main.py:28 +#: extensions/stats/__init__.py:27 msgid "Path to log file used to collect statistics" msgstr "Emplacement du log utilisé pour collecter les statistiques" -#: extensions/stats/main.py:31 +#: extensions/stats/__init__.py:30 msgid "Path to directory where RRD files are stored" msgstr "Emplacement du répertoire de stockage des fichiers RRD" -#: extensions/stats/main.py:34 +#: extensions/stats/__init__.py:33 msgid "Path to directory where PNG files are stored" msgstr "Emplacement du répertoire de stockage des fichiers PNG" -#: extensions/stats/main.py:47 extensions/stats/templates/stats/index.html:84 +#: extensions/stats/__init__.py:36 +msgid "Graphics location (to build URLs)" +msgstr "Emplacement des graphiques (pour construire les URLs)" + +#: extensions/stats/__init__.py:47 msgid "Statistics" msgstr "Statistiques" -#: extensions/stats/views.py:15 +#: extensions/stats/grapher.py:17 +msgid "sent messages" +msgstr "messages envoyés" + +#: extensions/stats/grapher.py:19 +msgid "received messages" +msgstr "messages reçus" + +#: extensions/stats/grapher.py:27 +msgid "msgs/min" +msgstr "msgs/min" + +#: extensions/stats/grapher.py:31 +msgid "bounced messages" +msgstr "messages non remis" + +#: extensions/stats/grapher.py:33 +msgid "rejected messages" +msgstr "messages rejetés" + +#: extensions/stats/grapher.py:41 +msgid "bytes/min" +msgstr "octes/min" + +#: extensions/stats/grapher.py:45 +msgid "received size" +msgstr "taille reçue" + +#: extensions/stats/grapher.py:47 +msgid "sent size" +msgstr "taille envoyée" + +#: extensions/stats/views.py:11 msgid "Average normal traffic" msgstr "Trafic normal moyen" -#: extensions/stats/views.py:16 +#: extensions/stats/views.py:12 msgid "Average bad traffic" msgstr "Mauvais trafic moyen" -#: extensions/stats/views.py:17 +#: extensions/stats/views.py:13 msgid "Average normal traffic size" msgstr "Taille moyenne du trafic normal" -#: extensions/stats/views.py:18 +#: extensions/stats/views.py:14 msgid "Day" msgstr "Jour" -#: extensions/stats/views.py:19 +#: extensions/stats/views.py:15 msgid "Week" msgstr "Semaine" -#: extensions/stats/views.py:20 +#: extensions/stats/views.py:16 msgid "Month" msgstr "Mois" -#: extensions/stats/views.py:21 +#: extensions/stats/views.py:17 msgid "Year" msgstr "Année" -#: extensions/stats/views.py:22 +#: extensions/stats/views.py:18 msgid "Custom" msgstr "Personnalisée" -#: extensions/stats/views.py:60 +#: extensions/stats/views.py:30 extensions/stats/templates/stats/graphs.html:8 +msgid "No statistics available" +msgstr "Aucune statistique disponible" + +#: extensions/stats/views.py:52 +msgid "you're not allowed to see those statistics" +msgstr "vous n'êtes pas autorisé à voir ces statistiques" + +#: extensions/stats/views.py:58 +msgid "Domain not found. Please enter a full name" +msgstr "Domaine non trouvé. Veuillez entrer un nom complet" + +#: extensions/stats/views.py:65 msgid "Bad custom period" msgstr "Mauvaise période personnalisée" @@ -1227,400 +1292,434 @@ msgid "Custom period : from" msgstr "Période personnalisée : de" #: extensions/stats/templates/stats/graphs.html:3 -#: templates/admin/listing.html:12 templates/common/navbar.html:2 msgid "to" msgstr "à" -#: extensions/stats/templates/stats/graphs.html:8 -msgid "No statistics available" -msgstr "Aucune statistique disponible" +#: extensions/stats/templates/stats/index.html:2 +msgid "Graphical statistics" +msgstr "Statistiques graphiques" -#: extensions/stats/templates/stats/index.html:89 -msgid "Domain:" -msgstr "Domaine :" +#: extensions/stats/templates/stats/index.html:20 +msgid "Search a domain" +msgstr "Chercher un domaine" -#: extensions/stats/templates/stats/index.html:91 -msgid "Global" -msgstr "Global" +#: extensions/stats/templates/stats/index.html:29 +msgid "Apply" +msgstr "Appliquer" -#: extensions/stats/templates/stats/index.html:99 -msgid "Period:" -msgstr "Période :" - -#: extensions/stats/templates/stats/index.html:107 -msgid "Start" -msgstr "Démarrer" - -#: extensions/stats/templates/stats/index.html:109 -msgid "End" -msgstr "Fin" - -#: extensions/webmail/lib.py:33 -msgid "Server response" -msgstr "Réponse du serveur" - -#: extensions/webmail/lib.py:145 -msgid "Connection to IMAP server failed, check your configuration" -msgstr "La connexion au serveur IMAP a échoué, vérifiez votre configuration" - -#: extensions/webmail/lib.py:149 -msgid "Authentication failed, check your configuration" -msgstr "L'authentification a échoué, vérifiez votre configuration" - -#: extensions/webmail/lib.py:472 -msgid "wrote:" -msgstr "a écrit :" - -#: extensions/webmail/lib.py:539 extensions/webmail/lib.py:543 -msgid "Original message" -msgstr "Message original" - -#: extensions/webmail/main.py:14 +#: extensions/webmail/__init__.py:12 msgid "Address of your IMAP server" msgstr "Adresse de votre serveur IMAP" -#: extensions/webmail/main.py:17 +#: extensions/webmail/__init__.py:15 msgid "Use a secured connection to access IMAP server" msgstr "Utiliser une connexion sécurisée pour accéder au serveur IMAP" -#: extensions/webmail/main.py:19 +#: extensions/webmail/__init__.py:17 msgid "Listening port of your IMAP server" msgstr "Port d'écoute de votre serveur IMAP" -#: extensions/webmail/main.py:22 +#: extensions/webmail/__init__.py:20 msgid "Address of your SMTP server" msgstr "Adresse de votre serveur SMTP" -#: extensions/webmail/main.py:24 +#: extensions/webmail/__init__.py:22 msgid "None" msgstr "Aucun" -#: extensions/webmail/main.py:28 +#: extensions/webmail/__init__.py:26 msgid "Use a secured connection to access SMTP server" msgstr "Utiliser une connexion sécurisée pour accéder au serveur SMTP" -#: extensions/webmail/main.py:30 +#: extensions/webmail/__init__.py:28 msgid "Listening port of your SMTP server" msgstr "Port d'écoute de votre serveur SMTP" -#: extensions/webmail/main.py:33 +#: extensions/webmail/__init__.py:31 msgid "Server needs authentication" msgstr "Le serveur nécessite une authentification" -#: extensions/webmail/main.py:35 +#: extensions/webmail/__init__.py:33 msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)" msgstr "Taille maximum d'une pièce jointe en octets (ou Ko, Mo, Go si précisé)" -#: extensions/webmail/main.py:39 +#: extensions/webmail/__init__.py:36 msgid "Number of displayed emails per page" msgstr "Nombre d'emails affichés par page" -#: extensions/webmail/main.py:42 +#: extensions/webmail/__init__.py:39 msgid "Listing refresh rate" msgstr "Taux de rafraichissement de la liste" -#: extensions/webmail/main.py:43 +#: extensions/webmail/__init__.py:40 msgid "Automatic folder refresh rate (in seconds)" msgstr "Taux de rafraichissement automatique du dossier (en secondes)" -#: extensions/webmail/main.py:45 +#: extensions/webmail/__init__.py:42 msgid "Trash folder" msgstr "Dossier 'poubelle'" -#: extensions/webmail/main.py:46 +#: extensions/webmail/__init__.py:43 msgid "Folder where deleted messages go" msgstr "Dossier de destination des messages supprimés" -#: extensions/webmail/main.py:48 +#: extensions/webmail/__init__.py:45 msgid "Sent folder" msgstr "Dossier 'envoyé'" -#: extensions/webmail/main.py:49 +#: extensions/webmail/__init__.py:46 msgid "Folder where copies of sent messages go" msgstr "Dossier de destination des copies de messages envoyés" -#: extensions/webmail/main.py:51 +#: extensions/webmail/__init__.py:48 msgid "Drafts folder" msgstr "Dossier 'brouillons'" -#: extensions/webmail/main.py:52 +#: extensions/webmail/__init__.py:49 msgid "Folder where drafts go" msgstr "Dossier de destination des brouillons" -#: extensions/webmail/main.py:54 +#: extensions/webmail/__init__.py:51 msgid "Signature text" msgstr "Texte de signature" -#: extensions/webmail/main.py:55 +#: extensions/webmail/__init__.py:52 msgid "User defined email signature" msgstr "Signature personnalisée" -#: extensions/webmail/main.py:57 +#: extensions/webmail/__init__.py:54 msgid "Default editor" msgstr "Editeur par défaut" -#: extensions/webmail/main.py:59 +#: extensions/webmail/__init__.py:56 msgid "The default editor to use when composing a message" msgstr "L'éditeur a utiliser par défaut pour écrire un message" -#: extensions/webmail/main.py:61 +#: extensions/webmail/__init__.py:58 msgid "Default message display mode" msgstr "Mode d'affichage par défaut d'un message" -#: extensions/webmail/main.py:63 +#: extensions/webmail/__init__.py:60 msgid "The default mode used when displaying a message" msgstr "Le mode utilisé par défaut pour afficher un message" -#: extensions/webmail/main.py:65 +#: extensions/webmail/__init__.py:62 msgid "Enable HTML links display" msgstr "Activer l'affichage des liens HTML" -#: extensions/webmail/main.py:66 +#: extensions/webmail/__init__.py:63 msgid "Enable/Disable HTML links display" msgstr "Activer/Désactiver l'affichage des liens HTML" -#: extensions/webmail/main.py:76 +#: extensions/webmail/__init__.py:73 msgid "Simple IMAP webmail" msgstr "Webmail IMAP simple" -#: extensions/webmail/main.py:91 -#: extensions/webmail/templates/webmail/index.html:212 +#: extensions/webmail/__init__.py:85 msgid "Webmail" msgstr "Webmail" -#: extensions/webmail/views.py:61 lib/email_listing.py:132 -msgid "This folder contains no messages" -msgstr "Ce dossier ne contient pas de messages" +#: extensions/webmail/exceptions.py:19 +msgid "Server response" +msgstr "Réponse du serveur" -#: extensions/webmail/views.py:369 -msgid "Create a new folder" -msgstr "Créer un nouveau dossier" +#: extensions/webmail/forms.py:8 +msgid "Cci" +msgstr "Cci" -#: extensions/webmail/views.py:381 -msgid "Folder created" -msgstr "Dossier créé" +#: extensions/webmail/imaputils.py:251 +#, python-format +msgid "Connection to IMAP server failed: %s" +msgstr "La connexion au serveur IMAP a échoué : %s" -#: extensions/webmail/views.py:396 -msgid "Edit folder" -msgstr "Editer le dossier" +#: extensions/webmail/lib.py:310 +msgid "wrote:" +msgstr "a écrit :" -#: extensions/webmail/views.py:417 -msgid "Folder modified" -msgstr "Dossier modifié" +#: extensions/webmail/lib.py:377 extensions/webmail/lib.py:381 +msgid "Original message" +msgstr "Message original" -#: extensions/webmail/views.py:465 +#: extensions/webmail/lib.py:681 +msgid "Red fields are mandatories" +msgstr "Les champs rouges sont obligatoires" + +#: extensions/webmail/views.py:85 +msgid "Unknown action" +msgstr "Action inconnue" + +#: extensions/webmail/views.py:98 lib/email_listing.py:158 +msgid "Empty mailbox" +msgstr "Boite aux lettre vide" + +#: extensions/webmail/views.py:115 +#: extensions/webmail/templatetags/webextras.py:166 +msgid "Create a new mailbox" +msgstr "Créer une nouvelle boite aux lettres" + +#: extensions/webmail/views.py:130 +msgid "Mailbox created" +msgstr "Boite aux lettres créée" + +#: extensions/webmail/views.py:146 +msgid "Edit mailbox" +msgstr "Editer la boite aux lettres" + +#: extensions/webmail/views.py:161 +msgid "Mailbox updated" +msgstr "Boite aux lettres mise à jour" + +#: extensions/webmail/views.py:194 extensions/webmail/views.py:374 +#: extensions/webmail/views.py:483 +msgid "Bad request" +msgstr "Mauvaise requête" + +#: extensions/webmail/views.py:225 msgid "Failed to save attachment: " -msgstr "Impossible de supprimer la pièce jointe : " +msgstr "Impossible d'enregistrer la pièce jointe : " -#: extensions/webmail/views.py:468 +#: extensions/webmail/views.py:228 #, python-format msgid "Attachment is too big (limit: %s)" msgstr "Pièce jointe trop grosse (limite : %s)" -#: extensions/webmail/views.py:483 -msgid "Bad query" -msgstr "Mauvaise requête" - -#: extensions/webmail/views.py:493 -msgid "Failed to remove attachment: " -msgstr "Impossible de supprimer la pièce jointe :" - -#: extensions/webmail/views.py:498 -msgid "Unknown attachment" -msgstr "Pièce jointe inconnue" - -#: extensions/webmail/templates/webmail/attachments.html:86 -#: extensions/webmail/templates/webmail/compose.html:9 -#: extensions/webmail/templates/webmail/headers.html:7 +#: extensions/webmail/views.py:234 +#: extensions/webmail/templates/webmail/compose.html:16 +#: extensions/webmail/templates/webmail/headers.html:4 msgid "Attachments" msgstr "Pièces jointes" -#: extensions/webmail/templates/webmail/attachments.html:93 +#: extensions/webmail/views.py:250 +msgid "Bad query" +msgstr "Mauvaise requête" + +#: extensions/webmail/views.py:260 +msgid "Failed to remove attachment: " +msgstr "Impossible de supprimer la pièce jointe :" + +#: extensions/webmail/views.py:265 +msgid "Unknown attachment" +msgstr "Pièce jointe inconnue" + +#: extensions/webmail/views.py:479 +msgid "Undefined action" +msgstr "Action indéfinie" + +#: extensions/webmail/templates/webmail/attachments.html:6 msgid "Attach" msgstr "Joindre" -#: extensions/webmail/templates/webmail/attachments.html:97 +#: extensions/webmail/templates/webmail/attachments.html:9 msgid "Uploading.." msgstr "Envoi..." -#: extensions/webmail/templates/webmail/attachments.html:113 -msgid "Done" -msgstr "Fait" +#: extensions/webmail/templates/webmail/compose.html:7 +msgid "Add Cc field" +msgstr "Ajouter un champ Cc" -#: extensions/webmail/templates/webmail/compose.html:12 +#: extensions/webmail/templates/webmail/compose.html:7 +msgid "Add Cci field" +msgstr "Ajouter un champ Cci" + +#: extensions/webmail/templates/webmail/compose.html:19 #, python-format msgid "%(counter)s file" msgid_plural "%(counter)s files" msgstr[0] "%(counter)s fichier" msgstr[1] "%(counter)s fichiers" -#: extensions/webmail/templates/webmail/folder.html:37 -msgid "Parent folder" -msgstr "Dossier parent" +#: extensions/webmail/templates/webmail/folder.html:6 +msgid "Parent mailbox" +msgstr "Boite aux lettres parente" -#: extensions/webmail/templates/webmail/folders.html:8 -msgid "Add a new folder" -msgstr "Ajouter un nouveau dossier" - -#: extensions/webmail/templates/webmail/folders.html:10 -msgid "Folders" -msgstr "Dossiers" - -#: extensions/webmail/templates/webmail/index.html:218 +#: extensions/webmail/templates/webmail/index.html:36 msgid "Mailbox quota" msgstr "Quota de la boite aux lettres" -#: extensions/webmail/templatetags/webextras.py:19 -#: extensions/webmail/templatetags/webextras.py:61 -msgid "Back" -msgstr "Retour" - -#: extensions/webmail/templatetags/webextras.py:23 +#: extensions/webmail/templatetags/webextras.py:21 msgid "Reply" msgstr "Répondre" -#: extensions/webmail/templatetags/webextras.py:27 +#: extensions/webmail/templatetags/webextras.py:25 msgid "Reply all" msgstr "Répondre à tous" -#: extensions/webmail/templatetags/webextras.py:31 -#: userprefs/templatetags/uprefs_extras.py:39 +#: extensions/webmail/templatetags/webextras.py:29 +#: userprefs/templatetags/uprefs_extras.py:25 msgid "Forward" msgstr "Transférer" -#: extensions/webmail/templatetags/webextras.py:37 +#: extensions/webmail/templatetags/webextras.py:35 msgid "Display options" msgstr "Afficher les options" -#: extensions/webmail/templatetags/webextras.py:45 +#: extensions/webmail/templatetags/webextras.py:38 +msgid "Activate links" +msgstr "Activer les liens" + +#: extensions/webmail/templatetags/webextras.py:40 msgid "Disable links" msgstr "Désactiver les liens" -#: extensions/webmail/templatetags/webextras.py:65 +#: extensions/webmail/templatetags/webextras.py:49 +msgid "Close this message" +msgstr "Fermer ce message" + +#: extensions/webmail/templatetags/webextras.py:62 +msgid "Back" +msgstr "Retour" + +#: extensions/webmail/templatetags/webextras.py:66 msgid "Send" msgstr "Envoyer" -#: extensions/webmail/templatetags/webextras.py:77 +#: extensions/webmail/templatetags/webextras.py:78 msgid "New message" msgstr "Nouveau message" -#: extensions/webmail/templatetags/webextras.py:80 +#: extensions/webmail/templatetags/webextras.py:81 msgid "Mark messages" msgstr "Marquer les messages" -#: extensions/webmail/templatetags/webextras.py:84 +#: extensions/webmail/templatetags/webextras.py:85 msgid "As read" msgstr "Comme lus" -#: extensions/webmail/templatetags/webextras.py:87 +#: extensions/webmail/templatetags/webextras.py:88 msgid "As unread" msgstr "Comme non lus" -#: extensions/webmail/templatetags/webextras.py:98 +#: extensions/webmail/templatetags/webextras.py:97 msgid "Compress folder" msgstr "Compresser ce dossier" -#: extensions/webmail/templatetags/webextras.py:107 +#: extensions/webmail/templatetags/webextras.py:105 msgid "Empty folder" msgstr "Vider ce dossier" -#: lib/tables.py:201 +#: extensions/webmail/templatetags/webextras.py:174 +msgid "Edit the selected mailbox" +msgstr "Editer la boite aux lettres sélectionnée" + +#: extensions/webmail/templatetags/webextras.py:179 +msgid "Remove the selected mailbox" +msgstr "Supprimer la boite aux lettres sélectionnée" + +#: lib/exceptions.py:17 +#, python-format +msgid "Permission denied: %s" +msgstr "Permission refusée : %s" + +#: lib/formutils.py:154 lib/formutils.py:161 +msgid "Enter a valid domain name" +msgstr "Entrer un nom de domaine valide" + +#: lib/permissions.py:25 +msgid "Simple user" +msgstr "Utilisateur simple" + +#: lib/permissions.py:27 +msgid "Super administrator" +msgstr "Super administrateur" + +#: lib/permissions.py:29 +msgid "Domain administrator" +msgstr "Administrateur de domaine" + +#: lib/permissions.py:61 +#, python-format +msgid "Failed to grant access (%s)" +msgstr "Impossible de donner l'accès : %s" + +#: lib/tables.py:233 msgid "No entries to display" msgstr "Aucune entrée à afficher" -#: templates/nlayout.html:50 -msgid "Logout" -msgstr "Déconnexion" +#: templates/admin/editdomainform.html:5 +msgid "Administrators" +msgstr "Administrateurs" -#: templates/admin/add_permission.html:16 -msgid "Add" -msgstr "Ajouter" +#: templates/admin/editdomainform.html:6 +msgid "Miscellaneous" +msgstr "Divers" -#: templates/admin/domains_header.html:13 -msgid "for" -msgstr "pour" +#: templates/admin/editdomainform.html:24 +msgid "No domain administrator defined" +msgstr "Aucun administrateur de domaine défini" -#: templates/admin/extensions.html:11 -msgid "Apply" -msgstr "Appliquer" +#: templates/admin/editdomainform.html:27 +msgid "Creation date" +msgstr "Date de création" -#: templates/admin/import.html:62 +#: templates/admin/editdomainform.html:28 +msgid "Last modification date" +msgstr "Date de dernière modification" + +#: templates/admin/extensions.html:7 templates/admin/parameters.html:9 +#: templates/userprefs/preferences.html:37 +msgid "Save" +msgstr "Enregistrer" + +#: templates/admin/importform.html:5 +msgid "Help" +msgstr "Aide" + +#: templates/admin/importform.html:12 msgid "Importing..." msgstr "Import en cours..." -#: templates/admin/listing.html:12 -msgid "Items" -msgstr "Eléments" - -#: templates/admin/listing.html:12 templates/common/navbar.html:2 -msgid "of" -msgstr "sur" - -#: templates/admin/listing.html:16 templates/common/navbar.html:6 -msgid "First" -msgstr "Première" - -#: templates/admin/listing.html:19 templates/common/navbar.html:9 -msgid "Previous" -msgstr "Précédente" - -#: templates/admin/listing.html:24 templates/common/navbar.html:14 -msgid "Next" -msgstr "Suivante" - -#: templates/admin/listing.html:27 templates/common/navbar.html:17 -msgid "Last" -msgstr "Dernière" +#: templates/admin/listing.html:12 templates/admin/searchform.html:4 +msgid "Search" +msgstr "Chercher" #: templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Choisir une valeur" -#: templates/common/email_searchbar.html:4 -msgid "Search..." -msgstr "Chercher..." +#: templates/admin/newaccount.html:31 templates/common/generic_modal.html:11 +msgid "Close" +msgstr "Fermer" -#: templates/common/email_searchbar.html:6 +#: templates/common/email_searchbar.html:5 msgid "From address" msgstr "Emetteur" -#: templates/common/email_searchbar.html:11 +#: templates/common/email_searchbar.html:10 msgid "Both" msgstr "Tous" -#: templates/common/error.html:3 -msgid "Error" -msgstr "Erreur" +#: templates/common/email_searchbar.html:12 +msgid "Search..." +msgstr "Chercher..." -#: templates/common/navbar.html:2 -msgid "Messages" -msgstr "Messages" +#: templates/common/error.html:4 +msgid "Error:" +msgstr "Erreur :" + +#: templates/common/generic_field.html:4 +msgid "Help:" +msgstr "Aide :" #: templates/common/parameters.html:15 msgid "No parameters available" msgstr "Aucun paramètre disponible" -#: templates/registration/login.html:8 +#: templates/registration/login.html:5 msgid "Welcome to Modoboa" msgstr "Bienvenue dans Modoboa" -#: templates/registration/login.html:28 -msgid "Welcome" -msgstr "Bienvenue" +#: templates/registration/login.html:35 +msgid "Remember me" +msgstr "Se souvenir de moi" -#: templates/userprefs/chpassword.html:7 -#: userprefs/templatetags/uprefs_extras.py:23 -msgid "Change password" -msgstr "Changer de mot de passe" +#: templates/registration/login.html:37 +msgid "Log in" +msgstr "Se connecter" -#: templates/userprefs/preferences.html:6 -#: userprefs/templatetags/uprefs_extras.py:28 -msgid "Preferences" -msgstr "Préférences" - -#: templates/userprefs/setforward.html:7 -msgid "Define your forward" -msgstr "Définir votre transfert" +#: templates/userprefs/preferences.html:2 +#: userprefs/templatetags/uprefs_extras.py:53 +msgid "Settings" +msgstr "Configuration" #: userprefs/__init__.py:7 msgid "Prefered language" @@ -1630,27 +1729,31 @@ msgstr "Langage préféré" msgid "Prefered language to display pages" msgstr "Langage préféré pour afficher les pages" -#: userprefs/forms.py:13 +#: userprefs/forms.py:11 msgid "Old password" msgstr "Ancien mot de passe" -#: userprefs/forms.py:15 +#: userprefs/forms.py:13 msgid "New password" msgstr "Nouveau mot de passe" -#: userprefs/forms.py:34 +#: userprefs/forms.py:27 msgid "Old password mismatchs" msgstr "L'ancien mot de passe est incorrect" -#: userprefs/forms.py:43 +#: userprefs/forms.py:32 +msgid "Passwords mismatch" +msgstr "Les mots de passe diffèrent" + +#: userprefs/forms.py:36 msgid "Destination(s)" msgstr "Destination(s)" -#: userprefs/forms.py:44 +#: userprefs/forms.py:37 msgid "Keep local copies" msgstr "Conserver des copies locales" -#: userprefs/forms.py:57 +#: userprefs/forms.py:50 msgid "" "You can't define a forward to a local destination. Please ask your " "administrator to create an alias instead." @@ -1658,14 +1761,34 @@ 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:27 +#: userprefs/views.py:26 msgid "Password change is disabled for this user" msgstr "Le changement de mot de passe est désactivé pour cet utilisateur" -#: userprefs/views.py:46 +#: userprefs/views.py:31 userprefs/templatetags/uprefs_extras.py:48 +msgid "Change password" +msgstr "Changer de mot de passe" + +#: userprefs/views.py:51 msgid "Password changed" msgstr "Mot de passe changé" -#: userprefs/views.py:79 +#: userprefs/views.py:63 +msgid "Define a forward" +msgstr "Définir un transfert" + +#: userprefs/views.py:89 msgid "Forward updated" msgstr "Transfert mis à jour" + +#: userprefs/views.py:142 +msgid "Preferences saved" +msgstr "Préférences enregistrées" + +#: userprefs/templatetags/uprefs_extras.py:17 +msgid "Preferences" +msgstr "Préférences" + +#: userprefs/templatetags/uprefs_extras.py:61 +msgid "Logout" +msgstr "Déconnexion" diff --git a/locale/fr/LC_MESSAGES/djangojs.po b/locale/fr/LC_MESSAGES/djangojs.po index 04f96028e..7d5f6bdba 100644 --- a/locale/fr/LC_MESSAGES/djangojs.po +++ b/locale/fr/LC_MESSAGES/djangojs.po @@ -1,13 +1,13 @@ # Modoboa french translation -# Copyright (C) 2009-2011 +# Copyright (C) 2009-2012 # This file is distributed under the same license as the Modoboa package. -# Antoine Nguyen , 2009-2011. +# Antoine Nguyen , 2009-2012. # msgid "" msgstr "" -"Project-Id-Version: modoboa-0.8.8\n" +"Project-Id-Version: modoboa-0.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-10 11:09+0100\n" +"POT-Creation-Date: 2012-04-25 14:47+0200\n" "PO-Revision-Date: 2011-01-07 10:00+0100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: FR \n" @@ -16,31 +16,41 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: extensions/amavis_quarantine/static/js/quarantine.js:41 -msgid "Delete this message?" -msgstr "Supprimer ce message?" - -#: extensions/amavis_quarantine/static/js/quarantine.js:49 -msgid "Release this message?" -msgstr "Relâcher cette message?" - -#: extensions/amavis_quarantine/static/js/quarantine.js:107 +#: extensions/amavis_quarantine/static/js/quarantine.js:126 msgid "Release this selection?" msgstr "Relâcher cette sélection?" -#: extensions/amavis_quarantine/static/js/quarantine.js:114 +#: extensions/amavis_quarantine/static/js/quarantine.js:130 msgid "Delete this selection?" msgstr "Supprimer cette sélection?" +#: extensions/amavis_quarantine/static/js/quarantine.js:148 +#: extensions/amavis_quarantine/static/js/selfservice.js:22 +msgid "Release this message?" +msgstr "Relâcher cette message?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:152 +#: extensions/amavis_quarantine/static/js/selfservice.js:26 +msgid "Delete this message?" +msgstr "Supprimer ce message?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:169 +msgid "View full headers" +msgstr "Voir les entêtes complets" + +#: extensions/amavis_quarantine/static/js/quarantine.js:174 +msgid "Hide full headers" +msgstr "Cacher les entêtes complets" + #: extensions/sievefilters/static/js/lib.js:14 msgid "Remove this filter?" msgstr "Supprimer ce filtre?" -#: extensions/sievefilters/static/js/lib.js:116 +#: extensions/sievefilters/static/js/lib.js:117 msgid "Save changes?" -msgstr "Sauvegarder les changements?" +msgstr "Enregistrer les changements?" -#: extensions/sievefilters/static/js/lib.js:143 +#: extensions/sievefilters/static/js/lib.js:144 msgid "Remove filters set?" msgstr "Supprimer ce jeu de filtres?" @@ -49,50 +59,38 @@ msgid "Activate this filters set?" msgstr "Activer ce jeu de filtres?" #: extensions/sievefilters/static/js/lib.js:169 +#: extensions/sievefilters/static/js/lib.js:224 msgid "active" msgstr "actif" -#: extensions/webmail/static/js/fdmenu.js:31 -msgid "Edit folder" -msgstr "Editer le dossier" +#: extensions/stats/static/js/stats.js:28 +msgid "Search a domain" +msgstr "Checher un domaine" -#: extensions/webmail/static/js/fdmenu.js:63 -msgid "Folder deleted" -msgstr "Dossier supprimé" +#: extensions/webmail/static/js/webmail.js:499 +msgid "Remove the selected mailbox?" +msgstr "Supprimer la boite sélectionnée?" -#: extensions/webmail/static/js/webmail.js:95 -msgid "Sending..." -msgstr "Envoi..." +#: extensions/webmail/static/js/webmail.js:513 +msgid "Mailbox removed" +msgstr "Boite aux lettres supprimées" -#: extensions/webmail/static/js/webmail.js:229 -#: extensions/webmail/static/js/webmail.js:254 static/js/anchor_nav.js:215 -msgid "Done" -msgstr "Effectué" +#: static/js/admin.js:17 +msgid "No domain administrator defined" +msgstr "Aucun administrateur de domaine défini" -#: extensions/webmail/static/js/webmail.js:243 -msgid "Waiting..." -msgstr "En attente..." +#: static/js/confirmation.js:45 +msgid "Cancel" +msgstr "Annuler" -#: static/js/anchor_nav.js:10 +#: static/js/confirmation.js:84 static/js/history.js:229 +msgid "Internal Error" +msgstr "Erreur interne" + +#: static/js/history.js:10 msgid "Loading..." msgstr "Chargement..." -#: static/js/common.js:17 -msgid "Message sent" -msgstr "Message envoyé" - -#: static/js/common.js:188 +#: static/js/searchbar.js:20 msgid "Search..." msgstr "Chercher..." - -#: static/js/domains.js:61 -msgid "Remove this selection?" -msgstr "Supprimer cette sélection?" - -#: static/js/preferences.js:14 -msgid "Preferences saved" -msgstr "Préférences enregistrées" - -#: static/js/settings.js:14 -msgid "Parameters saved" -msgstr "Paramètres enregistrés" diff --git a/templates/admin/listing.html b/templates/admin/listing.html index abeb560fb..b0dee4d12 100644 --- a/templates/admin/listing.html +++ b/templates/admin/listing.html @@ -1,5 +1,4 @@ -{% extends "admin/header.html" %} -{% load admin_extras libextras %} +{% extends "admin/header.html" %}{% load i18n admin_extras libextras %} {% block html_head %} {{ block.super }} @@ -10,7 +9,7 @@ $(document).ready(function() { }).blur(function() { var $this = $(this); if ($this.attr("value") == "") { - $this.attr("value", {% if squery %}"{{ squery }}"{% else %}gettext("Search"){% endif %}); + $this.attr("value", {% if squery %}"{{ squery }}"{% else %}"{% trans 'Search' %}"{% endif %}); } }); }); diff --git a/userprefs/__init__.py b/userprefs/__init__.py index ef66fcebd..99474a815 100644 --- a/userprefs/__init__.py +++ b/userprefs/__init__.py @@ -1,13 +1,13 @@ # coding: utf-8 from modoboa.lib import parameters, events -from django.utils.translation import ugettext_noop as _ +from django.utils.translation import ugettext_lazy parameters.register_user("LANG", type="list", deflt="en", - label=_("Prefered language"), + label=ugettext_lazy("Prefered language"), values=[("de", "deutsch"), ("en", "english"), ("es", "español"), ("fr", "français")], - help=_("Prefered language to display pages"), + help=ugettext_lazy("Prefered language to display pages"), app="general") @events.observe("GetStaticContent") diff --git a/userprefs/views.py b/userprefs/views.py index a453eadff..03600f094 100644 --- a/userprefs/views.py +++ b/userprefs/views.py @@ -22,8 +22,10 @@ def index(request): def changepassword(request, tplname="common/generic_modal_form.html"): res = events.raiseQueryEvent("PasswordChange", request.user) if True in res: - ctx = dict(error=_("Password change is disabled for this user")) - return _render_error(request, user_context=ctx) + from modoboa.lib.exceptions import ModoboaException + raise ModoboaException(_("Password change is disabled for this user")) + # ctx = dict(error=_("Password change is disabled for this user")) + # return _render_error(request, user_context=ctx) ctx = dict( title=_("Change password"),