diff --git a/.travis.yml b/.travis.yml index 9d70f9a3f2dce7322b7d970421c8230ac33dcaa8..8a2f7eca716decc37a6b79cd0084fae7515badd9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,8 +64,8 @@ before_install: - php --info # Install Krankerl - - wget https://github.com/ChristophWurst/krankerl/releases/download/v0.10.1/krankerl_0.10.1_amd64.deb - - sudo dpkg -i krankerl_0.10.1_amd64.deb + - if [[ "$TEST_SUITE" = "PACKAGE" ]]; then wget https://github.com/ChristophWurst/krankerl/releases/download/v0.12.1/krankerl_0.12.1_amd64.deb; fi + - if [[ "$TEST_SUITE" = "PACKAGE" ]]; then sudo dpkg -i krankerl_0.12.1_amd64.deb; fi # Set up DB - if [[ "$DB" == 'pgsql' ]]; then createuser -U travis -s oc_autotest; fi diff --git a/CHANGELOG.md b/CHANGELOG.md index 0eabceb8c7a5bc57454a22c3fb941c89492d37fa..4a22d68cfaa4b171d69d9f092205c5bcc6cc54cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,26 @@ # Changelog All notable changes to this project will be documented in this file. +## 1.1.0 - 2020-01-27 +### Added +- Nextcloud 19 support +### Changed +- New and updated translations +- Updated dependencies +### Fixed +- Clearing recipient input when focus is lost +- Broken mailbox stats on unified inbox +- Invisible embedded message parts +- Mailto protocol handler registration +- KItinerary executable permissions +- CC/BCC label +- Sending messages without a recipient +- No category for contacts autocompletion edge case +- Catch more error in error middleware +- Remove non-working mark all read action from unified inbox +- Remove non-working add subfolder action from unified inbox +- Missing inner exception in debug json error response + ## 1.0.0 - 2020-01-17 ### Added - Itinerary extraction with KItinerary diff --git a/appinfo/info.xml b/appinfo/info.xml index ed6d48dbfdadc331b3fa0c6898f9f5d5a0f29cb6..25d5326a52838026ea497596ae615f3b03da207d 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -12,7 +12,7 @@ - **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries. - **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)! ]]></description> - <version>1.0.0</version> + <version>1.1.0</version> <licence>agpl</licence> <author>Christoph Wurst</author> <author>Jan-Christoph Borchardt</author> diff --git a/composer.json b/composer.json index 87a2e82025498a1272d0b82edb18def975e4e031..6366c5243a043671b9f3c7fb8fdefd1178a5aafe 100644 --- a/composer.json +++ b/composer.json @@ -42,7 +42,7 @@ "require-dev": { "roave/security-advisories": "dev-master", "christophwurst/nextcloud": "v17.0.2", - "christophwurst/nextcloud_testing": "0.9.1", + "christophwurst/nextcloud_testing": "0.10.0", "phan/phan": "^2.0" }, "scripts": { diff --git a/composer.lock b/composer.lock index ff1243a79be3d4f36d4c7e290730d91f38e1da6f..3002bd3d8e9feefa47212145810a0200a18f4048 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "156f493170c7639a0e4cdcb0a6ecc92a", + "content-hash": "0e6c40b7b109e86ed727290146ab5057", "packages": [ { "name": "arthurhoaro/favicon", @@ -139,20 +139,20 @@ }, { "name": "christophwurst/kitinerary-bin", - "version": "0.2.2", + "version": "0.2.3", "source": { "type": "git", "url": "https://github.com/ChristophWurst/kitinerary-bin.git", - "reference": "0375e4db3a52035fc1c77e6a6c8a2e167a366d38" + "reference": "eaafa040b404651cb4ab75a2d7a53c71b55d2395" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ChristophWurst/kitinerary-bin/zipball/0375e4db3a52035fc1c77e6a6c8a2e167a366d38", - "reference": "0375e4db3a52035fc1c77e6a6c8a2e167a366d38", + "url": "https://api.github.com/repos/ChristophWurst/kitinerary-bin/zipball/eaafa040b404651cb4ab75a2d7a53c71b55d2395", + "reference": "eaafa040b404651cb4ab75a2d7a53c71b55d2395", "shasum": "" }, "require": { - "christophwurst/kitinerary": "^0.2.0", + "christophwurst/kitinerary": "^0.2.1", "ext-json": "*", "php": "^7.1", "psr/log": "^1.1" @@ -174,7 +174,7 @@ } ], "description": "KItinerary binary executable", - "time": "2020-01-13T18:19:45+00:00" + "time": "2020-01-13T21:43:49+00:00" }, { "name": "christophwurst/kitinerary-flatpak", @@ -1052,20 +1052,20 @@ }, { "name": "christophwurst/nextcloud_testing", - "version": "0.9.1", + "version": "0.10.0", "source": { "type": "git", "url": "https://github.com/ChristophWurst/nextcloud_testing.git", - "reference": "ffe5d2df7e49696d080d2de9005730db163de787" + "reference": "a5b30f95ef199b2fa80ff51b0e5bad48bfd0501c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ChristophWurst/nextcloud_testing/zipball/ffe5d2df7e49696d080d2de9005730db163de787", - "reference": "ffe5d2df7e49696d080d2de9005730db163de787", + "url": "https://api.github.com/repos/ChristophWurst/nextcloud_testing/zipball/a5b30f95ef199b2fa80ff51b0e5bad48bfd0501c", + "reference": "a5b30f95ef199b2fa80ff51b0e5bad48bfd0501c", "shasum": "" }, "require": { - "facebook/webdriver": "^1.7", + "php-webdriver/webdriver": "^1.7", "phpunit/phpunit": "^8.0" }, "require-dev": { @@ -1088,7 +1088,7 @@ } ], "description": "Simple and fast unit and integration testing framework for Nextcloud, based on PHPUnit", - "time": "2019-12-02T11:44:23+00:00" + "time": "2020-01-20T13:20:58+00:00" }, { "name": "composer/semver", @@ -1251,67 +1251,6 @@ ], "time": "2019-10-21T16:45:58+00:00" }, - { - "name": "facebook/webdriver", - "version": "1.7.1", - "source": { - "type": "git", - "url": "https://github.com/facebook/php-webdriver.git", - "reference": "e43de70f3c7166169d0f14a374505392734160e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/e43de70f3c7166169d0f14a374505392734160e5", - "reference": "e43de70f3c7166169d0f14a374505392734160e5", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-zip": "*", - "php": "^5.6 || ~7.0", - "symfony/process": "^2.8 || ^3.1 || ^4.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.0", - "jakub-onderka/php-parallel-lint": "^0.9.2", - "php-coveralls/php-coveralls": "^2.0", - "php-mock/php-mock-phpunit": "^1.1", - "phpunit/phpunit": "^5.7", - "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", - "squizlabs/php_codesniffer": "^2.6", - "symfony/var-dumper": "^3.3 || ^4.0" - }, - "suggest": { - "ext-SimpleXML": "For Firefox profile creation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-community": "1.5-dev" - } - }, - "autoload": { - "psr-4": { - "Facebook\\WebDriver\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "A PHP client for Selenium WebDriver", - "homepage": "https://github.com/facebook/php-webdriver", - "keywords": [ - "facebook", - "php", - "selenium", - "webdriver" - ], - "abandoned": "php-webdriver/webdriver", - "time": "2019-06-13T08:02:18+00:00" - }, { "name": "felixfbecker/advanced-json-rpc", "version": "v3.0.4", @@ -1490,16 +1429,16 @@ }, { "name": "phan/phan", - "version": "2.4.6", + "version": "2.4.8", "source": { "type": "git", "url": "https://github.com/phan/phan.git", - "reference": "85f142379813cf0a24a19237e9fbe6f77f0251db" + "reference": "dc94f53f651bfb32766902e5d4198780245d8382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phan/phan/zipball/85f142379813cf0a24a19237e9fbe6f77f0251db", - "reference": "85f142379813cf0a24a19237e9fbe6f77f0251db", + "url": "https://api.github.com/repos/phan/phan/zipball/dc94f53f651bfb32766902e5d4198780245d8382", + "reference": "dc94f53f651bfb32766902e5d4198780245d8382", "shasum": "" }, "require": { @@ -1517,7 +1456,7 @@ "symfony/polyfill-mbstring": "^1.11.0" }, "require-dev": { - "brianium/paratest": "^2.2.0", + "brianium/paratest": "^3.1.2", "phpunit/phpunit": "^7.5.0" }, "suggest": { @@ -1559,7 +1498,7 @@ "php", "static" ], - "time": "2019-12-29T17:44:25+00:00" + "time": "2020-01-25T17:22:42+00:00" }, { "name": "phar-io/manifest", @@ -1663,6 +1602,66 @@ "description": "Library for handling version information and constraints", "time": "2018-07-08T19:19:57+00:00" }, + { + "name": "php-webdriver/webdriver", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/php-webdriver/php-webdriver.git", + "reference": "e43de70f3c7166169d0f14a374505392734160e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/e43de70f3c7166169d0f14a374505392734160e5", + "reference": "e43de70f3c7166169d0f14a374505392734160e5", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-zip": "*", + "php": "^5.6 || ~7.0", + "symfony/process": "^2.8 || ^3.1 || ^4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "jakub-onderka/php-parallel-lint": "^0.9.2", + "php-coveralls/php-coveralls": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "^5.7", + "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", + "squizlabs/php_codesniffer": "^2.6", + "symfony/var-dumper": "^3.3 || ^4.0" + }, + "suggest": { + "ext-SimpleXML": "For Firefox profile creation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-community": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\WebDriver\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "A PHP client for Selenium WebDriver", + "homepage": "https://github.com/facebook/php-webdriver", + "keywords": [ + "facebook", + "php", + "selenium", + "webdriver" + ], + "time": "2019-06-13T08:02:18+00:00" + }, { "name": "phpdocumentor/reflection-common", "version": "2.0.0", @@ -1816,24 +1815,24 @@ }, { "name": "phpspec/prophecy", - "version": "1.10.1", + "version": "v1.10.2", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc" + "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/cbe1df668b3fe136bcc909126a0f529a78d4cbbc", - "reference": "cbe1df668b3fe136bcc909126a0f529a78d4cbbc", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b4400efc9d206e83138e2bb97ed7f5b14b831cd9", + "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", - "sebastian/comparator": "^1.2.3|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" + "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" }, "require-dev": { "phpspec/phpspec": "^2.5 || ^3.2", @@ -1875,7 +1874,7 @@ "spy", "stub" ], - "time": "2019-12-22T21:05:45+00:00" + "time": "2020-01-20T15:57:02+00:00" }, { "name": "phpunit/php-code-coverage", @@ -2267,12 +2266,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "67ac6ea8f4a078c3c9b7aec5d7ae70f098c37389" + "reference": "5e2ebc8340c8b7dcdc3f938dcbb9e2b99b72fd8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/67ac6ea8f4a078c3c9b7aec5d7ae70f098c37389", - "reference": "67ac6ea8f4a078c3c9b7aec5d7ae70f098c37389", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/5e2ebc8340c8b7dcdc3f938dcbb9e2b99b72fd8e", + "reference": "5e2ebc8340c8b7dcdc3f938dcbb9e2b99b72fd8e", "shasum": "" }, "conflict": { @@ -2385,7 +2384,7 @@ "spoonity/tcpdf": "<6.2.22", "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", "stormpath/sdk": ">=0,<9.9.99", - "studio-42/elfinder": "<2.1.48", + "studio-42/elfinder": "<2.1.49", "swiftmailer/swiftmailer": ">=4,<5.4.5", "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", @@ -2479,7 +2478,7 @@ } ], "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", - "time": "2020-01-06T19:16:46+00:00" + "time": "2020-01-20T14:23:18+00:00" }, { "name": "sabre/event", @@ -3158,16 +3157,16 @@ }, { "name": "symfony/console", - "version": "v4.4.2", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "82437719dab1e6bdd28726af14cb345c2ec816d0" + "reference": "e9ee09d087e2c88eaf6e5fc0f5c574f64d100e4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/82437719dab1e6bdd28726af14cb345c2ec816d0", - "reference": "82437719dab1e6bdd28726af14cb345c2ec816d0", + "url": "https://api.github.com/repos/symfony/console/zipball/e9ee09d087e2c88eaf6e5fc0f5c574f64d100e4f", + "reference": "e9ee09d087e2c88eaf6e5fc0f5c574f64d100e4f", "shasum": "" }, "require": { @@ -3230,7 +3229,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-12-17T10:32:23+00:00" + "time": "2020-01-10T21:54:01+00:00" }, { "name": "symfony/polyfill-ctype", @@ -3409,16 +3408,16 @@ }, { "name": "symfony/process", - "version": "v4.4.2", + "version": "v4.4.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "b84501ad50adb72a94fb460a5b5c91f693e99c9b" + "reference": "f5697ab4cb14a5deed7473819e63141bf5352c36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/b84501ad50adb72a94fb460a5b5c91f693e99c9b", - "reference": "b84501ad50adb72a94fb460a5b5c91f693e99c9b", + "url": "https://api.github.com/repos/symfony/process/zipball/f5697ab4cb14a5deed7473819e63141bf5352c36", + "reference": "f5697ab4cb14a5deed7473819e63141bf5352c36", "shasum": "" }, "require": { @@ -3454,7 +3453,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-12-06T10:06:46+00:00" + "time": "2020-01-09T09:50:08+00:00" }, { "name": "symfony/service-contracts", diff --git a/l10n/be.js b/l10n/be.js deleted file mode 100644 index 8aa1d7e034fe084520d862529704f1d2bfbefd47..0000000000000000000000000000000000000000 --- a/l10n/be.js +++ /dev/null @@ -1,13 +0,0 @@ -OC.L10N.register( - "mail", - { - "Password" : "Password", - "Save" : "Save", - "Delete" : "Delete", - "Settings" : "Ðалады", - "Add folder" : "Add folder", - "Delete account" : "Delete account", - "User" : "User", - "Search" : "Search" -}, -"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/l10n/be.json b/l10n/be.json deleted file mode 100644 index f88bddc0e3bc3d804c5964f4905760972f5c6112..0000000000000000000000000000000000000000 --- a/l10n/be.json +++ /dev/null @@ -1,11 +0,0 @@ -{ "translations": { - "Password" : "Password", - "Save" : "Save", - "Delete" : "Delete", - "Settings" : "Ðалады", - "Add folder" : "Add folder", - "Delete account" : "Delete account", - "User" : "User", - "Search" : "Search" -},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" -} \ No newline at end of file diff --git a/l10n/cs.js b/l10n/cs.js index 32c558a62335b0388386df4441f52975f69f5210..15a1625a70f7fc589e59890e5bcc6dfa1729dca6 100644 --- a/l10n/cs.js +++ b/l10n/cs.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "Automatické zjiÅ¡tÄ›nà se nezdaÅ™ilo. Použijte ruÄnà režim.", "Updating account failed: " : "Aktualizace úÄtu se nezdaÅ™ila:", "Creating account failed: " : "VytvoÅ™enà úÄtu se nezdaÅ™ilo:", + "Embedded message %s" : "ZapouzdÅ™ená zpráva %s", "💌 A mail app for Nextcloud" : "💌 E-mailová aplikace pro Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 E-mailová aplikace pro Nextcloud**\n\n- **🚀 Napojenà na ostatnà Nextcloud aplikace!** V tuto chvÃli Kontakty, Kalendář a Soubory – dalÅ¡Ã v pÅ™ÃpravÄ›.\n- **📥 VÃcero e-mailových úÄtů!** Soukromý a pracovnà úÄet? Žádný problém a hezká, sjednocená schránka pro pÅ™Ãchozà poÅ¡tu. PÅ™ipojte libovolný IMAP úÄet.\n- **🔒 PosÃlánà a pÅ™Ãjem zaÅ¡ifrovaných e-mailů!** Pomocà skvÄ›lého rozÅ¡ÃÅ™enà [Mailvelope](https://mailvelope.com) pro webový prohlÞeÄ.\n- **🙈 Nevynalézáme znovu kolo!** Založeno na skvÄ›lých softwarových knihovnách [Horde](http://horde.org).\n- **📬 Chcete hostovat svůj vlastnà e-mailový server?** Toto nemusÃme reimplementovat, protože si můžete vytvoÅ™it [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Automaticky", @@ -31,13 +32,17 @@ OC.L10N.register( "Connect" : "PÅ™ipojit", "Add mail account" : "PÅ™idat e-mailový úÄet", "Use Gravatar and favicon avatars" : "Použijte Gravatar a favicon avatary", + "Register as application for mail links" : "Zaregistrovat jako aplikaci pro obsluhu e-mailových odkazů", "Keyboard shortcuts" : "Klávesové zkratky", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Hledáte způsob, jak své e-maily Å¡ifrovat? Nainstalujte si rozÅ¡ÃÅ™enà pro webový prohlÞeÄ, nazvané Mailvelope (nÄ›co jako „Obálka na e-maily“)!", "From" : "Od", "Select account" : "Vybrat úÄet", "To" : "Pro", "Contact or email address …" : "Kontakt nebo e-mailová adresa…", + "+ CC/BCC" : "+ v kopii / skryté kopii", + "CC" : "v kopii", "No contacts found." : "Nenalezeny žádné kontakty.", + "BCC" : "ve skryté kopii", "Subject" : "PÅ™edmÄ›t", "Subject …" : "PÅ™edmÄ›t…", "This message came from a noreply address so your reply will probably not be read." : "Tato zpráva pocházà z adresy noreply (neodpovÃdat), takže vaÅ¡e odpovÄ›Ä pravdÄ›podobnÄ› nebude pÅ™eÄtena.", @@ -78,6 +83,7 @@ OC.L10N.register( "Import into calendar" : "Importovat do kalendáře", "Download attachment" : "Stáhnout pÅ™Ãlohu", "Save to Files" : "Uložit do Souborů", + "Embedded message" : "ZapouzdÅ™ená zpráva", "Choose a folder to store the attachment in" : "Vyberte složku pro uloženà pÅ™Ãlohy", "Save all to Files" : "Uložit vÅ¡e do Souborů", "Choose a folder to store the attachments in" : "Zvolte složku do které ukládat pÅ™Ãlohy", diff --git a/l10n/cs.json b/l10n/cs.json index 24d2d4921868739846184c055e88267d84b7df51..75385ae2503fed420d8cb2cf399f054915958a30 100644 --- a/l10n/cs.json +++ b/l10n/cs.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "Automatické zjiÅ¡tÄ›nà se nezdaÅ™ilo. Použijte ruÄnà režim.", "Updating account failed: " : "Aktualizace úÄtu se nezdaÅ™ila:", "Creating account failed: " : "VytvoÅ™enà úÄtu se nezdaÅ™ilo:", + "Embedded message %s" : "ZapouzdÅ™ená zpráva %s", "💌 A mail app for Nextcloud" : "💌 E-mailová aplikace pro Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 E-mailová aplikace pro Nextcloud**\n\n- **🚀 Napojenà na ostatnà Nextcloud aplikace!** V tuto chvÃli Kontakty, Kalendář a Soubory – dalÅ¡Ã v pÅ™ÃpravÄ›.\n- **📥 VÃcero e-mailových úÄtů!** Soukromý a pracovnà úÄet? Žádný problém a hezká, sjednocená schránka pro pÅ™Ãchozà poÅ¡tu. PÅ™ipojte libovolný IMAP úÄet.\n- **🔒 PosÃlánà a pÅ™Ãjem zaÅ¡ifrovaných e-mailů!** Pomocà skvÄ›lého rozÅ¡ÃÅ™enà [Mailvelope](https://mailvelope.com) pro webový prohlÞeÄ.\n- **🙈 Nevynalézáme znovu kolo!** Založeno na skvÄ›lých softwarových knihovnách [Horde](http://horde.org).\n- **📬 Chcete hostovat svůj vlastnà e-mailový server?** Toto nemusÃme reimplementovat, protože si můžete vytvoÅ™it [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Automaticky", @@ -29,13 +30,17 @@ "Connect" : "PÅ™ipojit", "Add mail account" : "PÅ™idat e-mailový úÄet", "Use Gravatar and favicon avatars" : "Použijte Gravatar a favicon avatary", + "Register as application for mail links" : "Zaregistrovat jako aplikaci pro obsluhu e-mailových odkazů", "Keyboard shortcuts" : "Klávesové zkratky", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Hledáte způsob, jak své e-maily Å¡ifrovat? Nainstalujte si rozÅ¡ÃÅ™enà pro webový prohlÞeÄ, nazvané Mailvelope (nÄ›co jako „Obálka na e-maily“)!", "From" : "Od", "Select account" : "Vybrat úÄet", "To" : "Pro", "Contact or email address …" : "Kontakt nebo e-mailová adresa…", + "+ CC/BCC" : "+ v kopii / skryté kopii", + "CC" : "v kopii", "No contacts found." : "Nenalezeny žádné kontakty.", + "BCC" : "ve skryté kopii", "Subject" : "PÅ™edmÄ›t", "Subject …" : "PÅ™edmÄ›t…", "This message came from a noreply address so your reply will probably not be read." : "Tato zpráva pocházà z adresy noreply (neodpovÃdat), takže vaÅ¡e odpovÄ›Ä pravdÄ›podobnÄ› nebude pÅ™eÄtena.", @@ -76,6 +81,7 @@ "Import into calendar" : "Importovat do kalendáře", "Download attachment" : "Stáhnout pÅ™Ãlohu", "Save to Files" : "Uložit do Souborů", + "Embedded message" : "ZapouzdÅ™ená zpráva", "Choose a folder to store the attachment in" : "Vyberte složku pro uloženà pÅ™Ãlohy", "Save all to Files" : "Uložit vÅ¡e do Souborů", "Choose a folder to store the attachments in" : "Zvolte složku do které ukládat pÅ™Ãlohy", diff --git a/l10n/de.js b/l10n/de.js index 9e45f47dc00755388ceec8fb5773d6688c3e7531..641b66314b0ca7b92c44711b5c6d113dc798ddc4 100644 --- a/l10n/de.js +++ b/l10n/de.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "Automatische Erkennung fehlgeschlagen. Bitte nutze den manuellen Modus.", "Updating account failed: " : "Kontoaktualisierung fehlgeschlagen:", "Creating account failed: " : "Kontoerstellung fehlgeschlagen:", + "Embedded message %s" : "Eingebettete Nachricht %s", "💌 A mail app for Nextcloud" : "💌 Eine E-Mail-App für Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Eine E-Mail-App for Nextcloud**\n\n- **🚀 Integration mit anderenNextcloud-Apps!** Aktuell Kontakte, Kalender und Dateien – weitere werden folgen.\n- **📥 Mehrere E-Mail-Konten!** Privates und Firmenkonto? Kein Problem mit dem gemeinsamen Posteingang. Verbinde einfach alle IMAP-Konten.\n- **🔒 Sende und Empfange verschlüsselte E-Mails!** Unter Verwendung der [Mailvelope](https://mailvelope.com) Browser-Erweiterung.\n- **🙈 Wir erfinden das Rad nicht neu!** Basierend auf den [Horde](http://horde.org) Bibliotheken.\n- **📬 Willst Du Deinen eigenen E-Mail-Server betreiben?**Wir müssen das nicht neu implementieren, denn Du kannst einfach [Mail-in-a-Box](https://mailinabox.email) einrichten!", "Auto" : "Automatisch", @@ -31,6 +32,7 @@ OC.L10N.register( "Connect" : "Verbinden", "Add mail account" : "E-Mail-Konto hinzufügen", "Use Gravatar and favicon avatars" : "Gravatar- und Favicon-Avatare verwenden", + "Register as application for mail links" : "Als Anwendung für Mail-Links registrieren", "Keyboard shortcuts" : "Tastaturkürzel", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Du suchst nach einer Möglichkeit Deine E-Mails zu verschlüsseln? Installiere hierzu die Browser-Erweiterung Mailvelope!", "From" : "Von", @@ -81,6 +83,7 @@ OC.L10N.register( "Import into calendar" : "In Kalender importieren", "Download attachment" : "Anhang herunterladen", "Save to Files" : "Unter Dateien speichern", + "Embedded message" : "Eingebettete Nachricht", "Choose a folder to store the attachment in" : "Ordner zum Speichern des Anhangs auswählen", "Save all to Files" : "Alles unter Dateien sichern", "Choose a folder to store the attachments in" : "Ordner zum Speichern des Anhangs auswählen", diff --git a/l10n/de.json b/l10n/de.json index eaab0023b2b3224937ec348f939e08ed25cd98ef..bcd9d539e4a2787208561b486669ece62365a913 100644 --- a/l10n/de.json +++ b/l10n/de.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "Automatische Erkennung fehlgeschlagen. Bitte nutze den manuellen Modus.", "Updating account failed: " : "Kontoaktualisierung fehlgeschlagen:", "Creating account failed: " : "Kontoerstellung fehlgeschlagen:", + "Embedded message %s" : "Eingebettete Nachricht %s", "💌 A mail app for Nextcloud" : "💌 Eine E-Mail-App für Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Eine E-Mail-App for Nextcloud**\n\n- **🚀 Integration mit anderenNextcloud-Apps!** Aktuell Kontakte, Kalender und Dateien – weitere werden folgen.\n- **📥 Mehrere E-Mail-Konten!** Privates und Firmenkonto? Kein Problem mit dem gemeinsamen Posteingang. Verbinde einfach alle IMAP-Konten.\n- **🔒 Sende und Empfange verschlüsselte E-Mails!** Unter Verwendung der [Mailvelope](https://mailvelope.com) Browser-Erweiterung.\n- **🙈 Wir erfinden das Rad nicht neu!** Basierend auf den [Horde](http://horde.org) Bibliotheken.\n- **📬 Willst Du Deinen eigenen E-Mail-Server betreiben?**Wir müssen das nicht neu implementieren, denn Du kannst einfach [Mail-in-a-Box](https://mailinabox.email) einrichten!", "Auto" : "Automatisch", @@ -29,6 +30,7 @@ "Connect" : "Verbinden", "Add mail account" : "E-Mail-Konto hinzufügen", "Use Gravatar and favicon avatars" : "Gravatar- und Favicon-Avatare verwenden", + "Register as application for mail links" : "Als Anwendung für Mail-Links registrieren", "Keyboard shortcuts" : "Tastaturkürzel", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Du suchst nach einer Möglichkeit Deine E-Mails zu verschlüsseln? Installiere hierzu die Browser-Erweiterung Mailvelope!", "From" : "Von", @@ -79,6 +81,7 @@ "Import into calendar" : "In Kalender importieren", "Download attachment" : "Anhang herunterladen", "Save to Files" : "Unter Dateien speichern", + "Embedded message" : "Eingebettete Nachricht", "Choose a folder to store the attachment in" : "Ordner zum Speichern des Anhangs auswählen", "Save all to Files" : "Alles unter Dateien sichern", "Choose a folder to store the attachments in" : "Ordner zum Speichern des Anhangs auswählen", diff --git a/l10n/de_DE.js b/l10n/de_DE.js index d9857f2504b08d867b6249922814304855768dc3..e017178fabc7792a72b919033cfce0457e2641a8 100644 --- a/l10n/de_DE.js +++ b/l10n/de_DE.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "Automatische Erkennung fehlgeschlagen. Bitte nutzen Sie den manuellen Modus.", "Updating account failed: " : "Kontenaktualisierung fehlgeschlagen:", "Creating account failed: " : "Kontoerstellung fehlgeschlagen:", + "Embedded message %s" : "Eingebettete Nachricht %s", "💌 A mail app for Nextcloud" : "💌 Eine E-Mail-App für Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Eine E-Mail-App for Nextcloud**\n\n- **🚀 Integration mit anderenNextcloud-Apps!** Aktuell Kontakte, Kalender und Dateien – weitere werden folgen.\n- **📥 Mehrere E-Mail-Konten!** Privates und Firmenkonto? Kein Problem mit dem gemeinsamen Posteingang. Verbinden Sie einfach alle IMAP-Konten.\n- **🔒 Senden und Empfangen Sie verschlüsselte E-Mails!** Unter Verwendung der [Mailvelope](https://mailvelope.com) Browser-Erweiterung.\n- **🙈 Wir erfinden das Rad nicht neu!** Basierend auf den [Horde](http://horde.org) Bibliotheken.\n- **📬 Wollen Sie Ihren eigenen E-Mail-Server betreiben?**Wir müssen das nicht neu implementieren, denn Sie können einfach [Mail-in-a-Box](https://mailinabox.email) einrichten!", "Auto" : "Automatisch", @@ -31,6 +32,7 @@ OC.L10N.register( "Connect" : "Verbinden", "Add mail account" : "E-Mail-Konto hinzufügen", "Use Gravatar and favicon avatars" : "Gravatar- und Favicon-Avatare verwenden", + "Register as application for mail links" : "Als Anwendung für Mail-Links registrieren", "Keyboard shortcuts" : "Tastaturkürzel", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Sie suchen nach einer Möglichkeit Ihre E-Mails zu verschlüsseln? Installieren Sie sich hierzu die Browser-Erweiterung Mailvelope!", "From" : "Von", @@ -81,6 +83,7 @@ OC.L10N.register( "Import into calendar" : "In Kalender importieren", "Download attachment" : "Anhang herunterladen", "Save to Files" : "Unter Dateien speichern", + "Embedded message" : "Eingebettete Nachricht", "Choose a folder to store the attachment in" : "Ordner zum Speichern des Anhangs auswählen", "Save all to Files" : "Alles unter Dateien sichern", "Choose a folder to store the attachments in" : "Ordner zum Speichern des Anhangs auswählen", diff --git a/l10n/de_DE.json b/l10n/de_DE.json index 46bdd124b0d06dd4be40b34ca9dc7660d41b94ca..d4a6417acdc0847f569379ffa5c2606bebb25ca0 100644 --- a/l10n/de_DE.json +++ b/l10n/de_DE.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "Automatische Erkennung fehlgeschlagen. Bitte nutzen Sie den manuellen Modus.", "Updating account failed: " : "Kontenaktualisierung fehlgeschlagen:", "Creating account failed: " : "Kontoerstellung fehlgeschlagen:", + "Embedded message %s" : "Eingebettete Nachricht %s", "💌 A mail app for Nextcloud" : "💌 Eine E-Mail-App für Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Eine E-Mail-App for Nextcloud**\n\n- **🚀 Integration mit anderenNextcloud-Apps!** Aktuell Kontakte, Kalender und Dateien – weitere werden folgen.\n- **📥 Mehrere E-Mail-Konten!** Privates und Firmenkonto? Kein Problem mit dem gemeinsamen Posteingang. Verbinden Sie einfach alle IMAP-Konten.\n- **🔒 Senden und Empfangen Sie verschlüsselte E-Mails!** Unter Verwendung der [Mailvelope](https://mailvelope.com) Browser-Erweiterung.\n- **🙈 Wir erfinden das Rad nicht neu!** Basierend auf den [Horde](http://horde.org) Bibliotheken.\n- **📬 Wollen Sie Ihren eigenen E-Mail-Server betreiben?**Wir müssen das nicht neu implementieren, denn Sie können einfach [Mail-in-a-Box](https://mailinabox.email) einrichten!", "Auto" : "Automatisch", @@ -29,6 +30,7 @@ "Connect" : "Verbinden", "Add mail account" : "E-Mail-Konto hinzufügen", "Use Gravatar and favicon avatars" : "Gravatar- und Favicon-Avatare verwenden", + "Register as application for mail links" : "Als Anwendung für Mail-Links registrieren", "Keyboard shortcuts" : "Tastaturkürzel", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Sie suchen nach einer Möglichkeit Ihre E-Mails zu verschlüsseln? Installieren Sie sich hierzu die Browser-Erweiterung Mailvelope!", "From" : "Von", @@ -79,6 +81,7 @@ "Import into calendar" : "In Kalender importieren", "Download attachment" : "Anhang herunterladen", "Save to Files" : "Unter Dateien speichern", + "Embedded message" : "Eingebettete Nachricht", "Choose a folder to store the attachment in" : "Ordner zum Speichern des Anhangs auswählen", "Save all to Files" : "Alles unter Dateien sichern", "Choose a folder to store the attachments in" : "Ordner zum Speichern des Anhangs auswählen", diff --git a/l10n/el.js b/l10n/el.js index f66314a52663194e36459552c7d5d8db68230ebb..722cf3039a38818c1b7255e68c69cadf48b49b95 100644 --- a/l10n/el.js +++ b/l10n/el.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "Η αυτόματη ανίχνευση απÎτυχε. ΠαÏακαλοÏμε χÏησιμοποιήστε τη χειÏοκίνητη λειτουÏγία.", "Updating account failed: " : "Αποτυχία ενημÎÏωσης λογαÏιασμοÏ:", "Creating account failed: " : "Αποτυχία δημιουÏγίας λογαÏιασμοÏ:", + "Embedded message %s" : "ΕνσωματωμÎνο μήνυμα %s", "💌 A mail app for Nextcloud" : "ΕφαÏμογή ηλ.ταχυδÏομείου για το Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 ΕφαÏμογή ηλ.ταχυδÏομείου για το Nextcloud **\n\n- **🚀 ΣυνεÏγασία με άλλες εφαÏμογÎÏ‚ Nextcloud!** Για την ÏŽÏα με ΕπαφÎÏ‚, ΗμεÏολόγιο & ΑÏχεία - Ï€Ïοσεχώς και άλλες.\n- **📥 Πολλαπλοί λογαÏιασμοί ταχυδÏομίου!** Î Ïοσωπικοί και επαγγελματικοί λογαÏιασμοί? ΧωÏίς Ï€Ïόβλημα και με Îνα όμοÏφο πεÏιβάλλον. ΣυνδÎστε οποιονδήποτε λογαÏιασμό IMAP.\n- **🔒 Αποστολή & λήψη κÏυπτογÏαφημÎνων μηνυμάτων!** ΧÏησιμοποιώντας το Ï…Ï€ÎÏοχο [Mailvelope](https://mailvelope.com) Ï€Ïόσθετο φυλλομετÏητή.\n- **🙈 Δεν ανακαλÏπτουμε τον Ï„Ïοχό!** ΒασισμÎνο στις Ï…Ï€ÎÏοχες [Horde](http://horde.org) βιβλιοθήκες.\n- **📬 ΧÏειάζεστε τον δικό σας διακομιστή?** Δεν χÏειάζεται να επαναλάβουμε πως μποÏείτε να τον δημιουÏγήσετε [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Αυτόματα", @@ -30,12 +31,17 @@ OC.L10N.register( "Save" : "Αποθήκευση", "Connect" : "ΣÏνδεση", "Add mail account" : "Î Ïοσθήκη λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï Î±Î»Î»Î·Î»Î¿Î³Ïαφίας", + "Use Gravatar and favicon avatars" : "ΧÏησιμοποιήστε Gravatar και favicon avatars", "Keyboard shortcuts" : "ΣυντομεÏσεις πληκτÏολογίου", + "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Ψάχτετε Ï„Ïόπο κÏυπτογÏάφησης των emails σας; Εγκαταστήστε το Ï€Ïόσθετο στον φυλλομετÏητή σας Mailvelope !", "From" : "Από:", "Select account" : "Επιλογή λογαÏιασμοÏ", "To" : "Î Ïος", "Contact or email address …" : "Επαφή ή διεÏθυνση ηλ.ταχυδÏομίου ...", + "+ CC/BCC" : "+ CC/BCC", + "CC" : "CC", "No contacts found." : "Δεν βÏÎθηκαν επαφÎÏ‚", + "BCC" : "BCC", "Subject" : "ΘÎμα", "Subject …" : "ΘÎμα...", "Write message …" : "ΕγγÏαφή μηνÏματος ...", diff --git a/l10n/el.json b/l10n/el.json index 287f0c5736b48459be65006b6aeeec1321a90871..2b642805c978976a31fb4c4be6372fa90213f1cb 100644 --- a/l10n/el.json +++ b/l10n/el.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "Η αυτόματη ανίχνευση απÎτυχε. ΠαÏακαλοÏμε χÏησιμοποιήστε τη χειÏοκίνητη λειτουÏγία.", "Updating account failed: " : "Αποτυχία ενημÎÏωσης λογαÏιασμοÏ:", "Creating account failed: " : "Αποτυχία δημιουÏγίας λογαÏιασμοÏ:", + "Embedded message %s" : "ΕνσωματωμÎνο μήνυμα %s", "💌 A mail app for Nextcloud" : "ΕφαÏμογή ηλ.ταχυδÏομείου για το Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 ΕφαÏμογή ηλ.ταχυδÏομείου για το Nextcloud **\n\n- **🚀 ΣυνεÏγασία με άλλες εφαÏμογÎÏ‚ Nextcloud!** Για την ÏŽÏα με ΕπαφÎÏ‚, ΗμεÏολόγιο & ΑÏχεία - Ï€Ïοσεχώς και άλλες.\n- **📥 Πολλαπλοί λογαÏιασμοί ταχυδÏομίου!** Î Ïοσωπικοί και επαγγελματικοί λογαÏιασμοί? ΧωÏίς Ï€Ïόβλημα και με Îνα όμοÏφο πεÏιβάλλον. ΣυνδÎστε οποιονδήποτε λογαÏιασμό IMAP.\n- **🔒 Αποστολή & λήψη κÏυπτογÏαφημÎνων μηνυμάτων!** ΧÏησιμοποιώντας το Ï…Ï€ÎÏοχο [Mailvelope](https://mailvelope.com) Ï€Ïόσθετο φυλλομετÏητή.\n- **🙈 Δεν ανακαλÏπτουμε τον Ï„Ïοχό!** ΒασισμÎνο στις Ï…Ï€ÎÏοχες [Horde](http://horde.org) βιβλιοθήκες.\n- **📬 ΧÏειάζεστε τον δικό σας διακομιστή?** Δεν χÏειάζεται να επαναλάβουμε πως μποÏείτε να τον δημιουÏγήσετε [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Αυτόματα", @@ -28,12 +29,17 @@ "Save" : "Αποθήκευση", "Connect" : "ΣÏνδεση", "Add mail account" : "Î Ïοσθήκη λογαÏÎ¹Î±ÏƒÎ¼Î¿Ï Î±Î»Î»Î·Î»Î¿Î³Ïαφίας", + "Use Gravatar and favicon avatars" : "ΧÏησιμοποιήστε Gravatar και favicon avatars", "Keyboard shortcuts" : "ΣυντομεÏσεις πληκτÏολογίου", + "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Ψάχτετε Ï„Ïόπο κÏυπτογÏάφησης των emails σας; Εγκαταστήστε το Ï€Ïόσθετο στον φυλλομετÏητή σας Mailvelope !", "From" : "Από:", "Select account" : "Επιλογή λογαÏιασμοÏ", "To" : "Î Ïος", "Contact or email address …" : "Επαφή ή διεÏθυνση ηλ.ταχυδÏομίου ...", + "+ CC/BCC" : "+ CC/BCC", + "CC" : "CC", "No contacts found." : "Δεν βÏÎθηκαν επαφÎÏ‚", + "BCC" : "BCC", "Subject" : "ΘÎμα", "Subject …" : "ΘÎμα...", "Write message …" : "ΕγγÏαφή μηνÏματος ...", diff --git a/l10n/es.js b/l10n/es.js index 741e824ef0940b099f5953428949b80c9c50ec27..a879ae61b6ad59891ca4f90c62356c1416fa24ca 100644 --- a/l10n/es.js +++ b/l10n/es.js @@ -1,12 +1,13 @@ OC.L10N.register( "mail", { - "Mail" : "Correo electrónico", + "Mail" : "Correo", "Auto detect failed. Please use manual mode." : "La autodetección ha fallado. Usa el modo manual.", "Updating account failed: " : "Fallo al actualizar la cuenta:", "Creating account failed: " : "No se ha podido crear la cuenta:", + "Embedded message %s" : "Mensaje incrustado %s", "💌 A mail app for Nextcloud" : "Una app de correo para Nextcloud", - "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Una aplicación mail para Nextcloud**\n\n- **🚀 ¡Integración con otras apps de Nextcloud apps!** Actualmente Contactos, Calendario y Archivos – más en adelante.\n- **📥 ¡Múltiples cuentas de mail!** ¿Cuentas personales y profesionales? Sin problemas, y en una bonita bandeja de entrada unificada. Conecte cualquier cuenta IMAP.\n- **🔒 ¡EnvÃo y recepción de correos encriptado!** Usando la gran extensión del navegador [Mailvelope](https://mailvelope.com).\n- **🙈 ¡No estamos reinvented la rueda!** Basado en las excelentes librerÃas [Horde](http://horde.org).\n- **📬 ¿Desea alojar su propio servidor de correo?** No necesitamos reimplementar esto, ya que lo puede configurar [Mail-in-a-Box](https://mailinabox.email)!", + "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Una aplicación de correo electrónico para Nextcloud**\n\n- **🚀 ¡Integración con otras apps de Nextcloud apps!** Actualmente Contactos, Calendario y Archivos – más en adelante.\n- **📥 ¡Múltiples cuentas de mail!** ¿Cuenta personal y profesionale? No hay problema, y en una bonita bandeja de entrada unificada. Conecte cualquier cuenta IMAP.\n- **🔒 ¡EnvÃo y recepción de correos encriptados!** Usando la gran extensión del navegador [Mailvelope](https://mailvelope.com).\n- **🙈 ¡No estamos reinventando la rueda!** Basado en las excelentes librerÃas [Horde](http://horde.org).\n- **📬 ¿Quieres alojar su propio servidor de correo?** No necesitamos reimplementar esto, ya que lo puede configurar [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Auto", "Name" : "Nombre", "Mail Address" : "Dirección de correo electrónico", @@ -31,13 +32,14 @@ OC.L10N.register( "Connect" : "Conectar", "Add mail account" : "Añadir cuenta de correo", "Use Gravatar and favicon avatars" : "Usar avatares de Gravatar y favicon", + "Register as application for mail links" : "Usar aplicación para abrir enlaces de correo", "Keyboard shortcuts" : "Atajos de teclado", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "¿Buscas una forma de cifrar tus correos? Instala la extensión de navegador Mailvelope.", "From" : "De", "Select account" : "Seleccione una cuenta", "To" : "Para", "Contact or email address …" : "Contacto o dirección de correo electrónico ...", - "+ CC/BCC" : "-CC/CCO", + "+ CC/BCC" : "+ CC/CCO", "CC" : "CC", "No contacts found." : "No se han encontrado contactos.", "BCC" : "CCO", @@ -70,17 +72,18 @@ OC.L10N.register( "Mark read" : "Marcar como leÃdo", "Mark unread" : "Marcar como no leÃdo", "Delete" : "Eliminar", - "Blind copy recipients only" : "Sólo a destinatarios con copia oculta (BCC)", + "Blind copy recipients only" : "Sólo a destinatarios con copia oculta (CCO)", "Report this bug" : "Informar de este error", "Loading messages" : "Cargando mensajes", "Not found" : "No encontrado", "Reply" : "Responder", "Reply to sender only" : "Responder sólo al remitente", - "Forward" : "Adelante", + "Forward" : "Reenviar", "Could not load your message" : "No se ha podido cargar tu mensaje", "Import into calendar" : "Importar al calendario", "Download attachment" : "Descargar adjunto", "Save to Files" : "Guardar en Archivos", + "Embedded message" : "Mensaje incrustado", "Choose a folder to store the attachment in" : "Escoja una carpeta para guardar el adjunto", "Save all to Files" : "Guardar todo en Archivos", "Choose a folder to store the attachments in" : "Escoge una carpeta donde guardar los adjuntos", @@ -136,9 +139,9 @@ OC.L10N.register( "Account settings" : "Ajustes de la cuenta", "Change name" : "Cambiar nombre", "Mail server" : "Servidor de correo", - "Speed up your Mail experience with these quick shortcuts." : "Acelera tu experiencia de Correo con estos rápidos atajos de teclado.", + "Speed up your Mail experience with these quick shortcuts." : "Acelera tu experiencia de Correo con estos atajos de teclado.", "Compose new message" : "Crear nuevo mensaje", - "Newer message" : "Mensaje más moderno", + "Newer message" : "Mensaje más nuevo", "Older message" : "Mensaje más antiguo", "Toggle star" : "Marcar/desmarcar con estrella", "Toggle unread" : "Marcar/desmarcar como leÃdo", diff --git a/l10n/es.json b/l10n/es.json index 2f2e72f2124a9362e6a46167c04269ae411e972f..ff8d11564ba5e1068fc87a555d4874394fc263ad 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -1,10 +1,11 @@ { "translations": { - "Mail" : "Correo electrónico", + "Mail" : "Correo", "Auto detect failed. Please use manual mode." : "La autodetección ha fallado. Usa el modo manual.", "Updating account failed: " : "Fallo al actualizar la cuenta:", "Creating account failed: " : "No se ha podido crear la cuenta:", + "Embedded message %s" : "Mensaje incrustado %s", "💌 A mail app for Nextcloud" : "Una app de correo para Nextcloud", - "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Una aplicación mail para Nextcloud**\n\n- **🚀 ¡Integración con otras apps de Nextcloud apps!** Actualmente Contactos, Calendario y Archivos – más en adelante.\n- **📥 ¡Múltiples cuentas de mail!** ¿Cuentas personales y profesionales? Sin problemas, y en una bonita bandeja de entrada unificada. Conecte cualquier cuenta IMAP.\n- **🔒 ¡EnvÃo y recepción de correos encriptado!** Usando la gran extensión del navegador [Mailvelope](https://mailvelope.com).\n- **🙈 ¡No estamos reinvented la rueda!** Basado en las excelentes librerÃas [Horde](http://horde.org).\n- **📬 ¿Desea alojar su propio servidor de correo?** No necesitamos reimplementar esto, ya que lo puede configurar [Mail-in-a-Box](https://mailinabox.email)!", + "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Una aplicación de correo electrónico para Nextcloud**\n\n- **🚀 ¡Integración con otras apps de Nextcloud apps!** Actualmente Contactos, Calendario y Archivos – más en adelante.\n- **📥 ¡Múltiples cuentas de mail!** ¿Cuenta personal y profesionale? No hay problema, y en una bonita bandeja de entrada unificada. Conecte cualquier cuenta IMAP.\n- **🔒 ¡EnvÃo y recepción de correos encriptados!** Usando la gran extensión del navegador [Mailvelope](https://mailvelope.com).\n- **🙈 ¡No estamos reinventando la rueda!** Basado en las excelentes librerÃas [Horde](http://horde.org).\n- **📬 ¿Quieres alojar su propio servidor de correo?** No necesitamos reimplementar esto, ya que lo puede configurar [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Auto", "Name" : "Nombre", "Mail Address" : "Dirección de correo electrónico", @@ -29,13 +30,14 @@ "Connect" : "Conectar", "Add mail account" : "Añadir cuenta de correo", "Use Gravatar and favicon avatars" : "Usar avatares de Gravatar y favicon", + "Register as application for mail links" : "Usar aplicación para abrir enlaces de correo", "Keyboard shortcuts" : "Atajos de teclado", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "¿Buscas una forma de cifrar tus correos? Instala la extensión de navegador Mailvelope.", "From" : "De", "Select account" : "Seleccione una cuenta", "To" : "Para", "Contact or email address …" : "Contacto o dirección de correo electrónico ...", - "+ CC/BCC" : "-CC/CCO", + "+ CC/BCC" : "+ CC/CCO", "CC" : "CC", "No contacts found." : "No se han encontrado contactos.", "BCC" : "CCO", @@ -68,17 +70,18 @@ "Mark read" : "Marcar como leÃdo", "Mark unread" : "Marcar como no leÃdo", "Delete" : "Eliminar", - "Blind copy recipients only" : "Sólo a destinatarios con copia oculta (BCC)", + "Blind copy recipients only" : "Sólo a destinatarios con copia oculta (CCO)", "Report this bug" : "Informar de este error", "Loading messages" : "Cargando mensajes", "Not found" : "No encontrado", "Reply" : "Responder", "Reply to sender only" : "Responder sólo al remitente", - "Forward" : "Adelante", + "Forward" : "Reenviar", "Could not load your message" : "No se ha podido cargar tu mensaje", "Import into calendar" : "Importar al calendario", "Download attachment" : "Descargar adjunto", "Save to Files" : "Guardar en Archivos", + "Embedded message" : "Mensaje incrustado", "Choose a folder to store the attachment in" : "Escoja una carpeta para guardar el adjunto", "Save all to Files" : "Guardar todo en Archivos", "Choose a folder to store the attachments in" : "Escoge una carpeta donde guardar los adjuntos", @@ -134,9 +137,9 @@ "Account settings" : "Ajustes de la cuenta", "Change name" : "Cambiar nombre", "Mail server" : "Servidor de correo", - "Speed up your Mail experience with these quick shortcuts." : "Acelera tu experiencia de Correo con estos rápidos atajos de teclado.", + "Speed up your Mail experience with these quick shortcuts." : "Acelera tu experiencia de Correo con estos atajos de teclado.", "Compose new message" : "Crear nuevo mensaje", - "Newer message" : "Mensaje más moderno", + "Newer message" : "Mensaje más nuevo", "Older message" : "Mensaje más antiguo", "Toggle star" : "Marcar/desmarcar con estrella", "Toggle unread" : "Marcar/desmarcar como leÃdo", diff --git a/l10n/fr.js b/l10n/fr.js index baa6b5b012b4996d04738165abef321ba4366992..733712eae1c7380ea9c24ddd86ab69a4c344a8e0 100644 --- a/l10n/fr.js +++ b/l10n/fr.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "L'auto-détection a échoué. Veuillez utiliser le mode manuel.", "Updating account failed: " : "La mise à jour du compte a échoué : ", "Creating account failed: " : "La création du compte a échoué : ", + "Embedded message %s" : "Message intégré %s", "💌 A mail app for Nextcloud" : "Une application de courriels pour Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Une application mail pour Nextcloud**\n\n- **🚀 Integration avec les autres apps Nextcloud !** Pour l'instant Contacts, Calendar & Files – et d'autres à venir.\n- **📥 Plusieurs comptes mails !** Un compte personnel et un compte professionnel ? Pas de problème, et avec une boîte de réception agréable et unifiée. Connecter n'importe quel compte IMAP.\n- **🔒 Envoyez et recevez des messages chiffrés !** En utilisant la formidable extension de navigateur [Mailvelope](https://mailvelope.com).\n- **🙈 Nous n'avons pas réinventé la roue !** Basé sur les excellentes bibliothèques [Horde](http://horde.org).\n- **📬 Vous souhaitez héberger votre propre serveur de messagerie ?** Nous n'avons pas besoin de réimplémenter cela car vous pourriez installer [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Auto", @@ -31,6 +32,7 @@ OC.L10N.register( "Connect" : "Connecter", "Add mail account" : "Ajouter un compte mail", "Use Gravatar and favicon avatars" : "Utiliser Gravatar et des avatars de favicon", + "Register as application for mail links" : "Application associée aux liens mails", "Keyboard shortcuts" : "Raccourcis clavier", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Vous recherchez comment protéger vos courriels ? Installez l'extension Mailvelope browser !", "From" : "De", @@ -81,6 +83,7 @@ OC.L10N.register( "Import into calendar" : "Importer dans le calendrier", "Download attachment" : "Télécharger les pièces jointes", "Save to Files" : "Enregistrer dans Fichiers", + "Embedded message" : "Message intégré", "Choose a folder to store the attachment in" : "Choisissez le dossier dans lequel enregistrer la pièce jointe", "Save all to Files" : "Enregistrer tout dans les Fichiers", "Choose a folder to store the attachments in" : "Sélectionnez un dossier dans lequel enregistrer les pièces jointes", diff --git a/l10n/fr.json b/l10n/fr.json index a0a3876b5dd7be493e2dbcd08645aa745f1a6819..2077039e73465584c9a71981735bf1c963dd3475 100644 --- a/l10n/fr.json +++ b/l10n/fr.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "L'auto-détection a échoué. Veuillez utiliser le mode manuel.", "Updating account failed: " : "La mise à jour du compte a échoué : ", "Creating account failed: " : "La création du compte a échoué : ", + "Embedded message %s" : "Message intégré %s", "💌 A mail app for Nextcloud" : "Une application de courriels pour Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Une application mail pour Nextcloud**\n\n- **🚀 Integration avec les autres apps Nextcloud !** Pour l'instant Contacts, Calendar & Files – et d'autres à venir.\n- **📥 Plusieurs comptes mails !** Un compte personnel et un compte professionnel ? Pas de problème, et avec une boîte de réception agréable et unifiée. Connecter n'importe quel compte IMAP.\n- **🔒 Envoyez et recevez des messages chiffrés !** En utilisant la formidable extension de navigateur [Mailvelope](https://mailvelope.com).\n- **🙈 Nous n'avons pas réinventé la roue !** Basé sur les excellentes bibliothèques [Horde](http://horde.org).\n- **📬 Vous souhaitez héberger votre propre serveur de messagerie ?** Nous n'avons pas besoin de réimplémenter cela car vous pourriez installer [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Auto", @@ -29,6 +30,7 @@ "Connect" : "Connecter", "Add mail account" : "Ajouter un compte mail", "Use Gravatar and favicon avatars" : "Utiliser Gravatar et des avatars de favicon", + "Register as application for mail links" : "Application associée aux liens mails", "Keyboard shortcuts" : "Raccourcis clavier", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Vous recherchez comment protéger vos courriels ? Installez l'extension Mailvelope browser !", "From" : "De", @@ -79,6 +81,7 @@ "Import into calendar" : "Importer dans le calendrier", "Download attachment" : "Télécharger les pièces jointes", "Save to Files" : "Enregistrer dans Fichiers", + "Embedded message" : "Message intégré", "Choose a folder to store the attachment in" : "Choisissez le dossier dans lequel enregistrer la pièce jointe", "Save all to Files" : "Enregistrer tout dans les Fichiers", "Choose a folder to store the attachments in" : "Sélectionnez un dossier dans lequel enregistrer les pièces jointes", diff --git a/l10n/gl.js b/l10n/gl.js index e793ad9c2b492cc9c1e9ada2e52335b5db6290cd..47ceb0b98493f5e37da9bf2b3aa7220e42b5dec4 100644 --- a/l10n/gl.js +++ b/l10n/gl.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "Fallou o modo de detección automática. empregue o modo manual.", "Updating account failed: " : "Produciuse un fallo ao actualizar a conta:", "Creating account failed: " : "Produciuse un fallo ao crear a conta:", + "Embedded message %s" : "Mensaxe incrustada %s", "💌 A mail app for Nextcloud" : "Unha aplicación de correo para o Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Unha aplicación de correo para o Nextcloud **\n\n- **🚀 Integración con outras aplicacións do Nextcloud.** Actualmente Contactos, Calendario e Ficheiros – outras por chegar.\n- **📥 Múltiples contas de correo.** Conta persoal e de empresa? Non hai problema e unha fermosa caixa de entrada unificada. Conecte calquera conta IMAP.\n- **🔒 Enviar e recibir correos cifrados!** Usando a estensión do navegador [Mailvelope](https://mailvelope.com).\n- **🙈 Non reinventamos a roda.** Baseado nas grandes bibliotecas [[Horde](http://horde.org).\n- **📬 Quere aloxar o seu propio servidor de correo? ** Non hai que reimplementalo isto xa que pode configurar [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Automático", @@ -31,6 +32,7 @@ OC.L10N.register( "Connect" : "Conectar", "Add mail account" : "Engadir unha conta de correo", "Use Gravatar and favicon avatars" : "Empregar os avatares de Gravatar e favicon", + "Register as application for mail links" : "Rexistre como aplicación para ligazóns de correo", "Keyboard shortcuts" : "Atallos de teclado", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Busca unha forma de cifrar os seus correos electrónicos? Instale a extensión do navegador Mailvelope!", "From" : "Dende:", @@ -81,6 +83,7 @@ OC.L10N.register( "Import into calendar" : "Importar ao calendario", "Download attachment" : "Descargar anexos", "Save to Files" : "Gardar en Ficheiros", + "Embedded message" : "Mensaxe incrustada", "Choose a folder to store the attachment in" : "Escolla un cartafol no que gardar o anexo de entrada", "Save all to Files" : "Gardar todo en Ficheiros", "Choose a folder to store the attachments in" : "Escolla un cartafol no que gardar o anexo", diff --git a/l10n/gl.json b/l10n/gl.json index 0b84b43aaedf7ded92447f23554d4057601833f5..0357a363f77203d5403df9c64fb948af09e0ba84 100644 --- a/l10n/gl.json +++ b/l10n/gl.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "Fallou o modo de detección automática. empregue o modo manual.", "Updating account failed: " : "Produciuse un fallo ao actualizar a conta:", "Creating account failed: " : "Produciuse un fallo ao crear a conta:", + "Embedded message %s" : "Mensaxe incrustada %s", "💌 A mail app for Nextcloud" : "Unha aplicación de correo para o Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Unha aplicación de correo para o Nextcloud **\n\n- **🚀 Integración con outras aplicacións do Nextcloud.** Actualmente Contactos, Calendario e Ficheiros – outras por chegar.\n- **📥 Múltiples contas de correo.** Conta persoal e de empresa? Non hai problema e unha fermosa caixa de entrada unificada. Conecte calquera conta IMAP.\n- **🔒 Enviar e recibir correos cifrados!** Usando a estensión do navegador [Mailvelope](https://mailvelope.com).\n- **🙈 Non reinventamos a roda.** Baseado nas grandes bibliotecas [[Horde](http://horde.org).\n- **📬 Quere aloxar o seu propio servidor de correo? ** Non hai que reimplementalo isto xa que pode configurar [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Automático", @@ -29,6 +30,7 @@ "Connect" : "Conectar", "Add mail account" : "Engadir unha conta de correo", "Use Gravatar and favicon avatars" : "Empregar os avatares de Gravatar e favicon", + "Register as application for mail links" : "Rexistre como aplicación para ligazóns de correo", "Keyboard shortcuts" : "Atallos de teclado", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Busca unha forma de cifrar os seus correos electrónicos? Instale a extensión do navegador Mailvelope!", "From" : "Dende:", @@ -79,6 +81,7 @@ "Import into calendar" : "Importar ao calendario", "Download attachment" : "Descargar anexos", "Save to Files" : "Gardar en Ficheiros", + "Embedded message" : "Mensaxe incrustada", "Choose a folder to store the attachment in" : "Escolla un cartafol no que gardar o anexo de entrada", "Save all to Files" : "Gardar todo en Ficheiros", "Choose a folder to store the attachments in" : "Escolla un cartafol no que gardar o anexo", diff --git a/l10n/it.js b/l10n/it.js index 772428b046d45259e6601cc80a8d47e7389b890d..a090d782bbb404047f2a8478c1852025141f5f85 100644 --- a/l10n/it.js +++ b/l10n/it.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "Rilevamento automatico non riuscito. Usa la modalità manuale.", "Updating account failed: " : "Aggiornamento account non riuscito:", "Creating account failed: " : "Creazione account non riuscita:", + "Embedded message %s" : "Messaggio incorporato %s", "💌 A mail app for Nextcloud" : "💌 Un'applicazione di posta per Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Un'applicazione di posta elettronica per Nextcloud**\n\n- **🚀 Integrazione con altre applicazioni di Nextcloud!** Attualmente Contatti, Calendario e File – altre in arrivo.\n- **📥 Account email multipli!** Account personale e aziendale? Nessun problema, con una posta in arrivo unificata. Connetti qualsiasi account IMAP.\n- **🔒 Invia e ricevi email cifrate!** Usando la mitica estensione per browser [Mailvelope](https://mailvelope.com).\n- **🙈 Non stiamo reinventando la ruota!** Basata sulle fantastiche librerie [Horde](http://horde.org).\n- **📬 Vuoi ospitare il tuo server di posta personale?** Non abbiamo bisogno di reimplementarlo dato che puoi installare [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Automatico", @@ -31,6 +32,7 @@ OC.L10N.register( "Connect" : "Connetti", "Add mail account" : "Aggiungi account di posta", "Use Gravatar and favicon avatars" : "Utilizza Gravatar e avatar favicon", + "Register as application for mail links" : "Registra come applicazione per i collegamenti di posta", "Keyboard shortcuts" : "Scorciatoie da tastiera", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Stai cercando un modo per cifrare le tue email? Installa l'estensione per browser Mailvelope!", "From" : "Da", @@ -81,6 +83,7 @@ OC.L10N.register( "Import into calendar" : "Importa nel calendario", "Download attachment" : "Scarica allegato", "Save to Files" : "Salva in File", + "Embedded message" : "Messaggio incorporato", "Choose a folder to store the attachment in" : "Scegli una cartella dove salvare l'allegato", "Save all to Files" : "Salva tutto in File", "Choose a folder to store the attachments in" : "Scegli una cartella in cui salvare gli allegati", diff --git a/l10n/it.json b/l10n/it.json index 03e1d2bd296cd8fdcc4a349b701ed39cfe80c3d0..662e8845341989ca68973d35434cfa5b05a62887 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "Rilevamento automatico non riuscito. Usa la modalità manuale.", "Updating account failed: " : "Aggiornamento account non riuscito:", "Creating account failed: " : "Creazione account non riuscita:", + "Embedded message %s" : "Messaggio incorporato %s", "💌 A mail app for Nextcloud" : "💌 Un'applicazione di posta per Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Un'applicazione di posta elettronica per Nextcloud**\n\n- **🚀 Integrazione con altre applicazioni di Nextcloud!** Attualmente Contatti, Calendario e File – altre in arrivo.\n- **📥 Account email multipli!** Account personale e aziendale? Nessun problema, con una posta in arrivo unificata. Connetti qualsiasi account IMAP.\n- **🔒 Invia e ricevi email cifrate!** Usando la mitica estensione per browser [Mailvelope](https://mailvelope.com).\n- **🙈 Non stiamo reinventando la ruota!** Basata sulle fantastiche librerie [Horde](http://horde.org).\n- **📬 Vuoi ospitare il tuo server di posta personale?** Non abbiamo bisogno di reimplementarlo dato che puoi installare [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Automatico", @@ -29,6 +30,7 @@ "Connect" : "Connetti", "Add mail account" : "Aggiungi account di posta", "Use Gravatar and favicon avatars" : "Utilizza Gravatar e avatar favicon", + "Register as application for mail links" : "Registra come applicazione per i collegamenti di posta", "Keyboard shortcuts" : "Scorciatoie da tastiera", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Stai cercando un modo per cifrare le tue email? Installa l'estensione per browser Mailvelope!", "From" : "Da", @@ -79,6 +81,7 @@ "Import into calendar" : "Importa nel calendario", "Download attachment" : "Scarica allegato", "Save to Files" : "Salva in File", + "Embedded message" : "Messaggio incorporato", "Choose a folder to store the attachment in" : "Scegli una cartella dove salvare l'allegato", "Save all to Files" : "Salva tutto in File", "Choose a folder to store the attachments in" : "Scegli una cartella in cui salvare gli allegati", diff --git a/l10n/lt_LT.js b/l10n/lt_LT.js index 2eed6fb5876ac3b0856ac923e29c2e4188b0bdf4..277c27b6ea94a9788eb0e4ea0a9dc454e5c20948 100644 --- a/l10n/lt_LT.js +++ b/l10n/lt_LT.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "Automatinis nustatymų aptikimas nepavyko. Ä®veskite duomenis rankiniu bÅ«du.", "Updating account failed: " : "Paskyros atnaujinimas nepavyko: ", "Creating account failed: " : "Paskyros sukÅ«rimas nepavyko: ", + "Embedded message %s" : "Ä®terptas laiÅ¡kas %s", "💌 A mail app for Nextcloud" : "💌 PaÅ¡to programÄ—lÄ—, skirta Nextcloud", "Auto" : "AutomatiÅ¡kai", "Name" : "Vardas", @@ -34,8 +35,12 @@ OC.L10N.register( "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "IeÅ¡kote bÅ«do kaip Å¡ifruoti savo el. laiÅ¡kus? Ä®sidiekite Mailvelope narÅ¡yklÄ—s plÄ—tinį!", "From" : "Nuo", "Select account" : "Pasirinkti paskyrÄ…", + "To" : "Kam", "Contact or email address …" : "Adresatas ar el. paÅ¡to adresas…", + "+ CC/BCC" : "+ CC/BCC", + "CC" : "CC", "No contacts found." : "Adresatų nerasta.", + "BCC" : "BCC", "Subject" : "Tema", "Subject …" : "Tema…", "This message came from a noreply address so your reply will probably not be read." : "Å is laiÅ¡kas atÄ—jo iÅ¡ adreso, kuris nÄ—ra skirtas atsakyti, taigi jÅ«sų atsakymas, tikriausiai, nebus perskaitytas.", @@ -73,6 +78,7 @@ OC.L10N.register( "Import into calendar" : "Importuoti į kalendorių", "Download attachment" : "Atsisiųsti priedÄ…", "Save to Files" : "Ä®raÅ¡yti į Failus", + "Embedded message" : "Ä®terptas laiÅ¡kas", "Choose a folder to store the attachment in" : "Pasirinkite aplankÄ…, kuriame iÅ¡saugoti priedÄ…", "Save all to Files" : "Ä®raÅ¡yti visus į Failus", "Choose a folder to store the attachments in" : "Pasirinkite aplankÄ…, kuriame laikyti priedus", @@ -92,9 +98,12 @@ OC.L10N.register( "Add subfolder" : "PridÄ—ti poaplankį", "Loading …" : "Ä®keliama…", "Could not load your draft" : "Nepavyko įkelti jÅ«sų juodraÅ¡Äio", + "Could not load original message" : "Nepavyko įkelti pradinio laiÅ¡ko", "Signature" : "ParaÅ¡as", "Signature …" : "ParaÅ¡as…", "Save signature" : "Ä®raÅ¡yti paraÅ¡Ä…", + "Import into {calendar}" : "Importuoti į {calendar}", + "Event imported into {calendar}" : "Ä®vykis importuotas į {calendar}", "Could not create event" : "Nepavyko sukurti įvykio", "Airplane" : "LÄ—ktuvas", "Reservation {id}" : "Rezervacija {id}", @@ -114,7 +123,9 @@ OC.L10N.register( "Host" : "Serveris", "Port" : "Prievadas", "SMTP" : "SMTP", + "Apply and create/update for all users" : "Taikyti ir sukurti/atnaujinti visiems naudotojams", "Account settings" : "Paskyros nustatymai", + "Change name" : "Keisti vardÄ…", "Mail server" : "PaÅ¡to serveris", "Speed up your Mail experience with these quick shortcuts." : "Padidinkite savo naÅ¡umÄ… naudodamiesi Å¡iomis nuorodomis.", "Compose new message" : "RaÅ¡yti naujÄ… laiÅ¡kÄ…", diff --git a/l10n/lt_LT.json b/l10n/lt_LT.json index eb8d125a8d5084c1acaaad803c57abd73bdf74ca..a50cb9967c52dcc4b643cef10ba89193d6a7112f 100644 --- a/l10n/lt_LT.json +++ b/l10n/lt_LT.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "Automatinis nustatymų aptikimas nepavyko. Ä®veskite duomenis rankiniu bÅ«du.", "Updating account failed: " : "Paskyros atnaujinimas nepavyko: ", "Creating account failed: " : "Paskyros sukÅ«rimas nepavyko: ", + "Embedded message %s" : "Ä®terptas laiÅ¡kas %s", "💌 A mail app for Nextcloud" : "💌 PaÅ¡to programÄ—lÄ—, skirta Nextcloud", "Auto" : "AutomatiÅ¡kai", "Name" : "Vardas", @@ -32,8 +33,12 @@ "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "IeÅ¡kote bÅ«do kaip Å¡ifruoti savo el. laiÅ¡kus? Ä®sidiekite Mailvelope narÅ¡yklÄ—s plÄ—tinį!", "From" : "Nuo", "Select account" : "Pasirinkti paskyrÄ…", + "To" : "Kam", "Contact or email address …" : "Adresatas ar el. paÅ¡to adresas…", + "+ CC/BCC" : "+ CC/BCC", + "CC" : "CC", "No contacts found." : "Adresatų nerasta.", + "BCC" : "BCC", "Subject" : "Tema", "Subject …" : "Tema…", "This message came from a noreply address so your reply will probably not be read." : "Å is laiÅ¡kas atÄ—jo iÅ¡ adreso, kuris nÄ—ra skirtas atsakyti, taigi jÅ«sų atsakymas, tikriausiai, nebus perskaitytas.", @@ -71,6 +76,7 @@ "Import into calendar" : "Importuoti į kalendorių", "Download attachment" : "Atsisiųsti priedÄ…", "Save to Files" : "Ä®raÅ¡yti į Failus", + "Embedded message" : "Ä®terptas laiÅ¡kas", "Choose a folder to store the attachment in" : "Pasirinkite aplankÄ…, kuriame iÅ¡saugoti priedÄ…", "Save all to Files" : "Ä®raÅ¡yti visus į Failus", "Choose a folder to store the attachments in" : "Pasirinkite aplankÄ…, kuriame laikyti priedus", @@ -90,9 +96,12 @@ "Add subfolder" : "PridÄ—ti poaplankį", "Loading …" : "Ä®keliama…", "Could not load your draft" : "Nepavyko įkelti jÅ«sų juodraÅ¡Äio", + "Could not load original message" : "Nepavyko įkelti pradinio laiÅ¡ko", "Signature" : "ParaÅ¡as", "Signature …" : "ParaÅ¡as…", "Save signature" : "Ä®raÅ¡yti paraÅ¡Ä…", + "Import into {calendar}" : "Importuoti į {calendar}", + "Event imported into {calendar}" : "Ä®vykis importuotas į {calendar}", "Could not create event" : "Nepavyko sukurti įvykio", "Airplane" : "LÄ—ktuvas", "Reservation {id}" : "Rezervacija {id}", @@ -112,7 +121,9 @@ "Host" : "Serveris", "Port" : "Prievadas", "SMTP" : "SMTP", + "Apply and create/update for all users" : "Taikyti ir sukurti/atnaujinti visiems naudotojams", "Account settings" : "Paskyros nustatymai", + "Change name" : "Keisti vardÄ…", "Mail server" : "PaÅ¡to serveris", "Speed up your Mail experience with these quick shortcuts." : "Padidinkite savo naÅ¡umÄ… naudodamiesi Å¡iomis nuorodomis.", "Compose new message" : "RaÅ¡yti naujÄ… laiÅ¡kÄ…", diff --git a/l10n/pl.js b/l10n/pl.js index 5b6c72a91f88828061d0590433f02fb7fcf5a7b1..7e09da199f037856c708564d30ffe564254ee833 100644 --- a/l10n/pl.js +++ b/l10n/pl.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "Automatyczne wykrywanie nie powiodÅ‚o siÄ™. Użyj trybu rÄ™cznego.", "Updating account failed: " : "Aktualizacja konta nie powiodÅ‚a siÄ™: ", "Creating account failed: " : "Utworzenie konta nie powiodÅ‚o siÄ™: ", + "Embedded message %s" : "Osadzona wiadomość %s", "💌 A mail app for Nextcloud" : "💌 Aplikacja poczty dla Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Aplikacja poczty dla Nextcloud **\n\n- **🚀 Integracja z innymi aplikacjami Nextcloud!** Obecnie kontakty, kalendarz i pliki - wiÄ™cej w przyszÅ‚oÅ›ci.\n- **📥 Wiele kont pocztowych!** Konto osobiste i firmowe? Bez problemu. Dodatkowo Å‚adna zunifikowana skrzynka odbiorcza. PoÅ‚Ä…cz dowolne konto IMAP.\n- **🔒 WysyÅ‚aj i odbieraj zaszyfrowane maile!** KorzystajÄ…c ze wspaniaÅ‚ego rozszerzenia przeglÄ…darki [Mailvelope](https://mailvelope.com).\n- **🙈 Nie wynajdujemy koÅ‚a na nowo!** Na podstawie wspaniaÅ‚ych bibliotek [Horde](http://horde.org) \n- **📬 Chcesz hostować wÅ‚asny serwer pocztowy?** Nie musimy ponownie go wdrażać, ponieważ możesz skonfigurować [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Automatyczne", @@ -31,12 +32,13 @@ OC.L10N.register( "Connect" : "PoÅ‚Ä…cz", "Add mail account" : "Dodaj konto e-mail", "Use Gravatar and favicon avatars" : "Używaj awatarów Gravatar i favicon", + "Register as application for mail links" : "Zarejestruj siÄ™ jako aplikacja do linków pocztowych", "Keyboard shortcuts" : "Skróty klawiaturowe", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Szukasz sposobu na szyfrowanie wiadomoÅ›ci e-mail? Zainstaluj dla przeglÄ…darki rozszerzenie Mailvelope!", "From" : "Od", "Select account" : "Wybierz konto", "To" : "Do", - "Contact or email address …" : "Kontakt lub adres email ...", + "Contact or email address …" : "Kontakt lub adres e-mail...", "+ CC/BCC" : "+ DW/UDW", "CC" : "DW", "No contacts found." : "Nie znaleziono kontaktów.", @@ -81,6 +83,7 @@ OC.L10N.register( "Import into calendar" : "Importuj do kalendarza", "Download attachment" : "Pobierz zaÅ‚Ä…cznik", "Save to Files" : "Zapisz do Plików", + "Embedded message" : "Osadzona wiadomość", "Choose a folder to store the attachment in" : "Wybierz katalog, w którym chcesz zapisać zaÅ‚Ä…cznik", "Save all to Files" : "Zapisz wszystko do Plików", "Choose a folder to store the attachments in" : "Wybierz katalog do przechowywania zaÅ‚Ä…czników", diff --git a/l10n/pl.json b/l10n/pl.json index 91846838e5217f036c8786629b21d071a46ba9af..e3580016d0050e0ec2d250791db634ba25993163 100644 --- a/l10n/pl.json +++ b/l10n/pl.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "Automatyczne wykrywanie nie powiodÅ‚o siÄ™. Użyj trybu rÄ™cznego.", "Updating account failed: " : "Aktualizacja konta nie powiodÅ‚a siÄ™: ", "Creating account failed: " : "Utworzenie konta nie powiodÅ‚o siÄ™: ", + "Embedded message %s" : "Osadzona wiadomość %s", "💌 A mail app for Nextcloud" : "💌 Aplikacja poczty dla Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Aplikacja poczty dla Nextcloud **\n\n- **🚀 Integracja z innymi aplikacjami Nextcloud!** Obecnie kontakty, kalendarz i pliki - wiÄ™cej w przyszÅ‚oÅ›ci.\n- **📥 Wiele kont pocztowych!** Konto osobiste i firmowe? Bez problemu. Dodatkowo Å‚adna zunifikowana skrzynka odbiorcza. PoÅ‚Ä…cz dowolne konto IMAP.\n- **🔒 WysyÅ‚aj i odbieraj zaszyfrowane maile!** KorzystajÄ…c ze wspaniaÅ‚ego rozszerzenia przeglÄ…darki [Mailvelope](https://mailvelope.com).\n- **🙈 Nie wynajdujemy koÅ‚a na nowo!** Na podstawie wspaniaÅ‚ych bibliotek [Horde](http://horde.org) \n- **📬 Chcesz hostować wÅ‚asny serwer pocztowy?** Nie musimy ponownie go wdrażać, ponieważ możesz skonfigurować [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Automatyczne", @@ -29,12 +30,13 @@ "Connect" : "PoÅ‚Ä…cz", "Add mail account" : "Dodaj konto e-mail", "Use Gravatar and favicon avatars" : "Używaj awatarów Gravatar i favicon", + "Register as application for mail links" : "Zarejestruj siÄ™ jako aplikacja do linków pocztowych", "Keyboard shortcuts" : "Skróty klawiaturowe", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Szukasz sposobu na szyfrowanie wiadomoÅ›ci e-mail? Zainstaluj dla przeglÄ…darki rozszerzenie Mailvelope!", "From" : "Od", "Select account" : "Wybierz konto", "To" : "Do", - "Contact or email address …" : "Kontakt lub adres email ...", + "Contact or email address …" : "Kontakt lub adres e-mail...", "+ CC/BCC" : "+ DW/UDW", "CC" : "DW", "No contacts found." : "Nie znaleziono kontaktów.", @@ -79,6 +81,7 @@ "Import into calendar" : "Importuj do kalendarza", "Download attachment" : "Pobierz zaÅ‚Ä…cznik", "Save to Files" : "Zapisz do Plików", + "Embedded message" : "Osadzona wiadomość", "Choose a folder to store the attachment in" : "Wybierz katalog, w którym chcesz zapisać zaÅ‚Ä…cznik", "Save all to Files" : "Zapisz wszystko do Plików", "Choose a folder to store the attachments in" : "Wybierz katalog do przechowywania zaÅ‚Ä…czników", diff --git a/l10n/ru.js b/l10n/ru.js index 694863e67540cd546c1658b798175a005387b9fa..cb9ad6a83bb29c92b4acd2ca3853adcbd93ae50c 100644 --- a/l10n/ru.js +++ b/l10n/ru.js @@ -79,7 +79,7 @@ OC.L10N.register( "Save all to Files" : "Сохранить вÑе в файлы", "Choose a folder to store the attachments in" : "Выбрать папку Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹", "The images have been blocked to protect your privacy." : "Ð˜Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ заблокированы Ð´Ð»Ñ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ вашей чаÑтной жизни.", - "Show images from this\tsender" : "Показать ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого\tотправителÑ", + "Show images from this\tsender" : "Показать Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого\tотправителÑ", "New message" : "Создать Ñообщение", "Settings" : "ÐаÑтройки", "Edit account" : "Изменить учётную запиÑÑŒ", diff --git a/l10n/ru.json b/l10n/ru.json index 2458dcd4f3a2996f273893bebf6cbdd00d7ad7db..6738d10c2e94896b7c8fb849c1e03fba53f24b30 100644 --- a/l10n/ru.json +++ b/l10n/ru.json @@ -77,7 +77,7 @@ "Save all to Files" : "Сохранить вÑе в файлы", "Choose a folder to store the attachments in" : "Выбрать папку Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹", "The images have been blocked to protect your privacy." : "Ð˜Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ заблокированы Ð´Ð»Ñ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ вашей чаÑтной жизни.", - "Show images from this\tsender" : "Показать ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого\tотправителÑ", + "Show images from this\tsender" : "Показать Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого\tотправителÑ", "New message" : "Создать Ñообщение", "Settings" : "ÐаÑтройки", "Edit account" : "Изменить учётную запиÑÑŒ", diff --git a/l10n/sv.js b/l10n/sv.js index a4acc200831c23984f1e2d50d868ab47d84b5f37..52dda79184f4312b205089b29610fa3cf7a9d6d7 100644 --- a/l10n/sv.js +++ b/l10n/sv.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "Automatisk detektering misslyckades. Vänligen använd manuellt läge.", "Updating account failed: " : "Uppdatering av konto misslyckades:", "Creating account failed: " : "Misslyckades att skapa kontot:", + "Embedded message %s" : "Inbäddat meddelande %s", "💌 A mail app for Nextcloud" : "En e-post-app för Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 En e-postapp för Nextcloud**\n\n- **🚀 Integration med andra Nextcloud-appar!** För närvarande Kontakter, Kalender och Filer - mer att komma.\n- **📥 Flera e-postkonton!** Personligt och företagskonto? Inga problem, och en trevlig samlad inkorg. Anslut alla IMAP-konton.\n- **🔒 Skicka och ta emot krypterad e-post!** Använda det utmärkta [Mailvelope](https://mailvelope.com) webbläsartillägget.\n- **🙈 Vi Ã¥teruppfinner inte hjulet!** Baserat pÃ¥ de utmärkta [Horde] (http://horde.org) biblioteken.\n- **📬 Vill du vara värd för din egen e-postserver?** Vi behöver inte Ã¥terinföra detta eftersom du kan ställa in [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Auto", @@ -31,6 +32,7 @@ OC.L10N.register( "Connect" : "Anslut", "Add mail account" : "Lägg till e-postkonto", "Use Gravatar and favicon avatars" : "Använd Gravatar och favicon avatarer", + "Register as application for mail links" : "Registrera som app för e-postlänkar", "Keyboard shortcuts" : "Tangentbordsgenvägar", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Letar du efter ett sätt att kryptera dina e-postmeddelanden? Installera webbläsar-tillägget Mailvelope!", "From" : "FrÃ¥n", @@ -81,6 +83,7 @@ OC.L10N.register( "Import into calendar" : "Importera till kalender", "Download attachment" : "Hämta bilaga", "Save to Files" : "Spara fil till dina filer", + "Embedded message" : "Inbäddat meddelande", "Choose a folder to store the attachment in" : "Välj en mapp att spara den bifogade filen i", "Save all to Files" : "Spara allt till dina filer", "Choose a folder to store the attachments in" : "Välj en mapp att spara bifogade filer i", @@ -108,6 +111,15 @@ OC.L10N.register( "A signature is added to the text of new messages and replies." : "En signatur läggs till i texten för nya meddelanden och svar.", "Signature …" : "Signatur …", "Save signature" : "Spara signatur", + "Import into {calendar}" : "Importera till {calendar}", + "Event imported into {calendar}" : "Händelse importerad till {calendar}", + "Could not create event" : "Kunde inte skapa händelse", + "Airplane" : "Flygplan", + "Reservation {id}" : "Bokning {id}", + "Flight {flightNr} from {depAirport} to {arrAirport}" : "Flyg {flightNr} frÃ¥n {depAirport} till {arrAirport}", + "Train" : "TÃ¥g", + "{trainNr} from {depStation} to {arrStation}" : "{trainNr} frÃ¥n {depStation} till {arrStation}", + "Train from {depStation} to {arrStation}" : "TÃ¥g frÃ¥n {depStation} till {arrStation}", "Mail app" : "Mail-app", "The mail app allows users to read mails on their IMAP accounts." : "Mail-appen tillÃ¥ter användare att läsa e-post pÃ¥ sina IMAP-konton.", "Email: {email}" : "E-post: {email}", @@ -137,6 +149,7 @@ OC.L10N.register( "Refresh" : "Uppdatera", "Connect your mail account" : "Anslut ditt e-postkonto", "Unexpected error during account creation" : "Oväntat fel under skapande av konto", + "Itinerary for {type} is not supported yet" : "Resplan för {type} stöds inte än", "{from}\n{subject}" : "{frÃ¥n}\n{ämne}", "_%n new message \nfrom {from}_::_%n new messages \nfrom {from}_" : ["%n nytt meddelande \nfrÃ¥n {from}","%n nya meddelanden \nfrÃ¥n {from}"], "Nextcloud Mail" : "Nextcloud Mail", diff --git a/l10n/sv.json b/l10n/sv.json index 9c0f4d947c4111d0c5e3a8be861354f7a874eb16..f0a41df59102ee48f78f11a4615bde03a2e5099b 100644 --- a/l10n/sv.json +++ b/l10n/sv.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "Automatisk detektering misslyckades. Vänligen använd manuellt läge.", "Updating account failed: " : "Uppdatering av konto misslyckades:", "Creating account failed: " : "Misslyckades att skapa kontot:", + "Embedded message %s" : "Inbäddat meddelande %s", "💌 A mail app for Nextcloud" : "En e-post-app för Nextcloud", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 En e-postapp för Nextcloud**\n\n- **🚀 Integration med andra Nextcloud-appar!** För närvarande Kontakter, Kalender och Filer - mer att komma.\n- **📥 Flera e-postkonton!** Personligt och företagskonto? Inga problem, och en trevlig samlad inkorg. Anslut alla IMAP-konton.\n- **🔒 Skicka och ta emot krypterad e-post!** Använda det utmärkta [Mailvelope](https://mailvelope.com) webbläsartillägget.\n- **🙈 Vi Ã¥teruppfinner inte hjulet!** Baserat pÃ¥ de utmärkta [Horde] (http://horde.org) biblioteken.\n- **📬 Vill du vara värd för din egen e-postserver?** Vi behöver inte Ã¥terinföra detta eftersom du kan ställa in [Mail-in-a-Box](https://mailinabox.email)!", "Auto" : "Auto", @@ -29,6 +30,7 @@ "Connect" : "Anslut", "Add mail account" : "Lägg till e-postkonto", "Use Gravatar and favicon avatars" : "Använd Gravatar och favicon avatarer", + "Register as application for mail links" : "Registrera som app för e-postlänkar", "Keyboard shortcuts" : "Tangentbordsgenvägar", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "Letar du efter ett sätt att kryptera dina e-postmeddelanden? Installera webbläsar-tillägget Mailvelope!", "From" : "FrÃ¥n", @@ -79,6 +81,7 @@ "Import into calendar" : "Importera till kalender", "Download attachment" : "Hämta bilaga", "Save to Files" : "Spara fil till dina filer", + "Embedded message" : "Inbäddat meddelande", "Choose a folder to store the attachment in" : "Välj en mapp att spara den bifogade filen i", "Save all to Files" : "Spara allt till dina filer", "Choose a folder to store the attachments in" : "Välj en mapp att spara bifogade filer i", @@ -106,6 +109,15 @@ "A signature is added to the text of new messages and replies." : "En signatur läggs till i texten för nya meddelanden och svar.", "Signature …" : "Signatur …", "Save signature" : "Spara signatur", + "Import into {calendar}" : "Importera till {calendar}", + "Event imported into {calendar}" : "Händelse importerad till {calendar}", + "Could not create event" : "Kunde inte skapa händelse", + "Airplane" : "Flygplan", + "Reservation {id}" : "Bokning {id}", + "Flight {flightNr} from {depAirport} to {arrAirport}" : "Flyg {flightNr} frÃ¥n {depAirport} till {arrAirport}", + "Train" : "TÃ¥g", + "{trainNr} from {depStation} to {arrStation}" : "{trainNr} frÃ¥n {depStation} till {arrStation}", + "Train from {depStation} to {arrStation}" : "TÃ¥g frÃ¥n {depStation} till {arrStation}", "Mail app" : "Mail-app", "The mail app allows users to read mails on their IMAP accounts." : "Mail-appen tillÃ¥ter användare att läsa e-post pÃ¥ sina IMAP-konton.", "Email: {email}" : "E-post: {email}", @@ -135,6 +147,7 @@ "Refresh" : "Uppdatera", "Connect your mail account" : "Anslut ditt e-postkonto", "Unexpected error during account creation" : "Oväntat fel under skapande av konto", + "Itinerary for {type} is not supported yet" : "Resplan för {type} stöds inte än", "{from}\n{subject}" : "{frÃ¥n}\n{ämne}", "_%n new message \nfrom {from}_::_%n new messages \nfrom {from}_" : ["%n nytt meddelande \nfrÃ¥n {from}","%n nya meddelanden \nfrÃ¥n {from}"], "Nextcloud Mail" : "Nextcloud Mail", diff --git a/l10n/zh_CN.js b/l10n/zh_CN.js index 4393484558fa3abd370132e9267f7880eaf2d2d3..ec6e1d55ba71b09b343998c2d0deaa8766a0782a 100644 --- a/l10n/zh_CN.js +++ b/l10n/zh_CN.js @@ -5,6 +5,7 @@ OC.L10N.register( "Auto detect failed. Please use manual mode." : "自动检测失败,请使用手动模å¼ã€‚", "Updating account failed: " : "æ›´æ–°è´¦å·å¤±è´¥ï¼š", "Creating account failed: " : "创建账å·å¤±è´¥ï¼š", + "Embedded message %s" : "嵌入å¼æ¶ˆæ¯ %s", "💌 A mail app for Nextcloud" : "💌 Nextcloud 上的一款邮件应用", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Nextcloud 上的一款邮件应用**\n\n- **🚀 与其他 Nextcloud 应用集æˆï¼** 当å‰å·²é›†æˆè”系人ã€æ—¥åŽ†å’Œæ–‡ä»¶åº”用 —— åŽç»è¿˜æœ‰æ›´å¤šã€‚\n- **📥 多个邮箱账å·ï¼** 个人和公å¸è´¦å·ï¼Ÿæ²¡é—®é¢˜ï¼Œè¿˜æœ‰å¥½ç”¨çš„统一收件箱。å¯è¿žæŽ¥ä»»ä½• IMAP è´¦å·ã€‚\n- **🔒 收å‘åŠ å¯†é‚®ä»¶ï¼** 使用超棒的 [Mailvelope](https://mailvelope.com) æµè§ˆå™¨æ‰©å±•ã€‚\n- **🙈 我们没有é‡å¤é€ è½®åï¼** 基于超棒的 [Horde](http://horde.org) 软件库。\n- **📬 想托管您自己的邮件æœåŠ¡å™¨ï¼Ÿ** 我们ä¸éœ€è¦é‡æ–°å®žçŽ°è¿™ä¸ªåŠŸèƒ½ï¼Œå› ä¸ºä½ ä»¬å¯ä»¥æ建 [Mail-in-a-Box](https://mailinabox.email)ï¼", "Auto" : "自动", @@ -31,6 +32,7 @@ OC.L10N.register( "Connect" : "连接", "Add mail account" : "æ·»åŠ é‚®ä»¶è´¦å·", "Use Gravatar and favicon avatars" : "使用 Gravatar å’Œ favicon 形象", + "Register as application for mail links" : "注册为邮件链接应用", "Keyboard shortcuts" : "键盘快æ·æ–¹å¼", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "åœ¨å¯»æ‰¾åŠ å¯†æ‚¨é‚®ä»¶çš„æ–¹æ³•å—?安装 Mailvelope æµè§ˆå™¨æ‰©å±•ï¼", "From" : "å‘件人", @@ -81,7 +83,8 @@ OC.L10N.register( "Import into calendar" : "导入到日历", "Download attachment" : "下载附件", "Save to Files" : "ä¿å˜åˆ°â€œæ–‡ä»¶â€", - "Choose a folder to store the attachment in" : "选择附件ä¿å˜çš„文件夹", + "Embedded message" : "嵌入å¼æ¶ˆæ¯", + "Choose a folder to store the attachment in" : "选择一个文件夹æ¥å˜å‚¨é™„件", "Save all to Files" : "全部ä¿å˜åˆ°æ–‡ä»¶", "Choose a folder to store the attachments in" : "选择附件ä¿å˜çš„目录", "The images have been blocked to protect your privacy." : "图片已被ç¦ç”¨ï¼Œä»¥ä¿æŠ¤æ‚¨çš„éšç§ã€‚", diff --git a/l10n/zh_CN.json b/l10n/zh_CN.json index 404ff5234df5923daa4d8b2b459430ca5867f871..7fc3c8d9128b0a37ab532a5e3807c7d04427cf99 100644 --- a/l10n/zh_CN.json +++ b/l10n/zh_CN.json @@ -3,6 +3,7 @@ "Auto detect failed. Please use manual mode." : "自动检测失败,请使用手动模å¼ã€‚", "Updating account failed: " : "æ›´æ–°è´¦å·å¤±è´¥ï¼š", "Creating account failed: " : "创建账å·å¤±è´¥ï¼š", + "Embedded message %s" : "嵌入å¼æ¶ˆæ¯ %s", "💌 A mail app for Nextcloud" : "💌 Nextcloud 上的一款邮件应用", "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](http://horde.org) libraries.\n- **📬 Want to host your own mail server?** We don’t have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!" : "**💌 Nextcloud 上的一款邮件应用**\n\n- **🚀 与其他 Nextcloud 应用集æˆï¼** 当å‰å·²é›†æˆè”系人ã€æ—¥åŽ†å’Œæ–‡ä»¶åº”用 —— åŽç»è¿˜æœ‰æ›´å¤šã€‚\n- **📥 多个邮箱账å·ï¼** 个人和公å¸è´¦å·ï¼Ÿæ²¡é—®é¢˜ï¼Œè¿˜æœ‰å¥½ç”¨çš„统一收件箱。å¯è¿žæŽ¥ä»»ä½• IMAP è´¦å·ã€‚\n- **🔒 收å‘åŠ å¯†é‚®ä»¶ï¼** 使用超棒的 [Mailvelope](https://mailvelope.com) æµè§ˆå™¨æ‰©å±•ã€‚\n- **🙈 我们没有é‡å¤é€ è½®åï¼** 基于超棒的 [Horde](http://horde.org) 软件库。\n- **📬 想托管您自己的邮件æœåŠ¡å™¨ï¼Ÿ** 我们ä¸éœ€è¦é‡æ–°å®žçŽ°è¿™ä¸ªåŠŸèƒ½ï¼Œå› ä¸ºä½ ä»¬å¯ä»¥æ建 [Mail-in-a-Box](https://mailinabox.email)ï¼", "Auto" : "自动", @@ -29,6 +30,7 @@ "Connect" : "连接", "Add mail account" : "æ·»åŠ é‚®ä»¶è´¦å·", "Use Gravatar and favicon avatars" : "使用 Gravatar å’Œ favicon 形象", + "Register as application for mail links" : "注册为邮件链接应用", "Keyboard shortcuts" : "键盘快æ·æ–¹å¼", "Looking for a way to encrypt your emails? Install the Mailvelope browser extension!" : "åœ¨å¯»æ‰¾åŠ å¯†æ‚¨é‚®ä»¶çš„æ–¹æ³•å—?安装 Mailvelope æµè§ˆå™¨æ‰©å±•ï¼", "From" : "å‘件人", @@ -79,7 +81,8 @@ "Import into calendar" : "导入到日历", "Download attachment" : "下载附件", "Save to Files" : "ä¿å˜åˆ°â€œæ–‡ä»¶â€", - "Choose a folder to store the attachment in" : "选择附件ä¿å˜çš„文件夹", + "Embedded message" : "嵌入å¼æ¶ˆæ¯", + "Choose a folder to store the attachment in" : "选择一个文件夹æ¥å˜å‚¨é™„件", "Save all to Files" : "全部ä¿å˜åˆ°æ–‡ä»¶", "Choose a folder to store the attachments in" : "选择附件ä¿å˜çš„目录", "The images have been blocked to protect your privacy." : "图片已被ç¦ç”¨ï¼Œä»¥ä¿æŠ¤æ‚¨çš„éšç§ã€‚", diff --git a/lib/Attachment.php b/lib/Attachment.php index d80a46f3e30dd17b2d9a26e3a9821d12e40ed1ac..616a78f3fef7d8b2927812b2cca6d6b82f83466b 100644 --- a/lib/Attachment.php +++ b/lib/Attachment.php @@ -114,7 +114,7 @@ class Attachment { } /** - * @return string + * @return string|null */ public function getName() { return $this->mimePart->getName(); diff --git a/lib/Controller/MessagesController.php b/lib/Controller/MessagesController.php index 22b5d7b0358c712d1fbe11d721da1d92d5cafe32..804022b966cf0ab4129d28ef1f38703de9c83681 100755 --- a/lib/Controller/MessagesController.php +++ b/lib/Controller/MessagesController.php @@ -292,8 +292,21 @@ class MessagesController extends Controller { $attachment = $mailBox->getAttachment($messageId, $attachmentId); + // Body party and embedded messages do not have a name + if ($attachment->getName() === null) { + return new AttachmentDownloadResponse( + $attachment->getContents(), + $this->l10n->t('Embedded message %s', [ + $attachmentId, + ]) . '.eml', + $attachment->getType() + ); + } return new AttachmentDownloadResponse( - $attachment->getContents(), $attachment->getName(), $attachment->getType()); + $attachment->getContents(), + $attachment->getName(), + $attachment->getType() + ); } /** @@ -452,7 +465,7 @@ class MessagesController extends Controller { * @return boolean */ private function attachmentIsCalendarEvent(array $attachment): bool { - return in_array($attachment['mime'], ['text/calendar', 'application/ics'], true); + return in_array($attachment['mime'], ['text/calendar', 'application/ics'], true); } } diff --git a/lib/Model/IMAPMessage.php b/lib/Model/IMAPMessage.php index 30301ebeef76abb567cc624b0772a79ba89a8c5d..714342d6a2e6084f7d5bb4fc54e88dc82f203fd6 100644 --- a/lib/Model/IMAPMessage.php +++ b/lib/Model/IMAPMessage.php @@ -263,21 +263,20 @@ class IMAPMessage implements IMessage, JsonSerializable { */ private function hasAttachments($part) { foreach ($part->getParts() as $p) { - /** - * @var Horde_Mime_Part $p - */ + /** @var Horde_Mime_Part $p */ $filename = $p->getName(); - if (!is_null($p->getContentId())) { + if ($p->getContentId() !== null) { continue; } - if (isset($filename)) { + // TODO: show embedded messages and don't treat them as attachments + if ($p->getType() === 'message/rfc822' || isset($filename)) { // do not show technical attachments if (in_array($filename, $this->attachmentsToIgnore)) { continue; - } else { - return true; } + + return true; } if ($this->hasAttachments($p)) { return true; @@ -336,7 +335,8 @@ class IMAPMessage implements IMessage, JsonSerializable { // Any part with a filename is an attachment, // so an attached text file (type 0) is not mistaken as the message. $filename = $p->getName(); - if (isset($filename)) { + // TODO: show embedded messages and don't treat them as attachments + if ($p->getType() === 'message/rfc822' || isset($filename)) { if (in_array($filename, $this->attachmentsToIgnore)) { return; } diff --git a/package-lock.json b/package-lock.json index a5b74dcb726172191dae15b94ec65a6ed678fd5f..ea9105f5fa6466bdcaef19d4f56f90d142ba328d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nextcloud-mail", - "version": "1.0.0", + "version": "1.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -3557,9 +3557,9 @@ } }, "@sinonjs/samsam": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-4.2.1.tgz", - "integrity": "sha512-7+5S4C4wpug5pzHS+z/63+XUwsH7dtyYELDafoT1QnfruFh7eFjlDWwZXltUB0GLk6y5eMeAt34Bjx8wJ4KfSA==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-4.2.2.tgz", + "integrity": "sha512-z9o4LZUzSD9Hl22zV38aXNykgFeVj8acqfFabCY6FY83n/6s/XwNJyYYldz6/9lBJanpno9h+oL6HTISkviweA==", "dev": true, "requires": { "@sinonjs/commons": "^1.6.0", @@ -3724,9 +3724,9 @@ } }, "@vue/test-utils": { - "version": "1.0.0-beta.30", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.30.tgz", - "integrity": "sha512-Wyvcha9fNk8+kzTDwb3xWGjPkCPzHSYSwKP6MplrPTG/auhqoad7JqUEceZLc6u7AU4km2pPQ8/m9s0RgCZ0NA==", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.31.tgz", + "integrity": "sha512-IlhSx5hyEVnbvDZ3P98R1jNmy88QAd/y66Upn4EcvxSD5D4hwOutl3dIdfmSTSXs4b9DIMDnEVjX7t00cvOnvg==", "dev": true, "requires": { "dom-event-types": "^1.0.0", @@ -4116,12 +4116,6 @@ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -5819,9 +5813,9 @@ "dev": true }, "cssstyle": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.0.0.tgz", - "integrity": "sha512-QXSAu2WBsSRXCPjvI43Y40m6fMevvyRm8JVAuF9ksQz5jha4pWP1wpaK7Yu5oLFc6+XAY+hj8YhefyXcBB53gg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.2.0.tgz", + "integrity": "sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA==", "dev": true, "requires": { "cssom": "~0.3.6" @@ -8756,9 +8750,9 @@ "dev": true }, "js-beautify": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.2.tgz", - "integrity": "sha512-ZtBYyNUYJIsBWERnQP0rPN9KjkrDfJcMjuVGcvXOUJrD1zmOGwhRwQ4msG+HJ+Ni/FA7+sRQEMYVzdTQDvnzvQ==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.3.tgz", + "integrity": "sha512-wfk/IAWobz1TfApSdivH5PJ0miIHgDoYb1ugSqHcODPmaYu46rYe5FVuIEkhjg8IQiv6rDNPyhsqbsohI/C2vQ==", "dev": true, "requires": { "config-chain": "^1.1.12", @@ -8801,15 +8795,14 @@ "dev": true }, "jsdom": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.0.0.tgz", - "integrity": "sha512-zYGVgSyf/Y/e3fOJICIyEgtTMV3lyYlsokXa7U0GWMzYKT2kN6iyBQLGbuLD+0/OLC2bnGGB4DuWtZSG2o7Gqw==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.0.1.tgz", + "integrity": "sha512-wKJe/APzq+ak9i+2ybWE20lDIhF9AkGKSZf8UsjPN39acatFB6oA7K397kQvHVikds0yQono2h6J7UjbPtPOWw==", "dev": true, "requires": { "abab": "^2.0.3", "acorn": "^7.1.0", "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", "cssom": "^0.4.4", "cssstyle": "^2.0.0", "data-urls": "^2.0.0", @@ -8819,7 +8812,6 @@ "html-encoding-sniffer": "^2.0.0", "nwsapi": "^2.2.0", "parse5": "5.1.1", - "pn": "^1.1.0", "request": "^2.88.0", "request-promise-native": "^1.0.8", "saxes": "^4.0.2", @@ -10569,21 +10561,15 @@ } } }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, "pofile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pofile/-/pofile-1.1.0.tgz", "integrity": "sha512-6XYcNkXWGiJ2CVXogTP7uJ6ZXQCldYLZc16wgRp8tqRaBTTyIfF+TUT3EQJPXTLAT7OTPpTAoaFdoXKfaTRU1w==" }, "popper.js": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.15.0.tgz", - "integrity": "sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA==" + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" }, "posix-character-classes": { "version": "0.1.1", @@ -12520,24 +12506,24 @@ } }, "sinon": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-8.0.4.tgz", - "integrity": "sha512-cFsmgmvsgFb87e7SV7IcekogITlHX2KmlplyI9Pda0FH1Z8Ms/kWbpLs25Idp0m6ZJ3HEEjhaYYXbcTtWWUn4w==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-8.1.1.tgz", + "integrity": "sha512-E+tWr3acRdoe1nXbHMu86SSqA1WGM7Yw3jZRLvlCMnXwTHP8lgFFVn5BnKnF26uc5SfZ3D7pA9sN7S3Y2jG4Ew==", "dev": true, "requires": { "@sinonjs/commons": "^1.7.0", "@sinonjs/formatio": "^4.0.1", - "@sinonjs/samsam": "^4.2.1", - "diff": "^4.0.1", + "@sinonjs/samsam": "^4.2.2", + "diff": "^4.0.2", "lolex": "^5.1.2", "nise": "^3.0.1", "supports-color": "^7.1.0" }, "dependencies": { "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, "has-flag": { @@ -13672,12 +13658,12 @@ "integrity": "sha512-SHmKtZV2NsqJ0vkC85wAqswo2CnjRfoKbbyilA27U18G55aKzhqGsW8ve07cCeGnRzewh0lDKztD2Txh4IQ7sA==" }, "v-tooltip": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/v-tooltip/-/v-tooltip-2.0.2.tgz", - "integrity": "sha512-xQ+qzOFfywkLdjHknRPgMMupQNS8yJtf9Utd5Dxiu/0n4HtrxqsgDtN2MLZ0LKbburtSAQgyypuE/snM8bBZhw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v-tooltip/-/v-tooltip-2.0.3.tgz", + "integrity": "sha512-KZZY3s+dcijzZmV2qoDH4rYmjMZ9YKGBVoUznZKQX0e3c2GjpJm3Sldzz8HHH2Ud87JqhZPB4+4gyKZ6m98cKQ==", "requires": { - "lodash": "^4.17.11", - "popper.js": "^1.15.0", + "lodash": "^4.17.15", + "popper.js": "^1.16.0", "vue-resize": "^0.4.5" } }, diff --git a/package.json b/package.json index fda9d8a114b5c4efe7657f1934717b427802a3a6..801a597d9702127b9b4b86638615a475970033b9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "nextcloud-mail", "description": "Nextcloud Mail", - "version": "1.0.0", + "version": "1.1.0", "author": "Christoph Wurst <christoph@winzerhof-wurst.at>", "license": "agpl", "private": true, @@ -51,7 +51,7 @@ "postcss-loader": "^3.0.0", "printscout": "2.0.3", "raw-loader": "^4.0.0", - "v-tooltip": "^2.0.2", + "v-tooltip": "^2.0.3", "vue": "^2.6.11", "vue-autosize": "^1.0.2", "vue-click-outside": "^1.0.7", @@ -75,7 +75,7 @@ "@babel/preset-env": "^7.8.3", "@nextcloud/browserslist-config": "^1.0.0", "@nextcloud/eslint-plugin": "^1.1.0", - "@vue/test-utils": "^1.0.0-beta.30", + "@vue/test-utils": "^1.0.0-beta.31", "babel-eslint": "^10.0.3", "babel-loader": "^8.0.6", "browserslist-config-nextcloud": "0.1.0", @@ -86,13 +86,13 @@ "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-vue": "^6.1.2", "file-loader": "^5.0.2", - "jsdom": "^16.0.0", + "jsdom": "^16.0.1", "jsdom-global": "^3.0.2", "mocha": "^6.2.2", "node-sass": "^4.13.1", "prettier": "1.19.1", "sass-loader": "^8.0.2", - "sinon": "^8.0.4", + "sinon": "^8.1.1", "url-loader": "^3.0.0", "vue-loader": "^15.8.3", "vue-server-renderer": "^2.6.11", diff --git a/src/ReplyBuilder.js b/src/ReplyBuilder.js index 8833a80fe92acc737223a8bf4b718aca0405b5bd..fe57b6335e3370a207ca489978f77ee6cfde6df7 100644 --- a/src/ReplyBuilder.js +++ b/src/ReplyBuilder.js @@ -75,27 +75,32 @@ export const buildRecipients = (envelope, ownAddress) => { let to = [] let cc = [] if (recipientType === RecipientType.To) { - // Send to everyone except yourself plus the original sender + // Send to everyone except yourself, plus the original sender if not ourself to = envelope.to.filter(isNotOwnAddress) - to = to.concat(envelope.from) + to = to.concat(envelope.from.filter(isNotOwnAddress)) // CC remains the same cc = envelope.cc } else if (recipientType === RecipientType.Cc) { - // Send to the same people plus the sender - to = envelope.to.concat(envelope.from) + // Send to the same people, plus the sender if not ourself + to = envelope.to.concat(envelope.from.filter(isNotOwnAddress)) // All CC values are being kept except the replying address cc = envelope.cc.filter(isNotOwnAddress) } else { - // Send to the same recipient and the sender -> answer all + // Send to the same recipient and the sender (if not ourself) -> answer all to = envelope.to - to = to.concat(envelope.from) + to = to.concat(envelope.from.filter(isNotOwnAddress)) // Keep CC values cc = envelope.cc } + // edge case: pure self-sent email + if (to.length == 0) { + to = envelope.from + } + return { to, from: replyingAddress ? [replyingAddress] : [], diff --git a/src/components/Composer.vue b/src/components/Composer.vue index eb01617bd345725906dae9eeb76a2476cc5be514..3738ec3e5e70d13e0815c5b5d6fad3f7fdceb4d2 100644 --- a/src/components/Composer.vue +++ b/src/components/Composer.vue @@ -14,6 +14,7 @@ :hide-selected="true" :custom-label="formatAliases" :placeholder="t('mail', 'Select account')" + :clear-on-select="false" @keyup="onInputChanged" /> </div> @@ -31,7 +32,9 @@ track-by="email" :multiple="true" :placeholder="t('mail', 'Contact or email address …')" + :clear-on-select="false" :show-no-options="false" + :preserve-search="true" @keyup="onInputChanged" @tag="onNewToAddr" @search-change="onAutocomplete" @@ -53,7 +56,9 @@ track-by="email" :multiple="true" :placeholder="t('mail', '')" + :clear-on-select="false" :show-no-options="false" + :preserve-search="true" @keyup="onInputChanged" @tag="onNewCcAddr" @search-change="onAutocomplete" @@ -75,6 +80,7 @@ :multiple="true" :placeholder="t('mail', '')" :show-no-options="false" + :preserve-search="true" @keyup="onInputChanged" @tag="onNewBccAddr" @search-change="onAutocomplete" diff --git a/src/components/MessageAttachment.vue b/src/components/MessageAttachment.vue index d720429a98c9de42900214dfcbfbbb74da9bdfcd..6b8a8719e592ee54dc1e74d7ab42f9854983599e 100644 --- a/src/components/MessageAttachment.vue +++ b/src/components/MessageAttachment.vue @@ -24,7 +24,7 @@ <img v-if="isImage" class="mail-attached-image" :src="url" /> <img class="attachment-icon" :src="mimeUrl" /> <span class="attachment-name" :title="label" - >{{ fileName }} + >{{ name }} <span class="attachment-size">({{ humanReadable(size) }})</span> </span> <button @@ -78,7 +78,7 @@ export default { }, fileName: { type: String, - required: true, + required: false, }, url: { type: String, @@ -88,6 +88,10 @@ export default { type: Number, required: true, }, + mime: { + type: String, + required: true, + }, mimeUrl: { type: String, required: true, @@ -110,7 +114,16 @@ export default { } }, computed: { + name() { + if (this.mime === 'message/rfc822') { + return t('mail', 'Embedded message') + } + return this.fileName + }, label() { + if (this.mime === 'message/rfc822') { + return t('mail', 'Embedded message') + ' (' + formatFileSize(this.size) + ')' + } return this.fileName + ' (' + formatFileSize(this.size) + ')' }, calendarMenuEntries() { diff --git a/src/components/MessageAttachments.vue b/src/components/MessageAttachments.vue index ae0abb87d3b5b1f57259fa904e9a0a40a8bd3dfc..5891848135cc21f3cb8e98193eddeb385283d8e3 100644 --- a/src/components/MessageAttachments.vue +++ b/src/components/MessageAttachments.vue @@ -31,6 +31,7 @@ :url="attachment.downloadUrl" :is-image="attachment.isImage" :is-calendar-event="attachment.isCalendarEvent" + :mime="attachment.mime" :mime-url="attachment.mimeUrl" /> </div> diff --git a/src/components/NewMessageDetail.vue b/src/components/NewMessageDetail.vue index db355730315e1e9cd5a9d8546f07d9bf853c9d43..0a5b405982316cca7f6d0118e6557972a4ae1b9b 100644 --- a/src/components/NewMessageDetail.vue +++ b/src/components/NewMessageDetail.vue @@ -28,7 +28,13 @@ import AppContentDetails from '@nextcloud/vue/dist/Components/AppContentDetails' import Axios from '@nextcloud/axios' import {generateUrl} from '@nextcloud/router' -import {buildForwardSubject, buildHtmlReplyBody, buildReplyBody, buildReplySubject} from '../ReplyBuilder' +import { + buildForwardSubject, + buildHtmlReplyBody, + buildReplyBody, + buildReplySubject, + buildRecipients as buildReplyRecipients, +} from '../ReplyBuilder' import Composer from './Composer' import {getRandomMessageErrorMessage} from '../util/ErrorMessageFactory' import Error from './Error' @@ -71,22 +77,30 @@ export default { const message = this.original Logger.debug('forwarding or replying to message', {message}) - // message headers set for 'reply' actions by default - let subject = buildReplySubject(message.subject) - let msgTo = message.from - let msgCc = [] - if (this.$route.params.messageUid === 'replyAll') { - msgCc = message.to.concat(message.cc) - } else if (this.$route.params.messageUid !== 'reply') { + let subject = '' + let replyRecipients = {} + if (this.$route.params.messageUid === 'reply') { + Logger.debug('simple reply') + subject = buildReplySubject(message.subject) + replyRecipients.to = message.from + } else if (this.$route.params.messageUid === 'replyAll') { + Logger.debug('replying to all') + Logger.debug('replying to all: original', {original: this.original}) + subject = buildReplySubject(message.subject) + const account = this.$store.getters.getAccount(message.accountId) + replyRecipients = buildReplyRecipients(message, { + email: account.emailAddress, + label: account.name, + }) + } else { // forward subject = buildForwardSubject(message.subject) - msgTo = [] } return { accountId: message.accountId, - to: msgTo, - cc: msgCc, + to: replyRecipients.to, + cc: replyRecipients.cc, subject: subject, body: this.getForwardReplyBody(), } diff --git a/src/tests/unit/ReplyBuilder.spec.js b/src/tests/unit/ReplyBuilder.spec.js index df1419bcbc6dbe99635d583acb96b4eb3f1ad29d..6905e53e26a57d42e777d16fb4b507dd874fb002 100644 --- a/src/tests/unit/ReplyBuilder.spec.js +++ b/src/tests/unit/ReplyBuilder.spec.js @@ -181,6 +181,50 @@ describe('ReplyBuilder', () => { assertSameAddressList(reply.cc, []) }) + it('removes original sender for recipients list when same as replier (self-sent email)', () => { + const a = createAddress('a@domain.tld') + const b = createAddress('b@domain.tld') + envelope.from = [a] + envelope.to = [a, b] + envelope.cc = [] + + var reply = buildRecipients(envelope, a) + + assertSameAddressList(reply.from, [a]) + assertSameAddressList(reply.to, [b]) + assertSameAddressList(reply.cc, []) + }) + + it('removes original sender for recipients list when same as replier (self-sent email) with many CC', () => { + const a = createAddress('a@domain.tld') + const b = createAddress('b@domain.tld') + const c = createAddress('c@domain.tld') + const d = createAddress('d@domain.tld') + const e = createAddress('e@domain.tld') + envelope.from = [a] + envelope.to = [b, c] + envelope.cc = [a, d, e] + + const reply = buildRecipients(envelope, a) + + assertSameAddressList(reply.from, [a]) + assertSameAddressList(reply.to, [b, c]) + assertSameAddressList(reply.cc, [d, e]) + }) + + it('pure self-sent email', () => { + const a = createAddress('a@domain.tld') + envelope.from = [a] + envelope.to = [a] + envelope.cc = [] + + var reply = buildRecipients(envelope, a) + + assertSameAddressList(reply.from, [a]) + assertSameAddressList(reply.to, [a]) + assertSameAddressList(reply.cc, []) + }) + it('adds re: to a reply subject', () => { const orig = 'Hello' diff --git a/tests/Unit/Controller/MessagesControllerTest.php b/tests/Unit/Controller/MessagesControllerTest.php index fee9d4c36efff6ce39942b3ecae827ecfd9c5149..1178a03c46d631675f3cafd77f0e75bbdeb38c99 100644 --- a/tests/Unit/Controller/MessagesControllerTest.php +++ b/tests/Unit/Controller/MessagesControllerTest.php @@ -235,7 +235,7 @@ class MessagesControllerTest extends TestCase { $this->attachment->expects($this->once()) ->method('getContents') ->will($this->returnValue($contents)); - $this->attachment->expects($this->once()) + $this->attachment->expects($this->any()) ->method('getName') ->will($this->returnValue($name)); $this->attachment->expects($this->once())