Replaced angle quotes by quotation marks.
authorPascal Volk <neverseen@users.sourceforge.net>
Tue, 25 Aug 2009 11:08:00 +0000
changeset 133 2d5c4745efec
parent 132 fa22bd13b4d1
child 134 6ca3d22e5dd0
Replaced angle quotes by quotation marks.
VirtualMailManager/Account.py
VirtualMailManager/Alias.py
VirtualMailManager/AliasDomain.py
VirtualMailManager/Config.py
VirtualMailManager/Domain.py
VirtualMailManager/EmailAddress.py
VirtualMailManager/MailLocation.py
VirtualMailManager/Relocated.py
VirtualMailManager/VirtualMailManager.py
VirtualMailManager/ext/Postconf.py
man/de/man1/vmm.1
man/man1/vmm.1
po/de.po
po/vmm.pot
vmm
--- a/VirtualMailManager/Account.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/Account.py	Tue Aug 25 11:08:00 2009 +0000
@@ -33,12 +33,12 @@
         self._exists()
         if self._uid < 1 and VMM.VirtualMailManager.aliasExists(self._dbh,
                 self._addr):
-            raise AccE(_(u"There is already an alias with the address »%s«.") %\
+            raise AccE(_(u"There is already an alias with the address “%s”.") %\
                     self._addr, ERR.ALIAS_EXISTS)
         if self._uid < 1 and VMM.VirtualMailManager.relocatedExists(self._dbh,
                 self._addr):
             raise AccE(
-              _(u"There is already a relocated user with the address »%s«.") %\
+              _(u"There is already a relocated user with the address “%s”.") %\
                     self._addr, ERR.RELOCATED_EXISTS)
 
     def _exists(self):
@@ -58,7 +58,7 @@
         dom = Domain(self._dbh, self._addr._domainname)
         self._gid = dom.getID()
         if self._gid == 0:
-            raise AccE(_(u"The domain »%s« doesn't exist yet.") %\
+            raise AccE(_(u"The domain “%s” doesn't exist yet.") %\
                     self._addr._domainname, ERR.NO_SUCH_DOMAIN)
         self._base = dom.getDir()
         self._tid = dom.getTransportID()
@@ -77,10 +77,10 @@
         if not isinstance(state, bool):
             return False
         if not service in (None, 'all', 'imap', 'pop3', 'sieve', 'smtp'):
-            raise AccE(_(u"Unknown service »%s«.") % service,
+            raise AccE(_(u"Unknown service “%s”.") % service,
                     ERR.UNKNOWN_SERVICE)
         if self._uid < 1:
-            raise AccE(_(u"The account »%s« doesn't exists.") % self._addr,
+            raise AccE(_(u"The account “%s” doesn't exists.") % self._addr,
                     ERR.NO_SUCH_ACCOUNT)
         sieve_col = 'sieve' if dcvers > 11 else 'managesieve'
         if service in ('smtp', 'pop3', 'imap'):
@@ -142,12 +142,12 @@
             self._dbh.commit()
             dbc.close()
         else:
-            raise AccE(_(u'The account »%s« already exists.') % self._addr,
+            raise AccE(_(u'The account “%s” already exists.') % self._addr,
                     ERR.ACCOUNT_EXISTS)
 
     def modify(self, what, value):
         if self._uid == 0:
-            raise AccE(_(u"The account »%s« doesn't exists.") % self._addr,
+            raise AccE(_(u"The account “%s” doesn't exists.") % self._addr,
                     ERR.NO_SUCH_ACCOUNT)
         if what not in ['name', 'password', 'transport']:
             return False
@@ -175,7 +175,7 @@
         info = dbc.fetchone()
         dbc.close()
         if info is None:
-            raise AccE(_(u"The account »%s« doesn't exists.") % self._addr,
+            raise AccE(_(u"The account “%s” doesn't exists.") % self._addr,
                     ERR.NO_SUCH_ACCOUNT)
         else:
             keys = ['name', 'uid', 'gid', 'maildir', 'transport', 'smtp',
@@ -209,7 +209,7 @@
 
     def delete(self, delalias):
         if self._uid < 1:
-            raise AccE(_(u"The account »%s« doesn't exists.") % self._addr,
+            raise AccE(_(u"The account “%s” doesn't exists.") % self._addr,
                     ERR.NO_SUCH_ACCOUNT)
         dbc = self._dbh.cursor()
         if delalias == 'delalias':
@@ -231,7 +231,7 @@
                 dbc.close()
                 raise AccE(
                   _(u"There are %(count)d aliases with the destination address\
- »%(address)s«.") %{'count': a_count, 'address': self._addr}, ERR.ALIAS_PRESENT)
+ “%(address)s”.") %{'count': a_count, 'address': self._addr}, ERR.ALIAS_PRESENT)
         dbc.close()
 
 def getAccountByID(uid, dbh):
@@ -248,7 +248,7 @@
     info = dbc.fetchone()
     dbc.close()
     if info is None:
-        raise AccE(_(u"There is no account with the UID »%d«.") % uid,
+        raise AccE(_(u"There is no account with the UID “%d”.") % uid,
                 ERR.NO_SUCH_ACCOUNT)
     keys = ['address', 'uid', 'gid']
     info = dict(zip(keys, info))
--- a/VirtualMailManager/Alias.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/Alias.py	Tue Aug 25 11:08:00 2009 +0000
@@ -37,12 +37,12 @@
             self._exists()
         if self._isNew and VMM.VirtualMailManager.accountExists(self._dbh,
                 self._addr):
-            raise VMMAE(_(u"There is already an account with address »%s«.") %\
+            raise VMMAE(_(u"There is already an account with address “%s”.") %\
                     self._addr, ERR.ACCOUNT_EXISTS)
         if self._isNew and VMM.VirtualMailManager.relocatedExists(self._dbh,
                 self._addr):
             raise VMMAE(
-              _(u"There is already a relocated user with the address »%s«.") %\
+              _(u"There is already a relocated user with the address “%s”.") %\
                     self._addr, ERR.RELOCATED_EXISTS)
 
     def _exists(self):
@@ -58,7 +58,7 @@
         dom = Domain(self._dbh, self._addr._domainname)
         self._gid = dom.getID()
         if self._gid == 0:
-            raise VMMAE(_(u"The domain »%s« doesn't exist yet.") %\
+            raise VMMAE(_(u"The domain “%s” doesn't exist yet.") %\
                     self._addr._domainname, ERR.NO_SUCH_DOMAIN)
 
     def _checkExpansion(self, limit):
@@ -68,7 +68,7 @@
         curEx = dbc.fetchone()[0]
         dbc.close()
         if curEx == limit:
-            errmsg = _(u"""Can't add new destination to alias »%(address)s«.
+            errmsg = _(u"""Can't add new destination to alias “%(address)s”.
 Currently this alias expands into %(count)i recipients.
 One more destination will render this alias unusable.
 Hint: Increase Postfix' virtual_alias_expansion_limit
@@ -88,7 +88,7 @@
             dbc.close()
         else:
             raise VMMAE(
-               _(u"The alias »%(a)s« with destination »%(d)s« already exists.")\
+               _(u"The alias “%(a)s” with destination “%(d)s” already exists.")\
                        % {'a': self._addr, 'd': self._dest}, ERR.ALIAS_EXISTS)
 
     def getInfo(self):
@@ -103,7 +103,7 @@
                 targets.append(destination[0])
             return targets
         else:
-            raise VMMAE(_(u"The alias »%s« doesn't exists.") % self._addr,
+            raise VMMAE(_(u"The alias “%s” doesn't exists.") % self._addr,
                     ERR.NO_SUCH_ALIAS)
 
     def delete(self):
@@ -120,9 +120,9 @@
             self._dbh.commit()
         else:
             if self._dest is None:
-                msg = _(u"The alias »%s« doesn't exists.") % self._addr
+                msg = _(u"The alias “%s” doesn't exists.") % self._addr
             else:
-                msg = _(u"The alias »%(a)s« with destination »%(d)s« doesn't\
+                msg = _(u"The alias “%(a)s” with destination “%(d)s” doesn't\
  exists.") % {'a': self._addr, 'd': self._dest}
             raise VMMAE(msg, ERR.NO_SUCH_ALIAS)
 
--- a/VirtualMailManager/AliasDomain.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/AliasDomain.py	Tue Aug 25 11:08:00 2009 +0000
@@ -29,18 +29,18 @@
         if alias is not None:
             self.__gid, primary = alias
             if primary:
-                raise VADE(_(u"The domain »%s« is a primary domain.") %
+                raise VADE(_(u"The domain “%s” is a primary domain.") %
                         self.__name, ERR.ALIASDOMAIN_ISDOMAIN)
 
     def save(self):
         if self.__gid > 0:
-            raise VADE(_(u'The alias domain »%s« already exists.') %self.__name,
+            raise VADE(_(u'The alias domain “%s” already exists.') %self.__name,
                     ERR.ALIASDOMAIN_EXISTS)
         if self._domain is None:
             raise VADE(_(u'No destination domain for alias domain denoted.'),
                     ERR.ALIASDOMAIN_NO_DOMDEST)
         if self._domain._id < 1:
-            raise VADE (_(u"The target domain »%s« doesn't exist yet.") %
+            raise VADE (_(u"The target domain “%s” doesn't exist yet.") %
                     self._domain._name, ERR.NO_SUCH_DOMAIN)
         dbc = self._dbh.cursor()
         dbc.execute('INSERT INTO domain_name (domainname, gid, is_primary)\
@@ -59,10 +59,10 @@
                 return {'alias': self.__name, 'domain': domain[0]}
             else:# an almost unlikely case, isn't it?
                 raise VADE(
-                    _(u'There is no primary domain for the alias domain »%s«.')\
+                    _(u'There is no primary domain for the alias domain “%s”.')\
                             % self.__name, ERR.NO_SUCH_DOMAIN)
         else:
-            raise VADE(_(u"The alias domain »%s« doesn't exist yet.") %
+            raise VADE(_(u"The alias domain “%s” doesn't exist yet.") %
                     self.__name, ERR.NO_SUCH_ALIASDOMAIN)
 
     def switch(self):
@@ -70,14 +70,14 @@
             raise VADE(_(u'No destination domain for alias domain denoted.'),
                     ERR.ALIASDOMAIN_NO_DOMDEST)
         if self._domain._id < 1:
-            raise VADE (_(u"The target domain »%s« doesn't exist yet.") %
+            raise VADE (_(u"The target domain “%s” doesn't exist yet.") %
                     self._domain._name, ERR.NO_SUCH_DOMAIN)
         if self.__gid < 1:
-            raise VADE(_(u"The alias domain »%s« doesn't exist yet.") %
+            raise VADE(_(u"The alias domain “%s” doesn't exist yet.") %
                     self.__name, ERR.NO_SUCH_ALIASDOMAIN)
         if self.__gid == self._domain._id:
-            raise VADE(_(u"The alias domain »%(alias)s« is already assigned to\
- the domain »%(domain)s«.") %
+            raise VADE(_(u"The alias domain “%(alias)s” is already assigned to\
+ the domain “%(domain)s”.") %
                     {'alias': self.__name, 'domain': self._domain._name},
                     ERR.ALIASDOMAIN_EXISTS)
         dbc = self._dbh.cursor()
@@ -96,6 +96,6 @@
                 self._dbh.commit()
         else:
             raise VADE(
-                  _(u"The alias domain »%s« doesn't exist yet.") % self.__name,
+                  _(u"The alias domain “%s” doesn't exist yet.") % self.__name,
                   ERR.NO_SUCH_ALIASDOMAIN)
 
--- a/VirtualMailManager/Config.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/Config.py	Tue Aug 25 11:08:00 2009 +0000
@@ -137,7 +137,7 @@
         w_std(_(u'Using configuration file: %s\n') % self.__cfgFileName)
         for s in sections:
             if s != 'config':
-                w_std(_(u'* Config section: »%s«') % s )
+                w_std(_(u'* Config section: “%s”') % s )
             for opt, val in self.items(s):
                 newval = raw_input(
                 _('Enter new value for option %(opt)s [%(val)s]: ').encode(
--- a/VirtualMailManager/Domain.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/Domain.py	Tue Aug 25 11:08:00 2009 +0000
@@ -36,7 +36,7 @@
         self._id = 0
         self._domaindir = None
         if not self._exists() and self._isAlias():
-            raise VMMDE(_(u"The domain »%s« is an alias domain.") %self._name,
+            raise VMMDE(_(u"The domain “%s” is an alias domain.") %self._name,
                     ERR.DOMAIN_ALIAS_EXISTS)
 
     def _exists(self):
@@ -142,7 +142,7 @@
             self._dbh.commit()
             dbc.close()
         else:
-            raise VMMDE(_(u'The domain »%s« already exists.') % self._name,
+            raise VMMDE(_(u'The domain “%s” already exists.') % self._name,
                 ERR.DOMAIN_EXISTS)
 
     def delete(self, delUser=False, delAlias=False):
@@ -160,7 +160,7 @@
             self._dbh.commit()
             dbc.close()
         else:
-            raise VMMDE(_(u"The domain »%s« doesn't exist yet.") % self._name,
+            raise VMMDE(_(u"The domain “%s” doesn't exist yet.") % self._name,
                 ERR.NO_SUCH_DOMAIN)
 
     def updateTransport(self, transport, force=False):
@@ -186,7 +186,7 @@
                     self._dbh.commit()
             dbc.close()
         else:
-            raise VMMDE(_(u"The domain »%s« doesn't exist yet.") % self._name,
+            raise VMMDE(_(u"The domain “%s” doesn't exist yet.") % self._name,
                 ERR.NO_SUCH_DOMAIN)
 
     def getID(self):
@@ -217,7 +217,7 @@
         info = dbc.fetchone()
         dbc.close()
         if info is None:
-            raise VMMDE(_(u"The domain »%s« doesn't exist yet.") % self._name,
+            raise VMMDE(_(u"The domain “%s” doesn't exist yet.") % self._name,
                     ERR.NO_SUCH_DOMAIN)
         else:
             keys = ['gid', 'domainname', 'transport', 'domaindir',
--- a/VirtualMailManager/EmailAddress.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/EmailAddress.py	Tue Aug 25 11:08:00 2009 +0000
@@ -43,15 +43,15 @@
         try:
             localpart, domain = address.split('@')
         except ValueError:
-            raise VMMEAE(_(u"Missing '@' sign in e-mail address »%s«.") %
+            raise VMMEAE(_(u"Missing '@' sign in e-mail address “%s”.") %
                 address, ERR.INVALID_ADDRESS)
         except AttributeError:
-            raise VMMEAE(_(u"»%s« looks not like an e-mail address.") %
+            raise VMMEAE(_(u"“%s” looks not like an e-mail address.") %
                 address, ERR.INVALID_ADDRESS)
         if len(domain) > 0:
             domain = VMM.VirtualMailManager.chkDomainname(domain)
         else:
-            raise VMMEAE(_(u"Missing domain name after »%s@«.") %
+            raise VMMEAE(_(u"Missing domain name after “%s@”.") %
                     localpart, ERR.DOMAIN_NO_NAME)
         localpart = self.__chkLocalpart(localpart)
         self._localpart, self._domainname = localpart, domain
@@ -66,14 +66,14 @@
             raise VMMEAE(_(u'No localpart specified.'),
                 ERR.LOCALPART_INVALID)
         if len(localpart) > 64:
-            raise VMMEAE(_(u'The local part »%s« is too long') %
+            raise VMMEAE(_(u'The local part “%s” is too long') %
                 localpart, ERR.LOCALPART_TOO_LONG)
         ic = set(re.findall(RE_LOCALPART, localpart))
         if len(ic):
             ichrs = ''
             for c in ic:
-                ichrs += u"»%s« " % c
-            raise VMMEAE(_(u"The local part »%(lpart)s« contains invalid\
+                ichrs += u"“%s” " % c
+            raise VMMEAE(_(u"The local part “%(lpart)s” contains invalid\
  characters: %(ichrs)s") % {'lpart': localpart, 'ichrs': ichrs},
                 ERR.LOCALPART_INVALID)
         return localpart
--- a/VirtualMailManager/MailLocation.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/MailLocation.py	Tue Aug 25 11:08:00 2009 +0000
@@ -43,7 +43,7 @@
                 self._loadByName()
             else:
                 raise MLE(
-                    _(u'Invalid folder name »%s«, it may consist only of\n\
+                    _(u'Invalid folder name “%s”, it may consist only of\n\
 1 - 20 single byte characters (A-Z, a-z, 0-9 and _).') % maillocation,
                         ERR.MAILLOCATION_INIT)
 
--- a/VirtualMailManager/Relocated.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/Relocated.py	Tue Aug 25 11:08:00 2009 +0000
@@ -36,12 +36,12 @@
         self._exists()
         if self._isNew and VMM.VirtualMailManager.accountExists(self._dbh,
                 self._addr):
-            raise VMMRE(_(u"There is already an account with address »%s«.") %\
+            raise VMMRE(_(u"There is already an account with address “%s”.") %\
                     self._addr, ERR.ACCOUNT_EXISTS)
         if self._isNew and VMM.VirtualMailManager.aliasExists(self._dbh,
                 self._addr):
             raise VMMRE(
-                    _(u"There is already an alias with the address »%s«.") %\
+                    _(u"There is already an alias with the address “%s”.") %\
                     self._addr, ERR.ALIAS_EXISTS)
 
     def _exists(self):
@@ -57,7 +57,7 @@
         dom = Domain(self._dbh, self._addr._domainname)
         self._gid = dom.getID()
         if self._gid == 0:
-            raise VMMRE(_(u"The domain »%s« doesn't exist yet.") %\
+            raise VMMRE(_(u"The domain “%s” doesn't exist yet.") %\
                     self._addr._domainname, ERR.NO_SUCH_DOMAIN)
 
     def save(self):
@@ -72,7 +72,7 @@
             dbc.close()
         else:
             raise VMMRE(
-                    _(u"The relocated user »%s« already exists.") % self._addr,
+                    _(u"The relocated user “%s” already exists.") % self._addr,
                     ERR.RELOCATED_EXISTS)
 
     def getInfo(self):
@@ -86,7 +86,7 @@
             return destination[0]
         else:
             raise VMMRE(
-                    _(u"The relocated user »%s« doesn't exists.") % self._addr,
+                    _(u"The relocated user “%s” doesn't exists.") % self._addr,
                     ERR.NO_SUCH_RELOCATED)
 
     def delete(self):
@@ -99,6 +99,6 @@
             self._dbh.commit()
         else:
             raise VMMRE(
-                    _(u"The relocated user »%s« doesn't exists.") % self._addr,
+                    _(u"The relocated user “%s” doesn't exists.") % self._addr,
                     ERR.NO_SUCH_RELOCATED)
 
--- a/VirtualMailManager/VirtualMailManager.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/VirtualMailManager.py	Tue Aug 25 11:08:00 2009 +0000
@@ -71,7 +71,7 @@
                 break
         if not len(self.__cfgFileName):
             raise VMMException(
-                _(u"No »vmm.cfg« found in: /root:/usr/local/etc:/etc"),
+                _(u"No “vmm.cfg” found in: /root:/usr/local/etc:/etc"),
                 ERR.CONF_NOFILE)
 
     def __chkCfgFile(self):
@@ -82,7 +82,7 @@
         if fmode % 100 and fstat.st_uid != fstat.st_gid \
         or fmode % 10 and fstat.st_uid == fstat.st_gid:
             raise VMMPermException(_(
-                u'fix permissions (%(perms)s) for »%(file)s«\n\
+                u'fix permissions (%(perms)s) for “%(file)s”\n\
 `chmod 0600 %(file)s` would be great.') % {'file':
                 self.__cfgFileName, 'perms': fmode}, ERR.CONF_WRONGPERM)
         else:
@@ -97,16 +97,16 @@
                     self.__Cfg.getint('misc', 'gid_mail'))
             os.umask(old_umask)
         elif not os.path.isdir(self.__Cfg.get('domdir', 'base')):
-            raise VMMException(_(u'»%s« is not a directory.\n\
+            raise VMMException(_(u'“%s” is not a directory.\n\
 (vmm.cfg: section "domdir", option "base")') %
                 self.__Cfg.get('domdir', 'base'), ERR.NO_SUCH_DIRECTORY)
         for opt, val in self.__Cfg.items('bin'):
             if not os.path.exists(val):
-                raise VMMException(_(u'»%(binary)s« doesn\'t exists.\n\
+                raise VMMException(_(u'“%(binary)s” doesn\'t exists.\n\
 (vmm.cfg: section "bin", option "%(option)s")') %{'binary': val,'option': opt},
                     ERR.NO_SUCH_BINARY)
             elif not os.access(val, os.X_OK):
-                raise VMMException(_(u'»%(binary)s« is not executable.\n\
+                raise VMMException(_(u'“%(binary)s” is not executable.\n\
 (vmm.cfg: section "bin", option "%(option)s")') %{'binary': val,'option': opt},
                     ERR.NOT_EXECUTABLE)
 
@@ -166,7 +166,7 @@
             raise VMMException(_(u'The domain name is too long.'),
                 ERR.DOMAIN_TOO_LONG)
         if not re.match(RE_DOMAIN, domainname):
-            raise VMMException(_(u'The domain name »%s« is invalid.') %\
+            raise VMMException(_(u'The domain name “%s” is invalid.') %\
                     domainname, ERR.DOMAIN_INVALID)
         return domainname
     chkDomainname = staticmethod(chkDomainname)
@@ -474,7 +474,7 @@
         elif section in self.__cfgSections:
             self.__Cfg.configure([section])
         else:
-            raise VMMException(_(u"Invalid section: '%s'") % section,
+            raise VMMException(_(u"Invalid section: “%s”") % section,
                 ERR.INVALID_SECTION)
 
     def domainAdd(self, domainname, transport=None):
@@ -484,7 +484,7 @@
 
     def domainTransport(self, domainname, transport, force=None):
         if force is not None and force != 'force':
-            raise VMMDomainException(_(u"Invalid argument: '%s'") % force,
+            raise VMMDomainException(_(u"Invalid argument: “%s”") % force,
                 ERR.INVALID_OPTION)
         dom = self.__getDomain(domainname, None)
         if force is None:
@@ -494,7 +494,7 @@
 
     def domainDelete(self, domainname, force=None):
         if not force is None and force not in ['deluser','delalias','delall']:
-            raise VMMDomainException(_(u"Invalid argument: »%s«") % force,
+            raise VMMDomainException(_(u"Invalid argument: “%s”") % force,
                 ERR.INVALID_OPTION)
         dom = self.__getDomain(domainname)
         gid = dom.getID()
@@ -513,13 +513,13 @@
     def domainInfo(self, domainname, details=None):
         if details not in [None, 'accounts', 'aliasdomains', 'aliases', 'full',
                 'relocated', 'detailed']:
-            raise VMMException(_(u'Invalid argument: »%s«') % details,
+            raise VMMException(_(u'Invalid argument: “%s”') % details,
                     ERR.INVALID_AGUMENT)
         if details == 'detailed':
             details = 'full'
             self.__warnings.append(_(u'\
-The keyword »detailed« is deprecated and will be removed in a future release.\n\
-   Please use the keyword »full« to get full details.'))
+The keyword “detailed” is deprecated and will be removed in a future release.\n\
+   Please use the keyword “full” to get full details.'))
         dom = self.__getDomain(domainname)
         dominfo = dom.getInfo()
         if dominfo['domainname'].startswith('xn--'):
@@ -590,7 +590,7 @@
                     domain = pattern[:-1]
                 if not re.match(RE_DOMAIN_SRCH, domain):
                     raise VMMException(
-                    _(u"The pattern »%s« contains invalid characters.") %
+                    _(u"The pattern “%s” contains invalid characters.") %
                     pattern, ERR.DOMAIN_INVALID)
         self.__dbConnect()
         return search(self.__dbh, pattern=pattern, like=like)
@@ -616,12 +616,12 @@
         alias._dest) and not VirtualMailManager.aliasExists(self.__dbh,
         alias._dest):
             self.__warnings.append(
-                _(u"The destination account/alias »%s« doesn't exists yet.")%\
+                _(u"The destination account/alias “%s” doesn't exists yet.")%\
                         alias._dest)
 
     def userDelete(self, emailaddress, force=None):
         if force not in [None, 'delalias']:
-            raise VMMException(_(u"Invalid argument: »%s«") % force,
+            raise VMMException(_(u"Invalid argument: “%s”") % force,
                     ERR.INVALID_AGUMENT)
         acc = self.__getAccount(emailaddress)
         uid = acc.getUID()
@@ -636,7 +636,7 @@
                     warning = _(u"""\
 The account has been successfully deleted from the database.
     But an error occurred while deleting the following directory:
-    »%(directory)s«
+    “%(directory)s”
     Reason: %(raeson)s""") % {'directory': acc.getDir('home'),'raeson': e.msg()}
                     self.__warnings.append(warning)
                 else:
@@ -652,7 +652,7 @@
 
     def userInfo(self, emailaddress, details=None):
         if details not in [None, 'du', 'aliases', 'full']:
-            raise VMMException(_(u'Invalid argument: »%s«') % details,
+            raise VMMException(_(u'Invalid argument: “%s”') % details,
                     ERR.INVALID_AGUMENT)
         acc = self.__getAccount(emailaddress)
         info = acc.getInfo(self.__Cfg.getint('misc', 'dovecotvers'))
@@ -690,9 +690,9 @@
         if service == 'managesieve':
             service = 'sieve'
             self.__warnings.append(_(u'\
-The service name »managesieve« is deprecated and will be removed\n\
+The service name “managesieve” is deprecated and will be removed\n\
    in a future release.\n\
-   Please use the service name »sieve« instead.'))
+   Please use the service name “sieve” instead.'))
         acc = self.__getAccount(emailaddress)
         acc.disable(self.__Cfg.getint('misc', 'dovecotvers'), service)
 
@@ -700,9 +700,9 @@
         if service == 'managesieve':
             service = 'sieve'
             self.__warnings.append(_(u'\
-The service name »managesieve« is deprecated and will be removed\n\
+The service name “managesieve” is deprecated and will be removed\n\
    in a future release.\n\
-   Please use the service name »sieve« instead.'))
+   Please use the service name “sieve” instead.'))
         acc = self.__getAccount(emailaddress)
         acc.enable(self.__Cfg.getint('misc', 'dovecotvers'), service)
 
--- a/VirtualMailManager/ext/Postconf.py	Sun Aug 23 17:08:18 2009 +0000
+++ b/VirtualMailManager/ext/Postconf.py	Tue Aug 25 11:08:00 2009 +0000
@@ -41,7 +41,7 @@
         expand_vars -- default True (bool)
         """
         if not re.match(RE_PC_PARAMS, parameter):
-            raise VMMException(_(u'The value »%s« looks not like a valid\
+            raise VMMException(_(u'The value “%s” looks not like a valid\
  postfix configuration parameter name.') % parameter, ERR.VMM_ERROR)
         self.__val = self.__read(parameter)
         if expand_vars:
--- a/man/de/man1/vmm.1	Sun Aug 23 17:08:18 2009 +0000
+++ b/man/de/man1/vmm.1	Tue Aug 25 11:08:00 2009 +0000
@@ -56,7 +56,7 @@
         \fBvmm configure services\fP
         Verwende Konfigurationsdatei: /usr/local/etc/vmm.cfg
 
-        * Konfigurations Abschnitt: »services«
+        * Konfigurations Abschnitt: „services“
         Neuer Wert für Option pop3 [True]: 
         Neuer Wert für Option smtp [True]: 
         Neuer Wert für Option imap [True]: 
@@ -424,7 +424,7 @@
         \fBvmm relocatedinfo b.user@example.com\fP
         Relocated Informationen
         -----------------------
-        Der Benutzer »b.user@example.com« ist erreichbar unter »b-user@company.tld«
+        Der Benutzer „b.user@example.com“ ist erreichbar unter „b-user@company.tld“
 .fi
 .TP
 \fBrelocateddelete\fP (\fBrd\fP) \fIalte_adresse\fP
--- a/man/man1/vmm.1	Sun Aug 23 17:08:18 2009 +0000
+++ b/man/man1/vmm.1	Tue Aug 25 11:08:00 2009 +0000
@@ -54,7 +54,7 @@
         \fBvmm configure services\fP
         Using configuration file: /usr/local/etc/vmm.cfg
 
-        * Config section: »services«
+        * Config section: “services”
         Enter new value for option pop3 [True]: 
         Enter new value for option smtp [True]: 
         Enter new value for option imap [True]: 
@@ -400,7 +400,7 @@
         \fBvmm relocatedinfo b.user@example.com\fP
         Relocated information
         ---------------------
-                User »b.user@example.com« has moved to »b-user@company.tld«
+                User “b.user@example.com” has moved to “b-user@company.tld”
 .fi
 .TP
 \fBrelocateddelete\fP (\fBrd\fP) \fIold_address\fP
--- a/po/de.po	Sun Aug 23 17:08:18 2009 +0000
+++ b/po/de.po	Tue Aug 25 11:08:00 2009 +0000
@@ -6,8 +6,8 @@
 msgstr ""
 "Project-Id-Version: vmm 0.5.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-23 17:45+0200\n"
-"PO-Revision-Date: 2009-08-21 18:01+0200\n"
+"POT-Creation-Date: 2009-08-25 06:07+0200\n"
+"PO-Revision-Date: 2009-08-25 06:11+0200\n"
 "Last-Translator: Pascal Volk <p.volk@veb-it.de>\n"
 "Language-Team: German\n"
 "MIME-Version: 1.0\n"
@@ -17,36 +17,36 @@
 
 #: VirtualMailManager/Account.py:36 VirtualMailManager/Relocated.py:44
 #, python-format
-msgid "There is already an alias with the address »%s«."
-msgstr "Es existiert bereits ein Alias mit der Adresse »%s«."
+msgid "There is already an alias with the address “%s”."
+msgstr "Es existiert bereits ein Alias mit der Adresse „%s“."
 
 #: VirtualMailManager/Account.py:41 VirtualMailManager/Alias.py:45
 #, python-format
-msgid "There is already a relocated user with the address »%s«."
-msgstr "Es gibt bereits ein relocated User mit der Adresse »%s«."
+msgid "There is already a relocated user with the address “%s”."
+msgstr "Es gibt bereits ein relocated User mit der Adresse „%s“."
 
 #: VirtualMailManager/Account.py:61 VirtualMailManager/Alias.py:61
 #: VirtualMailManager/Domain.py:163 VirtualMailManager/Domain.py:189
 #: VirtualMailManager/Domain.py:220 VirtualMailManager/Relocated.py:60
 #, python-format
-msgid "The domain »%s« doesn't exist yet."
-msgstr "Die Domain »%s« existiert noch nicht."
+msgid "The domain “%s” doesn't exist yet."
+msgstr "Die Domain „%s“ existiert noch nicht."
 
 #: VirtualMailManager/Account.py:80
 #, python-format
-msgid "Unknown service »%s«."
-msgstr "Unbekannter Service »%s«."
+msgid "Unknown service “%s”."
+msgstr "Unbekannter Service „%s“."
 
 #: VirtualMailManager/Account.py:83 VirtualMailManager/Account.py:150
 #: VirtualMailManager/Account.py:178 VirtualMailManager/Account.py:212
 #, python-format
-msgid "The account »%s« doesn't exists."
-msgstr "Der Account »%s« existiert nicht."
+msgid "The account “%s” doesn't exists."
+msgstr "Der Account „%s“ existiert nicht."
 
 #: VirtualMailManager/Account.py:145
 #, python-format
-msgid "The account »%s« already exists."
-msgstr "Der Account »%s« existiert bereits."
+msgid "The account “%s” already exists."
+msgstr "Der Account „%s“ existiert bereits."
 
 #: VirtualMailManager/Account.py:186
 msgid "enabled"
@@ -58,8 +58,8 @@
 
 #: VirtualMailManager/Account.py:233
 #, python-format
-msgid "There are %(count)d aliases with the destination address »%(address)s«."
-msgstr "Es gibt %(count)d Alias(e) mit der Zieladresse »%(address)s«."
+msgid "There are %(count)d aliases with the destination address “%(address)s”."
+msgstr "Es gibt %(count)d Alias(e) mit der Zieladresse „%(address)s“."
 
 #: VirtualMailManager/Account.py:241
 msgid "uid must be an int/long."
@@ -71,8 +71,8 @@
 
 #: VirtualMailManager/Account.py:251
 #, python-format
-msgid "There is no account with the UID »%d«."
-msgstr "Es existiert kein Account mit der UID »%d«."
+msgid "There is no account with the UID “%d”."
+msgstr "Es existiert kein Account mit der UID „%d“."
 
 #: VirtualMailManager/Alias.py:30 VirtualMailManager/Relocated.py:30
 msgid "Address and destination are identical."
@@ -80,18 +80,18 @@
 
 #: VirtualMailManager/Alias.py:40 VirtualMailManager/Relocated.py:39
 #, python-format
-msgid "There is already an account with address »%s«."
-msgstr "Es gibt bereits einen Account mit der Adresse »%s«."
+msgid "There is already an account with address “%s”."
+msgstr "Es gibt bereits einen Account mit der Adresse „%s“."
 
 #: VirtualMailManager/Alias.py:71
 #, python-format
 msgid ""
-"Can't add new destination to alias »%(address)s«.\n"
+"Can't add new destination to alias “%(address)s”.\n"
 "Currently this alias expands into %(count)i recipients.\n"
 "One more destination will render this alias unusable.\n"
 "Hint: Increase Postfix' virtual_alias_expansion_limit\n"
 msgstr ""
-"Dem Alias »%(address)s« kann keine weitere Ziel-Adresse hinzugefügt werden.\n"
+"Dem Alias „%(address)s“ kann keine weitere Ziel-Adresse hinzugefügt werden.\n"
 "Derzeit verweist der Alias auf %(count)i Empfänger.\n"
 "Eine weitere Ziel-Adresse würde diesen Alias unbrauchbar machen.\n"
 "Tipp: Erhöhen Sie Postfix' virtual_alias_expansion_limit\n"
@@ -102,28 +102,28 @@
 
 #: VirtualMailManager/Alias.py:91
 #, python-format
-msgid "The alias »%(a)s« with destination »%(d)s« already exists."
-msgstr "Der Alias »%(a)s« mit der Ziel-Adresse »%(d)s« existiert bereits."
+msgid "The alias “%(a)s” with destination “%(d)s” already exists."
+msgstr "Der Alias „%(a)s“ mit der Ziel-Adresse „%(d)s“ existiert bereits."
 
 #: VirtualMailManager/Alias.py:106 VirtualMailManager/Alias.py:123
 #, python-format
-msgid "The alias »%s« doesn't exists."
-msgstr "Der Alias »%s« existiert nicht."
+msgid "The alias “%s” doesn't exists."
+msgstr "Der Alias „%s“ existiert nicht."
 
 #: VirtualMailManager/Alias.py:125
 #, python-format
-msgid "The alias »%(a)s« with destination »%(d)s« doesn't exists."
-msgstr "Der Alias »%(a)s« mit der Ziel-Adresse »%(d)s« existiert nicht."
+msgid "The alias “%(a)s” with destination “%(d)s” doesn't exists."
+msgstr "Der Alias „%(a)s“ mit der Ziel-Adresse „%(d)s“ existiert nicht."
 
 #: VirtualMailManager/AliasDomain.py:32
 #, python-format
-msgid "The domain »%s« is a primary domain."
-msgstr "Die Domain »%s« ist eine primäre Domain."
+msgid "The domain “%s” is a primary domain."
+msgstr "Die Domain „%s“ ist eine primäre Domain."
 
 #: VirtualMailManager/AliasDomain.py:37
 #, python-format
-msgid "The alias domain »%s« already exists."
-msgstr "Die Alias-Domain »%s« existiert bereits."
+msgid "The alias domain “%s” already exists."
+msgstr "Die Alias-Domain „%s“ existiert bereits."
 
 #: VirtualMailManager/AliasDomain.py:40 VirtualMailManager/AliasDomain.py:70
 msgid "No destination domain for alias domain denoted."
@@ -131,26 +131,26 @@
 
 #: VirtualMailManager/AliasDomain.py:43 VirtualMailManager/AliasDomain.py:73
 #, python-format
-msgid "The target domain »%s« doesn't exist yet."
-msgstr "Die Ziel-Domain »%s« existiert noch nicht."
+msgid "The target domain “%s” doesn't exist yet."
+msgstr "Die Ziel-Domain „%s“ existiert noch nicht."
 
 #: VirtualMailManager/AliasDomain.py:62
 #, python-format
-msgid "There is no primary domain for the alias domain »%s«."
-msgstr "Es gibt keine primäre Domain für die Alias-Domain »%s«."
+msgid "There is no primary domain for the alias domain “%s”."
+msgstr "Es gibt keine primäre Domain für die Alias-Domain „%s“."
 
 #: VirtualMailManager/AliasDomain.py:65 VirtualMailManager/AliasDomain.py:76
 #: VirtualMailManager/AliasDomain.py:99
 #, python-format
-msgid "The alias domain »%s« doesn't exist yet."
-msgstr "Die Alias-Domain »%s« existiert noch nicht."
+msgid "The alias domain “%s” doesn't exist yet."
+msgstr "Die Alias-Domain „%s“ existiert noch nicht."
 
 #: VirtualMailManager/AliasDomain.py:79
 #, python-format
 msgid ""
-"The alias domain »%(alias)s« is already assigned to the domain »%(domain)s«."
+"The alias domain “%(alias)s” is already assigned to the domain “%(domain)s”."
 msgstr ""
-"Die Alias-Domain »%(alias)s« ist bereits der Domain »%(domain)s« zugeordnet."
+"Die Alias-Domain „%(alias)s“ ist bereits der Domain „%(domain)s“ zugeordnet."
 
 #: VirtualMailManager/Config.py:102 VirtualMailManager/Config.py:137
 #, python-format
@@ -169,8 +169,8 @@
 
 #: VirtualMailManager/Config.py:140
 #, python-format
-msgid "* Config section: »%s«"
-msgstr "* Konfigurations Abschnitt: »%s«"
+msgid "* Config section: “%s”"
+msgstr "* Konfigurations Abschnitt: „%s“"
 
 #: VirtualMailManager/Config.py:143
 #, python-format
@@ -179,8 +179,8 @@
 
 #: VirtualMailManager/Domain.py:39
 #, python-format
-msgid "The domain »%s« is an alias domain."
-msgstr "Die Domain »%s« ist eine Alias-Domain."
+msgid "The domain “%s” is an alias domain."
+msgstr "Die Domain „%s“ ist eine Alias-Domain."
 
 #: VirtualMailManager/Domain.py:124
 msgid "There are accounts and aliases."
@@ -196,23 +196,23 @@
 
 #: VirtualMailManager/Domain.py:145
 #, python-format
-msgid "The domain »%s« already exists."
-msgstr "Die Domain »%s« existiert bereits."
+msgid "The domain “%s” already exists."
+msgstr "Die Domain „%s“ existiert bereits."
 
 #: VirtualMailManager/EmailAddress.py:46
 #, python-format
-msgid "Missing '@' sign in e-mail address »%s«."
-msgstr "In der E-Mail-Adresse »%s« fehlt das '@'-Zeichen."
+msgid "Missing '@' sign in e-mail address “%s”."
+msgstr "In der E-Mail-Adresse „%s“ fehlt das '@'-Zeichen."
 
 #: VirtualMailManager/EmailAddress.py:49
 #, python-format
-msgid "»%s« looks not like an e-mail address."
-msgstr "»%s« sieht nicht wie eine E-Mail-Adresse aus."
+msgid "“%s” looks not like an e-mail address."
+msgstr "„%s“ sieht nicht wie eine E-Mail-Adresse aus."
 
 #: VirtualMailManager/EmailAddress.py:54
 #, python-format
-msgid "Missing domain name after »%s@«."
-msgstr "Der Domain-Name nach »%s@« fehlt."
+msgid "Missing domain name after “%s@”."
+msgstr "Der Domain-Name nach „%s@“ fehlt."
 
 #: VirtualMailManager/EmailAddress.py:66
 msgid "No localpart specified."
@@ -220,13 +220,13 @@
 
 #: VirtualMailManager/EmailAddress.py:69
 #, python-format
-msgid "The local part »%s« is too long"
-msgstr "Der local-part »%s« ist zu lang"
+msgid "The local part “%s” is too long"
+msgstr "Der local-part „%s“ ist zu lang"
 
 #: VirtualMailManager/EmailAddress.py:76
 #, python-format
-msgid "The local part »%(lpart)s« contains invalid characters: %(ichrs)s"
-msgstr "Der local-part »%(lpart)s« enthält ungültige Zeichen: %(ichrs)s"
+msgid "The local part “%(lpart)s” contains invalid characters: %(ichrs)s"
+msgstr "Der local-part „%(lpart)s“ enthält ungültige Zeichen: %(ichrs)s"
 
 #: VirtualMailManager/MailLocation.py:32
 msgid "Either mid or maillocation must be specified."
@@ -239,10 +239,10 @@
 #: VirtualMailManager/MailLocation.py:46
 #, python-format
 msgid ""
-"Invalid folder name »%s«, it may consist only of\n"
+"Invalid folder name “%s”, it may consist only of\n"
 "1 - 20 single byte characters (A-Z, a-z, 0-9 and _)."
 msgstr ""
-"Unzulässiger Verzeichnisname »%s«, dieser darf nur aus\n"
+"Unzulässiger Verzeichnisname „%s“, dieser darf nur aus\n"
 "1 - 20 Einzelbytezeichen (A-Z, a-z, 0-9 und _) bestehen."
 
 #: VirtualMailManager/MailLocation.py:59
@@ -255,13 +255,13 @@
 
 #: VirtualMailManager/Relocated.py:75
 #, python-format
-msgid "The relocated user »%s« already exists."
-msgstr "Der relocated User »%s« existiert bereits."
+msgid "The relocated user “%s” already exists."
+msgstr "Der relocated User „%s“ existiert bereits."
 
 #: VirtualMailManager/Relocated.py:89 VirtualMailManager/Relocated.py:102
 #, python-format
-msgid "The relocated user »%s« doesn't exists."
-msgstr "Der relocated User »%s« existiert nicht."
+msgid "The relocated user “%s” doesn't exists."
+msgstr "Der relocated User „%s“ existiert nicht."
 
 #: VirtualMailManager/Transport.py:29
 msgid "Either tid or transport must be specified."
@@ -284,43 +284,43 @@
 "\tAuf Wiedersehen.\n"
 
 #: VirtualMailManager/VirtualMailManager.py:74
-msgid "No »vmm.cfg« found in: /root:/usr/local/etc:/etc"
-msgstr "Keine »vmm.cfg gefunden in: /root:/usr/local/etc:/etc«"
+msgid "No “vmm.cfg” found in: /root:/usr/local/etc:/etc"
+msgstr "Keine „vmm.cfg“ gefunden in: /root:/usr/local/etc:/etc“"
 
 #: VirtualMailManager/VirtualMailManager.py:85
 #, python-format
 msgid ""
-"fix permissions (%(perms)s) for »%(file)s«\n"
+"fix permissions (%(perms)s) for “%(file)s”\n"
 "`chmod 0600 %(file)s` would be great."
 msgstr ""
-"Bitte Zugriffsrechte (%(perms)s) für »%(file)s« anpassen\n"
+"Bitte Zugriffsrechte (%(perms)s) für „%(file)s“ anpassen\n"
 "`chmod 0600 %(file)s` wäre großartig."
 
 #: VirtualMailManager/VirtualMailManager.py:100
 #, python-format
 msgid ""
-"»%s« is not a directory.\n"
+"“%s” is not a directory.\n"
 "(vmm.cfg: section \"domdir\", option \"base\")"
 msgstr ""
-"»%s« ist kein Verzeichnis.\n"
+"„%s“ ist kein Verzeichnis.\n"
 "(vmm.cfg: Abschnitt \"domdir\", Option \"base\")"
 
 #: VirtualMailManager/VirtualMailManager.py:105
 #, python-format
 msgid ""
-"»%(binary)s« doesn't exists.\n"
+"“%(binary)s” doesn't exists.\n"
 "(vmm.cfg: section \"bin\", option \"%(option)s\")"
 msgstr ""
-"»%(binary)s« existiert nicht.\n"
+"„%(binary)s“ existiert nicht.\n"
 "(vmm.cfg: Abschnitt \"bin\", Option \"%(option)s\")"
 
 #: VirtualMailManager/VirtualMailManager.py:109
 #, python-format
 msgid ""
-"»%(binary)s« is not executable.\n"
+"“%(binary)s” is not executable.\n"
 "(vmm.cfg: section \"bin\", option \"%(option)s\")"
 msgstr ""
-"»%(binary)s« ist nicht ausführbar.\n"
+"„%(binary)s“ ist nicht ausführbar.\n"
 "(vmm.cfg: Abschnitt \"bin\", Option \"%(option)s\")"
 
 #: VirtualMailManager/VirtualMailManager.py:166
@@ -329,8 +329,8 @@
 
 #: VirtualMailManager/VirtualMailManager.py:169
 #, python-format
-msgid "The domain name »%s« is invalid."
-msgstr "Der Domain-Name »%s« ist ungültig."
+msgid "The domain name “%s” is invalid."
+msgstr "Der Domain-Name „%s“ ist ungültig."
 
 #: VirtualMailManager/VirtualMailManager.py:209
 msgid "Enter new password: "
@@ -381,53 +381,49 @@
 
 #: VirtualMailManager/VirtualMailManager.py:477
 #, python-format
-msgid "Invalid section: '%s'"
-msgstr "Ungültiger Abschnitt: '%s'"
+msgid "Invalid section: “%s”"
+msgstr "Ungültiger Abschnitt: „%s“"
 
 #: VirtualMailManager/VirtualMailManager.py:487
-#, python-format
-msgid "Invalid argument: '%s'"
-msgstr "Ungültiges Argument: '%s'"
-
 #: VirtualMailManager/VirtualMailManager.py:497
 #: VirtualMailManager/VirtualMailManager.py:516
 #: VirtualMailManager/VirtualMailManager.py:624
 #: VirtualMailManager/VirtualMailManager.py:655
 #, python-format
-msgid "Invalid argument: »%s«"
-msgstr "Ungültiges Argument: »%s«"
+msgid "Invalid argument: “%s”"
+msgstr "Ungültiges Argument: „%s“"
 
 #: VirtualMailManager/VirtualMailManager.py:520
 msgid ""
-"The keyword »detailed« is deprecated and will be removed in a future "
+"The keyword “detailed” is deprecated and will be removed in a future "
 "release.\n"
-"   Please use the keyword »full« to get full details."
+"   Please use the keyword “full” to get full details."
 msgstr ""
-"Das Schlüsselwort »detailed« ist veraltet und wird in einer zukünftigen\n"
+"Das Schlüsselwort „detailed“ ist veraltet und wird in einer zukünftigen\n"
 "   Version entfernt werden.\n"
-"   Verwenden Sie bitte das Schlüsselwort »full«, um alle Details zu erhalten."
+"   Verwenden Sie bitte das Schlüsselwort „full“, um alle Details zu erhalten."
 
 #: VirtualMailManager/VirtualMailManager.py:593
 #, python-format
-msgid "The pattern »%s« contains invalid characters."
-msgstr "Das Muster »%s« enthält ungültige Zeichen."
+msgid "The pattern “%s” contains invalid characters."
+msgstr "Das Muster „%s“ enthält ungültige Zeichen."
 
 #: VirtualMailManager/VirtualMailManager.py:619
 #, python-format
-msgid "The destination account/alias »%s« doesn't exists yet."
-msgstr "Der Ziel-Account/-Alias »%s« existiert noch nicht."
+msgid "The destination account/alias “%s” doesn't exists yet."
+msgstr "Der Ziel-Account/-Alias „%s“ existiert noch nicht."
 
 #: VirtualMailManager/VirtualMailManager.py:636
 #, python-format
 msgid ""
 "The account has been successfully deleted from the database.\n"
 "    But an error occurred while deleting the following directory:\n"
-"    »%(directory)s«\n"
+"    “%(directory)s”\n"
 "    Reason: %(raeson)s"
 msgstr ""
 "Der Account wurde erfolgreich aus der Datenbank gelöscht.\n"
 "    Aber es trat ein Fehler auf beim Löschen des folgenden Verzeichnisses:\n"
-"    »%(directory)s«\n"
+"    „%(directory)s“\n"
 "    Grund: %(raeson)s"
 
 #: VirtualMailManager/VirtualMailManager.py:676
@@ -437,20 +433,20 @@
 #: VirtualMailManager/VirtualMailManager.py:692
 #: VirtualMailManager/VirtualMailManager.py:702
 msgid ""
-"The service name »managesieve« is deprecated and will be removed\n"
+"The service name “managesieve” is deprecated and will be removed\n"
 "   in a future release.\n"
-"   Please use the service name »sieve« instead."
+"   Please use the service name “sieve” instead."
 msgstr ""
-"Der Servicename »managesieve« ist veraltet und wird in einer zukünftigen\n"
+"Der Servicename „managesieve“ ist veraltet und wird in einer zukünftigen\n"
 "   Version entfernt werden.\n"
-"   Verwenden Sie stattdessen bitte den Servicename »sieve«."
+"   Verwenden Sie stattdessen bitte den Servicename „sieve“."
 
 #: VirtualMailManager/ext/Postconf.py:44
 #, python-format
 msgid ""
-"The value »%s« looks not like a valid postfix configuration parameter name."
+"The value “%s” looks not like a valid postfix configuration parameter name."
 msgstr ""
-"»%s« sieht nicht wie ein gültiger Postfix Konfigurationsparametername aus."
+"„%s“ sieht nicht wie ein gültiger Postfix Konfigurationsparametername aus."
 
 #: vmm:34
 #, python-format
@@ -498,8 +494,8 @@
 
 #: vmm:151
 #, python-format
-msgid "\tUser »%(addr)s« has moved to »%(dest)s«"
-msgstr "\tDer Benutzer »%(addr)s« ist erreichbar unter »%(dest)s«"
+msgid "\tUser “%(addr)s” has moved to “%(dest)s”"
+msgstr "\tDer Benutzer „%(addr)s“ ist erreichbar unter „%(dest)s“"
 
 #: vmm:164
 msgid "Available domains"
--- a/po/vmm.pot	Sun Aug 23 17:08:18 2009 +0000
+++ b/po/vmm.pot	Tue Aug 25 11:08:00 2009 +0000
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: vmm 0.5.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-23 17:45+0200\n"
+"POT-Creation-Date: 2009-08-25 06:07+0200\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"
@@ -18,35 +18,35 @@
 
 #: VirtualMailManager/Account.py:36 VirtualMailManager/Relocated.py:44
 #, python-format
-msgid "There is already an alias with the address »%s«."
+msgid "There is already an alias with the address “%s”."
 msgstr ""
 
 #: VirtualMailManager/Account.py:41 VirtualMailManager/Alias.py:45
 #, python-format
-msgid "There is already a relocated user with the address »%s«."
+msgid "There is already a relocated user with the address “%s”."
 msgstr ""
 
 #: VirtualMailManager/Account.py:61 VirtualMailManager/Alias.py:61
 #: VirtualMailManager/Domain.py:163 VirtualMailManager/Domain.py:189
 #: VirtualMailManager/Domain.py:220 VirtualMailManager/Relocated.py:60
 #, python-format
-msgid "The domain »%s« doesn't exist yet."
+msgid "The domain “%s” doesn't exist yet."
 msgstr ""
 
 #: VirtualMailManager/Account.py:80
 #, python-format
-msgid "Unknown service »%s«."
+msgid "Unknown service “%s”."
 msgstr ""
 
 #: VirtualMailManager/Account.py:83 VirtualMailManager/Account.py:150
 #: VirtualMailManager/Account.py:178 VirtualMailManager/Account.py:212
 #, python-format
-msgid "The account »%s« doesn't exists."
+msgid "The account “%s” doesn't exists."
 msgstr ""
 
 #: VirtualMailManager/Account.py:145
 #, python-format
-msgid "The account »%s« already exists."
+msgid "The account “%s” already exists."
 msgstr ""
 
 #: VirtualMailManager/Account.py:186
@@ -59,7 +59,7 @@
 
 #: VirtualMailManager/Account.py:233
 #, python-format
-msgid "There are %(count)d aliases with the destination address »%(address)s«."
+msgid "There are %(count)d aliases with the destination address “%(address)s”."
 msgstr ""
 
 #: VirtualMailManager/Account.py:241
@@ -72,7 +72,7 @@
 
 #: VirtualMailManager/Account.py:251
 #, python-format
-msgid "There is no account with the UID »%d«."
+msgid "There is no account with the UID “%d”."
 msgstr ""
 
 #: VirtualMailManager/Alias.py:30 VirtualMailManager/Relocated.py:30
@@ -81,13 +81,13 @@
 
 #: VirtualMailManager/Alias.py:40 VirtualMailManager/Relocated.py:39
 #, python-format
-msgid "There is already an account with address »%s«."
+msgid "There is already an account with address “%s”."
 msgstr ""
 
 #: VirtualMailManager/Alias.py:71
 #, python-format
 msgid ""
-"Can't add new destination to alias »%(address)s«.\n"
+"Can't add new destination to alias “%(address)s”.\n"
 "Currently this alias expands into %(count)i recipients.\n"
 "One more destination will render this alias unusable.\n"
 "Hint: Increase Postfix' virtual_alias_expansion_limit\n"
@@ -99,27 +99,27 @@
 
 #: VirtualMailManager/Alias.py:91
 #, python-format
-msgid "The alias »%(a)s« with destination »%(d)s« already exists."
+msgid "The alias “%(a)s” with destination “%(d)s” already exists."
 msgstr ""
 
 #: VirtualMailManager/Alias.py:106 VirtualMailManager/Alias.py:123
 #, python-format
-msgid "The alias »%s« doesn't exists."
+msgid "The alias “%s” doesn't exists."
 msgstr ""
 
 #: VirtualMailManager/Alias.py:125
 #, python-format
-msgid "The alias »%(a)s« with destination »%(d)s« doesn't exists."
+msgid "The alias “%(a)s” with destination “%(d)s” doesn't exists."
 msgstr ""
 
 #: VirtualMailManager/AliasDomain.py:32
 #, python-format
-msgid "The domain »%s« is a primary domain."
+msgid "The domain “%s” is a primary domain."
 msgstr ""
 
 #: VirtualMailManager/AliasDomain.py:37
 #, python-format
-msgid "The alias domain »%s« already exists."
+msgid "The alias domain “%s” already exists."
 msgstr ""
 
 #: VirtualMailManager/AliasDomain.py:40 VirtualMailManager/AliasDomain.py:70
@@ -128,24 +128,24 @@
 
 #: VirtualMailManager/AliasDomain.py:43 VirtualMailManager/AliasDomain.py:73
 #, python-format
-msgid "The target domain »%s« doesn't exist yet."
+msgid "The target domain “%s” doesn't exist yet."
 msgstr ""
 
 #: VirtualMailManager/AliasDomain.py:62
 #, python-format
-msgid "There is no primary domain for the alias domain »%s«."
+msgid "There is no primary domain for the alias domain “%s”."
 msgstr ""
 
 #: VirtualMailManager/AliasDomain.py:65 VirtualMailManager/AliasDomain.py:76
 #: VirtualMailManager/AliasDomain.py:99
 #, python-format
-msgid "The alias domain »%s« doesn't exist yet."
+msgid "The alias domain “%s” doesn't exist yet."
 msgstr ""
 
 #: VirtualMailManager/AliasDomain.py:79
 #, python-format
 msgid ""
-"The alias domain »%(alias)s« is already assigned to the domain »%(domain)s«."
+"The alias domain “%(alias)s” is already assigned to the domain “%(domain)s”."
 msgstr ""
 
 #: VirtualMailManager/Config.py:102 VirtualMailManager/Config.py:137
@@ -165,7 +165,7 @@
 
 #: VirtualMailManager/Config.py:140
 #, python-format
-msgid "* Config section: »%s«"
+msgid "* Config section: “%s”"
 msgstr ""
 
 #: VirtualMailManager/Config.py:143
@@ -175,7 +175,7 @@
 
 #: VirtualMailManager/Domain.py:39
 #, python-format
-msgid "The domain »%s« is an alias domain."
+msgid "The domain “%s” is an alias domain."
 msgstr ""
 
 #: VirtualMailManager/Domain.py:124
@@ -192,22 +192,22 @@
 
 #: VirtualMailManager/Domain.py:145
 #, python-format
-msgid "The domain »%s« already exists."
+msgid "The domain “%s” already exists."
 msgstr ""
 
 #: VirtualMailManager/EmailAddress.py:46
 #, python-format
-msgid "Missing '@' sign in e-mail address »%s«."
+msgid "Missing '@' sign in e-mail address “%s”."
 msgstr ""
 
 #: VirtualMailManager/EmailAddress.py:49
 #, python-format
-msgid "»%s« looks not like an e-mail address."
+msgid "“%s” looks not like an e-mail address."
 msgstr ""
 
 #: VirtualMailManager/EmailAddress.py:54
 #, python-format
-msgid "Missing domain name after »%s@«."
+msgid "Missing domain name after “%s@”."
 msgstr ""
 
 #: VirtualMailManager/EmailAddress.py:66
@@ -216,12 +216,12 @@
 
 #: VirtualMailManager/EmailAddress.py:69
 #, python-format
-msgid "The local part »%s« is too long"
+msgid "The local part “%s” is too long"
 msgstr ""
 
 #: VirtualMailManager/EmailAddress.py:76
 #, python-format
-msgid "The local part »%(lpart)s« contains invalid characters: %(ichrs)s"
+msgid "The local part “%(lpart)s” contains invalid characters: %(ichrs)s"
 msgstr ""
 
 #: VirtualMailManager/MailLocation.py:32
@@ -235,7 +235,7 @@
 #: VirtualMailManager/MailLocation.py:46
 #, python-format
 msgid ""
-"Invalid folder name »%s«, it may consist only of\n"
+"Invalid folder name “%s”, it may consist only of\n"
 "1 - 20 single byte characters (A-Z, a-z, 0-9 and _)."
 msgstr ""
 
@@ -249,12 +249,12 @@
 
 #: VirtualMailManager/Relocated.py:75
 #, python-format
-msgid "The relocated user »%s« already exists."
+msgid "The relocated user “%s” already exists."
 msgstr ""
 
 #: VirtualMailManager/Relocated.py:89 VirtualMailManager/Relocated.py:102
 #, python-format
-msgid "The relocated user »%s« doesn't exists."
+msgid "The relocated user “%s” doesn't exists."
 msgstr ""
 
 #: VirtualMailManager/Transport.py:29
@@ -276,34 +276,34 @@
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:74
-msgid "No »vmm.cfg« found in: /root:/usr/local/etc:/etc"
+msgid "No “vmm.cfg” found in: /root:/usr/local/etc:/etc"
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:85
 #, python-format
 msgid ""
-"fix permissions (%(perms)s) for »%(file)s«\n"
+"fix permissions (%(perms)s) for “%(file)s”\n"
 "`chmod 0600 %(file)s` would be great."
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:100
 #, python-format
 msgid ""
-"»%s« is not a directory.\n"
+"“%s” is not a directory.\n"
 "(vmm.cfg: section \"domdir\", option \"base\")"
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:105
 #, python-format
 msgid ""
-"»%(binary)s« doesn't exists.\n"
+"“%(binary)s” doesn't exists.\n"
 "(vmm.cfg: section \"bin\", option \"%(option)s\")"
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:109
 #, python-format
 msgid ""
-"»%(binary)s« is not executable.\n"
+"“%(binary)s” is not executable.\n"
 "(vmm.cfg: section \"bin\", option \"%(option)s\")"
 msgstr ""
 
@@ -313,7 +313,7 @@
 
 #: VirtualMailManager/VirtualMailManager.py:169
 #, python-format
-msgid "The domain name »%s« is invalid."
+msgid "The domain name “%s” is invalid."
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:209
@@ -363,37 +363,33 @@
 
 #: VirtualMailManager/VirtualMailManager.py:477
 #, python-format
-msgid "Invalid section: '%s'"
+msgid "Invalid section: “%s”"
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:487
-#, python-format
-msgid "Invalid argument: '%s'"
-msgstr ""
-
 #: VirtualMailManager/VirtualMailManager.py:497
 #: VirtualMailManager/VirtualMailManager.py:516
 #: VirtualMailManager/VirtualMailManager.py:624
 #: VirtualMailManager/VirtualMailManager.py:655
 #, python-format
-msgid "Invalid argument: »%s«"
+msgid "Invalid argument: “%s”"
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:520
 msgid ""
-"The keyword »detailed« is deprecated and will be removed in a future "
+"The keyword “detailed” is deprecated and will be removed in a future "
 "release.\n"
-"   Please use the keyword »full« to get full details."
+"   Please use the keyword “full” to get full details."
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:593
 #, python-format
-msgid "The pattern »%s« contains invalid characters."
+msgid "The pattern “%s” contains invalid characters."
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:619
 #, python-format
-msgid "The destination account/alias »%s« doesn't exists yet."
+msgid "The destination account/alias “%s” doesn't exists yet."
 msgstr ""
 
 #: VirtualMailManager/VirtualMailManager.py:636
@@ -401,7 +397,7 @@
 msgid ""
 "The account has been successfully deleted from the database.\n"
 "    But an error occurred while deleting the following directory:\n"
-"    »%(directory)s«\n"
+"    “%(directory)s”\n"
 "    Reason: %(raeson)s"
 msgstr ""
 
@@ -412,15 +408,15 @@
 #: VirtualMailManager/VirtualMailManager.py:692
 #: VirtualMailManager/VirtualMailManager.py:702
 msgid ""
-"The service name »managesieve« is deprecated and will be removed\n"
+"The service name “managesieve” is deprecated and will be removed\n"
 "   in a future release.\n"
-"   Please use the service name »sieve« instead."
+"   Please use the service name “sieve” instead."
 msgstr ""
 
 #: VirtualMailManager/ext/Postconf.py:44
 #, python-format
 msgid ""
-"The value »%s« looks not like a valid postfix configuration parameter name."
+"The value “%s” looks not like a valid postfix configuration parameter name."
 msgstr ""
 
 #: vmm:34
@@ -466,7 +462,7 @@
 
 #: vmm:151
 #, python-format
-msgid "\tUser »%(addr)s« has moved to »%(dest)s«"
+msgid "\tUser “%(addr)s” has moved to “%(dest)s”"
 msgstr ""
 
 #: vmm:164
--- a/vmm	Sun Aug 23 17:08:18 2009 +0000
+++ b/vmm	Tue Aug 25 11:08:00 2009 +0000
@@ -148,7 +148,7 @@
 def _printRelocated(addr_dest):
     msg = _(u'Relocated information')
     w_std('%s\n%s' % (msg, '-'*len(msg)))
-    w_std(_(u'\tUser »%(addr)s« has moved to »%(dest)s«') % addr_dest)
+    w_std(_(u'\tUser “%(addr)s” has moved to “%(dest)s”') % addr_dest)
     print
 
 def _formatDom(domain, main=True):
@@ -485,7 +485,7 @@
             show_version()
         else:
             usage(EXIT.UNKNOWN_COMMAND,
-                    u"%s: »%s«" % (_('Unknown subcommand'), argv[1]))
+                    u"%s: “%s”" % (_('Unknown subcommand'), argv[1]))
         show_warnings()
     except (EOFError, KeyboardInterrupt):
         w_err(EXIT.USER_INTERRUPT, '\n%s!\n' % _(u'Ouch'))