* 'VirtualMailManager/Account.py'
authorPascal Volk <neverseen@users.sourceforge.net>
Sun, 18 May 2008 04:51:12 +0000
changeset 34 6d74e20c5b3b
parent 33 bee57f4616a2
child 35 22cc616aef61
* 'VirtualMailManager/Account.py' * 'VirtualMailManager/Alias.py' * 'VirtualMailManager/Config.py' * 'VirtualMailManager/Domain.py' * 'VirtualMailManager/MailLocation.py' * 'VirtualMailManager/Transport.py' * 'VirtualMailManager/VirtualMailManager.py' * 'vmm' - completed gettext support * 'po/vmm.pot' * 'po/de.po' - updated
VirtualMailManager/Account.py
VirtualMailManager/Alias.py
VirtualMailManager/Config.py
VirtualMailManager/Domain.py
VirtualMailManager/MailLocation.py
VirtualMailManager/Transport.py
VirtualMailManager/VirtualMailManager.py
po/de.po
po/vmm.pot
vmm
--- a/VirtualMailManager/Account.py	Thu May 15 19:24:11 2008 +0000
+++ b/VirtualMailManager/Account.py	Sun May 18 04:51:12 2008 +0000
@@ -42,7 +42,7 @@
         self._exists()
         if self._isAlias():
             raise VMMAccountException(
-            (_('There is already an alias with address »%s«') % address,
+            (_(u'There is already an alias with address »%s«') % address,
                 ERR.ALIAS_EXISTS))
 
     def _exists(self):
@@ -74,9 +74,8 @@
         dom = Domain(self._dbh, d)
         self._gid = dom.getID()
         if self._gid == 0:
-            #raise VMMAccountException(("Domain »%s« doesn't exist." % d,
-            errmsg = _('Domain »%s« does not exists.')
-            raise VMMAccountException((errmsg % d, ERR.NO_SUCH_DOMAIN))
+            raise VMMAccountException((_(u"Domain »%s« doesn't exist.") % d,
+                ERR.NO_SUCH_DOMAIN))
         self._base = dom.getDir()
         self._tid = dom.getTransportID()
 
@@ -94,10 +93,10 @@
         if not isinstance(state, bool):
             return False
         if not service in ['smtp', 'pop3', 'imap', 'managesieve', 'all', None]:
-            raise VMMAccountException(("Unknown service »%s«" % service,
+            raise VMMAccountException((_(u"Unknown service »%s«") % service,
                 ERR.UNKNOWN_SERVICE))
         if self._uid < 1:
-            raise VMMAccountException(("Account doesn't exists",
+            raise VMMAccountException((_("Account doesn't exists"),
                 ERR.NO_SUCH_ACCOUNT))
         dbc = self._dbh.cursor()
         if service in ['smtp', 'pop3', 'imap', 'managesieve']:
@@ -146,12 +145,12 @@
             self._dbh.commit()
             dbc.close()
         else:
-            raise VMMAccountException(('Account already exists.',
+            raise VMMAccountException((_('Account already exists.'),
                 ERR.ACCOUNT_EXISTS))
        
     def modify(self, what, value):
         if self._uid == 0:
-            raise VMMAccountException(("Account doesn't exists",
+            raise VMMAccountException((_("Account doesn't exists"),
                 ERR.NO_SUCH_ACCOUNT))
         if what not in ['name', 'password', 'transport']:
             return False
@@ -178,7 +177,7 @@
         info = dbc.fetchone()
         dbc.close()
         if info is None:
-            raise VMMAccountException(("Account doesn't exists",
+            raise VMMAccountException((_("Account doesn't exists"),
                 ERR.NO_SUCH_ACCOUNT))
         else:
             keys = ['name', 'uid', 'gid', 'maildir', 'transport', 'smtp',
@@ -206,7 +205,7 @@
                 self._dbh.commit()
             dbc.close()
         else:
-            raise VMMAccountException(("Account doesn't exists",
+            raise VMMAccountException((_("Account doesn't exists"),
                 ERR.NO_SUCH_ACCOUNT))
 
 
@@ -214,10 +213,10 @@
     try:
         uid = long(uid)
     except ValueError:
-        raise VMMAccountException(('uid must be an int/long.',
+        raise VMMAccountException((_('uid must be an int/long.'),
             ERR.INVALID_AGUMENT))
     if uid < 1:
-        raise VMMAccountException(('uid must be greater than 0.',
+        raise VMMAccountException((_('uid must be greater than 0.'),
             ERR.INVALID_AGUMENT))
     dbc = dbh.cursor()
     dbc.execute("SELECT local_part||'@'||domains.domainname AS address, uid,\
@@ -225,7 +224,7 @@
     info = dbc.fetchone()
     dbc.close()
     if info is None:
-        raise VMMAccountException(("Account doesn't exists",
+        raise VMMAccountException((_("Account doesn't exists"),
             ERR.NO_SUCH_ACCOUNT))
     keys = ['address', 'uid', 'gid']
     info = dict(zip(keys, info))
--- a/VirtualMailManager/Alias.py	Thu May 15 19:24:11 2008 +0000
+++ b/VirtualMailManager/Alias.py	Sun May 18 04:51:12 2008 +0000
@@ -27,7 +27,8 @@
     """Class to manage e-mail accounts."""
     def __init__(self, dbh, address, destination=None):
         if address == destination:
-            raise VMMAliasException(('Address and destination are identical.',
+            raise VMMAliasException((
+                _('Address and destination are identical.'),
                 ERR.ALIAS_ADDR_DEST_IDENTICAL))
         self._dbh = dbh
         self._addr = address
@@ -40,7 +41,7 @@
             self._exists()
         if self._isAccount():
             raise VMMAliasException(
-            ('There is already an account with address »%s«' % self._addr,
+            (_(u'There is already an account with address »%s«') % self._addr,
                 ERR.ACCOUNT_EXISTS))
 
     def _exists(self):
@@ -70,12 +71,13 @@
         dom = Domain(self._dbh, d)
         self._gid = dom.getID()
         if self._gid == 0:
-            raise VMMAliasException(("Domain »%s« doesn't exist." % d,
+            raise VMMAliasException((_(u"Domain »%s« doesn't exist.") % d,
                 ERR.NO_SUCH_DOMAIN))
 
     def save(self):
         if self._dest is None:
-           raise VMMAliasException(('No destination address for alias denoted.',
+           raise VMMAliasException((
+               _('No destination address for alias denoted.'),
                ERR.ALIAS_MISSING_DEST))
         if self._isNew:
             dbc = self._dbh.cursor()
@@ -84,7 +86,8 @@
             self._dbh.commit()
             dbc.close()
         else:
-            raise VMMAliasException(("Alias already exists.", ERR.ALIAS_EXISTS))
+            raise VMMAliasException((_("Alias already exists."),
+                ERR.ALIAS_EXISTS))
 
     def getInfo(self):
         dbc = self._dbh.cursor()
@@ -98,7 +101,8 @@
                 targets.append(destination[0])
             return targets
         else:
-            raise VMMAliasException(("Alias doesn't exists", ERR.NO_SUCH_ALIAS))
+            raise VMMAliasException((_("Alias doesn't exists"),
+                ERR.NO_SUCH_ALIAS))
 
     def delete(self):
         dbc = self._dbh.cursor()
@@ -113,5 +117,6 @@
         if rowcount > 0:
             self._dbh.commit()
         else:
-            raise VMMAliasException(("Alias doesn't exists", ERR.NO_SUCH_ALIAS))
+            raise VMMAliasException((_("Alias doesn't exists"),
+                ERR.NO_SUCH_ALIAS))
 
--- a/VirtualMailManager/Config.py	Thu May 15 19:24:11 2008 +0000
+++ b/VirtualMailManager/Config.py	Sun May 18 04:51:12 2008 +0000
@@ -69,7 +69,7 @@
                 ['managesieve', 'true']
                 ]
         self.__domdopts = [
-                ['base', '/home/mail'],
+                ['base', '/srv/mail'],
                 ['mode', 504],
                 ['delete', 'false']
                 ]
@@ -98,9 +98,9 @@
             errmsg = StringIO()
             for k,v in self.__missing.items():
                 if v[0] is True:
-                    errmsg.write("missing section: %s\n" % k)
+                    errmsg.write(_("missing section: %s\n") % k)
                 else:
-                    errmsg.write("missing options in section %s:\n" % k)
+                    errmsg.write(_("missing options in section %s:\n") % k)
                     for o in v:
                         errmsg.write(" * %s\n" % o)
             raise VMMConfigException((errmsg.getvalue(), ERR.CONF_ERROR))
@@ -116,7 +116,7 @@
         sections -- list of strings
         """
         if not isinstance(sections, list):
-            raise TypeError("Argument 'sections' is not a list.")
+            raise TypeError(_("Argument 'sections' is not a list."))
         # if [config] done = false (default at 1st run),
         # then set changes true
         try:
@@ -129,9 +129,10 @@
             if s == 'config':
                 pass
             else:
-                print '* Config section: %s' % s
+                print _('* Config section: %s') % s
             for opt, val in self.items(s):
-                newval = raw_input('Enter new value for %s [%s]: ' %(opt, val))
+                newval = raw_input(_('Enter new value for %s [%s]: ')
+                        %(opt, val))
                 if newval and newval != val:
                     self.set(s, opt, newval)
                     self.__changes = True
--- a/VirtualMailManager/Domain.py	Thu May 15 19:24:11 2008 +0000
+++ b/VirtualMailManager/Domain.py	Sun May 18 04:51:12 2008 +0000
@@ -116,13 +116,14 @@
         else:
             hasAlias = False
         if hasUser and hasAlias:
-            raise VMMDomainException(('There are accounts and aliases.',
+            raise VMMDomainException((_('There are accounts and aliases.'),
                 ERR.ACCOUNT_AND_ALIAS_PRESENT))
         elif hasUser:
-            raise VMMDomainException(('There are accounts.',
+            raise VMMDomainException((_('There are accounts.'),
                 ERR.ACCOUNT_PRESENT))
         elif hasAlias:
-            raise VMMDomainException(('There are aliases.', ERR.ALIAS_PRESENT))
+            raise VMMDomainException((_('There are aliases.'),
+                ERR.ALIAS_PRESENT))
 
     def save(self):
         """Stores the new domain in the database."""
@@ -135,7 +136,7 @@
             self._dbh.commit()
             dbc.close()
         else:
-            raise VMMDomainException(('Domain already exists.',
+            raise VMMDomainException((_('Domain already exists.'),
                 ERR.DOMAIN_EXISTS))
 
     def delete(self, delUser=False, delAlias=False):
@@ -155,7 +156,7 @@
             self._dbh.commit()
             dbc.close()
         else:
-            raise VMMDomainException(("Domain doesn't exist yet.",
+            raise VMMDomainException((_("Domain doesn't exist yet."),
                 ERR.NO_SUCH_DOMAIN))
 
     def updateTransport(self, transport, force = False):
@@ -179,7 +180,7 @@
                     self._dbh.commit()
             dbc.close()
         else:
-            raise VMMDomainException(("Domain doesn't exist yet.",
+            raise VMMDomainException((_("Domain doesn't exist yet."),
                 ERR.NO_SUCH_DOMAIN))
 
     def getID(self):
@@ -209,7 +210,7 @@
         info = dbc.fetchone()
         dbc.close()
         if info is None:
-            raise VMMDomainException(("Domain doesn't exist yet.",
+            raise VMMDomainException((_("Domain doesn't exist yet."),
                 ERR.NO_SUCH_DOMAIN))
         else:
             keys = ['gid', 'domainname', 'transport', 'domaindir', 'accounts',
--- a/VirtualMailManager/MailLocation.py	Thu May 15 19:24:11 2008 +0000
+++ b/VirtualMailManager/MailLocation.py	Sun May 18 04:51:12 2008 +0000
@@ -37,13 +37,13 @@
         """
         self._dbh = dbh
         if mid is None and maillocation is None:
-            raise MLE(('Either mid or maillocation must be specified.',
+            raise MLE((_('Either mid or maillocation must be specified.'),
                 ERR.MAILLOCATION_INIT))
         elif mid is not None:
             try:
                 self.__id = long(mid)
             except ValueError:
-                raise MLE(('mid must be an int/long.', ERR.MAILLOCATION_INIT))
+                raise MLE((_('mid must be an int/long.'),ERR.MAILLOCATION_INIT))
             self._loadByID()
         else:
             self.__maillocation = maillocation
@@ -58,7 +58,7 @@
         if result is not None:
             self.__maillocation = result[0]
         else:
-            raise MLE(('Unknown mid specified.', ERR.UNKNOWN_MAILLOCATION_ID))
+            raise MLE((_('Unknown mid specified.'),ERR.UNKNOWN_MAILLOCATION_ID))
 
     def _loadByName(self):
         dbc = self._dbh.cursor()
--- a/VirtualMailManager/Transport.py	Thu May 15 19:24:11 2008 +0000
+++ b/VirtualMailManager/Transport.py	Sun May 18 04:51:12 2008 +0000
@@ -37,14 +37,14 @@
         """
         self._dbh = dbh
         if tid is None and transport is None:
-            raise VMMTransportException(
-                    ('Either tid or transport must be specified.',
-                        ERR.TRANSPORT_INIT))
+            raise VMMTransportException((
+                _('Either tid or transport must be specified.'),
+                ERR.TRANSPORT_INIT))
         elif tid is not None:
             try:
                 self.__id = long(tid)
             except ValueError:
-                raise VMMTransportException(('tid must be an int/long.',
+                raise VMMTransportException((_('tid must be an int/long.'),
                     ERR.TRANSPORT_INIT))
             self._loadByID()
         else:
@@ -59,7 +59,7 @@
         if result is not None:
             self.__transport = result[0]
         else:
-            raise VMMTransportException(('Unknown tid specified.',
+            raise VMMTransportException((_('Unknown tid specified.'),
                 ERR.UNKNOWN_TRANSPORT_ID))
 
     def _loadByName(self):
--- a/VirtualMailManager/VirtualMailManager.py	Thu May 15 19:24:11 2008 +0000
+++ b/VirtualMailManager/VirtualMailManager.py	Sun May 18 04:51:12 2008 +0000
@@ -73,7 +73,7 @@
     def __chkCfgFile(self):
         """Checks the configuration file, returns bool"""
         if not os.path.isfile(self.__cfgFileName):
-            raise VMMException((_("The file »%s« does not exists.") %
+            raise VMMException((_(u"The file »%s« does not exists.") %
                 self.__cfgFileName, ERR.CONF_NOFILE))
         fstat = os.stat(self.__cfgFileName)
         try:
@@ -140,7 +140,7 @@
                 ERR.LOCALPART_TOO_LONG))
         if re.compile(RE_LOCALPART).search(localpart):
             raise VMMException((
-                _('The local part »%s« contains invalid characters.') %
+                _(u'The local part »%s« contains invalid characters.') %
                 localpart, ERR.LOCALPART_INVALID))
         return localpart
 
@@ -190,10 +190,10 @@
         try:
             localpart, domain = address.split('@')
         except ValueError:
-            raise VMMException((_("Missing '@' sign in e-mail address »%s«.") %
+            raise VMMException((_(u"Missing '@' sign in e-mail address »%s«.") %
                 address, ERR.INVALID_ADDRESS))
         except AttributeError:
-            raise VMMException((_("»%s« looks not like an e-mail address.") %
+            raise VMMException((_(u"»%s« looks not like an e-mail address.") %
                 address, ERR.INVALID_ADDRESS))
         domain = self.__chkDomainname(domain)
         localpart = self.__chkLocalpart(localpart)
@@ -409,7 +409,7 @@
             if not section:
                 self.__Cfg.configure(self.__cfgSections)
             elif section not in self.__cfgSections:
-                raise VMMException((_("Invalid section: »%s«") % section,
+                raise VMMException((_(u"Invalid section: »%s«") % section,
                     ERR.INVALID_SECTION))
             else:
                 self.__Cfg.configure([section])
@@ -423,7 +423,7 @@
 
     def domain_transport(self, domainname, transport, force=None):
         if force is not None and force != 'force':
-            raise VMMDomainException((_('Invalid argument: »%s«') % force,
+            raise VMMDomainException((_(u'Invalid argument: »%s«') % force,
                 ERR.INVALID_OPTION))
         dom = self.__getDomain(domainname, None)
         if force is None:
@@ -433,7 +433,7 @@
 
     def domain_delete(self, domainname, force=None):
         if not force is None and force not in ['deluser','delalias','delall']:
-            raise VMMDomainException((_('Invalid argument: »%s«') % force,
+            raise VMMDomainException((_(u'Invalid argument: »%s«') % force,
                 ERR.INVALID_OPTION))
         dom = self.__getDomain(domainname)
         gid = dom.getID()
--- a/po/de.po	Thu May 15 19:24:11 2008 +0000
+++ b/po/de.po	Sun May 18 04:51:12 2008 +0000
@@ -5,8 +5,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: vmm 0.4\n"
-"POT-Creation-Date: 2008-05-13 03:54+CEST\n"
-"PO-Revision-Date: 2008-05-13 04:55+0200\n"
+"POT-Creation-Date: 2008-05-18 06:21+CEST\n"
+"PO-Revision-Date: 2008-05-18 05:53+0200\n"
 "Last-Translator: Pascal Volk <p.volk@veb-it.de>\n"
 "Language-Team: German\n"
 "MIME-Version: 1.0\n"
@@ -19,10 +19,117 @@
 msgid "There is already an alias with address »%s«"
 msgstr "Es gibt bereits einen Alias mit der Adresse »%s«"
 
-#: VirtualMailManager/Account.py:78
-msgid "Domain »%s« does not exists."
+#: VirtualMailManager/Account.py:77 VirtualMailManager/Alias.py:74
+msgid "Domain »%s« doesn't exist."
 msgstr "Die Domain »%s« existiert nicht."
 
+#: VirtualMailManager/Account.py:96
+msgid "Unknown service »%s«"
+msgstr "Unbekannter Service »%s«"
+
+#: VirtualMailManager/Account.py:99 VirtualMailManager/Account.py:153
+#: VirtualMailManager/Account.py:180 VirtualMailManager/Account.py:208
+#: VirtualMailManager/Account.py:227
+msgid "Account doesn't exists"
+msgstr "Der Account existiert nicht."
+
+#: VirtualMailManager/Account.py:148
+msgid "Account already exists."
+msgstr "Der Account existiert bereits."
+
+#: VirtualMailManager/Account.py:216
+msgid "uid must be an int/long."
+msgstr "Die UID muss eine Ganzzahl sein."
+
+#: VirtualMailManager/Account.py:219
+msgid "uid must be greater than 0."
+msgstr "Die UID muss größer als 0 sein."
+
+#: VirtualMailManager/Alias.py:31
+msgid "Address and destination are identical."
+msgstr "Alias- und Ziel-Adresse sind identisch.."
+
+#: VirtualMailManager/Alias.py:44
+msgid "There is already an account with address »%s«"
+msgstr "Es gibt bereits einen Accounts mit der Adresse »%s«"
+
+#: VirtualMailManager/Alias.py:80
+msgid "No destination address for alias denoted."
+msgstr "Keine Ziel-Adresse für den Alias angegeben."
+
+#: VirtualMailManager/Alias.py:89
+msgid "Alias already exists."
+msgstr "Der Alias existiert bereits."
+
+#: VirtualMailManager/Alias.py:104 VirtualMailManager/Alias.py:120
+msgid "Alias doesn't exists"
+msgstr "Der Alias existiert nicht."
+
+#: VirtualMailManager/Config.py:101
+msgid "missing section: %s\n"
+msgstr "Fehlende Sektion: %s\n"
+
+#: VirtualMailManager/Config.py:103
+msgid "missing options in section %s:\n"
+msgstr "Fehlende Optionen in Sektion %s:\n"
+
+#: VirtualMailManager/Config.py:119
+msgid "Argument 'sections' is not a list."
+msgstr "Argument 'section' ist nicht vom Typ List."
+
+#: VirtualMailManager/Config.py:132
+msgid "* Config section: %s"
+msgstr "* Konfigurations Sektion: »%s«"
+
+#: VirtualMailManager/Config.py:134
+msgid "Enter new value for %s [%s]: "
+msgstr "Neuer Wert für %s [%s]: "
+
+#: VirtualMailManager/Domain.py:119
+msgid "There are accounts and aliases."
+msgstr "Es sind noch Accounts und Aliase vorhanden."
+
+#: VirtualMailManager/Domain.py:122
+msgid "There are accounts."
+msgstr "Es sind noch Accounts vorhanden."
+
+#: VirtualMailManager/Domain.py:125
+msgid "There are aliases."
+msgstr "Es sind noch Aliase vorhanden."
+
+#: VirtualMailManager/Domain.py:139
+msgid "Domain already exists."
+msgstr "Die Domain existiert bereits."
+
+#: VirtualMailManager/Domain.py:159 VirtualMailManager/Domain.py:183
+#: VirtualMailManager/Domain.py:213
+msgid "Domain doesn't exist yet."
+msgstr "Die Domain existiert noch nicht."
+
+#: VirtualMailManager/MailLocation.py:40
+msgid "Either mid or maillocation must be specified."
+msgstr "Entweder mid oder maillocation muss angegeben werden."
+
+#: VirtualMailManager/MailLocation.py:46
+msgid "mid must be an int/long."
+msgstr "Die MID muss eine Ganzzahl sein."
+
+#: VirtualMailManager/MailLocation.py:61
+msgid "Unknown mid specified."
+msgstr "Unbekannte MID angegeben."
+
+#: VirtualMailManager/Transport.py:41
+msgid "Either tid or transport must be specified."
+msgstr "Entweder tid oder transport muss angegeben werden."
+
+#: VirtualMailManager/Transport.py:47
+msgid "tid must be an int/long."
+msgstr "Die tid muss eine Ganzzahl sein."
+
+#: VirtualMailManager/Transport.py:62
+msgid "Unknown tid specified."
+msgstr "Unbekannte tid angegeben."
+
 #: VirtualMailManager/VirtualMailManager.py:55
 msgid ""
 "fix permissions for '%s'\n"
@@ -130,7 +237,7 @@
 "  Unterbefehl           Objekt           args (* = optional)\n"
 "\n"
 
-#: vmm:61 vmm:70 vmm:363
+#: vmm:61 vmm:70 vmm:315 vmm:363
 msgid "Error"
 msgstr "Fehler"
 
--- a/po/vmm.pot	Thu May 15 19:24:11 2008 +0000
+++ b/po/vmm.pot	Sun May 18 04:51:12 2008 +0000
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2008-05-13 03:54+CEST\n"
+"POT-Creation-Date: 2008-05-18 06:21+CEST\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -19,8 +19,117 @@
 msgid "There is already an alias with address \302\273%s\302\253"
 msgstr ""
 
-#: VirtualMailManager/Account.py:78
-msgid "Domain \302\273%s\302\253 does not exists."
+#: VirtualMailManager/Account.py:77 VirtualMailManager/Alias.py:74
+msgid "Domain \302\273%s\302\253 doesn't exist."
+msgstr ""
+
+#: VirtualMailManager/Account.py:96
+msgid "Unknown service \302\273%s\302\253"
+msgstr ""
+
+#: VirtualMailManager/Account.py:99 VirtualMailManager/Account.py:153
+#: VirtualMailManager/Account.py:180 VirtualMailManager/Account.py:208
+#: VirtualMailManager/Account.py:227
+msgid "Account doesn't exists"
+msgstr ""
+
+#: VirtualMailManager/Account.py:148
+msgid "Account already exists."
+msgstr ""
+
+#: VirtualMailManager/Account.py:216
+msgid "uid must be an int/long."
+msgstr ""
+
+#: VirtualMailManager/Account.py:219
+msgid "uid must be greater than 0."
+msgstr ""
+
+#: VirtualMailManager/Alias.py:31
+msgid "Address and destination are identical."
+msgstr ""
+
+#: VirtualMailManager/Alias.py:44
+msgid "There is already an account with address \302\273%s\302\253"
+msgstr ""
+
+#: VirtualMailManager/Alias.py:80
+msgid "No destination address for alias denoted."
+msgstr ""
+
+#: VirtualMailManager/Alias.py:89
+msgid "Alias already exists."
+msgstr ""
+
+#: VirtualMailManager/Alias.py:104 VirtualMailManager/Alias.py:120
+msgid "Alias doesn't exists"
+msgstr ""
+
+#: VirtualMailManager/Config.py:101
+msgid ""
+"missing section: %s\n"
+msgstr ""
+
+#: VirtualMailManager/Config.py:103
+msgid ""
+"missing options in section %s:\n"
+msgstr ""
+
+#: VirtualMailManager/Config.py:119
+msgid "Argument 'sections' is not a list."
+msgstr ""
+
+#: VirtualMailManager/Config.py:132
+msgid "* Config section: %s"
+msgstr ""
+
+#: VirtualMailManager/Config.py:134
+msgid "Enter new value for %s [%s]: "
+msgstr ""
+
+#: VirtualMailManager/Domain.py:119
+msgid "There are accounts and aliases."
+msgstr ""
+
+#: VirtualMailManager/Domain.py:122
+msgid "There are accounts."
+msgstr ""
+
+#: VirtualMailManager/Domain.py:125
+msgid "There are aliases."
+msgstr ""
+
+#: VirtualMailManager/Domain.py:139
+msgid "Domain already exists."
+msgstr ""
+
+#: VirtualMailManager/Domain.py:159 VirtualMailManager/Domain.py:183
+#: VirtualMailManager/Domain.py:213
+msgid "Domain doesn't exist yet."
+msgstr ""
+
+#: VirtualMailManager/MailLocation.py:40
+msgid "Either mid or maillocation must be specified."
+msgstr ""
+
+#: VirtualMailManager/MailLocation.py:46
+msgid "mid must be an int/long."
+msgstr ""
+
+#: VirtualMailManager/MailLocation.py:61
+msgid "Unknown mid specified."
+msgstr ""
+
+#: VirtualMailManager/Transport.py:41
+msgid "Either tid or transport must be specified."
+msgstr ""
+
+#: VirtualMailManager/Transport.py:47
+msgid "tid must be an int/long."
+msgstr ""
+
+#: VirtualMailManager/Transport.py:62
+msgid "Unknown tid specified."
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:55
@@ -119,7 +228,7 @@
 "\n"
 msgstr ""
 
-#: vmm:61 vmm:70 vmm:363
+#: vmm:61 vmm:70 vmm:315 vmm:363
 msgid "Error"
 msgstr ""
 
--- a/vmm	Thu May 15 19:24:11 2008 +0000
+++ b/vmm	Sun May 18 04:51:12 2008 +0000
@@ -312,7 +312,7 @@
         sys.stderr.write(str(e))
         sys.exit(ERR.CONF_ERROR)
     except VMME.VMMException, e:
-        sys.stderr.write("\aERROR: %s\n" % e[0][0])
+        sys.stderr.write("\a%s: %s\n" % (_('Error'), e[0][0]))
         sys.exit(e[0][1])
     try:
         if sys.argv[1] in ['da', 'domainadd']: