diff --git a/INSTALL b/INSTALL index 8c756eadb..7093f3e46 100644 --- a/INSTALL +++ b/INSTALL @@ -8,6 +8,7 @@ Requirements - `Python version 2.6+ `_ - `Django version 1.2+ `_ - `south version 0.7+ `_ +- `ldap python module `_ For extensions (mandatories since 0.8.2): @@ -42,15 +43,12 @@ need to install a python database backend (like *MySQLdb*). Initialize the database by running the following command:: - $ python manage.py syncdb + $ python manage.py syncdb --migrate It will let you create the default super administrator. -Since version 0.8, Modoboa is using *south* to handle schema -migrations. To finish the database initialization, you must apply -existing migrations like this:: - - $ python manage.py migrate +Since version 0.8, Modoboa uses *south* to handle schema migrations, +this is the reason why you must add the ``--migrate`` option. Finally, create the ``scripts`` directory:: diff --git a/extensions/stats/grapher.py b/extensions/stats/grapher.py index 2dfd5d3e7..ad52da760 100644 --- a/extensions/stats/grapher.py +++ b/extensions/stats/grapher.py @@ -3,7 +3,7 @@ import os import time import datetime -#import rrdtool +import rrdtool from django.utils.translation import ugettext as _ from modoboa.lib import parameters diff --git a/extensions/webmail/lib.py b/extensions/webmail/lib.py index 8d9281820..658d71aa6 100644 --- a/extensions/webmail/lib.py +++ b/extensions/webmail/lib.py @@ -238,7 +238,7 @@ class IMAPconnector(object): if pos == -1: folders += [descr] else: - folders[idx] = descr + folders[idx].update(**descr) from operator import itemgetter return sorted(folders, key=itemgetter("name")) @@ -327,7 +327,7 @@ class IMAPconnector(object): return status, data = self.m.getquotaroot(self._encodefolder(folder)) - if status == "OK": + if status == "OK" and data[1][0] is not None: quotadef = data[1][0] m = re.match("[^\s]+ \(STORAGE (\d+) (\d+)\)", quotadef) if not m: diff --git a/lib/fixtures/demo.json b/lib/fixtures/demo.json index 2917be2f4..6138700ee 100644 --- a/lib/fixtures/demo.json +++ b/lib/fixtures/demo.json @@ -1 +1 @@ -[{"pk": 1, "model": "lib.parameter", "fields": {"name": "stats.IMG_ROOTDIR", "value": "/srv/www/modoboa/static/stats"}}, {"pk": 2, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_SECURED", "value": "no"}}, {"pk": 3, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_PORT", "value": "9998"}}, {"pk": 4, "model": "lib.parameter", "fields": {"name": "postfix_autoreply.AUTOREPLIES_TIMEOUT", "value": "86400"}}, {"pk": 5, "model": "lib.parameter", "fields": {"name": "sievefilters.AUTHENTICATION_MECH", "value": "AUTO"}}, {"pk": 6, "model": "lib.parameter", "fields": {"name": "general.DEFAULT_TOP_REDIRECTION", "value": "userprefs"}}, {"pk": 7, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_SOCKET", "value": "/var/amavis/amavisd.sock"}}, {"pk": 8, "model": "lib.parameter", "fields": {"name": "auth.SECRET_KEY", "value": "abcdefghijklmnop"}}, {"pk": 9, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_MODE", "value": "inet"}}, {"pk": 10, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_PORT", "value": "143"}}, {"pk": 11, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_SECURED_MODE", "value": "none"}}, {"pk": 12, "model": "lib.parameter", "fields": {"name": "admin.STORAGE_PATH", "value": "/srv/vmail"}}, {"pk": 13, "model": "lib.parameter", "fields": {"name": "admin.ITEMS_PER_PAGE", "value": "30"}}, {"pk": 14, "model": "lib.parameter", "fields": {"name": "sievefilters.SERVER", "value": "127.0.0.1"}}, {"pk": 15, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_SERVER", "value": "127.0.0.1"}}, {"pk": 16, "model": "lib.parameter", "fields": {"name": "webmail.MAX_ATTACHMENT_SIZE", "value": "2048"}}, {"pk": 17, "model": "lib.parameter", "fields": {"name": "stats.RRD_ROOTDIR", "value": "/srv/www/modoboa/tmp"}}, {"pk": 18, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.RELEASED_MSGS_CLEANUP", "value": "no"}}, {"pk": 19, "model": "lib.parameter", "fields": {"name": "admin.VIRTUAL_UID", "value": "vmail"}}, {"pk": 20, "model": "lib.parameter", "fields": {"name": "admin.MAILDIR_ROOT", "value": ".maildir"}}, {"pk": 21, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.MAX_MESSAGES_AGE", "value": "14"}}, {"pk": 22, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_PORT", "value": "25"}}, {"pk": 23, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_AUTHENTICATION", "value": "no"}}, {"pk": 24, "model": "lib.parameter", "fields": {"name": "admin.PASSWORD_SCHEME", "value": "crypt"}}, {"pk": 25, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_SERVER", "value": "127.0.0.1"}}, {"pk": 26, "model": "lib.parameter", "fields": {"name": "admin.CREATE_DIRECTORIES", "value": "yes"}}, {"pk": 27, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_HOST", "value": "localhost"}}, {"pk": 28, "model": "lib.parameter", "fields": {"name": "admin.MAILBOX_TYPE", "value": "maildir"}}, {"pk": 29, "model": "lib.parameter", "fields": {"name": "sievefilters.PORT", "value": "2000"}}, {"pk": 30, "model": "lib.parameter", "fields": {"name": "admin.VIRTUAL_GID", "value": "vmail"}}, {"pk": 31, "model": "lib.parameter", "fields": {"name": "sievefilters.STARTTLS", "value": "no"}}, {"pk": 32, "model": "lib.parameter", "fields": {"name": "stats.LOGFILE", "value": "/var/log/mail.log"}}] \ No newline at end of file +[{"pk": 1, "model": "lib.parameter", "fields": {"name": "stats.IMG_ROOTDIR", "value": "/srv/www/modoboa/static/stats"}}, {"pk": 2, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_SECURED", "value": "no"}}, {"pk": 3, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_PORT", "value": "9998"}}, {"pk": 4, "model": "lib.parameter", "fields": {"name": "postfix_autoreply.AUTOREPLIES_TIMEOUT", "value": "86400"}}, {"pk": 5, "model": "lib.parameter", "fields": {"name": "sievefilters.AUTHENTICATION_MECH", "value": "PLAIN"}}, {"pk": 6, "model": "lib.parameter", "fields": {"name": "general.DEFAULT_TOP_REDIRECTION", "value": "userprefs"}}, {"pk": 7, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_SOCKET", "value": "/var/amavis/amavisd.sock"}}, {"pk": 8, "model": "lib.parameter", "fields": {"name": "auth.SECRET_KEY", "value": "abcdefghijklmnop"}}, {"pk": 9, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_MODE", "value": "inet"}}, {"pk": 10, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_PORT", "value": "143"}}, {"pk": 11, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_SECURED_MODE", "value": "none"}}, {"pk": 12, "model": "lib.parameter", "fields": {"name": "admin.STORAGE_PATH", "value": "/srv/vmail"}}, {"pk": 13, "model": "lib.parameter", "fields": {"name": "admin.ITEMS_PER_PAGE", "value": "30"}}, {"pk": 14, "model": "lib.parameter", "fields": {"name": "sievefilters.SERVER", "value": "127.0.0.1"}}, {"pk": 15, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_SERVER", "value": "127.0.0.1"}}, {"pk": 16, "model": "lib.parameter", "fields": {"name": "webmail.MAX_ATTACHMENT_SIZE", "value": "2048"}}, {"pk": 17, "model": "lib.parameter", "fields": {"name": "stats.RRD_ROOTDIR", "value": "/srv/www/modoboa/tmp"}}, {"pk": 18, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.RELEASED_MSGS_CLEANUP", "value": "no"}}, {"pk": 19, "model": "lib.parameter", "fields": {"name": "admin.VIRTUAL_UID", "value": "vmail"}}, {"pk": 20, "model": "lib.parameter", "fields": {"name": "admin.MAILDIR_ROOT", "value": ".maildir"}}, {"pk": 21, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.MAX_MESSAGES_AGE", "value": "14"}}, {"pk": 22, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_PORT", "value": "25"}}, {"pk": 23, "model": "lib.parameter", "fields": {"name": "webmail.SMTP_AUTHENTICATION", "value": "no"}}, {"pk": 24, "model": "lib.parameter", "fields": {"name": "admin.PASSWORD_SCHEME", "value": "crypt"}}, {"pk": 25, "model": "lib.parameter", "fields": {"name": "webmail.IMAP_SERVER", "value": "127.0.0.1"}}, {"pk": 26, "model": "lib.parameter", "fields": {"name": "admin.CREATE_DIRECTORIES", "value": "yes"}}, {"pk": 27, "model": "lib.parameter", "fields": {"name": "amavis_quarantine.AM_PDP_HOST", "value": "localhost"}}, {"pk": 28, "model": "lib.parameter", "fields": {"name": "admin.MAILBOX_TYPE", "value": "maildir"}}, {"pk": 29, "model": "lib.parameter", "fields": {"name": "sievefilters.PORT", "value": "2000"}}, {"pk": 30, "model": "lib.parameter", "fields": {"name": "admin.VIRTUAL_GID", "value": "vmail"}}, {"pk": 31, "model": "lib.parameter", "fields": {"name": "sievefilters.STARTTLS", "value": "no"}}, {"pk": 32, "model": "lib.parameter", "fields": {"name": "stats.LOGFILE", "value": "/var/log/mail.log"}}] \ No newline at end of file diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 8cfedbc71..f489b9d7e 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa-0.8.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-10 11:09+0100\n" -"PO-Revision-Date: 2012-01-10 22:49+0100\n" +"POT-Creation-Date: 2012-01-17 13:45+0100\n" +"PO-Revision-Date: 2012-01-17 14:28+0100\n" "Last-Translator: Patrick Ben Koetter \n" "Language-Team: DE \n" "Language: de\n" @@ -168,105 +168,109 @@ msgstr "Separator" msgid "Invalid action, %(user)s is a local user" msgstr "Unzulässige Aktion, %(user)s ist ein lokaler Benutzer" -#: admin/models.py:78 -#: admin/models.py:142 -#: admin/models.py:155 +#: admin/models.py:83 +#: admin/models.py:147 +#: admin/models.py:160 msgid "name" msgstr "Name" -#: admin/models.py:79 +#: admin/models.py:84 msgid "The domain name" msgstr "Name der Domäne" -#: admin/models.py:80 +#: admin/models.py:85 msgid "Default quota in MB applied to mailboxes" msgstr "Standard-Quota für Mailboxen (in MB)" -#: admin/models.py:81 -#: admin/models.py:146 -#: admin/models.py:393 -#: admin/models.py:469 +#: admin/models.py:86 +#: admin/models.py:151 +#: admin/models.py:400 +#: admin/models.py:476 #: extensions/postfix_autoreply/models.py:19 msgid "enabled" msgstr "aktiviert" -#: admin/models.py:82 +#: admin/models.py:87 msgid "Check to activate this domain" msgstr "Auswählen, um diese Domäne zu aktivieren" -#: admin/models.py:135 +#: admin/models.py:140 msgid "Failed to initialise domain, check permissions" msgstr "Domäne konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." -#: admin/models.py:143 +#: admin/models.py:148 msgid "The alias name" msgstr "Der Alias-Name" -#: admin/models.py:144 +#: admin/models.py:149 msgid "target" msgstr "Ziel" -#: admin/models.py:145 +#: admin/models.py:150 msgid "The domain this alias points to" msgstr "Domäne auf die dieser Alias verweist" -#: admin/models.py:147 -#: admin/models.py:394 +#: admin/models.py:152 +#: admin/models.py:401 msgid "Check to activate this alias" msgstr "Auswählen um den Alias zu aktivieren" -#: admin/models.py:156 +#: admin/models.py:161 msgid "First name and last name of mailbox owner" msgstr "Vor- und Nachname des Mailbox-Besitzers" -#: admin/models.py:157 -#: admin/models.py:387 +#: admin/models.py:162 +#: admin/models.py:394 msgid "address" msgstr "Adresse" -#: admin/models.py:158 +#: admin/models.py:163 msgid "Mailbox address (without the @domain.tld part)" msgstr "Mailbox-Adresse (ohne den @domain.tld-Anteil)" -#: admin/models.py:159 +#: admin/models.py:164 msgid "password" msgstr "Passwort" -#: admin/models.py:246 -#: admin/models.py:327 +#: admin/models.py:251 +#: admin/models.py:334 msgid "Failed to initialise mailbox, check permissions" msgstr "Mailbox konnte nicht initialisiert werden. Prüfen Sie die Berechtigungen." -#: admin/models.py:265 +#: admin/models.py:270 msgid "Mailbox with this address already exists" msgstr "Eine Mailbox mit dieser Adresse existiert bereits." -#: admin/models.py:313 +#: admin/models.py:314 +msgid "Failed to update password: LDAP module not installed" +msgstr "Konnte Kennwort nicht aktualisieren: LDAP-Modul nicht installiert" + +#: admin/models.py:320 #, python-format msgid "Failed to update password: %s" msgstr "Konnte Kennwort nicht aktualisieren: %s" -#: admin/models.py:353 +#: admin/models.py:360 msgid "Invalid line" msgstr "Ungültige Zeile" -#: admin/models.py:359 +#: admin/models.py:366 msgid "Cannot import this mailbox because the associated domain does not exist" msgstr "Kann Mailbox nicht importieren, weil die dazugehörende Domain nicht existiert" -#: admin/models.py:388 +#: admin/models.py:395 msgid "The alias address (without the domain part). For a 'catch-all' address, just enter an * character." msgstr "Die Alias-Adresse (ohne den Domain-Anteil). Geben sie für eine Adresse an, die alles annimmt, * an." -#: admin/models.py:390 +#: admin/models.py:397 msgid "mailboxes" msgstr "Mailboxen" -#: admin/models.py:391 +#: admin/models.py:398 msgid "The mailboxes this alias points to" msgstr "Mailbox auf den dieser Alias verweist" -#: admin/models.py:470 +#: admin/models.py:477 msgid "Check to enable this extension" msgstr "Auswählen, um diese Erweiterung zu aktivieren" diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index 3b72b736e..c55ec5fea 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-10 11:09+0100\n" +"POT-Creation-Date: 2012-01-17 13:45+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -164,99 +164,103 @@ msgstr "" msgid "Invalid action, %(user)s is a local user" msgstr "" -#: admin/models.py:78 admin/models.py:142 admin/models.py:155 +#: admin/models.py:83 admin/models.py:147 admin/models.py:160 msgid "name" msgstr "" -#: admin/models.py:79 +#: admin/models.py:84 msgid "The domain name" msgstr "" -#: admin/models.py:80 +#: admin/models.py:85 msgid "Default quota in MB applied to mailboxes" msgstr "" -#: admin/models.py:81 admin/models.py:146 admin/models.py:393 -#: admin/models.py:469 extensions/postfix_autoreply/models.py:19 +#: admin/models.py:86 admin/models.py:151 admin/models.py:400 +#: admin/models.py:476 extensions/postfix_autoreply/models.py:19 msgid "enabled" msgstr "" -#: admin/models.py:82 +#: admin/models.py:87 msgid "Check to activate this domain" msgstr "" -#: admin/models.py:135 +#: admin/models.py:140 msgid "Failed to initialise domain, check permissions" msgstr "" -#: admin/models.py:143 +#: admin/models.py:148 msgid "The alias name" msgstr "" -#: admin/models.py:144 +#: admin/models.py:149 msgid "target" msgstr "" -#: admin/models.py:145 +#: admin/models.py:150 msgid "The domain this alias points to" msgstr "" -#: admin/models.py:147 admin/models.py:394 +#: admin/models.py:152 admin/models.py:401 msgid "Check to activate this alias" msgstr "" -#: admin/models.py:156 +#: admin/models.py:161 msgid "First name and last name of mailbox owner" msgstr "" -#: admin/models.py:157 admin/models.py:387 +#: admin/models.py:162 admin/models.py:394 msgid "address" msgstr "" -#: admin/models.py:158 +#: admin/models.py:163 msgid "Mailbox address (without the @domain.tld part)" msgstr "" -#: admin/models.py:159 +#: admin/models.py:164 msgid "password" msgstr "" -#: admin/models.py:246 admin/models.py:327 +#: admin/models.py:251 admin/models.py:334 msgid "Failed to initialise mailbox, check permissions" msgstr "" -#: admin/models.py:265 +#: admin/models.py:270 msgid "Mailbox with this address already exists" msgstr "" -#: admin/models.py:313 +#: admin/models.py:314 +msgid "Failed to update password: LDAP module not installed" +msgstr "" + +#: admin/models.py:320 #, python-format msgid "Failed to update password: %s" msgstr "" -#: admin/models.py:353 +#: admin/models.py:360 msgid "Invalid line" msgstr "" -#: admin/models.py:359 +#: admin/models.py:366 msgid "Cannot import this mailbox because the associated domain does not exist" msgstr "" -#: admin/models.py:388 +#: admin/models.py:395 msgid "" "The alias address (without the domain part). For a 'catch-all' address, just " "enter an * character." msgstr "" -#: admin/models.py:390 +#: admin/models.py:397 msgid "mailboxes" msgstr "" -#: admin/models.py:391 +#: admin/models.py:398 msgid "The mailboxes this alias points to" msgstr "" -#: admin/models.py:470 +#: admin/models.py:477 msgid "Check to enable this extension" msgstr "" diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index 9cc26e720..808e962e8 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -1,32 +1,31 @@ # Modoboa spanish translation. -# Copyright (C) 2011 +# Copyright (C) 2012 # This file is distributed under the same license as the Modoboa package. -# +# # Translators: -# Pedro Gracia , 2011. +# Pedro Gracia , 2011, 2012. # Pedro Gracia , 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Modoboa-0.8.7\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Modoboa-0.8.8\n" +"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n" "POT-Creation-Date: 2012-01-10 11:09+0100\n" -"PO-Revision-Date: 2011-10-12 08:40+0000\n" -"Last-Translator: lasarux \n" +"PO-Revision-Date: 2012-01-23 08:44+0000\n" +"Last-Translator: Pedro Gracia \n" "Language-Team: ES \n" -"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: admin/__init__.py:9 msgid "Local" -msgstr "" +msgstr "Local" #: admin/__init__.py:11 -#, fuzzy msgid "The backend used for authentication" -msgstr "Contraseña usada para autenticar" +msgstr "El 'backend' usados para autenticación" #: admin/__init__.py:13 msgid "Modoboa will handle mailbox creation on filesystem" @@ -42,16 +41,16 @@ msgid "" "UID of the virtual user which owns domains/mailboxes/messages on the " "filesystem" msgstr "" -"UID del usuario virtual que es el propietario de los dominios/mailboxes/" -"mensajes en el sistema" +"UID del usuario virtual que es el propietario de los " +"dominios/mailboxes/mensajes en el sistema" #: admin/__init__.py:19 msgid "" "GID of the virtual user which owns domains/mailboxes/messages on the " "filesystem" msgstr "" -"GID del usuario virtual que es el propietario de los dominios/mailboxes/" -"mensajes en el sistema" +"GID del usuario virtual que es el propietario de los " +"dominios/mailboxes/mensajes en el sistema" #: admin/__init__.py:22 msgid "Mailboxes storage format" @@ -89,7 +88,8 @@ 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" @@ -169,7 +169,7 @@ msgstr "Seleccione un fichero" #: admin/forms.py:205 msgid "Separator" -msgstr "" +msgstr "Separador" #: admin/lib.py:13 #, python-format @@ -244,24 +244,26 @@ msgstr "Ya existe un \"Mailbox\" con esta dirección" #: admin/models.py:313 #, python-format msgid "Failed to update password: %s" -msgstr "" +msgstr "Falló en la actualización del password: %s" #: admin/models.py:353 -#, fuzzy msgid "Invalid line" -msgstr "'mailbox' inválido" +msgstr "Línea inválida" #: admin/models.py:359 -msgid "Cannot import this mailbox because the associated domain does not exist" +msgid "" +"Cannot import this mailbox because the associated domain does not exist" msgstr "" +"No ha sido posible importar este 'mailbox' ya que el dominio asociado no " +"existe" #: admin/models.py:388 msgid "" -"The alias address (without the domain part). For a 'catch-all' address, just " -"enter an * character." +"The alias address (without the domain part). For a 'catch-all' address, just" +" enter an * character." msgstr "" -"La dirección del alias (sin la parte del dominio). Para una dirección que lo " -"recoja todo, ponga un asterisco (*)." +"La dirección del alias (sin la parte del dominio). Para una dirección que lo" +" recoja todo, ponga un asterisco (*)." #: admin/models.py:390 msgid "mailboxes" @@ -544,18 +546,18 @@ msgid "Modifications applied." msgstr "Modificaciones aplicadas." #: admin/views.py:631 -#, fuzzy, python-format +#, python-format msgid "%d mailboxes imported successfully" -msgstr "%(count)d mensaje eliminado correctamente" +msgstr "%d 'mailboxes' importadas con éxito" #: admin/views.py:641 admin/templatetags/admin_extras.py:112 #: templates/admin/import.html:48 msgid "Import data" -msgstr "" +msgstr "Importar datos" #: admin/views.py:642 templates/admin/import.html:56 msgid "Import" -msgstr "" +msgstr "Importar" #: admin/templatetags/admin_extras.py:12 msgid "enabled_m" @@ -666,17 +668,14 @@ msgstr "" "nuevo." #: demo/__init__.py:16 -#, fuzzy msgid "Test messages" -msgstr "mensajes enviados" +msgstr "Mensajes de test" #: demo/__init__.py:21 -#, fuzzy msgid "Send virus" -msgstr "Remitente" +msgstr "Enviar virus" #: demo/__init__.py:25 -#, fuzzy msgid "Send spam" msgstr "Enviar" @@ -685,17 +684,25 @@ msgid "" "\n" "

Welcome to the online demo!

\n" "

Warning: the demo's concent is resetted every two hours.

\n" -"

To try the demo, the following users are available (username/password):

\n" +"

To try the demo, the following users are available (username/password):

\n" "
    \n" "
  • A super administrator : admin/password
  • \n" "
  • A domain administrator : admin@demo.local/admin
  • \n" "
  • A simple user : user@demo.local/user
  • \n" "
\n" "

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

\n" +" the mailing list.

\n" msgstr "" +"\n" +"

¡Bienvenido a la demo online!

\n" +"

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

\n" +"

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

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

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

\n" #: extensions/amavis_quarantine/main.py:15 msgid "Simple amavis quarantine management tool" @@ -710,8 +717,8 @@ msgstr "" #: extensions/amavis_quarantine/main.py:25 msgid "Remove messages marked as released while cleaning up the database" msgstr "" -"Eliminar los mensajes marcados como publicados cuando se haga limpieza de la " -"base de datos" +"Eliminar los mensajes marcados como publicados cuando se haga limpieza de la" +" base de datos" #: extensions/amavis_quarantine/main.py:29 msgid "Mode used to access the PDP server" @@ -958,7 +965,8 @@ 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" @@ -1530,9 +1538,8 @@ msgid "Apply" msgstr "Aplicar" #: templates/admin/import.html:62 -#, fuzzy msgid "Importing..." -msgstr "Subiendo..." +msgstr "Importando..." #: templates/admin/listing.html:12 msgid "Items" @@ -1634,7 +1641,7 @@ msgstr "Destino(s)" #: userprefs/forms.py:44 msgid "Keep local copies" -msgstr "" +msgstr "Mantener copias locales" #: userprefs/forms.py:57 msgid "" @@ -1646,7 +1653,7 @@ msgstr "" #: userprefs/views.py:27 msgid "Password change is disabled for this user" -msgstr "" +msgstr "El cambio de contraseña está deshabilitado para este usuario" #: userprefs/views.py:46 msgid "Password changed" @@ -1655,3 +1662,5 @@ msgstr "Contraseña cambiada" #: userprefs/views.py:79 msgid "Forward updated" msgstr "Reenvío actualizado" + + diff --git a/locale/es/LC_MESSAGES/djangojs.po b/locale/es/LC_MESSAGES/djangojs.po index cdbfd786f..3c6013667 100644 --- a/locale/es/LC_MESSAGES/djangojs.po +++ b/locale/es/LC_MESSAGES/djangojs.po @@ -1,22 +1,22 @@ # Modoboa spanish translation. -# Copyright (C) 2011 +# Copyright (C) 2012 # This file is distributed under the same license as the Modoboa package. -# +# # Translators: # Pedro Gracia , 2011. # Pedro Gracia , 2010, 2011. msgid "" msgstr "" -"Project-Id-Version: Modoboa-0.8.7\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Modoboa-0.8.8\n" +"Report-Msgid-Bugs-To: http://dev.modoboa.org/\n" "POT-Creation-Date: 2012-01-10 11:09+0100\n" -"PO-Revision-Date: 2011-10-12 08:42+0000\n" -"Last-Translator: lasarux \n" -"Language-Team: LANGUAGE \n" -"Language: es\n" +"PO-Revision-Date: 2012-01-10 10:34+0000\n" +"Last-Translator: Antoine Nguyen \n" +"Language-Team: ES \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" #: extensions/amavis_quarantine/static/js/quarantine.js:41 @@ -90,7 +90,7 @@ msgstr "Buscar..." #: static/js/domains.js:61 msgid "Remove this selection?" -msgstr "¿Eliminar esta selección?" +msgstr "" #: static/js/preferences.js:14 msgid "Preferences saved" @@ -99,3 +99,5 @@ msgstr "Preferencias guardas" #: static/js/settings.js:14 msgid "Parameters saved" msgstr "Parámetros guardados" + + diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 6ff10223b..e2a76e7ba 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.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-01-10 11:09+0100\n" +"POT-Creation-Date: 2012-01-17 13:45+0100\n" "PO-Revision-Date: 2011-01-07 10:00+100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: FR \n" @@ -174,86 +174,90 @@ msgstr "Séparateur" msgid "Invalid action, %(user)s is a local user" msgstr "Action invalide, %(user)s est un utilisateur local" -#: admin/models.py:78 admin/models.py:142 admin/models.py:155 +#: admin/models.py:83 admin/models.py:147 admin/models.py:160 msgid "name" msgstr "Nom" -#: admin/models.py:79 +#: admin/models.py:84 msgid "The domain name" msgstr "Le nom du domaine" -#: admin/models.py:80 +#: admin/models.py:85 msgid "Default quota in MB applied to mailboxes" msgstr "Quota par défaut en Mo appliqué aux boites aux lettres" -#: admin/models.py:81 admin/models.py:146 admin/models.py:393 -#: admin/models.py:469 extensions/postfix_autoreply/models.py:19 +#: admin/models.py:86 admin/models.py:151 admin/models.py:400 +#: admin/models.py:476 extensions/postfix_autoreply/models.py:19 msgid "enabled" msgstr "Activé" -#: admin/models.py:82 +#: admin/models.py:87 msgid "Check to activate this domain" msgstr "Cocher pour activer ce domaine" -#: admin/models.py:135 +#: admin/models.py:140 msgid "Failed to initialise domain, check permissions" msgstr "Impossible d'initialiser le domaine, vérifier les permissions" -#: admin/models.py:143 +#: admin/models.py:148 msgid "The alias name" msgstr "Le nom de l'alias" -#: admin/models.py:144 +#: admin/models.py:149 msgid "target" msgstr "cible" -#: admin/models.py:145 +#: admin/models.py:150 msgid "The domain this alias points to" msgstr "Le domaine vers lequel cet alias pointe" -#: admin/models.py:147 admin/models.py:394 +#: admin/models.py:152 admin/models.py:401 msgid "Check to activate this alias" msgstr "Cocher pour activer cet alias" -#: admin/models.py:156 +#: admin/models.py:161 msgid "First name and last name of mailbox owner" msgstr "Prénom et nom du propriétaire de la boite aux lettres" -#: admin/models.py:157 admin/models.py:387 +#: admin/models.py:162 admin/models.py:394 msgid "address" msgstr "Adresse" -#: admin/models.py:158 +#: admin/models.py:163 msgid "Mailbox address (without the @domain.tld part)" msgstr "Adresse de la boite aux lettres (sans la partie @domain.tld)" -#: admin/models.py:159 +#: admin/models.py:164 msgid "password" msgstr "Mot de passe" -#: admin/models.py:246 admin/models.py:327 +#: admin/models.py:251 admin/models.py:334 msgid "Failed to initialise mailbox, check permissions" msgstr "" "Impossible d'initialiser la boite aux lettres, vérifier les permissions" -#: admin/models.py:265 +#: admin/models.py:270 msgid "Mailbox with this address already exists" msgstr "Une boite aux lettres pour cette adresse existe déjà" -#: admin/models.py:313 +#: admin/models.py:314 +msgid "Failed to update password: LDAP module not installed" +msgstr "Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé" + +#: admin/models.py:320 #, python-format msgid "Failed to update password: %s" msgstr "Echec de la mise à jour du mot de passe : %s" -#: admin/models.py:353 +#: admin/models.py:360 msgid "Invalid line" msgstr "Ligne invalide" -#: admin/models.py:359 +#: admin/models.py:366 msgid "Cannot import this mailbox because the associated domain does not exist" msgstr "Impossible d'importer cette boite car le domaine associé n'existe pas" -#: admin/models.py:388 +#: admin/models.py:395 msgid "" "The alias address (without the domain part). For a 'catch-all' address, just " "enter an * character." @@ -261,15 +265,15 @@ msgstr "" "L'adresse de l'alias (sans la partie domaine). Pour une adresse 'attrape-" "tout', entrer juste un caractère *." -#: admin/models.py:390 +#: admin/models.py:397 msgid "mailboxes" msgstr "Boites aux lettres" -#: admin/models.py:391 +#: admin/models.py:398 msgid "The mailboxes this alias points to" msgstr "Les boites aux lettres sur lesquelles pointe cet alias" -#: admin/models.py:470 +#: admin/models.py:477 msgid "Check to enable this extension" msgstr "Cocher pour activer cette extension" @@ -693,17 +697,18 @@ msgid "" msgstr "" "\n" "

Bienvenue sur la démo en ligne!

\n" -"

Attention: Le contenu de la démo est réinitialisé toutes les deux heures.

\n" -"

Pour essayer la démo, les utilisateurs suivants sont disponibles (nom d'utilisateur/mot de passe):

\n" +"

Attention: Le contenu de la démo est réinitialisé toutes les deux " +"heures.

\n" +"

Pour essayer la démo, les utilisateurs suivants sont disponibles (nom " +"d'utilisateur/mot de passe):

\n" "
    \n" "
  • Un super administrateur : admin/password
  • \n" "
  • Un administrateur de domaine : admin@demo.local/admin
  • \n" "
  • Un simple utilisateur : user@demo.local/user
  • \n" "
\n" "

Veuillez svp rapporter toute erreur sur \n" -" la " -"liste de diffusion.

\n" +" la liste " +"de diffusion.

\n" #: extensions/amavis_quarantine/main.py:15 msgid "Simple amavis quarantine management tool" @@ -1664,4 +1669,3 @@ msgstr "Mot de passe changé" #: userprefs/views.py:79 msgid "Forward updated" msgstr "Transfert mis à jour" -