Added comments for the Translation Project. Updated PO template.
authorPascal Volk <neverseen@users.sourceforge.net>
Tue, 20 Oct 2009 02:41:36 +0000
changeset 156 a849843115e9
parent 155 eb866ebb9f2e
child 157 eb3ccf9484b3
Added comments for the Translation Project. Updated PO template.
VirtualMailManager/Account.py
VirtualMailManager/VirtualMailManager.py
po/vmm.pot
vmm
--- a/VirtualMailManager/Account.py	Mon Oct 19 00:56:19 2009 +0000
+++ b/VirtualMailManager/Account.py	Tue Oct 20 02:41:36 2009 +0000
@@ -31,6 +31,9 @@
         self._exists()
         if self._uid < 1 and VMM.VirtualMailManager.aliasExists(self._dbh,
                 self._addr):
+            # TP: Hm, what quotation marks should be used?
+            # If you are unsure have a look at:
+            # http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage
             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,
@@ -190,8 +193,10 @@
             info = dict(zip(keys, info))
             for service in ('smtp', 'pop3', 'imap', sieve_col):
                 if bool(info[service]):
+                    # TP: A service (pop3/imap/…) is enabled/usable for a user
                     info[service] = _('enabled')
                 else:
+                    # TP: A service (pop3/imap) isn't enabled/usable for a user
                     info[service] = _('disabled')
             info['address'] = self._addr
             info['maildir'] = '%s/%s/%s' % (self._base, info['uid'],
--- a/VirtualMailManager/VirtualMailManager.py	Mon Oct 19 00:56:19 2009 +0000
+++ b/VirtualMailManager/VirtualMailManager.py	Tue Oct 20 02:41:36 2009 +0000
@@ -188,7 +188,9 @@
     relocatedExists = staticmethod(relocatedExists)
 
     def _readpass(self):
+        # TP: Please preserve the trailing space.
         readp_msg0 = _(u'Enter new password: ').encode(ENCODING, 'replace')
+        # TP: Please preserve the trailing space.
         readp_msg1 = _(u'Retype new password: ').encode(ENCODING, 'replace')
         mismatched = True
         while mismatched:
--- a/po/vmm.pot	Mon Oct 19 00:56:19 2009 +0000
+++ b/po/vmm.pot	Tue Oct 20 02:41:36 2009 +0000
@@ -7,8 +7,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: vmm 0.5.2\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-25 06:07+0200\n"
+"Report-Msgid-Bugs-To: neverseen@users.sourceforge.net\n"
+"POT-Creation-Date: 2009-10-20 04:15+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"
@@ -16,75 +16,80 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: VirtualMailManager/Account.py:36 VirtualMailManager/Relocated.py:44
+#. TP: Hm, what quotation marks should be used?
+#. If you are unsure have a look at:
+#. http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage
+#: VirtualMailManager/Account.py:37 VirtualMailManager/Relocated.py:42
 #, python-format
 msgid "There is already an alias with the address “%s”."
 msgstr ""
 
-#: VirtualMailManager/Account.py:41 VirtualMailManager/Alias.py:45
+#: VirtualMailManager/Account.py:42 VirtualMailManager/Alias.py:41
 #, python-format
 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
+#: VirtualMailManager/Account.py:62 VirtualMailManager/Alias.py:57
+#: VirtualMailManager/Domain.py:161 VirtualMailManager/Domain.py:187
+#: VirtualMailManager/Domain.py:218 VirtualMailManager/Relocated.py:58
 #, python-format
-msgid "The domain “%s” doesn't exist yet."
+msgid "The domain “%s” doesn't exist."
 msgstr ""
 
-#: VirtualMailManager/Account.py:80
+#: VirtualMailManager/Account.py:81
 #, python-format
 msgid "Unknown service “%s”."
 msgstr ""
 
-#: VirtualMailManager/Account.py:83 VirtualMailManager/Account.py:150
-#: VirtualMailManager/Account.py:178 VirtualMailManager/Account.py:212
+#: VirtualMailManager/Account.py:84 VirtualMailManager/Account.py:157
+#: VirtualMailManager/Account.py:188 VirtualMailManager/Account.py:223
 #, python-format
-msgid "The account “%s” doesn't exists."
+msgid "The account “%s” doesn't exist."
 msgstr ""
 
-#: VirtualMailManager/Account.py:145
+#: VirtualMailManager/Account.py:152
 #, python-format
 msgid "The account “%s” already exists."
 msgstr ""
 
-#: VirtualMailManager/Account.py:186
+#. TP: A service (pop3/imap/…) is enabled/usable for a user
+#: VirtualMailManager/Account.py:197
 msgid "enabled"
 msgstr ""
 
-#: VirtualMailManager/Account.py:188
+#. TP: A service (pop3/imap) isn't enabled/usable for a user
+#: VirtualMailManager/Account.py:200
 msgid "disabled"
 msgstr ""
 
-#: VirtualMailManager/Account.py:233
+#: VirtualMailManager/Account.py:244
 #, python-format
 msgid "There are %(count)d aliases with the destination address “%(address)s”."
 msgstr ""
 
-#: VirtualMailManager/Account.py:241
+#: VirtualMailManager/Account.py:252
 msgid "uid must be an int/long."
 msgstr ""
 
-#: VirtualMailManager/Account.py:243
+#: VirtualMailManager/Account.py:254
 msgid "uid must be greater than 0."
 msgstr ""
 
-#: VirtualMailManager/Account.py:251
+#: VirtualMailManager/Account.py:262
 #, python-format
 msgid "There is no account with the UID “%d”."
 msgstr ""
 
-#: VirtualMailManager/Alias.py:30 VirtualMailManager/Relocated.py:30
+#: VirtualMailManager/Alias.py:28 VirtualMailManager/Relocated.py:28
 msgid "Address and destination are identical."
 msgstr ""
 
-#: VirtualMailManager/Alias.py:40 VirtualMailManager/Relocated.py:39
+#: VirtualMailManager/Alias.py:37 VirtualMailManager/Relocated.py:37
 #, python-format
 msgid "There is already an account with address “%s”."
 msgstr ""
 
-#: VirtualMailManager/Alias.py:71
+#: VirtualMailManager/Alias.py:67
 #, python-format
 msgid ""
 "Can't add new destination to alias “%(address)s”.\n"
@@ -93,333 +98,344 @@
 "Hint: Increase Postfix' virtual_alias_expansion_limit\n"
 msgstr ""
 
-#: VirtualMailManager/Alias.py:80
-msgid "No destination address for alias denoted."
+#: VirtualMailManager/Alias.py:76
+msgid "No destination address specified for alias."
 msgstr ""
 
-#: VirtualMailManager/Alias.py:91
+#: VirtualMailManager/Alias.py:87
 #, python-format
 msgid "The alias “%(a)s” with destination “%(d)s” already exists."
 msgstr ""
 
-#: VirtualMailManager/Alias.py:106 VirtualMailManager/Alias.py:123
+#: VirtualMailManager/Alias.py:100 VirtualMailManager/Alias.py:117
 #, python-format
-msgid "The alias “%s” doesn't exists."
+msgid "The alias “%s” doesn't exist."
 msgstr ""
 
-#: VirtualMailManager/Alias.py:125
+#: VirtualMailManager/Alias.py:119
 #, 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 exist."
 msgstr ""
 
-#: VirtualMailManager/AliasDomain.py:32
+#: VirtualMailManager/AliasDomain.py:30
 #, python-format
 msgid "The domain “%s” is a primary domain."
 msgstr ""
 
-#: VirtualMailManager/AliasDomain.py:37
+#: VirtualMailManager/AliasDomain.py:35
 #, python-format
 msgid "The alias domain “%s” already exists."
 msgstr ""
 
-#: VirtualMailManager/AliasDomain.py:40 VirtualMailManager/AliasDomain.py:70
-msgid "No destination domain for alias domain denoted."
+#: VirtualMailManager/AliasDomain.py:38 VirtualMailManager/AliasDomain.py:68
+msgid "No destination domain specified for alias domain."
 msgstr ""
 
-#: VirtualMailManager/AliasDomain.py:43 VirtualMailManager/AliasDomain.py:73
+#: VirtualMailManager/AliasDomain.py:41 VirtualMailManager/AliasDomain.py:71
 #, python-format
-msgid "The target domain “%s” doesn't exist yet."
+msgid "The target domain “%s” doesn't exist."
 msgstr ""
 
-#: VirtualMailManager/AliasDomain.py:62
+#: VirtualMailManager/AliasDomain.py:60
 #, python-format
 msgid "There is no primary domain for the alias domain “%s”."
 msgstr ""
 
-#: VirtualMailManager/AliasDomain.py:65 VirtualMailManager/AliasDomain.py:76
-#: VirtualMailManager/AliasDomain.py:99
+#: VirtualMailManager/AliasDomain.py:63 VirtualMailManager/AliasDomain.py:74
+#: VirtualMailManager/AliasDomain.py:97
 #, python-format
-msgid "The alias domain “%s” doesn't exist yet."
+msgid "The alias domain “%s” doesn't exist."
 msgstr ""
 
-#: VirtualMailManager/AliasDomain.py:79
+#: VirtualMailManager/AliasDomain.py:77
 #, python-format
 msgid ""
 "The alias domain “%(alias)s” is already assigned to the domain “%(domain)s”."
 msgstr ""
 
-#: VirtualMailManager/Config.py:102 VirtualMailManager/Config.py:137
+#: VirtualMailManager/Config.py:90 VirtualMailManager/Config.py:125
 #, python-format
 msgid "Using configuration file: %s\n"
 msgstr ""
 
-#: VirtualMailManager/Config.py:106
+#: VirtualMailManager/Config.py:94
 #, python-format
 msgid "missing section: %s\n"
 msgstr ""
 
-#: VirtualMailManager/Config.py:108
+#: VirtualMailManager/Config.py:96
 #, python-format
 msgid "missing options in section %s:\n"
 msgstr ""
 
-#: VirtualMailManager/Config.py:140
+#: VirtualMailManager/Config.py:128
 #, python-format
 msgid "* Config section: “%s”"
 msgstr ""
 
-#: VirtualMailManager/Config.py:143
+#: VirtualMailManager/Config.py:131
 #, python-format
 msgid "Enter new value for option %(opt)s [%(val)s]: "
 msgstr ""
 
-#: VirtualMailManager/Domain.py:39
+#: VirtualMailManager/Domain.py:37
 #, python-format
 msgid "The domain “%s” is an alias domain."
 msgstr ""
 
-#: VirtualMailManager/Domain.py:124
+#: VirtualMailManager/Domain.py:122
 msgid "There are accounts and aliases."
 msgstr ""
 
-#: VirtualMailManager/Domain.py:127
+#: VirtualMailManager/Domain.py:125
 msgid "There are accounts."
 msgstr ""
 
-#: VirtualMailManager/Domain.py:130
+#: VirtualMailManager/Domain.py:128
 msgid "There are aliases."
 msgstr ""
 
-#: VirtualMailManager/Domain.py:145
+#: VirtualMailManager/Domain.py:143
 #, python-format
 msgid "The domain “%s” already exists."
 msgstr ""
 
-#: VirtualMailManager/EmailAddress.py:46
+#: VirtualMailManager/EmailAddress.py:42
 #, python-format
 msgid "Missing '@' sign in e-mail address “%s”."
 msgstr ""
 
-#: VirtualMailManager/EmailAddress.py:49
+#: VirtualMailManager/EmailAddress.py:45
 #, python-format
-msgid "“%s” looks not like an e-mail address."
+msgid "“%s” doesn't look like an e-mail address."
 msgstr ""
 
-#: VirtualMailManager/EmailAddress.py:54
+#: VirtualMailManager/EmailAddress.py:50
 #, python-format
 msgid "Missing domain name after “%s@”."
 msgstr ""
 
-#: VirtualMailManager/EmailAddress.py:66
-msgid "No localpart specified."
+#: VirtualMailManager/EmailAddress.py:62
+msgid "No local-part specified."
 msgstr ""
 
-#: VirtualMailManager/EmailAddress.py:69
+#: VirtualMailManager/EmailAddress.py:65
 #, python-format
-msgid "The local part “%s” is too long"
+msgid "The local-part “%s” is too long"
 msgstr ""
 
-#: VirtualMailManager/EmailAddress.py:76
+#: VirtualMailManager/EmailAddress.py:72
 #, 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
+#: VirtualMailManager/MailLocation.py:28
 msgid "Either mid or maillocation must be specified."
 msgstr ""
 
-#: VirtualMailManager/MailLocation.py:38
+#: VirtualMailManager/MailLocation.py:34
 msgid "mid must be an int/long."
 msgstr ""
 
-#: VirtualMailManager/MailLocation.py:46
+#: VirtualMailManager/MailLocation.py:42
 #, python-format
 msgid ""
 "Invalid folder name “%s”, it may consist only of\n"
 "1 - 20 single byte characters (A-Z, a-z, 0-9 and _)."
 msgstr ""
 
-#: VirtualMailManager/MailLocation.py:59
+#: VirtualMailManager/MailLocation.py:55
 msgid "Unknown mid specified."
 msgstr ""
 
-#: VirtualMailManager/Relocated.py:65
-msgid "No destination address for relocated user denoted."
+#: VirtualMailManager/Relocated.py:64
+msgid "No destination address specified for relocated user."
 msgstr ""
 
-#: VirtualMailManager/Relocated.py:75
+#: VirtualMailManager/Relocated.py:74
 #, python-format
 msgid "The relocated user “%s” already exists."
 msgstr ""
 
-#: VirtualMailManager/Relocated.py:89 VirtualMailManager/Relocated.py:102
+#: VirtualMailManager/Relocated.py:88 VirtualMailManager/Relocated.py:101
 #, python-format
-msgid "The relocated user “%s” doesn't exists."
+msgid "The relocated user “%s” doesn't exist."
 msgstr ""
 
-#: VirtualMailManager/Transport.py:29
+#: VirtualMailManager/Transport.py:27
 msgid "Either tid or transport must be specified."
 msgstr ""
 
-#: VirtualMailManager/Transport.py:35
+#: VirtualMailManager/Transport.py:33
 msgid "tid must be an int/long."
 msgstr ""
 
-#: VirtualMailManager/Transport.py:63
+#: VirtualMailManager/Transport.py:61
 msgid "Unknown tid specified."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:54
+#: VirtualMailManager/VirtualMailManager.py:47
 msgid ""
 "You are not root.\n"
 "\tGood bye!\n"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:74
+#: VirtualMailManager/VirtualMailManager.py:67
 msgid "No “vmm.cfg” found in: /root:/usr/local/etc:/etc"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:85
+#: VirtualMailManager/VirtualMailManager.py:78
 #, python-format
 msgid ""
 "fix permissions (%(perms)s) for “%(file)s”\n"
 "`chmod 0600 %(file)s` would be great."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:100
+#: VirtualMailManager/VirtualMailManager.py:93
 #, python-format
 msgid ""
 "“%s” is not a directory.\n"
 "(vmm.cfg: section \"domdir\", option \"base\")"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:105
+#: VirtualMailManager/VirtualMailManager.py:98
 #, python-format
 msgid ""
-"“%(binary)s” doesn't exists.\n"
+"“%(binary)s” doesn't exist.\n"
 "(vmm.cfg: section \"bin\", option \"%(option)s\")"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:109
+#: VirtualMailManager/VirtualMailManager.py:102
 #, python-format
 msgid ""
 "“%(binary)s” is not executable.\n"
 "(vmm.cfg: section \"bin\", option \"%(option)s\")"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:166
+#: VirtualMailManager/VirtualMailManager.py:150
 msgid "The domain name is too long."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:169
+#: VirtualMailManager/VirtualMailManager.py:153
 #, python-format
 msgid "The domain name “%s” is invalid."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:209
+#. TP: Please preserve the trailing space.
+#: VirtualMailManager/VirtualMailManager.py:192
 msgid "Enter new password: "
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:210
+#. TP: Please preserve the trailing space.
+#: VirtualMailManager/VirtualMailManager.py:194
 msgid "Retype new password: "
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:212
+#: VirtualMailManager/VirtualMailManager.py:200
 msgid "Sorry, passwords do not match"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:216
+#: VirtualMailManager/VirtualMailManager.py:203
 msgid "Sorry, empty passwords are not permitted"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:265
-#: VirtualMailManager/VirtualMailManager.py:352
+#: VirtualMailManager/VirtualMailManager.py:251
+#: VirtualMailManager/VirtualMailManager.py:338
 #, python-format
 msgid "No such directory: %s"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:340
+#: VirtualMailManager/VirtualMailManager.py:326
 msgid "Found \"..\" in home directory path."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:348
-msgid "Owner/group mismatch in home directory detected."
+#: VirtualMailManager/VirtualMailManager.py:334
+msgid "Detected owner/group mismatch in home directory."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:364
-msgid "FATAL: \"..\" in domain directory path detected."
+#: VirtualMailManager/VirtualMailManager.py:349
+msgid "Found \"..\" in domain directory path."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:370
-msgid "FATAL: group mismatch in domain directory detected"
+#: VirtualMailManager/VirtualMailManager.py:355
+msgid "Detected group mismatch in domain directory."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:457
+#: VirtualMailManager/VirtualMailManager.py:439
 #, python-format
 msgid ""
-"Configurtion error: \"%s\"\n"
-"(in section \"connfig\", option \"done\") see also: vmm.cfg(5)\n"
+"Configuration error: \"%s\"\n"
+"(in section \"config\", option \"done\") see also: vmm.cfg(5)\n"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:477
+#: VirtualMailManager/VirtualMailManager.py:459
 #, python-format
 msgid "Invalid section: “%s”"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:487
-#: VirtualMailManager/VirtualMailManager.py:497
-#: VirtualMailManager/VirtualMailManager.py:516
-#: VirtualMailManager/VirtualMailManager.py:624
-#: VirtualMailManager/VirtualMailManager.py:655
+#: VirtualMailManager/VirtualMailManager.py:469
+#: VirtualMailManager/VirtualMailManager.py:479
+#: VirtualMailManager/VirtualMailManager.py:498
+#: VirtualMailManager/VirtualMailManager.py:606
+#: VirtualMailManager/VirtualMailManager.py:637
 #, python-format
 msgid "Invalid argument: “%s”"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:520
+#: VirtualMailManager/VirtualMailManager.py:502
 msgid ""
 "The keyword “detailed” is deprecated and will be removed in a future "
 "release.\n"
 "   Please use the keyword “full” to get full details."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:593
+#: VirtualMailManager/VirtualMailManager.py:575
 #, python-format
 msgid "The pattern “%s” contains invalid characters."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:619
+#: VirtualMailManager/VirtualMailManager.py:601
 #, python-format
-msgid "The destination account/alias “%s” doesn't exists yet."
+msgid "The destination account/alias “%s” doesn't exist."
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:636
+#: VirtualMailManager/VirtualMailManager.py:618
 #, 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"
-"    Reason: %(raeson)s"
+"    Reason: %(reason)s"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:676
-msgid "Account doesn't exists"
+#: VirtualMailManager/VirtualMailManager.py:658
+msgid "Account doesn't exist"
 msgstr ""
 
-#: VirtualMailManager/VirtualMailManager.py:692
-#: VirtualMailManager/VirtualMailManager.py:702
+#: VirtualMailManager/VirtualMailManager.py:674
+#: VirtualMailManager/VirtualMailManager.py:684
 msgid ""
 "The service name “managesieve” is deprecated and will be removed\n"
 "   in a future release.\n"
 "   Please use the service name “sieve” instead."
 msgstr ""
 
-#: VirtualMailManager/ext/Postconf.py:44
+#: VirtualMailManager/ext/Postconf.py:41
 #, python-format
 msgid ""
-"The value “%s” looks not like a valid postfix configuration parameter name."
+"The value “%s” doesn't look like a valid postfix configuration parameter "
+"name."
 msgstr ""
 
-#: vmm:34
+#. TP: Please adjust translated words like the original text.
+#. (It's a table header.) Extract from usage text:
+#. Usage: vmm SUBCOMMAND OBJECT ARGS*
+#. short long
+#. subcommand               object             args (* = optional)
+#.
+#. da    domainadd          domain.tld         transport*
+#. di    domaininfo         domain.tld         details*
+#: vmm:26
 #, python-format
 msgid ""
 "Usage: %s SUBCOMMAND OBJECT ARGS*\n"
@@ -427,171 +443,197 @@
 "  subcommand               object             args (* = optional)\n"
 msgstr ""
 
-#: vmm:73 vmm:84 vmm:494
-msgid "Error"
+#: vmm:65 vmm:76
+#, python-format
+msgid "Error: %s\n"
 msgstr ""
 
-#: vmm:111
+#. TP: e.g. 'Domain information' or 'Account information'
+#: vmm:104
 msgid "information"
 msgstr ""
 
-#: vmm:121
+#. TP: e.g. 'Available alias addresses' or 'Available accounts'
+#: vmm:115
 msgid "Available"
 msgstr ""
 
-#: vmm:124 vmm:223 vmm:229
+#: vmm:118 vmm:218 vmm:224
 msgid "alias domains"
 msgstr ""
 
-#: vmm:134 vmm:145 vmm:169
+#: vmm:128 vmm:139 vmm:163
 msgid "\tNone"
 msgstr ""
 
-#: vmm:138
+#: vmm:132
 msgid "Alias information"
 msgstr ""
 
-#: vmm:140
+#: vmm:134
 #, python-format
 msgid "\tMail for %s will be redirected to:"
 msgstr ""
 
-#: vmm:149
+#: vmm:143
 msgid "Relocated information"
 msgstr ""
 
-#: vmm:151
+#: vmm:145
 #, python-format
 msgid "\tUser “%(addr)s” has moved to “%(dest)s”"
 msgstr ""
 
-#: vmm:164
+#: vmm:158
 msgid "Available domains"
 msgstr ""
 
-#: vmm:166
+#: vmm:160
 msgid "Matching domains"
 msgstr ""
 
+#: vmm:174
+msgid "Alias domain information"
+msgstr ""
+
 #: vmm:180
-msgid "Alias domain information"
-msgstr ""
-
-#: vmm:186
 #, python-format
 msgid ""
 "\tThe alias domain %(alias)s belongs to:\n"
 "\t    * %(domain)s"
 msgstr ""
 
-#: vmm:197 vmm:205 vmm:213
+#: vmm:191 vmm:199 vmm:207
 msgid "Missing domain name."
 msgstr ""
 
-#: vmm:215 vmm:219
+#: vmm:210 vmm:214
 msgid "Domain"
 msgstr ""
 
-#: vmm:221 vmm:230
+#: vmm:216 vmm:225
 msgid "accounts"
 msgstr ""
 
-#: vmm:225 vmm:231
+#: vmm:220 vmm:226
 msgid "aliases"
 msgstr ""
 
-#: vmm:227 vmm:232
+#: vmm:222 vmm:227
 msgid "relocated users"
 msgstr ""
 
-#: vmm:236
+#: vmm:238
 msgid "Missing domain name and new transport."
 msgstr ""
 
-#: vmm:238
+#: vmm:240
 msgid "Missing new transport."
 msgstr ""
 
-#: vmm:247 vmm:262
+#: vmm:249 vmm:272
 msgid "Missing alias domain name and target domain name."
 msgstr ""
 
-#: vmm:249 vmm:264
+#: vmm:251 vmm:274
 msgid "Missing target domain name."
 msgstr ""
 
-#: vmm:255 vmm:270
+#: vmm:257 vmm:280
 msgid "Missing alias domain name."
 msgstr ""
 
-#: vmm:276 vmm:285 vmm:293 vmm:323 vmm:331 vmm:339
+#: vmm:286 vmm:295 vmm:303 vmm:345 vmm:353 vmm:361
 msgid "Missing e-mail address."
 msgstr ""
 
-#: vmm:301
+#: vmm:312
 msgid "alias addresses"
 msgstr ""
 
-#: vmm:307
-msgid "Missing e-mail address and users name."
+#: vmm:329
+msgid "Missing e-mail address and user’s name."
 msgstr ""
 
-#: vmm:309
-msgid "Missing users name."
+#: vmm:331
+msgid "Missing user’s name."
 msgstr ""
 
-#: vmm:315
+#: vmm:337
 msgid "Missing e-mail address and transport."
 msgstr ""
 
-#: vmm:317
+#: vmm:339
 msgid "Missing transport."
 msgstr ""
 
-#: vmm:348
+#: vmm:370
 msgid "Missing alias address and destination."
 msgstr ""
 
-#: vmm:350 vmm:373
+#: vmm:372 vmm:407
 msgid "Missing destination address."
 msgstr ""
 
-#: vmm:356 vmm:362
+#: vmm:378 vmm:396
 msgid "Missing alias address"
 msgstr ""
 
-#: vmm:371
+#: vmm:405
 msgid "Missing relocated address and destination."
 msgstr ""
 
-#: vmm:379 vmm:387
+#: vmm:413 vmm:431
 msgid "Missing relocated address"
 msgstr ""
 
-#: vmm:393
+#: vmm:437
 msgid "Missing userid"
 msgstr ""
 
-#: vmm:406
+#: vmm:450
 msgid "Warnings:"
 msgstr ""
 
-#: vmm:412
+#: vmm:460
 msgid "from"
 msgstr ""
 
-#: vmm:412
+#. TP: The words 'from', 'version' and 'on' are used in the version
+#. information:
+#. vmm, version 0.5.2 (from 09/09/09)
+#. Python 2.5.4 on FreeBSD
+#: vmm:460
 msgid "version"
 msgstr ""
 
-#: vmm:414
+#: vmm:463
 msgid "on"
 msgstr ""
 
-#: vmm:488
-msgid "Unknown subcommand"
+#: vmm:464
+msgid "is free software and comes with ABSOLUTELY NO WARRANTY."
+msgstr ""
+
+#: vmm:472
+#, python-format
+msgid "Plan A failed ... trying Plan B: %(subcommand)s %(address)s"
 msgstr ""
 
-#: vmm:491
-msgid "Ouch"
+#: vmm:535
+#, python-format
+msgid "Unknown subcommand: “%s”"
 msgstr ""
+
+#. TP: We have to cry, because the user has killed/interrupted vmm with
+#. Ctrl+C or Ctrl+D.
+#: vmm:540
+msgid ""
+"\n"
+"Ouch!\n"
+msgstr ""
+
+#: vmm:543
+#, python-format
+msgid "Error: %s"
+msgstr ""
--- a/vmm	Mon Oct 19 00:56:19 2009 +0000
+++ b/vmm	Tue Oct 20 02:41:36 2009 +0000
@@ -15,6 +15,14 @@
 
 
 def usage(excode=0, errMsg=None):
+    # TP: Please adjust translated words like the original text.
+    # (It's a table header.) Extract from usage text:
+    # Usage: vmm SUBCOMMAND OBJECT ARGS*
+    #  short long
+    #  subcommand               object             args (* = optional)
+    #
+    #  da    domainadd          domain.tld         transport*
+    #  di    domaininfo         domain.tld         details*
     u_head = _(u"""\
 Usage: %s SUBCOMMAND OBJECT ARGS*
   short long
@@ -54,7 +62,7 @@
         if errMsg is None:
             w_err(excode, u_head, u_body)
         else:
-            w_err(excode, u_head, u_body, '%s: %s\n' % (_(u'Error'), errMsg))
+            w_err(excode, u_head, u_body, _(u'Error: %s\n') % errMsg)
     else:
         w_std(u_head, u_body)
         os.sys.exit(excode)
@@ -65,7 +73,7 @@
         return vmm
     except (VMME.VMMException, VMME.VMMNotRootException, VMME.VMMPermException,
             VMME.VMMConfigException), e:
-        w_err(e.code(), "%s: %s\n" % (_(u'Error'), e.msg()))
+        w_err(e.code(), _(u'Error: %s\n') % e.msg())
 
 def _getOrder():
     order = ()
@@ -92,6 +100,7 @@
     return order
 
 def _printInfo(info, title):
+    # TP: e.g. 'Domain information' or 'Account information'
     msg = u'%s %s' % (title, _(u'information'))
     w_std (u'%s\n%s' % (msg, u'-'*len(msg)))
     for k,u in _getOrder():
@@ -102,6 +111,7 @@
     print
 
 def _printList(alist, title):
+    # TP: e.g. 'Available alias addresses' or 'Available accounts'
     msg = u'%s %s' % (_(u'Available'), title)
     w_std(u'%s\n%s' % (msg, u'-'*len(msg)))
     if len(alist) > 0:
@@ -443,11 +453,15 @@
 
 def show_version():
     w_std('%s, %s %s (%s %s)\nPython %s %s %s\n\n%s %s' % (__prog__,
+    # TP: The words 'from', 'version' and 'on' are used in the version
+    # information:
+    # vmm, version 0.5.2 (from 09/09/09)
+    # Python 2.5.4 on FreeBSD
         _(u'version'), __version__, _(u'from'),
         strftime(locale.nl_langinfo(locale.D_FMT),
             strptime(__date__, '%Y-%m-%d')).decode(ENCODING, 'replace'),
         os.sys.version.split()[0], _(u'on'), os.uname()[0], __prog__,
-        'is free software and comes with ABSOLUTELY NO WARRANTY.'))
+        _(u'is free software and comes with ABSOLUTELY NO WARRANTY.')))
 
 #def main():
 if __name__ == '__main__':
@@ -518,13 +532,14 @@
         elif argv[1] in (u'v', u'version'):
             show_version()
         else:
-            usage(EXIT.UNKNOWN_COMMAND,
-                    u"%s: “%s”" % (_(u'Unknown subcommand'), argv[1]))
+            usage(EXIT.UNKNOWN_COMMAND, _(u'Unknown subcommand: “%s”')% argv[1])
         show_warnings()
     except (EOFError, KeyboardInterrupt):
-        w_err(EXIT.USER_INTERRUPT, '\n%s!\n' % _(u'Ouch'))
+        # TP: We have to cry, because the user has killed/interrupted vmm with
+        # Ctrl+C or Ctrl+D.
+        w_err(EXIT.USER_INTERRUPT, _(u'\nOuch!\n'))
     except (VMME.VMMConfigException, VMME.VMMException), e:
         if e.code() != ERR.DATABASE_ERROR:
-            w_err(e.code(), "%s: %s" % (_(u'Error'), e.msg()))
+            w_err(e.code(), _(u'Error: %s') % e.msg())
         else:
-            w_err(e.code(), "%s" % unicode(e.msg(), ENCODING, 'replace'))
+            w_err(e.code(), unicode(e.msg(), ENCODING, 'replace'))