po/POTFILES.in po/POTFILES.skip po/pykolab.pot

Thomas Brüderli bruederli at kolabsys.com
Mon Aug 25 16:03:43 CEST 2014


 po/POTFILES.in   |    2 
 po/POTFILES.skip |    2 
 po/pykolab.pot   |  806 +++++++++++++++++++++++++++++++++++--------------------
 3 files changed, 519 insertions(+), 291 deletions(-)

New commits:
commit 0dedc8f52a0f8e3a98b9558559947946132098c7
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Fri Aug 22 16:30:38 2014 -0400

    Updated localization source files

diff --git a/po/POTFILES.in b/po/POTFILES.in
index 42d9803..8afa8b9 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -115,6 +115,7 @@ pykolab/xml/contact_reference.py
 pykolab/xml/event.py
 pykolab/xml/__init__.py
 pykolab/xml/recurrence_rule.py
+pykolab/xml/todo.py
 pykolab/xml/utils.py
 saslauthd/__init__.py
 saslauthd.py
@@ -171,6 +172,7 @@ tests/unit/test-011-wallace_resources.py
 tests/unit/test-012-wallace_invitationpolicy.py
 tests/unit/test-014-conf-and-raw.py
 tests/unit/test-015-translate.py
+tests/unit/test-016-todo.py
 test-wallace.py
 ucs/kolab_sieve.py
 ucs/listener.py
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index feb5583..91d4f18 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -40,6 +40,7 @@ pykolab/xml/._contact_reference.py
 pykolab/xml/._event.py
 pykolab/xml/.___init__.py
 pykolab/xml/._recurrence_rule.py
+pykolab/xml/._todo.py
 pykolab/xml/._utils.py
 tests/functional/._purge_users.py
 tests/functional/._resource_func.py
@@ -69,6 +70,7 @@ tests/unit/._test-011-wallace_resources.py
 tests/unit/._test-012-wallace_invitationpolicy.py
 tests/unit/._test-014-conf-and-raw.py
 tests/unit/._test-015-translate.py
+tests/unit/._test-016-todo.py
 wallace/.___init__.py
 wallace/._module_gpgencrypt.py
 wallace/._module_invitationpolicy.py
diff --git a/po/pykolab.pot b/po/pykolab.pot
index 6e4a662..d2152f1 100644
--- a/po/pykolab.pot
+++ b/po/pykolab.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-08-07 11:26-0400\n"
+"POT-Creation-Date: 2014-08-22 16:29-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -310,46 +310,46 @@ msgstr ""
 msgid "Path to the PID file to use."
 msgstr ""
 
-#: ../kolabd/__init__.py:74 ../saslauthd/__init__.py:76
+#: ../kolabd/__init__.py:74 ../saslauthd/__init__.py:85
 #: ../wallace/__init__.py:135
 msgid "Run as user USERNAME"
 msgstr ""
 
-#: ../kolabd/__init__.py:84 ../saslauthd/__init__.py:86
+#: ../kolabd/__init__.py:84 ../saslauthd/__init__.py:95
 #: ../wallace/__init__.py:109
 msgid "Run as group GROUPNAME"
 msgstr ""
 
 #: ../kolabd/__init__.py:122 ../pykolab/logger.py:139 ../pykolab/utils.py:234
-#: ../saslauthd/__init__.py:292 ../wallace/__init__.py:329
+#: ../saslauthd/__init__.py:301 ../wallace/__init__.py:329
 #, python-format
 msgid "Group %s does not exist"
 msgstr ""
 
-#: ../kolabd/__init__.py:131 ../saslauthd/__init__.py:301
+#: ../kolabd/__init__.py:131 ../saslauthd/__init__.py:310
 #: ../wallace/__init__.py:338
 #, python-format
 msgid "Switching real and effective group id to %d"
 msgstr ""
 
 #: ../kolabd/__init__.py:153 ../pykolab/logger.py:159 ../pykolab/utils.py:258
-#: ../saslauthd/__init__.py:323 ../wallace/__init__.py:360
+#: ../saslauthd/__init__.py:332 ../wallace/__init__.py:360
 #, python-format
 msgid "User %s does not exist"
 msgstr ""
 
-#: ../kolabd/__init__.py:163 ../saslauthd/__init__.py:333
+#: ../kolabd/__init__.py:163 ../saslauthd/__init__.py:342
 #: ../wallace/__init__.py:370
 #, python-format
 msgid "Switching real and effective user id to %d"
 msgstr ""
 
-#: ../kolabd/__init__.py:172 ../saslauthd/__init__.py:342
+#: ../kolabd/__init__.py:172 ../saslauthd/__init__.py:351
 #: ../wallace/__init__.py:379
 msgid "Could not change real and effective uid and/or gid"
 msgstr ""
 
-#: ../kolabd/__init__.py:192 ../saslauthd/__init__.py:133
+#: ../kolabd/__init__.py:192 ../saslauthd/__init__.py:142
 #: ../wallace/__init__.py:399
 msgid "Interrupted by user"
 msgstr ""
@@ -358,7 +358,7 @@ msgstr ""
 msgid "Traceback occurred, please report a "
 msgstr ""
 
-#: ../kolabd/__init__.py:203 ../saslauthd/__init__.py:141
+#: ../kolabd/__init__.py:203 ../saslauthd/__init__.py:150
 #: ../wallace/__init__.py:408
 #, python-format
 msgid "Type Error: %s"
@@ -368,7 +368,7 @@ msgstr ""
 msgid "Could not connect to LDAP, is it running?"
 msgstr ""
 
-#: ../kolabd/__init__.py:233 ../pykolab/auth/ldap/__init__.py:2166
+#: ../kolabd/__init__.py:233 ../pykolab/auth/ldap/__init__.py:2171
 #: ../pykolab/cli/cmd_sync.py:36
 msgid "Listing domains..."
 msgstr ""
@@ -377,7 +377,7 @@ msgstr ""
 msgid "No domains. Not syncing"
 msgstr ""
 
-#: ../kolabd/__init__.py:275
+#: ../kolabd/__init__.py:279
 #, python-format
 msgid "added domains: %r, removed domains: %r"
 msgstr ""
@@ -668,95 +668,95 @@ msgstr ""
 msgid "Invalid DN, username and/or password."
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:1237 ../pykolab/auth/ldap/__init__.py:1254
-#: ../pykolab/auth/ldap/__init__.py:1616 ../pykolab/auth/ldap/__init__.py:1633
+#: ../pykolab/auth/ldap/__init__.py:1240 ../pykolab/auth/ldap/__init__.py:1257
+#: ../pykolab/auth/ldap/__init__.py:1621 ../pykolab/auth/ldap/__init__.py:1638
 #, python-format
 msgid "Found a subject %r with access %r"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:1357
+#: ../pykolab/auth/ldap/__init__.py:1359
 #, python-format
 msgid "Entry %s attribute value: %r"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:1365
+#: ../pykolab/auth/ldap/__init__.py:1367
 #, python-format
 msgid "imap.user_mailbox_server(%r) result: %r"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:1685 ../pykolab/auth/ldap/__init__.py:1882
+#: ../pykolab/auth/ldap/__init__.py:1687 ../pykolab/auth/ldap/__init__.py:1887
 #, python-format
 msgid "Result from recipient policy: %r"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:1937
+#: ../pykolab/auth/ldap/__init__.py:1942
 #, python-format
 msgid "Kolab user %s does not have a result attribute %r"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2096
+#: ../pykolab/auth/ldap/__init__.py:2101
 #, python-format
 msgid "Finding domain root dn for domain %s"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2193
+#: ../pykolab/auth/ldap/__init__.py:2198
 msgid "Authentication database DOWN"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2277 ../pykolab/auth/ldap/__init__.py:2325
+#: ../pykolab/auth/ldap/__init__.py:2282 ../pykolab/auth/ldap/__init__.py:2330
 #, python-format
 msgid "Entry type: %s"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2414
+#: ../pykolab/auth/ldap/__init__.py:2419
 msgid "LDAP Search Result Data Entry:"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2430
+#: ../pykolab/auth/ldap/__init__.py:2435
 msgid "Entry Change Notification attributes:"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2435
+#: ../pykolab/auth/ldap/__init__.py:2440
 #, python-format
 msgid "Change Type: %r (%r)"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2443
+#: ../pykolab/auth/ldap/__init__.py:2448
 #, python-format
 msgid "Previous DN: %r"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2498
+#: ../pykolab/auth/ldap/__init__.py:2503
 #, python-format
 msgid "Object %s searched no longer exists"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2508
+#: ../pykolab/auth/ldap/__init__.py:2513
 #, python-format
 msgid "%d results..."
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2611
+#: ../pykolab/auth/ldap/__init__.py:2616
 #, python-format
 msgid "Searching with filter %r"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2663
+#: ../pykolab/auth/ldap/__init__.py:2668
 #, python-format
 msgid "Checking for support for %s on %s"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2682
+#: ../pykolab/auth/ldap/__init__.py:2687
 #, python-format
 msgid "Found support for %s"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2727
+#: ../pykolab/auth/ldap/__init__.py:2732
 #, python-format
 msgid "An error occured using %s: %r"
 msgstr ""
 
-#: ../pykolab/auth/ldap/__init__.py:2733
+#: ../pykolab/auth/ldap/__init__.py:2738
 #, python-format
 msgid "%s"
 msgstr ""
@@ -1489,27 +1489,28 @@ msgid "This program has 9 levels of verbosity. Using the maximum of 9."
 msgstr ""
 
 #: ../pykolab/conf/__init__.py:585 ../pykolab/conf/__init__.py:591
+#: ../pykolab/conf/__init__.py:595 ../pykolab/conf/__init__.py:601
 msgid "Cannot start SASL authentication daemon"
 msgstr ""
 
-#: ../pykolab/conf/__init__.py:602
+#: ../pykolab/conf/__init__.py:612
 msgid "No imaplib library found."
 msgstr ""
 
-#: ../pykolab/conf/__init__.py:612
+#: ../pykolab/conf/__init__.py:622
 msgid "No LMTP class found in the smtplib library."
 msgstr ""
 
-#: ../pykolab/conf/__init__.py:622
+#: ../pykolab/conf/__init__.py:632
 msgid "No SMTP class found in the smtplib library."
 msgstr ""
 
-#: ../pykolab/conf/__init__.py:636
+#: ../pykolab/conf/__init__.py:646
 #, python-format
 msgid "Found you specified a specific set of items to test: %s"
 msgstr ""
 
-#: ../pykolab/conf/__init__.py:644
+#: ../pykolab/conf/__init__.py:654
 #, python-format
 msgid "Selectively selecting: %s"
 msgstr ""
@@ -1699,174 +1700,179 @@ msgstr ""
 msgid "%r has no attribute %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:396 ../pykolab/imap/__init__.py:431
+#: ../pykolab/imap/__init__.py:373
+#, python-format
+msgid "Could not set ACL for %s on folder %s: %r"
+msgstr ""
+
+#: ../pykolab/imap/__init__.py:407 ../pykolab/imap/__init__.py:442
 #, python-format
 msgid "Creating new shared folder %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:456 ../pykolab/imap/__init__.py:678
+#: ../pykolab/imap/__init__.py:467 ../pykolab/imap/__init__.py:689
 #, python-format
 msgid "Downcasing mailbox name %r"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:460
+#: ../pykolab/imap/__init__.py:471
 #, python-format
 msgid "Creating new mailbox for user %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:473
+#: ../pykolab/imap/__init__.py:484
 msgid "Waiting for the Cyrus IMAP Murder to settle..."
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:519
+#: ../pykolab/imap/__init__.py:530
 #, python-format
 msgid "Creating additional folders for user %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:538
+#: ../pykolab/imap/__init__.py:549
 #, python-format
 msgid "Waiting for the Cyrus murder to settle... %r"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:550
+#: ../pykolab/imap/__init__.py:561
 #, python-format
 msgid "Correcting additional folder name from %r to %r"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:556
+#: ../pykolab/imap/__init__.py:567
 #, python-format
 msgid "Mailbox already exists: %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:596
+#: ../pykolab/imap/__init__.py:607
 msgid "Subscribing user to the additional folders"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:610
+#: ../pykolab/imap/__init__.py:621
 msgid "Using the following tests for folder subscriptions:"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:612
+#: ../pykolab/imap/__init__.py:623
 #, python-format
 msgid "    %r"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:615
+#: ../pykolab/imap/__init__.py:626
 #, python-format
 msgid "Folder %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:627
+#: ../pykolab/imap/__init__.py:638
 #, python-format
 msgid "Subscribing %s to folder %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:631
+#: ../pykolab/imap/__init__.py:642
 #, python-format
 msgid "Subscribing %s to folder %s failed: %r"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:661
+#: ../pykolab/imap/__init__.py:672
 #, python-format
 msgid "Could not rename %s to reside on partition %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:694
+#: ../pykolab/imap/__init__.py:705
 #, python-format
 msgid "INBOX folder to rename (%s) does not exist"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:697 ../pykolab/imap/__init__.py:773
+#: ../pykolab/imap/__init__.py:708 ../pykolab/imap/__init__.py:784
 #, python-format
 msgid "Renaming INBOX from %s to %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:701
+#: ../pykolab/imap/__init__.py:712
 #, python-format
 msgid "Could not rename INBOX folder %s to %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:703 ../pykolab/imap/__init__.py:777
+#: ../pykolab/imap/__init__.py:714 ../pykolab/imap/__init__.py:788
 #, python-format
 msgid "Moving INBOX folder %s won't succeed as target folder %s already exists"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:707
+#: ../pykolab/imap/__init__.py:718
 #, python-format
 msgid "Server for mailbox %r is %r"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:715
+#: ../pykolab/imap/__init__.py:726
 #, python-format
 msgid "Looking for folder '%s', we found folders: %r"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:738
+#: ../pykolab/imap/__init__.py:749
 #, python-format
 msgid "Setting ACL rights %s for subject %s on folder "
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:749
+#: ../pykolab/imap/__init__.py:760
 #, python-format
 msgid "Removing ACL rights %s for subject %s on folder "
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:770
+#: ../pykolab/imap/__init__.py:781
 #, python-format
 msgid "Found old INBOX folder %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:779
+#: ../pykolab/imap/__init__.py:790
 #, python-format
 msgid "Did not find old folder user/%s to rename"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:781
+#: ../pykolab/imap/__init__.py:792
 msgid "Value for user is not a dictionary"
 msgstr ""
 
 #. TODO: Go in fact correct the quota.
-#: ../pykolab/imap/__init__.py:849
+#: ../pykolab/imap/__init__.py:860
 #, python-format
 msgid "Cannot get current IMAP quota for folder %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:862
+#: ../pykolab/imap/__init__.py:873
 #, python-format
 msgid "Quota for %s currently is %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:868
+#: ../pykolab/imap/__init__.py:879
 #, python-format
 msgid "Adjusting authentication database quota for folder %s to %d"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:873
+#: ../pykolab/imap/__init__.py:884
 #, python-format
 msgid "Correcting quota for %s to %s (currently %s)"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:950
+#: ../pykolab/imap/__init__.py:961
 #, python-format
 msgid "Checking folder: %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:955
+#: ../pykolab/imap/__init__.py:966
 #, python-format
 msgid "Folder has no corresponding user (1): %s"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:958
+#: ../pykolab/imap/__init__.py:969
 #, python-format
 msgid "Folder has no corresponding user (2): %s"
 msgstr ""
 
 #. We got user identifier only
-#: ../pykolab/imap/__init__.py:973
+#: ../pykolab/imap/__init__.py:984
 msgid "Please don't give us just a user identifier"
 msgstr ""
 
-#: ../pykolab/imap/__init__.py:976
+#: ../pykolab/imap/__init__.py:987
 #, python-format
 msgid "Deleting folder %s"
 msgstr ""
@@ -1875,56 +1881,62 @@ msgstr ""
 msgid "Returning thread local configuration"
 msgstr ""
 
-#: ../pykolab/itip/__init__.py:43
+#: ../pykolab/itip/__init__.py:45
 #, python-format
 msgid "Method %r not really interesting for us."
 msgstr ""
 
-#: ../pykolab/itip/__init__.py:49
+#: ../pykolab/itip/__init__.py:51
 #, python-format
 msgid "Raw iTip payload: %s"
 msgstr ""
 
-#: ../pykolab/itip/__init__.py:59
+#: ../pykolab/itip/__init__.py:61
 msgid "Could not read iTip from message."
 msgstr ""
 
-#: ../pykolab/itip/__init__.py:67
+#: ../pykolab/itip/__init__.py:69
 #, python-format
 msgid "Duplicate iTip object: %s"
 msgstr ""
 
-#: ../pykolab/itip/__init__.py:90
+#: ../pykolab/itip/__init__.py:93
 msgid "iTip event without a start"
 msgstr ""
 
-#: ../pykolab/itip/__init__.py:132
+#: ../pykolab/itip/__init__.py:138
 msgid "Message is not an iTip message (non-multipart message)"
 msgstr ""
 
-#: ../pykolab/itip/__init__.py:229
+#: ../pykolab/itip/__init__.py:221
 #, python-format
-msgid "Failed to compose iTip reply message: %r"
+msgid "Send iTip reply %s for %s %r"
 msgstr ""
 
-#: ../pykolab/itip/__init__.py:240 ../pykolab/itip/__init__.py:284
-#: ../wallace/module_invitationpolicy.py:966
-#: ../wallace/module_resources.py:1131
+#: ../pykolab/itip/__init__.py:237
+#, python-format
+msgid "Failed to compose iTip reply message: %r: %s"
+msgstr ""
+
+#: ../pykolab/itip/__init__.py:248 ../pykolab/itip/__init__.py:292
+#: ../wallace/module_invitationpolicy.py:1063
+#: ../wallace/module_invitationpolicy.py:1121
+#: ../wallace/module_resources.py:1144
 #, python-format
 msgid "SMTP sendmail error: %r"
 msgstr ""
 
-#: ../pykolab/itip/__init__.py:272
+#: ../pykolab/itip/__init__.py:280
 #, python-format
 msgid "Failed to compose iTip request message: %r"
 msgstr ""
 
-#: ../pykolab/logger.py:173 ../pykolab/logger.py:179
+#: ../pykolab/logger.py:174 ../pykolab/logger.py:181
 #, python-format
 msgid "Could not change permissions on %s: %r"
 msgstr ""
 
-#: ../pykolab/logger.py:196
+#: ../pykolab/logger.py:198
 #, python-format
 msgid "Cannot log to file %s: %s"
 msgstr ""
@@ -2059,7 +2071,7 @@ msgid "user_delete: %r"
 msgstr ""
 
 #: ../pykolab/plugins/roundcubedb/__init__.py:55
-#: ../pykolab/setup/setup_roundcube.py:160
+#: ../pykolab/setup/setup_roundcube.py:161
 msgid "Roundcube installation path not found."
 msgstr ""
 
@@ -2103,18 +2115,18 @@ msgstr ""
 msgid "Could not start the cyrus-imapd and kolab-saslauthd services."
 msgstr ""
 
-#: ../pykolab/setup/setup_imap.py:173 ../pykolab/setup/setup_kolabd.py:81
-#: ../pykolab/setup/setup_ldap.py:426 ../pykolab/setup/setup_mta.py:455
-#: ../pykolab/setup/setup_mysql.py:58 ../pykolab/setup/setup_roundcube.py:237
-#: ../pykolab/setup/setup_syncroton.py:102
+#: ../pykolab/setup/setup_imap.py:173 ../pykolab/setup/setup_kolabd.py:90
+#: ../pykolab/setup/setup_ldap.py:426 ../pykolab/setup/setup_mta.py:465
+#: ../pykolab/setup/setup_mysql.py:58 ../pykolab/setup/setup_roundcube.py:238
+#: ../pykolab/setup/setup_syncroton.py:105
 msgid "Could not configure to start on boot, the "
 msgstr ""
 
-#: ../pykolab/setup/setup_kolabd.py:43
+#: ../pykolab/setup/setup_kolabd.py:44
 msgid "Setup the Kolab daemon."
 msgstr ""
 
-#: ../pykolab/setup/setup_kolabd.py:51
+#: ../pykolab/setup/setup_kolabd.py:52
 #, python-format
 msgid ""
 "\n"
@@ -2124,7 +2136,7 @@ msgid ""
 "                        "
 msgstr ""
 
-#: ../pykolab/setup/setup_kolabd.py:72
+#: ../pykolab/setup/setup_kolabd.py:81
 msgid "Could not start the kolab server service."
 msgstr ""
 
@@ -2423,15 +2435,15 @@ msgstr ""
 msgid "Could not write out Postfix configuration file /etc/postfix/master.cf"
 msgstr ""
 
-#: ../pykolab/setup/setup_mta.py:397
+#: ../pykolab/setup/setup_mta.py:399
 msgid "Could not write out Amavis configuration file amavisd.conf"
 msgstr ""
 
-#: ../pykolab/setup/setup_mta.py:405
+#: ../pykolab/setup/setup_mta.py:407
 msgid "Not writing out any configuration for Amavis."
 msgstr ""
 
-#: ../pykolab/setup/setup_mta.py:437
+#: ../pykolab/setup/setup_mta.py:447
 msgid "Could not start the postfix, clamav and amavisd services services."
 msgstr ""
 
@@ -2458,8 +2470,8 @@ msgid ""
 msgstr ""
 
 #: ../pykolab/setup/setup_mysql.py:82 ../pykolab/setup/setup_mysql.py:99
-#: ../pykolab/setup/setup_roundcube.py:183
-#: ../pykolab/setup/setup_syncroton.py:63
+#: ../pykolab/setup/setup_roundcube.py:184
+#: ../pykolab/setup/setup_syncroton.py:66
 msgid "MySQL root password"
 msgstr ""
 
@@ -2493,7 +2505,7 @@ msgstr ""
 msgid "MySQL kolab password"
 msgstr ""
 
-#: ../pykolab/setup/setup_mysql.py:165
+#: ../pykolab/setup/setup_mysql.py:166
 msgid "Could not find the MySQL Kolab schema file"
 msgstr ""
 
@@ -2564,8 +2576,8 @@ msgstr ""
 msgid "Successfully compiled template %r, writing out to %r"
 msgstr ""
 
-#: ../pykolab/setup/setup_roundcube.py:228
-#: ../pykolab/setup/setup_syncroton.py:93
+#: ../pykolab/setup/setup_roundcube.py:229
+#: ../pykolab/setup/setup_syncroton.py:96
 msgid "Could not start the webserver server service."
 msgstr ""
 
@@ -2661,18 +2673,18 @@ msgstr ""
 msgid "Could not translate %s using locale %s"
 msgstr ""
 
-#: ../pykolab/wap_client/__init__.py:380
+#: ../pykolab/wap_client/__init__.py:396
 #, python-format
 msgid "Requesting %r with params %r"
 msgstr ""
 
-#: ../pykolab/wap_client/__init__.py:388
+#: ../pykolab/wap_client/__init__.py:404
 #, python-format
 msgid "Got response: %r"
 msgstr ""
 
 #. Some data is not JSON
-#: ../pykolab/wap_client/__init__.py:394
+#: ../pykolab/wap_client/__init__.py:410
 msgid "Response data is not JSON"
 msgstr ""
 
@@ -2697,134 +2709,304 @@ msgstr ""
 msgid "Delegated"
 msgstr ""
 
-#: ../pykolab/xml/attendee.py:14
+#: ../pykolab/xml/attendee.py:14 ../pykolab/xml/attendee.py:22
 msgid "Completed"
 msgstr ""
 
-#: ../pykolab/xml/attendee.py:15
-msgid "In Process"
+#: ../pykolab/xml/attendee.py:15 ../pykolab/xml/attendee.py:23
+msgid "Started"
 msgstr ""
 
-#: ../pykolab/xml/attendee.py:131 ../pykolab/xml/attendee.py:153
+#: ../pykolab/xml/attendee.py:132 ../pykolab/xml/attendee.py:154
 msgid "Not a valid attendee"
 msgstr ""
 
-#: ../pykolab/xml/attendee.py:138
+#: ../pykolab/xml/attendee.py:139
 msgid "No valid delegator references found"
 msgstr ""
 
-#: ../pykolab/xml/attendee.py:158
+#: ../pykolab/xml/attendee.py:159
 msgid "No valid delegatee references found"
 msgstr ""
 
-#: ../pykolab/xml/attendee.py:218
+#: ../pykolab/xml/attendee.py:219
 #, python-format
 msgid "Invalid cutype %r"
 msgstr ""
 
-#: ../pykolab/xml/attendee.py:230
+#: ../pykolab/xml/attendee.py:231
 #, python-format
 msgid "Invalid participant status %r"
 msgstr ""
 
-#: ../pykolab/xml/attendee.py:238
+#: ../pykolab/xml/attendee.py:239
 #, python-format
 msgid "Invalid role %r"
 msgstr ""
 
-#: ../pykolab/xml/event.py:146 ../pykolab/xml/event.py:780
-#: ../pykolab/xml/event.py:823
+#: ../pykolab/xml/event.py:149 ../pykolab/xml/event.py:784
+#: ../pykolab/xml/event.py:827
 msgid "Event start needs datetime.date or datetime.datetime instance"
 msgstr ""
 
-#: ../pykolab/xml/event.py:291
+#: ../pykolab/xml/event.py:294
 #, python-format
 msgid "No attendee with email or name %r"
 msgstr ""
 
-#: ../pykolab/xml/event.py:299
+#: ../pykolab/xml/event.py:302
 #, python-format
 msgid "Invalid argument value attendee %r, must be basestring or Attendee"
 msgstr ""
 
-#: ../pykolab/xml/event.py:311
+#: ../pykolab/xml/event.py:314
 #, python-format
 msgid "No attendee with email %r"
 msgstr ""
 
-#: ../pykolab/xml/event.py:317
+#: ../pykolab/xml/event.py:320
 #, python-format
 msgid "No attendee with name %r"
 msgstr ""
 
-#: ../pykolab/xml/event.py:488
+#: ../pykolab/xml/event.py:370 ../pykolab/xml/utils.py:151
+msgid "%Y-%m-%d"
+msgstr ""
+
+#: ../pykolab/xml/event.py:372 ../pykolab/xml/utils.py:152
+msgid "%H:%M (%Z)"
+msgstr ""
+
+#: ../pykolab/xml/event.py:496
 msgid "Invalid participant status"
 msgstr ""
 
-#: ../pykolab/xml/event.py:610
+#: ../pykolab/xml/event.py:618
 #, python-format
 msgid "Invalid classification %r"
 msgstr ""
 
-#: ../pykolab/xml/event.py:641
+#: ../pykolab/xml/event.py:649
 msgid "Event end needs datetime.date or datetime.datetime instance"
 msgstr ""
 
-#: ../pykolab/xml/event.py:651
+#: ../pykolab/xml/event.py:659
 #, python-format
 msgid "Invalid custom property name %r"
 msgstr ""
 
-#: ../pykolab/xml/event.py:833
+#: ../pykolab/xml/event.py:837
 #, python-format
 msgid "Invalid status set: %r"
 msgstr ""
 
-#: ../pykolab/xml/event.py:1070
+#: ../pykolab/xml/event.py:1074
 msgid "No sender specified"
 msgstr ""
 
-#: ../pykolab/xml/event.py:1079
+#: ../pykolab/xml/event.py:1083
 #, python-format
 msgid "Invitation for %s was %s"
 msgstr ""
 
-#: ../pykolab/xml/event.py:1084
+#: ../pykolab/xml/event.py:1088
 msgid "This is an automated response to one of your event requests."
 msgstr ""
 
-#: ../saslauthd/__init__.py:99
+#: ../pykolab/xml/recurrence_rule.py:38
+#, python-format
+msgid "Every %d year(s)"
+msgstr ""
+
+#: ../pykolab/xml/recurrence_rule.py:39
+#, python-format
+msgid "Every %d month(s)"
+msgstr ""
+
+#: ../pykolab/xml/recurrence_rule.py:40
+#, python-format
+msgid "Every %d week(s)"
+msgstr ""
+
+#: ../pykolab/xml/recurrence_rule.py:41
+#, python-format
+msgid "Every %d day(s)"
+msgstr ""
+
+#: ../pykolab/xml/recurrence_rule.py:42
+#, python-format
+msgid "Every %d hours"
+msgstr ""
+
+#: ../pykolab/xml/recurrence_rule.py:43
+#, python-format
+msgid "Every %d minutes"
+msgstr ""
+
+#: ../pykolab/xml/recurrence_rule.py:44
+#, python-format
+msgid "Every %d seconds"
+msgstr ""
+
+#: ../pykolab/xml/todo.py:110
+msgid "Todo due needs datetime.date or datetime.datetime instance"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:120
+msgid "Name"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:121
+msgid "Summary"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:122
+msgid "Location"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:123
+msgid "Description"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:124
+msgid "URL"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:125
+msgid "Status"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:126
+msgid "Priority"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:127
+msgid "Attendee"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:128
+msgid "Start"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:129
+msgid "End"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:130
+msgid "Due"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:131
+msgid "Repeat"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:132
+msgid "Repeat Exception"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:133
+msgid "Organizer"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:134
+msgid "Attachment"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:135
+msgid "Alarm"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:136
+msgid "Classification"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:137
+msgid "Progress"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:182
+#, python-format
+msgid "for %d times"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:184
+#, python-format
+msgid "until %s"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:189
+msgid "Display message"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:190
+msgid "Send email"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:191
+msgid "Play sound"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:197
+#, python-format
+msgid "%s after"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:197
+#, python-format
+msgid "%s before"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:206
+#, python-format
+msgid "%d day(s)"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:212
+#, python-format
+msgid "%d hour(s)"
+msgstr ""
+
+#: ../pykolab/xml/utils.py:214
+#, python-format
+msgid "%d minute(s)"
+msgstr ""
+
+#: ../saslauthd/__init__.py:76
+msgid "Socket file to bind to."
+msgstr ""
+
+#: ../saslauthd/__init__.py:108
 #, python-format
 msgid "Could not create %r: %r"
 msgstr ""
 
-#: ../saslauthd/__init__.py:137 ../saslauthd/__init__.py:145
+#: ../saslauthd/__init__.py:146 ../saslauthd/__init__.py:154
 #: ../wallace/__init__.py:403 ../wallace/__init__.py:412
 msgid "Traceback occurred, please report a bug at http://bugzilla.kolabsys.com"
 msgstr ""
 
-#: ../saslauthd/__init__.py:185
+#: ../saslauthd/__init__.py:194
 msgid "kolab-saslauthd could not accept "
 msgstr ""
 
-#: ../saslauthd/__init__.py:190
+#: ../saslauthd/__init__.py:199
 msgid "Maximum tries exceeded, exiting"
 msgstr ""
 
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:192
-#: ../wallace/module_resources.py:1041
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:195
+#: ../wallace/module_resources.py:1054
 #, python-format
 msgid "Reservation Request for %(summary)s was %(status)s"
 msgstr ""
 
 #. check notification message sent to resource owner (jane)
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:615
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:631
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:662
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:700
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:756
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:769
-#: ../wallace/module_resources.py:1121
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:619
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:635
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:666
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:704
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:760
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:773
+#: ../wallace/module_resources.py:1134
 #, python-format
 msgid "Booking for %s has been %s"
 msgstr ""
@@ -2833,18 +3015,18 @@ msgstr ""
 #. check first confirmation message sent to resource owner (jane)
 #. check second confirmation message sent to resource owner (jane)
 #. check confirmation message sent to resource owner (jane)
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:652
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:690
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:728
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:745
-#: ../tests/functional/test_wallace/test_005_resource_invitation.py:799
-#: ../wallace/module_resources.py:1217
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:656
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:694
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:732
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:749
+#: ../tests/functional/test_wallace/test_005_resource_invitation.py:803
+#: ../wallace/module_resources.py:1230
 #, python-format
 msgid "Booking request for %s requires confirmation"
 msgstr ""
 
-#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:167
-#: ../wallace/module_invitationpolicy.py:377
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:240
+#: ../wallace/module_invitationpolicy.py:441
 #, python-format
 msgid "\"%(summary)s\" has been %(status)s"
 msgstr ""
@@ -2852,20 +3034,32 @@ msgstr ""
 #. check for notification message
 #. this notification should be suppressed until mark has replied, too
 #. this triggers an additional notification
-#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:667
-#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:673
-#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:686
-#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:704
-#: ../wallace/module_invitationpolicy.py:955
+#. this should also trigger an update notification
+#. this should trigger an update notification
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:787
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:793
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:806
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:824
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:927
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:932
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:983
+#: ../wallace/module_invitationpolicy.py:1052
 #, python-format
 msgid "\"%s\" has been updated"
 msgstr ""
 
-#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:678
-#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:690
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:798
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:810
 msgid "PENDING"
 msgstr ""
 
+#. this should trigger a notification message
+#: ../tests/functional/test_wallace/test_007_invitationpolicy.py:1003
+#: ../wallace/module_invitationpolicy.py:1110
+#, python-format
+msgid "\"%s\" has been cancelled"
+msgstr ""
+
 #: ../tests/unit/test-011-itip.py:408
 #, python-format
 msgid "Invitation for %(summary)s was %(status)s"
@@ -2913,21 +3107,21 @@ msgid "Could not write pid file %s"
 msgstr ""
 
 #: ../wallace/module_footer.py:60 ../wallace/module_gpgencrypt.py:60
-#: ../wallace/module_invitationpolicy.py:172 ../wallace/module_optout.py:61
+#: ../wallace/module_invitationpolicy.py:210 ../wallace/module_optout.py:61
 #: ../wallace/module_resources.py:125
 #, python-format
 msgid "Issuing callback after processing to stage %s"
 msgstr ""
 
 #: ../wallace/module_footer.py:61 ../wallace/module_gpgencrypt.py:61
-#: ../wallace/module_invitationpolicy.py:174 ../wallace/module_optout.py:62
+#: ../wallace/module_invitationpolicy.py:212 ../wallace/module_optout.py:62
 #: ../wallace/module_resources.py:131
 #, python-format
 msgid "Testing cb_action_%s()"
 msgstr ""
 
 #: ../wallace/module_footer.py:63 ../wallace/module_gpgencrypt.py:63
-#: ../wallace/module_invitationpolicy.py:176 ../wallace/module_optout.py:64
+#: ../wallace/module_invitationpolicy.py:214 ../wallace/module_optout.py:64
 #: ../wallace/module_resources.py:134
 #, python-format
 msgid "Attempting to execute cb_action_%s()"
@@ -2993,261 +3187,286 @@ msgstr ""
 msgid "An error occurred: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:158
+#: ../wallace/module_invitationpolicy.py:196
 #, python-format
 msgid "Invitation policy called for %r, %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:215
-#: ../wallace/module_resources.py:176
+#: ../wallace/module_invitationpolicy.py:257
 #, python-format
-msgid "Failed to parse iTip events from message: %r"
+msgid "Failed to parse iTip objects from message: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:219
+#: ../wallace/module_invitationpolicy.py:261
 msgid ""
-"Message is not an iTip message or does not contain any (valid) iTip events."
+"Message is not an iTip message or does not contain any (valid) iTip objects."
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:223
+#: ../wallace/module_invitationpolicy.py:265
 #, python-format
 msgid ""
-"iTip events attached to this message contain the following information: %r"
+"iTip objects attached to this message contain the following information: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:236
+#: ../wallace/module_invitationpolicy.py:278
 #, python-format
 msgid "No itips, no users, pass along %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:239
+#: ../wallace/module_invitationpolicy.py:281
 #, python-format
 msgid "iTips, but no users, pass along %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:259
+#: ../wallace/module_invitationpolicy.py:301
 #, python-format
 msgid "No user attendee matching envelope recipient %s, skip message"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:263
+#: ../wallace/module_invitationpolicy.py:305
 #, python-format
 msgid "Receiving user: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:287
+#: ../wallace/module_invitationpolicy.py:330
 #, python-format
 msgid "Apply invitation policy %r for sender %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:298
+#: ../wallace/module_invitationpolicy.py:341
 #, python-format
 msgid "Ignoring '%s' iTip method"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:302
+#: ../wallace/module_invitationpolicy.py:345
 #, python-format
 msgid "iTip message %r consumed by the invitationpolicy module"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:318
+#: ../wallace/module_invitationpolicy.py:361
 msgid "Pass invitation for manual processing"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:323
+#: ../wallace/module_invitationpolicy.py:366
 #, python-format
 msgid "Receiving Attendee: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:342
+#: ../wallace/module_invitationpolicy.py:386
+#, python-format
+msgid "Existing %s: %r"
+msgstr ""
+
+#: ../wallace/module_invitationpolicy.py:397
 #, python-format
-msgid "Existing event: %r"
+msgid "Precondition for object %r fulfilled: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:353
+#: ../wallace/module_invitationpolicy.py:415
 #, python-format
-msgid "Precondition for event %r fulfilled: %r"
+msgid ""
+"The iTip request sequence (%r) doesn't match the referred object version (%"
+"r). Ignoring."
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:389
+#: ../wallace/module_invitationpolicy.py:420
 #, python-format
-msgid "No RSVP for recipient %r requested"
+msgid "Auto-updating %s %r on iTip REQUEST (no re-scheduling)"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:415
+#: ../wallace/module_invitationpolicy.py:475
 msgid "Pass reply for manual processing"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:422
+#: ../wallace/module_invitationpolicy.py:482
 #, python-format
 msgid "Sender Attendee: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:434
+#: ../wallace/module_invitationpolicy.py:494
 #, python-format
 msgid ""
-"The iTip reply sequence (%r) doesn't match the referred event version (%r). "
+"The iTip reply sequence (%r) doesn't match the referred object version (%r). "
 "Forwarding to Inbox."
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:440
+#: ../wallace/module_invitationpolicy.py:500
 #, python-format
-msgid "Auto-updating event %r on iTip REPLY"
+msgid "Auto-updating %s %r on iTip REPLY"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:465
+#: ../wallace/module_invitationpolicy.py:525
 #, python-format
 msgid "Add delegatee: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:468
+#: ../wallace/module_invitationpolicy.py:528
 #, python-format
 msgid "Update existing delegatee: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:473
+#: ../wallace/module_invitationpolicy.py:533
 #, python-format
 msgid "Update delegator: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:490
-#: ../wallace/module_invitationpolicy.py:519
+#: ../wallace/module_invitationpolicy.py:550
+#: ../wallace/module_invitationpolicy.py:582
 msgid ""
-"The event referred by this reply was not found in the user's calendars. "
+"The object referred by this reply was not found in the user's folders. "
 "Forwarding to Inbox."
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:503
+#: ../wallace/module_invitationpolicy.py:563
 msgid "Pass cancellation for manual processing"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:548
+#: ../wallace/module_invitationpolicy.py:611
 #, python-format
 msgid "Checking if email address %r belongs to a local user"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:553
+#: ../wallace/module_invitationpolicy.py:616
 #, python-format
 msgid "User DN: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:555
+#: ../wallace/module_invitationpolicy.py:618
 #, python-format
 msgid "No user record(s) found for %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:608
+#: ../wallace/module_invitationpolicy.py:674
 #, python-format
 msgid "User record doesn't have the mailbox attribute %r set"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:621
+#: ../wallace/module_invitationpolicy.py:687
 #, python-format
 msgid "IMAP proxy authentication failed: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:643
+#: ../wallace/module_invitationpolicy.py:709
 #, python-format
-msgid "List calendar folders for user %r: %r"
+msgid "List %r folders for user %r: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:659
+#: ../wallace/module_invitationpolicy.py:725
 #, python-format
 msgid "IMAP metadata for %r: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:689
+#: ../wallace/module_invitationpolicy.py:755
 #, python-format
-msgid "Searching folder %r for event %r"
+msgid "Searching folder %r for %s %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:701
+#: ../wallace/module_invitationpolicy.py:771
 #, python-format
-msgid "Failed to parse event from message %s/%s: %s"
+msgid "Failed to parse %s from message %s/%s: %s"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:727
+#: ../wallace/module_invitationpolicy.py:797
 #, python-format
 msgid "Listing events from folder %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:740
-#: ../wallace/module_resources.py:553 ../wallace/module_resources.py:601
+#: ../wallace/module_invitationpolicy.py:810
+#: ../wallace/module_resources.py:566 ../wallace/module_resources.py:614
 #, python-format
 msgid "Failed to parse event from message %s/%s: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:746
+#: ../wallace/module_invitationpolicy.py:816
 #, python-format
 msgid "Existing event %r conflicts with invitation %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:753
-#: ../wallace/module_resources.py:411
+#: ../wallace/module_invitationpolicy.py:823
+#: ../wallace/module_resources.py:419
 #, python-format
 msgid "start: %r, end: %r, total: %r, messages: %d"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:779
+#: ../wallace/module_invitationpolicy.py:849
 #, python-format
 msgid "%r is locked, waiting..."
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:842
+#: ../wallace/module_invitationpolicy.py:913
 #, python-format
-msgid "Failed to save event: no calendar folder found for user %r"
+msgid "Failed to save %s: no target folder found for user %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:845
+#: ../wallace/module_invitationpolicy.py:916
 #, python-format
-msgid "Save event %r to user calendar %r"
+msgid "Save %s %r to user folder %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:858
+#: ../wallace/module_invitationpolicy.py:929
 #, python-format
-msgid "Failed to save event to user calendar at %r: %r"
+msgid "Failed to save %s to user folder at %r: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:874
+#: ../wallace/module_invitationpolicy.py:945
 #, python-format
-msgid "Delete event %r in %r: %r"
+msgid "Delete %s %r in %r: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:894
+#: ../wallace/module_invitationpolicy.py:970
 #, python-format
-msgid "Compose participation status summary for event %r to user %r"
+msgid "Compose participation status summary for %s %r to user %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:931
+#: ../wallace/module_invitationpolicy.py:1003
 #, python-format
 msgid ""
 "Waiting for more automated replies (got %d of %d); skipping notification"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:1028
+#: ../wallace/module_invitationpolicy.py:1013
+#, python-format
+msgid "Changes submitted by %s have been automatically applied."
+msgstr ""
+
+#: ../wallace/module_invitationpolicy.py:1022
+msgid "(removed)"
+msgstr ""
+
+#: ../wallace/module_invitationpolicy.py:1045
+#: ../wallace/module_invitationpolicy.py:1103
+#: ../wallace/module_invitationpolicy.py:1193
+msgid "*** This is an automated message. Please do not reply. ***"
+msgstr ""
+
+#: ../wallace/module_invitationpolicy.py:1076
+#, python-format
+msgid "Send cancellation notification for %s %r to user %r"
+msgstr ""
+
+#: ../wallace/module_invitationpolicy.py:1183
 #, python-format
 msgid "Updated %s's copy of %r: %r"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:1031
+#: ../wallace/module_invitationpolicy.py:1186
 #, python-format
 msgid "Attendee %s's copy of %r not found"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:1034
+#: ../wallace/module_invitationpolicy.py:1189
 #, python-format
 msgid "Attendee %r not found in LDAP"
 msgstr ""
 
-#: ../wallace/module_invitationpolicy.py:1038
+#: ../wallace/module_invitationpolicy.py:1196
 #, python-format
-msgid ""
-"\n"
-"        %(name)s has %(status)s your invitation for %(summary)s.\n"
-"\n"
-"        *** This is an automated response sent by the Kolab Invitation "
-"system ***\n"
-"    "
+msgid "%(name)s has %(status)s your assignment for %(summary)s."
+msgstr ""
+
+#: ../wallace/module_invitationpolicy.py:1198
+#, python-format
+msgid "%(name)s has %(status)s your invitation for %(summary)s."
 msgstr ""
 
 #. modules.next_module('optout')
@@ -3276,220 +3495,225 @@ msgstr ""
 msgid "Resource Management called for %r, %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:181
+#: ../wallace/module_resources.py:180
+#, python-format
+msgid "Failed to parse iTip events from message: %r"
+msgstr ""
+
+#: ../wallace/module_resources.py:185
 msgid "Message is not an iTip message or does not contain any "
 msgstr ""
 
-#: ../wallace/module_resources.py:189
+#: ../wallace/module_resources.py:193
 msgid "iTip events attached to this message contain the "
 msgstr ""
 
-#: ../wallace/module_resources.py:219
+#: ../wallace/module_resources.py:226
 msgid "Not an iTip message, but sent to resource nonetheless. Reject message"
 msgstr ""
 
-#: ../wallace/module_resources.py:227
+#: ../wallace/module_resources.py:234
 #, python-format
 msgid "No itips, no resources, pass along %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:230
+#: ../wallace/module_resources.py:237
 #, python-format
 msgid "iTips, but no resources, pass along %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:239
+#: ../wallace/module_resources.py:246
 #, python-format
 msgid "No resource attendees matching envelope recipient %s, Reject message"
 msgstr ""
 
-#: ../wallace/module_resources.py:249
+#: ../wallace/module_resources.py:256
 #, python-format
 msgid "Resources: %r; %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:267
+#: ../wallace/module_resources.py:274
 #, python-format
 msgid "Sender Attendee: %r => %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:274
+#: ../wallace/module_resources.py:281
 #, python-format
 msgid ""
 "The iTip reply sequence (%r) doesn't match the referred event version (%r). "
 "Ignoring."
 msgstr ""
 
-#: ../wallace/module_resources.py:299
+#: ../wallace/module_resources.py:306
 #, python-format
 msgid "Event referenced by this REPLY (%r) not found in resource calendar"
 msgstr ""
 
-#: ../wallace/module_resources.py:302
+#: ../wallace/module_resources.py:309
 msgid "No event reference found in this REPLY. Ignoring."
 msgstr ""
 
-#: ../wallace/module_resources.py:311
+#: ../wallace/module_resources.py:318
 #, python-format
 msgid "Receiving Resource: %r; %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:319
+#: ../wallace/module_resources.py:326
 #, python-format
 msgid "Recipient %r is non-participant, ignoring message"
 msgstr ""
 
-#: ../wallace/module_resources.py:346
+#: ../wallace/module_resources.py:354
 #, python-format
 msgid "Accept invitation for individual resource %r / %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:375
+#: ../wallace/module_resources.py:383
 #, python-format
 msgid "Delegate invitation for resource collection %r to %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:407
+#: ../wallace/module_resources.py:415
 #, python-format
 msgid "Failed to read resource calendar for %r: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:417
+#: ../wallace/module_resources.py:425
 #, python-format
 msgid "Polling for resource %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:420
+#: ../wallace/module_resources.py:428
 #, python-format
 msgid "Resource %r has been popped from the list"
 msgstr ""
 
-#: ../wallace/module_resources.py:424
+#: ../wallace/module_resources.py:432
 msgid "Resource is a collection"
 msgstr ""
 
-#: ../wallace/module_resources.py:435
+#: ../wallace/module_resources.py:443
 #, python-format
 msgid "Removed conflicting resources from %r: (%r) => %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:447
+#: ../wallace/module_resources.py:455
 #, python-format
 msgid "Conflicting events: %r for resource %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:464
+#: ../wallace/module_resources.py:474
 #, python-format
 msgid "Delegate to another resource collection member: %r to %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:526
+#: ../wallace/module_resources.py:536
 #, python-format
 msgid "Checking events in resource folder %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:542
+#: ../wallace/module_resources.py:555
 #, python-format
 msgid "Fetching message UID %r from folder %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:565
+#: ../wallace/module_resources.py:578
 #, python-format
 msgid "Event %r conflicts with event %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:586
+#: ../wallace/module_resources.py:599
 #, python-format
 msgid "Searching %r for event %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:592
+#: ../wallace/module_resources.py:605
 #, python-format
 msgid "Failed to access resource calendar:: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:621
+#: ../wallace/module_resources.py:634
 #, python-format
 msgid "Apply invitation policies %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:640
+#: ../wallace/module_resources.py:653
 #, python-format
 msgid "Adding event to %r: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:694
+#: ../wallace/module_resources.py:707
 #, python-format
 msgid "Failed to save event to resource calendar at %r: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:711
+#: ../wallace/module_resources.py:724
 #, python-format
 msgid "Delete resource calendar object %r in %r: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:754
+#: ../wallace/module_resources.py:767
 #, python-format
 msgid "Checking if email address %r belongs to a resource (collection)"
 msgstr ""
 
-#: ../wallace/module_resources.py:762 ../wallace/module_resources.py:836
-#: ../wallace/module_resources.py:870
+#: ../wallace/module_resources.py:775 ../wallace/module_resources.py:849
+#: ../wallace/module_resources.py:883
 #, python-format
 msgid "Resource record(s): %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:764 ../wallace/module_resources.py:838
-#: ../wallace/module_resources.py:873
+#: ../wallace/module_resources.py:777 ../wallace/module_resources.py:851
+#: ../wallace/module_resources.py:886
 #, python-format
 msgid "No resource (collection) records found for %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:768 ../wallace/module_resources.py:842
-#: ../wallace/module_resources.py:877
+#: ../wallace/module_resources.py:781 ../wallace/module_resources.py:855
+#: ../wallace/module_resources.py:890
 #, python-format
 msgid "Resource record: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:788
+#: ../wallace/module_resources.py:801
 #, python-format
 msgid "Raw itip_events: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:796
+#: ../wallace/module_resources.py:809
 #, python-format
 msgid "Raw set of attendees: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:804
+#: ../wallace/module_resources.py:817
 #, python-format
 msgid "Raw set of resources: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:809
+#: ../wallace/module_resources.py:822
 #, python-format
 msgid "Raw set of organizers: %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:829
+#: ../wallace/module_resources.py:842
 #, python-format
 msgid "Checking if attendee %r is a resource (collection)"
 msgstr ""
 
-#: ../wallace/module_resources.py:845 ../wallace/module_resources.py:879
+#: ../wallace/module_resources.py:858 ../wallace/module_resources.py:892
 msgid "Resource reservation made but no resource records found"
 msgstr ""
 
-#: ../wallace/module_resources.py:864
+#: ../wallace/module_resources.py:877
 #, python-format
 msgid "Checking if resource %r is a resource (collection)"
 msgstr ""
 
-#: ../wallace/module_resources.py:882
+#: ../wallace/module_resources.py:895
 msgid "The following resources are being referred to in the "
 msgstr ""
 
-#: ../wallace/module_resources.py:1047
+#: ../wallace/module_resources.py:1060
 #, python-format
 msgid ""
 "\n"
@@ -3500,7 +3724,7 @@ msgid ""
 "            "
 msgstr ""
 
-#: ../wallace/module_resources.py:1066
+#: ../wallace/module_resources.py:1079
 #, python-format
 msgid ""
 "\n"
@@ -3510,7 +3734,7 @@ msgid ""
 "    "
 msgstr ""
 
-#: ../wallace/module_resources.py:1073
+#: ../wallace/module_resources.py:1086
 #, python-format
 msgid ""
 "\n"
@@ -3519,16 +3743,16 @@ msgid ""
 "        "
 msgstr ""
 
-#: ../wallace/module_resources.py:1104
+#: ../wallace/module_resources.py:1117
 #, python-format
 msgid "Sending booking notification for event %r to %r from %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:1121
+#: ../wallace/module_resources.py:1134
 msgid "failed"
 msgstr ""
 
-#: ../wallace/module_resources.py:1140
+#: ../wallace/module_resources.py:1153
 #, python-format
 msgid ""
 "\n"
@@ -3540,7 +3764,7 @@ msgid ""
 "        "
 msgstr ""
 
-#: ../wallace/module_resources.py:1146
+#: ../wallace/module_resources.py:1159
 #, python-format
 msgid ""
 "\n"
@@ -3554,12 +3778,12 @@ msgid ""
 "        "
 msgstr ""
 
-#: ../wallace/module_resources.py:1190
+#: ../wallace/module_resources.py:1203
 #, python-format
 msgid "Clone invitation for owner confirmation: %r from %r"
 msgstr ""
 
-#: ../wallace/module_resources.py:1196
+#: ../wallace/module_resources.py:1209
 #, python-format
 msgid ""
 "\n"




More information about the commits mailing list