From 9cde410ae4958a44848a675889da1cdd32798e5e Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 14 Sep 2011 14:18:46 +0200 Subject: [PATCH] * Many changes about internationalization (using gettext_noop when needed for example) * Some strings were not detected by makemessages (for example in javascript files, behind comments...). There are still some issues with that but I think I'll have to wait a future Django release. * Support for per-user language selection is almost done. see #166 --- admin/forms.py | 64 +- admin/models.py | 50 +- admin/permissions.py | 15 +- admin/tables.py | 91 +- admin/templatetags/admin_extras.py | 8 +- admin/views.py | 2 +- auth/views.py | 3 + extensions/amavis_quarantine/main.py | 8 +- extensions/amavis_quarantine/sql_listing.py | 10 +- extensions/postfix_autoreply/main.py | 6 +- extensions/sievefilters/forms.py | 66 +- extensions/sievefilters/main.py | 6 +- extensions/sievefilters/static/js/lib.js | 2 +- .../templates/sievefilters/filter.html | 2 +- extensions/sievefilters/views.py | 4 +- extensions/stats/main.py | 6 +- extensions/stats/templates/stats/graphs.html | 2 +- extensions/stats/templates/stats/index.html | 2 +- extensions/stats/views.py | 18 +- extensions/webmail/forms.py | 4 +- extensions/webmail/lib.py | 17 +- extensions/webmail/main.py | 4 +- extensions/webmail/static/css/attachments.css | 4 + .../webmail/templates/webmail/compose.html | 6 +- lib/middleware.py | 2 - lib/parameters.py | 12 +- lib/tables.py | 2 +- locale/de/LC_MESSAGES/django.po | 805 +++++++++--------- locale/de/LC_MESSAGES/djangojs.po | 47 +- locale/en/LC_MESSAGES/django.po | 619 ++++++++------ locale/en/LC_MESSAGES/djangojs.po | 40 +- locale/es/LC_MESSAGES/django.po | 660 +++++++------- locale/es/LC_MESSAGES/djangojs.po | 47 +- locale/fr/LC_MESSAGES/django.po | 619 ++++++++------ locale/fr/LC_MESSAGES/djangojs.po | 42 +- static/css/default.css | 4 +- templates/admin/domains_header.html | 2 +- templates/common/genericform.html | 4 +- userprefs/__init__.py | 11 + userprefs/forms.py | 8 +- userprefs/views.py | 1 + 41 files changed, 1826 insertions(+), 1499 deletions(-) diff --git a/admin/forms.py b/admin/forms.py index 2fe3c5cfa..ece5c66f2 100644 --- a/admin/forms.py +++ b/admin/forms.py @@ -2,7 +2,7 @@ from django import forms from modoboa.admin.models import * from modoboa.admin.lib import is_domain_admin -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext as _, ugettext_noop from django.contrib.auth.models import User from modoboa.admin.templatetags.admin_extras import gender from modoboa.lib import tables @@ -48,17 +48,17 @@ class DomainAliasForm(ProxyForm): self.fields["target"].queryset = Domain.objects.filter(pk=self._domain.id) class MailboxForm(ProxyForm): - quota = forms.IntegerField(label=_("Quota"), required=False, - help_text=_("Mailbox quota in MB (default to domain quota if blank)")) - password1 = forms.CharField(label=_("Password"), + quota = forms.IntegerField(label=ugettext_noop("Quota"), required=False, + help_text=ugettext_noop("Mailbox quota in MB (default to domain quota if blank)")) + password1 = forms.CharField(label=ugettext_noop("Password"), widget=forms.PasswordInput(render_value=True), - help_text=_("Password used to log in")) - password2 = forms.CharField(label=_("Confirmation"), + help_text=ugettext_noop("Password used to log in")) + password2 = forms.CharField(label=ugettext_noop("Confirmation"), widget=forms.PasswordInput(render_value=True), - help_text=_("Password confirmation")) + help_text=ugettext_noop("Password confirmation")) enabled = forms.BooleanField(label=gender("Enabled", "f"), required=False, initial=True, - help_text=_("Check to activate this mailbox")) + help_text=ugettext_noop("Check to activate this mailbox")) class Meta: model = Mailbox @@ -100,8 +100,8 @@ class MailboxForm(ProxyForm): return m class AliasForm(ProxyForm): - targets = forms.CharField(label=_("Target(s)"), required=False, - help_text=_("Mailbox(es) this alias will point to")) + targets = forms.CharField(label=ugettext_noop("Target(s)"), required=False, + help_text=ugettext_noop("Mailbox(es) this alias will point to")) def __init__(self, *args, **kwargs): super(AliasForm, self).__init__(*args, **kwargs) @@ -176,36 +176,26 @@ class AliasForm(ProxyForm): return a class SuperAdminForm(forms.Form): - user = forms.ModelChoiceField([], label=_("User"), required=True, - empty_label=_("Select a user"), - help_text=_("Select a user in the list")) - def __init__(self, user, *args, **kwargs): super(SuperAdminForm, self).__init__(*args, **kwargs) + + self.fields["user"] = \ + forms.ModelChoiceField([], label=_("User"), required=True, + empty_label=_("Select a user"), + help_text=_("Select a user in the list")) self.fields["user"].queryset = User.objects.exclude(pk__in=[1, user.id]) class DomainAdminForm(forms.Form): - domain = forms.ModelChoiceField(queryset=Domain.objects.all(), label=_("Domain"), - required=True, - empty_label=_("Select a domain"), - help_text=_("Select a domain in the list")) - user = forms.ChoiceField(label=_("User"), required=True, - choices=[("", _("Empty"))], - help_text=_("Select a user in the list")) + def __init__(self, *args, **kwargs): + super(DomainAdminForm, self).__init__(*args, **kwargs) -class SuperAdminsTable(tables.Table): - idkey = "id" - selection = tables.SelectionColumn("selection", width="4%", first=True) - _1_user_name = tables.Column("user_name", label=_("User name")) - _2_full_name = tables.Column("full_name", label=_("Full name")) - _3_date_joined = tables.Column("date_joined", label=_("Defined")) - _4_enabled = tables.Column("enabled", label=gender("Enabled", "m"), width="10%") - -class DomainAdminsTable(tables.Table): - idkey = "id" - selection = tables.SelectionColumn("selection", width="4%", first=True) - _1_domain = tables.Column("domain", label=_("Domain")) - _2_full_name = tables.Column("full_name", label=_("Full name")) - _3_date_joined = tables.Column("date_joined", label=_("Defined")) - _4_enabled = tables.Column("enabled", label=gender("Enabled", "m"), width="10%") - + self.fields["domain"] = \ + forms.ModelChoiceField(queryset=Domain.objects.all(), + label=_("Domain"), + required=True, + empty_label=_("Select a domain"), + help_text=_("Select a domain in the list")) + self.fields["user"] = \ + forms.ChoiceField(label=_("User"), required=True, + choices=[("", _("Empty"))], + help_text=_("Select a user in the list")) diff --git a/admin/models.py b/admin/models.py index 8a1fb1802..0f1686694 100644 --- a/admin/models.py +++ b/admin/models.py @@ -1,7 +1,7 @@ # coding: utf-8 from django.db import models, IntegrityError from django.contrib.auth.models import User -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext as _, ugettext_noop from django.conf import settings from modoboa.lib import parameters from modoboa.lib.sysutils import exec_cmd, exec_as_vuser @@ -74,11 +74,11 @@ class DatesAware(models.Model): last_modification = property(__last_modification) class Domain(DatesAware): - name = models.CharField(_('name'), max_length=100, unique=True, - help_text=_("The domain name")) - quota = models.IntegerField(help_text=_("Default quota in MB applied to mailboxes")) - enabled = models.BooleanField(_('enabled'), - help_text=_("Check to activate this domain")) + 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")) class Meta: permissions = ( @@ -131,12 +131,12 @@ class Domain(DatesAware): return self.name class DomainAlias(DatesAware): - name = models.CharField(_("name"), max_length=100, unique=True, - help_text=_("The alias name")) - target = models.ForeignKey(Domain, verbose_name=_('target'), - help_text=_("The domain this alias points to")) - enabled = models.BooleanField(_('enabled'), - help_text=_("Check to activate this alias")) + 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")) + enabled = models.BooleanField(ugettext_noop('enabled'), + help_text=ugettext_noop("Check to activate this alias")) class Meta: permissions = ( @@ -144,11 +144,11 @@ class DomainAlias(DatesAware): ) class Mailbox(DatesAware): - name = models.CharField(_('name'), max_length=100, - help_text=_("First name and last name of mailbox owner")) - address = models.CharField(_('address'), max_length=100, - help_text=_("Mailbox address (without the @domain.tld part)")) - password = models.CharField(_('password'), max_length=100) + name = models.CharField(ugettext_noop('name'), max_length=100, + help_text=ugettext_noop("First name and last name of mailbox owner")) + address = models.CharField(ugettext_noop('address'), max_length=100, + help_text=ugettext_noop("Mailbox address (without the @domain.tld part)")) + password = models.CharField(ugettext_noop('password'), max_length=100) quota = models.IntegerField() uid = models.IntegerField() gid = models.IntegerField() @@ -303,14 +303,14 @@ class Mailbox(DatesAware): } class Alias(DatesAware): - address = models.CharField(_('address'), max_length=254, - help_text=_("The alias address (without the domain part). For a 'catch-all' address, just enter an * character.")) + 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.")) domain = models.ForeignKey(Domain) - mboxes = models.ManyToManyField(Mailbox, verbose_name=_('mailboxes'), - help_text=_("The mailboxes this alias points to")) + mboxes = models.ManyToManyField(Mailbox, verbose_name=ugettext_noop('mailboxes'), + help_text=ugettext_noop("The mailboxes this alias points to")) extmboxes = models.TextField(blank=True) - enabled = models.BooleanField(_('enabled'), - help_text=_("Check to activate this alias")) + enabled = models.BooleanField(ugettext_noop('enabled'), + help_text=ugettext_noop("Check to activate this alias")) class Meta: permissions = ( @@ -385,8 +385,8 @@ class Alias(DatesAware): class Extension(models.Model): name = models.CharField(max_length=150) - enabled = models.BooleanField(_('enabled'), - help_text=_("Check to enable this extension")) + enabled = models.BooleanField(ugettext_noop('enabled'), + help_text=ugettext_noop("Check to enable this extension")) def __getmodule(self): extname = "modoboa.extensions.%s" % self.name diff --git a/admin/permissions.py b/admin/permissions.py index 01c4e2902..12dcff7aa 100644 --- a/admin/permissions.py +++ b/admin/permissions.py @@ -1,10 +1,11 @@ # coding: utf-8 import datetime -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext as _, ugettext_noop from django.contrib.auth.models import User, Group from modoboa.lib.webutils import _render, getctx, _render_to_string from forms import * +from tables import SuperAdminsTable, DomainAdminsTable class Permissions(object): @staticmethod @@ -24,7 +25,7 @@ class Permissions(object): raise NotImplementedError class SuperAdminsPerms(Permissions): - title = _("Add super administrator") + title = ugettext_noop("Add super administrator") role = "super_admins" @staticmethod @@ -35,7 +36,7 @@ class SuperAdminsPerms(Permissions): form = SuperAdminForm(request.user) return _render(request, 'admin/add_permission.html', { "form" : form, - "title" : self.title, + "title" : _(self.title), "role": self.role }) @@ -51,7 +52,7 @@ class SuperAdminsPerms(Permissions): content = _render_to_string(request, "admin/add_permission.html", { "form" : form, - "title" : self.title, + "title" : _(self.title), "role" : self.role }) return False, getctx("ko", content=content) @@ -77,7 +78,7 @@ class SuperAdminsPerms(Permissions): class DomainAdminsPerms(Permissions): - title = _("Add domain administrator") + title = ugettext_noop("Add domain administrator") role = "domain_admins" @staticmethod @@ -88,7 +89,7 @@ class DomainAdminsPerms(Permissions): form = DomainAdminForm() return _render(request, 'admin/add_domain_admin.html', { "form" : form, - "title" : self.title, + "title" : _(self.title), "role" : self.role }) @@ -106,7 +107,7 @@ class DomainAdminsPerms(Permissions): return True, None content = _render_to_string(request, "admin/add_domain_admin.html", { "form" : form, - "title" : self.title, + "title" : _(self.title), "role" : self.role }) return False, getctx("ko", content=content) diff --git a/admin/tables.py b/admin/tables.py index 0226c3330..3617cadb9 100644 --- a/admin/tables.py +++ b/admin/tables.py @@ -1,5 +1,5 @@ # coding: utf-8 -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext as _, ugettext_noop from modoboa.lib import tables from templatetags.admin_extras import * @@ -7,20 +7,21 @@ class DomainsTable(tables.Table): tableid = "objects_table" idkey = "id" - name = tables.Column("name", label=_("Name")) - creation = tables.Column("creation", label=_("Created"), width="160px") - modified = tables.Column("last_modification", label=_("Last modified"), + name = tables.Column("name", label=ugettext_noop("Name")) + creation = tables.Column("creation", label=ugettext_noop("Created"), width="160px") + modified = tables.Column("last_modification", label=ugettext_noop("Last modified"), width="160px") - domaliases = tables.Column("domainalias_count", label=_("Domain aliases"), + domaliases = tables.Column("domainalias_count", label=ugettext_noop("Domain aliases"), width="100px", align="center") - mboxes = tables.Column("mailbox_count", label=_("Mailboxes"), + mboxes = tables.Column("mailbox_count", label=ugettext_noop("Mailboxes"), width="100px", align="center") - mbaliases = tables.Column("mbalias_counter", label=_("Mailbox aliases"), + mbaliases = tables.Column("mbalias_counter", label=ugettext_noop("Mailbox aliases"), width="100px", align="center") - quota = tables.Column("quota", label=_("Quota"), width="50px", align="center") - enabled = tables.Column("enabled", label=_("Enabled"), width="50px", + quota = tables.Column("quota", label=ugettext_noop("Quota"), + width="50px", align="center") + enabled = tables.Column("enabled", label=gender("Enabled", "m"), width="50px", align="center") - actions = tables.ActionColumn("actions", label=_("Actions"), width="50px", + actions = tables.ActionColumn("actions", label=ugettext_noop("Actions"), width="50px", align="center", defvalue=domain_actions) cols_order = ["name", "creation", "modified", @@ -41,15 +42,16 @@ class DomaliasesTable(tables.Table): tableid = "objects_table" idkey = "id" - name = tables.Column("name", label=_("Name")) - target = tables.Column("target", label=_("Targeted domain")) - creation = tables.Column("creation", label=_("Created"), width="170px") - modified = tables.Column("last_modification", label=_("Last modified"), + name = tables.Column("name", label=ugettext_noop("Name")) + target = tables.Column("target", label=ugettext_noop("Targeted domain")) + creation = tables.Column("creation", label=ugettext_noop("Created"), width="170px") + modified = tables.Column("last_modification", label=ugettext_noop("Last modified"), width="170px") - enabled = tables.Column("enabled", label=_("Enabled"), width="50px", + enabled = tables.Column("enabled", label=gender("Enabled", "m"), width="50px", align="center") - actions = tables.ActionColumn("actions", label=_("Actions"), width="50px", - align="center", defvalue=domalias_actions) + actions = tables.ActionColumn("actions", label=ugettext_noop("Actions"), + width="50px", align="center", + defvalue=domalias_actions) cols_order = ["name", "target", "creation", "modified", "enabled", "actions"] @@ -65,18 +67,20 @@ class MailboxesTable(tables.Table): tableid = "objects_table" idkey = "id" - address = tables.Column("address", label=_("Address")) - name = tables.Column("name", label=_("Name")) - creation = tables.Column("creation", label=_("Created"), width="160px") - modified = tables.Column("last_modification", label=_("Last modified"), + address = tables.Column("address", label=ugettext_noop("Address")) + name = tables.Column("name", label=ugettext_noop("Name")) + creation = tables.Column("creation", label=ugettext_noop("Created"), width="160px") - aliases = tables.Column("alias_count", label=_("Aliases"), width="70px", + modified = tables.Column("last_modification", label=ugettext_noop("Last modified"), + width="160px") + aliases = tables.Column("alias_count", label=ugettext_noop("Aliases"), width="70px", align="center") - quota = tables.Column("quota", label=_("Quota"), width="50px", align="center") + quota = tables.Column("quota", label=ugettext_noop("Quota"), + width="50px", align="center") enabled = tables.Column("enabled", label=gender("Enabled", "f"), width="50px", align="center") - actions = tables.ActionColumn("actions", label=_("Actions"), width="70px", - align="center", defvalue=mailbox_actions) + actions = tables.ActionColumn("actions", label=ugettext_noop("Actions"), + width="70px", align="center", defvalue=mailbox_actions) cols_order = ["address", "name", "creation", "modified", "aliases", "quota", "enabled", "actions"] @@ -95,14 +99,14 @@ class MbaliasesTable(tables.Table): tableid = "objects_table" idkey = "id" - address = tables.Column("full_address", label=_("Address")) - targets = tables.Column("targets", label=_("Target(s)"), safe=True) - creation = tables.Column("creation", label=_("Created"), width="170px") - modified = tables.Column("last_modification", label=_("Last modified"), + address = tables.Column("full_address", label=ugettext_noop("Address")) + targets = tables.Column("targets", label=ugettext_noop("Target(s)"), safe=True) + creation = tables.Column("creation", label=ugettext_noop("Created"), width="170px") + modified = tables.Column("last_modification", label=ugettext_noop("Last modified"), width="170px") enabled = tables.Column("enabled", label=gender("Enabled", "m"), width="50px", align="center") - actions = tables.ActionColumn("actions", label=_("Actions"), width="50px", + actions = tables.ActionColumn("actions", label=ugettext_noop("Actions"), width="50px", align="center", defvalue=mbalias_actions) cols_order = ["address", "targets", "creation", "modified", "enabled", "actions"] @@ -120,8 +124,29 @@ class MbaliasesTable(tables.Table): class ExtensionsTable(tables.Table): idkey = "id" selection = tables.SelectionColumn("selection", width="4%", first=True) - name = tables.Column("name", label=_("Name"), width="15%") - version = tables.Column("version", label=_("Version"), width="6%") - descr = tables.Column("description", label=_("Description")) + name = tables.Column("name", label=ugettext_noop("Name"), width="15%") + version = tables.Column("version", label=ugettext_noop("Version"), width="6%") + descr = tables.Column("description", label=ugettext_noop("Description")) cols_order = ["selection", "name", "version", "descr"] + +class SuperAdminsTable(tables.Table): + idkey = "id" + selection = tables.SelectionColumn("selection", width="4%", first=True) + user_name = tables.Column("user_name", label=ugettext_noop("User name")) + full_name = tables.Column("full_name", label=ugettext_noop("Full name")) + date_joined = tables.Column("date_joined", label=ugettext_noop("Defined")) + enabled = tables.Column("enabled", label=gender("Enabled", "m"), width="10%") + + cols_order = ["selection", "user_name", "full_name", "date_joined", "enabled"] + +class DomainAdminsTable(tables.Table): + idkey = "id" + selection = tables.SelectionColumn("selection", width="4%", first=True) + domain = tables.Column("domain", label=ugettext_noop("Domain")) + full_name = tables.Column("full_name", label=ugettext_noop("Full name")) + date_joined = tables.Column("date_joined", label=ugettext_noop("Defined")) + enabled = tables.Column("enabled", label=gender("Enabled", "m"), width="10%") + + cols_order = ["selection", "domain", "full_name", "date_joined", "enabled"] + diff --git a/admin/templatetags/admin_extras.py b/admin/templatetags/admin_extras.py index e795d99f2..296ae16b1 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 _ +from django.utils.translation import ugettext as _, ugettext_noop 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" : (_("enabled_m"), _("enabled_f")) + "Enabled" : (ugettext_noop("enabled_m"), ugettext_noop("enabled_f")) } @register.simple_tag @@ -214,7 +214,7 @@ def loadadminextmenu(user): def param(app, definition): result = """
""" % (definition.has_key("label") \ - and definition["label"] or definition["name"]) + and _(definition["label"]) or definition["name"]) name = "%s.%s" % (app, definition["name"]) value = definition.has_key("value") \ and definition["value"] or definition["deflt"] @@ -249,7 +249,7 @@ def param(app, definition): result += """ - """ % (definition["help"], _("Help"), static_url("pics/info.png")) + """ % (_(definition["help"]), _("Help"), static_url("pics/info.png")) result += """
""" diff --git a/admin/views.py b/admin/views.py index c9b921347..9edaf91c0 100644 --- a/admin/views.py +++ b/admin/views.py @@ -489,7 +489,7 @@ def permissions(request, tplname='admin/permissions.html'): permtables += [ {"id" : "domain_admins", "title" : _("Domain administrators"), - "rel" : "300 180", + "rel" : "310 180", "content" : DomainAdminsPerms().get(request)} ] diff --git a/auth/views.py b/auth/views.py index 8369269f3..4ebf7c765 100755 --- a/auth/views.py +++ b/auth/views.py @@ -23,6 +23,9 @@ def dologin(request): if request.user.id != 1: request.session["password"] = encrypt(request.POST["password"]) + request.session["django_language"] = \ + parameters.get_user(request.user, "LANG", app="general") + events.raiseEvent("UserLogin", request=request, username=request.POST["username"], password=request.POST["password"]) diff --git a/extensions/amavis_quarantine/main.py b/extensions/amavis_quarantine/main.py index bfbc0d53a..88c9e917b 100644 --- a/extensions/amavis_quarantine/main.py +++ b/extensions/amavis_quarantine/main.py @@ -3,7 +3,7 @@ """ """ from django.conf.urls.defaults import * -from django.utils.translation import ugettext as _, ungettext +from django.utils.translation import ugettext_noop as _, ugettext from django.core.urlresolvers import reverse from modoboa.lib import events, parameters from modoboa.lib.webutils import static_url @@ -12,7 +12,7 @@ def infos(): return { "name" : "Amavis quarantine", "version" : "1.0", - "description" : _("Simple amavis quarantine management tool") + "description" : ugettext("Simple amavis quarantine management tool") } def init(): @@ -33,11 +33,11 @@ def init(): deflt=9998, help=_("PDP server port (if inet mode)")) parameters.register_admin("AM_PDP_SOCKET", type="string", - deflt="/var/amavis/amavisd.sock", + deflt=_("/var/amavis/amavisd.sock"), help=_("Path to the PDP server socket (if unix mode)")) parameters.register_user("MESSAGES_PER_PAGE", type="int", deflt=40, - label=_("Number of displayed emails per page"), + label="Number of displayed emails per page", help=_("Sets the maximum number of messages displayed in a page")) def destroy(): diff --git a/extensions/amavis_quarantine/sql_listing.py b/extensions/amavis_quarantine/sql_listing.py index 48ca0ebd9..340da068b 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 _ +from django.utils.translation import ugettext as _, ugettext_noop from django.db.models import Q from modoboa.lib import tables from modoboa.lib.webutils import static_url @@ -18,10 +18,10 @@ class Qtable(tables.Table): label="", sortable=False) rstatus = tables.ImgColumn("rstatus", width='25px') - from_ = tables.Column("from", label=_("From"), limit=30) - subject = tables.Column("subject", label=_("Subject"), limit=40) - time = tables.Column("date", label=_("Date")) - to = tables.Column("to", label=_("To"), sortable=False) + 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) cols_order = [] diff --git a/extensions/postfix_autoreply/main.py b/extensions/postfix_autoreply/main.py index ca4ba700d..e3bdf5fdc 100644 --- a/extensions/postfix_autoreply/main.py +++ b/extensions/postfix_autoreply/main.py @@ -9,7 +9,7 @@ functionality into Postfix. """ from django.conf.urls.defaults import include from django.core.urlresolvers import reverse -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext_noop as _, ugettext from modoboa.lib import events, parameters from modoboa.lib.webutils import static_url from models import * @@ -18,7 +18,7 @@ def infos(): return { "name" : "Postfix autoreply", "version" : "1.0", - "description" : _("Auto-reply (vacation) functionality using Postfix") + "description" : ugettext("Auto-reply (vacation) functionality using Postfix") } def init(): @@ -57,7 +57,7 @@ def menu(**kwargs): "img" : static_url("pics/auto-reply.png"), "class" : "boxed", "rel" : "{handler:'iframe',size:{x:440,y:400}}", - "label" : _("Auto-reply message")} + "label" : ugettext("Auto-reply message")} ] def onCreateDomain(**kwargs): diff --git a/extensions/sievefilters/forms.py b/extensions/sievefilters/forms.py index 7c0916bdc..c07ac1a36 100644 --- a/extensions/sievefilters/forms.py +++ b/extensions/sievefilters/forms.py @@ -1,47 +1,47 @@ from django import forms from django.http import QueryDict -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext as _, ugettext_noop from modoboa.admin.templatetags.admin_extras import gender class FiltersSetForm(forms.Form): name = forms.CharField() active = forms.BooleanField(label=gender("Active", "m"), required=False, initial=False, - help_text=_("Check to activate this filters set")) - -header_operators = [("contains", _("contains"), "string"), - ("notcontains", _("does not contain"), "string"), - ("is", _("is"), "string"), - ("isnot", _("is not"), "string")] + help_text=ugettext_noop("Check to activate this filters set")) class FilterForm(forms.Form): - name = forms.CharField(label=_("Name")) - match_type = forms.ChoiceField(choices=[("allof", _("All of the following")), - ("anyof", _("Any of the following")), - ("all", _("All messages"))], - initial="anyof", - widget=forms.RadioSelect) - - cond_templates = [ - {"name" : "Subject", "label" : _("Subject"), "operators" : header_operators}, - {"name" : "From", "label" : _("Sender"), "operators" : header_operators}, - {"name" : "To", "label" : _("Recipient"), "operators" : header_operators}, - {"name" : "Cc", "label" : _("Cc"), "operators" : header_operators}, - {"name" : "size", "label" : _("Size"), - "operators" : [("over", _("is greater than"), "number"), - ("under", _("is less than"), "number")]}, - ] - - action_templates = [ - {"name" : "fileinto", "label" : _("Move message to"), - "args" : [{"type" : "list", "vloader" : "userfolders"}]}, - {"name" : "redirect", "label" : _("Redirect message to"), - "args" : [{"type" : "string"}]}, - ] - def __init__(self, conditions, actions, request, *args, **kwargs): super(FilterForm, self).__init__(*args, **kwargs) + self.fields["name"] = forms.CharField(label=_("Name")) + self.fields["match_type"] = forms.ChoiceField(choices=[("allof", _("All of the following")), + ("anyof", _("Any of the following")), + ("all", _("All messages"))], + initial="anyof", + widget=forms.RadioSelect) + + self.header_operators = [("contains", _("contains"), "string"), + ("notcontains", _("does not contain"), "string"), + ("is", _("is"), "string"), + ("isnot", _("is not"), "string")] + + self.cond_templates = [ + {"name" : "Subject", "label" : _("Subject"), "operators" : self.header_operators}, + {"name" : "From", "label" : _("Sender"), "operators" : self.header_operators}, + {"name" : "To", "label" : _("Recipient"), "operators" : self.header_operators}, + {"name" : "Cc", "label" : _("Cc"), "operators" : self.header_operators}, + {"name" : "size", "label" : _("Size"), + "operators" : [("over", _("is greater than"), "number"), + ("under", _("is less than"), "number")]}, + ] + + self.action_templates = [ + {"name" : "fileinto", "label" : _("Move message to"), + "args" : [{"type" : "list", "vloader" : "userfolders"}]}, + {"name" : "redirect", "label" : _("Redirect message to"), + "args" : [{"type" : "string"}]}, + ] + self.conds_cnt = 0 for c in conditions: getattr(self, "_build_%s_field" % c[0])(c[1], c[2]) @@ -53,7 +53,7 @@ class FilterForm(forms.Form): targets = [] ops = [] vfield = None - for tpl in FilterForm.cond_templates: + for tpl in self.cond_templates: targets += [(tpl["name"], tpl["label"]),] if tpl["name"] != name: continue @@ -89,7 +89,7 @@ class FilterForm(forms.Form): def _build_action_field(self, request, name, value): actions = [] args = None - for tpl in FilterForm.action_templates: + for tpl in self.action_templates: actions += [(tpl["name"], tpl["label"]),] if name == tpl["name"]: args = tpl["args"] diff --git a/extensions/sievefilters/main.py b/extensions/sievefilters/main.py index a753bcddf..5edbc35c5 100644 --- a/extensions/sievefilters/main.py +++ b/extensions/sievefilters/main.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext_noop as _, ugettext from django.core.urlresolvers import reverse from django.conf.urls.defaults import include from modoboa.lib import events, parameters @@ -39,7 +39,7 @@ def infos(): return { "name" : "Sieve filters", "version" : "1.0", - "description" : _("Plugin to easily create server-side filters") + "description" : ugettext("Plugin to easily create server-side filters") } def urls(prefix): @@ -53,7 +53,7 @@ def menu(**kwargs): return [] return [ {"name" : "sievefilters", - "label" : _("Message filters"), + "label" : ugettext("Message filters"), "url" : reverse(views.index), "img" : static_url("pics/filters.png")} ] diff --git a/extensions/sievefilters/static/js/lib.js b/extensions/sievefilters/static/js/lib.js index d8688f475..d2c19da31 100644 --- a/extensions/sievefilters/static/js/lib.js +++ b/extensions/sievefilters/static/js/lib.js @@ -137,7 +137,7 @@ function savefs(evt) { * Remove the current filters set. * * On success, the user will be automatically redirected to the active - * filters set. (FIXME: what happens when there is no more script?) + * filters set. */ function removefs(evt) { if (!check_prereqs(evt, gettext("Remove filters set?"))) { diff --git a/extensions/sievefilters/templates/sievefilters/filter.html b/extensions/sievefilters/templates/sievefilters/filter.html index 065b1d425..f56d853cb 100644 --- a/extensions/sievefilters/templates/sievefilters/filter.html +++ b/extensions/sievefilters/templates/sievefilters/filter.html @@ -67,7 +67,7 @@ $(document).addEvent("domready", function() {

{{ title }}

{% if oldname %}{% endif %} - {{ form.name.label_tag }}: + : {{ form.name }}{% display_errors form.name.errors %}

{% trans "Conditions" %}

diff --git a/extensions/sievefilters/views.py b/extensions/sievefilters/views.py index f39fd0f83..9613e2d75 100644 --- a/extensions/sievefilters/views.py +++ b/extensions/sievefilters/views.py @@ -41,8 +41,8 @@ def index(request, tplname="sievefilters/index.html"): @is_not_localadmin() def get_templates(request, ftype): if ftype == "condition": - return ajax_simple_response(FilterForm.cond_templates) - return ajax_simple_response(FilterForm.action_templates) + return ajax_simple_response(FilterForm([], [], request).cond_templates) + return ajax_simple_response(FilterForm([], [], request).action_templates) @login_required @is_not_localadmin() diff --git a/extensions/stats/main.py b/extensions/stats/main.py index 1a11ffa3a..645a4a412 100644 --- a/extensions/stats/main.py +++ b/extensions/stats/main.py @@ -8,7 +8,7 @@ sent, received, bounced, rejected """ from django.core.urlresolvers import reverse -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext_noop as _, ugettext from django.conf.urls.defaults import * from modoboa.lib import events, parameters from modoboa.lib.webutils import static_url @@ -17,7 +17,7 @@ def infos(): return { "name" : "Statistics", "version" : "1.0", - "description" : _("Graphical statistics about emails traffic using RRDtool") + "description" : ugettext("Graphical statistics about emails traffic using RRDtool") } def init(): @@ -43,7 +43,7 @@ def menu(**kwargs): if kwargs["target"] == "admin_menu_box": return [ {"name" : "stats", - "label" : _("Statistics"), + "label" : ugettext("Statistics"), "url" : reverse('fullindex'), "img" : static_url("pics/graph.png")} ] diff --git a/extensions/stats/templates/stats/graphs.html b/extensions/stats/templates/stats/graphs.html index 1c1aaa9b6..83a088259 100644 --- a/extensions/stats/templates/stats/graphs.html +++ b/extensions/stats/templates/stats/graphs.html @@ -3,7 +3,7 @@

{% trans "Custom period : from" %} {{ start }} {% trans "to" %} {{ end }}

{% endif %} {% for elems in graphs %} -

{{ elems.label }}

+

{% trans elems.label %}

{% trans 'No statistics available' %}

{% endfor %} diff --git a/extensions/stats/templates/stats/index.html b/extensions/stats/templates/stats/index.html index 9929a0dd5..6e33f0f4f 100644 --- a/extensions/stats/templates/stats/index.html +++ b/extensions/stats/templates/stats/index.html @@ -99,7 +99,7 @@ window.addEvent("domready", function() {
diff --git a/extensions/stats/views.py b/extensions/stats/views.py index 0abe10575..adb64a436 100644 --- a/extensions/stats/views.py +++ b/extensions/stats/views.py @@ -2,7 +2,7 @@ from django.http import HttpResponse from django.core.urlresolvers import reverse -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext as _, ugettext_noop from django.utils import simplejson from modoboa.lib.webutils import _render, _render_to_string, getctx from modoboa.admin.views import good_domain @@ -12,14 +12,14 @@ from django.contrib.auth.decorators \ from modoboa.extensions.stats.grapher import * graph_types = ['AVERAGE', 'MAX'] -graph_list = [{"name" : "traffic", "label" : _("Average normal traffic")}, - {"name" : "badtraffic", "label" : _("Average bad traffic")}, - {"name" : "size", "label" : _("Average normal traffic size")}] -periods = [{"name" : "day", "label" : _("Day")}, - {"name" : "week", "label" : _("Week")}, - {"name" : "month", "label" : _("Month")}, - {"name" : "year", "label" : _("Year")}, - {"name" : "custom", "label" : _("Custom")}] +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")}] @login_required @good_domain diff --git a/extensions/webmail/forms.py b/extensions/webmail/forms.py index 32ffe97ea..8e5b75abc 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 as _ +from django.utils.translation import ugettext_noop as _ class ComposeMailForm(forms.Form): from_ = forms.CharField(label=_("From")) @@ -11,4 +11,4 @@ class FolderForm(forms.Form): name = forms.CharField() class AttachmentForm(forms.Form): - attachment = forms.FileField(label="") + attachment = forms.FileField(label=_("Select a file")) diff --git a/extensions/webmail/lib.py b/extensions/webmail/lib.py index 8600762ac..9ffd8e63b 100644 --- a/extensions/webmail/lib.py +++ b/extensions/webmail/lib.py @@ -14,7 +14,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 _ +from django.utils.translation import ugettext as _, ugettext_noop as __ from django.conf import settings from modoboa.lib import u2u_decode, tables, imap_utf7, parameters from modoboa.lib.webutils import static_url, size2integer @@ -39,14 +39,15 @@ class WebmailError(Exception): class WMtable(tables.Table): tableid = "emails" idkey = "imapid" - _0_select = tables.ImgColumn("select", cssclass="draggable left", width="1%", - defvalue="%spics/grippy.png" % settings.MEDIA_URL, - header="") - _1_flags = tables.ImgColumn("flags", width="4%") - _2_subject = tables.Column("subject", label=_("Subject"), width="50%") - _3_from_ = tables.Column("from", width="20%", label=_("From")) - _4_date = tables.Column("date", width="20%", label=_("Date")) + select = tables.ImgColumn("select", cssclass="draggable left", width="1%", + defvalue="%spics/grippy.png" % settings.MEDIA_URL, + header="") + flags = tables.ImgColumn("flags", width="4%") + subject = tables.Column("subject", label=__("Subject"), width="50%") + from_ = tables.Column("from", width="20%", label=__("From")) + date = tables.Column("date", width="20%", label=__("Date")) + cols_order = ["select", "flags", "subject", "from_", "date"] def parse(self, header, value): try: diff --git a/extensions/webmail/main.py b/extensions/webmail/main.py index 2aa9bf587..95cb0410f 100644 --- a/extensions/webmail/main.py +++ b/extensions/webmail/main.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext_noop as _, ugettext from django.core.urlresolvers import reverse from django.conf.urls.defaults import include from modoboa.lib import events, parameters @@ -73,7 +73,7 @@ def infos(): return { "name" : "Webmail", "version" : "1.0", - "description" : _("Simple IMAP webmail") + "description" : ugettext("Simple IMAP webmail") } def urls(prefix): diff --git a/extensions/webmail/static/css/attachments.css b/extensions/webmail/static/css/attachments.css index ce9eedd5a..7d65dcb76 100644 --- a/extensions/webmail/static/css/attachments.css +++ b/extensions/webmail/static/css/attachments.css @@ -29,4 +29,8 @@ img { float: left; margin-right: 5px; +} + +div.row label { + width: 150px; } \ No newline at end of file diff --git a/extensions/webmail/templates/webmail/compose.html b/extensions/webmail/templates/webmail/compose.html index 424e41b97..8b4310d29 100644 --- a/extensions/webmail/templates/webmail/compose.html +++ b/extensions/webmail/templates/webmail/compose.html @@ -9,11 +9,7 @@ {% trans "Attachments" %}
- {% blocktrans count attachments|length as counter %} - {{ counter }} file - {% plural %} - {{ counter }} files - {% endblocktrans %} + {% blocktrans count attachments|length as counter %}{{ counter }} file{% plural %}{{ counter }} files{% endblocktrans %} {{ short_att_list }}
diff --git a/lib/middleware.py b/lib/middleware.py index 49f7c534c..61f11fc53 100644 --- a/lib/middleware.py +++ b/lib/middleware.py @@ -15,5 +15,3 @@ class ExtControlMiddleware(object): if ext.enabled: return None raise Http404 - - diff --git a/lib/parameters.py b/lib/parameters.py index a29986423..2e01e6d23 100644 --- a/lib/parameters.py +++ b/lib/parameters.py @@ -61,11 +61,19 @@ def __guess_extension(): return None def register_admin(name, **kwargs): - app = kwargs.has_key("app") and kwargs["app"] or __guess_extension() + if kwargs.has_key("app"): + app = kwargs["app"] + del kwargs["app"] + else: + app = __guess_extension() return __register(app, 'A', name, **kwargs) def register_user(name, **kwargs): - app = kwargs.has_key("app") and kwargs["app"] or __guess_extension() + if kwargs.has_key("app"): + app = kwargs["app"] + del kwargs["app"] + else: + app = __guess_extension() return __register(app, 'U', name, **kwargs) def unregister_app(app): diff --git a/lib/tables.py b/lib/tables.py index cd5c06426..8b4aaf80e 100644 --- a/lib/tables.py +++ b/lib/tables.py @@ -28,7 +28,7 @@ class Column: label = getattr(self, "label") except KeyError: label = getattr(self, "name") - return label + return _(label) class SelectionColumn(Column): diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 613995c20..2b635fc86 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.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-08-25 09:53+0200\n" +"POT-Creation-Date: 2011-09-14 14:11+0200\n" "PO-Revision-Date: 2011-08-25 13:03+0100\n" "Last-Translator: Patrick Ben Koetter \n" "Language-Team: DE \n" @@ -22,20 +22,32 @@ msgid "Path to the root directory where messages are stored" msgstr "Pfad zum root-Verzeichnis unterhalb dessen E-Mails abgelegt werden" #: admin/__init__.py:9 -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:11 -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:14 msgid "Mailboxes storage format" msgstr "Mailbox erstellt." #: admin/__init__.py:16 -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:19 msgid "Scheme used to crypt mailbox passwords" @@ -49,9 +61,7 @@ msgstr "Anzahl dargestellter Einträge pro Seite" 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:75 +#: admin/forms.py:51 admin/tables.py:20 admin/tables.py:78 msgid "Quota" msgstr "Quota" @@ -59,8 +69,7 @@ msgstr "Quota" 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:53 -#: auth/forms.py:6 +#: admin/forms.py:53 auth/forms.py:6 msgid "Password" msgstr "Passwort" @@ -68,8 +77,7 @@ msgstr "Passwort" msgid "Password used to log in" msgstr "Login-Passwort" -#: admin/forms.py:56 -#: userprefs/forms.py:16 +#: admin/forms.py:56 userprefs/forms.py:16 msgid "Confirmation" msgstr "Bestätigung" @@ -81,13 +89,11 @@ msgstr "Passwort Bestätigung" msgid "Check to activate this mailbox" msgstr "Markieren, um die Mailbox zu aktivieren" -#: admin/forms.py:88 -#: userprefs/forms.py:35 +#: admin/forms.py:88 userprefs/forms.py:35 msgid "Passwords mismatch" msgstr "Passwörter stimmen nicht überein" -#: admin/forms.py:103 -#: admin/tables.py:99 +#: admin/forms.py:103 admin/tables.py:103 msgid "Target(s)" msgstr "Ziel(e)" @@ -107,54 +113,40 @@ msgstr "Zugriff verweigert für" msgid "Permission denied on" msgstr "Erlaubnis verweigert für" -#: admin/forms.py:179 -#: admin/forms.py:192 +#: admin/forms.py:183 admin/forms.py:199 msgid "User" msgstr "Nutzer" -#: admin/forms.py:180 +#: admin/forms.py:184 msgid "Select a user" msgstr "Wählen Sie einen Nutzer" -#: admin/forms.py:181 -#: admin/forms.py:194 +#: 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:188 -#: admin/forms.py:207 +#: admin/forms.py:194 admin/tables.py:146 msgid "Domain" msgstr "Domäne" -#: admin/forms.py:190 +#: admin/forms.py:196 msgid "Select a domain" msgstr "Wählen Sie eine Domäne" -#: admin/forms.py:191 +#: admin/forms.py:197 msgid "Select a domain in the list" msgstr "Wählen Sie eine Domäne aus der Liste" -#: admin/forms.py:193 +#: admin/forms.py:200 msgid "Empty" msgstr "Leer" -#: admin/forms.py:199 -msgid "User name" -msgstr "Benutzername" +#: 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:200 -#: admin/forms.py:208 -msgid "Full name" -msgstr "Voller Name" - -#: admin/forms.py:201 -#: admin/forms.py:209 -msgid "Defined" -msgstr "Definiert" - -#: admin/models.py:77 -#: admin/models.py:134 -#: admin/models.py:147 +#: admin/models.py:77 admin/models.py:134 admin/models.py:147 msgid "name" msgstr "Name" @@ -166,11 +158,8 @@ msgstr "Name der Domäne" msgid "Default quota in MB applied to mailboxes" msgstr "Standard-Quota für Mailboxen (in MB)" -#: admin/models.py:80 -#: admin/models.py:138 -#: admin/models.py:312 -#: admin/models.py:388 -#: extensions/postfix_autoreply/models.py:19 +#: admin/models.py:80 admin/models.py:138 admin/models.py:312 +#: admin/models.py:388 extensions/postfix_autoreply/models.py:19 msgid "enabled" msgstr "aktiviert" @@ -180,7 +169,8 @@ msgstr "Auswählen, um diese Domäne zu aktivieren" #: admin/models.py:127 msgid "Failed to initialise domain, check permissions" -msgstr "Domäne konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." +msgstr "" +"Domäne konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." #: admin/models.py:135 msgid "The alias name" @@ -194,8 +184,7 @@ msgstr "Ziel" msgid "The domain this alias points to" msgstr "Domäne auf die dieser Alias verweist" -#: admin/models.py:139 -#: admin/models.py:313 +#: admin/models.py:139 admin/models.py:313 msgid "Check to activate this alias" msgstr "Auswählen um den Alias zu aktivieren" @@ -203,8 +192,7 @@ msgstr "Auswählen um den Alias zu aktivieren" msgid "First name and last name of mailbox owner" msgstr "Vor- und Nachname des Mailbox-Besitzers" -#: admin/models.py:149 -#: admin/models.py:306 +#: admin/models.py:149 admin/models.py:306 msgid "address" msgstr "Adresse" @@ -216,18 +204,22 @@ msgstr "Mailbox-Adresse (ohne den @domain.tld-Anteil)" msgid "password" msgstr "Passwort" -#: admin/models.py:226 -#: admin/models.py:276 +#: admin/models.py:226 admin/models.py:276 msgid "Failed to initialise mailbox, check permissions" -msgstr "Mailbox konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." +msgstr "" +"Mailbox konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." #: admin/models.py:245 msgid "Mailbox with this address already exists" msgstr "Eine Mailbox mit dieser Adresse existiert bereits." #: admin/models.py:307 -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." +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:309 msgid "mailboxes" @@ -241,383 +233,357 @@ msgstr "Mailbox auf den dieser Alias verweist" msgid "Check to enable this extension" msgstr "Auswählen, um diese Erweiterung zu aktivieren" -#: admin/permissions.py:27 +#: admin/permissions.py:28 msgid "Add super administrator" msgstr "Super-Administrator hinzufügen" -#: admin/permissions.py:80 +#: admin/permissions.py:81 msgid "Add domain administrator" msgstr "Domänen-Administrator hinzufügen" -#: admin/tables.py:10 -#: admin/tables.py:44 -#: admin/tables.py:69 -#: admin/tables.py:123 -#: extensions/sievefilters/forms.py:18 +#: 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 msgid "Name" msgstr "Name" -#: admin/tables.py:11 -#: admin/tables.py:46 -#: admin/tables.py:70 -#: admin/tables.py:100 +#: admin/tables.py:11 admin/tables.py:47 admin/tables.py:72 +#: admin/tables.py:104 msgid "Created" msgstr "Erstellt" -#: admin/tables.py:12 -#: admin/tables.py:47 -#: admin/tables.py:71 -#: admin/tables.py:101 +#: 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:112 +#: admin/tables.py:14 admin/views.py:165 +#: admin/templatetags/admin_extras.py:113 msgid "Domain aliases" msgstr "Domänen-Aliase" -#: admin/tables.py:16 -#: admin/templatetags/admin_extras.py:35 -#: admin/templatetags/admin_extras.py:115 +#: admin/tables.py:16 admin/templatetags/admin_extras.py:36 +#: admin/templatetags/admin_extras.py:116 msgid "Mailboxes" msgstr "Mailboxen" -#: admin/tables.py:18 -#: admin/views.py:394 -#: admin/templatetags/admin_extras.py:118 +#: admin/tables.py:18 admin/views.py:395 +#: admin/templatetags/admin_extras.py:119 msgid "Mailbox aliases" msgstr "Mailboxen-Aliase" -#: admin/tables.py:21 -#: admin/tables.py:49 -msgid "Enabled" -msgstr "Aktiviert" - -#: admin/tables.py:23 -#: admin/tables.py:51 -#: admin/tables.py:78 -#: admin/tables.py:105 +#: admin/tables.py:24 admin/tables.py:52 admin/tables.py:82 +#: admin/tables.py:109 #: 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 -#: extensions/webmail/templatetags/webextras.py:92 +#: extensions/webmail/templatetags/webextras.py:93 msgid "Actions" msgstr "Aktionen" -#: admin/tables.py:35 -#: admin/tables.py:89 +#: admin/tables.py:36 admin/tables.py:93 msgid "MB" msgstr "MB" -#: admin/tables.py:38 -#: admin/tables.py:62 -#: admin/tables.py:92 -#: admin/tables.py:118 -#: extensions/sievefilters/views.py:246 +#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 +#: admin/tables.py:122 extensions/sievefilters/views.py:248 msgid "yes" msgstr "Ja" -#: admin/tables.py:38 -#: admin/tables.py:62 -#: admin/tables.py:92 -#: admin/tables.py:118 -#: extensions/sievefilters/views.py:250 +#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 +#: admin/tables.py:122 extensions/sievefilters/views.py:252 msgid "no" msgstr "Nein" -#: admin/tables.py:45 +#: admin/tables.py:46 msgid "Targeted domain" msgstr "Ziel-Domäne" -#: admin/tables.py:68 -#: admin/tables.py:98 +#: admin/tables.py:70 admin/tables.py:102 msgid "Address" msgstr "Adresse" -#: admin/tables.py:73 +#: admin/tables.py:76 msgid "Aliases" msgstr "Aliases" -#: admin/tables.py:124 +#: admin/tables.py:128 msgid "Version" msgstr "Version" -#: admin/tables.py:125 +#: admin/tables.py:129 msgid "Description" msgstr "Beschreibung" -#: admin/views.py:31 +#: admin/tables.py:136 +msgid "User name" +msgstr "Benutzername" + +#: admin/tables.py:137 admin/tables.py:147 +msgid "Full name" +msgstr "Voller Name" + +#: admin/tables.py:138 admin/tables.py:148 +msgid "Defined" +msgstr "Definiert" + +#: admin/views.py:32 msgid "Unknown object type" msgstr "Unbekannter Objekt-Typ" -#: admin/views.py:65 +#: admin/views.py:66 msgid "Do not delete domain directory" msgstr "Domänen-Verzeichnis nicht löschen" -#: admin/views.py:68 +#: admin/views.py:69 msgid "Available domains" msgstr "Verfügbare Domänen" -#: admin/views.py:86 +#: admin/views.py:87 msgid "Domain with this name already defined" msgstr "Es existiert bereits eine Domain mit diesem Namen" -#: admin/views.py:103 +#: admin/views.py:104 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:173 -#: extensions/webmail/views.py:455 +#: admin/views.py:105 admin/views.py:174 admin/views.py:298 admin/views.py:329 +#: admin/views.py:433 extensions/sievefilters/views.py:175 +#: extensions/webmail/views.py:371 msgid "Create" msgstr "Erstellen" -#: admin/views.py:109 +#: admin/views.py:110 msgid "Domain created" msgstr "Domäne erstellt." -#: admin/views.py:120 +#: admin/views.py:121 msgid "Domain editing" msgstr "Domäne Bearbeitung" -#: admin/views.py:121 -#: admin/views.py:208 -#: admin/views.py:451 +#: admin/views.py:122 admin/views.py:209 admin/views.py:452 #: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:38 -#: extensions/webmail/views.py:482 -#: templates/userprefs/chpassword.html:15 +#: extensions/webmail/views.py:398 templates/userprefs/chpassword.html:15 #: templates/userprefs/setforward.html:15 msgid "Update" msgstr "Aktualisieren" -#: admin/views.py:126 +#: admin/views.py:127 msgid "Domain modified" msgstr "Domäne verändert" -#: admin/views.py:140 +#: admin/views.py:141 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:150 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domäne gelöscht" msgstr[1] "Domänen gelöscht" -#: admin/views.py:172 +#: admin/views.py:173 msgid "New domain alias" msgstr "Neuer Domänen-Alias" -#: admin/views.py:182 -#: admin/views.py:217 +#: admin/views.py:183 admin/views.py:218 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:188 admin/views.py:223 admin/views.py:413 msgid "Alias with this name already exists" msgstr "Ein Alias mit diesem Namen existiert bereits" -#: admin/views.py:189 +#: admin/views.py:190 msgid "Domain alias created" msgstr "Domänen-Alias erstellt" -#: admin/views.py:207 +#: admin/views.py:208 msgid "Domain alias editing" msgstr "Domänen-Alias Bearbeitung" -#: admin/views.py:224 +#: admin/views.py:225 msgid "Domain alias updated" msgstr "Domänen-Alias aktualisiert" -#: admin/views.py:240 +#: admin/views.py:241 msgid "Domain alias deleted" msgid_plural "Domain aliases deleted" msgstr[0] "Domänen-Alias gelöscht" msgstr[1] "Domänen-Aliase gelöscht" -#: admin/views.py:248 +#: admin/views.py:249 msgid "Available mailboxes" msgstr "Verfügbare Mailboxen" -#: admin/views.py:256 +#: admin/views.py:257 msgid "Do not delete mailbox directory" msgstr "Löschen Sie nicht das Mailbox-Verzeichnis" -#: admin/views.py:296 +#: admin/views.py:297 msgid "New mailbox" msgstr "Neue Mailbox" -#: admin/views.py:310 +#: admin/views.py:311 msgid "Mailbox created" msgstr "Mailbox erstellt." -#: admin/views.py:327 +#: admin/views.py:328 msgid "Mailbox editing" msgstr "Mailboxen Bearbeitung" -#: admin/views.py:344 +#: admin/views.py:345 msgid "Mailbox modified" msgstr "Mailbox verändert" -#: admin/views.py:347 +#: admin/views.py:348 msgid "Failed to rename mailbox, check permissions" msgstr "Mailbox konnte nicht umbenannt werden. Prüfen Sie die Berechtigungen." -#: admin/views.py:366 +#: admin/views.py:367 msgid "You can't delete your own mailbox" msgstr "Sie können Ihre eigene Mailbox nicht löschen" -#: admin/views.py:376 +#: admin/views.py:377 msgid "Mailbox deleted" msgid_plural "Mailboxes deleted" msgstr[0] "Mailbox gelöscht" msgstr[1] "Mailboxen gelöscht" -#: admin/views.py:407 +#: admin/views.py:408 msgid "No target defined" msgstr "Kein Ziel angegeben" -#: admin/views.py:431 +#: admin/views.py:432 msgid "New mailbox alias" msgstr "Neuer Mailbox-Alias" -#: admin/views.py:437 +#: admin/views.py:438 msgid "Mailbox alias created" msgstr "Mailbox-Alias erstellt." -#: admin/views.py:450 +#: admin/views.py:451 msgid "Mailbox alias editing" msgstr "Mailbox-Alias Bearbeitung" -#: admin/views.py:456 +#: admin/views.py:457 msgid "Mailbox alias modified" msgstr "Mailbox-Alias verändert" -#: admin/views.py:470 +#: admin/views.py:471 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias gelöscht" msgstr[1] "Aliase gelöscht" -#: admin/views.py:481 +#: admin/views.py:482 msgid "Super administrators" msgstr "Super-Administratoren" -#: admin/views.py:490 +#: admin/views.py:491 msgid "Domain administrators" msgstr "Domänen-Administratoren" -#: admin/views.py:505 -#: admin/views.py:522 +#: admin/views.py:506 admin/views.py:523 msgid "Permission denied!" msgstr "Berechtigung verweigert!" -#: admin/views.py:514 +#: admin/views.py:515 msgid "Permission added." msgstr "Berechtigung hinzugefügt." -#: admin/views.py:528 +#: admin/views.py:529 msgid "Permissions removed" msgstr "Berechtigungen entfernt" -#: admin/views.py:609 +#: admin/views.py:610 msgid "Modifications applied." msgstr "Änderungen übernommen." -#: admin/templatetags/admin_extras.py:11 +#: admin/templatetags/admin_extras.py:12 msgid "enabled_m" msgstr "aktiviert_m" -#: admin/templatetags/admin_extras.py:11 +#: admin/templatetags/admin_extras.py:12 msgid "enabled_f" msgstr "aktiviert_f" -#: admin/templatetags/admin_extras.py:19 +#: admin/templatetags/admin_extras.py:20 msgid "Admin" msgstr "Admin" -#: admin/templatetags/admin_extras.py:28 -#: admin/templatetags/admin_extras.py:107 +#: admin/templatetags/admin_extras.py:29 +#: admin/templatetags/admin_extras.py:108 msgid "Domains" msgstr "Domänen" -#: admin/templatetags/admin_extras.py:45 -#: templates/admin/permissions.html:6 +#: admin/templatetags/admin_extras.py:46 templates/admin/permissions.html:6 msgid "Permissions" msgstr "Berechtigungen" -#: admin/templatetags/admin_extras.py:52 +#: admin/templatetags/admin_extras.py:53 #: templates/admin/settings_header.html:6 msgid "Settings" msgstr "Einstellungen" -#: admin/templatetags/admin_extras.py:67 +#: admin/templatetags/admin_extras.py:68 msgid "Parameters" msgstr "Parameter" -#: admin/templatetags/admin_extras.py:70 +#: admin/templatetags/admin_extras.py:71 msgid "Extensions" msgstr "Erweiterungen" -#: admin/templatetags/admin_extras.py:96 +#: admin/templatetags/admin_extras.py:97 msgid "New" msgstr "Neu" -#: admin/templatetags/admin_extras.py:100 +#: admin/templatetags/admin_extras.py:101 msgid "Remove" msgstr "Entfernen" -#: admin/templatetags/admin_extras.py:133 +#: admin/templatetags/admin_extras.py:134 msgid "Add permission" msgstr "Berechtigung hinzufügen" -#: admin/templatetags/admin_extras.py:137 +#: admin/templatetags/admin_extras.py:138 msgid "Remove permissions" msgstr "Berechtigung entziehen" -#: admin/templatetags/admin_extras.py:150 +#: admin/templatetags/admin_extras.py:151 msgid "Edit domain" msgstr "Domäne bearbeiten" -#: admin/templatetags/admin_extras.py:156 +#: admin/templatetags/admin_extras.py:157 msgid "View aliases of this domain" msgstr "Aliase dieser Domäne ansehen" -#: admin/templatetags/admin_extras.py:166 +#: admin/templatetags/admin_extras.py:167 msgid "Edit alias" msgstr "Alias bearbeiten" -#: admin/templatetags/admin_extras.py:178 +#: admin/templatetags/admin_extras.py:179 msgid "Edit mailbox" msgstr "Mailbox bearbeiten" -#: admin/templatetags/admin_extras.py:184 +#: admin/templatetags/admin_extras.py:185 msgid "View this mailbox aliases" msgstr "Aliase dieser Mailbox ansehen" -#: admin/templatetags/admin_extras.py:199 +#: admin/templatetags/admin_extras.py:200 msgid "Edit mailbox alias" msgstr "Mailbox-Alias bearbeiten" -#: admin/templatetags/admin_extras.py:234 +#: admin/templatetags/admin_extras.py:235 msgid "Yes" msgstr "Ja" -#: admin/templatetags/admin_extras.py:234 +#: admin/templatetags/admin_extras.py:235 msgid "No" msgstr "Nein" -#: admin/templatetags/admin_extras.py:251 -#: templates/common/genericform.html:6 +#: admin/templatetags/admin_extras.py:252 templates/common/genericform.html:6 msgid "Help" msgstr "Hilfe" @@ -633,96 +599,95 @@ msgstr "Benutzername" msgid "Password used to authenticate" msgstr "Login-Passwort" -#: auth/views.py:35 +#: auth/views.py:38 msgid "Account is disabled." msgstr "Konto ist deaktiviert" -#: auth/views.py:36 +#: 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." -#: extensions/amavis_quarantine/main.py:14 +#: extensions/amavis_quarantine/main.py:15 msgid "Simple amavis quarantine management tool" msgstr "Einfaches amavis Quarantäne-Management Werkzeug" -#: extensions/amavis_quarantine/main.py:21 +#: extensions/amavis_quarantine/main.py:22 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:23 +#: extensions/amavis_quarantine/main.py:24 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:27 +#: extensions/amavis_quarantine/main.py:28 msgid "Mode used to access the PDP server" msgstr "Modus für Zugriff auf den PDP-Server" -#: extensions/amavis_quarantine/main.py:30 +#: extensions/amavis_quarantine/main.py:31 msgid "PDP server address (if inet mode)" msgstr "PDP-Server addresse (im inet-Modus)" -#: extensions/amavis_quarantine/main.py:33 +#: extensions/amavis_quarantine/main.py:34 msgid "PDP server port (if inet mode)" msgstr "PDP-Server port (im inet-Modus)" #: extensions/amavis_quarantine/main.py:36 +msgid "/var/amavis/amavisd.sock" +msgstr "" + +#: extensions/amavis_quarantine/main.py:37 msgid "Path to the PDP server socket (if unix mode)" msgstr "Pfad zum PDP-Server Socket (im UNIX-Modus)" -#: extensions/amavis_quarantine/main.py:39 -#: extensions/webmail/main.py:36 -msgid "Number of displayed emails per page" -msgstr "Anzahl dargestellter Nachrichten pro Seite" - -#: extensions/amavis_quarantine/main.py:40 -#: extensions/webmail/main.py:37 +#: extensions/amavis_quarantine/main.py:41 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" +msgstr "" +"Legt die maximale Anzahl von Nachrichten fest, die in einer Seite " +"dargestellt werden" -#: extensions/amavis_quarantine/main.py:56 +#: extensions/amavis_quarantine/main.py:57 #: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:42 msgid "Quarantine" msgstr "Quarantäne" -#: extensions/amavis_quarantine/sql_listing.py:19 +#: extensions/amavis_quarantine/sql_listing.py:21 #: extensions/webmail/forms.py:5 -#: extensions/webmail/lib.py:45 msgid "From" msgstr "Von" -#: extensions/amavis_quarantine/sql_listing.py:20 -#: extensions/sievefilters/forms.py:26 -#: extensions/webmail/forms.py:8 -#: extensions/webmail/lib.py:44 -#: extensions/webmail/lib.py:518 -#: templates/common/email_searchbar.html:7 +#: extensions/amavis_quarantine/sql_listing.py:22 +#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:8 +#: extensions/webmail/lib.py:521 templates/common/email_searchbar.html:7 msgid "Subject" msgstr "Betreff" -#: extensions/amavis_quarantine/sql_listing.py:21 -#: extensions/webmail/lib.py:46 -#: extensions/webmail/lib.py:520 +#: extensions/amavis_quarantine/sql_listing.py:23 +#: extensions/webmail/lib.py:523 msgid "Date" msgstr "Datum" -#: extensions/amavis_quarantine/sql_listing.py:22 -#: extensions/amavis_quarantine/templatetags/amextras.py:96 +#: extensions/amavis_quarantine/sql_listing.py:24 +#: extensions/amavis_quarantine/templatetags/amextras.py:94 #: extensions/webmail/forms.py:6 msgid "To" msgstr "An" -#: extensions/amavis_quarantine/views.py:88 +#: extensions/amavis_quarantine/views.py:89 msgid "Empty quarantine" msgstr "Quarantäne leeren" -#: extensions/amavis_quarantine/views.py:171 +#: extensions/amavis_quarantine/views.py:172 #, 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:201 +#: extensions/amavis_quarantine/views.py:202 #, python-format msgid "%(count)d message released successfully" msgid_plural "%(count)d messages released successfully" @@ -742,7 +707,7 @@ msgid "View as HTML" msgstr "In HTML-Format betrachten" #: extensions/amavis_quarantine/templatetags/amextras.py:22 -#: extensions/webmail/templatetags/webextras.py:41 +#: extensions/webmail/templatetags/webextras.py:42 msgid "Activate links" msgstr "Links aktivieren" @@ -755,46 +720,38 @@ msgid "View full headers" msgstr "Alle Mail-Header ansehen" #: extensions/amavis_quarantine/templatetags/amextras.py:41 -#: extensions/amavis_quarantine/templatetags/amextras.py:66 +#: extensions/amavis_quarantine/templatetags/amextras.py:64 msgid "Release" msgstr "Freigeben" -#: extensions/amavis_quarantine/templatetags/amextras.py:42 -msgid "Release this message?" -msgstr "Diese Nachricht freigeben?" - -#: extensions/amavis_quarantine/templatetags/amextras.py:47 -#: extensions/amavis_quarantine/templatetags/amextras.py:70 -#: extensions/webmail/templatetags/webextras.py:34 +#: extensions/amavis_quarantine/templatetags/amextras.py:46 +#: extensions/amavis_quarantine/templatetags/amextras.py:68 +#: extensions/webmail/templatetags/webextras.py:35 msgid "Delete" msgstr "Löschen" #: extensions/amavis_quarantine/templatetags/amextras.py:48 -msgid "Delete this message?" -msgstr "Diese Nachricht löschen?" - -#: extensions/amavis_quarantine/templatetags/amextras.py:50 -#: userprefs/templatetags/uprefs_extras.py:16 +#: userprefs/templatetags/uprefs_extras.py:17 msgid "Options" msgstr "Optionen" -#: extensions/amavis_quarantine/templatetags/amextras.py:74 +#: extensions/amavis_quarantine/templatetags/amextras.py:72 msgid "Select" msgstr "Auswählen" -#: extensions/amavis_quarantine/templatetags/amextras.py:79 +#: extensions/amavis_quarantine/templatetags/amextras.py:77 msgid "Nothing" msgstr "Nichts" -#: extensions/amavis_quarantine/templatetags/amextras.py:82 +#: extensions/amavis_quarantine/templatetags/amextras.py:80 msgid "Spam" msgstr "Spam" -#: extensions/amavis_quarantine/templatetags/amextras.py:85 +#: extensions/amavis_quarantine/templatetags/amextras.py:83 msgid "Bad header" msgstr "Schlechte Header" -#: extensions/amavis_quarantine/templatetags/amextras.py:88 +#: extensions/amavis_quarantine/templatetags/amextras.py:86 msgid "Bad MIME" msgstr "Schlechtes MIME" @@ -810,15 +767,18 @@ msgstr "Aktivieren Sie ihre automatisierte Antwort bis zu diesem Datum" msgid "This date is over" msgstr "Das Datum ist vorbei" -#: extensions/postfix_autoreply/main.py:20 +#: extensions/postfix_autoreply/main.py:21 msgid "Auto-reply (vacation) functionality using Postfix" -msgstr "Automatische Antwort (Abwesenheitsbenachrichtigung) über Postfix-Programm" +msgstr "" +"Automatische Antwort (Abwesenheitsbenachrichtigung) über Postfix-Programm" -#: extensions/postfix_autoreply/main.py:33 +#: extensions/postfix_autoreply/main.py:34 msgid "Timeout in seconds between two auto-replies to the same recipient" -msgstr "Zeit in Sekunden zwischen zwei automatisierten Antworten an denselben Empfänger" +msgstr "" +"Zeit in Sekunden zwischen zwei automatisierten Antworten an denselben " +"Empfänger" -#: extensions/postfix_autoreply/main.py:59 +#: extensions/postfix_autoreply/main.py:60 #: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:30 msgid "Auto-reply message" msgstr "Automatische Antwort" @@ -843,7 +803,7 @@ 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:35 +#: extensions/postfix_autoreply/views.py:36 msgid "Auto reply message updated successfully." msgstr "Automatische Antwort erfolgreich aktualisiert." @@ -851,155 +811,156 @@ msgstr "Automatische Antwort erfolgreich aktualisiert." msgid "Check to activate this filters set" msgstr "Häckchen setzen, damit Filter aktiv wird" -#: extensions/sievefilters/forms.py:12 -msgid "contains" -msgstr "enthält" - -#: extensions/sievefilters/forms.py:13 -msgid "does not contain" -msgstr "enthält nicht" - -#: extensions/sievefilters/forms.py:14 -msgid "is" -msgstr "ist" - -#: extensions/sievefilters/forms.py:15 -msgid "is not" -msgstr "ist nicht" - -#: extensions/sievefilters/forms.py:19 +#: extensions/sievefilters/forms.py:17 msgid "All of the following" msgstr "Alle folgende" -#: extensions/sievefilters/forms.py:20 +#: extensions/sievefilters/forms.py:18 msgid "Any of the following" msgstr "Irgendeines der folgenden" -#: extensions/sievefilters/forms.py:21 +#: extensions/sievefilters/forms.py:19 msgid "All messages" msgstr "Alle Nachrichten" -#: extensions/sievefilters/forms.py:27 +#: extensions/sievefilters/forms.py:23 +msgid "contains" +msgstr "enthält" + +#: extensions/sievefilters/forms.py:24 +msgid "does not contain" +msgstr "enthält nicht" + +#: extensions/sievefilters/forms.py:25 +msgid "is" +msgstr "ist" + +#: extensions/sievefilters/forms.py:26 +msgid "is not" +msgstr "ist nicht" + +#: extensions/sievefilters/forms.py:30 msgid "Sender" msgstr "Sender" -#: extensions/sievefilters/forms.py:28 +#: extensions/sievefilters/forms.py:31 msgid "Recipient" msgstr "Empfänger" -#: extensions/sievefilters/forms.py:29 -#: extensions/webmail/forms.py:7 +#: extensions/sievefilters/forms.py:32 extensions/webmail/forms.py:7 msgid "Cc" msgstr "Cc" -#: extensions/sievefilters/forms.py:30 +#: extensions/sievefilters/forms.py:33 msgid "Size" msgstr "Größe" -#: extensions/sievefilters/forms.py:31 +#: extensions/sievefilters/forms.py:34 msgid "is greater than" msgstr "ist größer als" -#: extensions/sievefilters/forms.py:32 +#: extensions/sievefilters/forms.py:35 msgid "is less than" msgstr "ist weniger als" -#: extensions/sievefilters/forms.py:36 +#: extensions/sievefilters/forms.py:39 msgid "Move message to" msgstr "Verschiebe Nachricht nach" -#: extensions/sievefilters/forms.py:38 +#: extensions/sievefilters/forms.py:41 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 msgid "Not enough space on server" msgstr "Kein weiterer Platz auf Server verfügbar" -#: extensions/sievefilters/main.py:14 +#: extensions/sievefilters/main.py:15 msgid "Address of your MANAGESIEVE server" msgstr "Adresse Ihres MANAGESIEVE-Servers" -#: extensions/sievefilters/main.py:16 +#: extensions/sievefilters/main.py:17 msgid "Listening port of your MANAGESIEVE server" msgstr "TCP-Port auf Ihr MANAGESIEVE-Server lauscht" -#: extensions/sievefilters/main.py:18 +#: extensions/sievefilters/main.py:19 msgid "Use the STARTTLS extension" msgstr "STARTTLS benutzen" -#: extensions/sievefilters/main.py:25 +#: extensions/sievefilters/main.py:26 msgid "Prefered authentication mechanism" msgstr "Bevorzugte Authentifizierungsmethode" -#: extensions/sievefilters/main.py:29 +#: extensions/sievefilters/main.py:30 msgid "Editor mode" msgstr "Editor-Modus" -#: extensions/sievefilters/main.py:31 +#: 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:41 +#: 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:55 +#: extensions/sievefilters/main.py:56 #: extensions/sievefilters/templates/sievefilters/index.html:17 msgid "Message filters" msgstr "Nachrichten-Filter" -#: extensions/sievefilters/views.py:68 +#: extensions/sievefilters/views.py:70 msgid "Failed to retrieve filters set" msgstr "Konnte Filter-Satz nicht laden" -#: extensions/sievefilters/views.py:112 +#: extensions/sievefilters/views.py:114 #: extensions/sievefilters/templatetags/sfilters_tags.py:34 msgid "New filter" msgstr "Neuer Filter" -#: extensions/sievefilters/views.py:115 +#: extensions/sievefilters/views.py:117 msgid "Filter created" msgstr "Filter erstellt" -#: extensions/sievefilters/views.py:126 +#: extensions/sievefilters/views.py:128 #: extensions/sievefilters/templatetags/sfilters_tags.py:72 msgid "Edit filter" msgstr "Filter bearbeiten" -#: extensions/sievefilters/views.py:131 +#: extensions/sievefilters/views.py:133 msgid "Filter modified" msgstr "Filter verändert" -#: extensions/sievefilters/views.py:151 +#: extensions/sievefilters/views.py:153 msgid "Filter removed" msgstr "Filter entfernt" -#: extensions/sievefilters/views.py:152 +#: extensions/sievefilters/views.py:154 msgid "Failed to remove filter" msgstr "Konnte Filter nicht entfernen" -#: extensions/sievefilters/views.py:166 +#: extensions/sievefilters/views.py:168 msgid "Filters set saved" msgstr "Filter-Satz gespeichert" -#: extensions/sievefilters/views.py:171 +#: extensions/sievefilters/views.py:173 msgid "Create a new filters set" msgstr "Neuen Filter-Satz erstellen" -#: extensions/sievefilters/views.py:191 +#: extensions/sievefilters/views.py:193 msgid "Filters set created" msgstr "Filter erstellt" -#: extensions/sievefilters/views.py:208 +#: extensions/sievefilters/views.py:210 msgid "Filters set deleted" msgstr "Filter entfernt" -#: extensions/sievefilters/views.py:219 +#: extensions/sievefilters/views.py:221 msgid "Filters set activated" msgstr "Filter-Satz aktiviert" @@ -1037,8 +998,11 @@ 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." +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 msgid "New filters set" @@ -1104,24 +1068,23 @@ msgstr "Empfangsgrösse" msgid "sent size" msgstr "Versendegrösse" -#: extensions/stats/main.py:19 +#: extensions/stats/main.py:20 msgid "Graphical statistics about emails traffic using RRDtool" msgstr "Grafische E-Mail-Statistik (setzt RRDtool ein)" -#: extensions/stats/main.py:26 +#: extensions/stats/main.py:27 msgid "Path to log file used to collect statistics" msgstr "Pfad zur Log-Datei, um Statistiken zu sammeln" -#: extensions/stats/main.py:29 +#: extensions/stats/main.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:32 +#: extensions/stats/main.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:45 -#: extensions/stats/templates/stats/index.html:84 +#: extensions/stats/main.py:46 extensions/stats/templates/stats/index.html:84 msgid "Statistics" msgstr "Statistiken" @@ -1166,8 +1129,7 @@ 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 +#: templates/admin/listing.html:12 templates/common/navbar.html:2 msgid "to" msgstr "bis" @@ -1195,153 +1157,216 @@ msgstr "Start" msgid "End" msgstr "Aktiviert" -#: extensions/webmail/lib.py:31 +#: extensions/webmail/forms.py:14 +#, fuzzy +msgid "Select a file" +msgstr "Wählen Sie einen Nutzer" + +#: extensions/webmail/lib.py:33 msgid "Server response" msgstr "Server-Antwort" -#: extensions/webmail/lib.py:142 +#: 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" +msgstr "" +"Verbindung zu IMAP-Server fehlgeschlagen. Überprüfen Sie Ihre Konfiguration" -#: extensions/webmail/lib.py:146 +#: extensions/webmail/lib.py:149 msgid "Authentication failed, check your configuration" msgstr "Authentifizierung fehlgeschlagen. Überprüfen Sie Ihre Konfiguration" -#: extensions/webmail/lib.py:465 +#: extensions/webmail/lib.py:468 msgid "wrote:" msgstr "schrieb:" -#: extensions/webmail/lib.py:532 -#: extensions/webmail/lib.py:536 +#: extensions/webmail/lib.py:535 extensions/webmail/lib.py:539 msgid "Original message" msgstr "Gesendete Nachrichten" -#: extensions/webmail/main.py:13 +#: extensions/webmail/main.py:14 msgid "Address of your IMAP server" msgstr "Addresse Ihres IMAP-Servers" -#: extensions/webmail/main.py:16 +#: extensions/webmail/main.py:17 msgid "Use a secured connection to access IMAP server" msgstr "Gesicherte Verbindung für Zugriff auf IMAP-Server verwenden" -#: extensions/webmail/main.py:18 +#: extensions/webmail/main.py:19 msgid "Listening port of your IMAP server" msgstr "Port auf dem der IMAP-Server lauscht" -#: extensions/webmail/main.py:21 +#: extensions/webmail/main.py:22 msgid "Address of your SMTP server" msgstr "Addresse Ihres SMTP-Servers" -#: extensions/webmail/main.py:23 +#: extensions/webmail/main.py:24 msgid "None" msgstr "Kein" -#: extensions/webmail/main.py:27 +#: extensions/webmail/main.py:28 msgid "Use a secured connection to access SMTP server" msgstr "Gesicherte Verbindung für Zugriff auf SMTP-Server verwenden" -#: extensions/webmail/main.py:29 +#: extensions/webmail/main.py:30 msgid "Listening port of your SMTP server" msgstr "Port auf dem der SMTP-Server lauscht" -#: extensions/webmail/main.py:32 +#: extensions/webmail/main.py:33 msgid "Server needs authentication" msgstr "Server erfordert Authentifizierung" +#: extensions/webmail/main.py:35 +msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)" +msgstr "" + #: extensions/webmail/main.py:39 +msgid "Number of displayed emails per page" +msgstr "Anzahl dargestellter Nachrichten pro Seite" + +#: extensions/webmail/main.py:42 msgid "Listing refresh rate" msgstr "Aktualisierungsintervall für Liste" -#: extensions/webmail/main.py:40 +#: extensions/webmail/main.py:43 msgid "Automatic folder refresh rate (in seconds)" msgstr "Aktualisierungsintervall für Ordner (in Sekunden)" -#: extensions/webmail/main.py:42 +#: extensions/webmail/main.py:45 msgid "Trash folder" msgstr "Papierkorb" -#: extensions/webmail/main.py:43 +#: extensions/webmail/main.py:46 msgid "Folder where deleted messages go" msgstr "Ordner für gelöschte Nachrichten" -#: extensions/webmail/main.py:45 +#: extensions/webmail/main.py:48 msgid "Sent folder" msgstr "Gesendete Nachrichten" -#: extensions/webmail/main.py:46 +#: extensions/webmail/main.py:49 msgid "Folder where copies of sent messages go" msgstr "Ordner für Gesendete Nachrichten" -#: extensions/webmail/main.py:48 +#: extensions/webmail/main.py:51 msgid "Drafts folder" msgstr "Entwürfe" -#: extensions/webmail/main.py:49 +#: extensions/webmail/main.py:52 msgid "Folder where drafts go" msgstr "Ordner für Entwürfe" -#: extensions/webmail/main.py:51 +#: extensions/webmail/main.py:54 msgid "Signature text" msgstr "Signatur" -#: extensions/webmail/main.py:52 +#: extensions/webmail/main.py:55 msgid "User defined email signature" msgstr "Benutzerdefinierte E-Mail-Signatur" -#: extensions/webmail/main.py:54 +#: extensions/webmail/main.py:57 msgid "Default editor" msgstr "Standard-Editor" -#: extensions/webmail/main.py:56 +#: extensions/webmail/main.py:59 msgid "The default editor to use when composing a message" msgstr "Der Standard-Editor zum Erstellen einer Nachricht" -#: extensions/webmail/main.py:58 +#: extensions/webmail/main.py:61 msgid "Default message display mode" msgstr "Standard Betrachtungsmodus für Nachrichten" -#: extensions/webmail/main.py:60 +#: extensions/webmail/main.py:63 msgid "The default mode used when displaying a message" msgstr "Der Standard Modus zum Betrachten einer Nachricht" -#: extensions/webmail/main.py:62 +#: extensions/webmail/main.py:65 msgid "Enable HTML links display" msgstr "Aktiviere Darstellung von HTML-Links" -#: extensions/webmail/main.py:63 +#: extensions/webmail/main.py:66 msgid "Enable/Disable HTML links display" msgstr "Aktiviere/Deaktiviere Darstellung von HTML-Links" -#: extensions/webmail/main.py:73 +#: extensions/webmail/main.py:76 msgid "Simple IMAP webmail" msgstr "Einfaches IMAP-Webmail" -#: extensions/webmail/main.py:87 +#: extensions/webmail/main.py:90 #: extensions/webmail/templates/webmail/index.html:212 msgid "Webmail" msgstr "Webmail" -#: extensions/webmail/views.py:67 -#: lib/email_listing.py:131 +#: 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/views.py:453 +#: extensions/webmail/views.py:369 msgid "Create a new folder" msgstr "Neuen Ordner anlegen" -#: extensions/webmail/views.py:465 +#: extensions/webmail/views.py:381 msgid "Folder created" msgstr "Ordner erstellt" -#: extensions/webmail/views.py:480 +#: extensions/webmail/views.py:396 msgid "Edit folder" msgstr "Ordner bearbeiten" -#: extensions/webmail/views.py:501 +#: extensions/webmail/views.py:417 msgid "Folder modified" msgstr "Ordner verändert" +#: extensions/webmail/views.py:465 +#, fuzzy +msgid "Failed to save attachment: " +msgstr "Konnte Filter nicht entfernen" + +#: extensions/webmail/views.py:468 +#, python-format +msgid "Attachment is too big (limit: %s)" +msgstr "" + +#: extensions/webmail/views.py:483 +#, fuzzy +msgid "Bad query" +msgstr "Schlechte Header" + +#: extensions/webmail/views.py:493 +#, fuzzy +msgid "Failed to remove attachment: " +msgstr "Konnte Filter nicht entfernen" + +#: extensions/webmail/views.py:498 +#, fuzzy +msgid "Unknown attachment" +msgstr "Dateianhänge" + +#: extensions/webmail/templates/webmail/attachments.html:86 +#: extensions/webmail/templates/webmail/compose.html:9 +#: extensions/webmail/templates/webmail/headers.html:7 +msgid "Attachments" +msgstr "Dateianhänge" + +#: extensions/webmail/templates/webmail/attachments.html:93 +#, fuzzy +msgid "Attach" +msgstr "Dateianhänge" + +#: extensions/webmail/templates/webmail/attachments.html:97 +msgid "Uploading.." +msgstr "" + +#: extensions/webmail/templates/webmail/attachments.html:113 +msgid "Done" +msgstr "" + +#: extensions/webmail/templates/webmail/compose.html:12 +#, 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" msgstr "Übergeordneter Ordner" @@ -1354,73 +1379,64 @@ msgstr "Neuen Ordner erstellen" msgid "Folders" msgstr "Ordner" -#: extensions/webmail/templates/webmail/headers.html:7 -msgid "Attachments" -msgstr "Dateianhänge" - #: extensions/webmail/templates/webmail/index.html:218 msgid "Mailbox quota" msgstr "Mailbox Quota" -#: extensions/webmail/templatetags/webextras.py:18 -#: extensions/webmail/templatetags/webextras.py:60 +#: extensions/webmail/templatetags/webextras.py:19 +#: extensions/webmail/templatetags/webextras.py:61 msgid "Back" msgstr "Zurück" -#: extensions/webmail/templatetags/webextras.py:22 +#: extensions/webmail/templatetags/webextras.py:23 msgid "Reply" msgstr "Antworten" -#: extensions/webmail/templatetags/webextras.py:26 +#: extensions/webmail/templatetags/webextras.py:27 msgid "Reply all" msgstr "Allen Antworten" -#: extensions/webmail/templatetags/webextras.py:30 -#: userprefs/templatetags/uprefs_extras.py:38 +#: extensions/webmail/templatetags/webextras.py:31 +#: userprefs/templatetags/uprefs_extras.py:39 msgid "Forward" msgstr "Weiterleiten" -#: extensions/webmail/templatetags/webextras.py:36 +#: extensions/webmail/templatetags/webextras.py:37 msgid "Display options" msgstr "Optionen darstellen" -#: extensions/webmail/templatetags/webextras.py:44 +#: extensions/webmail/templatetags/webextras.py:45 msgid "Disable links" msgstr "Links aktivieren" -#: extensions/webmail/templatetags/webextras.py:64 +#: extensions/webmail/templatetags/webextras.py:65 msgid "Send" msgstr "Senden" -#: extensions/webmail/templatetags/webextras.py:76 +#: extensions/webmail/templatetags/webextras.py:77 msgid "New message" msgstr "Neue Nachrichten" -#: extensions/webmail/templatetags/webextras.py:79 +#: extensions/webmail/templatetags/webextras.py:80 msgid "Mark messages" msgstr "Markiere Nachrichten" -#: extensions/webmail/templatetags/webextras.py:83 +#: extensions/webmail/templatetags/webextras.py:84 msgid "As read" msgstr "Als gelesen" -#: extensions/webmail/templatetags/webextras.py:86 +#: extensions/webmail/templatetags/webextras.py:87 msgid "As unread" msgstr "Als ungelesen" -#: extensions/webmail/templatetags/webextras.py:97 +#: extensions/webmail/templatetags/webextras.py:98 msgid "Compress folder" msgstr "Ordner komprimieren" -#: extensions/webmail/templatetags/webextras.py:106 +#: extensions/webmail/templatetags/webextras.py:107 msgid "Empty folder" msgstr "Leerer Ordner" -#: lib/__init__.py:152 -#, python-format -msgid "Invalid action, %(user)s is a local user" -msgstr "Unzulässige Aktion, %(user)s ist ein lokaler Benutzer" - #: lib/tables.py:201 msgid "No entries to display" msgstr "Keine Einträge darzustellen" @@ -1433,6 +1449,11 @@ msgstr "Logout" msgid "Add" msgstr "Hinzufügen" +#: templates/admin/domains_header.html:44 +#, fuzzy +msgid "Remove this selection?" +msgstr "Filter entfernen" + #: templates/admin/domains_header.html:52 msgid "for" msgstr "Für" @@ -1445,28 +1466,23 @@ msgstr "Antworten" msgid "Items" msgstr "Einträge" -#: templates/admin/listing.html:12 -#: templates/common/navbar.html:2 +#: templates/admin/listing.html:12 templates/common/navbar.html:2 msgid "of" msgstr "von" -#: templates/admin/listing.html:16 -#: templates/common/navbar.html:6 +#: templates/admin/listing.html:16 templates/common/navbar.html:6 msgid "First" msgstr "Erstes" -#: templates/admin/listing.html:19 -#: templates/common/navbar.html:9 +#: templates/admin/listing.html:19 templates/common/navbar.html:9 msgid "Previous" msgstr "Vorheriges" -#: templates/admin/listing.html:24 -#: templates/common/navbar.html:14 +#: 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 +#: templates/admin/listing.html:27 templates/common/navbar.html:17 msgid "Last" msgstr "Letztes" @@ -1507,12 +1523,12 @@ msgid "Welcome" msgstr "Willkommen" #: templates/userprefs/chpassword.html:7 -#: userprefs/templatetags/uprefs_extras.py:22 +#: userprefs/templatetags/uprefs_extras.py:23 msgid "Change password" msgstr "Passwort ändern" #: templates/userprefs/preferences.html:6 -#: userprefs/templatetags/uprefs_extras.py:27 +#: userprefs/templatetags/uprefs_extras.py:28 msgid "Preferences" msgstr "Einstellungen" @@ -1520,6 +1536,15 @@ msgstr "Einstellungen" msgid "Define your forward" msgstr "Weiterleitung definieren" +#: userprefs/__init__.py:7 +#, fuzzy +msgid "Prefered language" +msgstr "Einstellungen" + +#: userprefs/__init__.py:10 +msgid "Prefered language to display pages" +msgstr "" + #: userprefs/forms.py:12 msgid "Old password" msgstr "Altes Passwort" @@ -1537,8 +1562,12 @@ msgid "Destination(s)" msgstr "Ziel(e)" #: userprefs/forms.py:52 -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." +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:34 msgid "Password changed" @@ -1548,3 +1577,11 @@ msgstr "Passwort geändert" msgid "Forward updated" msgstr "Weiterleitung aktualisiert" +#~ msgid "Enabled" +#~ msgstr "Aktiviert" + +#~ msgid "Release this message?" +#~ msgstr "Diese Nachricht freigeben?" + +#~ msgid "Delete this message?" +#~ msgstr "Diese Nachricht löschen?" diff --git a/locale/de/LC_MESSAGES/djangojs.po b/locale/de/LC_MESSAGES/djangojs.po index 31201d7fb..23706bdd0 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.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-08-25 09:58+0200\n" +"POT-Creation-Date: 2011-09-14 14:06+0200\n" "PO-Revision-Date: 2011-07-10 07:30+0000\n" "Last-Translator: Patrick Ben Koetter \n" "Language-Team: DE \n" @@ -17,11 +17,21 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: extensions/amavis_quarantine/static/js/quarantine.js:92 +#: extensions/amavis_quarantine/static/js/quarantine.js:41 +#, fuzzy +msgid "Delete this message?" +msgstr "Diese Auswahl löschen?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:49 +#, fuzzy +msgid "Release this message?" +msgstr "Diese Auswahl freilassen?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:107 msgid "Release this selection?" msgstr "Diese Auswahl freilassen?" -#: extensions/amavis_quarantine/static/js/quarantine.js:99 +#: extensions/amavis_quarantine/static/js/quarantine.js:114 msgid "Delete this selection?" msgstr "Diese Auswahl löschen?" @@ -33,24 +43,34 @@ msgstr "Diesen Filter entfernen?" msgid "Save changes?" msgstr "Änderungen speichern?" +#: extensions/sievefilters/static/js/lib.js:143 +#, fuzzy +msgid "Remove filters set?" +msgstr "Diesen Filter entfernen?" + +#: extensions/sievefilters/static/js/lib.js:161 +#, fuzzy +msgid "Activate this filters set?" +msgstr "Diesen Filter entfernen?" + +#: extensions/sievefilters/static/js/lib.js:169 +msgid "active" +msgstr "" + #: extensions/webmail/static/js/fdmenu.js:31 msgid "Edit folder" msgstr "Ordner bearbeiten" -#: extensions/webmail/static/js/fdmenu.js:62 +#: extensions/webmail/static/js/fdmenu.js:63 msgid "Folder deleted" msgstr "Ordner gelöscht" -#: extensions/webmail/static/js/webmail.js:195 -msgid "Reloading..." -msgstr "Aktualisiere..." - -#: extensions/webmail/static/js/webmail.js:203 -#: extensions/webmail/static/js/webmail.js:227 static/js/anchor_nav.js:199 +#: extensions/webmail/static/js/webmail.js:226 +#: extensions/webmail/static/js/webmail.js:250 static/js/anchor_nav.js:212 msgid "Done" msgstr "Abgeschlossen" -#: extensions/webmail/static/js/webmail.js:216 +#: extensions/webmail/static/js/webmail.js:239 msgid "Waiting..." msgstr "Warte..." @@ -58,7 +78,7 @@ msgstr "Warte..." msgid "Loading..." msgstr "Lade..." -#: static/js/common.js:150 +#: static/js/common.js:172 msgid "Search..." msgstr "Suchen..." @@ -69,3 +89,6 @@ msgstr "Einstellungen gespeichert" #: static/js/settings.js:14 msgid "Parameters saved" msgstr "Parameter gespeichert" + +#~ msgid "Reloading..." +#~ msgstr "Aktualisiere..." diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 9b347d61d..e5f8dc1bc 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: 2011-08-25 09:53+0200\n" +"POT-Creation-Date: 2011-09-14 14:11+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,7 +55,7 @@ msgstr "" msgid "Failed to rename domain, check permissions" msgstr "" -#: admin/forms.py:51 admin/tables.py:20 admin/tables.py:75 +#: admin/forms.py:51 admin/tables.py:20 admin/tables.py:78 msgid "Quota" msgstr "" @@ -87,7 +87,7 @@ msgstr "" msgid "Passwords mismatch" msgstr "" -#: admin/forms.py:103 admin/tables.py:99 +#: admin/forms.py:103 admin/tables.py:103 msgid "Target(s)" msgstr "" @@ -107,44 +107,37 @@ msgstr "" msgid "Permission denied on" msgstr "" -#: admin/forms.py:179 admin/forms.py:192 +#: admin/forms.py:183 admin/forms.py:199 msgid "User" msgstr "" -#: admin/forms.py:180 +#: admin/forms.py:184 msgid "Select a user" msgstr "" -#: admin/forms.py:181 admin/forms.py:194 +#: admin/forms.py:185 admin/forms.py:201 msgid "Select a user in the list" msgstr "" -#: admin/forms.py:188 admin/forms.py:207 +#: admin/forms.py:194 admin/tables.py:146 msgid "Domain" msgstr "" -#: admin/forms.py:190 +#: admin/forms.py:196 msgid "Select a domain" msgstr "" -#: admin/forms.py:191 +#: admin/forms.py:197 msgid "Select a domain in the list" msgstr "" -#: admin/forms.py:193 +#: admin/forms.py:200 msgid "Empty" msgstr "" -#: admin/forms.py:199 -msgid "User name" -msgstr "" - -#: admin/forms.py:200 admin/forms.py:208 -msgid "Full name" -msgstr "" - -#: admin/forms.py:201 admin/forms.py:209 -msgid "Defined" +#: admin/lib.py:13 +#, python-format +msgid "Invalid action, %(user)s is a local user" msgstr "" #: admin/models.py:77 admin/models.py:134 admin/models.py:147 @@ -230,349 +223,357 @@ msgstr "" msgid "Check to enable this extension" msgstr "" -#: admin/permissions.py:27 +#: admin/permissions.py:28 msgid "Add super administrator" msgstr "" -#: admin/permissions.py:80 +#: admin/permissions.py:81 msgid "Add domain administrator" msgstr "" -#: admin/tables.py:10 admin/tables.py:44 admin/tables.py:69 -#: admin/tables.py:123 extensions/sievefilters/forms.py:18 +#: 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 msgid "Name" msgstr "" -#: admin/tables.py:11 admin/tables.py:46 admin/tables.py:70 -#: admin/tables.py:100 +#: admin/tables.py:11 admin/tables.py:47 admin/tables.py:72 +#: admin/tables.py:104 msgid "Created" msgstr "" -#: admin/tables.py:12 admin/tables.py:47 admin/tables.py:71 -#: admin/tables.py:101 +#: 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:112 +#: admin/tables.py:14 admin/views.py:165 +#: admin/templatetags/admin_extras.py:113 msgid "Domain aliases" msgstr "" -#: admin/tables.py:16 admin/templatetags/admin_extras.py:35 -#: admin/templatetags/admin_extras.py:115 +#: admin/tables.py:16 admin/templatetags/admin_extras.py:36 +#: admin/templatetags/admin_extras.py:116 msgid "Mailboxes" msgstr "" -#: admin/tables.py:18 admin/views.py:394 -#: admin/templatetags/admin_extras.py:118 +#: admin/tables.py:18 admin/views.py:395 +#: admin/templatetags/admin_extras.py:119 msgid "Mailbox aliases" msgstr "" -#: admin/tables.py:21 admin/tables.py:49 -msgid "Enabled" -msgstr "" - -#: admin/tables.py:23 admin/tables.py:51 admin/tables.py:78 -#: admin/tables.py:105 +#: admin/tables.py:24 admin/tables.py:52 admin/tables.py:82 +#: admin/tables.py:109 #: 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 -#: extensions/webmail/templatetags/webextras.py:92 +#: extensions/webmail/templatetags/webextras.py:93 msgid "Actions" msgstr "" -#: admin/tables.py:35 admin/tables.py:89 +#: admin/tables.py:36 admin/tables.py:93 msgid "MB" msgstr "" -#: admin/tables.py:38 admin/tables.py:62 admin/tables.py:92 -#: admin/tables.py:118 extensions/sievefilters/views.py:246 +#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 +#: admin/tables.py:122 extensions/sievefilters/views.py:248 msgid "yes" msgstr "" -#: admin/tables.py:38 admin/tables.py:62 admin/tables.py:92 -#: admin/tables.py:118 extensions/sievefilters/views.py:250 +#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 +#: admin/tables.py:122 extensions/sievefilters/views.py:252 msgid "no" msgstr "" -#: admin/tables.py:45 +#: admin/tables.py:46 msgid "Targeted domain" msgstr "" -#: admin/tables.py:68 admin/tables.py:98 +#: admin/tables.py:70 admin/tables.py:102 msgid "Address" msgstr "" -#: admin/tables.py:73 +#: admin/tables.py:76 msgid "Aliases" msgstr "" -#: admin/tables.py:124 +#: admin/tables.py:128 msgid "Version" msgstr "" -#: admin/tables.py:125 +#: admin/tables.py:129 msgid "Description" msgstr "" -#: admin/views.py:31 +#: admin/tables.py:136 +msgid "User name" +msgstr "" + +#: admin/tables.py:137 admin/tables.py:147 +msgid "Full name" +msgstr "" + +#: admin/tables.py:138 admin/tables.py:148 +msgid "Defined" +msgstr "" + +#: admin/views.py:32 msgid "Unknown object type" msgstr "" -#: admin/views.py:65 +#: admin/views.py:66 msgid "Do not delete domain directory" msgstr "" -#: admin/views.py:68 +#: admin/views.py:69 msgid "Available domains" msgstr "" -#: admin/views.py:86 +#: admin/views.py:87 msgid "Domain with this name already defined" msgstr "" -#: admin/views.py:103 +#: admin/views.py:104 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:173 -#: extensions/webmail/views.py:455 +#: admin/views.py:105 admin/views.py:174 admin/views.py:298 admin/views.py:329 +#: admin/views.py:433 extensions/sievefilters/views.py:175 +#: extensions/webmail/views.py:371 msgid "Create" msgstr "" -#: admin/views.py:109 +#: admin/views.py:110 msgid "Domain created" msgstr "" -#: admin/views.py:120 +#: admin/views.py:121 msgid "Domain editing" msgstr "" -#: admin/views.py:121 admin/views.py:208 admin/views.py:451 +#: admin/views.py:122 admin/views.py:209 admin/views.py:452 #: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:38 -#: extensions/webmail/views.py:482 templates/userprefs/chpassword.html:15 +#: extensions/webmail/views.py:398 templates/userprefs/chpassword.html:15 #: templates/userprefs/setforward.html:15 msgid "Update" msgstr "" -#: admin/views.py:126 +#: admin/views.py:127 msgid "Domain modified" msgstr "" -#: admin/views.py:140 +#: admin/views.py:141 msgid "You can't delete your own domain" msgstr "" -#: admin/views.py:149 +#: admin/views.py:150 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "" msgstr[1] "" -#: admin/views.py:172 +#: admin/views.py:173 msgid "New domain alias" msgstr "" -#: admin/views.py:182 admin/views.py:217 +#: admin/views.py:183 admin/views.py:218 msgid "A domain with this name already exists" msgstr "" -#: admin/views.py:187 admin/views.py:222 admin/views.py:412 +#: admin/views.py:188 admin/views.py:223 admin/views.py:413 msgid "Alias with this name already exists" msgstr "" -#: admin/views.py:189 +#: admin/views.py:190 msgid "Domain alias created" msgstr "" -#: admin/views.py:207 +#: admin/views.py:208 msgid "Domain alias editing" msgstr "" -#: admin/views.py:224 +#: admin/views.py:225 msgid "Domain alias updated" msgstr "" -#: admin/views.py:240 +#: admin/views.py:241 msgid "Domain alias deleted" msgid_plural "Domain aliases deleted" msgstr[0] "" msgstr[1] "" -#: admin/views.py:248 +#: admin/views.py:249 msgid "Available mailboxes" msgstr "" -#: admin/views.py:256 +#: admin/views.py:257 msgid "Do not delete mailbox directory" msgstr "" -#: admin/views.py:296 +#: admin/views.py:297 msgid "New mailbox" msgstr "" -#: admin/views.py:310 +#: admin/views.py:311 msgid "Mailbox created" msgstr "" -#: admin/views.py:327 +#: admin/views.py:328 msgid "Mailbox editing" msgstr "" -#: admin/views.py:344 +#: admin/views.py:345 msgid "Mailbox modified" msgstr "" -#: admin/views.py:347 +#: admin/views.py:348 msgid "Failed to rename mailbox, check permissions" msgstr "" -#: admin/views.py:366 +#: admin/views.py:367 msgid "You can't delete your own mailbox" msgstr "" -#: admin/views.py:376 +#: admin/views.py:377 msgid "Mailbox deleted" msgid_plural "Mailboxes deleted" msgstr[0] "" msgstr[1] "" -#: admin/views.py:407 +#: admin/views.py:408 msgid "No target defined" msgstr "" -#: admin/views.py:431 +#: admin/views.py:432 msgid "New mailbox alias" msgstr "" -#: admin/views.py:437 +#: admin/views.py:438 msgid "Mailbox alias created" msgstr "" -#: admin/views.py:450 +#: admin/views.py:451 msgid "Mailbox alias editing" msgstr "" -#: admin/views.py:456 +#: admin/views.py:457 msgid "Mailbox alias modified" msgstr "" -#: admin/views.py:470 +#: admin/views.py:471 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "" msgstr[1] "" -#: admin/views.py:481 +#: admin/views.py:482 msgid "Super administrators" msgstr "" -#: admin/views.py:490 +#: admin/views.py:491 msgid "Domain administrators" msgstr "" -#: admin/views.py:505 admin/views.py:522 +#: admin/views.py:506 admin/views.py:523 msgid "Permission denied!" msgstr "" -#: admin/views.py:514 +#: admin/views.py:515 msgid "Permission added." msgstr "" -#: admin/views.py:528 +#: admin/views.py:529 msgid "Permissions removed" msgstr "" -#: admin/views.py:609 +#: admin/views.py:610 msgid "Modifications applied." msgstr "" -#: admin/templatetags/admin_extras.py:11 +#: admin/templatetags/admin_extras.py:12 msgid "enabled_m" msgstr "" -#: admin/templatetags/admin_extras.py:11 +#: admin/templatetags/admin_extras.py:12 msgid "enabled_f" msgstr "" -#: admin/templatetags/admin_extras.py:19 +#: admin/templatetags/admin_extras.py:20 msgid "Admin" msgstr "" -#: admin/templatetags/admin_extras.py:28 -#: admin/templatetags/admin_extras.py:107 +#: admin/templatetags/admin_extras.py:29 +#: admin/templatetags/admin_extras.py:108 msgid "Domains" msgstr "" -#: admin/templatetags/admin_extras.py:45 templates/admin/permissions.html:6 +#: admin/templatetags/admin_extras.py:46 templates/admin/permissions.html:6 msgid "Permissions" msgstr "" -#: admin/templatetags/admin_extras.py:52 +#: admin/templatetags/admin_extras.py:53 #: templates/admin/settings_header.html:6 msgid "Settings" msgstr "" -#: admin/templatetags/admin_extras.py:67 +#: admin/templatetags/admin_extras.py:68 msgid "Parameters" msgstr "" -#: admin/templatetags/admin_extras.py:70 +#: admin/templatetags/admin_extras.py:71 msgid "Extensions" msgstr "" -#: admin/templatetags/admin_extras.py:96 +#: admin/templatetags/admin_extras.py:97 msgid "New" msgstr "" -#: admin/templatetags/admin_extras.py:100 +#: admin/templatetags/admin_extras.py:101 msgid "Remove" msgstr "" -#: admin/templatetags/admin_extras.py:133 +#: admin/templatetags/admin_extras.py:134 msgid "Add permission" msgstr "" -#: admin/templatetags/admin_extras.py:137 +#: admin/templatetags/admin_extras.py:138 msgid "Remove permissions" msgstr "" -#: admin/templatetags/admin_extras.py:150 +#: admin/templatetags/admin_extras.py:151 msgid "Edit domain" msgstr "" -#: admin/templatetags/admin_extras.py:156 +#: admin/templatetags/admin_extras.py:157 msgid "View aliases of this domain" msgstr "" -#: admin/templatetags/admin_extras.py:166 +#: admin/templatetags/admin_extras.py:167 msgid "Edit alias" msgstr "" -#: admin/templatetags/admin_extras.py:178 +#: admin/templatetags/admin_extras.py:179 msgid "Edit mailbox" msgstr "" -#: admin/templatetags/admin_extras.py:184 +#: admin/templatetags/admin_extras.py:185 msgid "View this mailbox aliases" msgstr "" -#: admin/templatetags/admin_extras.py:199 +#: admin/templatetags/admin_extras.py:200 msgid "Edit mailbox alias" msgstr "" -#: admin/templatetags/admin_extras.py:234 +#: admin/templatetags/admin_extras.py:235 msgid "Yes" msgstr "" -#: admin/templatetags/admin_extras.py:234 +#: admin/templatetags/admin_extras.py:235 msgid "No" msgstr "" -#: admin/templatetags/admin_extras.py:251 templates/common/genericform.html:6 +#: admin/templatetags/admin_extras.py:252 templates/common/genericform.html:6 msgid "Help" msgstr "" @@ -588,90 +589,89 @@ msgstr "" msgid "Password used to authenticate" msgstr "" -#: auth/views.py:35 +#: auth/views.py:38 msgid "Account is disabled." msgstr "" -#: auth/views.py:36 +#: auth/views.py:39 msgid "Your username and password didn't match. Please try again." msgstr "" -#: extensions/amavis_quarantine/main.py:14 +#: extensions/amavis_quarantine/main.py:15 msgid "Simple amavis quarantine management tool" msgstr "" -#: extensions/amavis_quarantine/main.py:21 +#: extensions/amavis_quarantine/main.py:22 msgid "Quarantine messages maximum age (in days) before deletion" msgstr "" -#: extensions/amavis_quarantine/main.py:23 +#: extensions/amavis_quarantine/main.py:24 msgid "Remove messages marked as released while cleaning up the database" msgstr "" -#: extensions/amavis_quarantine/main.py:27 +#: extensions/amavis_quarantine/main.py:28 msgid "Mode used to access the PDP server" msgstr "" -#: extensions/amavis_quarantine/main.py:30 +#: extensions/amavis_quarantine/main.py:31 msgid "PDP server address (if inet mode)" msgstr "" -#: extensions/amavis_quarantine/main.py:33 +#: extensions/amavis_quarantine/main.py:34 msgid "PDP server port (if inet mode)" msgstr "" #: extensions/amavis_quarantine/main.py:36 +msgid "/var/amavis/amavisd.sock" +msgstr "" + +#: extensions/amavis_quarantine/main.py:37 msgid "Path to the PDP server socket (if unix mode)" msgstr "" -#: extensions/amavis_quarantine/main.py:39 extensions/webmail/main.py:36 -msgid "Number of displayed emails per page" -msgstr "" - -#: extensions/amavis_quarantine/main.py:40 extensions/webmail/main.py:37 +#: extensions/amavis_quarantine/main.py:41 extensions/webmail/main.py:40 msgid "Sets the maximum number of messages displayed in a page" msgstr "" -#: extensions/amavis_quarantine/main.py:56 +#: extensions/amavis_quarantine/main.py:57 #: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:42 msgid "Quarantine" msgstr "" -#: extensions/amavis_quarantine/sql_listing.py:19 -#: extensions/webmail/forms.py:5 extensions/webmail/lib.py:45 +#: extensions/amavis_quarantine/sql_listing.py:21 +#: extensions/webmail/forms.py:5 msgid "From" msgstr "" -#: extensions/amavis_quarantine/sql_listing.py:20 -#: extensions/sievefilters/forms.py:26 extensions/webmail/forms.py:8 -#: extensions/webmail/lib.py:44 extensions/webmail/lib.py:518 -#: templates/common/email_searchbar.html:7 +#: extensions/amavis_quarantine/sql_listing.py:22 +#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:8 +#: extensions/webmail/lib.py:521 templates/common/email_searchbar.html:7 msgid "Subject" msgstr "" -#: extensions/amavis_quarantine/sql_listing.py:21 extensions/webmail/lib.py:46 -#: extensions/webmail/lib.py:520 +#: extensions/amavis_quarantine/sql_listing.py:23 +#: extensions/webmail/lib.py:523 msgid "Date" msgstr "" -#: extensions/amavis_quarantine/sql_listing.py:22 -#: extensions/amavis_quarantine/templatetags/amextras.py:96 +#: extensions/amavis_quarantine/sql_listing.py:24 +#: extensions/amavis_quarantine/templatetags/amextras.py:94 #: extensions/webmail/forms.py:6 msgid "To" msgstr "" -#: extensions/amavis_quarantine/views.py:88 +#: extensions/amavis_quarantine/views.py:89 msgid "Empty quarantine" msgstr "" -#: extensions/amavis_quarantine/views.py:171 +#: extensions/amavis_quarantine/views.py:172 #, python-format msgid "%(count)d message deleted successfully" msgid_plural "%(count)d messages deleted successfully" msgstr[0] "" msgstr[1] "" -#: extensions/amavis_quarantine/views.py:201 +#: extensions/amavis_quarantine/views.py:202 #, python-format msgid "%(count)d message released successfully" msgid_plural "%(count)d messages released successfully" @@ -691,7 +691,7 @@ msgid "View as HTML" msgstr "" #: extensions/amavis_quarantine/templatetags/amextras.py:22 -#: extensions/webmail/templatetags/webextras.py:41 +#: extensions/webmail/templatetags/webextras.py:42 msgid "Activate links" msgstr "" @@ -704,46 +704,38 @@ msgid "View full headers" msgstr "" #: extensions/amavis_quarantine/templatetags/amextras.py:41 -#: extensions/amavis_quarantine/templatetags/amextras.py:66 +#: extensions/amavis_quarantine/templatetags/amextras.py:64 msgid "Release" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:42 -msgid "Release this message?" -msgstr "" - -#: extensions/amavis_quarantine/templatetags/amextras.py:47 -#: extensions/amavis_quarantine/templatetags/amextras.py:70 -#: extensions/webmail/templatetags/webextras.py:34 +#: extensions/amavis_quarantine/templatetags/amextras.py:46 +#: extensions/amavis_quarantine/templatetags/amextras.py:68 +#: extensions/webmail/templatetags/webextras.py:35 msgid "Delete" msgstr "" #: extensions/amavis_quarantine/templatetags/amextras.py:48 -msgid "Delete this message?" -msgstr "" - -#: extensions/amavis_quarantine/templatetags/amextras.py:50 -#: userprefs/templatetags/uprefs_extras.py:16 +#: userprefs/templatetags/uprefs_extras.py:17 msgid "Options" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:74 +#: extensions/amavis_quarantine/templatetags/amextras.py:72 msgid "Select" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:79 +#: extensions/amavis_quarantine/templatetags/amextras.py:77 msgid "Nothing" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:82 +#: extensions/amavis_quarantine/templatetags/amextras.py:80 msgid "Spam" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:85 +#: extensions/amavis_quarantine/templatetags/amextras.py:83 msgid "Bad header" msgstr "" -#: extensions/amavis_quarantine/templatetags/amextras.py:88 +#: extensions/amavis_quarantine/templatetags/amextras.py:86 msgid "Bad MIME" msgstr "" @@ -759,15 +751,15 @@ msgstr "" msgid "This date is over" msgstr "" -#: extensions/postfix_autoreply/main.py:20 +#: extensions/postfix_autoreply/main.py:21 msgid "Auto-reply (vacation) functionality using Postfix" msgstr "" -#: extensions/postfix_autoreply/main.py:33 +#: extensions/postfix_autoreply/main.py:34 msgid "Timeout in seconds between two auto-replies to the same recipient" msgstr "" -#: extensions/postfix_autoreply/main.py:59 +#: extensions/postfix_autoreply/main.py:60 #: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:30 msgid "Auto-reply message" msgstr "" @@ -792,7 +784,7 @@ msgstr "" msgid "Activate/Deactivate your auto reply" msgstr "" -#: extensions/postfix_autoreply/views.py:35 +#: extensions/postfix_autoreply/views.py:36 msgid "Auto reply message updated successfully." msgstr "" @@ -800,63 +792,63 @@ msgstr "" msgid "Check to activate this filters set" msgstr "" -#: extensions/sievefilters/forms.py:12 -msgid "contains" -msgstr "" - -#: extensions/sievefilters/forms.py:13 -msgid "does not contain" -msgstr "" - -#: extensions/sievefilters/forms.py:14 -msgid "is" -msgstr "" - -#: extensions/sievefilters/forms.py:15 -msgid "is not" -msgstr "" - -#: extensions/sievefilters/forms.py:19 +#: extensions/sievefilters/forms.py:17 msgid "All of the following" msgstr "" -#: extensions/sievefilters/forms.py:20 +#: extensions/sievefilters/forms.py:18 msgid "Any of the following" msgstr "" -#: extensions/sievefilters/forms.py:21 +#: extensions/sievefilters/forms.py:19 msgid "All messages" msgstr "" -#: extensions/sievefilters/forms.py:27 -msgid "Sender" +#: extensions/sievefilters/forms.py:23 +msgid "contains" msgstr "" -#: extensions/sievefilters/forms.py:28 -msgid "Recipient" +#: extensions/sievefilters/forms.py:24 +msgid "does not contain" msgstr "" -#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:7 -msgid "Cc" +#: extensions/sievefilters/forms.py:25 +msgid "is" +msgstr "" + +#: extensions/sievefilters/forms.py:26 +msgid "is not" msgstr "" #: extensions/sievefilters/forms.py:30 -msgid "Size" +msgid "Sender" msgstr "" #: extensions/sievefilters/forms.py:31 +msgid "Recipient" +msgstr "" + +#: extensions/sievefilters/forms.py:32 extensions/webmail/forms.py:7 +msgid "Cc" +msgstr "" + +#: extensions/sievefilters/forms.py:33 +msgid "Size" +msgstr "" + +#: extensions/sievefilters/forms.py:34 msgid "is greater than" msgstr "" -#: extensions/sievefilters/forms.py:32 +#: extensions/sievefilters/forms.py:35 msgid "is less than" msgstr "" -#: extensions/sievefilters/forms.py:36 +#: extensions/sievefilters/forms.py:39 msgid "Move message to" msgstr "" -#: extensions/sievefilters/forms.py:38 +#: extensions/sievefilters/forms.py:41 msgid "Redirect message to" msgstr "" @@ -868,86 +860,86 @@ msgstr "" msgid "Not enough space on server" msgstr "" -#: extensions/sievefilters/main.py:14 +#: extensions/sievefilters/main.py:15 msgid "Address of your MANAGESIEVE server" msgstr "" -#: extensions/sievefilters/main.py:16 +#: extensions/sievefilters/main.py:17 msgid "Listening port of your MANAGESIEVE server" msgstr "" -#: extensions/sievefilters/main.py:18 +#: extensions/sievefilters/main.py:19 msgid "Use the STARTTLS extension" msgstr "" -#: extensions/sievefilters/main.py:25 +#: extensions/sievefilters/main.py:26 msgid "Prefered authentication mechanism" msgstr "" -#: extensions/sievefilters/main.py:29 +#: extensions/sievefilters/main.py:30 msgid "Editor mode" msgstr "" -#: extensions/sievefilters/main.py:31 +#: extensions/sievefilters/main.py:32 msgid "Select the mode you want the editor to work in" msgstr "" -#: extensions/sievefilters/main.py:41 +#: extensions/sievefilters/main.py:42 msgid "Plugin to easily create server-side filters" msgstr "" -#: extensions/sievefilters/main.py:55 +#: extensions/sievefilters/main.py:56 #: extensions/sievefilters/templates/sievefilters/index.html:17 msgid "Message filters" msgstr "" -#: extensions/sievefilters/views.py:68 +#: extensions/sievefilters/views.py:70 msgid "Failed to retrieve filters set" msgstr "" -#: extensions/sievefilters/views.py:112 +#: extensions/sievefilters/views.py:114 #: extensions/sievefilters/templatetags/sfilters_tags.py:34 msgid "New filter" msgstr "" -#: extensions/sievefilters/views.py:115 +#: extensions/sievefilters/views.py:117 msgid "Filter created" msgstr "" -#: extensions/sievefilters/views.py:126 +#: extensions/sievefilters/views.py:128 #: extensions/sievefilters/templatetags/sfilters_tags.py:72 msgid "Edit filter" msgstr "" -#: extensions/sievefilters/views.py:131 +#: extensions/sievefilters/views.py:133 msgid "Filter modified" msgstr "" -#: extensions/sievefilters/views.py:151 +#: extensions/sievefilters/views.py:153 msgid "Filter removed" msgstr "" -#: extensions/sievefilters/views.py:152 +#: extensions/sievefilters/views.py:154 msgid "Failed to remove filter" msgstr "" -#: extensions/sievefilters/views.py:166 +#: extensions/sievefilters/views.py:168 msgid "Filters set saved" msgstr "" -#: extensions/sievefilters/views.py:171 +#: extensions/sievefilters/views.py:173 msgid "Create a new filters set" msgstr "" -#: extensions/sievefilters/views.py:191 +#: extensions/sievefilters/views.py:193 msgid "Filters set created" msgstr "" -#: extensions/sievefilters/views.py:208 +#: extensions/sievefilters/views.py:210 msgid "Filters set deleted" msgstr "" -#: extensions/sievefilters/views.py:219 +#: extensions/sievefilters/views.py:221 msgid "Filters set activated" msgstr "" @@ -1053,23 +1045,23 @@ msgstr "" msgid "sent size" msgstr "" -#: extensions/stats/main.py:19 +#: extensions/stats/main.py:20 msgid "Graphical statistics about emails traffic using RRDtool" msgstr "" -#: extensions/stats/main.py:26 +#: extensions/stats/main.py:27 msgid "Path to log file used to collect statistics" msgstr "" -#: extensions/stats/main.py:29 +#: extensions/stats/main.py:30 msgid "Path to directory where RRD files are stored" msgstr "" -#: extensions/stats/main.py:32 +#: extensions/stats/main.py:33 msgid "Path to directory where PNG files are stored" msgstr "" -#: extensions/stats/main.py:45 extensions/stats/templates/stats/index.html:84 +#: extensions/stats/main.py:46 extensions/stats/templates/stats/index.html:84 msgid "Statistics" msgstr "" @@ -1142,151 +1134,209 @@ msgstr "" msgid "End" msgstr "" -#: extensions/webmail/lib.py:31 +#: extensions/webmail/forms.py:14 +msgid "Select a file" +msgstr "" + +#: extensions/webmail/lib.py:33 msgid "Server response" msgstr "" -#: extensions/webmail/lib.py:142 +#: extensions/webmail/lib.py:145 msgid "Connection to IMAP server failed, check your configuration" msgstr "" -#: extensions/webmail/lib.py:146 +#: extensions/webmail/lib.py:149 msgid "Authentication failed, check your configuration" msgstr "" -#: extensions/webmail/lib.py:465 +#: extensions/webmail/lib.py:468 msgid "wrote:" msgstr "" -#: extensions/webmail/lib.py:532 extensions/webmail/lib.py:536 +#: extensions/webmail/lib.py:535 extensions/webmail/lib.py:539 msgid "Original message" msgstr "" -#: extensions/webmail/main.py:13 +#: extensions/webmail/main.py:14 msgid "Address of your IMAP server" msgstr "" -#: extensions/webmail/main.py:16 +#: extensions/webmail/main.py:17 msgid "Use a secured connection to access IMAP server" msgstr "" -#: extensions/webmail/main.py:18 +#: extensions/webmail/main.py:19 msgid "Listening port of your IMAP server" msgstr "" -#: extensions/webmail/main.py:21 +#: extensions/webmail/main.py:22 msgid "Address of your SMTP server" msgstr "" -#: extensions/webmail/main.py:23 +#: extensions/webmail/main.py:24 msgid "None" msgstr "" -#: extensions/webmail/main.py:27 +#: extensions/webmail/main.py:28 msgid "Use a secured connection to access SMTP server" msgstr "" -#: extensions/webmail/main.py:29 +#: extensions/webmail/main.py:30 msgid "Listening port of your SMTP server" msgstr "" -#: extensions/webmail/main.py:32 +#: extensions/webmail/main.py:33 msgid "Server needs authentication" msgstr "" -#: extensions/webmail/main.py:39 -msgid "Listing refresh rate" +#: extensions/webmail/main.py:35 +msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)" msgstr "" -#: extensions/webmail/main.py:40 -msgid "Automatic folder refresh rate (in seconds)" +#: extensions/webmail/main.py:39 +msgid "Number of displayed emails per page" msgstr "" #: extensions/webmail/main.py:42 -msgid "Trash folder" +msgid "Listing refresh rate" msgstr "" #: extensions/webmail/main.py:43 -msgid "Folder where deleted messages go" +msgid "Automatic folder refresh rate (in seconds)" msgstr "" #: extensions/webmail/main.py:45 -msgid "Sent folder" +msgid "Trash folder" msgstr "" #: extensions/webmail/main.py:46 -msgid "Folder where copies of sent messages go" +msgid "Folder where deleted messages go" msgstr "" #: extensions/webmail/main.py:48 -msgid "Drafts folder" +msgid "Sent folder" msgstr "" #: extensions/webmail/main.py:49 -msgid "Folder where drafts go" +msgid "Folder where copies of sent messages go" msgstr "" #: extensions/webmail/main.py:51 -msgid "Signature text" +msgid "Drafts folder" msgstr "" #: extensions/webmail/main.py:52 -msgid "User defined email signature" +msgid "Folder where drafts go" msgstr "" #: extensions/webmail/main.py:54 +msgid "Signature text" +msgstr "" + +#: extensions/webmail/main.py:55 +msgid "User defined email signature" +msgstr "" + +#: extensions/webmail/main.py:57 msgid "Default editor" msgstr "" -#: extensions/webmail/main.py:56 +#: extensions/webmail/main.py:59 msgid "The default editor to use when composing a message" msgstr "" -#: extensions/webmail/main.py:58 +#: extensions/webmail/main.py:61 msgid "Default message display mode" msgstr "" -#: extensions/webmail/main.py:60 +#: extensions/webmail/main.py:63 msgid "The default mode used when displaying a message" msgstr "" -#: extensions/webmail/main.py:62 +#: extensions/webmail/main.py:65 msgid "Enable HTML links display" msgstr "" -#: extensions/webmail/main.py:63 +#: extensions/webmail/main.py:66 msgid "Enable/Disable HTML links display" msgstr "" -#: extensions/webmail/main.py:73 +#: extensions/webmail/main.py:76 msgid "Simple IMAP webmail" msgstr "" -#: extensions/webmail/main.py:87 +#: extensions/webmail/main.py:90 #: extensions/webmail/templates/webmail/index.html:212 msgid "Webmail" msgstr "" -#: extensions/webmail/views.py:67 lib/email_listing.py:131 +#: extensions/webmail/views.py:61 lib/email_listing.py:132 msgid "This folder contains no messages" msgstr "" -#: extensions/webmail/views.py:453 +#: extensions/webmail/views.py:369 msgid "Create a new folder" msgstr "" -#: extensions/webmail/views.py:465 +#: extensions/webmail/views.py:381 msgid "Folder created" msgstr "" -#: extensions/webmail/views.py:480 +#: extensions/webmail/views.py:396 msgid "Edit folder" msgstr "" -#: extensions/webmail/views.py:501 +#: extensions/webmail/views.py:417 msgid "Folder modified" msgstr "" +#: extensions/webmail/views.py:465 +msgid "Failed to save attachment: " +msgstr "" + +#: extensions/webmail/views.py:468 +#, 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 +msgid "Attachments" +msgstr "" + +#: extensions/webmail/templates/webmail/attachments.html:93 +msgid "Attach" +msgstr "" + +#: extensions/webmail/templates/webmail/attachments.html:97 +msgid "Uploading.." +msgstr "" + +#: extensions/webmail/templates/webmail/attachments.html:113 +msgid "Done" +msgstr "" + +#: extensions/webmail/templates/webmail/compose.html:12 +#, 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" msgstr "" @@ -1299,73 +1349,64 @@ msgstr "" msgid "Folders" msgstr "" -#: extensions/webmail/templates/webmail/headers.html:7 -msgid "Attachments" -msgstr "" - #: extensions/webmail/templates/webmail/index.html:218 msgid "Mailbox quota" msgstr "" -#: extensions/webmail/templatetags/webextras.py:18 -#: extensions/webmail/templatetags/webextras.py:60 +#: extensions/webmail/templatetags/webextras.py:19 +#: extensions/webmail/templatetags/webextras.py:61 msgid "Back" msgstr "" -#: extensions/webmail/templatetags/webextras.py:22 +#: extensions/webmail/templatetags/webextras.py:23 msgid "Reply" msgstr "" -#: extensions/webmail/templatetags/webextras.py:26 +#: extensions/webmail/templatetags/webextras.py:27 msgid "Reply all" msgstr "" -#: extensions/webmail/templatetags/webextras.py:30 -#: userprefs/templatetags/uprefs_extras.py:38 +#: extensions/webmail/templatetags/webextras.py:31 +#: userprefs/templatetags/uprefs_extras.py:39 msgid "Forward" msgstr "" -#: extensions/webmail/templatetags/webextras.py:36 +#: extensions/webmail/templatetags/webextras.py:37 msgid "Display options" msgstr "" -#: extensions/webmail/templatetags/webextras.py:44 +#: extensions/webmail/templatetags/webextras.py:45 msgid "Disable links" msgstr "" -#: extensions/webmail/templatetags/webextras.py:64 +#: extensions/webmail/templatetags/webextras.py:65 msgid "Send" msgstr "" -#: extensions/webmail/templatetags/webextras.py:76 +#: extensions/webmail/templatetags/webextras.py:77 msgid "New message" msgstr "" -#: extensions/webmail/templatetags/webextras.py:79 +#: extensions/webmail/templatetags/webextras.py:80 msgid "Mark messages" msgstr "" -#: extensions/webmail/templatetags/webextras.py:83 +#: extensions/webmail/templatetags/webextras.py:84 msgid "As read" msgstr "" -#: extensions/webmail/templatetags/webextras.py:86 +#: extensions/webmail/templatetags/webextras.py:87 msgid "As unread" msgstr "" -#: extensions/webmail/templatetags/webextras.py:97 +#: extensions/webmail/templatetags/webextras.py:98 msgid "Compress folder" msgstr "" -#: extensions/webmail/templatetags/webextras.py:106 +#: extensions/webmail/templatetags/webextras.py:107 msgid "Empty folder" msgstr "" -#: lib/__init__.py:152 -#, python-format -msgid "Invalid action, %(user)s is a local user" -msgstr "" - #: lib/tables.py:201 msgid "No entries to display" msgstr "" @@ -1378,6 +1419,10 @@ msgstr "" msgid "Add" msgstr "" +#: templates/admin/domains_header.html:44 +msgid "Remove this selection?" +msgstr "" + #: templates/admin/domains_header.html:52 msgid "for" msgstr "" @@ -1447,12 +1492,12 @@ msgid "Welcome" msgstr "" #: templates/userprefs/chpassword.html:7 -#: userprefs/templatetags/uprefs_extras.py:22 +#: userprefs/templatetags/uprefs_extras.py:23 msgid "Change password" msgstr "" #: templates/userprefs/preferences.html:6 -#: userprefs/templatetags/uprefs_extras.py:27 +#: userprefs/templatetags/uprefs_extras.py:28 msgid "Preferences" msgstr "" @@ -1460,6 +1505,14 @@ msgstr "" msgid "Define your forward" msgstr "" +#: userprefs/__init__.py:7 +msgid "Prefered language" +msgstr "" + +#: userprefs/__init__.py:10 +msgid "Prefered language to display pages" +msgstr "" + #: userprefs/forms.py:12 msgid "Old password" msgstr "" diff --git a/locale/en/LC_MESSAGES/djangojs.po b/locale/en/LC_MESSAGES/djangojs.po index 0f1fc43d4..252d10ca0 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: 2011-08-25 09:58+0200\n" +"POT-Creation-Date: 2011-09-14 14:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,11 +17,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: extensions/amavis_quarantine/static/js/quarantine.js:92 +#: 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 msgid "Release this selection?" msgstr "" -#: extensions/amavis_quarantine/static/js/quarantine.js:99 +#: extensions/amavis_quarantine/static/js/quarantine.js:114 msgid "Delete this selection?" msgstr "" @@ -33,24 +41,32 @@ msgstr "" msgid "Save changes?" msgstr "" +#: extensions/sievefilters/static/js/lib.js:143 +msgid "Remove filters set?" +msgstr "" + +#: extensions/sievefilters/static/js/lib.js:161 +msgid "Activate this filters set?" +msgstr "" + +#: extensions/sievefilters/static/js/lib.js:169 +msgid "active" +msgstr "" + #: extensions/webmail/static/js/fdmenu.js:31 msgid "Edit folder" msgstr "" -#: extensions/webmail/static/js/fdmenu.js:62 +#: extensions/webmail/static/js/fdmenu.js:63 msgid "Folder deleted" msgstr "" -#: extensions/webmail/static/js/webmail.js:195 -msgid "Reloading..." -msgstr "" - -#: extensions/webmail/static/js/webmail.js:203 -#: extensions/webmail/static/js/webmail.js:227 static/js/anchor_nav.js:199 +#: extensions/webmail/static/js/webmail.js:226 +#: extensions/webmail/static/js/webmail.js:250 static/js/anchor_nav.js:212 msgid "Done" msgstr "" -#: extensions/webmail/static/js/webmail.js:216 +#: extensions/webmail/static/js/webmail.js:239 msgid "Waiting..." msgstr "" @@ -58,7 +74,7 @@ msgstr "" msgid "Loading..." msgstr "" -#: static/js/common.js:150 +#: static/js/common.js:172 msgid "Search..." msgstr "" diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index 6d4bf9eab..6cb73b046 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -1,20 +1,20 @@ # Modoboa spanish translation # Copyright (C) 2011 # This file is distributed under the same license as the Modoboa package. -# +# # Pedro Gracia , 2010, 2011. msgid "" msgstr "" "Project-Id-Version: Modoboa-0.8.6\n" -"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n" -"POT-Creation-Date: 2011-08-25 09:53+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-14 14:11+0200\n" "PO-Revision-Date: 2011-08-29 09:20+0000\n" "Last-Translator: lasarux \n" "Language-Team: LANGUAGE \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:7 @@ -26,16 +26,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:11 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:14 msgid "Mailboxes storage format" @@ -61,15 +61,14 @@ msgstr "Número de ítems mostrado por página" 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:75 +#: admin/forms.py:51 admin/tables.py:20 admin/tables.py:78 msgid "Quota" msgstr "Cuota" #: admin/forms.py:52 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)" +"Cuota del \"Mailbox\" en MB (por defecto la del dominio, si no se especifica)" #: admin/forms.py:53 auth/forms.py:6 msgid "Password" @@ -95,7 +94,7 @@ msgstr "Activar este 'mailbox'" msgid "Passwords mismatch" msgstr "Las contraseñas no coinciden" -#: admin/forms.py:103 admin/tables.py:99 +#: admin/forms.py:103 admin/tables.py:103 msgid "Target(s)" msgstr "Destino(s)" @@ -115,45 +114,38 @@ msgstr "Acceso denegado para" msgid "Permission denied on" msgstr "Permiso denegado en" -#: admin/forms.py:179 admin/forms.py:192 +#: admin/forms.py:183 admin/forms.py:199 msgid "User" msgstr "Usuario" -#: admin/forms.py:180 +#: admin/forms.py:184 msgid "Select a user" msgstr "Seleccione un usuario" -#: admin/forms.py:181 admin/forms.py:194 +#: 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:188 admin/forms.py:207 +#: admin/forms.py:194 admin/tables.py:146 msgid "Domain" msgstr "Dominio" -#: admin/forms.py:190 +#: admin/forms.py:196 msgid "Select a domain" msgstr "Seleccione un dominio" -#: admin/forms.py:191 +#: admin/forms.py:197 msgid "Select a domain in the list" msgstr "Elija un dominio de la lista" -#: admin/forms.py:193 +#: admin/forms.py:200 msgid "Empty" msgstr "Vacío" -#: admin/forms.py:199 -msgid "User name" -msgstr "Nombre de usuario" - -#: admin/forms.py:200 admin/forms.py:208 -msgid "Full name" -msgstr "Nombre completo" - -#: admin/forms.py:201 admin/forms.py:209 -msgid "Defined" -msgstr "Definido" +#: 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/models.py:77 admin/models.py:134 admin/models.py:147 msgid "name" @@ -222,11 +214,11 @@ msgstr "Ya existe un \"Mailbox\" con esta dirección" #: admin/models.py:307 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:309 msgid "mailboxes" @@ -240,349 +232,357 @@ msgstr "Los 'mailboxes' de este alias apuntan a" msgid "Check to enable this extension" msgstr "Activar esta extensión" -#: admin/permissions.py:27 +#: admin/permissions.py:28 msgid "Add super administrator" msgstr "Añadir super administrador" -#: admin/permissions.py:80 +#: admin/permissions.py:81 msgid "Add domain administrator" msgstr "Añadir un administrador al dominio" -#: admin/tables.py:10 admin/tables.py:44 admin/tables.py:69 -#: admin/tables.py:123 extensions/sievefilters/forms.py:18 +#: 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 msgid "Name" msgstr "Nombre" -#: admin/tables.py:11 admin/tables.py:46 admin/tables.py:70 -#: admin/tables.py:100 +#: admin/tables.py:11 admin/tables.py:47 admin/tables.py:72 +#: admin/tables.py:104 msgid "Created" msgstr "Creado" -#: admin/tables.py:12 admin/tables.py:47 admin/tables.py:71 -#: admin/tables.py:101 +#: 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:112 +#: admin/tables.py:14 admin/views.py:165 +#: admin/templatetags/admin_extras.py:113 msgid "Domain aliases" msgstr "Alias del dominio" -#: admin/tables.py:16 admin/templatetags/admin_extras.py:35 -#: admin/templatetags/admin_extras.py:115 +#: admin/tables.py:16 admin/templatetags/admin_extras.py:36 +#: admin/templatetags/admin_extras.py:116 msgid "Mailboxes" msgstr "'Mailboxes'" -#: admin/tables.py:18 admin/views.py:394 -#: admin/templatetags/admin_extras.py:118 +#: admin/tables.py:18 admin/views.py:395 +#: admin/templatetags/admin_extras.py:119 msgid "Mailbox aliases" msgstr "Alias del \"mailbox\"" -#: admin/tables.py:21 admin/tables.py:49 -msgid "Enabled" -msgstr "Activado" - -#: admin/tables.py:23 admin/tables.py:51 admin/tables.py:78 -#: admin/tables.py:105 +#: admin/tables.py:24 admin/tables.py:52 admin/tables.py:82 +#: admin/tables.py:109 #: 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 -#: extensions/webmail/templatetags/webextras.py:92 +#: extensions/webmail/templatetags/webextras.py:93 msgid "Actions" msgstr "Acciones" -#: admin/tables.py:35 admin/tables.py:89 +#: admin/tables.py:36 admin/tables.py:93 msgid "MB" msgstr "MB" -#: admin/tables.py:38 admin/tables.py:62 admin/tables.py:92 -#: admin/tables.py:118 extensions/sievefilters/views.py:246 +#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 +#: admin/tables.py:122 extensions/sievefilters/views.py:248 msgid "yes" msgstr "sí" -#: admin/tables.py:38 admin/tables.py:62 admin/tables.py:92 -#: admin/tables.py:118 extensions/sievefilters/views.py:250 +#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 +#: admin/tables.py:122 extensions/sievefilters/views.py:252 msgid "no" msgstr "no" -#: admin/tables.py:45 +#: admin/tables.py:46 msgid "Targeted domain" msgstr "Dominio elegido" -#: admin/tables.py:68 admin/tables.py:98 +#: admin/tables.py:70 admin/tables.py:102 msgid "Address" msgstr "Dirección" -#: admin/tables.py:73 +#: admin/tables.py:76 msgid "Aliases" msgstr "Alias" -#: admin/tables.py:124 +#: admin/tables.py:128 msgid "Version" msgstr "Versión" -#: admin/tables.py:125 +#: admin/tables.py:129 msgid "Description" msgstr "Descripción" -#: admin/views.py:31 +#: admin/tables.py:136 +msgid "User name" +msgstr "Nombre de usuario" + +#: admin/tables.py:137 admin/tables.py:147 +msgid "Full name" +msgstr "Nombre completo" + +#: admin/tables.py:138 admin/tables.py:148 +msgid "Defined" +msgstr "Definido" + +#: admin/views.py:32 msgid "Unknown object type" msgstr "Tipo de objeto desconocido" -#: admin/views.py:65 +#: admin/views.py:66 msgid "Do not delete domain directory" msgstr "No eliminar el directorio del dominio" -#: admin/views.py:68 +#: admin/views.py:69 msgid "Available domains" msgstr "Dominios disponibles" -#: admin/views.py:86 +#: admin/views.py:87 msgid "Domain with this name already defined" msgstr "Ya existe un dominio con este nombre" -#: admin/views.py:103 +#: admin/views.py:104 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:173 -#: extensions/webmail/views.py:455 +#: admin/views.py:105 admin/views.py:174 admin/views.py:298 admin/views.py:329 +#: admin/views.py:433 extensions/sievefilters/views.py:175 +#: extensions/webmail/views.py:371 msgid "Create" msgstr "Crear" -#: admin/views.py:109 +#: admin/views.py:110 msgid "Domain created" msgstr "Dominio creado" -#: admin/views.py:120 +#: admin/views.py:121 msgid "Domain editing" msgstr "Editando el dominio" -#: admin/views.py:121 admin/views.py:208 admin/views.py:451 +#: admin/views.py:122 admin/views.py:209 admin/views.py:452 #: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:38 -#: extensions/webmail/views.py:482 templates/userprefs/chpassword.html:15 +#: extensions/webmail/views.py:398 templates/userprefs/chpassword.html:15 #: templates/userprefs/setforward.html:15 msgid "Update" msgstr "Actualizar" -#: admin/views.py:126 +#: admin/views.py:127 msgid "Domain modified" msgstr "Dominio modificado" -#: admin/views.py:140 +#: admin/views.py:141 msgid "You can't delete your own domain" msgstr "No puedo eliminar su propio dominio" -#: admin/views.py:149 +#: admin/views.py:150 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Dominio eliminado" msgstr[1] "Dominios eliminados" -#: admin/views.py:172 +#: admin/views.py:173 msgid "New domain alias" msgstr "Nuevo alias de dominio" -#: admin/views.py:182 admin/views.py:217 +#: admin/views.py:183 admin/views.py:218 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:188 admin/views.py:223 admin/views.py:413 msgid "Alias with this name already exists" msgstr "Ya existe un alias con este nombre" -#: admin/views.py:189 +#: admin/views.py:190 msgid "Domain alias created" msgstr "Alias de dominio creado" -#: admin/views.py:207 +#: admin/views.py:208 msgid "Domain alias editing" msgstr "Editando alias de dominio" -#: admin/views.py:224 +#: admin/views.py:225 msgid "Domain alias updated" msgstr "Alias de dominio actualizado" -#: admin/views.py:240 +#: admin/views.py:241 msgid "Domain alias deleted" msgid_plural "Domain aliases deleted" msgstr[0] "Alias de dominio eliminado" msgstr[1] "Alias de dominio eliminados" -#: admin/views.py:248 +#: admin/views.py:249 msgid "Available mailboxes" msgstr "\"Mailboxes\" disponibles" -#: admin/views.py:256 +#: admin/views.py:257 msgid "Do not delete mailbox directory" msgstr "No eliminar el directorio del \"mailbox\"" -#: admin/views.py:296 +#: admin/views.py:297 msgid "New mailbox" msgstr "Nuevo \"mailbox\"" -#: admin/views.py:310 +#: admin/views.py:311 msgid "Mailbox created" msgstr "\"Mailbox\" creado." -#: admin/views.py:327 +#: admin/views.py:328 msgid "Mailbox editing" msgstr "Editando el \"Mailbox\"" -#: admin/views.py:344 +#: admin/views.py:345 msgid "Mailbox modified" msgstr "\"Mailbox\" modificado" -#: admin/views.py:347 +#: admin/views.py:348 msgid "Failed to rename mailbox, check permissions" msgstr "Ha fallado el cambio de nombre del \"mailbox\", compruebe permisos" -#: admin/views.py:366 +#: admin/views.py:367 msgid "You can't delete your own mailbox" msgstr "No puede eliminar su propio \"mailbox\"" -#: admin/views.py:376 +#: admin/views.py:377 msgid "Mailbox deleted" msgid_plural "Mailboxes deleted" msgstr[0] "\"Mailbox\" elimiado" msgstr[1] "\"Mailboxes\" eliminados" -#: admin/views.py:407 +#: admin/views.py:408 msgid "No target defined" msgstr "No hay destino definido" -#: admin/views.py:431 +#: admin/views.py:432 msgid "New mailbox alias" msgstr "Nuevo alias del \"mailbox\"" -#: admin/views.py:437 +#: admin/views.py:438 msgid "Mailbox alias created" msgstr "Alias del \"mailbox\" creado." -#: admin/views.py:450 +#: admin/views.py:451 msgid "Mailbox alias editing" msgstr "Editando el alias del \"mailbox\"" -#: admin/views.py:456 +#: admin/views.py:457 msgid "Mailbox alias modified" msgstr "Alias del \"mailbox\" modificado" -#: admin/views.py:470 +#: admin/views.py:471 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias eliminado" msgstr[1] "Alias eliminados" -#: admin/views.py:481 +#: admin/views.py:482 msgid "Super administrators" msgstr "Super administradores" -#: admin/views.py:490 +#: admin/views.py:491 msgid "Domain administrators" msgstr "Administradores del dominio" -#: admin/views.py:505 admin/views.py:522 +#: admin/views.py:506 admin/views.py:523 msgid "Permission denied!" msgstr "¡Permiso denegado!" -#: admin/views.py:514 +#: admin/views.py:515 msgid "Permission added." msgstr "Permiso añadido." -#: admin/views.py:528 +#: admin/views.py:529 msgid "Permissions removed" msgstr "Permisos eliminados" -#: admin/views.py:609 +#: admin/views.py:610 msgid "Modifications applied." msgstr "Modificaciones aplicadas." -#: admin/templatetags/admin_extras.py:11 +#: admin/templatetags/admin_extras.py:12 msgid "enabled_m" msgstr "Activado" -#: admin/templatetags/admin_extras.py:11 +#: admin/templatetags/admin_extras.py:12 msgid "enabled_f" msgstr "Activado" -#: admin/templatetags/admin_extras.py:19 +#: admin/templatetags/admin_extras.py:20 msgid "Admin" msgstr "Administrador" -#: admin/templatetags/admin_extras.py:28 -#: admin/templatetags/admin_extras.py:107 +#: admin/templatetags/admin_extras.py:29 +#: admin/templatetags/admin_extras.py:108 msgid "Domains" msgstr "Dominios" -#: admin/templatetags/admin_extras.py:45 templates/admin/permissions.html:6 +#: admin/templatetags/admin_extras.py:46 templates/admin/permissions.html:6 msgid "Permissions" msgstr "Permisos" -#: admin/templatetags/admin_extras.py:52 +#: admin/templatetags/admin_extras.py:53 #: templates/admin/settings_header.html:6 msgid "Settings" msgstr "Configuración" -#: admin/templatetags/admin_extras.py:67 +#: admin/templatetags/admin_extras.py:68 msgid "Parameters" msgstr "Parámetros" -#: admin/templatetags/admin_extras.py:70 +#: admin/templatetags/admin_extras.py:71 msgid "Extensions" msgstr "Extensiones" -#: admin/templatetags/admin_extras.py:96 +#: admin/templatetags/admin_extras.py:97 msgid "New" msgstr "Nuevo" -#: admin/templatetags/admin_extras.py:100 +#: admin/templatetags/admin_extras.py:101 msgid "Remove" msgstr "Eliminar" -#: admin/templatetags/admin_extras.py:133 +#: admin/templatetags/admin_extras.py:134 msgid "Add permission" msgstr "Añadir un permiso" -#: admin/templatetags/admin_extras.py:137 +#: admin/templatetags/admin_extras.py:138 msgid "Remove permissions" msgstr "Elminar permisos" -#: admin/templatetags/admin_extras.py:150 +#: admin/templatetags/admin_extras.py:151 msgid "Edit domain" msgstr "Editar el dominio" -#: admin/templatetags/admin_extras.py:156 +#: admin/templatetags/admin_extras.py:157 msgid "View aliases of this domain" msgstr "Activar los alias este dominio" -#: admin/templatetags/admin_extras.py:166 +#: admin/templatetags/admin_extras.py:167 msgid "Edit alias" msgstr "Editar el alias" -#: admin/templatetags/admin_extras.py:178 +#: admin/templatetags/admin_extras.py:179 msgid "Edit mailbox" msgstr "Editar el \"mailbox\"" -#: admin/templatetags/admin_extras.py:184 +#: admin/templatetags/admin_extras.py:185 msgid "View this mailbox aliases" msgstr "Mostrar este alias del \"mailbox\"" -#: admin/templatetags/admin_extras.py:199 +#: admin/templatetags/admin_extras.py:200 msgid "Edit mailbox alias" msgstr "Editar el alias del \"mailbox\"" -#: admin/templatetags/admin_extras.py:234 +#: admin/templatetags/admin_extras.py:235 msgid "Yes" msgstr "Sí" -#: admin/templatetags/admin_extras.py:234 +#: admin/templatetags/admin_extras.py:235 msgid "No" msgstr "No " -#: admin/templatetags/admin_extras.py:251 templates/common/genericform.html:6 +#: admin/templatetags/admin_extras.py:252 templates/common/genericform.html:6 msgid "Help" msgstr "Ayuda" @@ -598,96 +598,95 @@ msgstr "Nombre de usuario" msgid "Password used to authenticate" msgstr "Contraseña usada para autenticar" -#: auth/views.py:35 +#: auth/views.py:38 msgid "Account is disabled." msgstr "La cuenta está desactivada." -#: auth/views.py:36 +#: auth/views.py:39 msgid "Your username and password didn't match. Please try again." msgstr "" "Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de " "nuevo." -#: extensions/amavis_quarantine/main.py:14 +#: extensions/amavis_quarantine/main.py:15 msgid "Simple amavis quarantine management tool" msgstr "Herramienta simple de adminitración de cuarentena para amavis " -#: extensions/amavis_quarantine/main.py:21 +#: extensions/amavis_quarantine/main.py:22 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:23 +#: extensions/amavis_quarantine/main.py:24 msgid "Remove messages marked as released while cleaning up the database" msgstr "" -"Eliminar los mensajes marcados como publicados cuando se haga limpieza de la" -" base de datos" +"Eliminar los mensajes marcados como publicados cuando se haga limpieza de la " +"base de datos" -#: extensions/amavis_quarantine/main.py:27 +#: extensions/amavis_quarantine/main.py:28 msgid "Mode used to access the PDP server" msgstr "Modo usado para acceder al servidor PDP" -#: extensions/amavis_quarantine/main.py:30 +#: extensions/amavis_quarantine/main.py:31 msgid "PDP server address (if inet mode)" msgstr "Dirección del servidor de PDP (en modo inet)" -#: extensions/amavis_quarantine/main.py:33 +#: extensions/amavis_quarantine/main.py:34 msgid "PDP server port (if inet mode)" msgstr "Puerto del servidor de PDP (en modo inet)" #: extensions/amavis_quarantine/main.py:36 +msgid "/var/amavis/amavisd.sock" +msgstr "" + +#: extensions/amavis_quarantine/main.py:37 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:39 extensions/webmail/main.py:36 -msgid "Number of displayed emails per page" -msgstr "Número de emails mostrados por página" - -#: extensions/amavis_quarantine/main.py:40 extensions/webmail/main.py:37 +#: extensions/amavis_quarantine/main.py:41 extensions/webmail/main.py:40 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:56 +#: extensions/amavis_quarantine/main.py:57 #: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:42 msgid "Quarantine" msgstr "Cuarentena" -#: extensions/amavis_quarantine/sql_listing.py:19 -#: extensions/webmail/forms.py:5 extensions/webmail/lib.py:45 +#: extensions/amavis_quarantine/sql_listing.py:21 +#: extensions/webmail/forms.py:5 msgid "From" msgstr "Desde" -#: extensions/amavis_quarantine/sql_listing.py:20 -#: extensions/sievefilters/forms.py:26 extensions/webmail/forms.py:8 -#: extensions/webmail/lib.py:44 extensions/webmail/lib.py:518 -#: templates/common/email_searchbar.html:7 +#: extensions/amavis_quarantine/sql_listing.py:22 +#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:8 +#: extensions/webmail/lib.py:521 templates/common/email_searchbar.html:7 msgid "Subject" msgstr "Tema" -#: extensions/amavis_quarantine/sql_listing.py:21 extensions/webmail/lib.py:46 -#: extensions/webmail/lib.py:520 +#: extensions/amavis_quarantine/sql_listing.py:23 +#: extensions/webmail/lib.py:523 msgid "Date" msgstr "Fecha" -#: extensions/amavis_quarantine/sql_listing.py:22 -#: extensions/amavis_quarantine/templatetags/amextras.py:96 +#: extensions/amavis_quarantine/sql_listing.py:24 +#: extensions/amavis_quarantine/templatetags/amextras.py:94 #: extensions/webmail/forms.py:6 msgid "To" msgstr "A" -#: extensions/amavis_quarantine/views.py:88 +#: extensions/amavis_quarantine/views.py:89 msgid "Empty quarantine" msgstr "Vaciar cuarentena" -#: extensions/amavis_quarantine/views.py:171 +#: extensions/amavis_quarantine/views.py:172 #, 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:201 +#: extensions/amavis_quarantine/views.py:202 #, python-format msgid "%(count)d message released successfully" msgid_plural "%(count)d messages released successfully" @@ -707,7 +706,7 @@ msgid "View as HTML" msgstr "Ver como HTML" #: extensions/amavis_quarantine/templatetags/amextras.py:22 -#: extensions/webmail/templatetags/webextras.py:41 +#: extensions/webmail/templatetags/webextras.py:42 msgid "Activate links" msgstr "Activar enlaces" @@ -720,46 +719,38 @@ msgid "View full headers" msgstr "Ver todas las cabeceras" #: extensions/amavis_quarantine/templatetags/amextras.py:41 -#: extensions/amavis_quarantine/templatetags/amextras.py:66 +#: extensions/amavis_quarantine/templatetags/amextras.py:64 msgid "Release" msgstr "Publicar" -#: extensions/amavis_quarantine/templatetags/amextras.py:42 -msgid "Release this message?" -msgstr "¿Publicar este mensaje?" - -#: extensions/amavis_quarantine/templatetags/amextras.py:47 -#: extensions/amavis_quarantine/templatetags/amextras.py:70 -#: extensions/webmail/templatetags/webextras.py:34 +#: extensions/amavis_quarantine/templatetags/amextras.py:46 +#: extensions/amavis_quarantine/templatetags/amextras.py:68 +#: extensions/webmail/templatetags/webextras.py:35 msgid "Delete" msgstr "Eliminar" #: extensions/amavis_quarantine/templatetags/amextras.py:48 -msgid "Delete this message?" -msgstr "¿Eliminar este mensaje?" - -#: extensions/amavis_quarantine/templatetags/amextras.py:50 -#: userprefs/templatetags/uprefs_extras.py:16 +#: userprefs/templatetags/uprefs_extras.py:17 msgid "Options" msgstr "Opciones" -#: extensions/amavis_quarantine/templatetags/amextras.py:74 +#: extensions/amavis_quarantine/templatetags/amextras.py:72 msgid "Select" msgstr "Seleccionar" -#: extensions/amavis_quarantine/templatetags/amextras.py:79 +#: extensions/amavis_quarantine/templatetags/amextras.py:77 msgid "Nothing" msgstr "Nada" -#: extensions/amavis_quarantine/templatetags/amextras.py:82 +#: extensions/amavis_quarantine/templatetags/amextras.py:80 msgid "Spam" msgstr "Spam" -#: extensions/amavis_quarantine/templatetags/amextras.py:85 +#: extensions/amavis_quarantine/templatetags/amextras.py:83 msgid "Bad header" msgstr "Mala cabecera" -#: extensions/amavis_quarantine/templatetags/amextras.py:88 +#: extensions/amavis_quarantine/templatetags/amextras.py:86 msgid "Bad MIME" msgstr "Mal MIME" @@ -775,15 +766,15 @@ msgstr "Activar su autorespuesta hasta esta fecha" msgid "This date is over" msgstr "Esta fecha ha pasado" -#: extensions/postfix_autoreply/main.py:20 +#: extensions/postfix_autoreply/main.py:21 msgid "Auto-reply (vacation) functionality using Postfix" msgstr "Funcionalidad de autorespuesta (vacaciones) usando Postfix" -#: extensions/postfix_autoreply/main.py:33 +#: extensions/postfix_autoreply/main.py:34 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:59 +#: extensions/postfix_autoreply/main.py:60 #: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:30 msgid "Auto-reply message" msgstr "Mensaje de autorespuesta" @@ -808,7 +799,7 @@ 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:35 +#: extensions/postfix_autoreply/views.py:36 msgid "Auto reply message updated successfully." msgstr "El mensaje de autorespuesta se ha actualizado correctamente." @@ -816,155 +807,154 @@ msgstr "El mensaje de autorespuesta se ha actualizado correctamente." msgid "Check to activate this filters set" msgstr "Marcar para activar este conjunto de filtros" -#: extensions/sievefilters/forms.py:12 -msgid "contains" -msgstr "contiene" - -#: extensions/sievefilters/forms.py:13 -msgid "does not contain" -msgstr "no contiene" - -#: extensions/sievefilters/forms.py:14 -msgid "is" -msgstr "es" - -#: extensions/sievefilters/forms.py:15 -msgid "is not" -msgstr "no es" - -#: extensions/sievefilters/forms.py:19 +#: extensions/sievefilters/forms.py:17 msgid "All of the following" msgstr "Todos los siguientes" -#: extensions/sievefilters/forms.py:20 +#: extensions/sievefilters/forms.py:18 msgid "Any of the following" msgstr "Cualquiera de los siguientes" -#: extensions/sievefilters/forms.py:21 +#: extensions/sievefilters/forms.py:19 msgid "All messages" msgstr "Todos los mensajes" -#: extensions/sievefilters/forms.py:27 +#: extensions/sievefilters/forms.py:23 +msgid "contains" +msgstr "contiene" + +#: extensions/sievefilters/forms.py:24 +msgid "does not contain" +msgstr "no contiene" + +#: extensions/sievefilters/forms.py:25 +msgid "is" +msgstr "es" + +#: extensions/sievefilters/forms.py:26 +msgid "is not" +msgstr "no es" + +#: extensions/sievefilters/forms.py:30 msgid "Sender" msgstr "Remitente" -#: extensions/sievefilters/forms.py:28 +#: extensions/sievefilters/forms.py:31 msgid "Recipient" msgstr "Receptor" -#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:7 +#: extensions/sievefilters/forms.py:32 extensions/webmail/forms.py:7 msgid "Cc" msgstr "Cc" -#: extensions/sievefilters/forms.py:30 +#: extensions/sievefilters/forms.py:33 msgid "Size" msgstr "Tamaño" -#: extensions/sievefilters/forms.py:31 +#: extensions/sievefilters/forms.py:34 msgid "is greater than" msgstr "mayor que" -#: extensions/sievefilters/forms.py:32 +#: extensions/sievefilters/forms.py:35 msgid "is less than" msgstr "menor que" -#: extensions/sievefilters/forms.py:36 +#: extensions/sievefilters/forms.py:39 msgid "Move message to" msgstr "Mover el mensaje a" -#: extensions/sievefilters/forms.py:38 +#: extensions/sievefilters/forms.py:41 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 msgid "Not enough space on server" msgstr "No hay suficiente espacio en el servidor" -#: extensions/sievefilters/main.py:14 +#: extensions/sievefilters/main.py:15 msgid "Address of your MANAGESIEVE server" msgstr "Dirección de su servidor MANAGESIEVE" -#: extensions/sievefilters/main.py:16 +#: 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:18 +#: extensions/sievefilters/main.py:19 msgid "Use the STARTTLS extension" msgstr "Usar la extensión STARTTLS" -#: extensions/sievefilters/main.py:25 +#: extensions/sievefilters/main.py:26 msgid "Prefered authentication mechanism" msgstr "Mecanismo de autenticación preferido" -#: extensions/sievefilters/main.py:29 +#: extensions/sievefilters/main.py:30 msgid "Editor mode" msgstr "Modo editor" -#: extensions/sievefilters/main.py:31 +#: 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:41 +#: 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:55 +#: extensions/sievefilters/main.py:56 #: extensions/sievefilters/templates/sievefilters/index.html:17 msgid "Message filters" msgstr "Filtros de mensaje" -#: extensions/sievefilters/views.py:68 +#: extensions/sievefilters/views.py:70 msgid "Failed to retrieve filters set" msgstr "Fallo en la recuperación de un conjunto de filtros" -#: extensions/sievefilters/views.py:112 +#: extensions/sievefilters/views.py:114 #: extensions/sievefilters/templatetags/sfilters_tags.py:34 msgid "New filter" msgstr "Nuevo filtro" -#: extensions/sievefilters/views.py:115 +#: extensions/sievefilters/views.py:117 msgid "Filter created" msgstr "Filtro creado" -#: extensions/sievefilters/views.py:126 +#: extensions/sievefilters/views.py:128 #: extensions/sievefilters/templatetags/sfilters_tags.py:72 msgid "Edit filter" msgstr "Editar filtro" -#: extensions/sievefilters/views.py:131 +#: extensions/sievefilters/views.py:133 msgid "Filter modified" msgstr "Filtro modificado" -#: extensions/sievefilters/views.py:151 +#: extensions/sievefilters/views.py:153 msgid "Filter removed" msgstr "Filtro eliminado" -#: extensions/sievefilters/views.py:152 +#: extensions/sievefilters/views.py:154 msgid "Failed to remove filter" msgstr "La eliminación del filtro falló" -#: extensions/sievefilters/views.py:166 +#: extensions/sievefilters/views.py:168 msgid "Filters set saved" msgstr "Filtros guardados" -#: extensions/sievefilters/views.py:171 +#: extensions/sievefilters/views.py:173 msgid "Create a new filters set" msgstr "Crear un nuevo conjunto de filtros" -#: extensions/sievefilters/views.py:191 +#: extensions/sievefilters/views.py:193 msgid "Filters set created" msgstr "Conjunto de filtros creado" -#: extensions/sievefilters/views.py:208 +#: extensions/sievefilters/views.py:210 msgid "Filters set deleted" msgstr "Conjunto de filtros eliminado" -#: extensions/sievefilters/views.py:219 +#: extensions/sievefilters/views.py:221 msgid "Filters set activated" msgstr "Conjunto de filtros activado" @@ -1072,23 +1062,23 @@ msgstr "tamaño recibido" msgid "sent size" msgstr "tamaño enviado" -#: extensions/stats/main.py:19 +#: extensions/stats/main.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:26 +#: extensions/stats/main.py:27 msgid "Path to log file used to collect statistics" msgstr "Fichero de log usado para recolectar estadísticas" -#: extensions/stats/main.py:29 +#: extensions/stats/main.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:32 +#: extensions/stats/main.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:45 extensions/stats/templates/stats/index.html:84 +#: extensions/stats/main.py:46 extensions/stats/templates/stats/index.html:84 msgid "Statistics" msgstr "Estadísticas" @@ -1161,151 +1151,215 @@ msgstr "Inicio" msgid "End" msgstr "Fin" -#: extensions/webmail/lib.py:31 +#: extensions/webmail/forms.py:14 +#, fuzzy +msgid "Select a file" +msgstr "Seleccione un usuario" + +#: extensions/webmail/lib.py:33 msgid "Server response" msgstr "Respuesta del servidor" -#: extensions/webmail/lib.py:142 +#: 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:146 +#: 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:465 +#: extensions/webmail/lib.py:468 msgid "wrote:" msgstr "escribió:" -#: extensions/webmail/lib.py:532 extensions/webmail/lib.py:536 +#: extensions/webmail/lib.py:535 extensions/webmail/lib.py:539 msgid "Original message" msgstr "Mensaje original" -#: extensions/webmail/main.py:13 +#: extensions/webmail/main.py:14 msgid "Address of your IMAP server" msgstr "Dirección de su servidor IMAP" -#: extensions/webmail/main.py:16 +#: extensions/webmail/main.py:17 msgid "Use a secured connection to access IMAP server" msgstr "Usar una conexión segura para acceder al servidor IMAP" -#: extensions/webmail/main.py:18 +#: extensions/webmail/main.py:19 msgid "Listening port of your IMAP server" msgstr "Puerto de su servidor IMAP" -#: extensions/webmail/main.py:21 +#: extensions/webmail/main.py:22 msgid "Address of your SMTP server" msgstr "Dirección de su servidor IMAP" -#: extensions/webmail/main.py:23 +#: extensions/webmail/main.py:24 msgid "None" msgstr "Nada" -#: extensions/webmail/main.py:27 +#: extensions/webmail/main.py:28 msgid "Use a secured connection to access SMTP server" msgstr "Usar una conexión segura para acceder al servidor SMTP" -#: extensions/webmail/main.py:29 +#: extensions/webmail/main.py:30 msgid "Listening port of your SMTP server" msgstr "Puerto de su servidor SMTP" -#: extensions/webmail/main.py:32 +#: extensions/webmail/main.py:33 msgid "Server needs authentication" msgstr "El servidor requiere autenticación" +#: extensions/webmail/main.py:35 +msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)" +msgstr "" + #: extensions/webmail/main.py:39 +msgid "Number of displayed emails per page" +msgstr "Número de emails mostrados por página" + +#: extensions/webmail/main.py:42 msgid "Listing refresh rate" msgstr "Tasa de refresco" -#: extensions/webmail/main.py:40 +#: extensions/webmail/main.py:43 msgid "Automatic folder refresh rate (in seconds)" msgstr "Tasa de refresco automática de la carpeta (en segundos)" -#: extensions/webmail/main.py:42 +#: extensions/webmail/main.py:45 msgid "Trash folder" msgstr "Carpeta de basura" -#: extensions/webmail/main.py:43 +#: extensions/webmail/main.py:46 msgid "Folder where deleted messages go" msgstr "Carpeta dónde van los mensajes eliminados" -#: extensions/webmail/main.py:45 +#: extensions/webmail/main.py:48 msgid "Sent folder" msgstr "Carpeta de enviados" -#: extensions/webmail/main.py:46 +#: extensions/webmail/main.py:49 msgid "Folder where copies of sent messages go" msgstr "Carpeta dónde van las copias de los correos enviados" -#: extensions/webmail/main.py:48 +#: extensions/webmail/main.py:51 msgid "Drafts folder" msgstr "Carpeta de borradores" -#: extensions/webmail/main.py:49 +#: extensions/webmail/main.py:52 msgid "Folder where drafts go" msgstr "Carpeta dónde van los borradores" -#: extensions/webmail/main.py:51 +#: extensions/webmail/main.py:54 msgid "Signature text" msgstr "Texto de la firma" -#: extensions/webmail/main.py:52 +#: extensions/webmail/main.py:55 msgid "User defined email signature" msgstr "Firma de correo definida por el usuario" -#: extensions/webmail/main.py:54 +#: extensions/webmail/main.py:57 msgid "Default editor" msgstr "Editor por defecto" -#: extensions/webmail/main.py:56 +#: extensions/webmail/main.py:59 msgid "The default editor to use when composing a message" msgstr "Editor por defecto para usar cuando redacta un mensaje" -#: extensions/webmail/main.py:58 +#: extensions/webmail/main.py:61 msgid "Default message display mode" msgstr "Modo por defecto para un mensaje" -#: extensions/webmail/main.py:60 +#: extensions/webmail/main.py:63 msgid "The default mode used when displaying a message" msgstr "Modo por defecto usado para mostrar un mensaje" -#: extensions/webmail/main.py:62 +#: extensions/webmail/main.py:65 msgid "Enable HTML links display" msgstr "Activar el mostrar enlaces de HTML" -#: extensions/webmail/main.py:63 +#: extensions/webmail/main.py:66 msgid "Enable/Disable HTML links display" msgstr "Activar/Desactivar el mostrar enlaces HTML" -#: extensions/webmail/main.py:73 +#: extensions/webmail/main.py:76 msgid "Simple IMAP webmail" msgstr "Correo web simple para IMAP" -#: extensions/webmail/main.py:87 +#: extensions/webmail/main.py:90 #: extensions/webmail/templates/webmail/index.html:212 msgid "Webmail" msgstr "Correo web" -#: extensions/webmail/views.py:67 lib/email_listing.py:131 +#: extensions/webmail/views.py:61 lib/email_listing.py:132 msgid "This folder contains no messages" msgstr "Esta carpeta no contiene mensajes" -#: extensions/webmail/views.py:453 +#: extensions/webmail/views.py:369 msgid "Create a new folder" msgstr "Crear una nueva carpeta" -#: extensions/webmail/views.py:465 +#: extensions/webmail/views.py:381 msgid "Folder created" msgstr "Carpeta creada" -#: extensions/webmail/views.py:480 +#: extensions/webmail/views.py:396 msgid "Edit folder" msgstr "Editar carpeta" -#: extensions/webmail/views.py:501 +#: extensions/webmail/views.py:417 msgid "Folder modified" msgstr "Carpeta modificada" +#: extensions/webmail/views.py:465 +#, fuzzy +msgid "Failed to save attachment: " +msgstr "La eliminación del filtro falló" + +#: extensions/webmail/views.py:468 +#, python-format +msgid "Attachment is too big (limit: %s)" +msgstr "" + +#: extensions/webmail/views.py:483 +#, fuzzy +msgid "Bad query" +msgstr "Mala cabecera" + +#: extensions/webmail/views.py:493 +#, fuzzy +msgid "Failed to remove attachment: " +msgstr "La eliminación del filtro falló" + +#: extensions/webmail/views.py:498 +#, fuzzy +msgid "Unknown attachment" +msgstr "Adjuntos" + +#: extensions/webmail/templates/webmail/attachments.html:86 +#: extensions/webmail/templates/webmail/compose.html:9 +#: extensions/webmail/templates/webmail/headers.html:7 +msgid "Attachments" +msgstr "Adjuntos" + +#: extensions/webmail/templates/webmail/attachments.html:93 +#, fuzzy +msgid "Attach" +msgstr "Adjuntos" + +#: extensions/webmail/templates/webmail/attachments.html:97 +msgid "Uploading.." +msgstr "" + +#: extensions/webmail/templates/webmail/attachments.html:113 +msgid "Done" +msgstr "" + +#: extensions/webmail/templates/webmail/compose.html:12 +#, 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" msgstr "Carpeta padre" @@ -1318,73 +1372,64 @@ msgstr "Añadir una nueva carpeta" msgid "Folders" msgstr "Carpetas" -#: extensions/webmail/templates/webmail/headers.html:7 -msgid "Attachments" -msgstr "Adjuntos" - #: extensions/webmail/templates/webmail/index.html:218 msgid "Mailbox quota" msgstr "Cuota del 'mailbox'" -#: extensions/webmail/templatetags/webextras.py:18 -#: extensions/webmail/templatetags/webextras.py:60 +#: extensions/webmail/templatetags/webextras.py:19 +#: extensions/webmail/templatetags/webextras.py:61 msgid "Back" msgstr "Anterior" -#: extensions/webmail/templatetags/webextras.py:22 +#: extensions/webmail/templatetags/webextras.py:23 msgid "Reply" msgstr "Responder" -#: extensions/webmail/templatetags/webextras.py:26 +#: extensions/webmail/templatetags/webextras.py:27 msgid "Reply all" msgstr "Responder a todos" -#: extensions/webmail/templatetags/webextras.py:30 -#: userprefs/templatetags/uprefs_extras.py:38 +#: extensions/webmail/templatetags/webextras.py:31 +#: userprefs/templatetags/uprefs_extras.py:39 msgid "Forward" msgstr "Siguiente" -#: extensions/webmail/templatetags/webextras.py:36 +#: extensions/webmail/templatetags/webextras.py:37 msgid "Display options" msgstr "Opciones de pantalla" -#: extensions/webmail/templatetags/webextras.py:44 +#: extensions/webmail/templatetags/webextras.py:45 msgid "Disable links" msgstr "Desactivar enlaces" -#: extensions/webmail/templatetags/webextras.py:64 +#: extensions/webmail/templatetags/webextras.py:65 msgid "Send" msgstr "Enviar" -#: extensions/webmail/templatetags/webextras.py:76 +#: extensions/webmail/templatetags/webextras.py:77 msgid "New message" msgstr "Nuevo mensaje" -#: extensions/webmail/templatetags/webextras.py:79 +#: extensions/webmail/templatetags/webextras.py:80 msgid "Mark messages" msgstr "Marcar mensajes" -#: extensions/webmail/templatetags/webextras.py:83 +#: extensions/webmail/templatetags/webextras.py:84 msgid "As read" msgstr "Como leído" -#: extensions/webmail/templatetags/webextras.py:86 +#: extensions/webmail/templatetags/webextras.py:87 msgid "As unread" msgstr "Como no leído" -#: extensions/webmail/templatetags/webextras.py:97 +#: extensions/webmail/templatetags/webextras.py:98 msgid "Compress folder" msgstr "Comprimir la carpeta" -#: extensions/webmail/templatetags/webextras.py:106 +#: extensions/webmail/templatetags/webextras.py:107 msgid "Empty folder" msgstr "Vaciar la carpeta" -#: lib/__init__.py:152 -#, python-format -msgid "Invalid action, %(user)s is a local user" -msgstr "Acción inválida, %(user)s es un usuario local" - #: lib/tables.py:201 msgid "No entries to display" msgstr "No hay entradas que mostrar" @@ -1397,6 +1442,11 @@ msgstr "Salir" msgid "Add" msgstr "Añadir" +#: templates/admin/domains_header.html:44 +#, fuzzy +msgid "Remove this selection?" +msgstr "Eliminar este filtro" + #: templates/admin/domains_header.html:52 msgid "for" msgstr "para" @@ -1466,12 +1516,12 @@ msgid "Welcome" msgstr "Bienvenido" #: templates/userprefs/chpassword.html:7 -#: userprefs/templatetags/uprefs_extras.py:22 +#: userprefs/templatetags/uprefs_extras.py:23 msgid "Change password" msgstr "Cambiar la contraseña" #: templates/userprefs/preferences.html:6 -#: userprefs/templatetags/uprefs_extras.py:27 +#: userprefs/templatetags/uprefs_extras.py:28 msgid "Preferences" msgstr "Preferencias" @@ -1479,6 +1529,15 @@ msgstr "Preferencias" msgid "Define your forward" msgstr "Defina su reenvío" +#: userprefs/__init__.py:7 +#, fuzzy +msgid "Prefered language" +msgstr "Preferencias" + +#: userprefs/__init__.py:10 +msgid "Prefered language to display pages" +msgstr "" + #: userprefs/forms.py:12 msgid "Old password" msgstr "Contraseña anterior" @@ -1511,4 +1570,11 @@ msgstr "Contraseña cambiada" msgid "Forward updated" msgstr "Reenvío actualizado" +#~ msgid "Enabled" +#~ msgstr "Activado" +#~ msgid "Release this message?" +#~ msgstr "¿Publicar este mensaje?" + +#~ msgid "Delete this message?" +#~ msgstr "¿Eliminar este mensaje?" diff --git a/locale/es/LC_MESSAGES/djangojs.po b/locale/es/LC_MESSAGES/djangojs.po index 1f77c76eb..9eafbfef2 100644 --- a/locale/es/LC_MESSAGES/djangojs.po +++ b/locale/es/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa-0.8.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-08-25 09:58+0200\n" +"POT-Creation-Date: 2011-09-14 14:06+0200\n" "PO-Revision-Date: 2011-07-08 09:04+0000\n" "Last-Translator: Pedro Gracia \n" "Language-Team: Español \n" @@ -17,11 +17,21 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: extensions/amavis_quarantine/static/js/quarantine.js:92 +#: extensions/amavis_quarantine/static/js/quarantine.js:41 +#, fuzzy +msgid "Delete this message?" +msgstr "¿Eliminar esta selección?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:49 +#, fuzzy +msgid "Release this message?" +msgstr "¿Publicar esta selección?" + +#: extensions/amavis_quarantine/static/js/quarantine.js:107 msgid "Release this selection?" msgstr "¿Publicar esta selección?" -#: extensions/amavis_quarantine/static/js/quarantine.js:99 +#: extensions/amavis_quarantine/static/js/quarantine.js:114 msgid "Delete this selection?" msgstr "¿Eliminar esta selección?" @@ -33,24 +43,34 @@ msgstr "¿Eliminar este filtro?" msgid "Save changes?" msgstr "¿Guardar cambios?" +#: extensions/sievefilters/static/js/lib.js:143 +#, fuzzy +msgid "Remove filters set?" +msgstr "¿Eliminar este filtro?" + +#: extensions/sievefilters/static/js/lib.js:161 +#, fuzzy +msgid "Activate this filters set?" +msgstr "¿Eliminar este filtro?" + +#: extensions/sievefilters/static/js/lib.js:169 +msgid "active" +msgstr "" + #: extensions/webmail/static/js/fdmenu.js:31 msgid "Edit folder" msgstr "Editar carpeta" -#: extensions/webmail/static/js/fdmenu.js:62 +#: extensions/webmail/static/js/fdmenu.js:63 msgid "Folder deleted" msgstr "Carpeta eliminada" -#: extensions/webmail/static/js/webmail.js:195 -msgid "Reloading..." -msgstr "Recargando..." - -#: extensions/webmail/static/js/webmail.js:203 -#: extensions/webmail/static/js/webmail.js:227 static/js/anchor_nav.js:199 +#: extensions/webmail/static/js/webmail.js:226 +#: extensions/webmail/static/js/webmail.js:250 static/js/anchor_nav.js:212 msgid "Done" msgstr "Hecho" -#: extensions/webmail/static/js/webmail.js:216 +#: extensions/webmail/static/js/webmail.js:239 msgid "Waiting..." msgstr "Esperando..." @@ -58,7 +78,7 @@ msgstr "Esperando..." msgid "Loading..." msgstr "Cargando..." -#: static/js/common.js:150 +#: static/js/common.js:172 msgid "Search..." msgstr "Buscar..." @@ -69,3 +89,6 @@ msgstr "Preferencias guardas" #: static/js/settings.js:14 msgid "Parameters saved" msgstr "Parámetros guardados" + +#~ msgid "Reloading..." +#~ msgstr "Recargando..." diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 2c32da69f..aaff4515b 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: modoboa-0.8.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-08-25 09:53+0200\n" +"POT-Creation-Date: 2011-09-14 14:11+0200\n" "PO-Revision-Date: 2011-01-07 10:00+100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: FR \n" @@ -62,7 +62,7 @@ msgstr "Nombre d'éléments affichés par page" 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:75 +#: admin/forms.py:51 admin/tables.py:20 admin/tables.py:78 msgid "Quota" msgstr "Quota" @@ -95,7 +95,7 @@ msgstr "Cocher pour activer cette boite aux lettres" msgid "Passwords mismatch" msgstr "Les mots de passe diffèrent" -#: admin/forms.py:103 admin/tables.py:99 +#: admin/forms.py:103 admin/tables.py:103 msgid "Target(s)" msgstr "Cible(s)" @@ -115,45 +115,38 @@ msgstr "Accès refusé pour" msgid "Permission denied on" msgstr "Permission refusée sur" -#: admin/forms.py:179 admin/forms.py:192 +#: admin/forms.py:183 admin/forms.py:199 msgid "User" msgstr "Utilisateur" -#: admin/forms.py:180 +#: admin/forms.py:184 msgid "Select a user" msgstr "Sélectionner un utilisateur" -#: admin/forms.py:181 admin/forms.py:194 +#: 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:188 admin/forms.py:207 +#: admin/forms.py:194 admin/tables.py:146 msgid "Domain" msgstr "Domaine" -#: admin/forms.py:190 +#: admin/forms.py:196 msgid "Select a domain" msgstr "Sélectionner un domaine" -#: admin/forms.py:191 +#: admin/forms.py:197 msgid "Select a domain in the list" msgstr "Sélectionner un domaine dans la liste" -#: admin/forms.py:193 +#: admin/forms.py:200 msgid "Empty" msgstr "Vide" -#: admin/forms.py:199 -msgid "User name" -msgstr "Nom d'utilisateur" - -#: admin/forms.py:200 admin/forms.py:208 -msgid "Full name" -msgstr "Nom complet" - -#: admin/forms.py:201 admin/forms.py:209 -msgid "Defined" -msgstr "Défini le" +#: 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/models.py:77 admin/models.py:134 admin/models.py:147 msgid "name" @@ -241,349 +234,357 @@ msgstr "Les boites aux lettres sur lesquelles pointe cet alias" msgid "Check to enable this extension" msgstr "Cocher pour activer cette extension" -#: admin/permissions.py:27 +#: admin/permissions.py:28 msgid "Add super administrator" msgstr "Ajouter un super administrateur" -#: admin/permissions.py:80 +#: admin/permissions.py:81 msgid "Add domain administrator" msgstr "Ajouter un admin. de domaine" -#: admin/tables.py:10 admin/tables.py:44 admin/tables.py:69 -#: admin/tables.py:123 extensions/sievefilters/forms.py:18 +#: 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 msgid "Name" msgstr "Nom" -#: admin/tables.py:11 admin/tables.py:46 admin/tables.py:70 -#: admin/tables.py:100 +#: admin/tables.py:11 admin/tables.py:47 admin/tables.py:72 +#: admin/tables.py:104 msgid "Created" msgstr "Crée" -#: admin/tables.py:12 admin/tables.py:47 admin/tables.py:71 -#: admin/tables.py:101 +#: 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:112 +#: admin/tables.py:14 admin/views.py:165 +#: admin/templatetags/admin_extras.py:113 msgid "Domain aliases" msgstr "Alias de domaine" -#: admin/tables.py:16 admin/templatetags/admin_extras.py:35 -#: admin/templatetags/admin_extras.py:115 +#: admin/tables.py:16 admin/templatetags/admin_extras.py:36 +#: admin/templatetags/admin_extras.py:116 msgid "Mailboxes" -msgstr "Boites aux lettres" +msgstr "Boites" -#: admin/tables.py:18 admin/views.py:394 -#: admin/templatetags/admin_extras.py:118 +#: admin/tables.py:18 admin/views.py:395 +#: admin/templatetags/admin_extras.py:119 msgid "Mailbox aliases" msgstr "Alias de boite." -#: admin/tables.py:21 admin/tables.py:49 -msgid "Enabled" -msgstr "Activé" - -#: admin/tables.py:23 admin/tables.py:51 admin/tables.py:78 -#: admin/tables.py:105 +#: admin/tables.py:24 admin/tables.py:52 admin/tables.py:82 +#: admin/tables.py:109 #: 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 -#: extensions/webmail/templatetags/webextras.py:92 +#: extensions/webmail/templatetags/webextras.py:93 msgid "Actions" msgstr "Actions" -#: admin/tables.py:35 admin/tables.py:89 +#: admin/tables.py:36 admin/tables.py:93 msgid "MB" msgstr "Mo" -#: admin/tables.py:38 admin/tables.py:62 admin/tables.py:92 -#: admin/tables.py:118 extensions/sievefilters/views.py:246 +#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 +#: admin/tables.py:122 extensions/sievefilters/views.py:248 msgid "yes" msgstr "oui" -#: admin/tables.py:38 admin/tables.py:62 admin/tables.py:92 -#: admin/tables.py:118 extensions/sievefilters/views.py:250 +#: admin/tables.py:39 admin/tables.py:64 admin/tables.py:96 +#: admin/tables.py:122 extensions/sievefilters/views.py:252 msgid "no" msgstr "non" -#: admin/tables.py:45 +#: admin/tables.py:46 msgid "Targeted domain" msgstr "Domaine ciblé" -#: admin/tables.py:68 admin/tables.py:98 +#: admin/tables.py:70 admin/tables.py:102 msgid "Address" msgstr "Adresse" -#: admin/tables.py:73 +#: admin/tables.py:76 msgid "Aliases" msgstr "Alias" -#: admin/tables.py:124 +#: admin/tables.py:128 msgid "Version" msgstr "Version" -#: admin/tables.py:125 +#: admin/tables.py:129 msgid "Description" msgstr "Description" -#: admin/views.py:31 +#: admin/tables.py:136 +msgid "User name" +msgstr "Nom d'utilisateur" + +#: admin/tables.py:137 admin/tables.py:147 +msgid "Full name" +msgstr "Nom complet" + +#: admin/tables.py:138 admin/tables.py:148 +msgid "Defined" +msgstr "Défini le" + +#: admin/views.py:32 msgid "Unknown object type" msgstr "Type d'objet inconnu" -#: admin/views.py:65 +#: admin/views.py:66 msgid "Do not delete domain directory" msgstr "Ne pas supprimer le répertoire du domaine" -#: admin/views.py:68 +#: admin/views.py:69 msgid "Available domains" msgstr "Domaines disponibles" -#: admin/views.py:86 +#: admin/views.py:87 msgid "Domain with this name already defined" msgstr "Un domaine avec ce nom existe déjà" -#: admin/views.py:103 +#: admin/views.py:104 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:173 -#: extensions/webmail/views.py:455 +#: admin/views.py:105 admin/views.py:174 admin/views.py:298 admin/views.py:329 +#: admin/views.py:433 extensions/sievefilters/views.py:175 +#: extensions/webmail/views.py:371 msgid "Create" msgstr "Créer" -#: admin/views.py:109 +#: admin/views.py:110 msgid "Domain created" msgstr "Domaine créé" -#: admin/views.py:120 +#: admin/views.py:121 msgid "Domain editing" msgstr "Edition de domaine" -#: admin/views.py:121 admin/views.py:208 admin/views.py:451 +#: admin/views.py:122 admin/views.py:209 admin/views.py:452 #: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:38 -#: extensions/webmail/views.py:482 templates/userprefs/chpassword.html:15 +#: extensions/webmail/views.py:398 templates/userprefs/chpassword.html:15 #: templates/userprefs/setforward.html:15 msgid "Update" msgstr "Mettre à jour" -#: admin/views.py:126 +#: admin/views.py:127 msgid "Domain modified" msgstr "Domaine modifié" -#: admin/views.py:140 +#: admin/views.py:141 msgid "You can't delete your own domain" msgstr "Vous ne pouvez pas supprimer votre propre domaine" -#: admin/views.py:149 +#: admin/views.py:150 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domaine supprimé" msgstr[1] "Domaines supprimés" -#: admin/views.py:172 +#: admin/views.py:173 msgid "New domain alias" msgstr "Nouvel alias de domaine" -#: admin/views.py:182 admin/views.py:217 +#: admin/views.py:183 admin/views.py:218 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:188 admin/views.py:223 admin/views.py:413 msgid "Alias with this name already exists" msgstr "Un alias de ce nom existe déjà" -#: admin/views.py:189 +#: admin/views.py:190 msgid "Domain alias created" msgstr "Alias de domaine créé" -#: admin/views.py:207 +#: admin/views.py:208 msgid "Domain alias editing" msgstr "Edition d'alias de domaine" -#: admin/views.py:224 +#: admin/views.py:225 msgid "Domain alias updated" msgstr "Alias de domaine mis à jour" -#: admin/views.py:240 +#: admin/views.py:241 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:248 +#: admin/views.py:249 msgid "Available mailboxes" msgstr "Boites aux lettres disponibles" -#: admin/views.py:256 +#: admin/views.py:257 msgid "Do not delete mailbox directory" msgstr "Ne pas supprimer le répertoire de la boite aux lettres" -#: admin/views.py:296 +#: admin/views.py:297 msgid "New mailbox" msgstr "Nouvelle boite aux lettres" -#: admin/views.py:310 +#: admin/views.py:311 msgid "Mailbox created" msgstr "Boite aux lettres créée" -#: admin/views.py:327 +#: admin/views.py:328 msgid "Mailbox editing" msgstr "Edition de boite aux lettres" -#: admin/views.py:344 +#: admin/views.py:345 msgid "Mailbox modified" msgstr "Boite aux lettres modifiée" -#: admin/views.py:347 +#: admin/views.py:348 msgid "Failed to rename mailbox, check permissions" msgstr "Impossible de renommer la boite aux lettres, vérifier les permissions." -#: admin/views.py:366 +#: admin/views.py:367 msgid "You can't delete your own mailbox" msgstr "Vous ne pouvez pas supprimer votre propre boite aux lettres" -#: admin/views.py:376 +#: admin/views.py:377 msgid "Mailbox deleted" msgid_plural "Mailboxes deleted" msgstr[0] "Boite aux lettres supprimée" msgstr[1] "Boites aux lettres supprimées" -#: admin/views.py:407 +#: admin/views.py:408 msgid "No target defined" msgstr "Aucune cible définie" -#: admin/views.py:431 +#: admin/views.py:432 msgid "New mailbox alias" msgstr "Nouvel alias de boite aux lettres" -#: admin/views.py:437 +#: admin/views.py:438 msgid "Mailbox alias created" msgstr "Alias de boite aux lettres créé" -#: admin/views.py:450 +#: admin/views.py:451 msgid "Mailbox alias editing" msgstr "Edition d'alias de boite" -#: admin/views.py:456 +#: admin/views.py:457 msgid "Mailbox alias modified" msgstr "Alias de boite aux lettres modifié" -#: admin/views.py:470 +#: admin/views.py:471 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 +#: admin/views.py:482 msgid "Super administrators" msgstr "Super administrateurs" -#: admin/views.py:490 +#: admin/views.py:491 msgid "Domain administrators" msgstr "Administrateurs de domaine" -#: admin/views.py:505 admin/views.py:522 +#: admin/views.py:506 admin/views.py:523 msgid "Permission denied!" msgstr "Permission refusée!" -#: admin/views.py:514 +#: admin/views.py:515 msgid "Permission added." msgstr "Permission ajoutée." -#: admin/views.py:528 +#: admin/views.py:529 msgid "Permissions removed" msgstr "Permission supprimée" -#: admin/views.py:609 +#: admin/views.py:610 msgid "Modifications applied." msgstr "Modifications appliquées" -#: admin/templatetags/admin_extras.py:11 +#: admin/templatetags/admin_extras.py:12 msgid "enabled_m" msgstr "Activé" -#: admin/templatetags/admin_extras.py:11 +#: admin/templatetags/admin_extras.py:12 msgid "enabled_f" msgstr "Activée" -#: admin/templatetags/admin_extras.py:19 +#: admin/templatetags/admin_extras.py:20 msgid "Admin" msgstr "Admin" -#: admin/templatetags/admin_extras.py:28 -#: admin/templatetags/admin_extras.py:107 +#: admin/templatetags/admin_extras.py:29 +#: admin/templatetags/admin_extras.py:108 msgid "Domains" msgstr "Domaines" -#: admin/templatetags/admin_extras.py:45 templates/admin/permissions.html:6 +#: admin/templatetags/admin_extras.py:46 templates/admin/permissions.html:6 msgid "Permissions" msgstr "Permissions" -#: admin/templatetags/admin_extras.py:52 +#: admin/templatetags/admin_extras.py:53 #: templates/admin/settings_header.html:6 msgid "Settings" msgstr "Configuration" -#: admin/templatetags/admin_extras.py:67 +#: admin/templatetags/admin_extras.py:68 msgid "Parameters" msgstr "Paramètres" -#: admin/templatetags/admin_extras.py:70 +#: admin/templatetags/admin_extras.py:71 msgid "Extensions" msgstr "Extensions" -#: admin/templatetags/admin_extras.py:96 +#: admin/templatetags/admin_extras.py:97 msgid "New" msgstr "Nouveau" -#: admin/templatetags/admin_extras.py:100 +#: admin/templatetags/admin_extras.py:101 msgid "Remove" msgstr "Supprimer" -#: admin/templatetags/admin_extras.py:133 +#: admin/templatetags/admin_extras.py:134 msgid "Add permission" msgstr "Ajouter une permission" -#: admin/templatetags/admin_extras.py:137 +#: admin/templatetags/admin_extras.py:138 msgid "Remove permissions" msgstr "Supprimer les permissions" -#: admin/templatetags/admin_extras.py:150 +#: admin/templatetags/admin_extras.py:151 msgid "Edit domain" msgstr "Editer le domaine" -#: admin/templatetags/admin_extras.py:156 +#: admin/templatetags/admin_extras.py:157 msgid "View aliases of this domain" msgstr "Voir les alias de ce domaine" -#: admin/templatetags/admin_extras.py:166 +#: admin/templatetags/admin_extras.py:167 msgid "Edit alias" msgstr "Editer cet alias" -#: admin/templatetags/admin_extras.py:178 +#: admin/templatetags/admin_extras.py:179 msgid "Edit mailbox" msgstr "Editer la boite aux lettres" -#: admin/templatetags/admin_extras.py:184 +#: admin/templatetags/admin_extras.py:185 msgid "View this mailbox aliases" msgstr "Voir les alias de cette boite" -#: admin/templatetags/admin_extras.py:199 +#: admin/templatetags/admin_extras.py:200 msgid "Edit mailbox alias" msgstr "Editer l'alias de boite" -#: admin/templatetags/admin_extras.py:234 +#: admin/templatetags/admin_extras.py:235 msgid "Yes" msgstr "Oui" -#: admin/templatetags/admin_extras.py:234 +#: admin/templatetags/admin_extras.py:235 msgid "No" msgstr "Non" -#: admin/templatetags/admin_extras.py:251 templates/common/genericform.html:6 +#: admin/templatetags/admin_extras.py:252 templates/common/genericform.html:6 msgid "Help" msgstr "Aide" @@ -599,92 +600,93 @@ msgstr "Nom d'utilisateur" msgid "Password used to authenticate" msgstr "Mot de passe utilisé pour se connecter" -#: auth/views.py:35 +#: auth/views.py:38 msgid "Account is disabled." msgstr "Compte désactivé." -#: auth/views.py:36 +#: auth/views.py:39 msgid "Your username and password didn't match. Please try again." msgstr "" "Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez " "réessayer." -#: extensions/amavis_quarantine/main.py:14 +#: extensions/amavis_quarantine/main.py:15 msgid "Simple amavis quarantine management tool" msgstr "Outil simple de gestion de quarantaine amavis" -#: extensions/amavis_quarantine/main.py:21 +#: extensions/amavis_quarantine/main.py:22 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:23 +#: extensions/amavis_quarantine/main.py:24 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" +msgstr "" +"Supprimer les messages marqués comme relâchés pendant le nettoyage de la " +"base de données" -#: extensions/amavis_quarantine/main.py:27 +#: extensions/amavis_quarantine/main.py:28 msgid "Mode used to access the PDP server" msgstr "Mode utilisé pour accéder au serveur PDP" -#: extensions/amavis_quarantine/main.py:30 +#: extensions/amavis_quarantine/main.py:31 msgid "PDP server address (if inet mode)" msgstr "Adresse du serveur PDP (en mode inet)" -#: extensions/amavis_quarantine/main.py:33 +#: extensions/amavis_quarantine/main.py:34 msgid "PDP server port (if inet mode)" msgstr "Port du serveur PDP (en mode inet)" #: extensions/amavis_quarantine/main.py:36 +msgid "/var/amavis/amavisd.sock" +msgstr "" + +#: extensions/amavis_quarantine/main.py:37 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:39 extensions/webmail/main.py:36 -msgid "Number of displayed emails per page" -msgstr "Nombre d'emails affichés par page" - -#: extensions/amavis_quarantine/main.py:40 extensions/webmail/main.py:37 +#: extensions/amavis_quarantine/main.py:41 extensions/webmail/main.py:40 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:56 +#: extensions/amavis_quarantine/main.py:57 #: extensions/amavis_quarantine/templates/amavis_quarantine/index.html:42 msgid "Quarantine" msgstr "Quarantaine" -#: extensions/amavis_quarantine/sql_listing.py:19 -#: extensions/webmail/forms.py:5 extensions/webmail/lib.py:45 +#: extensions/amavis_quarantine/sql_listing.py:21 +#: extensions/webmail/forms.py:5 msgid "From" msgstr "De" -#: extensions/amavis_quarantine/sql_listing.py:20 -#: extensions/sievefilters/forms.py:26 extensions/webmail/forms.py:8 -#: extensions/webmail/lib.py:44 extensions/webmail/lib.py:518 -#: templates/common/email_searchbar.html:7 +#: extensions/amavis_quarantine/sql_listing.py:22 +#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:8 +#: extensions/webmail/lib.py:521 templates/common/email_searchbar.html:7 msgid "Subject" msgstr "Sujet" -#: extensions/amavis_quarantine/sql_listing.py:21 extensions/webmail/lib.py:46 -#: extensions/webmail/lib.py:520 +#: extensions/amavis_quarantine/sql_listing.py:23 +#: extensions/webmail/lib.py:523 msgid "Date" msgstr "Date" -#: extensions/amavis_quarantine/sql_listing.py:22 -#: extensions/amavis_quarantine/templatetags/amextras.py:96 +#: extensions/amavis_quarantine/sql_listing.py:24 +#: extensions/amavis_quarantine/templatetags/amextras.py:94 #: extensions/webmail/forms.py:6 msgid "To" msgstr "A" -#: extensions/amavis_quarantine/views.py:88 +#: extensions/amavis_quarantine/views.py:89 msgid "Empty quarantine" msgstr "Quarantaine vide" -#: extensions/amavis_quarantine/views.py:171 +#: extensions/amavis_quarantine/views.py:172 #, 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:201 +#: extensions/amavis_quarantine/views.py:202 #, python-format msgid "%(count)d message released successfully" msgid_plural "%(count)d messages released successfully" @@ -704,7 +706,7 @@ msgid "View as HTML" msgstr "Afficher en HTML" #: extensions/amavis_quarantine/templatetags/amextras.py:22 -#: extensions/webmail/templatetags/webextras.py:41 +#: extensions/webmail/templatetags/webextras.py:42 msgid "Activate links" msgstr "Activer les liens" @@ -717,46 +719,38 @@ msgid "View full headers" msgstr "Afficher tous les entêtes" #: extensions/amavis_quarantine/templatetags/amextras.py:41 -#: extensions/amavis_quarantine/templatetags/amextras.py:66 +#: extensions/amavis_quarantine/templatetags/amextras.py:64 msgid "Release" msgstr "Relâcher" -#: extensions/amavis_quarantine/templatetags/amextras.py:42 -msgid "Release this message?" -msgstr "Relâcher ce message?" - -#: extensions/amavis_quarantine/templatetags/amextras.py:47 -#: extensions/amavis_quarantine/templatetags/amextras.py:70 -#: extensions/webmail/templatetags/webextras.py:34 +#: extensions/amavis_quarantine/templatetags/amextras.py:46 +#: extensions/amavis_quarantine/templatetags/amextras.py:68 +#: extensions/webmail/templatetags/webextras.py:35 msgid "Delete" msgstr "Supprimer" #: extensions/amavis_quarantine/templatetags/amextras.py:48 -msgid "Delete this message?" -msgstr "Supprimer ce message?" - -#: extensions/amavis_quarantine/templatetags/amextras.py:50 -#: userprefs/templatetags/uprefs_extras.py:16 +#: userprefs/templatetags/uprefs_extras.py:17 msgid "Options" msgstr "Options" -#: extensions/amavis_quarantine/templatetags/amextras.py:74 +#: extensions/amavis_quarantine/templatetags/amextras.py:72 msgid "Select" msgstr "Sélectionner" -#: extensions/amavis_quarantine/templatetags/amextras.py:79 +#: extensions/amavis_quarantine/templatetags/amextras.py:77 msgid "Nothing" msgstr "Rien" -#: extensions/amavis_quarantine/templatetags/amextras.py:82 +#: extensions/amavis_quarantine/templatetags/amextras.py:80 msgid "Spam" msgstr "Spam" -#: extensions/amavis_quarantine/templatetags/amextras.py:85 +#: extensions/amavis_quarantine/templatetags/amextras.py:83 msgid "Bad header" msgstr "Mauvais entête" -#: extensions/amavis_quarantine/templatetags/amextras.py:88 +#: extensions/amavis_quarantine/templatetags/amextras.py:86 msgid "Bad MIME" msgstr "Mauvais type MIME" @@ -772,17 +766,17 @@ msgstr "Activer votre réponse automatique jusqu'à cette date" msgid "This date is over" msgstr "Cette date est dépassée" -#: extensions/postfix_autoreply/main.py:20 +#: extensions/postfix_autoreply/main.py:21 msgid "Auto-reply (vacation) functionality using Postfix" msgstr "Fonction de réponse automatique (vacances) utilisant Postfix" -#: extensions/postfix_autoreply/main.py:33 +#: extensions/postfix_autoreply/main.py:34 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:59 +#: extensions/postfix_autoreply/main.py:60 #: extensions/postfix_autoreply/templates/postfix_autoreply/autoreply.html:30 msgid "Auto-reply message" msgstr "Message de réponse automatique" @@ -807,7 +801,7 @@ 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:35 +#: extensions/postfix_autoreply/views.py:36 msgid "Auto reply message updated successfully." msgstr "Message de réponse auto. mis à jour." @@ -815,63 +809,63 @@ msgstr "Message de réponse auto. mis à jour." msgid "Check to activate this filters set" msgstr "Cocher pour activer ce jeu de filtres" -#: extensions/sievefilters/forms.py:12 -msgid "contains" -msgstr "contient" - -#: extensions/sievefilters/forms.py:13 -msgid "does not contain" -msgstr "ne contient pas" - -#: extensions/sievefilters/forms.py:14 -msgid "is" -msgstr "est" - -#: extensions/sievefilters/forms.py:15 -msgid "is not" -msgstr "n'est pas" - -#: extensions/sievefilters/forms.py:19 +#: extensions/sievefilters/forms.py:17 msgid "All of the following" msgstr "Toutes les conditions suivantes" -#: extensions/sievefilters/forms.py:20 +#: extensions/sievefilters/forms.py:18 msgid "Any of the following" msgstr "Au moins une des conditions suivantes" -#: extensions/sievefilters/forms.py:21 +#: extensions/sievefilters/forms.py:19 msgid "All messages" msgstr "Tous les messages" -#: extensions/sievefilters/forms.py:27 +#: extensions/sievefilters/forms.py:23 +msgid "contains" +msgstr "contient" + +#: extensions/sievefilters/forms.py:24 +msgid "does not contain" +msgstr "ne contient pas" + +#: extensions/sievefilters/forms.py:25 +msgid "is" +msgstr "est" + +#: extensions/sievefilters/forms.py:26 +msgid "is not" +msgstr "n'est pas" + +#: extensions/sievefilters/forms.py:30 msgid "Sender" msgstr "Expéditeur" -#: extensions/sievefilters/forms.py:28 +#: extensions/sievefilters/forms.py:31 msgid "Recipient" msgstr "Destinataire" -#: extensions/sievefilters/forms.py:29 extensions/webmail/forms.py:7 +#: extensions/sievefilters/forms.py:32 extensions/webmail/forms.py:7 msgid "Cc" msgstr "Cc" -#: extensions/sievefilters/forms.py:30 +#: extensions/sievefilters/forms.py:33 msgid "Size" msgstr "Taille" -#: extensions/sievefilters/forms.py:31 +#: extensions/sievefilters/forms.py:34 msgid "is greater than" msgstr "est supérieure à" -#: extensions/sievefilters/forms.py:32 +#: extensions/sievefilters/forms.py:35 msgid "is less than" msgstr "est inférieure à" -#: extensions/sievefilters/forms.py:36 +#: extensions/sievefilters/forms.py:39 msgid "Move message to" msgstr "Déplacer le message vers" -#: extensions/sievefilters/forms.py:38 +#: extensions/sievefilters/forms.py:41 msgid "Redirect message to" msgstr "Rediriger le message vers" @@ -884,86 +878,86 @@ msgstr "" msgid "Not enough space on server" msgstr "Pas assez d'espace sur le serveur" -#: extensions/sievefilters/main.py:14 +#: extensions/sievefilters/main.py:15 msgid "Address of your MANAGESIEVE server" msgstr "Adresse de votre serveur ManageSieve" -#: extensions/sievefilters/main.py:16 +#: extensions/sievefilters/main.py:17 msgid "Listening port of your MANAGESIEVE server" msgstr "Port d'écoute de votre serveur ManageSieve" -#: extensions/sievefilters/main.py:18 +#: extensions/sievefilters/main.py:19 msgid "Use the STARTTLS extension" msgstr "Utiliser l'extension STARTTLS" -#: extensions/sievefilters/main.py:25 +#: extensions/sievefilters/main.py:26 msgid "Prefered authentication mechanism" msgstr "Méthode d'authentification préférée" -#: extensions/sievefilters/main.py:29 +#: extensions/sievefilters/main.py:30 msgid "Editor mode" msgstr "Mode de l'editeur" -#: extensions/sievefilters/main.py:31 +#: 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:41 +#: 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:55 +#: extensions/sievefilters/main.py:56 #: extensions/sievefilters/templates/sievefilters/index.html:17 msgid "Message filters" msgstr "Filtres de messages" -#: extensions/sievefilters/views.py:68 +#: extensions/sievefilters/views.py:70 msgid "Failed to retrieve filters set" msgstr "Impossible de récuperer le jeu de filtres" -#: extensions/sievefilters/views.py:112 +#: extensions/sievefilters/views.py:114 #: extensions/sievefilters/templatetags/sfilters_tags.py:34 msgid "New filter" msgstr "Nouveau filtre" -#: extensions/sievefilters/views.py:115 +#: extensions/sievefilters/views.py:117 msgid "Filter created" msgstr "Filtre créé" -#: extensions/sievefilters/views.py:126 +#: extensions/sievefilters/views.py:128 #: extensions/sievefilters/templatetags/sfilters_tags.py:72 msgid "Edit filter" msgstr "Editer le filtre" -#: extensions/sievefilters/views.py:131 +#: extensions/sievefilters/views.py:133 msgid "Filter modified" msgstr "Filtre modifié" -#: extensions/sievefilters/views.py:151 +#: extensions/sievefilters/views.py:153 msgid "Filter removed" msgstr "Filtre supprimé" -#: extensions/sievefilters/views.py:152 +#: extensions/sievefilters/views.py:154 msgid "Failed to remove filter" msgstr "Impossible de supprimer le filtre" -#: extensions/sievefilters/views.py:166 +#: extensions/sievefilters/views.py:168 msgid "Filters set saved" msgstr "Jeu de filtres sauvegardé" -#: extensions/sievefilters/views.py:171 +#: extensions/sievefilters/views.py:173 msgid "Create a new filters set" msgstr "Créer un nouveau jeu de filtres" -#: extensions/sievefilters/views.py:191 +#: extensions/sievefilters/views.py:193 msgid "Filters set created" msgstr "Jeu de filtres créé" -#: extensions/sievefilters/views.py:208 +#: extensions/sievefilters/views.py:210 msgid "Filters set deleted" msgstr "Jeu de filtres supprimé" -#: extensions/sievefilters/views.py:219 +#: extensions/sievefilters/views.py:221 msgid "Filters set activated" msgstr "Jeu de filtres activé" @@ -1071,24 +1065,24 @@ msgstr "taille reçue" msgid "sent size" msgstr "taille envoyée" -#: extensions/stats/main.py:19 +#: extensions/stats/main.py:20 msgid "Graphical statistics about emails traffic using RRDtool" msgstr "" "Statistiques graphiques concernant le trafic des messages utilisant RRDtool" -#: extensions/stats/main.py:26 +#: extensions/stats/main.py:27 msgid "Path to log file used to collect statistics" msgstr "Emplacement du log utilisé pour collecter les statistiques" -#: extensions/stats/main.py:29 +#: extensions/stats/main.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:32 +#: extensions/stats/main.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:45 extensions/stats/templates/stats/index.html:84 +#: extensions/stats/main.py:46 extensions/stats/templates/stats/index.html:84 msgid "Statistics" msgstr "Statistiques" @@ -1161,151 +1155,209 @@ msgstr "Démarrer" msgid "End" msgstr "Fin" -#: extensions/webmail/lib.py:31 +#: extensions/webmail/forms.py:14 +msgid "Select a file" +msgstr "Sélectionner un fichier" + +#: extensions/webmail/lib.py:33 msgid "Server response" msgstr "Réponse du serveur" -#: extensions/webmail/lib.py:142 +#: 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:146 +#: extensions/webmail/lib.py:149 msgid "Authentication failed, check your configuration" msgstr "L'authentification a échoué, vérifiez votre configuration" -#: extensions/webmail/lib.py:465 +#: extensions/webmail/lib.py:468 msgid "wrote:" msgstr "a écrit :" -#: extensions/webmail/lib.py:532 extensions/webmail/lib.py:536 +#: extensions/webmail/lib.py:535 extensions/webmail/lib.py:539 msgid "Original message" msgstr "Message original" -#: extensions/webmail/main.py:13 +#: extensions/webmail/main.py:14 msgid "Address of your IMAP server" msgstr "Adresse de votre serveur IMAP" -#: extensions/webmail/main.py:16 +#: extensions/webmail/main.py:17 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:18 +#: extensions/webmail/main.py:19 msgid "Listening port of your IMAP server" msgstr "Port d'écoute de votre serveur IMAP" -#: extensions/webmail/main.py:21 +#: extensions/webmail/main.py:22 msgid "Address of your SMTP server" msgstr "Adresse de votre serveur SMTP" -#: extensions/webmail/main.py:23 +#: extensions/webmail/main.py:24 msgid "None" msgstr "Aucun" -#: extensions/webmail/main.py:27 +#: extensions/webmail/main.py:28 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:29 +#: extensions/webmail/main.py:30 msgid "Listening port of your SMTP server" msgstr "Port d'écoute de votre serveur SMTP" -#: extensions/webmail/main.py:32 +#: extensions/webmail/main.py:33 msgid "Server needs authentication" msgstr "Le serveur nécessite une authentification" +#: extensions/webmail/main.py:35 +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 +msgid "Number of displayed emails per page" +msgstr "Nombre d'emails affichés par page" + +#: extensions/webmail/main.py:42 msgid "Listing refresh rate" msgstr "Taux de rafraichissement de la liste" -#: extensions/webmail/main.py:40 +#: extensions/webmail/main.py:43 msgid "Automatic folder refresh rate (in seconds)" msgstr "Taux de rafraichissement automatique du dossier (en secondes)" -#: extensions/webmail/main.py:42 +#: extensions/webmail/main.py:45 msgid "Trash folder" msgstr "Dossier 'poubelle'" -#: extensions/webmail/main.py:43 +#: extensions/webmail/main.py:46 msgid "Folder where deleted messages go" msgstr "Dossier de destination des messages supprimés" -#: extensions/webmail/main.py:45 +#: extensions/webmail/main.py:48 msgid "Sent folder" msgstr "Dossier 'envoyé'" -#: extensions/webmail/main.py:46 +#: extensions/webmail/main.py:49 msgid "Folder where copies of sent messages go" msgstr "Dossier de destination des copies de messages envoyés" -#: extensions/webmail/main.py:48 +#: extensions/webmail/main.py:51 msgid "Drafts folder" msgstr "Dossier 'brouillons'" -#: extensions/webmail/main.py:49 +#: extensions/webmail/main.py:52 msgid "Folder where drafts go" msgstr "Dossier de destination des brouillons" -#: extensions/webmail/main.py:51 +#: extensions/webmail/main.py:54 msgid "Signature text" msgstr "Texte de signature" -#: extensions/webmail/main.py:52 +#: extensions/webmail/main.py:55 msgid "User defined email signature" msgstr "Signature personnalisée" -#: extensions/webmail/main.py:54 +#: extensions/webmail/main.py:57 msgid "Default editor" msgstr "Editeur par défaut" -#: extensions/webmail/main.py:56 +#: extensions/webmail/main.py:59 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:58 +#: extensions/webmail/main.py:61 msgid "Default message display mode" msgstr "Mode d'affichage par défaut d'un message" -#: extensions/webmail/main.py:60 +#: extensions/webmail/main.py:63 msgid "The default mode used when displaying a message" msgstr "Le mode utilisé par défaut pour afficher un message" -#: extensions/webmail/main.py:62 +#: extensions/webmail/main.py:65 msgid "Enable HTML links display" msgstr "Activer l'affichage des liens HTML" -#: extensions/webmail/main.py:63 +#: extensions/webmail/main.py:66 msgid "Enable/Disable HTML links display" msgstr "Activer/Désactiver l'affichage des liens HTML" -#: extensions/webmail/main.py:73 +#: extensions/webmail/main.py:76 msgid "Simple IMAP webmail" msgstr "Webmail IMAP simple" -#: extensions/webmail/main.py:87 +#: extensions/webmail/main.py:90 #: extensions/webmail/templates/webmail/index.html:212 msgid "Webmail" msgstr "Webmail" -#: extensions/webmail/views.py:67 lib/email_listing.py:131 +#: 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/views.py:453 +#: extensions/webmail/views.py:369 msgid "Create a new folder" msgstr "Créer un nouveau dossier" -#: extensions/webmail/views.py:465 +#: extensions/webmail/views.py:381 msgid "Folder created" msgstr "Dossier créé" -#: extensions/webmail/views.py:480 +#: extensions/webmail/views.py:396 msgid "Edit folder" msgstr "Editer le dossier" -#: extensions/webmail/views.py:501 +#: extensions/webmail/views.py:417 msgid "Folder modified" msgstr "Dossier modifié" +#: extensions/webmail/views.py:465 +msgid "Failed to save attachment: " +msgstr "Impossible de supprimer la pièce jointe : " + +#: extensions/webmail/views.py:468 +#, 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 +msgid "Attachments" +msgstr "Pièces jointes" + +#: extensions/webmail/templates/webmail/attachments.html:93 +msgid "Attach" +msgstr "Joindre" + +#: extensions/webmail/templates/webmail/attachments.html:97 +msgid "Uploading.." +msgstr "Envoi..." + +#: extensions/webmail/templates/webmail/attachments.html:113 +msgid "Done" +msgstr "Fait" + +#: extensions/webmail/templates/webmail/compose.html:12 +#, 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" @@ -1318,73 +1370,64 @@ msgstr "Ajouter un nouveau dossier" msgid "Folders" msgstr "Dossiers" -#: extensions/webmail/templates/webmail/headers.html:7 -msgid "Attachments" -msgstr "Pièces jointes" - #: extensions/webmail/templates/webmail/index.html:218 msgid "Mailbox quota" msgstr "Quota de la boite aux lettres" -#: extensions/webmail/templatetags/webextras.py:18 -#: extensions/webmail/templatetags/webextras.py:60 +#: extensions/webmail/templatetags/webextras.py:19 +#: extensions/webmail/templatetags/webextras.py:61 msgid "Back" msgstr "Retour" -#: extensions/webmail/templatetags/webextras.py:22 +#: extensions/webmail/templatetags/webextras.py:23 msgid "Reply" msgstr "Répondre" -#: extensions/webmail/templatetags/webextras.py:26 +#: extensions/webmail/templatetags/webextras.py:27 msgid "Reply all" msgstr "Répondre à tous" -#: extensions/webmail/templatetags/webextras.py:30 -#: userprefs/templatetags/uprefs_extras.py:38 +#: extensions/webmail/templatetags/webextras.py:31 +#: userprefs/templatetags/uprefs_extras.py:39 msgid "Forward" msgstr "Transférer" -#: extensions/webmail/templatetags/webextras.py:36 +#: extensions/webmail/templatetags/webextras.py:37 msgid "Display options" msgstr "Afficher les options" -#: extensions/webmail/templatetags/webextras.py:44 +#: extensions/webmail/templatetags/webextras.py:45 msgid "Disable links" msgstr "Désactiver les liens" -#: extensions/webmail/templatetags/webextras.py:64 +#: extensions/webmail/templatetags/webextras.py:65 msgid "Send" msgstr "Envoyer" -#: extensions/webmail/templatetags/webextras.py:76 +#: extensions/webmail/templatetags/webextras.py:77 msgid "New message" msgstr "Nouveau message" -#: extensions/webmail/templatetags/webextras.py:79 +#: extensions/webmail/templatetags/webextras.py:80 msgid "Mark messages" msgstr "Marquer les messages" -#: extensions/webmail/templatetags/webextras.py:83 +#: extensions/webmail/templatetags/webextras.py:84 msgid "As read" msgstr "Comme lus" -#: extensions/webmail/templatetags/webextras.py:86 +#: extensions/webmail/templatetags/webextras.py:87 msgid "As unread" msgstr "Comme non lus" -#: extensions/webmail/templatetags/webextras.py:97 +#: extensions/webmail/templatetags/webextras.py:98 msgid "Compress folder" msgstr "Compresser ce dossier" -#: extensions/webmail/templatetags/webextras.py:106 +#: extensions/webmail/templatetags/webextras.py:107 msgid "Empty folder" msgstr "Vider ce dossier" -#: lib/__init__.py:152 -#, python-format -msgid "Invalid action, %(user)s is a local user" -msgstr "Action invalide, %(user)s est un utilisateur local" - #: lib/tables.py:201 msgid "No entries to display" msgstr "Aucune entrée à afficher" @@ -1397,6 +1440,10 @@ msgstr "Déconnexion" msgid "Add" msgstr "Ajouter" +#: templates/admin/domains_header.html:44 +msgid "Remove this selection?" +msgstr "Supprimer cette sélection ?" + #: templates/admin/domains_header.html:52 msgid "for" msgstr "pour" @@ -1466,12 +1513,12 @@ msgid "Welcome" msgstr "Bienvenue" #: templates/userprefs/chpassword.html:7 -#: userprefs/templatetags/uprefs_extras.py:22 +#: userprefs/templatetags/uprefs_extras.py:23 msgid "Change password" msgstr "Changer de mot de passe" #: templates/userprefs/preferences.html:6 -#: userprefs/templatetags/uprefs_extras.py:27 +#: userprefs/templatetags/uprefs_extras.py:28 msgid "Preferences" msgstr "Préférences" @@ -1479,6 +1526,14 @@ msgstr "Préférences" msgid "Define your forward" msgstr "Définir votre transfert" +#: userprefs/__init__.py:7 +msgid "Prefered language" +msgstr "Langage préféré" + +#: userprefs/__init__.py:10 +msgid "Prefered language to display pages" +msgstr "Langage préféré pour afficher les pages" + #: userprefs/forms.py:12 msgid "Old password" msgstr "Ancien mot de passe" diff --git a/locale/fr/LC_MESSAGES/djangojs.po b/locale/fr/LC_MESSAGES/djangojs.po index e6a6c6913..1244a3c16 100644 --- a/locale/fr/LC_MESSAGES/djangojs.po +++ b/locale/fr/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: modoboa-0.8.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-08-25 09:58+0200\n" +"POT-Creation-Date: 2011-09-14 14:06+0200\n" "PO-Revision-Date: 2011-01-07 10:00+0100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: FR \n" @@ -16,40 +16,56 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: extensions/amavis_quarantine/static/js/quarantine.js:92 +#: 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 msgid "Release this selection?" msgstr "Relâcher cette sélection?" -#: extensions/amavis_quarantine/static/js/quarantine.js:99 +#: extensions/amavis_quarantine/static/js/quarantine.js:114 msgid "Delete this selection?" msgstr "Supprimer cette sélection?" #: extensions/sievefilters/static/js/lib.js:14 msgid "Remove this filter?" -msgstr "Supprimer ce filtre" +msgstr "Supprimer ce filtre?" #: extensions/sievefilters/static/js/lib.js:116 msgid "Save changes?" msgstr "Sauvegarder les changements?" +#: extensions/sievefilters/static/js/lib.js:143 +msgid "Remove filters set?" +msgstr "Supprimer ce jeu de filtres?" + +#: extensions/sievefilters/static/js/lib.js:161 +msgid "Activate this filters set?" +msgstr "Activer ce jeu de filtres?" + +#: extensions/sievefilters/static/js/lib.js:169 +msgid "active" +msgstr "actif" + #: extensions/webmail/static/js/fdmenu.js:31 msgid "Edit folder" msgstr "Editer le dossier" -#: extensions/webmail/static/js/fdmenu.js:62 +#: extensions/webmail/static/js/fdmenu.js:63 msgid "Folder deleted" msgstr "Dossier supprimé" -#: extensions/webmail/static/js/webmail.js:195 -msgid "Reloading..." -msgstr "Rechargement..." - -#: extensions/webmail/static/js/webmail.js:203 -#: extensions/webmail/static/js/webmail.js:227 static/js/anchor_nav.js:199 +#: extensions/webmail/static/js/webmail.js:226 +#: extensions/webmail/static/js/webmail.js:250 static/js/anchor_nav.js:212 msgid "Done" msgstr "Effectué" -#: extensions/webmail/static/js/webmail.js:216 +#: extensions/webmail/static/js/webmail.js:239 msgid "Waiting..." msgstr "En attente..." @@ -57,7 +73,7 @@ msgstr "En attente..." msgid "Loading..." msgstr "Chargement..." -#: static/js/common.js:150 +#: static/js/common.js:172 msgid "Search..." msgstr "Chercher..." diff --git a/static/css/default.css b/static/css/default.css index bbb634177..b3c827783 100644 --- a/static/css/default.css +++ b/static/css/default.css @@ -60,7 +60,7 @@ div#footer { #menubar { margin: 5px; display: table; - width: 730px; + width: 735px; margin-top: 35px; } @@ -177,7 +177,7 @@ div#footer { .menubar li { float: left; display: inline; - margin: 5px 5px; + margin: 4px 4px; } .menubar li.selected { diff --git a/templates/admin/domains_header.html b/templates/admin/domains_header.html index 35fa38f27..dadee263c 100644 --- a/templates/admin/domains_header.html +++ b/templates/admin/domains_header.html @@ -41,7 +41,7 @@ window.addEvent("domready", function() { return; } new Confirmation(rooturl + type + "/delete/", "selection=" + selection, - gettext("Remove this selection?"), { + "{% trans 'Remove this selection?' %}", { {% if deloptions %}checkboxes: { {% join deloptions %} }{% endif %} }); }); diff --git a/templates/common/genericform.html b/templates/common/genericform.html index 3ebfbb087..76adb06ff 100644 --- a/templates/common/genericform.html +++ b/templates/common/genericform.html @@ -4,9 +4,9 @@ {% if field.help_text %}
{% trans "Help" %}
-
{{ field.help_text}}
+
{% trans field.help_text %}
{% endif %} - {{ field.label_tag }}
{{ field }}
{% ifequal noerrors False %}{{ field.errors }}{% endifequal %} +
{{ field }}
{% ifequal noerrors False %}{{ field.errors }}{% endifequal %} {% endfor %} diff --git a/userprefs/__init__.py b/userprefs/__init__.py index e69de29bb..cd6d003fc 100644 --- a/userprefs/__init__.py +++ b/userprefs/__init__.py @@ -0,0 +1,11 @@ +# coding: utf-8 + +from modoboa.lib import parameters +from django.utils.translation import ugettext as _ + +parameters.register_user("LANG", type="list", deflt="en", + label=_("Prefered language"), + values=[("de", "deutsch"), ("en", "english"), + ("es", "español"), ("fr", "français")], + help=_("Prefered language to display pages"), + app="general") diff --git a/userprefs/forms.py b/userprefs/forms.py index ec6196d15..cca0128a3 100644 --- a/userprefs/forms.py +++ b/userprefs/forms.py @@ -2,18 +2,18 @@ from django import forms from modoboa.admin.models import Domain, Mailbox from modoboa.auth.lib import _check_password from django.contrib.auth.models import check_password -from django.utils.translation import ugettext as _ +from django.utils.translation import ugettext as _, ugettext_noop from modoboa.lib.emailutils import split_mailbox class BadDestination(Exception): pass class ChangePasswordForm(forms.Form): - oldpassword = forms.CharField(label=_("Old password"), + oldpassword = forms.CharField(label=ugettext_noop("Old password"), widget=forms.PasswordInput) - newpassword = forms.CharField(label=_("New password"), + newpassword = forms.CharField(label=ugettext_noop("New password"), widget=forms.PasswordInput) - confirmation = forms.CharField(label=_("Confirmation"), + confirmation = forms.CharField(label=ugettext_noop("Confirmation"), widget=forms.PasswordInput) def __init__(self, target, *args, **kwargs): diff --git a/userprefs/views.py b/userprefs/views.py index cab96d0c5..7fd8e2546 100644 --- a/userprefs/views.py +++ b/userprefs/views.py @@ -74,6 +74,7 @@ def setforward(request, tplname="userprefs/setforward.html"): @login_required def preferences(request): apps = sorted(parameters._params.keys()) + print request.LANGUAGE_CODE gparams = [] for app in apps: if not len(parameters._params[app]['U']):