Compare commits

...
Author SHA1 Message Date
smizrahi 748acc251c fix(tests): Add timeout on all async tests 2024-09-26 17:53:34 +02:00
smizrahi 5e72e37c76 fix(tests): Add timeout on all async tests 2024-09-26 17:53:04 +02:00
smizrahi 8e249d4abf fix(tests): Add timeout on all async tests 2024-09-26 17:15:27 +02:00
smizrahi 59d48cb382 fix(mail): Fix assertion when there is an empty image in the mail. Fixes #6035. 2024-09-13 15:53:53 +02:00
Hivert Quentin 2da4aa8cb8 chore(js/css): update generated files 2024-09-13 01:00:36 -04:00
Hivert Quentin 1c20c1ead3 feat(sieve): add from on notificatons 2024-09-12 10:49:15 +02:00
Hivert Quentin a7023bce16 fix(security): Prevent user to add html script in its preferences 2024-09-12 08:45:56 +02:00
Hivert Quentin 84fe91c29c fix(sogo-tool): prevent a bug when restoring two events with same id 2024-09-11 17:56:45 +02:00
Hivert Quentin 68f4fc1343 fix(mail): improve algo to fetch imap folders for mail view 2024-09-11 09:05:53 +02:00
smizrahi 2a1744998c fix(calendar): Fix regression on repeat task 2024-09-09 14:10:33 +02:00
Hivert Quentin 01607b151d chore(js/css): update generated files 2024-09-05 01:00:37 -04:00
smizrahi 0cbd082c1d fix(mail): Fix highlighsearch html rendering on subject 2024-09-04 18:03:36 +02:00
smizrahi 41a0f8d9af fix(mail): Fix HTML mail rendering issue 2024-09-04 15:10:05 +02:00
Hivert Quentin 2dd10970a4 fix(ckeditor5): prevent ckeditor5 to preview media 2024-09-03 13:37:19 +02:00
smizrahi 2f75a7fb1b fix(calendar): Fix all day recurring event displayed on 2 days when a DST change occurs at the endDate 2024-08-28 10:27:00 +02:00
Hivert Quentin c1e4dc5a0e chore(js/css): update generated files 2024-08-28 01:00:36 -04:00
smizrahi fa2caf9026 fix(mail): Add an option in Preferences to display full email instead of name alone in mailboxes. Fix issue caused by advanced search. 2024-08-27 18:40:36 +02:00
Hivert Quentin f42f94da84 chore(js/css): update generated files 2024-08-21 01:00:55 -04:00
smizrahi 1f6bbc1044 fix(mail): Fix issue where unread counter is invalid when whanging folder. Fixes #6001. 2024-08-20 14:52:03 +02:00
Hivert Quentin a24d59dfaf chore(js/css): update generated files 2024-08-20 01:00:53 -04:00
smizrahi 91a249009b fix(mail): Fix issue where unread counter is invalid when whanging folder. Fixes #6001. 2024-08-19 18:16:33 +02:00
Hivert Quentin 16f371dba7 chore(js/css): update generated files 2024-08-17 01:00:52 -04:00
smizrahi 86446a059c fix(mail): Fix issue where mailto: links are badly formatted when html composing 2024-08-16 12:58:31 +02:00
Hivert Quentin b602b2b188 chore(release): 5.11.0 2024-08-07 11:10:59 +02:00
Hivert Quentin fad8c21473 i18n(cy): Update Welsh translations 2024-08-07 10:50:30 +02:00
Hivert Quentin 6537d961e1 i18n(uk): Update Ukrainian translations 2024-08-07 10:50:30 +02:00
Hivert Quentin 56012c65e1 i18n(tr_TR): Update TurkishTurkey translations 2024-08-07 10:50:30 +02:00
Hivert Quentin dd1a6607fe i18n(sv): Update Swedish translations 2024-08-07 10:50:30 +02:00
Hivert Quentin 94d32c419c i18n(es_AR): Update SpanishArgentina translations 2024-08-07 10:50:30 +02:00
Hivert Quentin 7b7cfdb499 i18n(sk): Update Slovak translations 2024-08-07 10:50:30 +02:00
Hivert Quentin a4f03978cf i18n(sr@latin): Update SerbianLatin translations 2024-08-07 10:50:29 +02:00
Hivert Quentin 7de9dc8f9b i18n(sr): Update Serbian translations 2024-08-07 10:50:29 +02:00
Hivert Quentin 33df476db5 i18n(ru): Update Russian translations 2024-08-07 10:50:28 +02:00
Hivert Quentin b889064dbc i18n(ro_RO): Update Romanian translations 2024-08-07 10:50:28 +02:00
Hivert Quentin 9a0e03bf9a i18n(pt): Update Portuguese translations 2024-08-07 10:50:27 +02:00
Hivert Quentin 84c0fb496d i18n(pl): Update Polish translations 2024-08-07 10:50:26 +02:00
Hivert Quentin 65f29f21dc i18n(nn_NO): Update NorwegianNynorsk translations 2024-08-07 10:50:26 +02:00
Hivert Quentin 8d4597d361 i18n(sr_ME@latin): Update Montenegrin translations 2024-08-07 10:50:26 +02:00
Hivert Quentin 5bb025323f i18n(mk_MK): Update Macedonian translations 2024-08-07 10:50:24 +02:00
Hivert Quentin a84ab7655d i18n(lt): Update Lithuanian translations 2024-08-07 10:50:23 +02:00
Hivert Quentin 88c9074aea i18n(lv): Update Latvian translations 2024-08-07 10:50:23 +02:00
Hivert Quentin c4b58a6ae7 i18n(kk): Update Kazakh translations 2024-08-07 10:50:23 +02:00
Hivert Quentin 0c2c9d7682 i18n(ja): Update Japanese translations 2024-08-07 10:50:22 +02:00
Hivert Quentin 227b92b743 i18n(it): Update Italian translations 2024-08-07 10:50:22 +02:00
Hivert Quentin de289d9b4c i18n(id_ID): Update Indonesian translations 2024-08-07 10:50:22 +02:00
Hivert Quentin 2fabfdfb9f i18n(is): Update Icelandic translations 2024-08-07 10:50:21 +02:00
Hivert Quentin b82fa1d077 i18n(hu): Update Hungarian translations 2024-08-07 10:50:20 +02:00
Hivert Quentin 8bf1a77efc i18n(he): Update Hebrew translations 2024-08-07 10:50:20 +02:00
Hivert Quentin 37f2b1dc5c i18n(de): Update German translations 2024-08-07 10:50:20 +02:00
Hivert Quentin ed3e790b47 i18n(fi): Update Finnish translations 2024-08-07 10:50:20 +02:00
Hivert Quentin 85c1cc7fa3 i18n(nl): Update Dutch translations 2024-08-07 10:50:20 +02:00
Hivert Quentin fa2312470a i18n(hr_HR): Update Croatian translations 2024-08-07 10:50:19 +02:00
Hivert Quentin 1136c18288 i18n(zh_TW): Update ChineseTaiwan translations 2024-08-07 10:50:19 +02:00
Hivert Quentin 0e5657e635 i18n(zh_CN): Update ChineseChina translations 2024-08-07 10:50:18 +02:00
Hivert Quentin ca0b00107a i18n(ca): Update Catalan translations 2024-08-07 10:50:18 +02:00
Hivert Quentin be6a69a4d6 i18n(bg_BG): Update Bulgarian translations 2024-08-07 10:50:18 +02:00
Hivert Quentin 0b530f9e36 i18n(bs_BA): Update Bosnian translations 2024-08-07 10:50:18 +02:00
Hivert Quentin 55563d2113 i18n(eu): Update Basque translations 2024-08-07 10:50:18 +02:00
Hivert Quentin 1aa59dcd7e i18n(ar): Update Arabic translations 2024-08-07 10:50:18 +02:00
Hivert Quentin 943e96f459 i18n(nb_NO): Update NorwegianBokmal translations 2024-08-07 10:50:18 +02:00
Hivert Quentin 6b6dc6b3b8 i18n(gl): Update Galician translations 2024-08-07 10:50:18 +02:00
Hivert Quentin bcb2410b12 i18n(da_DK): Update Danish translations 2024-08-07 10:49:40 +02:00
Hivert Quentin af630f033d i18n(pt_BR): Update BrazilianPortuguese translations 2024-08-07 10:49:40 +02:00
Hivert Quentin 6e11cdf289 i18n(es_ES): Update SpanishSpain translations 2024-08-07 10:49:40 +02:00
Hivert Quentin 68b17a5c4a i18n(sl_SI): Update Slovenian translations 2024-08-07 10:49:39 +02:00
Hivert Quentin 5ee190468e i18n(cs): Update Czech translations 2024-08-07 10:49:38 +02:00
Hivert Quentin b8f2e00306 chore(css): update theme-default 2024-08-07 10:48:59 +02:00
smizrahi 990f1e8e8f fix(preferences): Can not save preferences when there is a constraint on mail 2024-08-05 11:09:27 +02:00
smizrahi 58db9c980e fix(mail): When the signature is empty, the -- seperator appears. 2024-08-05 08:47:09 +02:00
smizrahi 980b5e28dd fix(calendar): Fix all day recurring event displayed on 2 days when a DST change occurs at the endDate 2024-07-23 15:21:59 +02:00
229 changed files with 1775 additions and 833 deletions

No files matched your search

+116
View File
@@ -2,6 +2,122 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [5.11.0](https://github.com/Alinto/sogo/compare/SOGo-5.10.0...SOGo-5.11.0) (2024-08-07)
### Features
* **core:** Add MySQL/MariaDB SSL connection support ([0168ca5](https://github.com/Alinto/sogo/commit/0168ca56b2e5f51ac98be2a78ddfcea4a688b74f))
* **core:** Update to ckeditor 5 ([0cfaa77](https://github.com/Alinto/sogo/commit/0cfaa7740af509389e43c395649ea82a3fb432be) [e92fb8f](https://github.com/Alinto/sogo/commit/e92fb8f52d615b72a6945760aecdf95039e1cbf2) [b7a7114](https://github.com/Alinto/sogo/commit/b7a71140f2b3eefb494a3acc151fe556ce1d3ce4) [a9e02d9](https://github.com/Alinto/sogo/commit/a9e02d94a26cd30c9e56196a1ec24ddec0c4db9c) [98e00d0](https://github.com/Alinto/sogo/commit/98e00d09a3e31b388592e2d1068d89bc57ff1d99) [2b23ff3](https://github.com/Alinto/sogo/commit/2b23ff3eb8dac6acc570b1aaa6e0baff72dd17ea) [65ab696](https://github.com/Alinto/sogo/commit/65ab6962d870baeba7cb4b3c1b66eb6447174e1b) [dd965ba](https://github.com/Alinto/sogo/commit/dd965baae110176c6144ccd64cbade3ef757966a))
* **mail:** Improve mail search (advanced search) ([ed95166](https://github.com/Alinto/sogo/commit/ed951667ec610b8ad48a49a606b6b1c33c60914d) [f621d97](https://github.com/Alinto/sogo/commit/f621d972893c94977cda432efe3dcc837ec8bf58) [0cbcad9](https://github.com/Alinto/sogo/commit/0cbcad9d91cd52afcfd14034786457a106013182) [9eb8039](https://github.com/Alinto/sogo/commit/9eb80396988bd7c8ac3a1f44dbc48147ced20750))
### Enhancements
* **calendar:** Add option to disable email appointmoint notifications when using caldav ([2637434](https://github.com/Alinto/sogo/commit/2637434436c19157ce6255fb071dcb99cf57ad89))
* **mail:** Add 'View raw message' mail contextual option. This option open message in a popup without HTML mail CSS content modification. ([6ac8525](https://github.com/Alinto/sogo/commit/6ac8525bfe161409c0565e3dca1e9e92f87c1c08))
* **mail:** Add location in email ics representation template ([591d283](https://github.com/Alinto/sogo/commit/591d2834252441a9593f27012f7b148d38b9a511))
* **mail:** add options to not add X-Foward header in mail ([96331ca](https://github.com/Alinto/sogo/commit/96331cac905ee7b6dc1adfda083dcefffe0f8795))
* **ytnef:** add possibility to add event to calendar from winmail.dat ([f609c31](https://github.com/Alinto/sogo/commit/f609c31a324683dd4c210284f672618cfffb9908))
* **calendar:** Optimization of date computation when handle attendees. Report of 77b2d9f8. ([53d77f3](https://github.com/Alinto/sogo/commit/53d77f3105c2d7f6aa2be1cac691dd19a4754df8))
### Bug Fixes
* **addressbook:** Removed SOGoGlobalAddressBookFirstEntries (use listRequiresDot instead) and move SOGoGlobalAddressBookFirstEntriesCount to globalAddressBookFirstEntriesCount in source scope. This fixed the broken listRequiresDot in 5.10 ([4dba56f](https://github.com/Alinto/sogo/commit/4dba56f70dbda81822b3fd26e1420c367c1b7298))
* **attachment:** properly download openxmlformats in attachments ([2e2e36e](https://github.com/Alinto/sogo/commit/2e2e36e0a2b759d5d734bdefc274f127937e9b89))
* **calendar(js):** escape CSS selector names ([5c94461](https://github.com/Alinto/sogo/commit/5c944617d0efdc03a72a677e9f60922cb3ab90bd))
* **calendar(js):** prevent duplicate event creation in case of an event conflict ([f04c73d](https://github.com/Alinto/sogo/commit/f04c73d495dfce6e93d33ceb0964f1ee6aeb51a5))
* **calendar:** Fix all day recurring event displayed on 2 days when a DST change occurs at the endDate ([980b5e2](https://github.com/Alinto/sogo/commit/980b5e28dd0c4cfd42619c64872bb08674d64765))
* **calendar:** Fix assertion when is_cycle is set but without c_cycleinfo ([d404667](https://github.com/Alinto/sogo/commit/d4046673eebf21180f494e516a39a7b04243f669) [49e9988](https://github.com/Alinto/sogo/commit/49e9988b82b206ae751feb10979f5e0859d2ec77) [d9ee884](https://github.com/Alinto/sogo/commit/d9ee88445997a21623b33129fe28466042229696))
* **calendar:** fix crash when using a 2*16bits chars at the 75th char of ics file ([31c0473](https://github.com/Alinto/sogo/commit/31c0473c48238de2288e5a5c0c8295fc67710d32))
* **calendar:** fix disabled change view buttons ([910effd](https://github.com/Alinto/sogo/commit/910effd664e24a3fc5343145f24a2e2d9cf58027))
* **calendar:** Fix empty recurence list when creating event from mail ([2756176](https://github.com/Alinto/sogo/commit/27561765038358243a628853b47b20c2db256dc2))
* **calendar:** Fix issue on template introduced in commit [#275617650](https://bugs.sogo.nu/view.php?id=275617650) ([eee160e](https://github.com/Alinto/sogo/commit/eee160e5bf60b2e59b96adabae805d61c5d85292))
* **calendar:** Fix issue when doubleclick creates an event of 2 days after creating an event > 1 days ([7b23342](https://github.com/Alinto/sogo/commit/7b233422f5790147dd2522261c3b79dac85bfd6c))
* **calendar:** Fix issue where a calendar's subscribed user can give acl to another user ([ae01ed0](https://github.com/Alinto/sogo/commit/ae01ed077dcca8d3c3778cde6645075dada9b92d) [cb55413](https://github.com/Alinto/sogo/commit/cb55413e91ac0f10b649abaaeaa5fdab141f0958) [0fafda5](https://github.com/Alinto/sogo/commit/0fafda55d633401c1eeadcbfafd9ae251234787a))
* **calendar:** Fix NSData returned instead of NSString on c_cycleinfo depending on database issue. CLoses [#5940](https://bugs.sogo.nu/view.php?id=5940). ([5215aa4](https://github.com/Alinto/sogo/commit/5215aa4f4114acc09bc923542e4fe23fa2779d3b))
* **calendar:** Memory optimization on _appendCycleException ([45fd999](https://github.com/Alinto/sogo/commit/45fd999010a80ee39c7fa26f96c1460ddf0d3af9))
* **calendar:** resource was busy even if they have delegated ([880eb89](https://github.com/Alinto/sogo/commit/880eb897191c906d141afafe628d66f9a5025640) [5830053](https://github.com/Alinto/sogo/commit/58300530260469594f40db7ee3b67e34ba60d1ce))
* **chore:** Remove check on -p option to sogo-ealarms-notify as the SMTP Master account has been implemented ([f96eb4d](https://github.com/Alinto/sogo/commit/f96eb4d3ca32a916ecc63221d022014f736cd94b))
* **contacts:** can now reset contacts categories more than once ([526aa28](https://github.com/Alinto/sogo/commit/526aa281d9a92e9fd29046b8a1551aea16c58772))
* **core:** Add disableSubgroups option in SOGoUserSources LDAP settings to avoid infinite recursive loop when using a group name with the same name as a member. Fixes [#5913](https://bugs.sogo.nu/view.php?id=5913) ([fd9b8dc](https://github.com/Alinto/sogo/commit/fd9b8dcfcd07217e7456a67c2e69f13fca743874))
* **core:** Add timer to avoid spamming onEditorChanged for CKEditor 5. Fixes [#5944](https://bugs.sogo.nu/view.php?id=5944). ([bc804ae](https://github.com/Alinto/sogo/commit/bc804ae823a8a61e6cb02495759f75a104c77753) [2f4c125](https://github.com/Alinto/sogo/commit/2f4c125bdd9b5eebbba41e2204e2fc9c93a3eebd))
* **core:** Clean html parasite code to avoid ckeditor hangs. Fixes [#5944](https://bugs.sogo.nu/view.php?id=5944). ([127df39](https://github.com/Alinto/sogo/commit/127df3968998c96d5349f7368adba1e5e371ed4c))
* **core:** Fix int overflow on vms and rss computation ([4b343f7](https://github.com/Alinto/sogo/commit/4b343f707016f2b45fbd71c6c2f039b50a076f30))
* **core:** Improve error logging on url encryption ([b8a6d57](https://github.com/Alinto/sogo/commit/b8a6d576e19828ffddf6c8e3c3353efd03836b2e))
* **core:** Notify sgCkeditor component when clicking the send button to update content. Fixes [#5952](https://bugs.sogo.nu/view.php?id=5952). ([c2d9050](https://github.com/Alinto/sogo/commit/c2d9050539c13f843f2a7395b0b9a24a4b8db3f3))
* **core:** On some emails print, first page is blank. Closes [#5602](https://bugs.sogo.nu/view.php?id=5602). ([e39c104](https://github.com/Alinto/sogo/commit/e39c1044364d68df49ea6142072928d0b0e4c1eb))
* **doc:** Fix typo with SOGoURLEncryptionEnabled in documentation ([a06331e](https://github.com/Alinto/sogo/commit/a06331eb86aad8ec9a30f30df55aa4282a78654c))
* **event:** fix rdate timezones ([e4cb0a3](https://github.com/Alinto/sogo/commit/e4cb0a35ef34b496d8b7e0d6e2e10fe0844e37f8))
* **event:** resource was considered busy for an event he has delegated ([adf1117](https://github.com/Alinto/sogo/commit/adf111704642126272301ab7961603fb0b787c9e))
* **event:** user was considered busy for an event he has delegated ([815a87d](https://github.com/Alinto/sogo/commit/815a87de0b8bc8e8a7431b8a7b3aedc66d4dde2a))
* **languages:** somme "array" strings were using the wrong comma delimiter ([7c0699b](https://github.com/Alinto/sogo/commit/7c0699b96ff1539011e04a1d60f8f4c7334e79b1))
* **mail:** Add encoding fallback when there are ISO char in file name. Fixes [#5388](https://bugs.sogo.nu/view.php?id=5388). ([e6ff9a4](https://github.com/Alinto/sogo/commit/e6ff9a408d94d2817ce0d9b9f078811e19ea4a39))
* **mail:** Fix advanced search no select/action on results. Fixes [#5978](https://bugs.sogo.nu/view.php?id=5978) ([1a47fdb](https://github.com/Alinto/sogo/commit/1a47fdb7d62242001c770ac28df84bf8c999c179))
* **mail:** Fix errors while spamming arrow keys on mail list. The transition was not finished ([049a569](https://github.com/Alinto/sogo/commit/049a569d7faff5f3a507671d17bc0da309ec14ac))
* **mail:** Fix Exception when using delegated identities. Closes [#5951](https://bugs.sogo.nu/view.php?id=5951) ([f8c354c](https://github.com/Alinto/sogo/commit/f8c354c302b34b1676764a869481f8a6160f6120))
* **mail:** Fix invalid content when forwarding a text/plain mail. Fixes [#5983](https://bugs.sogo.nu/view.php?id=5983). ([ef88039](https://github.com/Alinto/sogo/commit/ef88039a4a3d590de09cf75da5668db9d6fd29f0) [43388ac](https://github.com/Alinto/sogo/commit/43388ac42c99a6fc47cc4191291f81d45faf9a8d))
* **mail:** Fix not called draft expunge function when sending mail. ([7ec7a7d](https://github.com/Alinto/sogo/commit/7ec7a7d6aead1a7aee025324e2ae64696b2d087c))
* **mail:** Fix template issues with Galician and Basque ([19ee54f](https://github.com/Alinto/sogo/commit/19ee54fe055bc6a45bae6e5f71dcdb60bad766fd))
* **mail:** Fix ukrainian encoding issue. Fixes [#5702](https://bugs.sogo.nu/view.php?id=5702). ([776a798](https://github.com/Alinto/sogo/commit/776a798e173e6bacc29c8ab3d32bddabd383da55))
* **mail:** Fix unsupported koi-u encoding ([5710c4d](https://github.com/Alinto/sogo/commit/5710c4d97e2fbcf3ff0b187f1100892d8efcacb2))
* **mail:** Remove some css when generating UIxMailPartHTMLViewer. Sometimes, the mail contains SOGo mail template in the content, and broke mail display. ([863280d](https://github.com/Alinto/sogo/commit/863280d6ac54783a7fe6a8ce3fcdd8c3a4c4e4ff))
* **mail:** Removed bracket display when inline text or inline html ([06ea167](https://github.com/Alinto/sogo/commit/06ea167ee58c65f54cf4474927d977513d380b3b))
* **mail:** Restore scroll position when refreshing emails ([9d71be9](https://github.com/Alinto/sogo/commit/9d71be9c45eb9b9af0cb62be99a440ea7652248b))
* **mail:** Update len value as data is modified in loop. This fixes the issue on sanitizedContentUsingVoidTags whenthere are meta html tags in mail content. ([99da6e0](https://github.com/Alinto/sogo/commit/99da6e0f81a99f94e453ece7fe0761fcf1186fb6))
* **mail:** When the signature is empty, the -- seperator appears. ([58db9c9](https://github.com/Alinto/sogo/commit/58db9c980eb518dc726e908307988b98cf7a4d84))
* **preferences:** Can not save preferences when there is a constraint on mail ([990f1e8](https://github.com/Alinto/sogo/commit/990f1e8e8fda67537a3a4ed3a067011e3b81e7dd))
* **ui:** Fix invalid display when creating new appointment / mail on mobile. Initialize isFullscreen to if screen is in portrait. Fixes [#5970](https://bugs.sogo.nu/view.php?id=5970). ([314b39d](https://github.com/Alinto/sogo/commit/314b39dd1c65e321920fdc095915c2954a53b944))
* **vulnerability:** prevent cross-site scripting when previewing attachments ([2e37e59](https://github.com/Alinto/sogo/commit/2e37e59ed140d4aee0ff2fba579ca5f83f2c5920))
### Localization
* **ar:** Update Arabic translations ([1aa59dc](https://github.com/Alinto/sogo/commit/1aa59dcd7e5755873ac0a68c770ecb33efe50077))
* **bg_BG:** Update Bulgarian translations ([be6a69a](https://github.com/Alinto/sogo/commit/be6a69a4d600da2ac3bccd00d10b185871295c2a))
* **bs_BA:** Update Bosnian translations ([0b530f9](https://github.com/Alinto/sogo/commit/0b530f9e36a996f9910432b5410ce14e0c74a979))
* **calendar:** Change Email Attendees to Email Attendees (internal users ([eb63e6d](https://github.com/Alinto/sogo/commit/eb63e6d047c4f3967b83f17c6457d353acf2d9ae))
* **ca:** Update Catalan translations ([ca0b001](https://github.com/Alinto/sogo/commit/ca0b00107a65b2cd5b78d084d8591a99d6055d07))
* **cs:** Update Czech translations ([5ee1904](https://github.com/Alinto/sogo/commit/5ee190468e7616e2fb05a90fd146dbb0a76ccb6a))
* **cy:** Update Welsh translations ([fad8c21](https://github.com/Alinto/sogo/commit/fad8c21473bdb975826a37f728f7da76a21afd6f))
* **da_DK:** Update Danish translations ([bcb2410](https://github.com/Alinto/sogo/commit/bcb2410b1224981f0fec618f2e073197d2539666))
* **de:** Update German translations ([37f2b1d](https://github.com/Alinto/sogo/commit/37f2b1dc5c630ea58ad356c568d706bb81747cb7))
* **es_AR:** Update SpanishArgentina translations ([94d32c4](https://github.com/Alinto/sogo/commit/94d32c419c525067415c8ff9c2aa44fd00c361ed))
* **es_ES:** Update SpanishSpain translations ([6e11cdf](https://github.com/Alinto/sogo/commit/6e11cdf2893727ae77625cad1d0be4cd0e60e1bd))
* **eu:** Update Basque translations ([55563d2](https://github.com/Alinto/sogo/commit/55563d21132c43841fe009ea93e71bae5058a37c))
* **fi:** Update Finnish translations ([ed3e790](https://github.com/Alinto/sogo/commit/ed3e790b47f60b2b2548888c23eeb1945c7d8156))
* **gl:** Update Galician translations ([6b6dc6b](https://github.com/Alinto/sogo/commit/6b6dc6b3b845357b2d9986abe3b84e91484f7c58))
* **he:** Update Hebrew translations ([8bf1a77](https://github.com/Alinto/sogo/commit/8bf1a77efc12eeaf41b4f6d32aec6eddfe5f4f5c))
* **hr_HR:** Update Croatian translations ([fa23124](https://github.com/Alinto/sogo/commit/fa2312470adff5026c1d8b75c3e32109b55e51a4))
* **hu:** Update Hungarian translations ([b82fa1d](https://github.com/Alinto/sogo/commit/b82fa1d0771b082d07e3c654e41a3ef82888e525))
* **id_ID:** Update Indonesian translations ([de289d9](https://github.com/Alinto/sogo/commit/de289d9b4cd7b0ed6050183acb020c8e1c4054ca))
* **is:** Update Icelandic translations ([2fabfdf](https://github.com/Alinto/sogo/commit/2fabfdfb9f78df085531a4525707311004d6c4ed))
* **it:** Update Italian translations ([227b92b](https://github.com/Alinto/sogo/commit/227b92b7434ded7f54affe9aad629b08a3e2badf))
* **ja:** Update Japanese translations ([0c2c9d7](https://github.com/Alinto/sogo/commit/0c2c9d7682a9ca66ac4d3778ae0efc907f525aa8))
* **kk:** Update Kazakh translations ([c4b58a6](https://github.com/Alinto/sogo/commit/c4b58a6ae75110482801b4aa2141b564b8943476))
* **lt:** Update Lithuanian translations ([a84ab76](https://github.com/Alinto/sogo/commit/a84ab7655d05aec16c0d247d13f6da3b46a95221))
* **lv:** Update Latvian translations ([88c9074](https://github.com/Alinto/sogo/commit/88c9074aeab8759d841ea79db2245520fe998543))
* **mk_MK:** Update Macedonian translations ([5bb0253](https://github.com/Alinto/sogo/commit/5bb025323f63b93b984707ffa507d900846f6ec5))
* **nb_NO:** Update NorwegianBokmal translations ([943e96f](https://github.com/Alinto/sogo/commit/943e96f459cc5a8fd93ec8da36f064f251d30dc2))
* **nl:** Update Dutch translations ([85c1cc7](https://github.com/Alinto/sogo/commit/85c1cc7fa3f3e21b6a158cd51c3e640e94f0e81e))
* **nn_NO:** Update NorwegianNynorsk translations ([65f29f2](https://github.com/Alinto/sogo/commit/65f29f21dc2d957e3bcabdedb8873e71f65461ee))
* **pl:** Update Polish translations ([84c0fb4](https://github.com/Alinto/sogo/commit/84c0fb496d5727ccb4248b96b36d57a620ef440a))
* **pt_BR:** Update BrazilianPortuguese translations ([af630f0](https://github.com/Alinto/sogo/commit/af630f033d3cc1188019e1f3cfe0ebb852f3560f))
* **pt:** Update Portuguese translations ([9a0e03b](https://github.com/Alinto/sogo/commit/9a0e03bf9afdf049bcce0045411400931c6ce9f1))
* **ro_RO:** Update Romanian translations ([b889064](https://github.com/Alinto/sogo/commit/b889064dbc7e137298ef8e70538f6a7196477596))
* **ru:** Update Russian translations ([33df476](https://github.com/Alinto/sogo/commit/33df476db55890fcae1c40bd29e9e81017c86e72))
* **sk:** Update Slovak translations ([7b7cfdb](https://github.com/Alinto/sogo/commit/7b7cfdb499766867430e49376185105cfbf2ab4f))
* **sl_SI:** Update Slovenian translations ([68b17a5](https://github.com/Alinto/sogo/commit/68b17a5c4a6a2e015d32dc79c7b33d348be1a5f2))
* **sr_ME@latin:** Update Montenegrin translations ([8d4597d](https://github.com/Alinto/sogo/commit/8d4597d3610928191313986490eafb44f3077ca5))
* **sr@latin:** Update SerbianLatin translations ([a4f0397](https://github.com/Alinto/sogo/commit/a4f03978cfc815d3a337d94d5a46bbe10166306a))
* **sr:** Update Serbian translations ([7de9dc8](https://github.com/Alinto/sogo/commit/7de9dc8f9ba3e62d082d91f4305c5be6c9d2a7c6))
* **sv:** Update Swedish translations ([dd1a660](https://github.com/Alinto/sogo/commit/dd1a6607fe3ed9e65991d349588179acb7f2eb6c))
* **tr_TR:** Update TurkishTurkey translations ([56012c6](https://github.com/Alinto/sogo/commit/56012c65e191937b5132c091f6366b6b24546a5f))
* **uk:** Update Ukrainian translations ([6537d96](https://github.com/Alinto/sogo/commit/6537d961e13604ae373e787664f6fa91f9912ab5))
* **zh_CN:** Update ChineseChina translations ([0e5657e](https://github.com/Alinto/sogo/commit/0e5657e635012cd2568e30060741e7114ef1a591))
* **zh_TW:** Update ChineseTaiwan translations ([1136c18](https://github.com/Alinto/sogo/commit/1136c182885d716dc2613d58f59a58fdcf8d8168))
## [5.10.0](https://github.com/Alinto/sogo/compare/SOGo-5.9.1...SOGo-5.10.0) (2024-02-20)
@@ -12,9 +12,9 @@ vtodo_class2 = "(Skrytý úkol)";
"The event \"%{Summary}\" was created" = "Událost \"%{Summary}\" byla vytvořena";
"The event \"%{Summary}\" was deleted" = "Událost \"%{Summary}\" byla smazána";
"The event \"%{Summary}\" was updated" = "Událost \"%{Summary}\" byla upravena";
"The task \"%{Summary}\" was created" = "The task \"%{Summary}\" was created";
"The task \"%{Summary}\" was deleted" = "The task \"%{Summary}\" was deleted";
"The task \"%{Summary}\" was updated" = "The task \"%{Summary}\" was updated";
"The task \"%{Summary}\" was created" = "Úkol \"%{Summary}\" byl vytvořen";
"The task \"%{Summary}\" was deleted" = "Úkol \"%{Summary}\" byl smazán";
"The task \"%{Summary}\" was updated" = "Úkol \"%{Summary}\" byl upraven";
"The following attendees(s) were notified" = "Následující účastníci byli upozorněni";
"The following attendees(s) were added" = "Následující účastníci byli přidáni";
"The following attendees(s) were removed" = "Následující účastníci byli odebráni";
@@ -12,9 +12,9 @@ vtodo_class2 = "(Zaupno opravilo)";
"The event \"%{Summary}\" was created" = "Dogodek \"%{Summary}\" je bil ustvarjen";
"The event \"%{Summary}\" was deleted" = "Dogodek \"%{Summary}\" je bil izbrisan";
"The event \"%{Summary}\" was updated" = "Dogodek \"%{Summary}\" je bil posodobljen";
"The task \"%{Summary}\" was created" = "The task \"%{Summary}\" was created";
"The task \"%{Summary}\" was deleted" = "The task \"%{Summary}\" was deleted";
"The task \"%{Summary}\" was updated" = "The task \"%{Summary}\" was updated";
"The task \"%{Summary}\" was created" = "Opravilo \"%{Summary}\" je bilo ustvarjeno";
"The task \"%{Summary}\" was deleted" = "Opravilo \"%{Summary}\" je bilo izbrisano";
"The task \"%{Summary}\" was updated" = "Opravilo \"%{Summary}\" je bilo posodobljeno";
"The following attendees(s) were notified" = "Naslednji udeleženci so bili obveščeni";
"The following attendees(s) were added" = "Naslednji udeleženci so bili dodani";
"The following attendees(s) were removed" = "Naslednji udeleženci so bili odstranjeni";
+146 -144
View File
@@ -454,19 +454,22 @@ static NSString *inboxFolderName = @"INBOX";
//
- (NSString *) _folderType: (NSString *) folderName
flags: (NSMutableArray *) flags
folderTypes: (NSDictionary *) folderTypes
{
static NSDictionary *metadata = nil;
NSString *folderType, *key, *rights;
static NSDictionary *folderTypeDict = nil;
NSString *folderType, *key, *rights, *flag;
NSEnumerator *flagEnum;
SOGoUserDefaults *ud;
if (!metadata)
{
ud = [[context activeUser] userDefaults];
metadata = [[[self imap4Connection] allFoldersMetadataForURL: [self imap4URL]
onlySubscribedFolders: [ud mailShowSubscribedFoldersOnly]]
objectForKey: @"list"];
[metadata retain];
}
{
ud = [[context activeUser] userDefaults];
metadata = [[[self imap4Connection] allFoldersMetadataForURL: [self imap4URL]
onlySubscribedFolders: [ud mailShowSubscribedFoldersOnly]]
objectForKey: @"list"];
[metadata retain];
}
key = [NSString stringWithFormat: @"/%@", folderName];
[flags addObjectsFromArray: [metadata objectForKey: key]];
@@ -474,44 +477,32 @@ static NSString *inboxFolderName = @"INBOX";
// RFC6154 (https://tools.ietf.org/html/rfc6154) describes special uses for IMAP mailboxes.
// We do honor them, as long as your SOGo{Drafts,Trash,Sent,Junk}FolderName are properly configured
// See http://wiki.dovecot.org/MailboxSettings for a Dovecot example.
if ([folderName isEqualToString: inboxFolderName])
folderType = @"inbox";
else if ([flags containsObject: [self draftsFolderNameInContext: context]] ||
[folderName isEqualToString: [self draftsFolderNameInContext: context]])
folderType = @"draft";
else if ([flags containsObject: [self sentFolderNameInContext: context]] ||
[folderName isEqualToString: [self sentFolderNameInContext: context]])
folderType = @"sent";
else if ([flags containsObject: [self trashFolderNameInContext: context]] ||
[folderName isEqualToString: [self trashFolderNameInContext: context]])
folderType = @"trash";
else if ([flags containsObject: [self junkFolderNameInContext: context]] ||
[folderName isEqualToString: [self junkFolderNameInContext: context]])
folderType = @"junk";
else if ([flags containsObject: [self templatesFolderNameInContext: context]] ||
[folderName isEqualToString: [self templatesFolderNameInContext: context]])
folderType = @"templates";
else if ([folderName isEqualToString: otherUsersFolderName])
folderType = @"otherUsers";
else if ([folderName isEqualToString: sharedFoldersName])
folderType = @"shared";
else
if((folderType = [folderTypes objectForKey: folderName]))
return folderType;
flagEnum = [flags objectEnumerator];
while((flag = [flagEnum nextObject]))
{
if([flag isEqualToString: inboxFolderName] || [flag isEqualToString: otherUsersFolderName] || [flag isEqualToString: sharedFoldersName])
continue;
if((folderType = [folderTypes objectForKey: flag]))
return folderType;
}
folderType = @"folder";
if (([sharedFoldersName length] && [folderName hasPrefix: sharedFoldersName]) ||
([otherUsersFolderName length] && [folderName hasPrefix: otherUsersFolderName]))
{
rights = [[self imap4Connection] myRightsForMailboxAtURL: [NSURL URLWithString: folderName]];
if (![rights isKindOfClass: [NSException class]] &&
([rights rangeOfString: @"r"].location == NSNotFound))
{
folderType = @"folder";
if (([sharedFoldersName length] && [folderName hasPrefix: sharedFoldersName]) ||
([otherUsersFolderName length] && [folderName hasPrefix: otherUsersFolderName]))
{
rights = [[self imap4Connection] myRightsForMailboxAtURL: [NSURL URLWithString: folderName]];
if (![rights isKindOfClass: [NSException class]] &&
([rights rangeOfString: @"r"].location == NSNotFound))
{
[flags addObjectUniquely: @"noselect"];
if ([rights rangeOfString: @"i"].location != NSNotFound)
// No read but insert = dropbox
folderType = @"dropbox";
}
}
[flags addObjectUniquely: @"noselect"];
if ([rights rangeOfString: @"i"].location != NSNotFound)
// No read but insert = dropbox
folderType = @"dropbox";
}
}
return folderType;
}
@@ -521,6 +512,7 @@ static NSString *inboxFolderName = @"INBOX";
//
- (NSMutableDictionary *) _insertFolder: (NSString *) folderPath
foldersList: (NSMutableArray *) theFolders
folderTypes: (NSDictionary *) folderTypes
{
NSArray *pathComponents;
NSMutableArray *folders, *flags;
@@ -541,103 +533,99 @@ static NSString *inboxFolderName = @"INBOX";
// The variable folderPath is something like '/INBOX/Junk' so pathComponents becomes ('/', 'INBOX', 'Junk').
// That's why we always ignore the first element
for (i = 1; i < count; i++)
{
last = ((count - i) == 1);
folder = nil;
if ([currentPath length])
currentPath = [NSString stringWithFormat: @"%@/%@", currentPath, [pathComponents objectAtIndex: i]];
else
currentPath = [pathComponents objectAtIndex: i];
// Search for the current path in the children of the parent folder.
// For the first iteration, take the parent folder passed as argument.
if (parentFolder)
folders = [parentFolder objectForKey: @"children"];
else
folders = theFolders;
for (j = 0; j < [folders count]; j++)
{
last = ((count - i) == 1);
folder = nil;
if ([currentPath length])
currentPath = [NSString stringWithFormat: @"%@/%@", currentPath, [pathComponents objectAtIndex: i]];
else
currentPath = [pathComponents objectAtIndex: i];
// Search for the current path in the children of the parent folder.
// For the first iteration, take the parent folder passed as argument.
if (parentFolder)
folders = [parentFolder objectForKey: @"children"];
else
folders = theFolders;
for (j = 0; j < [folders count]; j++)
{
currentFolder = [folders objectAtIndex: j];
if ([currentPath isEqualToString: [currentFolder objectForKey: @"path"]])
{
folder = currentFolder;
// Make sure all branches are ready to receive children
if (!last && ![folder objectForKey: @"children"])
[folder setObject: [NSMutableArray array] forKey: @"children"];
break;
}
}
// Check if the current folder is the "Other users" folder (shared mailboxes)
currentFolderName = [[pathComponents objectAtIndex: i] stringByDecodingImap4FolderName];
if (otherUsersFolderName
&& [currentFolderName caseInsensitiveCompare: otherUsersFolderName] == NSOrderedSame)
isOtherUsersFolder = YES;
else
isOtherUsersFolder = NO;
if (folder == nil)
{
// Folder was not found; create it and add it to the folders list
if (parentIsOtherUsersFolder)
{
// Parent folder is the "Other users" folder; translate the user's mailbox name
// to the full name of the person
userManager = [SOGoUserManager sharedUserManager];
if ((fullName = [userManager getCNForUID: currentFolderName]) && [fullName length])
currentFolderName = fullName;
else if ((fullName = [userManager getEmailForUID: currentFolderName]) && [fullName length])
currentFolderName = fullName;
}
else if (isOtherUsersFolder)
currentFolderName = [self labelForKey: @"OtherUsersFolderName"];
else if (sharedFoldersName
&& [currentFolderName caseInsensitiveCompare: sharedFoldersName] == NSOrderedSame)
currentFolderName = [self labelForKey: @"SharedFoldersName"];
flags = [NSMutableArray array];
if (last)
{
folderType = [self _folderType: currentPath
flags: flags];
}
else
{
folderType = @"additional";
[flags addObject: @"noselect"];
}
if ([subscribedFolders objectForKey: folderPath])
isSubscribed = YES;
else
isSubscribed = NO;
folder = [NSMutableDictionary dictionaryWithObjectsAndKeys:
currentPath, @"path",
folderType, @"type",
currentFolderName, @"name",
[NSMutableArray array], @"children",
flags, @"flags",
[NSNumber numberWithBool: isSubscribed], @"subscribed",
nil];
if (sieveFolderUTF8Encoding)
sievePath = [currentPath stringByDecodingImap4FolderName];
else
sievePath = currentPath;
[folder setObject: sievePath forKey: @"sievePath"];
// Either add this new folder to its parent or the list of root folders
[folders addObject: folder];
}
parentFolder = folder;
parentIsOtherUsersFolder = isOtherUsersFolder;
currentFolder = [folders objectAtIndex: j];
if ([currentPath isEqualToString: [currentFolder objectForKey: @"path"]])
{
folder = currentFolder;
// Make sure all branches are ready to receive children
if (!last && ![folder objectForKey: @"children"])
[folder setObject: [NSMutableArray array] forKey: @"children"];
break;
}
}
// Check if the current folder is the "Other users" folder (shared mailboxes)
currentFolderName = [[pathComponents objectAtIndex: i] stringByDecodingImap4FolderName];
if (otherUsersFolderName && [currentFolderName caseInsensitiveCompare: otherUsersFolderName] == NSOrderedSame)
isOtherUsersFolder = YES;
else
isOtherUsersFolder = NO;
if (folder == nil)
{
// Folder was not found; create it and add it to the folders list
if (parentIsOtherUsersFolder)
{
// Parent folder is the "Other users" folder; translate the user's mailbox name
// to the full name of the person
userManager = [SOGoUserManager sharedUserManager];
if ((fullName = [userManager getCNForUID: currentFolderName]) && [fullName length])
currentFolderName = fullName;
else if ((fullName = [userManager getEmailForUID: currentFolderName]) && [fullName length])
currentFolderName = fullName;
}
else if (isOtherUsersFolder)
currentFolderName = [self labelForKey: @"OtherUsersFolderName"];
else if (sharedFoldersName && [currentFolderName caseInsensitiveCompare: sharedFoldersName] == NSOrderedSame)
currentFolderName = [self labelForKey: @"SharedFoldersName"];
flags = [NSMutableArray array];
if (last)
{
folderType = [self _folderType: currentPath flags: flags folderTypes: folderTypes];
}
else
{
folderType = @"additional";
[flags addObject: @"noselect"];
}
if ([subscribedFolders objectForKey: folderPath])
isSubscribed = YES;
else
isSubscribed = NO;
folder = [NSMutableDictionary dictionaryWithObjectsAndKeys:
currentPath, @"path",
folderType, @"type",
currentFolderName, @"name",
[NSMutableArray array], @"children",
flags, @"flags",
[NSNumber numberWithBool: isSubscribed], @"subscribed",
nil];
if (sieveFolderUTF8Encoding)
sievePath = [currentPath stringByDecodingImap4FolderName];
else
sievePath = currentPath;
[folder setObject: sievePath forKey: @"sievePath"];
// Either add this new folder to its parent or the list of root folders
[folders addObject: folder];
}
parentFolder = folder;
parentIsOtherUsersFolder = isOtherUsersFolder;
}
return parentFolder;
}
@@ -651,11 +639,25 @@ static NSString *inboxFolderName = @"INBOX";
NSEnumerator *rawFolders;
NSAutoreleasePool *pool;
NSArray *allFolderPaths;
NSMutableDictionary *folderTypes;
allFolderPaths = [self allFolderPaths: theListingMode];
rawFolders = [allFolderPaths objectEnumerator];
folders = [NSMutableArray array];
folderTypes = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"inbox", inboxFolderName,
@"draft", [self draftsFolderNameInContext: context],
@"sent", [self sentFolderNameInContext: context],
@"trash", [self trashFolderNameInContext: context],
@"junk", [self junkFolderNameInContext: context],
@"templates", [self templatesFolderNameInContext: context],
nil];
if(otherUsersFolderName && [otherUsersFolderName length] > 0)
[folderTypes setObject: @"otherUsers" forKey: otherUsersFolderName];
if(sharedFoldersName && [sharedFoldersName length] > 0)
[folderTypes setObject: @"shared" forKey: sharedFoldersName];
while ((currentFolder = [rawFolders nextObject]))
{
// Using a local pool to avoid using too many file descriptors. This could
@@ -666,7 +668,8 @@ static NSString *inboxFolderName = @"INBOX";
// Insert folder into folders tree
[self _insertFolder: currentFolder
foldersList: folders];
foldersList: folders
folderTypes: folderTypes];
[pool release];
}
@@ -1119,11 +1122,10 @@ static NSString *inboxFolderName = @"INBOX";
folderName = [[account objectForKey: @"specialMailboxes"]
objectForKey: purpose];
if (!folderName && accountIdx > 0)
{
account = [accounts objectAtIndex: 0];
folderName = [[account objectForKey: @"specialMailboxes"]
objectForKey: purpose];
}
{
account = [accounts objectAtIndex: 0];
folderName = [[account objectForKey: @"specialMailboxes"] objectForKey: purpose];
}
return folderName;
}
@@ -1,5 +1,5 @@
"OtherUsersFolderName" = "Otros usuarios";
"SharedFoldersName" = "Carpetas compartidas";
"Report: Marked messages as junk" = "Report: Marked messages as junk";
"Report: Marked messages as not junk" = "Report: Marked messages as not junk";
"Report: Marked messages as junk" = "Informe: Mensajes marcados como spam";
"Report: Marked messages as not junk" = "Informe: Mensajes marcados como no spam";
+2 -4
View File
@@ -1243,12 +1243,10 @@ static NSString *sieveScriptName = @"sogo";
if (v && [v length] > 0)
{
notify = @"if header :matches \"subject\" \"*\" {\r\n set \"subject\" \"${1}\";\r\n}\r\n";
notify = [notify stringByAppendingString: @"if header :matches \"From\" \"*<*>\" {\r\n set \"from\" \"${1} ${2}\";\r\n}\r\n"];
notify = [notify stringByAppendingFormat: @"set :encodeurl \"body_param\" \"%@\";\r\n", message];
notify = [notify stringByAppendingFormat: @"notify :message \"%@: ${subject}\" \"mailto:%@?body=${body_param}\";\r\n", notificationTranslated, v];
notify = [notify stringByAppendingFormat: @"notify :message \"%@: '${subject}' from: ${from}\" \"mailto:%@?body=${body_param}\";\r\n", notificationTranslated, v];
// if (alwaysSend)
// [script insertString: notify atIndex: 0];
// else
[script appendString: notify];
}
}
+1 -1
View File
@@ -1119,7 +1119,7 @@ static const NSString *kEncryptedUserNamePrefix = @"uenc";
tmpIdentities = [NSMutableArray array];
for (identity in identities) {
tmpIdentity = [NSMutableDictionary dictionaryWithDictionary: identity];
if ([tmpIdentity objectForKey: @"signature"] ) {
if ([tmpIdentity objectForKey: @"signature"] && [[tmpIdentity objectForKey: @"signature"] length] > 0) {
// Add raw html embed class
if ([[tmpIdentity objectForKey: @"signature"] rangeOfString:@"raw-html-embed"].location == NSNotFound
&& [[[self userDefaults] mailComposeMessageType] isEqualToString: @"html"]
@@ -13,6 +13,10 @@ let utility, user, attendee1, attendee1Delegate
let userCalendar, attendee1Calendar, attendee1DelegateCalendar
let icsName, icsList, vcalendar
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('PreventInvitations', function() {
const _getEvent = async function(client, calendarName, filename, expectedCode = 200) {
+4
View File
@@ -2,6 +2,10 @@ import config from '../lib/config'
import WebDAV from '../lib/WebDAV'
import TestUtility from '../lib/utilities'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('read and set calendar properties', function() {
const webdav = new WebDAV(config.username, config.password)
const utility = new TestUtility(webdav)
+5 -1
View File
@@ -3,6 +3,10 @@ import WebDAV from '../lib/WebDAV'
import TestUtility from '../lib/utilities'
import ICAL from 'ical.js'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('CalDAV Scheduling', function() {
const webdav = new WebDAV(config.username, config.password)
const webdav_su = new WebDAV(config.superuser, config.superuser_password)
@@ -933,5 +937,5 @@ describe('CalDAV Scheduling', function() {
vcalendarInvitationAttendee = await _getEvent(webdavAttendee1, attendee1Calendar, icsName, 404)
vcalendarInvitationDelegate = await _getEvent(webdavAttendee1Delegate, attendee1DelegateCalendar, icsName, 404)
}, 10000) // increase timeout for this long test
}) // increase timeout for this long test
})
+5 -1
View File
@@ -70,6 +70,10 @@ X-AIM:pseudo aim
END:VCARD`
}
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('CardDAV extensions', function() {
const webdav = new WebDAV(config.username, config.password)
const webdav_su = new WebDAV(config.superuser, config.superuser_password)
@@ -232,7 +236,7 @@ describe('CardDAV extensions', function() {
expect(emails)
.withContext(`Returned vCard has email of ${config.attendee1_username} (${config.attendee1})`)
.toContain(config.attendee1)
}, 10000) // increase timeout for this long test
}) // increase timeout for this long test
// CARDDAV:addressbook-multiget Report
// https://datatracker.ietf.org/doc/html/rfc6352#section-8.7
+4
View File
@@ -1,5 +1,9 @@
import config from '../lib/config'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('config tests', function() {
it('required configuration parameters', async function() {
+4
View File
@@ -2,6 +2,10 @@ import config from '../lib/config'
import WebDAV from '../lib/WebDAV'
import TestUtility from '../lib/utilities'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('create, read, modify, delete tasks for regular user', function() {
const webdav = new WebDAV(config.username, config.password)
const webdav_su = new WebDAV(config.superuser, config.superuser_password)
+4
View File
@@ -2,6 +2,10 @@ import config from '../lib/config'
import WebDAV from '../lib/WebDAV'
import TestUtility from '../lib/utilities'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('create, read, modify, delete events for regular user', function() {
const webdav = new WebDAV(config.username, config.password)
const webdav_su = new WebDAV(config.superuser, config.superuser_password)
+5 -1
View File
@@ -10,6 +10,10 @@ import TestUtility from '../lib/utilities'
* additional calendars.
*/
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('Apple iCal', function() {
const webdav = new WebDAV(config.username, config.password)
const webdav_su = new WebDAV(config.superuser, config.superuser_password)
@@ -229,5 +233,5 @@ describe('Apple iCal', function() {
.toBe(0)
await webdav_su.deleteObject(otherResource)
}, 10000) // increase timeout for this long test
}) // increase timeout for this long test
})
+5 -1
View File
@@ -1,6 +1,10 @@
import config from '../lib/config'
import { default as WebDAV, DAVInverse } from '../lib/WebDAV'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('calendar classification', function() {
const webdav = new WebDAV(config.username, config.password)
@@ -35,7 +39,7 @@ describe('calendar classification', function() {
expect(status)
.withContext('Setting an invalid classification')
.toBe(403)
})
})
it('setting a valid classification', async function() {
for (let component of ['events', 'tasks']) {
+4
View File
@@ -2,6 +2,10 @@ import config from '../lib/config'
import WebDAV from '../lib/WebDAV'
import TestUtility from '../lib/utilities'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('public access', function() {
const webdav = new WebDAV(config.username, config.password)
const webdav_anon = new WebDAV()
@@ -2,6 +2,10 @@ import config from '../lib/config'
import WebDAV from '../lib/WebDAV'
import TestUtility from '../lib/utilities'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('DAVCalendarSuperUserAcl', function() {
const webdav = new WebDAV(config.username, config.password)
const webdav_su = new WebDAV(config.superuser, config.superuser_password)
+4
View File
@@ -1,6 +1,10 @@
import config from '../lib/config'
import { default as WebDAV, DAVInverse } from '../lib/WebDAV'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('contacts categories', function() {
const webdav = new WebDAV(config.username, config.password)
+4
View File
@@ -1,6 +1,10 @@
import config from '../lib/config'
import WebDAV from '../lib/WebDAV'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('public access', function() {
const webdav_anon = new WebDAV()
+4
View File
@@ -3,6 +3,10 @@ import WebDAV from '../lib/WebDAV'
let webdav, resource
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('HTTP Calendar', function() {
beforeAll(async function() {
+4
View File
@@ -3,6 +3,10 @@ import Preferences from '../lib/Preferences'
const prefs = new Preferences(config.username, config.password)
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('preferences', function() {
// preferencesTest
+4
View File
@@ -152,6 +152,10 @@ let msg3Size = 720
let webdav, utility
let user, resource, mailboxesList
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
// DAVMailCollectionTest
describe('MailDAV', function() {
+4
View File
@@ -6,6 +6,10 @@ import ManageSieve from '../lib/ManageSieve'
let prefs, webdav, utility, manageSieve, user
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('Sieve', function() {
async function _getSogoSieveScript() {
+4
View File
@@ -5,6 +5,10 @@ const os = require('os')
const path = require('path')
const { execSync } = require('child_process')
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('sogo-tool tests', function() {
let tmpdir, isRoot
+4
View File
@@ -2,6 +2,10 @@ import config from '../lib/config'
import WebDAV from '../lib/WebDAV'
import TestUtility from '../lib/utilities'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('WebDAV', function() {
var webdav
var utility
+4
View File
@@ -3,6 +3,10 @@ import WebDAV from '../lib/WebDAV'
import { DAVNamespace, DAVNamespaceShorthandMap } from 'tsdav'
import convert from 'xml-js'
beforeAll(function () {
jasmine.DEFAULT_TIMEOUT_INTERVAL = config.timeout || 10000;
});
describe('webdav sync', function() {
const webdav = new WebDAV(config.username, config.password)
const webdav_su = new WebDAV(config.superuser, config.superuser_password)
+2 -1
View File
@@ -419,6 +419,7 @@
max = [records count];
for (count = 0; count < max; count++)
{
version = 0;
if (count > 0 && count%100 == 0)
{
DESTROY(pool);
@@ -428,7 +429,7 @@
cName = [currentRecord objectForKey: @"c_name"];
if (![existingRecords objectForKey: cName])
{
NSLog (@"restoring record '%@'", cName);
NSLog (@"restoring record '%@' with version %d", cName, version);
cContent = [currentRecord objectForKey: @"c_content"];
[gcsFolder writeContent: cContent
fromComponent: [[self parsingClassForContent: cContent] parseSingleFromSource: cContent]
@@ -25,7 +25,7 @@
"No resource" = "Nenhum recurso";
"Any Authenticated User" = "Qualquer Usuário Autenticado";
"Public Access" = "Acesso Público";
"Save" = "Save";
"Clear" = "Clear";
"Message of the day" = "Message of the day";
"Message of the day has been saved" = "Message of the day has been saved";
"Save" = "Salvar";
"Clear" = "Limpar";
"Message of the day" = "Mensagem do dia";
"Message of the day has been saved" = "A mensagem do dia foi salva";
@@ -25,7 +25,7 @@
"No resource" = "Není zdroj";
"Any Authenticated User" = "Každý ověřený uživatel";
"Public Access" = "Veřejný přístup";
"Save" = "Save";
"Clear" = "Clear";
"Message of the day" = "Message of the day";
"Message of the day has been saved" = "Message of the day has been saved";
"Save" = "Uložit";
"Clear" = "Vymazat";
"Message of the day" = "Zpráva dne";
"Message of the day has been saved" = "Zpráva dne byla uložena";
@@ -25,7 +25,7 @@
"No resource" = "Ingen ressource";
"Any Authenticated User" = "Enhver godkendt bruger";
"Public Access" = "Offentlig adgang";
"Save" = "Save";
"Clear" = "Clear";
"Message of the day" = "Message of the day";
"Message of the day has been saved" = "Message of the day has been saved";
"Save" = "Gem";
"Clear" = "Ryd";
"Message of the day" = "Dagens besked";
"Message of the day has been saved" = "Dagens besked er blevet gemt";
@@ -25,7 +25,7 @@
"No resource" = "Sen recurso";
"Any Authenticated User" = "Calquera usuario autenticado";
"Public Access" = "Acceso público";
"Save" = "Save";
"Clear" = "Clear";
"Message of the day" = "Message of the day";
"Message of the day has been saved" = "Message of the day has been saved";
"Save" = "Gardar";
"Clear" = "Borrar";
"Message of the day" = "Mensaxe do día";
"Message of the day has been saved" = "A mensaxe do día foi gardado";
@@ -25,7 +25,7 @@
"No resource" = "Ingen ressurs";
"Any Authenticated User" = "Enhver autentisert bruker";
"Public Access" = "Offentlig tilgang";
"Save" = "Save";
"Clear" = "Clear";
"Message of the day" = "Message of the day";
"Message of the day has been saved" = "Message of the day has been saved";
"Save" = "Lagre";
"Clear" = "Tøm";
"Message of the day" = "Dagens melding";
"Message of the day has been saved" = "Dagens melding er lagret";
@@ -25,7 +25,7 @@
"No resource" = "Ni virov";
"Any Authenticated User" = "Vsak prijavljen uporabnik";
"Public Access" = "Javni dostop";
"Save" = "Save";
"Clear" = "Clear";
"Message of the day" = "Message of the day";
"Message of the day has been saved" = "Message of the day has been saved";
"Save" = "Shrani";
"Clear" = "Počisti";
"Message of the day" = "Sporočilo dneva";
"Message of the day has been saved" = "Sporočilo dneva je bilo shranjeno";
@@ -10,7 +10,7 @@
/* Modules descriptions */
"ACLs_description" = "<p>El módulo administrativo de ACL (Listas de Control de Acceso por su siglas inglés) permite cambiar los ACLs de las Agendas y Libreta de Direcciones de cada usuario.</p><p>Para modificar los ACLs de las carpetas de un usuario, teclea el nombre de usuario en el campo de búsqueda arriba de la ventana y haz un doble-click sobre la carpeta deseada.</p>";
"Name or Email" = "Nombre o Correo";
"ACLs saved" = "ACLs saved";
"ACLs saved" = "LCAs guardadas";
/* Rights module: initial search message */
"Start a search to edit the rights" = "Iniciar una búsqueda para modificar los derechos";
/* Rights module: Empty search result */
@@ -25,7 +25,7 @@
"No resource" = "No recursos";
"Any Authenticated User" = "Cualquier Usuario Autenticado ";
"Public Access" = "Acceso publico";
"Save" = "Save";
"Clear" = "Clear";
"Message of the day" = "Message of the day";
"Message of the day has been saved" = "Message of the day has been saved";
"Save" = "Guardar";
"Clear" = "Borrar";
"Message of the day" = "Mensaje del día";
"Message of the day has been saved" = "Se ha guardado el mensaje del día";
+18 -18
View File
@@ -41,22 +41,22 @@
= "Potenciálně kdokoliv v Internetu bude mít přístup k vašemu adresáři \"%{0}\", i když není uživatelem tohoto systému. Jsou tyto informace vhodné pro veřejný Internet?";
"Give Access" = "Umožnit přístup";
"Keep Private" = "Ponechat soukromým";
"Expand" = "Expand";
"Reduce" = "Reduce";
"Expand" = "Rozbalit";
"Reduce" = "Sbalit";
/* tooltip */
"Refresh" = "Refresh";
"Refresh" = "Obnovit";
/* generic.js */
"Unable to subscribe to that folder!"
= "Není možné se přihlásit k odebírání této složky!";
= "Nelze se přihlásit k odběru této složky!";
"You cannot subscribe to a folder that you own!"
= "Nemůžete se přihlásit k odebírání své vlastní složky!";
"Unable to unsubscribe from that folder!"
= "Není možné se odhlásit z odebírání této složky!";
= "Nelze se odhlásit z odběru této složky!";
"You cannot unsubscribe from a folder that you own!"
= "Nemůžete se odhlásit z odebírání své vlastní složky!";
"Unable to rename that folder!" = "Není možné tuto složku přejmenovat!";
"Unable to rename that folder!" = "Nelze přejmenovat tuto složku!";
"You have already subscribed to that folder!"
= "Tuto složku již odebíráte!";
"The user rights cannot be edited for this object!"
@@ -109,7 +109,7 @@
"Personal" = "Osobní";
"To Do" = "Třeba udělat";
"Later" = "Později";
"Forwarded" = "Forwarded";
"Forwarded" = "Přeposláno";
"Return Receipt Sent" = "Odesláno potvrzení o přečtení";
"a2_Sunday" = "Ne";
"a2_Monday" = "Po";
@@ -128,15 +128,15 @@
"S/MIME Certificate" = "S/MIME Certifikát";
"Subject Name" = "Jméno Subjektu";
"Issuer" = "Vydavatel";
"streetAddress" = "Street";
"stateOrProvinceName" = "State or Province";
"localityName" = "Locality";
"streetAddress" = "Ulice";
"stateOrProvinceName" = "Oblast";
"localityName" = "Umístění";
"countryName" = "Země";
"organizationName" = "Organizace";
"organizationalUnitName" = "Organizační jednotka";
"commonName" = "Obecné Jméno";
"surname" = "Surname";
"givenName" = "Given Name";
"surname" = "Příjmení";
"givenName" = "Jméno";
"emailAddress" = "E-mail";
@@ -227,9 +227,9 @@
"Move forward" = "Posun vpřed";
/* Password Recovery */
"passwordRecovery_Disabled" = "Disabled";
"passwordRecovery_SecretQuestion" = "Secret question";
"passwordRecovery_SecretQuestion1" = "What is the name of your first pet ?";
"passwordRecovery_SecretQuestion2" = "What was your first car ?";
"passwordRecovery_SecretQuestion3" = "What is your favorite movie ?";
"passwordRecovery_SecondaryEmail" = "Secondary E-mail";
"passwordRecovery_Disabled" = "Zakázáno";
"passwordRecovery_SecretQuestion" = "Tajná otázka";
"passwordRecovery_SecretQuestion1" = "Jaké je jméno Vašeho prvního mazlíčka?";
"passwordRecovery_SecretQuestion2" = "Jaké bylo Vaše první auto?";
"passwordRecovery_SecretQuestion3" = "Jaký je Váš oblíbený film?";
"passwordRecovery_SecondaryEmail" = "Sekundární e-mail";
@@ -45,7 +45,7 @@
"Reduce" = "Skrči";
/* tooltip */
"Refresh" = "Refresh";
"Refresh" = "Osveži";
/* generic.js */
"Unable to subscribe to that folder!"
@@ -109,7 +109,7 @@
"Personal" = "Osebno";
"To Do" = "Opravilo";
"Later" = "Pozneje";
"Forwarded" = "Forwarded";
"Forwarded" = "Posreduj";
"Return Receipt Sent" = "Povratnica poslana";
"a2_Sunday" = "Ne";
"a2_Monday" = "Po";
@@ -227,9 +227,9 @@
"Move forward" = "Naprej";
/* Password Recovery */
"passwordRecovery_Disabled" = "Disabled";
"passwordRecovery_SecretQuestion" = "Secret question";
"passwordRecovery_SecretQuestion1" = "What is the name of your first pet ?";
"passwordRecovery_SecretQuestion2" = "What was your first car ?";
"passwordRecovery_SecretQuestion3" = "What is your favorite movie ?";
"passwordRecovery_SecondaryEmail" = "Secondary E-mail";
"passwordRecovery_Disabled" = "Deaktiviraj";
"passwordRecovery_SecretQuestion" = "Varnostno vprašanje";
"passwordRecovery_SecretQuestion1" = "Kako je bilo ime tvoji prvi domači živali?";
"passwordRecovery_SecretQuestion2" = "Kateri je bi tvoj prvi avto?";
"passwordRecovery_SecretQuestion3" = "Kateri je tvoj najljubši film?";
"passwordRecovery_SecondaryEmail" = "Rezervni elekronski naslov";
@@ -41,11 +41,11 @@
= "Potencialmente cualquier usuario de Internet tendrá acceso a su libreta de dirección \"%{0}\", también si no tiene una cuenta en este sistema. ¿Es esta información adecuada para todo el Internet publico?";
"Give Access" = "Permite Acceso";
"Keep Private" = "Mantiene Privado";
"Expand" = "Expand";
"Reduce" = "Reduce";
"Expand" = "Ampliar";
"Reduce" = "Reducir";
/* tooltip */
"Refresh" = "Refresh";
"Refresh" = "Actualizar";
/* generic.js */
"Unable to subscribe to that folder!"
@@ -83,10 +83,10 @@
/* generic messages */
"Error" = "Error";
"Success" = "Success";
"Success" = "Éxito";
/* confirmation dialog box */
"Confirmation" = "Confirmation";
"Confirmation" = "Confirmación";
/* alarms */
"Reminder" = "Recordatorio";
@@ -109,8 +109,8 @@
"Personal" = "Personal";
"To Do" = "Por hacer";
"Later" = "Más tarde";
"Forwarded" = "Forwarded";
"Return Receipt Sent" = "Return Receipt Sent";
"Forwarded" = "Reenviado";
"Return Receipt Sent" = "Envío de acuse de recibo";
"a2_Sunday" = "Do";
"a2_Monday" = "Lu";
"a2_Tuesday" = "Ma";
@@ -125,19 +125,19 @@
"You cannot (un)subscribe to a folder that you own!" = "No es posible suscribirse a una carpeta que le pertenece.";
/* SMIME Certificate field */
"S/MIME Certificate" = "S/MIME Certificate";
"Subject Name" = "Subject Name";
"Issuer" = "Issuer";
"streetAddress" = "Street";
"stateOrProvinceName" = "State or Province";
"localityName" = "Locality";
"countryName" = "Country";
"organizationName" = "Organization";
"organizationalUnitName" = "Organizational Unit";
"commonName" = "Common Name";
"surname" = "Surname";
"givenName" = "Given Name";
"emailAddress" = "Email Address";
"S/MIME Certificate" = "Certificado S/MIME";
"Subject Name" = "Titular";
"Issuer" = "Remitente";
"streetAddress" = "Dirección";
"stateOrProvinceName" = "Estado/Provincia";
"localityName" = "Localidad";
"countryName" = "País";
"organizationName" = "Organización";
"organizationalUnitName" = "Departamento/ Sección";
"commonName" = "Dominio";
"surname" = "Apellido";
"givenName" = "Nombre";
"emailAddress" = "Correo electrónico";
/* Authentication username */
@@ -156,18 +156,18 @@
"File size upload limit reached" = "Alcanzado el tamaño máximo del archivo";
/* Generic server error */
"An error occured, please try again." = "An error occured, please try again.";
"An error occured, please try again." = "Se ha producido un error, inténtelo de nuevo.";
/* Open datepicker */
"Open Calendar" = "Open Calendar";
"Open Calendar" = "Abrir calendario";
/* Toggle visibility (ex: mail account in left navigation menu) */
"Toggle visibility" = "Cambiar la visibilidad";
"Keyboard Shortcuts" = "Keyboard Shortcuts";
"Keyboard Shortcuts" = "Atajos del teclado";
/* Aria label for avatar button to select and unselect an item */
"Toggle item" = "Toggle item";
"Toggle item" = "Activar elemento";
/* Toggle multiple items at the same time (hotkeys cheatsheet) */
"Toggle range of items" = "Cambiar el rango de elementos";
@@ -179,7 +179,7 @@
"key_space" = "space";
/* Delete key */
"key_delete" = "delete";
"key_delete" = "borrar";
/* Shift and space key */
"key_shift+space" = "Mayúsculas + espacio";
@@ -227,9 +227,9 @@
"Move forward" = "Avanzar";
/* Password Recovery */
"passwordRecovery_Disabled" = "Disabled";
"passwordRecovery_SecretQuestion" = "Secret question";
"passwordRecovery_SecretQuestion1" = "What is the name of your first pet ?";
"passwordRecovery_SecretQuestion2" = "What was your first car ?";
"passwordRecovery_SecretQuestion3" = "What is your favorite movie ?";
"passwordRecovery_SecondaryEmail" = "Secondary E-mail";
"passwordRecovery_Disabled" = "Desactivado";
"passwordRecovery_SecretQuestion" = "Pregunta secreta";
"passwordRecovery_SecretQuestion1" = "¿Cuál es el nombre de su primera mascota?";
"passwordRecovery_SecretQuestion2" = "¿Cuál fue su primer coche?";
"passwordRecovery_SecretQuestion3" = "¿Cuál es su película favorita?";
"passwordRecovery_SecondaryEmail" = "Email secundario";
+2 -2
View File
@@ -193,7 +193,7 @@
"Work" = "Zaměstnání";
"Mobile" = "Mobilní telefon";
"Pager" = "Pager";
"Download iOS - MacOS configuration profile" = "Download iOS - MacOS configuration profile";
"Download iOS - MacOS configuration profile" = "Stáhnout konfiguraci pro iOS - MacOS";
/* categories */
"contacts_category_labels" = "Kolega, Konkurent, Zákazník, Přítel, Rodina, Obchodní partner, Dodavatel, Tisk, VIP";
@@ -241,7 +241,7 @@
"You cannot subscribe to a folder that you own!"
= "Nemůžete se přihlásit k odebírání vlastní složky! ";
"Unable to subscribe to that folder!"
= "Nemůžete se přihlásit k odebírání této složky!";
= "Nelze se přihlásit k odběru této složky.";
/* security */
"Security" = "Zabezpečení";
@@ -27,9 +27,9 @@
"OfficePhone" = "Teléfono oficina";
"Organization" = "Organización";
"Work Phone" = "Teléfono trabajo";
"Cell" = "Cell";
"Cell" = "Celda";
"Pager" = "Busca";
"Pref" = "Pref";
"Pref" = "Prefs";
"Phone" = "Teléfono";
"Phones" = "Teléfonos";
"Postal" = "Código Postal";
@@ -49,88 +49,88 @@
"Blind Carbon Copy (Bcc)" = "Con Copia Oculta (Bcc)";
/* Search scope: name fields */
"name" = "Name";
"name" = "Nombre";
/* Search scope: name fields */
"c_cn" = "Name";
"c_cn" = "Nombre";
/* Search scope: secondary email field */
"mozillanickname" = "Secondary email";
"mozillanickname" = "Correo secundario";
/* Search scope: screen name field */
"nsaimid" = "Screen name";
"nsaimid" = "Nombre en pantalla";
/* Search scope: mail fields */
"mail" = "Mail";
"mail" = "Correo";
/* Search scope: mail fields */
"c_mail" = "Mail";
"c_mail" = "Correo";
/* Search scope: telephone field */
"telephonenumber" = "Telephone";
"telephonenumber" = "Teléfono";
/* Search scope: telephone field */
"homephone" = "Telephone";
"homephone" = "Teléfono";
/* Search scope: mobile field */
"mobile" = "Mobile";
"mobile" = "Móvil";
/* Search scope: fax field */
"facsimiletelephonenumber" = "Fax";
/* Search scope: pager field */
"pager" = "Pager";
"pager" = "Localizador";
/* Search scope: categories field */
"c_categories" = "Categories";
"c_categories" = "Categorias";
/* Search scope: categories field */
"vcardcategories" = "Categories";
"vcardcategories" = "Categorias";
/* Search scope: title field */
"title" = "Title";
"title" = "Cargo";
/* Search scope: organization field */
"c_o" = "Organization";
"c_o" = "Organización";
/* Search scope: organization field */
"o" = "Organization";
"o" = "Organización";
/* Search scope: department field */
"ou" = "Department";
"ou" = "Departamento";
/* Search scope: city field */
"l" = "City";
"l" = "Ciudad";
/* Search scope: country field */
"c" = "Country";
"c" = "País";
/* Search scope: home address field */
"mozillahomestreet" = "Home Address";
"mozillahomestreet" = "Domicilio particular";
/* Search scope: state/province field */
"st" = "State/Province";
"st" = "Estado/Provincia";
/* Search scope: home state/province field */
"mozillahomestate" = "Home State/Province";
"mozillahomestate" = "Provincia Natal";
/* Search scope: zip/postal code field */
"postalCode" = "Zip/Postal Code";
"postalCode" = "Código Postal";
/* Search scope: home zip/postal code field */
"mozillahomepostalcode" = "Zip/Postal Code";
"mozillahomepostalcode" = "Código Postal";
/* Search scope: home country field */
"mozillahomecountryname" = "Home Country";
"mozillahomecountryname" = "País Natal";
/* Search scope: home web page field */
"mozillahomeurl" = "Home page";
"mozillahomeurl" = "Pagina de inicio";
/* Search scope: work web page field */
"mozillaworkurl" = "Web page";
"mozillaworkurl" = "Página web";
/* Search scope: note field */
"description" = "Note";
"description" = "Nota";
/* Subheader of empty addressbook */
"No contact" = "No contacto";
@@ -193,7 +193,7 @@
"Work" = "Trabajo";
"Mobile" = "Móvil";
"Pager" = "Busca";
"Download iOS - MacOS configuration profile" = "Download iOS - MacOS configuration profile";
"Download iOS - MacOS configuration profile" = "Descargar el perfil de configuración iOS - macOS";
/* categories */
"contacts_category_labels" = "Colega, Competidor, Cliente, Amigo, Familia, Socio, Proveedor, Prensa, VIP";
@@ -222,7 +222,7 @@
"New Addressbook..." = "Crear libreta de direcciones...";
"Subscribe to an Addressbook..." = "Suscribir a una libreta de direcciones...";
"Remove the selected Addressbook" = "Borrar libreta de direcciones seleccionada";
"Subscribe to a shared contact" = "Subscribe to a shared addressbook";
"Subscribe to a shared contact" = "Suscribirse a una libreta de direcciones compartida";
"Search User" = "Buscar usuarios";
"Name of the Address Book" = "Nombre de la libreta de direcciones";
"Are you sure you want to delete the selected address book?"
@@ -244,10 +244,10 @@
= "No puede suscribirse a esta carpeta.";
/* security */
"Security" = "Security";
"Uninstall" = "Uninstall";
"Error reading the card certificate." = "Error reading the card certificate.";
"No certificate associated to card." = "No certificate associated to card.";
"Security" = "Seguridad";
"Uninstall" = "Desinstalar";
"Error reading the card certificate." = "Error al leer el certificado de la tarjeta.";
"No certificate associated to card." = "No hay un certificado asociado a la tarjeta.";
/* acls */
"Access rights to" = "Derechos de accesos a";
@@ -351,7 +351,7 @@
"Synchronization" = "Sincronización";
"Synchronize" = "Sincroniza";
"Sucessfully subscribed to address book" = "Suscripción a la libreta de direcciones con éxito";
"A similar card already exists. Would you like to save it anyway?" = "A similar card already exists. Would you like to save it anyway?";
"A similar card already exists. Would you like to save it anyway?" = "Ya existe una tarjeta similar. ¿Quiere guardarla de todos modos?";
/* Aria label for scope of search on contacts */
"Search scope" = "Ámbito de búsqueda";
@@ -47,3 +47,4 @@ reply_info = "هذا هو الرد على دعوة الحدث التي قمت ب
"OK" = "OK";
"Comment" = "Comment";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Zuk egindako gonbidapen bati erantzuna da hau.";
"OK" = "OK";
"Comment" = "Comment";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Ovo je odgovor na event koji ste vi kreirali.";
"OK" = "OK";
"Comment" = "Komentar";
"Description" = "Opis";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Esta é uma resposta de um convite feito por você.";
"OK" = "OK";
"Comment" = "Comentário:";
"Description" = "Descrição";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Това е в отговор на покана за събити
"OK" = "ДА";
"Comment" = "Коментар";
"Description" = "Описание";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Aquesta és la resposta a una invitació d'esdeveniment que heu fe
"OK" = "D'acord";
"Comment" = "Comentari:";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "这事你邀请信的答复。";
"OK" = "OK";
"Comment" = "评论";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "這是您發起的事件的出席回覆。";
"OK" = "OK";
"Comment" = "備註";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "To je odgovor na poziv događaja napravljeno sa Vaše strane.";
"OK" = "OK";
"Comment" = "Komentar";
"Description" = "Description";
"Location" = "Location";
@@ -46,4 +46,5 @@ reply_info = "Toto je odpověď na pozvánku k událost, kterou jste vytvořili
"Cancel" = "Storno";
"OK" = "OK";
"Comment" = "Komentář:";
"Description" = "Description";
"Description" = "Popis";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Dette er et svar på en begivenhed inviteret af dig.";
"OK" = "OK";
"Comment" = "Kommentar";
"Description" = "Beskrivelse";
"Location" = "Sted";
@@ -47,3 +47,4 @@ reply_info = "Dit is een antwoord op een door u verstuurde uitnodiging.";
"OK" = "OK";
"Comment" = "Commentaar:";
"Description" = "Omschrijving";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Tämä on vastaus tapahtumakutsuusi.";
"OK" = "OK";
"Comment" = "Kommentti:";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Esta é a resposta a un convite de evento feito por Vde.";
"OK" = "OK";
"Comment" = "Comentario:";
"Description" = "Descrición";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Dies ist eine Antwort auf eine Termineinladung von Ihnen.";
"OK" = "OK";
"Comment" = "Kommentar:";
"Description" = "Beschreibung";
"Location" = "Ort";
@@ -47,3 +47,4 @@ reply_info = "זו תגובה להזמנה לאירוע שנוצרה על ידכ
"OK" = "אוקיי";
"Comment" = "תגובה";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Ez egy válasz az ön által kiküldött meghívásra.";
"OK" = "OK";
"Comment" = "Megjegyzés:";
"Description" = "Leírás";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Þetta er svar við boði á viðburð sem þú hefur gert.";
"OK" = "OK";
"Comment" = "Comment";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Ini adalah balasan untuk undangan acara yang anda lakukan.";
"OK" = "OK";
"Comment" = "Komentar";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Questa è una risposta ad un invito ad un evento richiesto da te."
"OK" = "OK";
"Comment" = "Commento";
"Description" = "Descrizione";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "これはイベントの招待への返信です。";
"OK" = "OK";
"Comment" = "コメント";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Бұл сіздің іс-шараға шақыруыңызға ж
"OK" = "ОК";
"Comment" = "Түсіндірме:";
"Description" = "Сипаттама";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Šī ir atbilde uz uzaicinājumu piedalīties pasākumā.";
"OK" = "OK";
"Comment" = "Komentārs";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Šis atsakymas į susitikimo kvietimą yra jūsų baigtas.";
"OK" = "Gerai";
"Comment" = "Komentaras:";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Ова е одговор на покана за настан кр
"OK" = "Во ред";
"Comment" = "Коментар:";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Ovaj odgovor na pozivnicu za događaj je vaš.";
"OK" = "U redu";
"Comment" = "Komentar";
"Description" = "Opis";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Dette er et svar på en invitasjon sendt av deg.";
"OK" = "OK";
"Comment" = "Kommentar";
"Description" = "Beskrivelse";
"Location" = "Lokasjon";
@@ -47,3 +47,4 @@ reply_info = "Du har fått et svar angående en begivenhet invitert av deg.";
"OK" = "OK";
"Comment" = "Comment";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "To jest odpowiedź do utworzonego przez ciebie wydarzenia";
"OK" = "OK";
"Comment" = "Komentarz";
"Description" = "Opis";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Esta é uma resposta para um convite de um evento feito por si.";
"OK" = "OK";
"Comment" = "Comentário:";
"Description" = "Descrição";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Acesta este un răspuns la un eveniment creat de dumneavoastră.";
"OK" = "OK";
"Comment" = "Comentariu";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Это ответ на Ваше приглашение на мер
"OK" = "ОК";
"Comment" = "Комментарий:";
"Description" = "Описание";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Овај одговор на позивницу за догађа
"OK" = "У реду";
"Comment" = "Коментар";
"Description" = "Опис";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Ovaj odgovor na pozivnicu za događaj je vaš.";
"OK" = "U redu";
"Comment" = "Komentar";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Toto je odpoveď na vašu pozvánku na udalosť.";
"OK" = "OK";
"Comment" = "Komentár:";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "To je odgovor na tvoje povabilo na dogodek.";
"OK" = "V redu";
"Comment" = "Komentar:";
"Description" = "Opis";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Esta es la respuesta a una invitación a un evento que usted ha or
"OK" = "OK";
"Comment" = "Comentario:";
"Description" = "Description";
"Location" = "Location";
@@ -46,4 +46,5 @@ reply_info = "Esta es la respuesta a una invitación de evento hecha por Ud.";
"Cancel" = "Cancelar";
"OK" = "OK";
"Comment" = "Comentario:";
"Description" = "Description";
"Description" = "Descripción";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Du har fått ett svar till en händelse inbjuden av dig.";
"OK" = "OK";
"Comment" = "Kommentar:";
"Description" = "Description";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Yapmış olduğunuz etkinlik davetinin yanıtıdır.";
"OK" = "Tamam";
"Comment" = "Yorum";
"Description" = "Açıklama";
"Location" = "Location";
+7 -4
View File
@@ -278,6 +278,9 @@ static NSString *_sanitizeHtmlForDisplay(NSString *content)
unichar *sanitizedChars, *start, *currentChar;
BOOL inComment;
if (rawContent)
return;
/**
* Sanitize style
* - remove control characters
@@ -341,10 +344,11 @@ static NSString *_sanitizeHtmlForDisplay(NSString *content)
}
}
}
if (!inComment && currentChar > start)
if (!inComment && currentChar > start) {
if (*currentChar == '}' && *currentChar++ == '\000') currentChar++; // Add offset
[sanitizedStyle appendString: [NSString stringWithCharacters: start
length: (currentChar - start)]];
}
/**
* Parse sanitized style
* - remove at-rule definitions
@@ -384,8 +388,7 @@ static NSString *_sanitizeHtmlForDisplay(NSString *content)
(*(currentChar-7) == 'p' || *(currentChar-7) == 'P') &&
(*(currentChar-8) == 'm' || *(currentChar-8) == 'M') &&
(*(currentChar-9) == 'i' || *(currentChar-9) == 'I') &&
*(currentChar-10) == '!')
&& !rawContent)
*(currentChar-10) == '!'))
{
length = (currentChar - start);
[declaration appendFormat: @"%@ !important;",
@@ -47,3 +47,4 @@ reply_info = "Це відповідь на Ваше запрошення взя
"OK" = "OK";
"Comment" = "Коментар:";
"Description" = "Опис";
"Location" = "Location";
@@ -47,3 +47,4 @@ reply_info = "Dyma ymateb i wahoddiad i ddigwyddiad a wnaed gennych chi.";
"OK" = "Iawn";
"Comment" = "Sylw";
"Description" = "Description";
"Location" = "Location";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "يتم إرسال هذا البريد من شبكة غير آمن!";
"Address Book" = "دفتر العناوين";
"Search For" = "البحث عن";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "الكل";
@@ -239,6 +256,7 @@
"Save As..." = "حفظ باسم ...";
"Print Preview" = "معاينة قبل الطباعة";
"View Message Source" = "عرض مصدر الرسالة";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Convert To Event";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Mezu hau sare ez-seguru bat erabiliz hari zara bidaltzen!";
"Address Book" = "Address Book";
"Search For" = "Bilatu hau";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "denak";
@@ -239,6 +256,7 @@
"Save As..." = "Gorde honela...";
"Print Preview" = "Inprimatzeko aurrebista";
"View Message Source" = "Ikusi mezuaren iturburua";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Convert To Event";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "E-mail je poslat sa nesigurne lokacije!";
"Address Book" = "Imenik";
"Search For" = "Pretražiti";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "sve";
@@ -239,6 +256,7 @@
"Save As..." = "Sačuvati Kao...";
"Print Preview" = "Pregledati prije Printanja";
"View Message Source" = "Pregledatiti Izvor Poruke";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Konvertovati u Event/Događaj";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Este email está sendo enviado por uma rede não segura!";
"Address Book" = "Catálogo";
"Search For" = "Pesquisar Por";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "todos";
@@ -239,6 +256,7 @@
"Save As..." = "Salvar Como...";
"Print Preview" = "Visualizar Impressão";
"View Message Source" = "Ver Código-Fonte da Mensagem";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Converter para Evento";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Този имейл е изпратен от незащитен мрежа!";
"Address Book" = "Списък контакти";
"Search For" = "Търсене за";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "всички";
@@ -239,6 +256,7 @@
"Save As..." = "Запис като ...";
"Print Preview" = "Преглед печат";
"View Message Source" = "Преглед на изходния код на съобщението";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Превърни в събитие";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Aquest missatge s'envia des d'una xarxa no segura.";
"Address Book" = "Llibreta d'adreces";
"Search For" = "Cercar";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "tot";
@@ -239,6 +256,7 @@
"Save As..." = "Desar com a...";
"Print Preview" = "Vista preliminar";
"View Message Source" = "Veure format original del missatge";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Converteix a esdeveniment";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "这个邮件发自不安全的网络!";
"Address Book" = "通讯录";
"Search For" = "搜索";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "全部";
@@ -239,6 +256,7 @@
"Save As..." = "另存...";
"Print Preview" = "打印预览";
"View Message Source" = "查看邮件原文";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "转换成事件";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "這封郵件是來自不安全的網段!";
"Address Book" = "通訊錄";
"Search For" = "搜尋";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "全部";
@@ -239,6 +256,7 @@
"Save As..." = "儲存為...";
"Print Preview" = "預覽列印";
"View Message Source" = "檢視信件原始檔";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "轉換成事件";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Ova je poruka poslana iz nesigurne mreže!";
"Address Book" = "Imenik";
"Search For" = "Pretraži";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "sve";
@@ -239,6 +256,7 @@
"Save As..." = "Spremi kao...";
"Print Preview" = "Pregled prije ispisa";
"View Message Source" = "Pogledaj izvor poruke";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Preinači u događaj";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+37 -22
View File
@@ -3,7 +3,7 @@
/* Icon's label */
"Create" = "Vytvořit";
"Empty Trash" = "Vyprázdnit koš";
"Empty Junk Folder" = "Empty Junk Folder";
"Empty Junk Folder" = "Vyprázdnit nevyžádanou poštu";
"Delete" = "Smazat";
"Expunge" = "Vyškrtnout";
"Forward" = "Přeposlat";
@@ -79,7 +79,7 @@
"Folder compacted" = "Údržba složky byla provedena";
/* Empty Junk Folder success message */
"Junk folder emptied" = "Junk folder emptied";
"Junk folder emptied" = "Nevyžádaná pošta promazána";
/* Empty Trash success message */
"Trash emptied" = "Koš vyprázdněn";
@@ -88,7 +88,7 @@
"Access rights to" = "Přístupová práva k";
"For user" = "Pro uživatele";
"Any Authenticated User" = "Všichni ověření uživatelé";
"View this folder" = "View this folder";
"View this folder" = "Zobrazit tuto složku";
"Read mails from this folder" = "Číst maily v této složce";
"Mark mails read and unread" = "Označit maily jako přečtené a nepřečtené";
"Modify the flags of the mails in this folder" = "Upravit mailové štítky v této složce";
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Tento mail je odesílán z nezabezpečené sítě!";
"Address Book" = "Adresář";
"Search For" = "Hledat";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "všechny";
@@ -173,13 +190,13 @@
"Untitled" = "Bez názvu";
/* Filter option in messages list */
"Show unread messages only" = "Show unread messages only";
"Show unread messages only" = "Zobrazit pouze nepřečtené";
/* Filter option in messages list */
"Show flagged messages only" = "Show flagged messages only";
"Show flagged messages only" = "Zobrazit pouze oštítkované zprávy";
/* Aria label for icon of labels */
"Filtered by label" = "Filtered by label";
"Filtered by label" = "Filtr dle štítku";
/* Tree */
"SentFolderName" = "Odeslaná pošta";
@@ -187,7 +204,7 @@
"InboxFolderName" = "Doručená pošta";
"DraftsFolderName" = "Koncepty";
"JunkFolderName" = "Nevyžádaná pošta";
"TemplatesFolderName" = "Templates";
"TemplatesFolderName" = "Šablony";
"SieveFolderName" = "Filtry";
"Folders" = "Složky"; /* title line */
@@ -239,6 +256,7 @@
"Save As..." = "Uložit jako...";
"Print Preview" = "Náhled tisku";
"View Message Source" = "Zobrazit zdroj zprávy";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Převést na událost";
@@ -304,7 +322,7 @@
"Message is signed" = "Zpráva je podepsána";
/* Valid S/MIME signature but common name not found */
"Message is signed but the certificate doesn't match the sender email address" = "Message is signed but the certificate doesn't match the sender email address";
"Message is signed but the certificate doesn't match the sender email address" = "Tato zpráva je podepsaná, ale certifikát se neshoduje s e-mailem odesílatele";
/* Unknown error while validating message signature */
"Digital signature is not valid" = "Elektronický podpis není validní";
@@ -344,7 +362,7 @@
"Quota" = "Kvóta:";
"quotasFormat" = "%{0}% využito z %{1} MB";
"messageQuotasFormat" = "%{0}% z %{1} zpráv";
"Unable to move/delete folder." = "Složku není možné přesunout/smazat.";
"Unable to move/delete folder." = "Nelze přesunout/smazat složku.";
/* Alternative operation when folder cannot be deleted */
"The mailbox could not be moved to the trash folder. Would you like to delete it immediately?"
@@ -391,10 +409,10 @@
"Error while saving the draft" = "Při uložení konceptu došlo k chybě";
/* Error when emptying trash */
"Unable to empty the trash folder." = "Unable to empty the trash folder.";
"Unable to empty the trash folder." = "Nelze vyprázdnit koš.";
/* Error when emptying junk folder */
"Unable to empty the junk folder." = "Unable to empty the junk folder.";
"Unable to empty the junk folder." = "Nelze vyprázdnit nevyžádanou poštu.";
/* Error when uploading a file attachment */
"Error while uploading the file \"%{0}\":" = "Při přenosu souboru \"%{0}\" došlo k chybě:";
@@ -410,9 +428,9 @@
"cannot send message: (smtp) all recipients discarded" = "Zprávu nelze odeslat: adresy všech příjemců jsou neplatné.";
"cannot send message (smtp) - recipients discarded" = "Zprávu nelze odeslat: následující adresy jsou neplatné";
"cannot send message: (smtp) error when connecting" = "Zprávu nelze odeslat: při spojení se SMTP serverem došlo k chybě.";
"cannot sign email without certificate" = "The message can't be signed because there's no certificate associated to the mail account.";
"cannot sign message because the certificate can't be read" = "The message can't be signed becasue the certificate associated to the mail account can't be read.";
"cannot sign message because the certificate doesn't include the specified sender address" = "The message can't be signed because the sender address is not included in the certificate associated to the mail account.";
"cannot sign email without certificate" = "Tato zpráva nemůže být podepsaná, neboť k účtu není přiřazen žádný certifikát";
"cannot sign message because the certificate can't be read" = "Tato zpráva nemůže být podepsaná, neboť přiřazený certifikát není možné načíst";
"cannot sign message because the certificate doesn't include the specified sender address" = "Tato zpráva nemůže být podepsaná, neboť e-mail odesílatele není obsažen v certifikátu účtu";
/* Contacts list in mail editor */
"Email" = "E-mail";
@@ -433,7 +451,7 @@
"Set as Trash" = "Nastavit jako Koš";
/* Set the folder as the one holding the Templates */
"Set as Templates" = "Set as Templates";
"Set as Templates" = "Nastavit jako Šablony";
/* Set the folder as the one holding Junk mails */
"Set as Junk" = "Nastavit jako Nevyžádaná pošta";
@@ -445,7 +463,7 @@
"Copy messages" = "Kopírovat zprávy";
"More messages options" = "Další možnosti zpráv";
"Flag" = "Oštítkovat";
"Unflag" = "Unflag";
"Unflag" = "Odstranit štítek";
"Mark as Unread" = "Označit jako nepřečtené";
"Mark as Read" = "Označit jako přečtené";
"Closing Window ..." = "Zavření okna ...";
@@ -459,10 +477,10 @@
"Your email has been sent" = "Vaše zpráva byla odeslána";
"Folder compacted" = "Údržba složky byla provedena";
"More Options" = "More Options";
"More Options" = "Více nastavení";
"New draft" = "New draft";
"Create new draft with this template" = "Create new draft with this template";
"New draft" = "Nový koncept";
"Create new draft with this template" = "Vytvořit nový koncept z této šablony";
/* Advanced search */
"Enter Subject" = "Zadejte předmět";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Denne besked bliver sendt fra et usikkert netværk!";
"Address Book" = "Adressebog";
"Search For" = "Søg efter";
"Contains" = "Indeholder";
"Does not contains" = "Indeholder ikke";
"Advanced search" = "Avanceret søgning";
"Anytime" = "Når som helst";
"Last 7 days" = "Sidste 7 dage";
"Last 30 days" = "Sidste 30 dage";
"Last 6 month" = "Sidste 6 måneder";
"Before" = "Før";
"After" = "Efter";
"Between" = "Mellem";
"and" = "og";
"With attachments" = "Med vedhæftede filer";
"In favorites" = "I favoritter";
"Unseen only" = "Kun uset";
"Show more" = "Vis mere";
"Reset" = "Nulstil";
"Message size" = "Besked størrelse";
/* Popup "show" */
"all" = "alle";
@@ -239,6 +256,7 @@
"Save As..." = "Gem som ...";
"Print Preview" = "Se udskrift";
"View Message Source" = "Se beskedens kilde";
"View raw message" = "Se rå besked";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Konvertér til begivenhed";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Deze e-mail wordt verzonden vanaf een onveilig netwerk!";
"Address Book" = "Adresboek";
"Search For" = "Zoek naar";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "alle";
@@ -239,6 +256,7 @@
"Save As..." = "Opslaan als...";
"Print Preview" = "Afdrukvoorbeeld";
"View Message Source" = "Bron bekijken";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Omzetten naar afspraak";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Tätä viestiä lähetetään turvattomasta verkosta!";
"Address Book" = "Osoitekirja";
"Search For" = "Etsi";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "kaikki";
@@ -239,6 +256,7 @@
"Save As..." = "Tallenna nimellä...";
"Print Preview" = "Esikatselu";
"View Message Source" = "Näytä viestin lähdekoodi";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Muunna tapahtumaksi";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Esta mensaxe é enviada dende unha rede non segura.";
"Address Book" = "Caderno de enderezos";
"Search For" = "Buscar";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "todo";
@@ -239,6 +256,7 @@
"Save As..." = "Gardar como...";
"Print Preview" = "Vista preliminar";
"View Message Source" = "Ver formato orixinal da mensaxe";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Converter como evento";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "Diese E-Mail wurde von einem unsicheren Netzwerk gesendet!";
"Address Book" = "Adressbuch";
"Search For" = "Suche nach";
"Contains" = "Enthält";
"Does not contains" = "Enthält nicht";
"Advanced search" = "Erweiterte Suche";
"Anytime" = "Jederzeit";
"Last 7 days" = "Die letzten 7 Tage";
"Last 30 days" = "Die letzten 30 Tage";
"Last 6 month" = "Die letzten 6 Monate";
"Before" = "Vor";
"After" = "Nach";
"Between" = "Zwischen";
"and" = "und";
"With attachments" = "Mit Anhängen";
"In favorites" = "In Favoriten";
"Unseen only" = "Nur Ungesehene";
"Show more" = "Mehr Anzeigen";
"Reset" = "Zurücksetzen";
"Message size" = "Nachrichtengröße";
/* Popup "show" */
"all" = "Alle";
@@ -239,6 +256,7 @@
"Save As..." = "Speichern unter...";
"Print Preview" = "Druckvorschau";
"View Message Source" = "Nachrichten-Quelltext";
"View raw message" = "Quelltext anzeigen";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "In Termin umwandeln";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
+18 -3
View File
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "מייל זה נשלח מרשת לא מאובטחת!";
"Address Book" = "אנשי קשר";
"Search For" = "חפש את";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "כולם";
@@ -239,6 +256,7 @@
"Save As..." = "שמור בשם...";
"Print Preview" = "תצוגת הדפסה";
"View Message Source" = "צפה במקור הודעה";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "המר לארוע";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
@@ -143,6 +143,23 @@
"This mail is being sent from an unsecure network!" = "A levelet nem biztonságos hálózatból készül elküldeni!";
"Address Book" = "Címjegyzék";
"Search For" = "Keresés";
"Contains" = "Contains";
"Does not contains" = "Does not contains";
"Advanced search" = "Advanced search";
"Anytime" = "Anytime";
"Last 7 days" = "Last 7 days";
"Last 30 days" = "Last 30 days";
"Last 6 month" = "Last 6 month";
"Before" = "Before";
"After" = "After";
"Between" = "Between";
"and" = "and";
"With attachments" = "With attachments";
"In favorites" = "In favorites";
"Unseen only" = "Unseen only";
"Show more" = "Show more";
"Reset" = "Reset";
"Message size" = "Message size";
/* Popup "show" */
"all" = "összes";
@@ -239,6 +256,7 @@
"Save As..." = "Mentés másként...";
"Print Preview" = "Nyomtatási kép";
"View Message Source" = "Üzenet forrása";
"View raw message" = "View raw message";
/* Message view "more" menu: create an event from message */
"Convert To Event" = "Eseménnyé alakít";
@@ -485,9 +503,6 @@
/* Hotkey to write a new message */
"hotkey_compose" = "w";
/* Hotkey to mark selected message(s) as junk */
"hotkey_junk" = "j";
/* Hotkey to flag a message */
"hotkey_flag" = "*";
Loaded 100 of 229 files, more files were not shown because too many files have changed in this diff. Show more