Compare commits

...

176 Commits

Author SHA1 Message Date
Felix Stupp b53d1c83ce
[bnet] Added plugins
- postfixadmin-user-identities
- swipe
4 years ago
Thomas Bruederli 5b53161198 Bump version to 1.4.6 4 years ago
Aleksander Machniak 9905b5adaa Installer: Fix regression in SMTP test section (#7417) 4 years ago
Thomas Bruederli 9898599d3e Bump version to 1.4.5 4 years ago
Aleksander Machniak ccaccae665 Security: Fix cross-site scripting (XSS) via malicious XML attachment 4 years ago
Aleksander Machniak b37433b199 Security: Better fix for CVE-2020-12641 4 years ago
Aleksander Machniak 4beec65d40 Security: Fix XSS issue in template object 'username' (#7406) 4 years ago
Aleksander Machniak 20ae604b9f Security: Fix couple of XSS issues in Installer (#7406) 4 years ago
Aleksander Machniak 5e4195a042 Fix bug where PDF attachments marked as inline could have not been attached on mail forward (#7382) 4 years ago
Aleksander Machniak 31df958caf Elastic: Fix aspect ratio of a contact photo in mail preview (#7339) 4 years ago
Aleksander Machniak bebc9ec1be Fix error when user-configured skin does not exist anymore (#7271)
We fallback to the system skin not the default one.
4 years ago
Aleksander Machniak c25616b3b5 Fix PHP warning: count(): Parameter must be an array or an object... in ID command handler (#7392) 4 years ago
Aleksander Machniak eba6fb20cf Fix typo 4 years ago
Aleksander Machniak 99b20bd82a Update changelog
[ci skip]
4 years ago
Christopher Gurnee 973217d960 Show Encrypt button w/Mailvelope, even if disabled
Before the Elastic skin would keep it hidden until enabled, closes #7353
4 years ago
Aleksander Machniak 9362bb9459 Fix changelog
[ci skip]
4 years ago
Christopher Gurnee a5c6bfb678 Let Mailvelope use sender's address to find pubkeys to check signatures 4 years ago
Christopher Gurnee 79e6042276 Add missing \'s to regexes in rcube_check_email() 4 years ago
Aleksander Machniak 90afff1929 Update changelog
[ci skip]
4 years ago
vaaguirre 9d0d072f36 Fix issue with Modoboa driver for password plugin (#7372)
Was having trouble with updating a password with the Modoboa API (1.9.1). API responded with an error message but 200 HTTP status code, so roundcube displayed a success message even though the password wasn't being updated. Added a line to include a required field in the update request.
4 years ago
Aleksander Machniak 656c706270 Fix default keyservers (use keys.openpgp.org), add note about CORS (#7373, #7367) 4 years ago
Aleksander Machniak 26d5fb1b55 Fix missing flag indication on collapsed thread in Larry and Elastic (#7366) 4 years ago
Aleksander Machniak dff0ee3e2a Update changelog
[ci skip]
4 years ago
johndoh f494cd22ce Markasjunk: Fix regression in jsevent driver #7361 (#7365) 4 years ago
Aleksander Machniak 2a250d7bc3 Fix so the database setup description is compatible with MySQL 8 (#7340)
[ci skip]
4 years ago
Aleksander Machniak 62a0936ecc Clarify des_key length requirement (#7350)
[ci skip]
4 years ago
Aleksander Machniak d15d929167 Fix bug in extracting required plugins from composer.json that led to spurious error in log (#7364) 4 years ago
Thomas Bruederli aadb13e25f Bump version to 1.4.4 4 years ago
Aleksander Machniak 9bbda422ff Fix CSRF bypass that could be used to log out an authenticated user (#7302) 4 years ago
Aleksander Machniak 814eadb699 Fix local file inclusion (and code execution) via crafted 'plugins' option 4 years ago
Aleksander Machniak fcfb099477 Fix remote code execution via crafted 'im_convert_path' or 'im_identify_path' settings 4 years ago
Aleksander Machniak 1c239c90d9 Fix XSS issue in handling of CDATA in HTML messages 4 years ago
Aleksander Machniak 301670f081 Fix so Print button for PDF attachments works on Firefox >= 75 (#5125) 4 years ago
Aleksander Machniak be68e3f679 Fix typo 4 years ago
Aleksander Machniak 37acfc2e03 Fix performance issue of parsing big HTML messages by disabling HTML5 parser for these (#7331) 4 years ago
Aleksander Machniak 080b0afd95 Make install-jsdeps.sh script working without the 'file' program installed (#7325) 4 years ago
Aleksander Machniak ecfee7470c Fix bug where some message/rfc822 parts could not be attached on forward (#7323) 4 years ago
Aleksander Machniak 343da344e0 Fix characters encoding in group rename input after group creation/rename (#7330) 4 years ago
Aleksander Machniak 0d43c51ce1 Mailvelope: Fix bug where recipients with name were not handled properly in mail compose (#7312) 4 years ago
Aleksander Machniak 808f374f42 Revert "Fix bug where session was destoryed with window close (#7251)"
This reverts commit 32fac136db.
4 years ago
Aleksander Machniak 15e924fd64 Fix bug where a special folder couldn't be created if a special-use flag is not supported (#7147) 4 years ago
Aleksander Machniak c99e093f8a Fix so imap error message is displayed to the user on folder create/update (#7245) 4 years ago
Aleksander Machniak 43f90d31c8 Fix bug where session was destoryed with window close (#7251) 4 years ago
Aleksander Machniak 5666ae00a8 Elastic: Restrict logo size in print view (#7275) 4 years ago
PhilW 2ba62d0c98 zipdownload: enable menu options when menu is opened 4 years ago
Aleksander Machniak 7c081d7d72 Update changelog 4 years ago
Aleksander Machniak a74a9e5fc2 Fix marking as spam/ham on moving messages with Move menu (#7189) 4 years ago
Aleksander Machniak cd73ca05d8 Fix PHP warning for real (#7206) 4 years ago
PhilW 1bc41d3a5f markasjunk: handle select all case (#7206) 4 years ago
Aleksander Machniak ae71f01b33 Elastic: Fix color of a folder with recent messages (#7281) 4 years ago
Aleksander Machniak 746ccb7fdf Fix literals handling again 4 years ago
Aleksander Machniak 59af9944ea Update changelog
[skip ci]
4 years ago
dessert1 2005b895be Fix handling keyservers configured with protocol prefix (#7295)
`|^[a-z]://|` matches only single-character protocol shortnames, to correctly exclude e.g. `hkps://` the expression should be `|^[a-z]+://|` instead.
4 years ago
Aleksander Machniak 734f97511a Fix bug where multiple images in a message were replaced by the first one on forward/reply/edit (#7293) 4 years ago
Aleksander Machniak ade470aac9 Support many string literals in a "line response", deduplicate code 4 years ago
Aleksander Machniak a71b33f568 Fix string literals handling in IMAP STATUS (and various other) responses (#7290) 4 years ago
Aleksander Machniak 518d1aea71 Fix internal cache use in rcube_imap::get_message()
Two folders, personal and shared, can contain the same UIDs, so
we should check UID and folder name when dealing with internally
cached message.
4 years ago
Aleksander Machniak 3a32a1e246 Fix cursor position after inserting a group to a recipient input using autocompletion (#7267)
... for larry and classic skins.
4 years ago
Aleksander Machniak 7793386683 Fix regression in testing database schema on MSSQL (#7227) 4 years ago
Aleksander Machniak edbcb03237 Fix so button label in Select image/media dialogs is "Close" not "Cancel" (#7246) 4 years ago
Aleksander Machniak 73e2b0584a Fix missing contact display name in QR Code data (#7257) 4 years ago
Aleksander Machniak f0aafa98ee Fix scroll-jump in MS Edge when using autoresizeable textarea (#7230) 4 years ago
Aleksander Machniak 5de09e9f21 Update changelog for #7261 4 years ago
Aleksander Machniak 81e55f8033 Elastic: Fix recipient input bug when using click to select a contact from autocomplete list (#7231) 4 years ago
Aleksander Machniak 1c5f83d41c Elastic: Fix text selection with Shift+PageUp and Shift+PageDown in plain text editor when using Chrome (#7230) 4 years ago
Aleksander Machniak 233beea354 Fix identity selection on reply when both sender and recipient addresses are included in identities (#7211) 4 years ago
Aleksander Machniak 88660cd465 Fix bug where original attachments with Content-Id were attached to the message on reply (#7122)
All Content-Disposition:inline parts that aren't used in the body are ignored on reply/forward/edit.
4 years ago
Thomas Bruederli 0c8b71059b Remove plugins/elastic4mobile submodule which was accidentally committed 4 years ago
Thomas Bruederli 273707f378 Bump version to 1.4.3 4 years ago
Aleksander Machniak 322ab30fb9 Update changelog 4 years ago
Paul J. Dorn 9cb796ee2b Fix using unix:///path/to/socket.file in memcached driver (#7210)
off by one when stripping the memcache (sans d) compatible AF_UNIX prefix
4 years ago
Aleksander Machniak 65d6a5aa51 Update localization 4 years ago
Aleksander Machniak ab3220d046 Enigma: Fix bug where "Send unencrypted" button didn't work in Elastic skin (#7205) 4 years ago
Aleksander Machniak ea1260ea72 Fix regression where using an absolute path to SQLite database file on Windows didn't work (#7196) 4 years ago
Aleksander Machniak bff226801d Enigma: Fix incorrect encrypted mail structure (boundary) with Mail_Mime >= 1.10.5 4 years ago
Aleksander Machniak b35bf87105 Fix bug where it wasn't possible to save flag actions (#7188)
Display proper error when no flag is selected.
4 years ago
Aleksander Machniak 7f45e47f00 Fix display issues with mail subject that contains line-breaks (#7191) 4 years ago
Aleksander Machniak 9d4638d94e Markasjunk: Fix bug where marking as spam/ham didn't work on moving messages with drag-and-drop (#7137) 4 years ago
Aleksander Machniak 3819e4e640 Fix bug where message parts with no Content-Disposition header and no name were not listed on attachments list (#7117) 4 years ago
Aleksander Machniak 62ed219821 Elastic: Fix disappearing sidebar in mail compose after clicking Mail button
Elastic: Fix incorrect aria-disabled attribute on Mail taskmenu button in mail compose
4 years ago
Aleksander Machniak f0dc915fd8 Enigma: Simplify and fix handling of IDN with not all parts being punny-coded 4 years ago
Aleksander Machniak 0aa724f73c Enigma: Display IDN domains of key users and identities in UTF8 4 years ago
Max Bosse 36aa132f51 Fix creation of pgp-keys for IDN emails 4 years ago
Aleksander Machniak 5d68245fa5 Fix bug where files in skins/ directory were listed on skins list (#7180) 4 years ago
Aleksander Machniak a3a260b613 Elastic: Fix non-working folder subscription checkbox for newly added folders (#7174) 4 years ago
Aleksander Machniak 229b9f5f2c Fix recipient duplicates in print-view when the recipient list has been expanded (#7169) 4 years ago
Aleksander Machniak d14d0c5ab5 Elastic: Fix missing Close button in "more recipients" dialog 4 years ago
Aleksander Machniak 1723aa936f Elastic: Fix text selection in recipient inputs (#7129) 4 years ago
Aleksander Machniak adc08946ef Fix unexpected error message when mail refresh involves folder auto-unsubscribe (#6923) 4 years ago
Aleksander Machniak b470f5a9f3 Add note about Windows and symlinks (#7151) 4 years ago
Aleksander Machniak cd1859609b Fix typo 4 years ago
Aleksander Machniak fbc9219d72 Enigma: Fix so using list checkbox selection does not load the key preview frame 4 years ago
Aleksander Machniak b5e76ab202 Fix PHP Warning: array_filter() expects parameter 1 to be array, null given in subscription_options plugin (#7165)
.. when IMAP connection fails
4 years ago
Aleksander Machniak c8ead80312 Enigma: Fix so key list selection is reset when opening key creation form (#7154) 4 years ago
Aleksander Machniak ef13807f17 Fix regression where "Open in new window" action didn't work (#7155) 4 years ago
Aleksander Machniak 9ecf84e3bd Update changelog 4 years ago
jelle van der Waa 2edcf5b52c Password: Make chpass-wrapper.py Python 3 compatible (#7135)
Remove the ", e" as the exception is never printed and this makes it
Python 3 compatible as well

Closes: #7118
4 years ago
Théo b421de8416 Updte copyright year in About (#7138) 4 years ago
Aleksander Machniak 348e557614 Elastic: Fix bug where it was possible to switch editor mode when 'htmleditor' was in 'dont_override' (#7143) 4 years ago
Thomas Bruederli 51b8137170 Bump version to 1.4.2 4 years ago
Aleksander Machniak 2fa6dd7ee5 Update localization 4 years ago
Aleksander Machniak d6c80e4b79 Skip install-jsdeps.sh execution when using "complete" package to update "custom" installation (#7087) 4 years ago
Aleksander Machniak ca870f034e Elastic: Fix hidden list widget on mobile/tablet when selecting folder while search menu is open (#7120) 4 years ago
Aleksander Machniak 880452f84e Markasjunk: Fix marking more than one message as spam/ham with email_learn driver (#7121) 4 years ago
Aleksander Machniak b25c649bb7 Plugin API: Make actionbefore, before<action>, actionafter and after<action> events working with plugin actions (#7106) 4 years ago
Aleksander Machniak d3bedca7f8 Fix malformed characters in HTML message with charset meta tag not in head (#7116) 4 years ago
Aleksander Machniak 72959279e2 Fix so number of contacts in a group is not limited to 200 when redirecting to mail composer from Contacts (#6972)
Use max_group_members with fallback to 999 if unset.
4 years ago
Aleksander Machniak 3bdcfc5623 Elastic: Simple search in pretty selects (#7072) 4 years ago
Aleksander Machniak b47e38447c Fix bug where next message wasn't displayed after delete in List mode (#7096) 4 years ago
Aleksander Machniak d025351d64 Fix bug where 'text' attribute on body tag was ignored when displaying HTML message (#7109) 4 years ago
Aleksander Machniak 906b223d30 Fix bug where listing tables in PostgreSQL database with db_prefix didn't work (#7093) 4 years ago
Aleksander Machniak bd7c38be0b Fix so contact's organization field accepts up to 128 characters (it was 50)
Also assistant, manager, spouse, website and im
5 years ago
Aleksander Machniak eecd78c3a1 Fix bug where 'skins_allowed' option didn't enforce user skin preference (#7080) 5 years ago
Sebastiaan Lokhorst 3a12de3fb6 Explain difference between ssl:// and tls:// for default_host (#7099) 5 years ago
Aleksander Machniak 5ec5ae57a5 Add 'filter' to required extensions 5 years ago
Aleksander Machniak 58be50418d Fix so displayed maximum attachment size depends also on 'max_message_size' (#7105) 5 years ago
Aleksander Machniak 8127d2615f Fix matching multiple X-Forwarded-For addresses with 'proxy_whitelist' (#7107) 5 years ago
Aleksander Machniak 1fe448ce41 Elastic: Fix contrast of warning toasts (#7058)
Add some color variables and slightly make bg-color stronger on "box" messages.
5 years ago
Aleksander Machniak e1dfd55185 Improve style tag handling in TinyMCE (#7088) 5 years ago
Aleksander Machniak bd03cc4541 Fix bug where HTML reply could add an empty line with extra indentation above the original message (#7088) 5 years ago
Aleksander Machniak 132be945bd Password: Fix kpasswd and smb drivers' double-escaping bug (#7092) 5 years ago
Aleksander Machniak 38f1727515 Fix filter selection after removing a first filter (#7079) 5 years ago
Aleksander Machniak dd59b59478 Fix bug where cancelling switching from HTML to plain text didn't set the flag properly (#7077) 5 years ago
Aleksander Machniak e0ae7765bc Fix/remove useless keyup event handler on username input in logon form (#6970) 5 years ago
Aleksander Machniak e29d44dcc3 Fix so use of Ctrl+A does not scroll the list (#7020) 5 years ago
Sebastiaan Lokhorst 1800678a40 Update SMTP TLS/STARTTLS explanation in config.php (#7066)
Implicit TLS (port 465) is no longer deprecated since RFC 8314.
5 years ago
Aleksander Machniak a270cf593e Add notes about file ownership (#7009) 5 years ago
Aleksander Machniak 03b3dd3389 Fix so install-jsdeps.sh removes Bootstrap's sourceMappingURL (#7035) 5 years ago
Aleksander Machniak c084d69d06 Fix DB Write test on SQLite database ("database is locked" error) (#7064)
Also fix so SQLite DSN with a relative path to the database file works in Installer
5 years ago
Aleksander Machniak fbb39470d5 Fix bug where a new saved search added after removing all searches wasn't added to the list (#7061) 5 years ago
Aleksander Machniak 0e7295fce6 Fix so modifier type select wasn't hidden after hiding modifier select on header change 5 years ago
Aleksander Machniak 90bdd77ada Fix bug where Ctype extension wasn't required in Installer and INSTALL file (#7049) 5 years ago
Aleksander Machniak 09af79f637 Replace "Filter disabled" with "Filter enabled" (#7028) 5 years ago
Aleksander Machniak e25f352472 Fix bug where a new contact group added after removing all groups from addressbook wasn't added to the list 5 years ago
Aleksander Machniak a80da7f678 Fix bug where deleting a saved search in addressbook caused display issue on sources/groups list (#7061)
also remove dead code.
5 years ago
Aleksander Machniak 840437c460 Fix bug where Enter key didn't work on messages list in "List" layout (#7052)
with some code improvements and better checking if selected message is a draft.
5 years ago
Aleksander Machniak 55dbf40133 Update changelog 5 years ago
johndoh 8952e9dddb Always update folder count after purge command (#7051)
... not only when it is the current folder.
5 years ago
Aleksander Machniak 720a0a3173 Update changelog, CS improvements 5 years ago
Aleksander Machniak aeec47b9bd Enigma: Add script to import keys from filesystem to the db storage (for multihost) 5 years ago
Aleksander Machniak b49d9f05aa Remove spaces from 'accept' attribute 5 years ago
Aleksander Machniak 8252bc3962 Code simplification and style fixes 5 years ago
Aleksander Machniak 7e9405dc3e Elastic: Remove redundant listmenulink elements 5 years ago
PhilW c7baf94531 remove redundant type attrib in script tag 5 years ago
Thomas Bruederli 0b1d6841f9 Bump version to 1.4.1 5 years ago
Aleksander Machniak fbc50b3791 Elastic: Fix language icon (#6624) 5 years ago
Aleksander Machniak ac3ce1d713 Fix bug where the Installer would not warn about required schema upgrade (#7042) 5 years ago
Aleksander Machniak ae7429a287 Small correction 5 years ago
Aleksander Machniak deee3442aa Fix so Elastic is also a default in jqueryui plugin (#7039) 5 years ago
Aleksander Machniak ebfd0f53bf Elastic: Fix data-fab-task handling (#7038)
Since the code is executed before rcmail init event, we have to use rcmail.env.task
instead of rcmail.task.
5 years ago
Aleksander Machniak 594a12b61e Fix tables listing routine when DSN contained a database with unsupported suffix (#7034) 5 years ago
Aleksander Machniak 8ca4bf8a3a Elastic: Fix position of mobile floating action button (#7038) 5 years ago
Aleksander Machniak 0c8e29fcbf Mention required min. version of lessc (#7031) 5 years ago
Aleksander Machniak f50521a399 Fixed typo 5 years ago
Aleksander Machniak 075803871a Fix so update.sh script warns about changed defaults (#7011) 5 years ago
Aleksander Machniak 0467670533 Fix misleading comment 5 years ago
Aleksander Machniak 90d1d58f8b Larry: Fix html editor toolbar background in Identities 5 years ago
Aleksander Machniak e3d18291ff Elastic: Fix regression in the new editor widget (#7021) 5 years ago
Aleksander Machniak 71990b59d6 Fix db_prefix handling in queries with `TRUNCATE TABLE <name>` and `UNIQUE <name>` (#7013) 5 years ago
Aleksander Machniak 29e7c16b33 Fix so 401 error is returned only on failed logon requests (#7010) 5 years ago
Aleksander Machniak 980f2b369f Elastic: Fix Edit responses button state in Mailvelope mode 5 years ago
Aleksander Machniak cab4c8a39c Fix invalid Signature button state after escaping Mailvelope mode (#7015) 5 years ago
Aleksander Machniak 659980923a Remove unused variables 5 years ago
Aleksander Machniak 35e41670e6 Fix regexp for version input to accept rcX releases 5 years ago
Aleksander Machniak 0ac39592fc Elastic: Change HTML editor widget to improve form flow (#6992) 5 years ago
Aleksander Machniak 392734f984 Fix bug where cache keys could exceed length limit specified in db schema (#7004) 5 years ago
Aleksander Machniak 83289cce1e Fix PHP warning: "array_merge(): Expected parameter 2 to be an array, null given in sendmail.inc (#7003) 5 years ago
Aleksander Machniak 1ef912555d Managesieve: Fix locked UI after opening filter frame (#7007) 5 years ago
Aleksander Machniak 59ac1ddb64 Fix displaying version number for rcX versions 5 years ago
Aleksander Machniak 17a6bd77a1 Remove a note about Larry being default 5 years ago
Aleksander Machniak 9a11d0e36c Correct file permissions 5 years ago
Aleksander Machniak 2464f5fed8 Small code improvements 5 years ago
Thomas Bruederli fdbdaec998 Remove unstable warning from README 5 years ago
Thomas Bruederli 579663e285 Set default skin to 'elastic' in sample config 5 years ago
Thomas Bruederli e774209b41 Bump version to 1.4.0 5 years ago
Aleksander Machniak dba4988bbe Elastic: Fix regression where recipient input didn't update internal input state (#6988) 5 years ago

6
.gitmodules vendored

@ -0,0 +1,6 @@
[submodule "plugins/postfixadmin-user-identities"]
path = plugins/postfixadmin-user-identities
url = git@git.banananet.work:banananetwork/roundcubemail-postfixadmin-user-identities.git
[submodule "plugins/swipe"]
path = plugins/swipe
url = git@git.banananet.work:banananetwork/roundcubemail-swipe.git

@ -1,12 +1,147 @@
CHANGELOG Roundcube Webmail
===========================
RELEASE 1.4.6
-------------
- Installer: Fix regression in SMTP test section (#7417)
RELEASE 1.4.5
-------------
- Fix bug in extracting required plugins from composer.json that led to spurious error in log (#7364)
- Fix so the database setup description is compatible with MySQL 8 (#7340)
- Markasjunk: Fix regression in jsevent driver (#7361)
- Fix missing flag indication on collapsed thread in Larry and Elastic (#7366)
- Fix default keyservers (use keys.openpgp.org), add note about CORS (#7373, #7367)
- Password: Fix issue with Modoboa driver (#7372)
- Mailvelope: Use sender's address to find pubkeys to check signatures (#7348)
- Mailvelope: Fix Encrypt button hidden in Elastic (#7353)
- Fix PHP warning: count(): Parameter must be an array or an object... in ID command handler (#7392)
- Fix error when user-configured skin does not exist anymore (#7271)
- Elastic: Fix aspect ratio of a contact photo in mail preview (#7339)
- Fix bug where PDF attachments marked as inline could have not been attached on mail forward (#7382)
- Security: Fix a couple of XSS issues in Installer (#7406)
- Security: Fix XSS issue in template object 'username' (#7406)
- Security: Better fix for CVE-2020-12641
- Security: Fix cross-site scripting (XSS) via malicious XML attachment
RELEASE 1.4.4
-------------
- Fix bug where attachments with Content-Id were attached to the message on reply (#7122)
- Fix identity selection on reply when both sender and recipient addresses are included in identities (#7211)
- Elastic: Fix text selection with Shift+PageUp and Shift+PageDown in plain text editor when using Chrome (#7230)
- Elastic: Fix recipient input bug when using click to select a contact from autocomplete list (#7231)
- Elastic: Fix color of a folder with recent messages (#7281)
- Elastic: Restrict logo size in print view (#7275)
- Fix invalid Content-Type for messages with only html part and inline images - Mail_Mime-1.10.7 (#7261)
- Fix missing contact display name in QR Code data (#7257)
- Fix so button label in Select image/media dialogs is "Close" not "Cancel" (#7246)
- Fix regression in testing database schema on MSSQL (#7227)
- Fix cursor position after inserting a group to a recipient input using autocompletion (#7267)
- Fix string literals handling in IMAP STATUS (and various other) responses (#7290)
- Fix bug where multiple images in a message were replaced by the first one on forward/reply/edit (#7293)
- Fix handling keyservers configured with protocol prefix (#7295)
- Markasjunk: Fix marking as spam/ham on moving messages with Move menu (#7189)
- Markasjunk: Fix bug where moving to Junk was failing on messages selected with Select > All (#7206)
- Fix so imap error message is displayed to the user on folder create/update (#7245)
- Fix bug where a special folder couldn't be created if a special-use flag is not supported (#7147)
- Mailvelope: Fix bug where recipients with name were not handled properly in mail compose (#7312)
- Fix characters encoding in group rename input after group creation/rename (#7330)
- Fix bug where some message/rfc822 parts could not be attached on forward (#7323)
- Make install-jsdeps.sh script working without the 'file' program installed (#7325)
- Fix performance issue of parsing big HTML messages by disabling HTML5 parser for these (#7331)
- Fix so Print button for PDF attachments works on Firefox >= 75 (#5125)
- Security: Fix XSS issue in handling of CDATA in HTML messages [CVE-2020-12625]
- Security: Fix remote code execution via crafted 'im_convert_path' or 'im_identify_path' settings [CVE-2020-12641]
- Security: Fix local file inclusion (and code execution) via crafted 'plugins' option [CVE-2020-12640]
- Security: Fix CSRF bypass that could be used to log out an authenticated user [CVE-2020-12626] (#7302)
RELEASE 1.4.3
-------------
- Enigma: Fix so key list selection is reset when opening key creation form (#7154)
- Enigma: Fix so using list checkbox selection does not load the key preview frame
- Enigma: Fix generation of key pairs for identities with IDN domains (#7181)
- Enigma: Display IDN domains of key users and identities in UTF8
- Enigma: Fix bug where "Send unencrypted" button didn't work in Elastic skin (#7205)
- Managesieve: Fix bug where it wasn't possible to save flag actions (#7188)
- Markasjunk: Fix bug where marking as spam/ham didn't work on moving messages with drag-and-drop (#7137)
- Password: Make chpass-wrapper.py Python 3 compatible (#7135)
- Elastic: Fix disappearing sidebar in mail compose after clicking Mail button
- Elastic: Fix incorrect aria-disabled attribute on Mail taskmenu button in mail compose
- Elastic: Fix bug where it was possible to switch editor mode when 'htmleditor' was in 'dont_override' (#7143)
- Elastic: Fix text selection in recipient inputs (#7129)
- Elastic: Fix missing Close button in "more recipients" dialog
- Elastic: Fix non-working folder subscription checkbox for newly added folders (#7174)
- Fix regression where "Open in new window" action didn't work (#7155)
- Fix PHP Warning: array_filter() expects parameter 1 to be array, null given in subscriptions_option plugin (#7165)
- Fix unexpected error message when mail refresh involves folder auto-unsubscribe (#6923)
- Fix recipient duplicates in print-view when the recipient list has been expanded (#7169)
- Fix bug where files in skins/ directory were listed on skins list (#7180)
- Fix bug where message parts with no Content-Disposition header and no name were not listed on attachments list (#7117)
- Fix display issues with mail subject that contains line-breaks (#7191)
- Fix invalid Content-Transfer-Encoding on multipart messages - Mail_Mime fix (#7170)
- Fix regression where using an absolute path to SQLite database file on Windows didn't work (#7196)
- Fix using unix:///path/to/socket.file in memcached driver (#7210)
RELEASE 1.4.2
-------------
- Plugin API: Make actionbefore, before<action>, actionafter and after<action> events working with plugin actions (#7106)
- Managesieve: Replace "Filter disabled" with "Filter enabled" (#7028)
- Managesieve: Fix so modifier type select wasn't hidden after hiding modifier select on header change
- Managesieve: Fix filter selection after removing a first filter (#7079)
- Markasjunk: Fix marking more than one message as spam/ham with email_learn driver (#7121)
- Password: Fix kpasswd and smb drivers' double-escaping bug (#7092)
- Enigma: Add script to import keys from filesystem to the db storage (for multihost)
- Installer: Fix DB Write test on SQLite database ("database is locked" error) (#7064)
- Installer: Fix so SQLite DSN with a relative path to the database file works in Installer
- Elastic: Fix contrast of warning toasts (#7058)
- Elastic: Simple search in pretty selects (#7072)
- Elastic: Fix hidden list widget on mobile/tablet when selecting folder while search menu is open (#7120)
- Fix so type attribute on script tags is not used on HTML5 pages (#6975)
- Fix unread count after purge on a folder that is not currently selected (#7051)
- Fix bug where Enter key didn't work on messages list in "List" layout (#7052)
- Fix bug where deleting a saved search in addressbook caused display issue on sources/groups list (#7061)
- Fix bug where a new saved search added after removing all searches wasn't added to the list (#7061)
- Fix bug where a new contact group added after removing all groups from addressbook wasn't added to the list
- Fix bug where Ctype extension wasn't required in Installer and INSTALL file (#7049)
- Fix so install-jsdeps.sh removes Bootstrap's sourceMappingURL (#7035)
- Fix so use of Ctrl+A does not scroll the list (#7020)
- Fix/remove useless keyup event handler on username input in logon form (#6970)
- Fix bug where cancelling switching from HTML to plain text didn't set the flag properly (#7077)
- Fix bug where HTML reply could add an empty line with extra indentation above the original message (#7088)
- Fix matching multiple X-Forwarded-For addresses with 'proxy_whitelist' (#7107)
- Fix so displayed maximum attachment size depends also on 'max_message_size' (#7105)
- Fix bug where 'skins_allowed' option didn't enforce user skin preference (#7080)
- Fix so contact's organization field accepts up to 128 characters (it was 50)
- Fix bug where listing tables in PostgreSQL database with db_prefix didn't work (#7093)
- Fix bug where 'text' attribute on body tag was ignored when displaying HTML message (#7109)
- Fix bug where next message wasn't displayed after delete in List mode (#7096)
- Fix so number of contacts in a group is not limited to 200 when redirecting to mail composer from Contacts (#6972)
- Fix malformed characters in HTML message with charset meta tag not in head (#7116)
RELEASE 1.4.1
-------------
- Elastic: Change HTML editor widget to improve form flow (#6992)
- Elastic: Fix position of mobile floating action button (#7038)
- Managesieve: Fix locked UI after opening filter frame (#7007)
- Fix PHP warning: "array_merge(): Expected parameter 2 to be an array, null given in sendmail.inc (#7003)
- Fix bug where cache keys could exceed length limit specified in db schema (#7004)
- Fix invalid Signature button state after escaping Mailvelope mode (#7015)
- Fix so 401 error is returned only on failed logon requests (#7010)
- Fix db_prefix handling in queries with `TRUNCATE TABLE <name>` and `UNIQUE <name>` (#7013)
- Fix so update.sh script warns about changed defaults (#7011)
- Fix tables listing routine when DSN contained a database with unsupported suffix (#7034)
- Fix so Elastic is also a default in jqueryui plugin (#7039)
- Fix bug where the Installer would not warn about required schema upgrade (#7042)
RELEASE 1.4.0
-------------
- Elastic: Resizeable columns (#6929)
- Elastic: Fix position and style of auto-complete dropdown on small screens (#6951)
- Elastic: Fix initial focus on recipients input in mail compose screen
- Elastic: Fix inserting responses at cursor position (#6971)
- Elastic: Fix unread filter icon and search state on folder change (#6978)
- Elastic: Fix regression where Encrypt button wasn't displayed in mail compose toolbar (#6982)
- Elastic: Fix regression where recipient input didn't update internal input state (#6988)
- Enigma: Fix bug where signing option was set to disabled after saving a draft in Elastic skin (#6515)
- Redis: Improve error handling and phpredis 5.X support (#6888)
- Archive: Fix bug where next email was not displayed after Archive button use (#6965)

@ -12,7 +12,7 @@ REQUIREMENTS
* An IMAP, HTTP and SMTP server
* .htaccess support allowing overrides for DirectoryIndex
* PHP Version 5.4 or greater including:
- PCRE, DOM, JSON, Session, Sockets, OpenSSL, Mbstring (required)
- PCRE, DOM, JSON, Session, Sockets, OpenSSL, Mbstring, Filter, Ctype (required)
- PHP PDO with driver for either MySQL, PostgreSQL, SQL Server, Oracle or SQLite (required)
- Iconv, Zip, Fileinfo, Intl, Exif (recommended)
- LDAP for LDAP addressbook support (optional)
@ -44,7 +44,9 @@ REQUIREMENTS
INSTALLATION
============
1. Decompress and put this folder somewhere inside your document root
1. Decompress and put this folder somewhere inside your document root.
Note: Make sure files have proper owner/group for your setup. If you use
tar command `--no-same-owner` option might be helpful.
2. In case you don't use the so-called "complete" release package,
you have to install PHP and javascript dependencies.
2.1. Install PHP dependencies using composer:
@ -63,7 +65,11 @@ INSTALLATION
5. Point your browser to http://url-to-roundcube/installer/
6. Follow the instructions of the install script (or see MANUAL CONFIGURATION)
7. After creating and testing the configuration, remove the installer directory
8. If you use git sources compile css files for the Elastic skin:
------------------------------------------
IMPORTANT: REMOVE THE INSTALLER DIRECTORY!
------------------------------------------
8. If you use git sources compile css files for the Elastic skin (required
lessc >= 1.5.0):
$ cd skins/elastic
$ lessc -x styles/styles.less > styles/styles.css
$ lessc -x styles/print.less > styles/print.css
@ -77,7 +83,7 @@ CONFIGURATION HINTS
IMPORTANT! Read all comments in defaults.inc.php, understand them
and configure your installation to be not surprised by default behaviour.
Roundcube writes internal errors to the 'errors' log file located in the logs
Roundcube writes internal errors to the 'errors.log' log file located in the logs
directory which can be configured in config/config.inc.php. If you want ordinary
PHP errors to be logged there as well, set error_log in php.ini or .htaccess file.
@ -103,9 +109,9 @@ importing the table layout and granting the proper permissions to the
roundcube user. Here is an example of that procedure:
# mysql
> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost
IDENTIFIED BY 'password';
> CREATE DATABASE roundcubemail CHARACTER SET utf8 COLLATE utf8_general_ci;
> CREATE USER roundcube@localhost IDENTIFIED BY 'password';
> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost;
> quit
# mysql roundcubemail < SQL/mysql.initial.sql
@ -304,3 +310,6 @@ needed to add following MIME Types definitions (via web.config or IIS Manager):
.woff application/font-woff
.woff2 application/font-woff2
When installing on Windows be aware we're using symbolic links which may need an additional
attention. See https://github.com/roundcube/roundcubemail/issues/7151.

@ -4,13 +4,6 @@ Roundcube Webmail
[![Build Status](https://api.travis-ci.org/roundcube/roundcubemail.svg?branch=master)](https://travis-ci.org/roundcube/roundcubemail)
ATTENTION
---------
This is just a snapshot from the GIT repository and is **NOT A STABLE
version of Roundcube**. It's not recommended to replace an existing installation
of Roundcube with this version. Also using a separate database for this
installation is highly recommended.
INTRODUCTION
------------
@ -25,9 +18,6 @@ The code designed to run on a webserver is mainly written in PHP and Javascript.
It includes a custom framework with an IMAP library derived from [IlohaMail][iloha]
and requires a set of external libraries (see composer.json and jsdeps.json files).
The current default skin 'Larry' was kindly created by FLINT / Büro für
Gestaltung, Berne, Switzerland.
INSTALLATION
------------

@ -14,18 +14,20 @@ and cd into that directory. From there, run the following command in a shell:
./bin/installto.sh <TARGET-FOLDER>
For <TARGET-FOLDER> you specify the path to the Roundcube installation
which should be updated. The update script will then copy all new files to the
For <TARGET-FOLDER> you specify the path to the Roundcube installation
which should be updated. The update script will then copy all new files to the
target location and check and update the configuration and database schema.
After all is done, the temporary folder with the new Roundcube files can be
After all is done, the temporary folder with the new Roundcube files can be
removed again.
WARNING: Make sure files have proper owner/group for your setup. If you use
tar to extract the package, `--no-same-owner` option might be helpful.
WARNING: See Post-Upgrade Activities section below.
Updating manually
-----------------
If you don't have shell access to the Roundcube installation or if not running
If you don't have shell access to the Roundcube installation or if not running
it on a unix system, you need to do the following operations by hand:
1. Replace index.php and all files in
@ -53,7 +55,8 @@ it on a unix system, you need to do the following operations by hand:
- run `php composer.phar install --no-dev`.
4c. If you use git sources or the release package without dependencies
update javascript dependencies by executing `bin/install-jsdeps.sh` script.
4d. If you use git sources compile css files for the Elastic skin:
4d. If you use git sources compile css files for the Elastic skin (required
lessc >= 1.5.0):
$ cd skins/elastic
$ lessc -x styles/styles.less > styles/styles.css
$ lessc -x styles/print.less > styles/print.css

@ -36,7 +36,6 @@ if (empty($SOURCES['dependencies'])) {
$CURL = trim(`which curl`);
$WGET = trim(`which wget`);
$UNZIP = trim(`which unzip`);
$FILEINFO = trim(`which file`);
if (($CACHEDIR = getenv("CACHEDIR")) && is_writeable($CACHEDIR)) {
// use $CACHEDIR
@ -154,19 +153,17 @@ function fetch_from_source($package, $useCache = true, &$filetype = null)
*/
function extract_filetype($package, &$filetype = null)
{
global $FILEINFO, $CACHEDIR;
global $CACHEDIR;
$filetype = pathinfo($package['url'], PATHINFO_EXTENSION) ?: 'tmp';
$cache_file = $CACHEDIR . '/' . $package['lib'] . '-' . $package['version'] . '.' . $filetype;
if (empty($FILEINFO)) {
rcube::raise_error("Required program 'file' not found.", false, true);
}
// detect downloaded/cached file type
exec(sprintf('%s -b %s', $FILEINFO, $cache_file), $out);
if (stripos($out[0], 'zip') === 0) {
$filetype = 'zip';
// Make sure it is a zip file
if (file_exists($cache_file)) {
$magic = file_get_contents($cache_file, false, null, 0, 4);
if ($magic === "PK\003\004") {
$filetype = 'zip';
}
}
return $cache_file;
@ -237,7 +234,7 @@ function extract_zipfile($package, $srcfile)
echo "Extracting files $pattern into $destdir\n";
exec(sprintf('%s -o %s %s -d %s', $UNZIP, escapeshellarg($srcfile), escapeshellarg($pattern), $destdir), $out, $retval);
if ($retval !== 0) {
rcube::raise_error("Failed to unpack $pattern; " . join('; ' . $out));
rcube::raise_error("Failed to unpack $pattern; " . implode('; ' . $out));
}
}
}
@ -258,22 +255,35 @@ function extract_zipfile($package, $srcfile)
foreach ($package['map'] as $src => $dest) {
echo "Installing $sourcedir/$src into $destdir/$dest\n";
$dest_file = $destdir . '/' . $dest;
$src_file = $sourcedir . '/' . $src;
// make sure the destination's parent directory exists
if (strpos($dest, '/') !== false) {
$parentdir = dirname($destdir . '/' . $dest);
$parentdir = dirname($dest_file);
if (!is_dir($parentdir)) {
mkdir($parentdir, 0775, true);
}
}
// avoid copying source directory as a child into destination
if (is_dir($sourcedir . '/' . $src) && is_dir($destdir . '/' . $dest)) {
exec(sprintf('rm -rf %s/%s', $destdir, $dest));
if (is_dir($src_file) && is_dir($dest_file)) {
exec(sprintf('rm -rf %s', $dest_file));
}
exec(sprintf('mv -f %s/%s %s/%s', $sourcedir, $src, $destdir, $dest), $out, $retval);
exec(sprintf('mv -f %s %s', $src_file, $dest_file), $out, $retval);
if ($retval !== 0) {
rcube::raise_error("Failed to move $src into $destdir/$dest; " . join('; ' . $out));
rcube::raise_error("Failed to move $src into $dest_file; " . implode('; ' . $out));
}
// Remove sourceMappingURL
else if (isset($package['sourcemap']) && $package['sourcemap'] === false) {
if ($content = file($dest_file)) {
$index = count($content);
if (preg_match('|sourceMappingURL=|', $content[$index-1])) {
array_pop($content);
file_put_contents($dest_file, implode('', $content));
}
}
}
}
@ -285,7 +295,7 @@ function extract_zipfile($package, $srcfile)
echo "Extracting zip archive into $destdir\n";
exec(sprintf('%s -o %s -d %s', $UNZIP, escapeshellarg($srcfile), $destdir), $out, $retval);
if ($retval !== 0) {
rcube::raise_error("Failed to unzip $srcfile; " . join('; ' . $out));
rcube::raise_error("Failed to unzip $srcfile; " . implode('; ' . $out));
}
}

@ -34,7 +34,7 @@ if (empty($target_dir) || !is_dir(realpath($target_dir)))
// read version from iniset.php
$iniset = @file_get_contents($target_dir . '/program/include/iniset.php');
if (!preg_match('/define\(.RCMAIL_VERSION.,\s*.([0-9.]+[a-z-]*)/', $iniset, $m))
if (!preg_match('/define\(.RCMAIL_VERSION.,\s*.([0-9.]+[a-z0-9-]*)/', $iniset, $m))
rcube::raise_error("No valid Roundcube installation found at $target_dir", false, true);
$oldversion = $m[1];
@ -110,8 +110,13 @@ if (strtolower($input) == 'y') {
echo "done.\n\n";
}
// Warn about situation when using "complete" package to update "custom" installation (#7087)
// Note: "Complete" package do not include jsdeps.json nor install-jsdeps.sh
if (file_exists("$target_dir/jsdeps.json") && !file_exists(INSTALL_PATH . "jsdeps.json")) {
$adds[] = "WARNING: JavaScript dependencies update skipped.";
}
// check if js-deps are up-to-date
if (file_exists("$target_dir/jsdeps.json") && file_exists("$target_dir/bin/install-jsdeps.sh")) {
else if (file_exists("$target_dir/jsdeps.json") && file_exists("$target_dir/bin/install-jsdeps.sh")) {
$jsdeps = json_decode(file_get_contents("$target_dir/jsdeps.json"));
$package = $jsdeps->dependencies[0];
$dest_file = $target_dir . '/' . $package->dest;
@ -123,7 +128,7 @@ if (strtolower($input) == 'y') {
}
}
else {
$adds[] = "NOTICE: JavaScript dependencies installation skipped...";
$adds[] = "NOTICE: JavaScript dependencies installation skipped.";
}
if (file_exists("$target_dir/installer")) {

@ -29,7 +29,7 @@ $opts = rcube_utils::get_opt(array('v' => 'version', 'y' => 'accept:bool'));
if (!$opts['version']) {
echo "What version are you upgrading from? Type '?' if you don't know.\n";
if (($input = trim(fgets(STDIN))) && preg_match('/^[0-9.]+[a-z-]*$/', $input)) {
if (($input = trim(fgets(STDIN))) && preg_match('/^[0-9.]+[a-z0-9-]*$/', $input)) {
$opts['version'] = $input;
}
else {
@ -43,7 +43,7 @@ $RCI->load_config();
if ($RCI->configured) {
$success = true;
if (($messages = $RCI->check_config()) || $RCI->legacy_config) {
if (($messages = $RCI->check_config($opts['version'])) || $RCI->legacy_config) {
$success = false;
$err = 0;
@ -56,8 +56,6 @@ if ($RCI->configured) {
echo "- '" . $msg['prop'] . "' was replaced by '" . $msg['replacement'] . "'\n";
$err++;
}
echo "\n";
}
// list obsolete config options (just a notice)
@ -70,8 +68,6 @@ if ($RCI->configured) {
echo "- '" . $msg['prop'] . ($msg['name'] ? "': " . $msg['name'] : "'") . "\n";
$err++;
}
echo "\n";
}
if (!$err && $RCI->legacy_config) {
@ -137,6 +133,15 @@ if ($RCI->configured) {
}
}
// list of config options with changed default (just a notice)
if (!empty($messages['defaults'])) {
echo "WARNING: Changed defaults (These config options have new default values):\n";
foreach ($messages['defaults'] as $opt) {
echo "- '{$opt}'\n";
}
}
// check dependencies based on the current configuration
if (is_array($messages['dependencies'])) {
echo "WARNING: Dependency check failed!\n";

@ -30,7 +30,8 @@ $config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
// The IMAP host chosen to perform the log-in.
// Leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Enter hostname with prefix ssl:// to use Implicit TLS, or use
// prefix tls:// to use STARTTLS.
// Supported replacement variables:
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
@ -40,8 +41,8 @@ $config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
$config['default_host'] = 'localhost';
// SMTP server host (for sending mails).
// Enter hostname with prefix tls:// to use STARTTLS, or use
// prefix ssl:// to use the deprecated SSL over SMTP (aka SMTPS)
// Enter hostname with prefix ssl:// to use Implicit TLS, or use
// prefix tls:// to use STARTTLS.
// Supported replacement variables:
// %h - user's IMAP hostname
// %n - hostname ($_SERVER['SERVER_NAME'])
@ -51,8 +52,7 @@ $config['default_host'] = 'localhost';
// For example %n = mail.domain.tld, %t = domain.tld
$config['smtp_server'] = 'localhost';
// SMTP port (default is 25; use 587 for STARTTLS or 465 for the
// deprecated SSL over SMTP (aka SMTPS))
// SMTP port. Use 25 for cleartext, 465 for Implicit TLS, or 587 for STARTTLS (default)
$config['smtp_port'] = 587;
// SMTP username (if required) if you use %u as the username Roundcube
@ -70,9 +70,9 @@ $config['support_url'] = '';
// Name your service. This is displayed on the login screen and in the window title
$config['product_name'] = 'Roundcube Webmail';
// this key is used to encrypt the users imap password which is stored
// in the session record (and the client cookie if remember password is enabled).
// please provide a string of exactly 24 chars.
// This key is used to encrypt the users imap password which is stored
// in the session record. For the default cipher method it must be
// exactly 24 characters long.
// YOUR KEY MUST BE DIFFERENT THAN THE SAMPLE VALUE FOR SECURITY REASONS
$config['des_key'] = 'rcmail-!24ByteDESkey*Str';
@ -83,4 +83,4 @@ $config['plugins'] = array(
);
// skin name: folder from skins/
$config['skin'] = 'larry';
$config['skin'] = 'elastic';

@ -134,7 +134,8 @@ $config['redis_debug'] = false;
// The IMAP host chosen to perform the log-in.
// Leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Enter hostname with prefix ssl:// to use Implicit TLS, or use
// prefix tls:// to use STARTTLS.
// Supported replacement variables:
// %n - hostname ($_SERVER['SERVER_NAME'])
// %t - hostname without the first part
@ -257,8 +258,8 @@ $config['messages_cache_threshold'] = 50;
// ----------------------------------
// SMTP server host (for sending mails).
// Enter hostname with prefix tls:// to use STARTTLS, or use
// prefix ssl:// to use the deprecated SSL over SMTP (aka SMTPS)
// Enter hostname with prefix ssl:// to use Implicit TLS, or use
// prefix tls:// to use STARTTLS.
// Supported replacement variables:
// %h - user's IMAP hostname
// %n - hostname ($_SERVER['SERVER_NAME'])
@ -268,7 +269,7 @@ $config['messages_cache_threshold'] = 50;
// For example %n = mail.domain.tld, %t = domain.tld
$config['smtp_server'] = 'localhost';
// SMTP port (default is 587)
// SMTP port. Use 25 for cleartext, 465 for Implicit TLS, or 587 for STARTTLS (default)
$config['smtp_port'] = 587;
// SMTP username (if required) if you use %u as the username Roundcube
@ -536,6 +537,7 @@ $config['x_frame_options'] = 'sameorigin';
// This key is used for encrypting purposes, like storing of imap password
// in the session. For historical reasons it's called DES_key, but it's used
// with any configured cipher_method (see below).
// For the default cipher_method a required key length is 24 characters.
$config['des_key'] = 'rcmail-!24ByteDESkey*Str';
// Encryption algorithm. You can use any method supported by OpenSSL.
@ -646,9 +648,12 @@ $config['identities_level'] = 0;
$config['identity_image_size'] = 64;
// Mimetypes supported by the browser.
// attachments of these types will open in a preview window
// either a comma-separated list or an array: 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,application/pdf'
$config['client_mimetypes'] = null; # null == default
// Attachments of these types will open in a preview window.
// Either a comma-separated list or an array. Default list includes:
// text/plain,text/html,
// image/jpeg,image/gif,image/png,image/bmp,image/tiff,image/webp,
// application/x-javascript,application/pdf,application/x-shockwave-flash
$config['client_mimetypes'] = null;
// Path to a local mime magic database file for PHPs finfo extension.
// Set to null if the default path should be used.
@ -839,8 +844,8 @@ $config['compose_responses_static'] = array(
);
// List of HKP key servers for PGP public key lookups in Enigma/Mailvelope
// Default: array("keys.fedoraproject.org", "keybase.io")
$config['keyservers'] = array();
// Note: Lookup is client-side, so the server must support Cross-Origin Resource Sharing
$config['keyservers'] = array('keys.openpgp.org');
// ----------------------------------
// ADDRESSBOOK SETTINGS
@ -1079,10 +1084,11 @@ $config['contact_search_name'] = '{name} <{email}>';
// Use this charset as fallback for message decoding
$config['default_charset'] = 'ISO-8859-1';
// skin name: folder from skins/
// Skin name: folder from skins/
$config['skin'] = 'elastic';
// limit skins available/shown in the settings section
// Limit skins available for the user.
// Note: When not empty, it should include the default skin set in 'skin' option.
$config['skins_allowed'] = array();
// Enables using standard browser windows (that can be handled as tabs)

@ -2,7 +2,7 @@
/**
+-------------------------------------------------------------------------+
| Roundcube Webmail IMAP Client |
| Version 1.4-git |
| Version 1.4.6 |
| |
| Copyright (C) The Roundcube Dev Team |
| |
@ -106,7 +106,9 @@ if ($RCMAIL->task == 'login' && $RCMAIL->action == 'login') {
$pass_charset = $RCMAIL->config->get('password_charset', 'UTF-8');
// purge the session in case of new login when a session already exists
$RCMAIL->kill_session();
if ($request_valid) {
$RCMAIL->kill_session();
}
$auth = $RCMAIL->plugins->exec_hook('authenticate', array(
'host' => $RCMAIL->autoselect_host(),
@ -180,13 +182,15 @@ if ($RCMAIL->task == 'login' && $RCMAIL->action == 'login') {
$RCMAIL->plugins->exec_hook('login_failed', array(
'code' => $error_code, 'host' => $auth['host'], 'user' => $auth['user']));
$RCMAIL->kill_session();
if (!isset($_SESSION['user_id'])) {
$RCMAIL->kill_session();
}
}
}
// end session
else if ($RCMAIL->task == 'logout' && isset($_SESSION['user_id'])) {
$RCMAIL->request_security_check($mode = rcube_utils::INPUT_GET);
$RCMAIL->request_security_check(rcube_utils::INPUT_GET | rcube_utils::INPUT_POST);
$userdata = array(
'user' => $_SESSION['username'],
@ -234,7 +238,8 @@ if (empty($RCMAIL->user->ID)) {
$plugin = $RCMAIL->plugins->exec_hook('unauthenticated', array(
'task' => 'login',
'error' => $session_error,
'http_code' => !$session_error ? 401 : 200
// Return 401 only on failed logins (#7010)
'http_code' => empty($session_error) && !empty($error_message) ? 401 : 200
));
$RCMAIL->set_task($plugin['task']);

@ -31,6 +31,8 @@ $required_php_exts = array(
'PDO' => 'PDO',
'Multibyte' => 'mbstring',
'OpenSSL' => 'openssl',
'Filter' => 'filter',
'Ctype' => 'ctype',
);
$optional_php_exts = array(
@ -87,6 +89,8 @@ $source_urls = array(
'GD' => 'http://www.php.net/manual/en/book.image.php',
'Imagick' => 'http://www.php.net/manual/en/book.imagick.php',
'Zip' => 'http://www.php.net/manual/en/book.zip.php',
'Filter' => 'http://www.php.net/manual/en/book.filter.php',
'Ctype' => 'http://www.php.net/manual/en/book.ctype.php',
'pdo_mysql' => 'http://www.php.net/manual/en/ref.pdo-mysql.php',
'pdo_pgsql' => 'http://www.php.net/manual/en/ref.pdo-pgsql.php',
'pdo_sqlite' => 'http://www.php.net/manual/en/ref.pdo-sqlite.php',

Before

Width:  |  Height:  |  Size: 653 B

After

Width:  |  Height:  |  Size: 653 B

Before

Width:  |  Height:  |  Size: 637 B

After

Width:  |  Height:  |  Size: 637 B

Before

Width:  |  Height:  |  Size: 565 B

After

Width:  |  Height:  |  Size: 565 B

@ -3,7 +3,7 @@
/**
+-------------------------------------------------------------------------+
| Roundcube Webmail setup tool |
| Version 1.4-git |
| Version 1.4.6 |
| |
| Copyright (C) The Roundcube Dev Team |
| |

@ -139,7 +139,7 @@ if ($RCI->configured) {
else {
$RCI->fail('DSN (write)', $db_error_msg);
echo '<p class="hint">Make sure that the configured database exists and that the user has write privileges<br />';
echo 'DSN: ' . $RCI->config['db_dsnw'] . '</p>';
echo 'DSN: ' . rcube::Q($RCI->config['db_dsnw']) . '</p>';
}
}
else {
@ -152,15 +152,15 @@ else {
// initialize db with schema found in /SQL/*
if ($db_working && $_POST['initdb']) {
if (!($success = $RCI->init_db($DB))) {
if (!$RCI->init_db($DB)) {
$db_working = false;
echo '<p class="warning">Please try to inizialize the database manually as described in the INSTALL guide.
Make sure that the configured database extists and that the user as write privileges</p>';
Make sure that the configured database extists and that the user as write privileges</p>';
}
}
else if ($db_working && $_POST['updatedb']) {
if (!($success = $RCI->update_db($_POST['version']))) {
if (!$RCI->update_db($_POST['version'])) {
echo '<p class="warning">Database schema update failed.</p>';
}
}
@ -189,6 +189,11 @@ if ($db_working) {
// more database tests
if ($db_working) {
// Using transactions to workaround SQLite bug (#7064)
if ($DB->db_provider == 'sqlite') {
$DB->startTransaction();
}
// write test
$insert_id = md5(uniqid());
$db_write = $DB->query("INSERT INTO " . $DB->quote_identifier($RCI->config['db_prefix'] . 'session')
@ -204,6 +209,11 @@ if ($db_working) {
}
echo '<br />';
// Transaction end
if ($DB->db_provider == 'sqlite') {
$DB->rollbackTransaction();
}
// check timezone settings
$tz_db = 'SELECT ' . $DB->unixtimestamp($DB->now()) . ' AS tz_db';
$tz_db = $DB->query($tz_db);
@ -260,10 +270,16 @@ if ($user == '%u') {
$user_field = new html_inputfield(array('name' => '_smtp_user', 'id' => 'smtp_user'));
$user = $user_field->show($_POST['_smtp_user']);
}
else {
$user = html::quote($user);
}
if ($pass == '%p') {
$pass_field = new html_passwordfield(array('name' => '_smtp_pass', 'id' => 'smtp_pass'));
$pass = $pass_field->show();
}
else {
$pass = html::quote($pass);
}
?>
@ -274,11 +290,11 @@ if ($pass == '%p') {
<tbody>
<tr>
<td><label for="smtp_server">Server</label></td>
<td><?php echo rcube_utils::parse_host($RCI->getprop('smtp_server', 'localhost')); ?></td>
<td><?php echo rcube::Q(rcube_utils::parse_host($RCI->getprop('smtp_server', 'localhost'))); ?></td>
</tr>
<tr>
<td><label for="smtp_port">Port</label></td>
<td><?php echo $RCI->getprop('smtp_port'); ?></td>
<td><?php echo rcube::Q($RCI->getprop('smtp_port')); ?></td>
</tr>
<tr>
<td><label for="smtp_user">Username</label></td>

@ -94,6 +94,7 @@
"sha1": "ee9e9d6bbbb6181dc519778af2b38804a6aa62a4",
"license": "MIT",
"flat": true,
"sourcemap": false,
"map": {
"bootstrap.bundle.min.js": "bootstrap.bundle.min.js",
"bootstrap.min.css": "bootstrap.min.css"

@ -21,14 +21,18 @@ $labels['advanced'] = 'Edistynyt tila';
$labels['add'] = 'Lisää';
$labels['newuser'] = 'LIsää kohde';
$labels['editperms'] = 'Muokkaa oikeuksia';
$labels['actions'] = 'Käyttöoikeuksien toiminnot...';
$labels['anyone'] = 'Kaikki käyttäjät (kuka tahansa)';
$labels['anonymous'] = 'Vieraat (anonyymit)';
$labels['identifier'] = 'Tunniste';
$labels['aclr'] = 'Lue viestit';
$labels['aclc'] = 'Luo alikansioita';
$labels['aclk'] = 'Luo alikansioita';
$labels['acld'] = 'Poista viestejä';
$labels['aclt'] = 'Poista viestejä';
$labels['acle'] = 'Tiivistä';
$labels['aclx'] = 'Poista kansio';
$labels['acla'] = 'Hallitse';
$labels['aclfull'] = 'Täydet käyttöoikeudet';
$labels['aclother'] = 'Muu';
$labels['aclread'] = 'Luku';
@ -42,15 +46,24 @@ $labels['shortaclc'] = 'Luo';
$labels['shortaclk'] = 'Luo';
$labels['shortacld'] = 'Poista';
$labels['shortaclt'] = 'Poista';
$labels['shortacle'] = 'Tiivistä';
$labels['shortaclx'] = 'Kansion poisto';
$labels['shortacla'] = 'Hallitse';
$labels['shortaclother'] = 'Muu';
$labels['shortaclread'] = 'Luku';
$labels['shortaclwrite'] = 'Kirjoitus';
$labels['shortacldelete'] = 'Poisto';
$labels['longaclr'] = 'Kansion voi avata lukua varten';
$labels['longaclp'] = 'Viestejä voidaan lähettää tähän kansioon';
$labels['longaclc'] = 'Kansioita voidaan luoda (tai uudelleennimetä) suoraan tämän kansion alle';
$labels['longaclk'] = 'Kansioita voidaan luoda (tai uudelleennimetä) suoraan tämän kansion alle';
$labels['longacle'] = 'Viestit voidaan tiivistää';
$labels['longaclx'] = 'Kansio voidaan poistaa tai nimetä uudelleen';
$labels['longacla'] = 'Kansion käyttöoikeuksia voi muuttaa';
$labels['longaclread'] = 'Kansion voi avata lukua varten';
$labels['longacldelete'] = 'Viestit voidaan poistaa';
$labels['longaclother'] = 'Muut käyttöoikeudet';
$labels['ariasummaryacltable'] = 'Lista käyttöoikeuksista';
$labels['arialabelaclactions'] = 'Listatoiminnot';
$messages['deleting'] = 'Poistetaan käyttöoikeuksia...';
$messages['saving'] = 'Tallennetaan käyttöoikeuksia...';

@ -21,7 +21,7 @@ $labels['advanced'] = 'Mode avancé';
$labels['add'] = 'Ajouter';
$labels['newuser'] = 'Ajouter une entrée';
$labels['editperms'] = 'Modifier les permissions';
$labels['actions'] = 'Actions des droits daccès...';
$labels['actions'] = 'Actions des droits daccès';
$labels['anyone'] = 'Tous les utilisateurs (nimporte qui)';
$labels['anonymous'] = 'Invités (anonyme)';
$labels['identifier'] = 'Identifiant';
@ -82,7 +82,7 @@ $labels['longaclwrite'] = 'Les courriels peuvent-être marqués, écrits ou copi
$labels['longacldelete'] = 'Les courriels peuvent être supprimés';
$labels['longaclother'] = 'Autres droits daccès';
$labels['ariasummaryacltable'] = 'Liste de droits daccès';
$labels['arialabelaclactions'] = 'Lister les actions';
$labels['arialabelaclactions'] = 'Actions de listage';
$labels['arialabelaclform'] = 'Formulaire de droits daccès';
$messages['deleting'] = 'Suppression des droits daccès…';
$messages['saving'] = 'Enregistrement des droits daccès…';
@ -93,6 +93,6 @@ $messages['updateerror'] = 'Impossible de mettre à jour les droits daccès';
$messages['deleteerror'] = 'Impossible de supprimer les droits daccès';
$messages['createerror'] = 'Impossible dajouter des droits daccès';
$messages['deleteconfirm'] = 'Êtes-vous certain de vouloir retirer les droits daccès des utilisateurs sélectionnés?';
$messages['norights'] = 'Aucun droit na été spécifié!';
$messages['nouser'] = 'Aucun nom dutilisateur na été spécifié!';
$messages['norights'] = 'Aucun droit na été indiqué';
$messages['nouser'] = 'Aucun nom dutilisateur na été indiqué';
?>

@ -48,7 +48,7 @@ $labels['shortaclr'] = 'Bixwîne';
$labels['shortacls'] = 'Bihêle';
$labels['shortaclw'] = 'Binivîse';
$labels['shortacli'] = 'Tev bike';
$labels['shortaclp'] = 'Şandî';
$labels['shortaclp'] = 'Bişîne';
$labels['shortaclc'] = 'Çêke';
$labels['shortaclk'] = 'Çêke';
$labels['shortacld'] = 'Jê bibe';

@ -22,9 +22,9 @@ $labels['archiveerror'] = 'Certains courriels nont pas pu être archivés.';
$labels['archivefolder'] = 'Archives';
$labels['settingstitle'] = 'Archives';
$labels['archivetype'] = 'Diviser larchive par';
$labels['archivetypeyear'] = 'Année (ex. Archives/2012)';
$labels['archivetypemonth'] = 'Mois (ex. Archives/2012/06)';
$labels['archivetypetbmonth'] = 'Mois - compatible avec Thunderbird (p.ex. Archive/2012/2012-06)';
$labels['archivetypeyear'] = 'Année (p. ex. Archives/2012)';
$labels['archivetypemonth'] = 'Mois (p. ex. Archives/2012/06)';
$labels['archivetypetbmonth'] = 'Mois compatible avec Thunderbird (p.ex. Archive/2012/2012-06)';
$labels['archivetypefolder'] = 'Dossier original';
$labels['archivetypesender'] = 'Courriel de lexpéditeur';
$labels['unkownsender'] = 'inconnu';

@ -15,17 +15,18 @@
*/
$labels['buttontext'] = '보관';
$labels['buttontitle'] = '이 메시지를 보관함에 저장';
$labels['buttontitle'] = '이 메시지를 보관 편지함에 저장';
$labels['archived'] = '성공적으로 보관함';
$labels['archivedreload'] = '성공적으로 보관되었습니다. 페이지를 다시 불러와서 새로운 보관함 폴더를 확인하세요.';
$labels['archivedreload'] = '성공적으로 보관되었습니다. 페이지를 다시 불러와서 새로운 보관 편지함 폴더를 확인하세요.';
$labels['archiveerror'] = '일부 메시지가 보관되지 않음';
$labels['archivefolder'] = '보관';
$labels['settingstitle'] = '보관';
$labels['archivefolder'] = '보관 편지함';
$labels['settingstitle'] = '보관 편지함';
$labels['archivetype'] = '보관된 메시지 정리 기준';
$labels['archivetypeyear'] = '연도 (예: 보관/2012)';
$labels['archivetypemonth'] = '월 (예: 보관/2012/06)';
$labels['archivetypetbmonth'] = '월 - 썬더버드 호환 (예: 보관/2012/2012-06)';
$labels['archivetypefolder'] = '원본 폴더';
$labels['archivetypesender'] = '발송자 이메일';
$labels['unkownsender'] = '알 수 없음';
$labels['readonarchive'] = '편지 보관함에서 메시지를 읽음으로 표시';
$labels['readonarchive'] = '보관 편지함에서 메시지를 읽음으로 표시';
?>

@ -13,6 +13,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
*/
$messages['missingattachment'] = "Manus puudu?";
$messages['forgotattachment'] = "Unustasid faili lisada?";
$messages['reminderoption'] = "Tuleta mulle meelde kui unustasin manuse lisada";
$messages['keywords'] = "manus,manuses,lisatud,lisasin,fail,file,failis,attachment,file,attach,attached,attaching,enclosed,CV,cover letter";

@ -13,6 +13,7 @@
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-attachment_reminder/
*/
$messages['missingattachment'] = "첨부파일을 잊으셨나요?";
$messages['forgotattachment'] = "파일을 첨부하는 것을 잊으셨습니까?";
$messages['reminderoption'] = "잊었던 첨부파일 추가에 대해 알림";
$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter";
$messages['keywords'] = "attachment,file,attach,attached,attaching,enclosed,CV,cover letter,첨부,파일,동봉,이력서";

@ -0,0 +1,188 @@
#!/usr/bin/env php
<?php
/*
+-----------------------------------------------------------------------+
| This file is part of the Roundcube Webmail client |
| |
| Copyright (C) The Roundcube Dev Team |
| Copyright (C) Kolab Systems AG |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
| PURPOSE: |
| Import keys from Enigma's homedir into database for multihost |
| support. |
+-----------------------------------------------------------------------+
| Author: Aleksander Machniak <alec@alec.pl> |
+-----------------------------------------------------------------------+
*/
define('INSTALL_PATH', realpath(__DIR__ . '/../../../') . '/');
require INSTALL_PATH . 'program/include/clisetup.php';
$rcmail = rcube::get_instance();
// get arguments
$args = rcube_utils::get_opt(array(
'u' => 'user',
'h' => 'host',
'd' => 'dir',
'x' => 'dry-run',
));
if ($_SERVER['argv'][1] == 'help') {
print_usage();
exit;
}
if (empty($args['dir'])) {
rcube::raise_error("--dir argument is required", true);
}
$host = get_host($args);
$dirs = array();
// Read the homedir and iterate over all subfolders (as users)
if (empty($args['user'])) {
if ($dh = opendir($args['dir'])) {
while (($dir = readdir($dh)) !== false) {
if ($dir != '.' && $dir != '..') {
$dirs[$args['dir'] . '/' . $dir] = $dir;
}
}
closedir($dh);
}
}
// a single user
else {
$dirs = array($args['dir'] => $args['user']);
}
foreach ($dirs as $dir => $user) {
echo "Importing keys from $dir\n";
if ($user_id = get_user_id($user, $host)) {
reset_state($user_id, !empty($args['dry-run']));
import_dir($user_id, $dir, !empty($args['dry-run']));
}
}
function print_usage()
{
print "Usage: import.sh [options]\n";
print "Options:\n";
print " --user=username User, if not set --dir subfolders will be iterated\n";
print " --host=host The IMAP hostname or IP the given user is related to\n";
print " --dir=path Location of the gpg homedir\n";
print " --dry-run Do nothing, just list found user/files\n";
}
function get_host($args)
{
global $rcmail;
if (empty($args['host'])) {
$hosts = $rcmail->config->get('default_host', '');
if (is_string($hosts)) {
$args['host'] = $hosts;
}
else if (is_array($hosts) && count($hosts) == 1) {
$args['host'] = reset($hosts);
}
else {
rcube::raise_error("Specify a host name", true);
}
// host can be a URL like tls://192.168.12.44
$host_url = parse_url($args['host']);
if ($host_url['host']) {
$args['host'] = $host_url['host'];
}
}
return $args['host'];
}
function get_user_id($username, $host)
{
global $rcmail;
$db = $rcmail->get_dbh();
// find user in local database
$user = rcube_user::query($username, $host);
if (empty($user)) {
rcube::raise_error("User does not exist: $username");
}
return $user->ID;
}
function reset_state($user_id, $dry_run = false)
{
global $rcmail;
if ($dry_run) {
return;
}
$db = $rcmail->get_dbh();
$db->query("DELETE FROM " . $db->table_name('filestore', true)
. " WHERE `user_id` = ? AND `context` = ?",
$user_id, 'enigma');
}
function import_dir($user_id, $dir, $dry_run = false)
{
global $rcmail;
$db = $rcmail->get_dbh();
$table = $db->table_name('filestore', true);
$db_files = array('pubring.gpg', 'secring.gpg', 'pubring.kbx');
$maxsize = min($db->get_variable('max_allowed_packet', 1048500), 4*1024*1024) - 2000;
foreach (glob("$dir/private-keys-v1.d/*.key") as $file) {
$db_files[] = substr($file, strlen($dir) + 1);
}
foreach ($db_files as $file) {
if ($mtime = @filemtime("$dir/$file")) {
$data = file_get_contents("$dir/$file");
$data = base64_encode($data);
$datasize = strlen($data);
if ($datasize > $maxsize) {
rcube::raise_error(array(
'code' => 605, 'line' => __LINE__, 'file' => __FILE__,
'message' => "Enigma: Failed to save $file. Size exceeds max_allowed_packet."
), true, false);
continue;
}
echo "* $file\n";
if ($dry_run) {
continue;
}
$result = $db->query(
"INSERT INTO $table (`user_id`, `context`, `filename`, `mtime`, `data`)"
. " VALUES(?, 'enigma', ?, ?, ?)",
$user_id, $file, $mtime, $data);
if ($db->is_error($result)) {
rcube::raise_error(array(
'code' => 605, 'line' => __LINE__, 'file' => __FILE__,
'message' => "Enigma: Failed to save $file into database."
), true, false);
}
}
}
}

@ -146,6 +146,7 @@ rcube_webmail.prototype.enigma_import_success = function()
// Display key(s) generation form
rcube_webmail.prototype.enigma_key_create = function()
{
this.keys_list.clear_selection();
this.enigma_loadframe('&_action=plugin.enigmakeys&_a=create&_nav=hide');
};
@ -346,7 +347,7 @@ rcube_webmail.prototype.enigma_keylist_select = function(list)
{
var id = list.get_single_selection(), url;
if (id)
if (id && !list.multi_selecting)
url = '&_action=plugin.enigmakeys&_a=info&_id=' + id;
this.enigma_loadframe(url);
@ -668,7 +669,7 @@ rcube_webmail.prototype.enigma_key_not_found = function(data)
text: rcmail.get_label('enigma.sendunencrypted'),
click: function(e) {
$(this).remove();
$('#enigmaencryptopt').prop('checked', false);
$('#enigmaencryptopt').prop('checked', false).change();
rcmail.command('send', {nocheck: true}, e.target, e.originalEvent);
}
});

@ -242,8 +242,6 @@ class enigma_mime_message extends Mail_mime
}
$this->headers = array_merge($this->headers, $headers);
return;
}
else {
$output = $message->encode($boundary, $skip_head);
@ -253,9 +251,16 @@ class enigma_mime_message extends Mail_mime
}
$this->headers = array_merge($this->headers, $output['headers']);
}
return $output['body'];
// remember the boundary used, in case we'd handle headers() call later
if (empty($boundary) && !empty($this->headers['Content-Type'])) {
if (preg_match('/boundary="([^"]+)/', $this->headers['Content-Type'], $m)) {
$this->build_params['boundary'] = $m[1];
}
}
return $filename ? null : $output['body'];
}
/**

@ -436,6 +436,11 @@ class enigma_ui
$table->add_header('valid', $this->enigma->gettext('uservalid'));
foreach ($this->data->users as $user) {
// Display domains in UTF8
if ($email = rcube_utils::idn_to_utf8($user->email)) {
$user->email = $email;
}
$username = $user->name;
if ($user->comment) {
$username .= ' (' . $user->comment . ')';
@ -746,8 +751,8 @@ class enigma_ui
$identities = $plugin['identities'];
foreach ($identities as $idx => $ident) {
$name = empty($ident['name']) ? ($ident['email']) : $ident['ident'];
$attr = array('value' => $idx, 'data-name' => $ident['name'], 'data-email' => $ident['email']);
$name = format_email_recipient($ident['email'], $ident['name']);
$attr = array('value' => $idx, 'data-name' => $ident['name'], 'data-email' => $ident['email_ascii']);
$identities[$idx] = html::tag('li', null, html::label(null, $checkbox->show($idx, $attr) . rcube::Q($name)));
}

@ -63,6 +63,7 @@ $labels['keydisable'] = 'Деактивиране';
$labels['keyrevoke'] = 'Отмяна';
$labels['keysend'] = 'Изпрати писмо с публичен ключ';
$labels['keychpass'] = 'Промени паролата';
$labels['keyadd'] = 'Добавяне на ключ';
$labels['newkeyident'] = 'Самоличност';
$labels['newkeypass'] = 'Парола';
$labels['newkeypassconfirm'] = 'Потвърди паролата';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'Подпиши цифрово това писмо';
$labels['sendunencrypted'] = 'Изпрати некриптирано';
$labels['enterkeypasstitle'] = 'Въведете парола на ключа';
$labels['enterkeypass'] = 'Нужна е парола за отваряне на ключ ($keyid) за потребител $user.';
$labels['arialabelkeyexportoptions'] = 'Опции за експорт на ключ';
$labels['attachpubkeymsg'] = 'Прикачи моя публичен ключ';
$labels['keyexportprompt'] = 'Желаете ли да включите секретните ключове в записания OpenPGP файл?';
$labels['onlypubkeys'] = 'Експорт само на Публичните ключове';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Търси на сървъри за ключ
$labels['managekeys'] = 'Управление на PGP ключовете';
$labels['identitymatchingprivkeys'] = 'Имате $nr съвпадащи PGP частни ключа, съхранени във вашия ключодържател:';
$labels['identitynoprivkeys'] = 'Тази самоличност на подателя все още няма частен PGP ключ, съхраняван във вашия ключодържател.';
$labels['arialabelkeyexportoptions'] = 'Опции за експорт на ключ';
$labels['arialabelkeysearchform'] = 'Форма за търсене на ключове';
$labels['arialabelkeyoptions'] = 'Настройки на ключа';
$messages['sigvalid'] = 'Верифициран подпис от $sender.';
$messages['sigvalidpartial'] = 'Верифициран подпис от $sender, но част от съдържанието на писмото не е било подписано';
$messages['siginvalid'] = 'Невалиден подпис от $sender.';
@ -118,7 +121,7 @@ $messages['keyremoveconfirm'] = 'Желаете ли да изтриете из
$messages['keyremovesuccess'] = 'Ключовете са изтрити успешно.';
$messages['keyremoveerror'] = 'Невъзможно изтриване на ключове.';
$messages['keyimporttext'] = 'Можете да импортирате частни и публични ключове или сигнатури за отмяна в ASCII-Armor формат.';
$messages['keyimportsearchtext'] = 'Можете да търсите публични ключове по идентификатор, потребитлско име или адрес на ел. поща, след което директно да ги импортирате.';
$messages['keyimportsearchtext'] = 'Можете да търсите публични ключове по идентификатор, потребителско име или адрес на ел. поща, след което директно да ги импортирате.';
$messages['formerror'] = 'Моля попълнете формата. Всички полета са задължителни!';
$messages['passwordsdiffer'] = 'Паролите не съвпадат!';
$messages['keygenerateerror'] = 'Невъзможно генериране на ключова двойка';

@ -71,13 +71,13 @@ $labels['encryptmsg'] = 'Enrinegañ ar gemennadenn-mañ';
$labels['signmsg'] = 'Sinañ ent niverel ar gemennadenn-mañ';
$labels['enterkeypasstitle'] = 'Enankañ frazenn-dremen an alc\'hwez';
$labels['enterkeypass'] = 'Ur frazenn-dremen a zo dleet evit dibrennañ an alc\'hwez prevez ($keyid= evit an arveriad: $user';
$labels['arialabelkeyexportoptions'] = 'Dibarzhioù ezporzhiañ an alc\'hwezioù';
$labels['attachpubkeymsg'] = 'Stagañ ma alc\'hwez foran';
$labels['keyexportprompt'] = 'Fellout a ra deoc\'h enkorfañ an alc\'hwezioù kuzh er restr alc\'hwezioù OpenPGP enrollet?';
$labels['onlypubkeys'] = 'Ezporzhiañ an alc\'hwezhioù foran hepken';
$labels['withprivkeys'] = 'Ezporzhiañ an alc\'hwezioù kuzh';
$labels['findkey'] = 'Klask war an dafariad(où) alc\'hwezioù';
$labels['keyimportsearchlabel'] = 'Klask war an dafariad(où) alc\'hwezioù';
$labels['arialabelkeyexportoptions'] = 'Dibarzhioù ezporzhiañ an alc\'hwezioù';
$messages['sigvalid'] = 'Sinadur gwiriet a-berzh $sender.';
$messages['sigvalidpartial'] = 'Sinadur gwiriet a-berzh $sender, met ul lodenn eus ar c\'horf n\'eo ket enrineget.';
$messages['siginvalid'] = 'Sinadur didalvoudek a-berzh $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Digitálně podepsat tuto zprávu';
$labels['sendunencrypted'] = 'Poslat nešifrovaně';
$labels['enterkeypasstitle'] = 'Zadejte heslo pro klíč';
$labels['enterkeypass'] = 'Heslo je nutné k odemknutí soukromého klíče ($keyid) pro uživatele: $user.';
$labels['arialabelkeyexportoptions'] = 'Možnosti pro export klíčů';
$labels['attachpubkeymsg'] = 'Připojit můj veřejný klíč';
$labels['keyexportprompt'] = 'Chcete do uloženého souboru s klíči OpenPGP zahrnout i tajné klíče?';
$labels['onlypubkeys'] = 'Exportovat pouze veřejné klíče';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'Hledat klíč na keyserveru';
$labels['managekeys'] = 'Spravovat PGP klíče';
$labels['identitymatchingprivkeys'] = 'V klíčence máte $nr odpovídajících soukromých PGP klíčů:';
$labels['identitynoprivkeys'] = 'Klíčenka neobsahuje soukromý PGP klíč identity odesílatele.';
$labels['arialabelkeyexportoptions'] = 'Možnosti pro export klíčů';
$messages['sigvalid'] = 'Ověřený podpis od $sender.';
$messages['sigvalidpartial'] = 'Ověřený podpis od $sender, ale část těla není podepsána.';
$messages['siginvalid'] = 'Nesprávný podpis od $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Llofnodi\'r neges yma yn ddigidol';
$labels['sendunencrypted'] = 'Danfon heb amgodi';
$labels['enterkeypasstitle'] = 'Rhowch yr ymadrodd cyfrin';
$labels['enterkeypass'] = 'Mae angen ymadrodd cyfrin i ddatgloi allwedd breifat ($keyid) ar gyfer defnyddiwr: $user:';
$labels['arialabelkeyexportoptions'] = 'Dewisiadau allforio allweddi';
$labels['attachpubkeymsg'] = 'Atodi fy allwedd cyhoeddus';
$labels['keyexportprompt'] = 'Ydych eisiau cynnwys allweddi cyfrinachol yn y ffeil OpenPGP i\'w gadw?';
$labels['onlypubkeys'] = 'Allforio Allweddi Cyhoeddus yn unig';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'Chwilio ar weinydd(wyr) allweddi';
$labels['managekeys'] = 'Rheoli allweddi PGP';
$labels['identitymatchingprivkeys'] = 'Mae gennych $nr allwedd preifat cyfatebol wedi eu storio yn eich cylch allwedd:';
$labels['identitynoprivkeys'] = 'Nid oes gan y danfonwr hwn allwedd preifat PGP wedi ei storio yn eich estyniad cylch allwedd.';
$labels['arialabelkeyexportoptions'] = 'Dewisiadau allforio allweddi';
$messages['sigvalid'] = 'Llofnod wedi ddilysu o $sender.';
$messages['sigvalidpartial'] = 'Llofnod wedi ddilysu o $sender, ond ni arwyddywyd rhan o gorff y neges';
$messages['siginvalid'] = 'Llofnod annilys o $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Diese Nachricht digital signieren';
$labels['sendunencrypted'] = 'Unverschlüsselt senden';
$labels['enterkeypasstitle'] = 'Bitte Schlüssel Passwort eingeben';
$labels['enterkeypass'] = 'Ein Passwort wird benötigt um den privaten Schlüssel ($keyid) für Benutzer: $user zu entsperren';
$labels['arialabelkeyexportoptions'] = 'Optionen für Schlüsselexport';
$labels['attachpubkeymsg'] = 'Meinen öffentlichen Schlüssel anfügen';
$labels['keyexportprompt'] = 'Möchten Sie geheime Schlüssel in die gespeicherte OpenPGP-Schlüsseldatei mit aufnehmen?';
$labels['onlypubkeys'] = 'Nur öffentliche Schlüssel exportieren';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'Auf Schlüsselserver(n) suchen';
$labels['managekeys'] = 'PGP-Schlüssel verwalten';
$labels['identitymatchingprivkeys'] = 'Für diesen Absender sind $nr private Schlüssel in Ihrem Schlüsselbund gespeichert:';
$labels['identitynoprivkeys'] = 'Für diesen Absender existiert noch kein PGP Schlüsselpaar in Ihrem Schlüsselbund.';
$labels['arialabelkeyexportoptions'] = 'Optionen für Schlüsselexport';
$messages['sigvalid'] = 'Signatur von $sender wurde erfolgreich überprüft.';
$messages['sigvalidpartial'] = 'Signatur von $sender wurde überprüft, aber ein Teil der Nachricht wurde nicht signiert.';
$messages['siginvalid'] = 'Ungültige Signatur von $sender.';

@ -63,6 +63,7 @@ $labels['keydisable'] = 'Deaktivieren';
$labels['keyrevoke'] = 'Widerrufen';
$labels['keysend'] = 'Öffentlichen Schlüssel versenden';
$labels['keychpass'] = 'Passwort ändern';
$labels['keyadd'] = 'Schlüssel hinzufügen';
$labels['newkeyident'] = 'Identität';
$labels['newkeypass'] = 'Passwort';
$labels['newkeypassconfirm'] = 'Passwort bestätigen';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'Diese Nachricht digital signieren';
$labels['sendunencrypted'] = 'Unverschlüsselt senden';
$labels['enterkeypasstitle'] = 'Bitte Schlüsselpasswort eingeben';
$labels['enterkeypass'] = 'Ein Passwort wird benötigt, um den privaten Schlüssel ($keyid) für Benutzer »$user« zu entsperren.';
$labels['arialabelkeyexportoptions'] = 'Optionen für Schlüsselexport';
$labels['attachpubkeymsg'] = 'Meinen öffentlichen Schlüssel anfügen';
$labels['keyexportprompt'] = 'Möchten Sie geheime Schlüssel in die gespeicherte OpenPGP-Schlüsseldatei mit aufnehmen?';
$labels['onlypubkeys'] = 'Nur öffentliche Schlüssel exportieren';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Auf Schlüsselserver(n) suchen';
$labels['managekeys'] = 'PGP-Schlüssel verwalten';
$labels['identitymatchingprivkeys'] = 'Sie haben $nr passende private Schlüssel in Ihrem Schlüsselverzeichnis:';
$labels['identitynoprivkeys'] = 'Für diese Absender-Identität ist bis jetzt kein privater PGP-Schlüsselverzeichnis gespeichert.';
$labels['arialabelkeyexportoptions'] = 'Optionen für Schlüsselexport';
$labels['arialabelkeysearchform'] = 'Suchmaske für Schlüssel';
$labels['arialabelkeyoptions'] = 'Schlüsseloptionen';
$messages['sigvalid'] = 'Signatur von $sender wurde erfolgreich überprüft.';
$messages['sigvalidpartial'] = 'Signatur von $sender wurde überprüft, aber ein Teil der Nachricht wurde nicht signiert.';
$messages['siginvalid'] = 'Ungültige Signatur von $sender.';

@ -24,6 +24,7 @@ $labels['keyuserid'] = 'Ταυτότητα Χρήστη';
$labels['keytype'] = 'Τύπος κλειδιού';
$labels['fingerprint'] = 'Δακτυλικό αποτύπωμα';
$labels['subkeys'] = 'Υποκλειδιά';
$labels['keyprops'] = 'Ιδιότητες κλειδιού';
$labels['basicinfo'] = 'Βασικές πληροφορίες';
$labels['userids'] = 'Επιπλέον Χρήστες';
$labels['typepublickey'] = 'δημόσιο κλειδί';
@ -62,16 +63,20 @@ $labels['keydisable'] = 'Απενεργοποίηση';
$labels['keyrevoke'] = 'Απόσυρση';
$labels['keysend'] = 'Αποστολή δημοσίου κλειδιού στο μήνυμα';
$labels['keychpass'] = 'Αλλαγή κωδικού';
$labels['keyadd'] = 'Προσθήκη κλειδιού';
$labels['newkeyident'] = 'Ταυτότητα';
$labels['newkeypass'] = 'Κωδικός Πρόσβασης';
$labels['newkeypassconfirm'] = 'Επιβέβαιωση κωδικού πρόσβασης';
$labels['newkeysize'] = 'Μέγεθος κλειδιού';
$labels['key2048'] = '2048 bits - προκαθορισμένο';
$labels['key4096'] = '4096 bits - ασφαλέστερο';
$labels['keygenerating'] = 'Δημιουργία κλειδιών...';
$labels['encryptionoptions'] = 'Επιλογές κρυπτογράφησης...';
$labels['encryptmsg'] = 'Κρυπτογράφηση του μηνύματος';
$labels['signmsg'] = 'Ψηφιακή υπογραφή του μηνύματος';
$labels['sendunencrypted'] = 'Αποστολή χωρίς κρυπτογράφηση';
$labels['enterkeypasstitle'] = 'Εισάσετε τον κωδικό του κλειδιού';
$labels['enterkeypass'] = 'Απαιτείται ένας κωδικός για το ξεκλειδωμα του κρυφού κλειδιού ($keyid) του χρήστη: $user.';
$labels['arialabelkeyexportoptions'] = 'Επιλογές εξαγωγής κλειδιών';
$labels['attachpubkeymsg'] = 'Επισύναψη του δημόσιου κλειδιού μου';
$labels['keyexportprompt'] = 'Θέλετε να συμπεριληφθούν τα μυστικά κλειδικά στο αποθηκευμένο αρχείο κλειδιών OpenPGP;';
$labels['onlypubkeys'] = 'Εξαγωγή Δημοσίων Κλειδιών Μόνο';
@ -79,6 +84,9 @@ $labels['withprivkeys'] = 'Εξαγωγή Μυστικών Κλειδιών';
$labels['findkey'] = 'Αναζήτηση στον(ους) εξυπηρετητή(ές) κλειδιών';
$labels['keyimportlabel'] = 'Εισαγωγή από αρχείο';
$labels['keyimportsearchlabel'] = 'Αναζήτηση στον(ους) εξυπηρετητή(ές) κλειδιών';
$labels['managekeys'] = 'Διαχείριση PGP κλειδιών';
$labels['arialabelkeyexportoptions'] = 'Επιλογές εξαγωγής κλειδιών';
$labels['arialabelkeyoptions'] = 'Επιλογές κλειδιών';
$messages['sigvalid'] = 'Επαληθευμένη υπογραφή από τον $sender.';
$messages['sigvalidpartial'] = 'Επαληθευμένη υπογραφή από τον $sender, αλλά τμήμα του κειμένου δεν έχει υπογραφεί.';
$messages['siginvalid'] = 'Άκυρη υπογραφή από τον $sender.';
@ -88,14 +96,17 @@ $messages['sigerror'] = 'Ανεπαλήθευτη υπογραφή. Εσωτερ
$messages['decryptok'] = 'Το μήνυμα αποκρυπτογραφήθηκε.';
$messages['decrypterror'] = 'Η αποκρυπτογράφηση απέτυχε.';
$messages['decryptnokey'] = 'Η αποκρυπτογράφηση απέτυχε. Το ιδιωτικό κλειδί δε βρέθηκε. Ταυτότητα κλειδιού: $keyid.';
$messages['decryptbadpass'] = 'Η αποκρυπτογράφηση απέτυχε. Μη έγκυρος κωδικός πρόσβασης.';
$messages['decryptnopass'] = 'Η αποκρυπτογράφηση απέτυχε. Απαιτείται ο κωδικός του κλειδιού.';
$messages['decryptpartial'] = 'Το μήνυμα αποκρυπτογραφήθηκε, αλλά τμήμα του μηνύματος δεν ήταν κρυπτογραφημένο.';
$messages['signerror'] = 'Η υπογραφή απέτυχε.';
$messages['signnokey'] = 'Η υπογραφή απέτυχε. Το ιδιωτικό κλειδί δε βρέθηκε.';
$messages['signbadpass'] = 'Η υπογραφή απέτυχε. Λάθος κωδικός πρόσβασης.';
$messages['signnopass'] = 'Η υπογραφή απέτυχε. Απαιτείται ο κωδικός του κλειδιού.';
$messages['encrypterror'] = 'Η κρυπτογράφηση απέτυχε.';
$messages['encryptnokey'] = 'Η κρυπτογράφηση απέτυχε. Το δημόσιο κλειδί του $email δε βρέθηκε.
';
$messages['encryptnoprivkey'] = 'Η κρυπτογράφηση απέτυχε. Το ιδιωτικό κλειδί δε βρέθηκε.';
$messages['nokeysfound'] = 'Δε βρέθηκαν κλειδιά';
$messages['keynotfound'] = 'Το κλειδί δε βρέθηκε!';
$messages['keyopenerror'] = 'Αδυναμία ανάκτησης των πληροφοριών του κλειδιού! Εσωτερικό σφάλμα.';
@ -112,5 +123,6 @@ $messages['passwordsdiffer'] = 'Οι κωδικοί δεν ταιριάζουν
$messages['keygenerateerror'] = 'Αποτυχία δημιουργίας ζεύγους κλειδιών.';
$messages['keygeneratesuccess'] = 'Το ζεύγος κλειδιών δημιουργήθηκε και εισήχθη επιτυχώς.';
$messages['keygennosupport'] = 'To πρόγραμμα περιήγησής σας δεν υποστηρίζει κρυπτογράφηση. Δεν ήταν δυνατή η δημιουργία ενός ζεύγος κλειδιών!';
$messages['noidentselected'] = 'Πρέπει να επιλέξετε τουλάχιστον μια ταυτότητα για το κλειδί!';
$messages['nonameident'] = 'Η Ταυτότητα πρέπει να έχει ορισμένο όνομα χρήστη!';
?>

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Digitally sign this message';
$labels['sendunencrypted'] = 'Send unencrypted';
$labels['enterkeypasstitle'] = 'Enter key passphrase';
$labels['enterkeypass'] = 'A passphrase is needed to unlock the secret key ($keyid) for user: $user.';
$labels['arialabelkeyexportoptions'] = 'Keys export options';
$labels['attachpubkeymsg'] = 'Attach my public key';
$labels['keyexportprompt'] = 'Do you want to include secret keys in the saved OpenPGP keys file?';
$labels['onlypubkeys'] = 'Export Public Keys Only';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'Search on key server(s)';
$labels['managekeys'] = 'Manage PGP keys';
$labels['identitymatchingprivkeys'] = 'You have $nr matching PGP private keys stored in your keyring:';
$labels['identitynoprivkeys'] = 'This sender identity doesn\'t yet have a PGP private key stored in your keyring.';
$labels['arialabelkeyexportoptions'] = 'Keys export options';
$messages['sigvalid'] = 'Verified signature from $sender.';
$messages['sigvalidpartial'] = 'Verified signature from $sender, but part of the body was not signed.';
$messages['siginvalid'] = 'Invalid signature from $sender.';

@ -72,7 +72,6 @@ $labels['encryptmsg'] = 'Encriptar este mensaje.';
$labels['signmsg'] = 'Firmar digitalmente este mensaje';
$labels['enterkeypasstitle'] = 'Escriba la frase de contraseña';
$labels['enterkeypass'] = 'Se necesita una contraseña para desbloquear la clave secreta ($keyid) para el usuario: $user.';
$labels['arialabelkeyexportoptions'] = 'Opciones de claves de exportación';
$labels['attachpubkeymsg'] = 'Adjuntar mi clave pública';
$labels['keyexportprompt'] = '¿Quiere incluir claves secretas en el archivo guardado de claves OpenPGP?';
$labels['onlypubkeys'] = 'Exportar Sólo las Claves Públicas';
@ -80,6 +79,7 @@ $labels['withprivkeys'] = 'Exportar las Claves Secretas';
$labels['findkey'] = 'Buscar en servidor(es) de claves';
$labels['keyimportlabel'] = 'Importar desde archivo';
$labels['keyimportsearchlabel'] = 'Buscar en servidor(es) de claves';
$labels['arialabelkeyexportoptions'] = 'Opciones de claves de exportación';
$messages['sigvalid'] = 'Firma verificada por $sender.';
$messages['sigvalidpartial'] = 'Firma verificada de $sender, pero parte parte del cuerpo no estaba firmado.';
$messages['siginvalid'] = 'Firma inválida por $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Digitalki sinatu mezu hau';
$labels['sendunencrypted'] = 'Bidali zifratu gabe';
$labels['enterkeypasstitle'] = 'Sartu gakoaren pasaesaldia';
$labels['enterkeypass'] = 'Pasaesaldi bat behar da erabiltzaile honen gako sekretua ($keyid) desblokeatzeko: $user';
$labels['arialabelkeyexportoptions'] = 'Gakoen esportazio aukerak';
$labels['attachpubkeymsg'] = 'Erantsi nire gako publikoa';
$labels['keyexportprompt'] = 'Nahi al duzu gako sekretuak sartzea gordetako OpenPGP gakoen fitxategian?';
$labels['onlypubkeys'] = 'Esportatu bakarrik gako publikoak';
@ -85,6 +84,7 @@ $labels['findkey'] = 'Bilatu gako zerbitzari(et)an';
$labels['keyimportlabel'] = 'Inportatu fitxategitik';
$labels['keyimportsearchlabel'] = 'Bilatu gako zerbitzari(et)an';
$labels['managekeys'] = 'Kudeatu PGP gakoak';
$labels['arialabelkeyexportoptions'] = 'Gakoen esportazio aukerak';
$messages['sigvalid'] = '$sender-en sinadura egiaztatuta';
$messages['sigvalidpartial'] = '$sender-en sinadura egiaztatuta, baina testu-gorputzaren zati bat ez dago sinatua.';
$messages['siginvalid'] = '$sender-en sinadura baliogabea.';

@ -75,13 +75,15 @@ $labels['encryptmsg'] = 'Salaa tämä viesti';
$labels['signmsg'] = 'Lisää digitaalinen allekirjoitus tähän viestiin';
$labels['sendunencrypted'] = 'Lähetä salaamaton';
$labels['enterkeypasstitle'] = 'Anna tunnuslause';
$labels['arialabelkeyexportoptions'] = 'Avaimien vientivalinnat';
$labels['attachpubkeymsg'] = 'Liitä julkinen avaimeni';
$labels['onlypubkeys'] = 'Vie vain julkiset avaimet';
$labels['findkey'] = 'Etsi avainpalvelimilta';
$labels['keyimportlabel'] = 'Tuo tiedostosta';
$labels['keyimportsearchlabel'] = 'Etsi avainpalvelimilta';
$labels['managekeys'] = 'Hallinnoi PGP-avaimia';
$labels['arialabelkeyexportoptions'] = 'Avaimien vientivalinnat';
$messages['sigvalid'] = 'Vahvistettu allekirjoitus lähettäjältä $sender.';
$messages['sigvalidpartial'] = 'Vahvistettu allekirjoitus lähettäjältä $sender, mutta viestisisällön osaa ei allekirjoitettu. ';
$messages['siginvalid'] = 'Virheellinen allekirjoitus lähettäjältä $sender.';
$messages['sigunverified'] = 'Vahvistamaton allekirjoitus. Varmennetta ei ole vahvistettu. Varmenteen tunniste: $keyid.';
$messages['signokey'] = 'Vahvistamaton allekirjoitus. Julkista avainta ei löydy. Avaimen tunniste: $keyid.';
@ -89,17 +91,22 @@ $messages['sigerror'] = 'Vahvistamaton allekirjoitus. Sisäinen virhe.';
$messages['decryptok'] = 'Viestin salaus purettu.';
$messages['decrypterror'] = 'Salauksen purkaminen epäonnistui.';
$messages['decryptnokey'] = 'Salauksen purkaminen epäonnistui. Yksityistä avainta ei löytynyt. Avaimen tunniste: $keyid.';
$messages['decryptbadpass'] = 'Salauksen purkaminen epäonnistui. Väärä salasana.';
$messages['decryptnopass'] = 'Salauksen purkaminen epäonnistui. Avaimen salasana vaaditaan.';
$messages['decryptpartial'] = 'Viestin salaus purettiin, mutta osa viestisisällöstä ei ollut salattu.';
$messages['signerror'] = 'Allekirjoittaminen epäonnistui.';
$messages['signnokey'] = 'Allekirjoittaminen epäonnistui. Yksityistä avainta ei löytynyt.';
$messages['signbadpass'] = 'Allekirjoitus epäonnistui. Virheellinen salasana.';
$messages['signnopass'] = 'Allekirjoitus epäonnistui. Avaimen salasana vaaditaan.';
$messages['encrypterror'] = 'Salaaminen epäonnistui.';
$messages['encryptnokey'] = 'Salaaminen epäonnistui. Osoitteelle $email ei löytynyt julkista avainta.';
$messages['encryptnoprivkey'] = 'Salaus epäonnistui. Yksityistä avainta ei löytynyt.';
$messages['nokeysfound'] = 'Avaimia ei löytynyt';
$messages['keynotfound'] = 'Avainta ei löytynyt!';
$messages['keyopenerror'] = 'Avaintietojen noutaminen ei onnistu! Sisäinen virhe.';
$messages['keylisterror'] = 'Avainten listaaminen ei onnistu! Sisäinen virhe.';
$messages['keysimportfailed'] = 'Avaimen tuominen epäonnistui! Sisäinen virhe.';
$messages['keysimportsuccess'] = 'Avain tai avaimet tuotiin onnistuneesti. Tuotiin: $new, muuttumaton: $old.';
$messages['keyremoving'] = 'Poistetaan avaimia...';
$messages['keyremoveconfirm'] = 'Oletko varma että haluat poistaa valitut avaimet?';
$messages['keyremovesuccess'] = 'Avaimet poistettu onnistuneesti';
@ -109,5 +116,6 @@ $messages['passwordsdiffer'] = 'Salasanat eivät täsmää!';
$messages['keygenerateerror'] = 'Avainparin luominen epäonnistui';
$messages['keygeneratesuccess'] = 'Avainpari luotiin ja tuotiin onnistuneesti.';
$messages['keygennosupport'] = 'Selaimesi ei tue salaustekniikkaa. Avainparin luominen ei onnistu!';
$messages['noidentselected'] = 'Sinun täytyy valita vähintään yksi identiteetti avaimelle!';
$messages['nonameident'] = 'Identiteetillä tulee olla käyttäjänimi määritettynä!';
?>

@ -70,8 +70,8 @@ $labels['encryptmsg'] = 'Brongla hesi boð';
$labels['signmsg'] = 'Undirskriva hesi boð';
$labels['enterkeypasstitle'] = 'Skriva loyniorð';
$labels['enterkeypass'] = 'Tað er tørvur á einum loyniorðið fyri at stongja upp loyndar-lykilin ($keyid) hjá brúkara:';
$labels['arialabelkeyexportoptions'] = 'Lykla út flytingar møguleikar';
$labels['keyimportlabel'] = 'Inflyt frá fílu';
$labels['arialabelkeyexportoptions'] = 'Lykla út flytingar møguleikar';
$messages['sigvalid'] = 'Váttað undirskrift frá $sender.';
$messages['siginvalid'] = 'Ógildig undirskrift frá $sender.';
$messages['sigunverified'] = 'Óvátta undirskrift: skjal er ikki vátta. Skjal ID: $keyid.';

@ -25,20 +25,20 @@ $labels['keytype'] = 'Type de clé';
$labels['fingerprint'] = 'Empreinte';
$labels['subkeys'] = 'Sous-clés';
$labels['keyprops'] = 'Propriétés de la clé';
$labels['basicinfo'] = 'Informations de base';
$labels['basicinfo'] = 'Renseignements de base';
$labels['userids'] = 'Utilisateurs supplémentaires';
$labels['typepublickey'] = 'Clé publique';
$labels['typepublickey'] = 'clé publique';
$labels['typekeypair'] = 'biclé';
$labels['keyattfound'] = 'Ce courriel contient une/des clé(s) PGP jointe(s).';
$labels['keyattimport'] = 'Importer une/des clé(s)';
$labels['keyattfound'] = 'Ce courriel contient des clés PGP jointes.';
$labels['keyattimport'] = 'Importer des clés';
$labels['typesign'] = 'Signer';
$labels['typeencrypt'] = 'Chiffrer';
$labels['typecert'] = 'Certifier';
$labels['typeauth'] = 'Authentification';
$labels['subkeyid'] = 'ID';
$labels['subkeyalgo'] = 'Algorithme ';
$labels['subkeyalgo'] = 'Algorithme';
$labels['subkeycreated'] = 'Créée';
$labels['subkeyexpires'] = 'Expire';
$labels['subkeyexpires'] = 'Expire le';
$labels['subkeyusage'] = 'Utilisation';
$labels['expiresnever'] = 'jamais';
$labels['unknown'] = 'inconnu';
@ -57,26 +57,26 @@ $labels['wholesession'] = 'la session complète';
$labels['createkeys'] = 'Créer une nouvelle biclé';
$labels['importkeys'] = 'Importer des clés';
$labels['exportkeys'] = 'Exporter des clés';
$labels['keyactions'] = 'Actions des clés...';
$labels['keyactions'] = 'Actions des clés';
$labels['keyremove'] = 'Supprimer';
$labels['keydisable'] = 'Désactiver';
$labels['keyrevoke'] = 'Révoquer';
$labels['keysend'] = 'Envoyer la clé publique dans un courriel';
$labels['keychpass'] = 'Changer le mot de passe';
$labels['keyadd'] = 'Ajouter une clé';
$labels['newkeyident'] = 'Identité';
$labels['newkeypass'] = 'Mot de passe';
$labels['newkeypassconfirm'] = 'Confirmer le mot de passe';
$labels['newkeysize'] = 'Taille de la clé';
$labels['key2048'] = '2048 bits - par défaut';
$labels['key4096'] = '4096 bits - plus sécurisé';
$labels['keygenerating'] = 'Génération des clés...';
$labels['encryptionoptions'] = 'Options de chiffrement...';
$labels['key2048'] = '2048 bits par défaut';
$labels['key4096'] = '4096 bits plus sécurisé';
$labels['keygenerating'] = 'Génération des clés';
$labels['encryptionoptions'] = 'Options de chiffrement';
$labels['encryptmsg'] = 'Chiffrer ce courriel';
$labels['signmsg'] = 'Signer numériquement ce courriel';
$labels['sendunencrypted'] = 'Envoyer non chiffré';
$labels['enterkeypasstitle'] = 'Saisir la phrase de passe de la clé';
$labels['enterkeypass'] = 'Un phrase de passe est nécessaire pour débloquer la clé secrète ($keyid) pour lutilisateur : $user.';
$labels['arialabelkeyexportoptions'] = 'Options dexportation des clés';
$labels['attachpubkeymsg'] = 'Joindre ma clé publique';
$labels['keyexportprompt'] = 'Voulez-vous inclure les clés secrètes dans le fichier des clés OpenPGP enregistrées?';
$labels['onlypubkeys'] = 'Exporter seulement les clés publiques';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Rechercher sur les serveurs de clés';
$labels['managekeys'] = 'Gérer les clés PGP';
$labels['identitymatchingprivkeys'] = 'Vous avez $nr clés PGP privées correspondantes enregistrées dans votre trousseau :';
$labels['identitynoprivkeys'] = 'Cette identité dexpéditeur na pas encore de clé PGP privée enregistrée dans votre trousseau.';
$labels['arialabelkeyexportoptions'] = 'Options dexportation des clés';
$labels['arialabelkeysearchform'] = 'Formulaire de recherche de clés';
$labels['arialabelkeyoptions'] = 'Options des clés';
$messages['sigvalid'] = 'Signature vérifiée de $sender.';
$messages['sigvalidpartial'] = 'La signature de $sender a été vérifiée, mais une partie du corps nétait pas signée.';
$messages['siginvalid'] = 'Signature invalide de $sender.';
@ -107,23 +110,23 @@ $messages['signnopass'] = 'Échec de signature. Le mot de passe de la clé est e
$messages['encrypterror'] = 'Échec de chiffrement.';
$messages['encryptnokey'] = 'Échec de chiffrement. La clé publique est introuvable pour $email.';
$messages['encryptnoprivkey'] = 'Échec de chiffrement. La clé privée est introuvable.';
$messages['nokeysfound'] = 'Aucune clé trouvée';
$messages['keynotfound'] = 'La clé est introuvable!';
$messages['keyopenerror'] = 'Impossible dobtenir les informations sur la clé! Erreur interne.';
$messages['keylisterror'] = 'Impossible de lister les clés! Erreur interne.';
$messages['keysimportfailed'] = 'Impossible dimporter les clés! Erreur interne.';
$messages['nokeysfound'] = 'Aucune clé na été trouvée';
$messages['keynotfound'] = 'La clé est introuvable';
$messages['keyopenerror'] = 'Impossible dobtenir les Renseignements de la clé. Erreur interne.';
$messages['keylisterror'] = 'Impossible de lister les clés. Erreur interne.';
$messages['keysimportfailed'] = 'Impossible dimporter les clés. Erreur interne.';
$messages['keysimportsuccess'] = 'Importation de clé réussie. Importées : $new, non modifiées : $old.';
$messages['keyremoving'] = 'Suppression de des clés...';
$messages['keyremoving'] = 'Suppression de des clés';
$messages['keyremoveconfirm'] = 'Voulez-vous vraiment supprimer les clés sélectionnées?';
$messages['keyremovesuccess'] = 'Clés supprimées avec succès';
$messages['keyremoveerror'] = 'Impossible de supprimer les clés sélectionnées';
$messages['keyimporttext'] = 'Vous pouvez importer des clés privées et publiques ou des signatures de révocation au format ASCII-Armor.';
$messages['keyimportsearchtext'] = 'Vous pouvez chercher des clés publiques par identifiant de clé, nom dutilisateur ou adresse courriel, et ensuite les importer directement.';
$messages['formerror'] = 'Veuillez remplir le formulaire. Tous les champs sont obligatoires!';
$messages['passwordsdiffer'] = 'Les mots de passe ne correspondent pas!';
$messages['formerror'] = 'Veuillez remplir le formulaire. Tous les champs sont requis.';
$messages['passwordsdiffer'] = 'Les mots de passe ne correspondent pas';
$messages['keygenerateerror'] = 'La génération de la biclé a échoué';
$messages['keygeneratesuccess'] = 'Une biclé a été générée et importée avec succès.';
$messages['keygennosupport'] = 'Votre navigateur ne prend pas en charge le chiffrement. Activez-le pour générer une biclé!';
$messages['noidentselected'] = 'Vous devez choisir au moins une identité pour la clé!';
$messages['nonameident'] = 'Un nom dutilisateur doit être défini pour lidentité!';
$messages['keygennosupport'] = 'Votre navigateur ne prend pas en charge le chiffrement. Activez-le pour générer une biclé';
$messages['noidentselected'] = 'Vous devez choisir au moins une identité pour la clé';
$messages['nonameident'] = 'Un nom dutilisateur doit être défini pour lidentité';
?>

@ -76,7 +76,6 @@ $labels['signmsg'] = 'חתימה דיגיטלית של הודעה זו';
$labels['sendunencrypted'] = 'לשלוח ללא הצפנה';
$labels['enterkeypasstitle'] = 'נא להקיש צרור אותיות וסימנים ליצירת מפתח';
$labels['enterkeypass'] = 'יש להקיש צרור אותיות וסימנים שנבחרו קודם כדי לשחרר נעילה של המפתח הסודי (keyid$) של משתמש user$';
$labels['arialabelkeyexportoptions'] = 'אפשרויות ייצוא של מפתחות';
$labels['attachpubkeymsg'] = 'צירוף המפתח הציבורי שלי';
$labels['keyexportprompt'] = 'האם ברצונך לכלול מפתחות סודיים בקובץ השמור של המפתחות ?';
$labels['onlypubkeys'] = 'ייצוא מפתחות ציבוריים בלבד';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'חיפוש בשרת(י) מפתח';
$labels['managekeys'] = 'ניהול מפתחות הצפנה';
$labels['identitymatchingprivkeys'] = 'קיימים $nr מפתחות הצפנה פרטיים תואמים בצרור המפתחות שלך';
$labels['identitynoprivkeys'] = 'לזהות השולחת אין עדיין מפתח הצפנה פרטי בצרור המפתחות שלך';
$labels['arialabelkeyexportoptions'] = 'אפשרויות ייצוא של מפתחות';
$messages['sigvalid'] = 'אימות חתימה מ sender$';
$messages['sigvalidpartial'] = 'אומתה חתימה של sender$ אבל חלק מגוף ההודעה לא נחתם';
$messages['siginvalid'] = 'חתימה לא תקינה מ sender$';

@ -68,13 +68,13 @@ $labels['encryptionoptions'] = 'Mogućnosti šifriranja...';
$labels['encryptmsg'] = 'Šifriraj ovu poruku';
$labels['signmsg'] = 'Digitalno potpiši ovu poruku';
$labels['sendunencrypted'] = 'Pošalji nešifrirano';
$labels['arialabelkeyexportoptions'] = 'Mogućnosti izvoza ključeva';
$labels['attachpubkeymsg'] = 'Priloži moj javni ključ';
$labels['keyexportprompt'] = 'Želite li uključiti tajne ključeve iz datoteke OpenPGP ključeva?';
$labels['onlypubkeys'] = 'Izvezi samo javne ključeve';
$labels['withprivkeys'] = 'Izvezi tajne ključeve';
$labels['keyimportlabel'] = 'Uvezi iz datoteke';
$labels['managekeys'] = 'Upravljaj PGP ključevima';
$labels['arialabelkeyexportoptions'] = 'Mogućnosti izvoza ključeva';
$messages['decryptok'] = 'Poruka dešifrirana.';
$messages['decrypterror'] = 'Dešifriranje neuspješno.';
$messages['decryptnokey'] = 'Dešifriranje neuspješno. Nije pronađen privatni ključ. ID ključa: $keyid.';

@ -63,6 +63,7 @@ $labels['keydisable'] = 'Tilt';
$labels['keyrevoke'] = 'Visszavon';
$labels['keysend'] = 'Kűld el a nyilvános kulcsot az üzenetben';
$labels['keychpass'] = 'Jelszó módosítás';
$labels['keyadd'] = 'Kulcs hozzáadása';
$labels['newkeyident'] = 'Azonosító';
$labels['newkeypass'] = 'Jelszó';
$labels['newkeypassconfirm'] = 'Jelszó megerősítése';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'Ennek az üzenetnek a digtális aláírása';
$labels['sendunencrypted'] = 'Küldés titkosítatlanul';
$labels['enterkeypasstitle'] = 'Írd be a jelmondatot';
$labels['enterkeypass'] = 'Jelmondat(passphrase) szükséges a titkos kulcs ($keyid) felhasznlóhoz ($user) feloldásához. ';
$labels['arialabelkeyexportoptions'] = 'Kulcsok exportálásához opciók';
$labels['attachpubkeymsg'] = 'A nyilvános kulcsom csatolása';
$labels['keyexportprompt'] = 'A mentett OpenPGP kulcsoknál legyenek-e tárolva a titkos kulcsok is?';
$labels['onlypubkeys'] = 'Csak a nyilvános kulcsok exportálása';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Keresés a kulcs szerver(ek)en';
$labels['managekeys'] = 'PGP kulcsok kezelése';
$labels['identitymatchingprivkeys'] = '$nr egyező PGP privát kulcs van a kulcskarikádon: ';
$labels['identitynoprivkeys'] = 'Ennek küldőnek még nincs meg a PGP prívát kulcsa a kulcskarikádon.';
$labels['arialabelkeyexportoptions'] = 'Kulcsok exportálásához opciók';
$labels['arialabelkeysearchform'] = 'Kulcs kereső űrlap';
$labels['arialabelkeyoptions'] = 'Kulcs opciók';
$messages['sigvalid'] = 'A $sender feladó aláírása ellenőrízve.';
$messages['sigvalidpartial'] = 'A $sender feladó aláírása ellenőrízve, de részei az üzenetnek nem voltak aláírva.';
$messages['siginvalid'] = 'Érvénytelen aláírás a következő feladótól: $sender';

@ -72,7 +72,6 @@ $labels['signmsg'] = 'Signar digitalmente iste message';
$labels['sendunencrypted'] = 'Inviar sin cryptation';
$labels['enterkeypasstitle'] = 'Entra le contrasigno del clave';
$labels['enterkeypass'] = 'Un contrasigno es necessari pro disblocar le clave secrete ($keyid) pro le usator: $user.';
$labels['arialabelkeyexportoptions'] = 'Optiones de exportation de claves';
$labels['attachpubkeymsg'] = 'Attachar mi clave public';
$labels['keyexportprompt'] = 'Includer le claves secrete in le file de claves OpenPGP a salveguardar?';
$labels['onlypubkeys'] = 'Exportar claves public solmente';
@ -80,6 +79,7 @@ $labels['withprivkeys'] = 'Exportar claves secrete';
$labels['findkey'] = 'Cercar in servitor(es) de claves';
$labels['keyimportlabel'] = 'Importar ab file';
$labels['keyimportsearchlabel'] = 'Cercar in servitor(es) de claves';
$labels['arialabelkeyexportoptions'] = 'Optiones de exportation de claves';
$messages['sigvalid'] = 'Signatura de $sender verificate.';
$messages['sigvalidpartial'] = 'Signatura de $sender verificate, ma un parte del texto non ha essite signate.';
$messages['siginvalid'] = 'Signatura de $sender invalide.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Tandatantani pesan ini';
$labels['sendunencrypted'] = 'Kirim dengan tidak di enskripsi';
$labels['enterkeypasstitle'] = 'Masukkan frasa sandi kunci';
$labels['enterkeypass'] = 'Frasa sandi diperlukan untuk membuka kunci rahasia ($keyid) untuk pengguna: $user.';
$labels['arialabelkeyexportoptions'] = 'Opsi ekspor kunci';
$labels['attachpubkeymsg'] = 'Lampirkan kunci publik saya';
$labels['keyexportprompt'] = 'Apakah Anda ingin menyertakan kunci rahasia dalam berkas kunci OpenPGP yang disimpan?';
$labels['onlypubkeys'] = 'Ekspor Kunci Publik Saja';
@ -84,6 +83,7 @@ $labels['withprivkeys'] = 'Ekspor Kunci Rahasia';
$labels['findkey'] = 'Cari pada server kunci';
$labels['keyimportlabel'] = 'Impor dari berkas';
$labels['keyimportsearchlabel'] = 'Cari pada server kunci';
$labels['arialabelkeyexportoptions'] = 'Opsi ekspor kunci';
$messages['sigvalid'] = 'Tanda tangan terverifikasi dari $sender.';
$messages['sigvalidpartial'] = 'Tanda tangan terverifikasi dari $sender, tapi sebagian pesan tidak ditandatangani.';
$messages['siginvalid'] = 'Tanda tangan tak valid dari $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Firma digitalmente questo messaggio';
$labels['sendunencrypted'] = 'Invia non cifrato';
$labels['enterkeypasstitle'] = 'Inserisci frase sicura della chiave';
$labels['enterkeypass'] = 'È richiesta una frase segreta per sbloccare la chiave ($keyid) per l\'utente: $user.';
$labels['arialabelkeyexportoptions'] = 'Opzioni esportazione chiave';
$labels['attachpubkeymsg'] = 'Allega la mia chiave pubblica';
$labels['keyexportprompt'] = 'Vuoi includere le chiavi segrete nel file di chiavi OpenPGP salvato?';
$labels['onlypubkeys'] = 'Esporta solo chiavi pubbliche';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'Cerca nei server';
$labels['managekeys'] = 'Gestisci chiavi PGP';
$labels['identitymatchingprivkeys'] = 'Hai $nr chiavi private PGP corrispondenti memorizzate nel tuo portachiavi:';
$labels['identitynoprivkeys'] = 'L\'identità del mittente non ha ancora una chiave privata PGP memorizzata nel tuo portachiavi.';
$labels['arialabelkeyexportoptions'] = 'Opzioni esportazione chiave';
$messages['sigvalid'] = 'Firma da $sender verificata.';
$messages['sigvalidpartial'] = 'Firma da $sender verificata, ma parte del corpo del messaggio non è firmata.';
$messages['siginvalid'] = 'Firma non valida da $sender.';

@ -63,6 +63,7 @@ $labels['keydisable'] = '無効化';
$labels['keyrevoke'] = '廃止';
$labels['keysend'] = 'メッセージ中に公開鍵を送信';
$labels['keychpass'] = 'パスワードを変更';
$labels['keyadd'] = 'キーを追加';
$labels['newkeyident'] = '識別情報';
$labels['newkeypass'] = 'パスワード';
$labels['newkeypassconfirm'] = 'パスワードの確認';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'このメッセージに電子署名';
$labels['sendunencrypted'] = '暗号化しないで送信';
$labels['enterkeypasstitle'] = 'キーのパスフレーズを入力';
$labels['enterkeypass'] = 'ユーザー: $userの秘密鍵($keyid)の解除にパスフレーズが必要です。';
$labels['arialabelkeyexportoptions'] = 'キーのエクスポートのオプション';
$labels['attachpubkeymsg'] = '公開鍵を添付';
$labels['keyexportprompt'] = '保存したOpenPGPのキーファイルに秘密鍵も含めますか?';
$labels['onlypubkeys'] = '公開鍵だけエクスポート';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'キーサーバーで検索';
$labels['managekeys'] = 'PGPの鍵を管理';
$labels['identitymatchingprivkeys'] = 'キーリングに$nr個の合致するPGPのプライベートキー:';
$labels['identitynoprivkeys'] = 'この送信者の識別へのPGP秘密鍵はキーリングにまだありません。';
$labels['arialabelkeyexportoptions'] = 'キーのエクスポートのオプション';
$labels['arialabelkeysearchform'] = 'キーを検索:';
$labels['arialabelkeyoptions'] = 'キーのオプション';
$messages['sigvalid'] = '$senderからの署名を検証しました。';
$messages['sigvalidpartial'] = '$senderからの署名を検証しましたが、本文の一部は署名されていません。';
$messages['siginvalid'] = '$senderからの署名は正しくありません。';

@ -24,6 +24,7 @@ $labels['keyuserid'] = '사용자 ID';
$labels['keytype'] = '키 유형';
$labels['fingerprint'] = '지문';
$labels['subkeys'] = '하위 키';
$labels['keyprops'] = '키 속성';
$labels['basicinfo'] = '기본 정보';
$labels['userids'] = '추가 사용자';
$labels['typepublickey'] = '공개 키';
@ -62,16 +63,20 @@ $labels['keydisable'] = '비활성화';
$labels['keyrevoke'] = '폐기';
$labels['keysend'] = '메시지에 공개 키 전송';
$labels['keychpass'] = '암호 변경';
$labels['keyadd'] = '키 추가';
$labels['newkeyident'] = '신원';
$labels['newkeypass'] = '암호';
$labels['newkeypassconfirm'] = '암호 확인';
$labels['newkeysize'] = '키 크기';
$labels['key2048'] = '2048 비트 - 기본';
$labels['key4096'] = '4096 비트 - 보안 강화';
$labels['keygenerating'] = '키를 생성하는 중...';
$labels['encryptionoptions'] = '암호화 옵션...';
$labels['encryptmsg'] = '이 메시지를 암호화';
$labels['signmsg'] = '이 메시지에 디지털 서명 추가';
$labels['sendunencrypted'] = '암호화하지 않은 채로 전송';
$labels['enterkeypasstitle'] = '키 암호문 입력';
$labels['enterkeypass'] = '다음 사용자에 대한 비밀 키($keyid)의 잠금을 해제하려면 암호문이 필요합니다: $user.';
$labels['arialabelkeyexportoptions'] = '키 내보내기 옵션';
$labels['attachpubkeymsg'] = '내 공개 키 첨부';
$labels['keyexportprompt'] = '암호 키를 저장된 OpenPGP 키 파일에 포함하시겠습니까?';
$labels['onlypubkeys'] = '공개 키만 내보내기';
@ -79,6 +84,12 @@ $labels['withprivkeys'] = '비밀 키 내보내기';
$labels['findkey'] = '키 서버에서 검색';
$labels['keyimportlabel'] = '파일에서 가져오기';
$labels['keyimportsearchlabel'] = '키 서버에서 검색';
$labels['managekeys'] = 'PGP 키 관리';
$labels['identitymatchingprivkeys'] = '열쇠고리에 저장된 PGP 개인 키 중 $nr개 일치하는 키가 있습니다:';
$labels['identitynoprivkeys'] = '현재 보내는 사람 신원에는 열쇠고리에 저장된 PGP 개인 키가 없습니다.';
$labels['arialabelkeyexportoptions'] = '키 내보내기 옵션';
$labels['arialabelkeysearchform'] = '키 검색 상자';
$labels['arialabelkeyoptions'] = '키 옵션';
$messages['sigvalid'] = '$sender이(가) 보낸 검증된 서명.';
$messages['sigvalidpartial'] = '$sender의 검증된 서명이긴 하나, 본문 일부가 서명되지 않았습니다.';
$messages['siginvalid'] = '$sender이(가) 보낸 검증되지 않은 서명.';
@ -88,6 +99,7 @@ $messages['sigerror'] = '검증되지 않은 서명. 내부 오류.';
$messages['decryptok'] = '메시지가 복호화됨.';
$messages['decrypterror'] = '복호화에 실패함.';
$messages['decryptnokey'] = '복호화에 실패함. 비공개 키를 찾을 수 없음. 키 ID: $keyid.';
$messages['decryptnomdc'] = '복호화를 건너뛰었습니다. 메시지 무결성이 보호되지 않습니다.';
$messages['decryptbadpass'] = '복호화에 실패함. 잘못된 암호.';
$messages['decryptnopass'] = '복호화에 실패함. 키 암호가 필요합니다.';
$messages['decryptpartial'] = '메시지가 복호화됐지만 본문 일부가 암호화 되지 않았습니다.';
@ -97,6 +109,7 @@ $messages['signbadpass'] = '서명에 실패함. 잘못된 암호.';
$messages['signnopass'] = '서명 추가에 실패함. 키 암호가 필요합니다.';
$messages['encrypterror'] = '암호화에 실패함.';
$messages['encryptnokey'] = '암호화에 실패함. $email에 대한 공개 키를 찾을 수 없음.';
$messages['encryptnoprivkey'] = '암호화에 실패했습니다. 비공개 키를 찾을 수 없습니다.';
$messages['nokeysfound'] = '키를 찾을 수 없음';
$messages['keynotfound'] = '키를 발견하지 못함!';
$messages['keyopenerror'] = '키 정보를 얻을 수 없음! 내부 오류.';

@ -63,6 +63,7 @@ $labels['keydisable'] = 'Išjungti';
$labels['keyrevoke'] = 'Atšaukti';
$labels['keysend'] = 'Siųsti viešąjį raktą kartu su laišku';
$labels['keychpass'] = 'Keisti slaptažodį';
$labels['keyadd'] = 'Pridėti raktą';
$labels['newkeyident'] = 'Tapatybė';
$labels['newkeypass'] = 'Slaptažodis';
$labels['newkeypassconfirm'] = 'Pakartokite slaptažodį';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'Pasirašyti šį laišką';
$labels['sendunencrypted'] = 'Siųsti nešifruotą';
$labels['enterkeypasstitle'] = 'Įveskite rakto slaptafrazę';
$labels['enterkeypass'] = 'Naudotojo $user slaptajam raktui ($keyid) atrakinti reikalinga slaptafrazė.';
$labels['arialabelkeyexportoptions'] = 'Raktų eksportavimo parinktys';
$labels['attachpubkeymsg'] = 'Prisegti mano viešąjį raktą';
$labels['keyexportprompt'] = 'Ar norite įkelti privačiuosius raktus, saugojamus OpenPGP raktų faile?';
$labels['onlypubkeys'] = 'Eksportuoti tik viešuosius raktus';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Ieškoti raktų serveryje(-iuose)';
$labels['managekeys'] = 'Tvarkyti PGP raktus';
$labels['identitymatchingprivkeys'] = 'Turite $nr atitinkančius PGP privačiuosius raktus, saugomus jūsų raktinėje:';
$labels['identitynoprivkeys'] = 'Šio siuntėjo tapatybė kol kas neturi jūsų raktinėje saugomo PGP privačiojo rakto.';
$labels['arialabelkeyexportoptions'] = 'Raktų eksportavimo parinktys';
$labels['arialabelkeysearchform'] = 'Raktų paieškos forma';
$labels['arialabelkeyoptions'] = 'Rakto parinktys';
$messages['sigvalid'] = 'Galiojantis $sender parašas.';
$messages['sigvalidpartial'] = '$sender parašas patvirtintas, bet už dalį laiško nebuvo pasirašyta.';
$messages['siginvalid'] = 'Negaliojantis $sender parašas.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Digitāli parakstīt šo e-pastu';
$labels['sendunencrypted'] = 'Sūtīt nešifrētu';
$labels['enterkeypasstitle'] = 'Ievadiet atslēgas paroli';
$labels['enterkeypass'] = 'Lai atbloķētu lietotāja $user šifrēto atslēgu ($keyid), ir nepieciešama parole.';
$labels['arialabelkeyexportoptions'] = 'Atslēgu eksportēšanas iestatījumi';
$labels['attachpubkeymsg'] = 'Pievienot manu publisko atslēgu';
$labels['keyexportprompt'] = 'Vai iekļaut slepenās atslēgas saglabātajos openPGP atslēgu failos?';
$labels['onlypubkeys'] = 'Eksportēt tikai publiskās atslēgas';
@ -84,6 +83,7 @@ $labels['withprivkeys'] = 'Eksportēt slepenās atslēgas';
$labels['findkey'] = 'Meklēt atslēgu serveros.';
$labels['keyimportlabel'] = 'Importēt no faila';
$labels['keyimportsearchlabel'] = 'Meklēt atslēgu serveros.';
$labels['arialabelkeyexportoptions'] = 'Atslēgu eksportēšanas iestatījumi';
$messages['sigvalid'] = 'Pārbaudīts $sender paraksts.';
$messages['sigvalidpartial'] = 'Pārbaudīts $sender paraksts, bet daļa no e-pasta nav parakstīta.';
$messages['siginvalid'] = 'Nederīgs paraksts no $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Onderteken dit bericht digitaal';
$labels['sendunencrypted'] = 'Niet versleuteld versturen';
$labels['enterkeypasstitle'] = 'Voer sleutelwachtwoord in';
$labels['enterkeypass'] = 'Een wachtwoord is vereist om de geheime sleutel ($keyid) te openen voor gebruiker: $user.';
$labels['arialabelkeyexportoptions'] = 'Opties voor sleutels exporteren';
$labels['attachpubkeymsg'] = 'Voeg mijn publieke sleutel bij';
$labels['keyexportprompt'] = 'Wilt u geheime sleutels bewaren in het opgeslagen OpenPGP-sleutelbestand?';
$labels['onlypubkeys'] = 'Alleen publieke sleutels exporteren';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'Zoek op sleutel server(s)';
$labels['managekeys'] = 'PGP sleutels beheren';
$labels['identitymatchingprivkeys'] = 'U heeft $nr overeenkomende PGP-privésleutels opgeslagen.';
$labels['identitynoprivkeys'] = 'De afzender heeft (nog) geen PGP-privésleutel opgeslagen.';
$labels['arialabelkeyexportoptions'] = 'Opties voor sleutels exporteren';
$messages['sigvalid'] = 'Ondertekening van $sender geverifieerd.';
$messages['sigvalidpartial'] = 'Ondertekening van $sender geverifieerd, maar een deel van de inhoud was niet ondertekend.';
$messages['siginvalid'] = 'Ongeldige ondertekening van $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Podpisz wiadomość';
$labels['sendunencrypted'] = 'Wyślij niezaszyfrowaną';
$labels['enterkeypasstitle'] = 'Wprowadź hasło klucza';
$labels['enterkeypass'] = 'Wymagane jest hasło do klucza ($keyid) użytkownika: $user.';
$labels['arialabelkeyexportoptions'] = 'Opcje eksportu kluczy';
$labels['attachpubkeymsg'] = 'Załącz mój klucz publiczny';
$labels['keyexportprompt'] = 'Czy chcesz dołączyć klucze prywatne do utworzonego pliku kluczy PGP?';
$labels['onlypubkeys'] = 'Eksportuj tylko klucze publiczne';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'Wyszukiwanie na serwerach kluczy';
$labels['managekeys'] = 'Zarządzaj kluczami PGP';
$labels['identitymatchingprivkeys'] = 'Masz $nr pasujących kluczy prywatnych PGP w bazie kluczy.';
$labels['identitynoprivkeys'] = 'Brak klucza prywatnego PGP dla wybranej tożsamości nadawcy.';
$labels['arialabelkeyexportoptions'] = 'Opcje eksportu kluczy';
$messages['sigvalid'] = 'Zweryfikowany podpis nadawcy $sender.';
$messages['sigvalidpartial'] = 'Zweryfikowany podpis od $sender, ale część wiadomości nie została podpisana.';
$messages['siginvalid'] = 'Błędny podpis nadawcy $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Assinar digitalmente essa mensagem';
$labels['sendunencrypted'] = 'Enviar não criptografado';
$labels['enterkeypasstitle'] = 'Digite a frase secreta da chave';
$labels['enterkeypass'] = 'Uma frase secreta é necessária para desbloquear a chave ($keyid) para o usuário: $user.';
$labels['arialabelkeyexportoptions'] = 'Opções de exportação das chaves';
$labels['attachpubkeymsg'] = 'Anexar minha chave pública';
$labels['keyexportprompt'] = 'Deseja incluir chaves secretas no arquivo de chaves OpenPGP salva?';
$labels['onlypubkeys'] = 'Exportar somente Chaves Públicas';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'Procurar no(s) servidor(es) de chaves';
$labels['managekeys'] = 'Gerenciar chaves PGP';
$labels['identitymatchingprivkeys'] = 'Você tem $nr chaves PGP guardadas no chaveiro correspondente:';
$labels['identitynoprivkeys'] = 'A identidade deste emissor ainda não tem uma chave privada PGP armazenada em sua keyring.';
$labels['arialabelkeyexportoptions'] = 'Opções de exportação das chaves';
$messages['sigvalid'] = 'Verificar assinatura de $sender.';
$messages['sigvalidpartial'] = 'Verificar assinatura de $sender, mas parte do corpo não foi assinada.';
$messages['siginvalid'] = 'Assinatura inválida de $sender.';

@ -63,6 +63,7 @@ $labels['keydisable'] = 'Desactivar';
$labels['keyrevoke'] = 'Revogar';
$labels['keysend'] = 'Enviar chave pública numa mensagem';
$labels['keychpass'] = 'Alterar palavra-passe';
$labels['keyadd'] = 'Adicionar chave';
$labels['newkeyident'] = 'Identidade';
$labels['newkeypass'] = 'Palavra-passe';
$labels['newkeypassconfirm'] = 'Confirmar palavra-passe';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'Assinar digitalmente esta mensagem';
$labels['sendunencrypted'] = 'Enviar desencriptado';
$labels['enterkeypasstitle'] = 'Digite chave de frase de acesso';
$labels['enterkeypass'] = 'É necessária uma frase de acesso para desbloquear a chave secreta ($keyid) do utilizador: $user.';
$labels['arialabelkeyexportoptions'] = 'Opções de exportação de chaves';
$labels['attachpubkeymsg'] = 'Anexar a minha chave pública';
$labels['keyexportprompt'] = 'Deseja incluir as chaves secretas no ficheiro, guardado, de chaves OpenPGP?';
$labels['onlypubkeys'] = 'Exportar apenas Chaves Públicas';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Pesquisar no(s) servidor(es) de chaves';
$labels['managekeys'] = 'Gerir chaves PGP';
$labels['identitymatchingprivkeys'] = 'Tem $nr correspondências de chaves PGP privadas armazenadas no seu porta-chaves:';
$labels['identitynoprivkeys'] = 'Esta identidade do remetente ainda não tem uma chave PGP privada armazenada no seu porta-chaves.';
$labels['arialabelkeyexportoptions'] = 'Opções de exportação de chaves';
$labels['arialabelkeysearchform'] = 'Formulário de pesquisa de chaves';
$labels['arialabelkeyoptions'] = 'Opções da chave';
$messages['sigvalid'] = 'Assinatura verificada de $sender.';
$messages['sigvalidpartial'] = 'Assinatura verificada a partir de $sender, mas parte do corpo não foi assinado.';
$messages['siginvalid'] = 'Assinatura inválida de $sender.';

@ -71,7 +71,6 @@ $labels['encryptmsg'] = 'Criptează acest mesaj';
$labels['signmsg'] = 'Semnează digital acest mesaj';
$labels['enterkeypasstitle'] = 'Introdu fraza de acces cheie';
$labels['enterkeypass'] = 'O frază de acces este necesară pentru a debloca cheia secretă ($keyid) pentru utilizatorul: $user.';
$labels['arialabelkeyexportoptions'] = 'Opțiuni export chei';
$labels['attachpubkeymsg'] = 'Atașează cheia mea publică';
$labels['keyexportprompt'] = 'Vrei să incluzi cheile secrete în fișierul de chei OpenPGP salvat?';
$labels['onlypubkeys'] = 'Exportă doar Cheile Publice';
@ -79,6 +78,7 @@ $labels['withprivkeys'] = 'Exportă Cheile Secrete';
$labels['findkey'] = 'Caută în serverele de chei';
$labels['keyimportlabel'] = 'Importă din fișier';
$labels['keyimportsearchlabel'] = 'Caută în serverele de chei';
$labels['arialabelkeyexportoptions'] = 'Opțiuni export chei';
$messages['sigvalid'] = 'Semnătură $sender verificată.';
$messages['sigvalidpartial'] = 'Semnătură $sender verificată, dar parte a mesajului nu a fost semnat.';
$messages['siginvalid'] = 'Semnătură nevalidă de la $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = 'Подписать это сообщение';
$labels['sendunencrypted'] = 'Отправить незашифрованным';
$labels['enterkeypasstitle'] = 'Введите фразу-пароль ключа';
$labels['enterkeypass'] = 'Фраза-пароль нужна для разблокировки секретного ключа ($keyid) пользователя: $user.';
$labels['arialabelkeyexportoptions'] = 'Параметры экспорта ключей';
$labels['attachpubkeymsg'] = 'Прикрепить мой открытый ключ';
$labels['keyexportprompt'] = 'Вы хотите включить закрытые ключи в файл сохранения ключей OpenPGP?';
$labels['onlypubkeys'] = 'Экспортировать только открытые ключи';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = 'Поиск на сервере(-ах) клю
$labels['managekeys'] = 'Управление ключами PGP';
$labels['identitymatchingprivkeys'] = 'У вас есть $nr подходящих закрытых PGP ключей, хранящиеся на вашей связке ключей:';
$labels['identitynoprivkeys'] = 'У этого идентификатора отправителя еще нет закрытого ключа PGP, хранящегося в вашей связке ключей.';
$labels['arialabelkeyexportoptions'] = 'Параметры экспорта ключей';
$messages['sigvalid'] = 'Проверенная подпись $sender.';
$messages['sigvalidpartial'] = 'Проверенная подпись $sender, но часть сообщения не подписана.';
$messages['siginvalid'] = 'Недействительная подпись $sender.';

@ -63,6 +63,7 @@ $labels['keydisable'] = 'Vypnúť';
$labels['keyrevoke'] = 'Odvolať';
$labels['keysend'] = 'Odoslať verejný kľúč v správe';
$labels['keychpass'] = 'Zmeniť heslo';
$labels['keyadd'] = 'Pridať kľúč';
$labels['newkeyident'] = 'Identita';
$labels['newkeypass'] = 'Heslo';
$labels['newkeypassconfirm'] = 'Potvrdenie hesla';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'Digitálne podpísať túto správu';
$labels['sendunencrypted'] = 'Odoslať nezašifrované';
$labels['enterkeypasstitle'] = 'Zadať kľúčovú frázu';
$labels['enterkeypass'] = 'Na odomknutie tajného kľúča je potrebná kľúčová fráza ($keyid) pre používateľa: $user.';
$labels['arialabelkeyexportoptions'] = 'Nastavenia exportu kľúčov';
$labels['attachpubkeymsg'] = 'Pripojiť môj verejný kľúč';
$labels['keyexportprompt'] = 'Chcete do uloženého súboru s kľúčmi OpenPGP zahrnúť aj tajné kľúče?';
$labels['onlypubkeys'] = 'Exportovať len verejné kľúče';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Hľadať na serveri/serveroch s kľúčom';
$labels['managekeys'] = 'Spravovať kľúče PGP';
$labels['identitymatchingprivkeys'] = 'Vo vašej súprave kľúčov máte uložených $nr zodpovedajúcich súkromných kľúčov PGP.';
$labels['identitynoprivkeys'] = 'Pre túto identitu odosielateľa ešte nemáte v súprave kľúčov uložený žiadny súkromný kľúč PGP.';
$labels['arialabelkeyexportoptions'] = 'Nastavenia exportu kľúčov';
$labels['arialabelkeysearchform'] = 'Formulár pre vyhľadávanie kľúčov';
$labels['arialabelkeyoptions'] = 'Možnosti kľúča';
$messages['sigvalid'] = 'Overený podpis od $sender.';
$messages['sigvalidpartial'] = 'Overený podpis od $sender, ale časť tela podpísaná nebola.';
$messages['siginvalid'] = 'Neplatný podpis od $sender.';

@ -63,6 +63,7 @@ $labels['keydisable'] = 'Çaktivizoje';
$labels['keyrevoke'] = 'Shfuqizoje';
$labels['keysend'] = 'Dërgo kyç publik në mesazh';
$labels['keychpass'] = 'Ndryshoni fjalëkalimin';
$labels['keyadd'] = 'Shtoni kyç';
$labels['newkeyident'] = 'Identitet';
$labels['newkeypass'] = 'Fjalëkalimi';
$labels['newkeypassconfirm'] = 'Ripohoni fjalëkalimin';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'Nënshkruaje në mënyrë dixhitale këtë mesazh';
$labels['sendunencrypted'] = 'Dërgoje të pafshehtëzuar';
$labels['enterkeypasstitle'] = 'Jepni frazëkalim kyçi';
$labels['enterkeypass'] = 'Frazëkalimi është i nevojshëm për të zhbllokuar kyçin e fshehtë ($keyid) për përdoruesin: $user.';
$labels['arialabelkeyexportoptions'] = 'Mundësi eksportimi kyçesh';
$labels['attachpubkeymsg'] = 'Bashkëngjite kyçin tim publik';
$labels['keyexportprompt'] = 'Doni të përfshihen kyçe të fshehtë te kartela e ruajtur e kyçeve OpenPGP?';
$labels['onlypubkeys'] = 'Eksporto Vetëm Kyçe Publikë';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Kërko në shërbyes kyçesh';
$labels['managekeys'] = 'Administroni kyçe PGP';
$labels['identitymatchingprivkeys'] = 'Keni të depozituar në vargun tuaj të kyçeve $nr kyçe private PGP me përputhje:';
$labels['identitynoprivkeys'] = 'Ky identitet dërguesi ende nuk ka ndonjë kyç privat të depozituar në vargun tuaj të kyçeve.';
$labels['arialabelkeyexportoptions'] = 'Mundësi eksportimi kyçesh';
$labels['arialabelkeysearchform'] = 'Formular kërkimi kyçesh';
$labels['arialabelkeyoptions'] = 'Mundësi kyçesh';
$messages['sigvalid'] = 'Nënshkrim nga $sender i verifikuar.';
$messages['sigvalidpartial'] = 'Nënshkrim nga $sender i verifikuar, por spati të nënshkruar pjesë lënde.';
$messages['siginvalid'] = 'Nënshkrim i pavlefshëm nga $sender.';

@ -63,6 +63,7 @@ $labels['keydisable'] = 'Inaktivera';
$labels['keyrevoke'] = 'Upphäv';
$labels['keysend'] = 'Skicka offentlig nyckel i meddelande';
$labels['keychpass'] = 'Ändra lösenord';
$labels['keyadd'] = 'Lägg till nyckel';
$labels['newkeyident'] = 'Identitet';
$labels['newkeypass'] = 'Lösenord';
$labels['newkeypassconfirm'] = 'Bekräfta lösenord';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'Signera meddelandet';
$labels['sendunencrypted'] = 'Skicka okrypterat';
$labels['enterkeypasstitle'] = 'Ange nyckelns lösenord';
$labels['enterkeypass'] = 'Lösenord behövs för att låsa upp den privata nyckeln ($keyid) för användare $user.';
$labels['arialabelkeyexportoptions'] = 'Exportalternativ för nycklar';
$labels['attachpubkeymsg'] = 'Bifoga min offentliga nyckel';
$labels['keyexportprompt'] = 'Inkludera privata nycklar i den sparade nyckelfilen för OpenPGP?';
$labels['onlypubkeys'] = 'Exportera endast offentliga nycklar';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Sök nyckel på en eller flera servrar';
$labels['managekeys'] = 'Hantera PGP-nycklar';
$labels['identitymatchingprivkeys'] = 'Du har $nr passande privata PGP-nycklar lagrade i nyckelringen:';
$labels['identitynoprivkeys'] = 'Avsändaridentiteten har ännu ingen privat PGP-nyckel lagrad i nyckelringen.';
$labels['arialabelkeyexportoptions'] = 'Exportalternativ för nycklar';
$labels['arialabelkeysearchform'] = 'Sökformulär för nycklar';
$labels['arialabelkeyoptions'] = 'Alternativ för nycklar';
$messages['sigvalid'] = 'Signatur verifierad för $sender.';
$messages['sigvalidpartial'] = 'Signatur verifierad för $sender, men meddelandet var delvis osignerat.';
$messages['siginvalid'] = 'Ogiltig signatur från $sender.';

@ -63,6 +63,7 @@ $labels['keydisable'] = 'Devre dışı';
$labels['keyrevoke'] = 'Geri al';
$labels['keysend'] = 'İletiyle birlikte ortak anahtar gönderilsin';
$labels['keychpass'] = 'Parolayı değiştir';
$labels['keyadd'] = 'Anahtar ekle';
$labels['newkeyident'] = 'Kimlik';
$labels['newkeypass'] = 'Parola';
$labels['newkeypassconfirm'] = 'Parola Onayı';
@ -76,7 +77,6 @@ $labels['signmsg'] = 'İletiyi dijital imzala';
$labels['sendunencrypted'] = 'Şifrelenmemiş olarak gönder';
$labels['enterkeypasstitle'] = 'Anahtar sözcüğünüzü yazın';
$labels['enterkeypass'] = 'Gizli anahtarı ($keyid) açmak için $user kullanıcısının anahtar sözcüğü gerekli.';
$labels['arialabelkeyexportoptions'] = 'Anahtar dışa aktarma ayarları';
$labels['attachpubkeymsg'] = 'Genel anahtarımı ekle';
$labels['keyexportprompt'] = 'OpenPGP anahtar dosyasına gizli anahtarları da kaydetmek istiyor musunuz?';
$labels['onlypubkeys'] = 'Yalnız Genel Anahtarları Dışa Aktar';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = 'Anahtarı sunucu(lar)da ara';
$labels['managekeys'] = 'PGP Anahtarları Yönetimi';
$labels['identitymatchingprivkeys'] = 'Anahtarlığınızda eşleşen $nr PGP özel anahtarı var:';
$labels['identitynoprivkeys'] = 'Henüz bu gönderici kimliği için PGP anahtarlığınızda bir özel anahtar bulunmuyor.';
$labels['arialabelkeyexportoptions'] = 'Anahtar dışa aktarma ayarları';
$labels['arialabelkeysearchform'] = 'Anahtar arama formu';
$labels['arialabelkeyoptions'] = 'Anahtar seçenekleri';
$messages['sigvalid'] = '$sender imzası geçerli.';
$messages['sigvalidpartial'] = '$sender imzası doğrulandı, ancak metnin tümü imzalanmamış.';
$messages['siginvalid'] = '$sender imzası geçersiz.';

@ -71,7 +71,6 @@ $labels['encryptmsg'] = 'Шифрувати це повідомлення';
$labels['signmsg'] = 'Поставити цифровий підпис під повідомленням';
$labels['enterkeypasstitle'] = 'Введіть фразу-пароль ключа';
$labels['enterkeypass'] = 'Необхідна фраза-пароль для відімкнення секретного ключа ($keyid) для користувача: $user.';
$labels['arialabelkeyexportoptions'] = 'Опції експорту ключів';
$labels['attachpubkeymsg'] = 'Приєднати мій публічний ключ';
$labels['keyexportprompt'] = 'Бажаєте включити приватні ключі у файл-ключів OpenPGP?';
$labels['onlypubkeys'] = 'Експортувати публічні ключі';
@ -79,6 +78,7 @@ $labels['withprivkeys'] = 'Експортувати приватні ключі'
$labels['findkey'] = 'Пошук по ключовому(вих) серверах';
$labels['keyimportlabel'] = 'Імпортувати з файлу';
$labels['keyimportsearchlabel'] = 'Пошук по ключовому(вих) серверах';
$labels['arialabelkeyexportoptions'] = 'Опції експорту ключів';
$messages['sigvalid'] = 'Перевірений підпис від $sender.';
$messages['sigvalidpartial'] = 'Перевірений підпис від $sender, але частина тіла повідомлення не було підписано.';
$messages['siginvalid'] = 'Недійсний підпис від $sender.';

@ -76,7 +76,6 @@ $labels['signmsg'] = '数字签名此邮件';
$labels['sendunencrypted'] = '不加密发送';
$labels['enterkeypasstitle'] = '请输入密钥口令';
$labels['enterkeypass'] = '需要口令解锁私钥 ($keyid),用户:$user。';
$labels['arialabelkeyexportoptions'] = '密钥导出选项';
$labels['attachpubkeymsg'] = '附加我的公钥';
$labels['keyexportprompt'] = '您要在保存的 OpenPGP 密钥文件中包含私钥吗?';
$labels['onlypubkeys'] = '仅导出公钥';
@ -87,6 +86,7 @@ $labels['keyimportsearchlabel'] = '在密钥服务器上搜索';
$labels['managekeys'] = '管理 PGP 密钥';
$labels['identitymatchingprivkeys'] = '你的钥匙环中有 $nr 项符合条件的 PGP 私钥:';
$labels['identitynoprivkeys'] = '你的钥匙环中没有符合此发件人身份的 PGP 私钥';
$labels['arialabelkeyexportoptions'] = '密钥导出选项';
$messages['sigvalid'] = '已验证来自 $sender 的签名。';
$messages['sigvalidpartial'] = '已验证来自 $sender 的签名,但主体部分未被签名。';
$messages['siginvalid'] = '无效的来自 $sender 的签名。';

@ -63,6 +63,7 @@ $labels['keydisable'] = '停用';
$labels['keyrevoke'] = '撤銷';
$labels['keysend'] = '在郵件傳送公開金鑰';
$labels['keychpass'] = '更改密碼';
$labels['keyadd'] = '加入金鑰';
$labels['newkeyident'] = '身分';
$labels['newkeypass'] = '使用者密碼';
$labels['newkeypassconfirm'] = '確認密碼';
@ -76,7 +77,6 @@ $labels['signmsg'] = '數位簽署本郵件';
$labels['sendunencrypted'] = '以不加密方式傳送';
$labels['enterkeypasstitle'] = '輸入金鑰密語';
$labels['enterkeypass'] = '需要密語才能為使用者 $user 解鎖密鑰 ($keyid)';
$labels['arialabelkeyexportoptions'] = '金鑰匯出選項';
$labels['attachpubkeymsg'] = '附上我的公開金鑰';
$labels['keyexportprompt'] = '是否包括儲存在 OpenPGP 金鑰檔案的密鑰?';
$labels['onlypubkeys'] = '僅匯出公開金鑰';
@ -87,6 +87,9 @@ $labels['keyimportsearchlabel'] = '在金鑰伺服器搜尋';
$labels['managekeys'] = '管理 PGP 金鑰';
$labels['identitymatchingprivkeys'] = '您的鑰匙圈有 $nr 個符合的 PGP 私鑰:';
$labels['identitynoprivkeys'] = '傳送者的身分不符合您鑰匙圈中 PGP 私鑰的任何一個。';
$labels['arialabelkeyexportoptions'] = '金鑰匯出選項';
$labels['arialabelkeysearchform'] = '金鑰搜尋表格';
$labels['arialabelkeyoptions'] = '金鑰選項';
$messages['sigvalid'] = '來自 $sender 的已驗證簽名';
$messages['sigvalidpartial'] = '來自 $sender 的已驗證簽名,但內文部分並未簽署';
$messages['siginvalid'] = '來自 $sender 的無效簽名';

@ -82,7 +82,7 @@
<roundcube:include file="/includes/footer.html" />
<script type="text/javascript">
<script>
new rcube_splitter({ id:'enigmakeyssplitter', p1:'#enigmakeyslist', p2:'#enigmacontent-box',
orientation:'v', relative:true, start:266, min:180, size:12 }).init();
</script>

@ -0,0 +1,21 @@
<?php
/*
+-----------------------------------------------------------------------+
| plugins/hide_blockquote/localization/<lang>.inc |
| |
| Localization file of the Roundcube Webmail Hide-Blockquote plugin |
| Copyright (C) 2012-2013, The Roundcube Dev Team |
| |
| Licensed under the GNU General Public License version 3 or |
| any later version with exceptions for skins & plugins. |
| See the README file for a full license statement. |
| |
+-----------------------------------------------------------------------+
For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-hide_blockquote/
*/
$labels['hide'] = 'Ocultar';
$labels['show'] = 'Mostrar';
$labels['quotelimit'] = 'Ocultar cita cuando el número de líneas es mayor de';
?>

@ -6,7 +6,7 @@ $config['jquery_ui_i18n'] = array('datepicker');
// map Roundcube skins with jquery-ui themes here
$config['jquery_ui_skin_map'] = array(
'larry' => 'larry',
'default' => 'larry',
'default' => 'elastic',
);
?>

@ -18,6 +18,10 @@ class jqueryui extends rcube_plugin
private static $features = array();
private static $ui_theme;
private static $skin_map = array(
'larry' => 'larry',
'default' => 'elastic',
);
public function init()
{
@ -35,9 +39,9 @@ class jqueryui extends rcube_plugin
// include UI stylesheet
$skin = $rcmail->config->get('skin');
$ui_map = $rcmail->config->get('jquery_ui_skin_map', array());
$ui_map = $rcmail->config->get('jquery_ui_skin_map', self::$skin_map);
$skins = array_keys($rcmail->output->skins);
$skins[] = 'larry';
$skins[] = 'elastic';
foreach ($skins as $skin) {
self::$ui_theme = $ui_theme = $ui_map[$skin] ?: $skin;
@ -111,7 +115,7 @@ class jqueryui extends rcube_plugin
$config_str = rcube_output::json_serialize($config);
$rcube->output->include_css('plugins/jqueryui/' . $css);
$rcube->output->add_header(html::tag('script', array('type' => 'text/javascript', 'src' => $script)));
$rcube->output->include_script($script, 'head', false);
$rcube->output->add_script('$.fn.miniColors = $.fn.minicolors; $("input.colors").minicolors(' . $config_str . ')', 'docready');
$rcube->output->set_env('minicolors_config', $config);
}
@ -137,7 +141,7 @@ class jqueryui extends rcube_plugin
$rcube->output->include_css('plugins/jqueryui/' . $css);
}
$rcube->output->add_header(html::tag('script', array('type' => "text/javascript", 'src' => $script)));
$rcube->output->include_script($script, 'head', false);
}
/**

@ -1,3 +1,8 @@
- Replace "Filter disabled" with "Filter enabled" (#7028)
- Fix so modifier type select wasn't hidden after hiding modifier select on header change
- Fix filter selection after removing a first filter (#7079)
- Fix bug where it wasn't possible to save flag actions (#7188)
* version 9.3 [2019-04-21]
-----------------------------------------------------------
- Use RFC-compliant line endings, CRLF instead of LF (#6686)

@ -698,7 +698,7 @@ class rcube_sieve_engine
$delheader_op = rcube_utils::get_input_value('_action_delheader_op', rcube_utils::INPUT_POST);
$delheader_comp = rcube_utils::get_input_value('_action_delheader_comp', rcube_utils::INPUT_POST);
$this->form['disabled'] = !empty($_POST['_disabled']);
$this->form['disabled'] = empty($_POST['_enabled']);
$this->form['join'] = $join == 'allof';
$this->form['name'] = $name;
$this->form['tests'] = array();
@ -1084,16 +1084,12 @@ class rcube_sieve_engine
case 'addflag':
case 'setflag':
case 'removeflag':
$_target = array();
if (empty($flags[$idx])) {
$this->errors['actions'][$i]['target'] = $this->plugin->gettext('noflagset');
}
else {
foreach ($flags[$idx] as $flag) {
$_target[] = $this->strip_value($flag);
}
$this->form['actions'][$i]['target'] = $this->strip_value($flags[$idx]);
if (empty($this->form['actions'][$i]['target'])) {
$this->errors['actions'][$i]['flag'] = $this->plugin->gettext('noflagset');
}
$this->form['actions'][$i]['target'] = $_target;
break;
case 'addheader':
@ -1508,7 +1504,7 @@ class rcube_sieve_engine
$_SESSION['managesieve-compact-form'] = $compact;
// do not allow creation of new rules
if ($fid == null && in_array('new_rule', $this->disabled_actions)) {
if ($fid === null && in_array('new_rule', $this->disabled_actions)) {
$this->rc->output->show_message('managesieve.disabledaction', 'error');
return;
}
@ -1556,12 +1552,13 @@ class rcube_sieve_engine
$this->filtersets_list(array('id' => 'sievescriptname'), true)
);
}
else if ($compact) {
$out .= sprintf("\n" . '<div class="form-group row form-check">'
. '<label for="disabled" class="col-sm-4 col-form-label">%s</label>'
. '<div class="col-sm-8 form-check"><input type="checkbox" id="disabled" name="_disabled" value="1" /></div></div>',
rcube::Q($this->plugin->gettext('filterdisabled')));
}
$out .= sprintf("\n" . '<div class="form-group row form-check">'
. '<label for="fenabled" class="col-sm-4 col-form-label">%s</label>'
. '<div class="col-sm-8 form-check">'
. '<input type="checkbox" id="fenabled" name="_enabled" value="1"' . (empty($scr['disabled']) ? ' checked' : '') . ' />'
. '</div></div>',
rcube::Q($this->plugin->gettext('filterenabled')));
if ($compact) {
$select = new html_select(array('name' => '_join', 'id' => '_join',
@ -2284,7 +2281,7 @@ class rcube_sieve_engine
}
$flout .= $this->list_input($id, 'action_flags', $custom_flags, true,
$this->error_class($id, 'action', 'flags', 'action_flags'));
$this->error_class($id, 'action', 'flag', 'action_flags_flag'), null, false, "action_flags_flag{$id}");
$out .= html::div(array(
'id' => 'action_flags' . $id,
@ -2546,7 +2543,7 @@ class rcube_sieve_engine
return $trim ? trim($str) : $str;
}
protected function error_class($id, $type, $target, $elem_prefix='')
protected function error_class($id, $type, $target, $elem_prefix = '')
{
// TODO: tooltips
if (($type == 'test' && ($str = $this->errors['tests'][$id][$target])) ||
@ -2578,7 +2575,7 @@ class rcube_sieve_engine
$this->rc->output->add_script($script, 'docready');
}
protected function list_input($id, $name, $value, $enabled, $class, $size = null, $hidden = false)
protected function list_input($id, $name, $value, $enabled, $class, $size = null, $hidden = false, $elem_id = null)
{
$value = (array) $value;
$value = array_map(array('rcube', 'Q'), $value);
@ -2589,7 +2586,7 @@ class rcube_sieve_engine
'data-size' => $size,
'data-hidden' => $hidden ?: null,
'name' => '_' . $name . '[' . $id . ']',
'id' => $name.$id,
'id' => $elem_id ?: ($name.$id),
'disabled' => !$enabled,
'class' => $class,
'style' => 'display:none',

@ -91,6 +91,7 @@ $labels['none'] = 'няма';
$labels['fromset'] = 'от набор';
$labels['fromfile'] = 'от файл';
$labels['filterdisabled'] = 'Изключен филтър';
$labels['filterenabled'] = 'Включен филтър';
$labels['countisgreaterthan'] = 'брой е по-голям от';
$labels['countisgreaterthanequal'] = 'брой е по-голям или равен на';
$labels['countislessthan'] = 'брой е по-малък от';
@ -273,3 +274,4 @@ $messages['emptyvacationbody'] = 'Липсва текст на писмо при
$messages['duplicate.conflict.err'] = 'Не е позволено едновременното използване на заглавен блок и уникален идентификатор.';
$messages['disabledaction'] = 'Непозволенo действие.';
$messages['lastindexempty'] = 'Необходим е индекс, когато се брои от края';
$messages['noflagset'] = 'Поне един флаг трябва да е избран.';

@ -91,6 +91,7 @@ $labels['none'] = 'nic';
$labels['fromset'] = 'ze sady';
$labels['fromfile'] = 'ze souboru';
$labels['filterdisabled'] = 'Filtr neaktivní';
$labels['filterenabled'] = 'Filtr aktivní';
$labels['countisgreaterthan'] = 'počet je větší než';
$labels['countisgreaterthanequal'] = 'počet je větší nebo roven';
$labels['countislessthan'] = 'počet je nižší než';

@ -91,6 +91,7 @@ $labels['none'] = 'dim';
$labels['fromset'] = 'o set';
$labels['fromfile'] = 'o ffeil';
$labels['filterdisabled'] = 'Analluogwyd hidlydd';
$labels['filterenabled'] = 'Galluogwyd yr hidlydd';
$labels['countisgreaterthan'] = 'rhif yn fwy na';
$labels['countisgreaterthanequal'] = 'rhif yn fwy na neu hafal i';
$labels['countislessthan'] = 'rhif yn llai na';

@ -91,6 +91,7 @@ $labels['none'] = 'keine';
$labels['fromset'] = 'aus Filtersatz';
$labels['fromfile'] = 'aus Datei';
$labels['filterdisabled'] = 'Filter deaktiviert';
$labels['filterenabled'] = 'Filter aktiviert';
$labels['countisgreaterthan'] = 'Anzahl ist größer als';
$labels['countisgreaterthanequal'] = 'Anzahl ist gleich oder größer als';
$labels['countislessthan'] = 'Anzahl ist kleiner als';

@ -97,6 +97,8 @@ $labels['flagdeleted'] = 'Διεγραμμένο';
$labels['flaganswered'] = 'Απαντήθηκε ';
$labels['flagflagged'] = 'Σημειωμένο';
$labels['flagdraft'] = 'Πρόχειρα';
$labels['headername'] = 'Όνομα κεφαλίδας';
$labels['headervalue'] = 'Τιμή κεφαλίδας';
$labels['setvariable'] = 'Ορισμός μεταβλητής';
$labels['setvarname'] = 'Όνομα μεταβλητης:';
$labels['setvarvalue'] = 'Τιμη μεταβλητης:';
@ -225,3 +227,4 @@ $messages['invaliddateformat'] = 'Μη έγκυρη ημερομηνία ή η
$messages['saveerror'] = 'Αδύνατη η αποθήκευση δεδομένων. Προέκυψε σφάλμα στον διακομιστή';
$messages['emptyvacationbody'] = 'Απαιτείται κείμενο για το μήνυμα διακοπών!';
$messages['duplicate.conflict.err'] = 'Το μοναδικό αναγνωριστικό και το αναγνωριστικό κεφαλίδας δεν επιτρέπονται.';
$messages['disabledaction'] = 'Μη επιτρεπόμενη ενέργεια.';

@ -91,6 +91,7 @@ $labels['none'] = 'none';
$labels['fromset'] = 'from set';
$labels['fromfile'] = 'from file';
$labels['filterdisabled'] = 'Filter disabled';
$labels['filterenabled'] = 'Filter enabled';
$labels['countisgreaterthan'] = 'count is greater than';
$labels['countisgreaterthanequal'] = 'count is greater than or equal to';
$labels['countislessthan'] = 'count is less than';

@ -91,6 +91,7 @@ $labels['none'] = 'none';
$labels['fromset'] = 'from set';
$labels['fromfile'] = 'from file';
$labels['filterdisabled'] = 'Filter disabled';
$labels['filterenabled'] = 'Filter enabled';
$labels['countisgreaterthan'] = 'count is greater than';
$labels['countisgreaterthanequal'] = 'count is greater than or equal to';
$labels['countislessthan'] = 'count is less than';
@ -275,3 +276,4 @@ $messages['emptyvacationbody'] = 'Body of vacation message is required!';
$messages['duplicate.conflict.err'] = 'Both header and unique identifier are not allowed.';
$messages['disabledaction'] = 'Action not permitted.';
$messages['lastindexempty'] = 'Index is required when counting from end';
$messages['noflagset'] = 'At least one flag must be selected.';

@ -21,6 +21,7 @@ $labels['filtername'] = 'Nombre del filtro';
$labels['newfilter'] = 'Nuevo filtro';
$labels['filteradd'] = 'Añadir filtro';
$labels['filterdel'] = 'Eliminar filtro';
$labels['rules'] = 'Reglas';
$labels['actions'] = 'Acciones';
$labels['scope'] = 'Ámbito';
$labels['moveup'] = 'Mover arriba';
@ -40,6 +41,14 @@ $labels['filterregex'] = 'coincide con la expresión regular';
$labels['filternotregex'] = 'no coincide con la expresión regular';
$labels['filterunder'] = 'bajo';
$labels['filterover'] = 'sobre';
$labels['mime'] = 'MIME:';
$labels['mimepart'] = 'Parte MIME:';
$labels['mime-message'] = 'mensaje';
$labels['mime-anychild'] = 'cualquiera';
$labels['mime-type'] = 'tipo';
$labels['mime-subtype'] = 'subtipo';
$labels['mime-contenttype'] = 'tipo de contenido';
$labels['mime-param'] = 'parámetro';
$labels['addrule'] = 'Añadir regla';
$labels['delrule'] = 'Eliminar regla';
$labels['messagemoveto'] = 'Mover mensaje a';
@ -56,7 +65,7 @@ $labels['add'] = 'Añadir';
$labels['del'] = 'Eliminar';
$labels['sender'] = 'Remitente';
$labels['recipient'] = 'Destinatario';
$labels['vacationaddr'] = 'Mis direcciones de email:';
$labels['vacationaddr'] = 'Mis direcciones de correo electrónico:';
$labels['vacationdays'] = 'Cada cuánto enviar mensajes (en días):';
$labels['vacationinterval'] = 'Cada cuánto enviar mensajes:';
$labels['vacationreason'] = 'Cuerpo del mensaje (razón de vacaciones):';
@ -66,20 +75,29 @@ $labels['days'] = 'días';
$labels['seconds'] = 'segundos';
$labels['rulestop'] = 'Parar de evaluar reglas';
$labels['enable'] = 'Habilitar/Deshabilitar';
$labels['filterset'] = 'Conjunto de filtros';
$labels['filtersets'] = 'Conjuntos de filtros';
$labels['filtersetadd'] = 'Agregar conjunto de filtros';
$labels['filtersetdel'] = 'Eliminar conjunto de filtros';
$labels['filtersetact'] = 'Activar este conjunto de filtros';
$labels['filtersetdeact'] = 'Desactivar este conjunto de filtros';
$labels['filterseteditraw'] = 'Editar conjunto de filtros';
$labels['filterdef'] = 'Definición de filtros';
$labels['active'] = 'activo';
$labels['filtersetswitch'] = 'Habilitar/deshabilitar conjunto de filtros';
$labels['filterdef'] = 'Creación de filtros';
$labels['filtersetname'] = 'Nombre del conjunto de filtros';
$labels['newfilterset'] = 'Nuevo conjunto de filtros';
$labels['active'] = 'Activar';
$labels['none'] = 'ninguno';
$labels['fromset'] = 'de conjunto';
$labels['fromfile'] = 'de archivo';
$labels['filterdisabled'] = 'Filtro deshabilitado';
$labels['fromset'] = 'desde conjunto';
$labels['fromfile'] = 'desde archivo';
$labels['filterdisabled'] = 'Filtro desactivado';
$labels['filterenabled'] = 'Filtro activado';
$labels['countisgreaterthan'] = 'contiene más que';
$labels['countisgreaterthanequal'] = 'contiene más o igual que';
$labels['countislessthan'] = 'contiene menos que';
$labels['countislessthanequal'] = 'contiene menos o igual que';
$labels['countequals'] = 'contiene igual que';
$labels['countnotequals'] = 'la cuenta no es igual a';
$labels['countnotequals'] = 'la longitud no es igual a';
$labels['valueisgreaterthan'] = 'el valor es mayor que';
$labels['valueisgreaterthanequal'] = 'el valor es mayor o igual que';
$labels['valueislessthan'] = 'el valor es menor que';
@ -94,6 +112,18 @@ $labels['flagdeleted'] = 'Eliminado';
$labels['flaganswered'] = 'Respondido';
$labels['flagflagged'] = 'Marcado';
$labels['flagdraft'] = 'Borrador';
$labels['addheader'] = 'Agregar encabezado al mensaje';
$labels['deleteheader'] = 'Eliminar encabezado del mensaje';
$labels['headername'] = 'Nombre del encabezado';
$labels['headervalue'] = 'Valor del encabezado';
$labels['headerpos'] = 'Posición del encabezado';
$labels['headeratstart'] = 'al principio';
$labels['headeratend'] = 'al final';
$labels['headeroccurrence'] = 'Posición/aparición del encabezado';
$labels['headerfromstart'] = 'desde el principio';
$labels['headerfromend'] = 'desde el final';
$labels['headerpatterns'] = 'Patrones del valor del encabezado';
$labels['headermatchtype'] = 'tipo de coincidencia:';
$labels['setvariable'] = 'Establecer variable';
$labels['setvarname'] = 'Nombre de la variable:';
$labels['setvarvalue'] = 'Valor de la variable:';
@ -158,42 +188,50 @@ $labels['asciicasemap'] = 'no sensible a mayúsculas (ascii-casemap)';
$labels['asciinumeric'] = 'numerico (ascii-numeric)';
$labels['index'] = 'índice:';
$labels['indexlast'] = 'hacia atrás';
$labels['vacation'] = 'Aviso de ausencia';
$labels['vacation.reply'] = 'Mensaje de respuesta';
$labels['vacation.advanced'] = 'Configuración avanzada';
$labels['vacation.from'] = 'Responder a la dirección del remitente';
$labels['vacation.subject'] = 'Asunto';
$labels['vacation.body'] = 'Cuerpo';
$labels['vacation.start'] = 'Fecha y hora de incio de ausencia';
$labels['vacation.end'] = 'Fecha y hora de regreso a la oficina';
$labels['vacation.status'] = 'Estado';
$labels['vacation.on'] = 'Activado';
$labels['vacation.off'] = 'Desactivado';
$labels['vacation.addresses'] = 'Mis direcciones de email';
$labels['vacation.addresses'] = 'Mis direcciones de correo electrónico';
$labels['vacation.interval'] = 'Intervalo de respuesta';
$labels['vacation.after'] = 'Poner la regla de ausencia después';
$labels['vacation.saving'] = 'Guardando datos...';
$labels['vacation.action'] = 'Acción de mensaje entrante';
$labels['vacation.action'] = 'Acción para mensaje entrante';
$labels['vacation.keep'] = 'Mantener';
$labels['vacation.discard'] = 'Descartar';
$labels['vacation.redirect'] = 'Redireccionar a';
$labels['vacation.redirect'] = 'Reenviar a';
$labels['vacation.copy'] = 'Enviar copia a';
$labels['forward.redirect'] = 'Redireccionar a';
$labels['forward'] = 'Reenvío';
$labels['forward.redirect'] = 'Reenviar a';
$labels['forward.copy'] = 'Enviar copia a';
$labels['forward.on'] = 'Activado';
$labels['forward.off'] = 'Desactivado';
$labels['forward.saving'] = 'Guardando datos...';
$labels['forward.status'] = 'Estado:';
$labels['forward.action'] = 'Para mensajes entrantes ejecutar la siguiente acción:';
$labels['forward.saving'] = 'Guardando información...';
$labels['filladdresses'] = 'Rellenar con todas mis direcciones';
$labels['arialabelfiltersetactions'] = 'Acciones de un paquete de filtros';
$labels['arialabelfilteractions'] = 'Acciones de filtro';
$labels['arialabelfilterform'] = 'Propiedades de filtro';
$labels['arialabelfiltersetactions'] = 'Acciones de conjunto de filtros';
$labels['arialabelfilteractions'] = 'Filtrar acciones';
$labels['arialabelfilterform'] = 'Filtrar propiedades';
$labels['ariasummaryfilterslist'] = 'Lista de filtros';
$labels['ariasummaryfiltersetslist'] = 'Lista de paquetes de filtros';
$labels['filterstitle'] = 'Editar filtros de mensajes entrantes';
$labels['vacationtitle'] = 'Editar la regla fuera-de-la-oficina';
$labels['ariasummaryfiltersetslist'] = 'Lista de conjunto de filtros';
$labels['filterstitle'] = 'Editar filtros para mensajes entrantes';
$labels['vacationtitle'] = 'Editar reglas de ausencia';
$labels['forwardtitle'] = 'Editar regla de reenvío de correo';
$labels['message'] = 'Mensaje';
$labels['duplicate'] = 'está duplicado';
$labels['notduplicate'] = 'no está duplicado';
$labels['duplicate.handle'] = 'manejar:';
$labels['duplicate.header'] = 'encabezamiento:';
$labels['duplicate.uniqueid'] = 'identificador:';
$labels['duplicate.seconds'] = 'tiempo (segundos):';
$labels['duplicate.seconds'] = 'límite de tiempo (en segundos):';
$labels['duplicate.last'] = 'relativo a la última ejecución';
$messages['filterunknownerror'] = 'Error desconocido en el servidor.';
$messages['filterconnerror'] = 'No se pudo conectar con el servidor managesieve.';
@ -208,6 +246,16 @@ $messages['actiondeleteconfirm'] = '¿Está seguro de que desea borrar la acció
$messages['forbiddenchars'] = 'Caracteres prohibidos en el campo.';
$messages['cannotbeempty'] = 'El campo no puede estar vacío.';
$messages['ruleexist'] = 'Ya existe un filtro con el nombre especificado.';
$messages['setactivateerror'] = 'Imposible activar el conjunto de filtros seleccionado. Ocurrió un error en el servidor.';
$messages['setdeactivateerror'] = 'Imposible desactivar el conjunto de filtros seleccionado. Ocurrió un error en el servidor.';
$messages['setdeleteerror'] = 'Imposible borrar el conjunto de filtros seleccionado. Ocurrió un error en el servidor.';
$messages['setactivated'] = 'Conjunto de filtros activados satisfactoriamente.';
$messages['setdeactivated'] = 'Conjunto de filtros desactivados satisfactoriamente.';
$messages['setdeleted'] = 'Conjunto de filtros eliminados satisfactoriamente.';
$messages['setupdated'] = 'Conjunto de filtros actualizados satisfactoriamente.';
$messages['setdeleteconfirm'] = '¿Estás seguro de que deseas eliminar el conjunto de filtros seleccionado?';
$messages['setcreateerror'] = 'Imposible crear el conjunto de filtros seleccionado. Ocurrió un error en el servidor.';
$messages['setcreated'] = 'Conjunto de filtros creado satisfactoriamente.';
$messages['activateerror'] = 'No se pudo habilitar filtro(s) seleccionado(s). Ha ocurrido un error en el servidor.';
$messages['deactivateerror'] = 'No se pudo deshabilitar filtro(s) seleccionado(s). Ha ocurrido un error en el servidor.';
$messages['deactivated'] = 'Filtro(s) deshabilitado(s) correctamente.';
@ -218,7 +266,12 @@ $messages['nametoolong'] = 'Nombre demasiado largo.';
$messages['namereserved'] = 'Nombre reservado.';
$messages['setexist'] = 'El conjunto ya existe.';
$messages['nodata'] = '¡Al menos una posición debe ser seleccionada!';
$messages['invaliddateformat'] = 'Fecha o formato de parte de la fecha no válido';
$messages['invaliddateformat'] = 'Fecha o formato de fecha inválido';
$messages['saveerror'] = 'No se pudo guardar los datos. Ha ocurrido un error en el servidor.';
$messages['emptyvacationbody'] = '¡Hace falta un texto en el mensaje de vacaciones!';
$messages['duplicate.conflict.err'] = 'Tanto el encabezameinto, como el identificador único no están permitidos.';
$messages['vacationsaved'] = 'Datos de ausencia guardados satisfactoriamente.';
$messages['forwardsaved'] = 'Datos de reenvío guardados satisfactoriamente.';
$messages['emptyvacationbody'] = '¡Hace falta un texto en el mensaje de ausencia!';
$messages['duplicate.conflict.err'] = 'Tanto el encabezamiento, como el identificador único, no están permitidos.';
$messages['disabledaction'] = 'Acción no permitida.';
$messages['lastindexempty'] = 'Se necesita un índice cuando se cuenta desde el final';
$messages['noflagset'] = 'Al menos una etiqueta debe estar seleccionada';

@ -41,7 +41,14 @@ $labels['filterregex'] = 'vastab regulaaravaldisele';
$labels['filternotregex'] = 'ei vasta regulaaravaldisele';
$labels['filterunder'] = 'alt';
$labels['filterover'] = 'üle';
$labels['mime'] = 'MIME:';
$labels['mimepart'] = 'MIME osa:';
$labels['mime-message'] = 'sõnum';
$labels['mime-anychild'] = 'mistahes';
$labels['mime-type'] = 'tüüp';
$labels['mime-subtype'] = 'alamtüüp';
$labels['mime-contenttype'] = 'sisu tüüp';
$labels['mime-param'] = 'parameeter';
$labels['addrule'] = 'Lisa reegel';
$labels['delrule'] = 'Kustuta reegel';
$labels['messagemoveto'] = 'Liiguta kiri';
@ -51,27 +58,40 @@ $labels['messagesendcopy'] = 'Saada kirja koopia';
$labels['messagereply'] = 'Vasta kirjaga';
$labels['messagedelete'] = 'Kustuta kiri';
$labels['messagediscard'] = 'Viska ära teatega';
$labels['messagekeep'] = 'Hoia kirjad sisendkaustas';
$labels['messagesrules'] = 'Siseneva kirja puhul, mis:';
$labels['messagesactions'] = '...käivita järgnevad tegevused:';
$labels['add'] = 'Lisa';
$labels['del'] = 'Kustuta';
$labels['sender'] = 'Saatja';
$labels['recipient'] = 'Saaja';
$labels['vacationaddr'] = 'Minu e-posti aadressid:';
$labels['vacationdays'] = 'Kui tihti kirju saata (päevades):';
$labels['vacationinterval'] = 'Kui tihti kirju saata:';
$labels['vacationreason'] = 'Kirja sisu (puhkuse põhjus):';
$labels['vacationfrom'] = 'Vastuse saatja aadress:';
$labels['vacationsubject'] = 'Kirja teema:';
$labels['days'] = 'päeva';
$labels['seconds'] = 'sekundit';
$labels['rulestop'] = 'Peata reeglite otsimine';
$labels['enable'] = 'Luba/keela';
$labels['filterset'] = 'Filtri kogum';
$labels['filtersets'] = 'Filtri kogum';
$labels['filtersetadd'] = 'Lisa filtrite kogum';
$labels['filtersetdel'] = 'Kustuta filtrite kogum';
$labels['filtersetact'] = 'Aktiveeri see filtrite kogum';
$labels['filtersetdeact'] = 'Deaktiveeri see filtrite kogum';
$labels['filterseteditraw'] = 'Muuda filtrite kogumit';
$labels['filtersetswitch'] = 'Luba/keela filtrite kogum';
$labels['filterdef'] = 'Filtri definitsioon';
$labels['filtersetname'] = 'Filtrite kogumi nimi';
$labels['newfilterset'] = 'Uus filtrite kogum';
$labels['active'] = 'aktiivne';
$labels['none'] = 'puudub';
$labels['fromset'] = 'kogumist';
$labels['fromfile'] = 'failist';
$labels['filterdisabled'] = 'Filter keelatud';
$labels['filterenabled'] = 'Filter lubatud';
$labels['countisgreaterthan'] = 'koguarv on suurem kui';
$labels['countisgreaterthanequal'] = 'koguarv on suurem kui või võrdne';
$labels['countislessthan'] = 'koguarv on väiksem';
@ -92,6 +112,18 @@ $labels['flagdeleted'] = 'Kustutatud';
$labels['flaganswered'] = 'Vastatud';
$labels['flagflagged'] = 'Märgistatud';
$labels['flagdraft'] = 'Mustand';
$labels['addheader'] = 'Lisa kirjale päis';
$labels['deleteheader'] = 'Eemalda kirjast päis';
$labels['headername'] = 'Päise nimi';
$labels['headervalue'] = 'Päise väärtus';
$labels['headerpos'] = 'Päise positsioon';
$labels['headeratstart'] = 'alguses';
$labels['headeratend'] = 'lõpus';
$labels['headeroccurrence'] = 'Päise positsioon';
$labels['headerfromstart'] = 'algusest';
$labels['headerfromend'] = 'lõpust';
$labels['headerpatterns'] = 'Päise väärtuse mustrid';
$labels['headermatchtype'] = 'vastavuse tüüp:';
$labels['setvariable'] = 'Määra muutuja';
$labels['setvarname'] = 'Muutuja nimi:';
$labels['setvarvalue'] = 'Muutuja väärtus:';
@ -103,6 +135,10 @@ $labels['varupperfirst'] = 'esimene märk on suurtäht';
$labels['varquotewildcard'] = 'tsiteeri erimärke';
$labels['varlength'] = 'pikkus';
$labels['notify'] = 'Saada teavitus';
$labels['notifytarget'] = 'Teavituse sihtmärk:';
$labels['notifymessage'] = 'Teavituse sõnum (valikuline):';
$labels['notifyoptions'] = 'Teavituse valikud (valikuline):';
$labels['notifyfrom'] = 'Teavituse saatja (valikuline):';
$labels['notifyimportance'] = 'Tähtsus:';
$labels['notifyimportancelow'] = 'madal';
$labels['notifyimportancenormal'] = 'tavaline';
@ -114,6 +150,7 @@ $labels['filtercreate'] = 'Loo filter';
$labels['usedata'] = 'Kasuta filtris järgmisi andmeid:';
$labels['nextstep'] = 'Järgmine samm';
$labels['...'] = '…';
$labels['string'] = 'Tekst';
$labels['currdate'] = 'Praegune kuupäev';
$labels['datetest'] = 'Kuupäev';
$labels['dateheader'] = 'päis:';
@ -151,26 +188,89 @@ $labels['asciicasemap'] = 'tõstutundetu (ascii-casemap)';
$labels['asciinumeric'] = 'numbriline (ascii-numeric)';
$labels['index'] = 'indeks:';
$labels['indexlast'] = 'tagasisuunas';
$labels['vacation'] = 'Kontorist väljas';
$labels['vacation.reply'] = 'Vasta sõnumiga';
$labels['vacation.advanced'] = 'Lisaseaded';
$labels['vacation.from'] = 'Vastuse saatja aadress';
$labels['vacation.subject'] = 'Pealkiri';
$labels['vacation.body'] = 'Keha';
$labels['vacation.start'] = 'Alguse aeg';
$labels['vacation.end'] = 'Lõpu aeg';
$labels['vacation.status'] = 'Staatus';
$labels['vacation.on'] = 'Sees';
$labels['vacation.off'] = 'Väljas';
$labels['vacation.addresses'] = 'Minu e-maili aadress';
$labels['vacation.interval'] = 'Vastuse sagedus';
$labels['vacation.after'] = 'Pane kontorist väljas reeglel peale';
$labels['vacation.saving'] = 'Salvestan andmeid...';
$labels['vacation.action'] = 'Saabuva kirja tegevus';
$labels['vacation.keep'] = 'Säilita';
$labels['vacation.discard'] = 'Loobu';
$labels['vacation.redirect'] = 'Suuna';
$labels['vacation.copy'] = 'Saada koopia';
$labels['forward'] = 'Edastamine';
$labels['forward.redirect'] = 'Suuna';
$labels['forward.copy'] = 'Saada koopia';
$labels['forward.on'] = 'Sees';
$labels['forward.off'] = 'Väljas';
$labels['forward.status'] = 'Staatus:';
$labels['forward.action'] = 'Sisenevatele kirjadele käivita järgmine tegevus:';
$labels['forward.saving'] = 'Salvestan andmeid...';
$labels['filladdresses'] = 'Täida minu aadressidega';
$labels['arialabelfiltersetactions'] = 'Filtrikogumi tegevused';
$labels['arialabelfilteractions'] = 'Filtri tegevused';
$labels['arialabelfilterform'] = 'Filtri omadused';
$labels['ariasummaryfilterslist'] = 'Filtrite nimekiri';
$labels['ariasummaryfiltersetslist'] = 'Filtrikogumite nimekiri';
$labels['filterstitle'] = 'Muuda sisenevate kirjade filtreid';
$labels['vacationtitle'] = 'Muuda kontorist väljas reeglit';
$labels['forwardtitle'] = 'Muuda kirja edastamise reeglit';
$labels['message'] = 'Kiri';
$labels['duplicate'] = 'on duplikaat';
$labels['notduplicate'] = 'ei ole duplikaat';
$labels['duplicate.handle'] = 'käsitlus:';
$labels['duplicate.header'] = 'päis:';
$labels['duplicate.uniqueid'] = 'tuvastaja:';
$labels['duplicate.seconds'] = 'aegumine (sekundit):';
$labels['duplicate.last'] = 'suhteline viimasest käivitusest';
$messages['filterunknownerror'] = 'Tundmatu serveri tõrge';
$messages['filterconnerror'] = 'Managesieve serveriga ühendumine nurjus';
$messages['filterdeleteerror'] = 'Ei saa filtrit kustutada. Ilmnes serveri viga.';
$messages['filterdeleted'] = 'Filter edukalt kustutatud';
$messages['filtersaved'] = 'Filter edukalt salvestatud';
$messages['filtersaveerror'] = 'Ei saa filtrit salvestada. Ilmnes serveri viga.';
$messages['filterformerror'] = 'Filtri vormis on vead.';
$messages['filterdeleteconfirm'] = 'Soovid valitud filtri kustutada?';
$messages['ruledeleteconfirm'] = 'Soovid valitud reegli kustutada?';
$messages['actiondeleteconfirm'] = 'Soovid valitud tegevuse kustutada?';
$messages['forbiddenchars'] = 'Väljal on lubamatu märk';
$messages['cannotbeempty'] = 'Väli ei või tühi olla';
$messages['ruleexist'] = 'Määratud nimega filter on juba olemas';
$messages['setactivateerror'] = 'Ei saa valitud filtrite kogumit aktiveerida. Ilmnes serveri viga.';
$messages['setdeactivateerror'] = 'Ei saa valitud filtrite kogumit deaktiveerida. Ilmnes serveri viga.';
$messages['setdeleteerror'] = 'Ei saa valitud filtrite kogumit kustutada. Ilmnes serveri viga.';
$messages['setactivated'] = 'Filtrite kogum aktiveeritud.';
$messages['setdeactivated'] = 'Filtrite kogum deaktiveeritud.';
$messages['setdeleted'] = 'Filtrite kogum kustutatud.';
$messages['setupdated'] = 'Filtrite kogum uuendatud.';
$messages['setdeleteconfirm'] = 'Oled kindel, et tahd valitud filtrite kogumit kustutada?';
$messages['setcreateerror'] = 'Ei saa filtrite kogumit luua. Ilmnes serveri viga.';
$messages['setcreated'] = 'Filtrite kogum loodud.';
$messages['activateerror'] = 'Ei saa valitud filtrit/(eid) aktiveerida. Ilmnes serveri viga.';
$messages['deactivateerror'] = 'Ei saa valitud filtrit/(eid) keelata. Ilmnes serveri viga.';
$messages['deactivated'] = 'Filter edukalt lubatud.';
$messages['activated'] = 'Filter edukalt keelatud.';
$messages['moved'] = 'Filter edukalt liigutatud.';
$messages['moveerror'] = 'Ei saa valitud filtrit liigutada. Ilmnes serveri viga.';
$messages['nametoolong'] = 'Nimi on liiga pikk.';
$messages['namereserved'] = 'Nimi on reserveeritud.';
$messages['setexist'] = 'Kogum on juba olemas.';
$messages['nodata'] = 'Valitud peab olema vähemalt üks asukoht!';
$messages['invaliddateformat'] = 'Vigane kuupäev või kuupäeva formaat';
$messages['saveerror'] = 'Ei saa andmeid salvestada. Imnes serveri viga.';
$messages['vacationsaved'] = 'Kontorist väljas teade edukalt salvestatud.';
$messages['forwardsaved'] = 'Edastuse info edukalt salvestatud.';
$messages['emptyvacationbody'] = 'Puhkuse sõnumi sinu on nõutud!';
$messages['duplicate.conflict.err'] = 'Päis ja unikaalne identifikaator ei ole korraga lubatud.';
$messages['disabledaction'] = 'Tegevus ei ole lubatud.';
$messages['lastindexempty'] = 'Indeks on vajalik kui loendada lõpust';

@ -60,7 +60,7 @@ $labels['messagedelete'] = 'Supprimer le courriel';
$labels['messagediscard'] = 'Rejeter avec le courriel';
$labels['messagekeep'] = 'Conserver le courriel dans la boîte de réception';
$labels['messagesrules'] = 'Pour les courriels entrants :';
$labels['messagesactions'] = '...exécuter les actions suivantes :';
$labels['messagesactions'] = 'exécuter les actions suivantes :';
$labels['add'] = 'Ajouter';
$labels['del'] = 'Supprimer';
$labels['sender'] = 'Expéditeur';
@ -91,6 +91,7 @@ $labels['none'] = 'aucun';
$labels['fromset'] = 'à partir du jeu';
$labels['fromfile'] = 'à partir du fichier';
$labels['filterdisabled'] = 'Filtre désactivé';
$labels['filterenabled'] = 'Le filtre est activé';
$labels['countisgreaterthan'] = 'total supérieur à';
$labels['countisgreaterthanequal'] = 'total supérieur ou égal à';
$labels['countislessthan'] = 'total inférieur à';
@ -148,7 +149,7 @@ $labels['notifymethodsms'] = 'Texto';
$labels['filtercreate'] = 'Créer un filtre';
$labels['usedata'] = 'Utiliser les données suivantes dans le filtre :';
$labels['nextstep'] = 'Étape suivante';
$labels['...'] = '...';
$labels['...'] = '';
$labels['string'] = 'Chaîne';
$labels['currdate'] = 'Date actuelle';
$labels['datetest'] = 'Date';
@ -165,7 +166,7 @@ $labels['time'] = 'heure (hh:mm:ss)';
$labels['iso8601'] = 'date (ISO8601)';
$labels['std11'] = 'date (RFC2822)';
$labels['zone'] = 'fuseau horaire';
$labels['weekday'] = 'jour de la semaine (0-6)';
$labels['weekday'] = 'jour de la semaine (0 à 6)';
$labels['advancedopts'] = 'Options avancées';
$labels['body'] = 'Corps';
$labels['address'] = 'adresse';
@ -201,7 +202,7 @@ $labels['vacation.off'] = 'Arrêt';
$labels['vacation.addresses'] = 'Mes adresses courriel';
$labels['vacation.interval'] = 'Plage de réponse';
$labels['vacation.after'] = 'Mettre la règle davis dabsence après';
$labels['vacation.saving'] = 'Enregistrement des données...';
$labels['vacation.saving'] = 'Enregistrement des données';
$labels['vacation.action'] = 'Action pour courriel entrant';
$labels['vacation.keep'] = 'Garder';
$labels['vacation.discard'] = 'Rejeter';
@ -214,7 +215,7 @@ $labels['forward.on'] = 'Marche';
$labels['forward.off'] = 'Arrêt';
$labels['forward.status'] = 'État :';
$labels['forward.action'] = 'Pour les courriels entrants, exécuter laction suivante :';
$labels['forward.saving'] = 'Enregistrement des données...';
$labels['forward.saving'] = 'Enregistrement des données';
$labels['filladdresses'] = 'Remplir avec toutes mes adresses';
$labels['arialabelfiltersetactions'] = 'Actions des jeux de filtrage';
$labels['arialabelfilteractions'] = 'Actions de filtrage';
@ -255,8 +256,8 @@ $messages['setupdated'] = 'Le jeu de filtres a été mis à jour avec succès.';
$messages['setdeleteconfirm'] = 'Voulez vous vraiment supprimer le jeu de filtres sélectionné?';
$messages['setcreateerror'] = 'Impossible de créer un jeu de filtres. Une erreur de serveur est survenue.';
$messages['setcreated'] = 'Le jeu de filtres a été créé avec succès.';
$messages['activateerror'] = 'Impossible dactiver le/les filtre(s) sélectionné(s). Une erreur de serveur est survenue.';
$messages['deactivateerror'] = 'Impossible de désactiver le/les filtre(s) sélectionné(s). Une erreur de serveur est survenue.';
$messages['activateerror'] = 'Impossible dactiver les filtres sélectionnés. Une erreur de serveur est survenue.';
$messages['deactivateerror'] = 'Impossible de désactiver les filtres sélectionnés. Une erreur de serveur est survenue.';
$messages['deactivated'] = 'Filtres désactivés avec succès.';
$messages['activated'] = 'Filtres activés avec succès.';
$messages['moved'] = 'Filtre déplacé avec succès.';
@ -264,12 +265,13 @@ $messages['moveerror'] = 'Impossible de déplacer le filtre sélectionné. Une e
$messages['nametoolong'] = 'Nom trop long.';
$messages['namereserved'] = 'Nom réservé.';
$messages['setexist'] = 'Le jeu existe déjà.';
$messages['nodata'] = 'Au moins un élément doit être sélectionné!';
$messages['nodata'] = 'Au moins un élément doit être sélectionné.';
$messages['invaliddateformat'] = 'Format de date ou dune partie de la date invalide';
$messages['saveerror'] = 'Impossible denregistrer les données. Une erreur du serveur est survenue.';
$messages['vacationsaved'] = 'Les données davis dabsence ont été enregistrées avec succès.';
$messages['forwardsaved'] = 'Les données de transfert ont été enregistrées avec succès.';
$messages['emptyvacationbody'] = 'Le corps du courriel de vacances est exigé!';
$messages['emptyvacationbody'] = 'Le corps du courriel de vacances est requis';
$messages['duplicate.conflict.err'] = 'Len-tête et lidentifiant unique ne sont pas permis.';
$messages['disabledaction'] = 'Laction nest pas permise.';
$messages['lastindexempty'] = 'Lindex est exigé en comptant de la fin';
$messages['lastindexempty'] = 'Lindex est requis en comptant de la fin';
$messages['noflagset'] = 'Au moins un drapeau doit être sélectionné.';

@ -91,6 +91,7 @@ $labels['none'] = 'אף אחד מאלה';
$labels['fromset'] = 'מקבוצה';
$labels['fromfile'] = 'מקובץ';
$labels['filterdisabled'] = 'מסנן מושבת';
$labels['filterenabled'] = 'מופעל מסנן';
$labels['countisgreaterthan'] = 'המספר גדול מ-';
$labels['countisgreaterthanequal'] = 'המספר גדול או שווה ל-';
$labels['countislessthan'] = 'המספר קטן מ-';

@ -91,6 +91,7 @@ $labels['none'] = 'nincs';
$labels['fromset'] = 'készletből';
$labels['fromfile'] = 'fájlból';
$labels['filterdisabled'] = 'Szűrő kikapcsolása';
$labels['filterenabled'] = 'Szűrő engedélyezve';
$labels['countisgreaterthan'] = 'a számláló nagyobb mint';
$labels['countisgreaterthanequal'] = 'a számláló nagyobb vagy egyenlő';
$labels['countislessthan'] = 'a számláló kissebb mint';

@ -75,9 +75,16 @@ $labels['days'] = 'hari';
$labels['seconds'] = 'detik';
$labels['rulestop'] = 'Berhenti mengevaluasi aturan';
$labels['enable'] = 'Aktifkan/Non-Aktifkan';
$labels['filterset'] = 'Set tapis';
$labels['filtersets'] = 'Himpunan banyak filter';
$labels['filtersetadd'] = 'Tambahkan set tapis';
$labels['filtersetdel'] = 'Hapus set tapis';
$labels['filtersetact'] = 'Aktifkan set tapis saat ini';
$labels['filtersetdeact'] = 'Nonaktifkan set tapis saat ini';
$labels['filterseteditraw'] = 'Sunting set penyaring';
$labels['filterdef'] = 'Definisi filter';
$labels['filtersetname'] = 'Nama set tapis';
$labels['newfilterset'] = 'Set tapis baru';
$labels['active'] = 'aktif';
$labels['none'] = 'nihil';
$labels['fromset'] = 'dari himpunan';
@ -167,16 +174,20 @@ $labels['asciicasemap'] = 'case insensitive (ascii-casemap)';
$labels['asciinumeric'] = 'numeric (ascii-numeric)';
$labels['index'] = 'indeks:';
$labels['indexlast'] = 'mundur:';
$labels['vacation'] = 'Di Luar Kantor';
$labels['vacation.reply'] = 'Balas pesan';
$labels['vacation.advanced'] = 'Pengaturan Lanjutan';
$labels['vacation.from'] = 'Alamat pengirim balasan';
$labels['vacation.subject'] = 'Judul';
$labels['vacation.body'] = 'Isi';
$labels['vacation.start'] = 'Waktu mulai';
$labels['vacation.end'] = 'Waktu berakhir';
$labels['vacation.status'] = 'Status';
$labels['vacation.on'] = 'Nyala';
$labels['vacation.off'] = 'Mati';
$labels['vacation.addresses'] = 'Alamat email saya';
$labels['vacation.interval'] = 'Balas secara interval';
$labels['vacation.after'] = 'Pasang aturan di-luar-kantor setelah';
$labels['vacation.saving'] = 'Menyimpan data...';
$labels['vacation.action'] = 'Tindakan untuk pesan masuk';
$labels['vacation.keep'] = 'Simpan';
@ -221,6 +232,16 @@ $messages['actiondeleteconfirm'] = 'Yakin untuk menghapus tindakan terpilih?';
$messages['forbiddenchars'] = 'Karakter terlarang pada isian.';
$messages['cannotbeempty'] = 'Isian tidak bisa kosong.';
$messages['ruleexist'] = 'Penyaringan dengan nama tersebut sudah ada.';
$messages['setactivateerror'] = 'Tidak bisa mengaktifkan set tapis yang dipilih. Terjadi kesalahan server.';
$messages['setdeactivateerror'] = 'Tidak bisa menonaktifkan set tapis yang dipilih. Terjadi kesalahan server.';
$messages['setdeleteerror'] = 'Tidak bisa menghapus set tapis yang dipilih. Terjadi kesalahan server.';
$messages['setactivated'] = 'Set tapis sukses diaktifkan.';
$messages['setdeactivated'] = 'Set tapis sukses dinonaktifkan.';
$messages['setdeleted'] = 'Set tapis sukses dihapus.';
$messages['setupdated'] = 'Set tapis sukses diperbarui';
$messages['setdeleteconfirm'] = 'Anda yakin hendak menghapus set tapis yang dipilih?';
$messages['setcreateerror'] = 'Tidak bisa membuat set tapis. Terjadi kesalahan server.';
$messages['setcreated'] = 'Set tapis sukses dibuat.';
$messages['activateerror'] = 'Tidak dapat mengaktifkan penyaringan terpilih. Terjadi kesalahan pada server';
$messages['deactivateerror'] = 'Tidak dapat mematikan penyaringan terpilih. Terjadi kesalahan pada server';
$messages['deactivated'] = 'Berhasil menghidupkan penyaringan.';
@ -233,6 +254,7 @@ $messages['setexist'] = 'Kumpulan sudah ada.';
$messages['nodata'] = 'Setidaknya satu posisi harus dipilih!';
$messages['invaliddateformat'] = 'Format tanggal atau bagian dari tanggal salah';
$messages['saveerror'] = 'Tidak dapat menyimpan data. Terjadi kesalahan pada server.';
$messages['vacationsaved'] = 'Data di-luar-kantor sukses disimpan';
$messages['forwardsaved'] = 'Meneruskan data sukses tersimpan';
$messages['emptyvacationbody'] = 'Tubuh pesan liburan diperlukan!';
$messages['duplicate.conflict.err'] = 'Header dan identifier unik keduanya tidak diijinkan.';

@ -90,7 +90,8 @@ $labels['active'] = '有効';
$labels['none'] = 'なし';
$labels['fromset'] = 'セットから';
$labels['fromfile'] = 'ファイルから';
$labels['filterdisabled'] = 'フィルターを無効にしました。';
$labels['filterdisabled'] = 'フィルターは無効';
$labels['filterenabled'] = 'フィルターは有効';
$labels['countisgreaterthan'] = 'より大きい回数';
$labels['countisgreaterthanequal'] = '以上の回数';
$labels['countislessthan'] = '未満の回数';
@ -273,3 +274,4 @@ $messages['emptyvacationbody'] = '休暇のメッセージの本文が必要で
$messages['duplicate.conflict.err'] = 'ヘッダーと一意な識別子の両方は同時に使用できません。';
$messages['disabledaction'] = '許可されていない動作です。';
$messages['lastindexempty'] = '最後から数える時はインデックスが必要';
$messages['noflagset'] = '少なくともフラッグを1つ選択しなければなりません。';

@ -21,6 +21,8 @@ $labels['filtername'] = '필터명';
$labels['newfilter'] = '새로운 필터';
$labels['filteradd'] = '필터 추가';
$labels['filterdel'] = '필터 삭제';
$labels['rules'] = '규칙';
$labels['actions'] = '행동';
$labels['scope'] = '범위';
$labels['moveup'] = '위로 이동';
$labels['movedown'] = '아래로 이동';
@ -39,6 +41,14 @@ $labels['filterregex'] = '다음 정규 표현식과 일치함';
$labels['filternotregex'] = '다음 정규 표현식과 일치하지 않음';
$labels['filterunder'] = '다음보다 아래임';
$labels['filterover'] = '다음보다 위임';
$labels['mime'] = 'MIME:';
$labels['mimepart'] = 'MIME 일부:';
$labels['mime-message'] = '메시지';
$labels['mime-anychild'] = '모두';
$labels['mime-type'] = '유형';
$labels['mime-subtype'] = '하위 유형';
$labels['mime-contenttype'] = '내용 유형';
$labels['mime-param'] = '매개변수';
$labels['addrule'] = '규칙 추가';
$labels['delrule'] = '규칙 삭제';
$labels['messagemoveto'] = '메시지를 다음 위치로 이동';
@ -65,14 +75,23 @@ $labels['days'] = '일';
$labels['seconds'] = '초';
$labels['rulestop'] = '규칙 평가를 중단';
$labels['enable'] = '활성화/비활성화';
$labels['filterset'] = '필터 세트';
$labels['filtersets'] = '필터 세트';
$labels['filtersetadd'] = '필터 세트 추가';
$labels['filtersetdel'] = '필터 세트 삭제';
$labels['filtersetact'] = '현재 필터 세트 활성화';
$labels['filtersetdeact'] = '현재 필터 세트 비활성화';
$labels['filterseteditraw'] = '필터 세트 편집';
$labels['filtersetswitch'] = '필터 세트 활성화/비활성화';
$labels['filterdef'] = '필터 정의';
$labels['filtersetname'] = '필터 세트 이름';
$labels['newfilterset'] = '새 필터 세트';
$labels['active'] = '활성화됨';
$labels['none'] = '없음';
$labels['fromset'] = '세트로부터';
$labels['fromfile'] = '파일로부터';
$labels['filterdisabled'] = '필터가 비활성화됨';
$labels['filterenabled'] = '필터 활성화됨';
$labels['countisgreaterthan'] = '개수가 다음보다 큼';
$labels['countisgreaterthanequal'] = '개수가 다음보다 크거나 같음';
$labels['countislessthan'] = '개수가 다음보다 작음';
@ -93,6 +112,18 @@ $labels['flagdeleted'] = '삭제됨';
$labels['flaganswered'] = '응답함';
$labels['flagflagged'] = '깃발로 표시함';
$labels['flagdraft'] = '임시 보관함';
$labels['addheader'] = '메시지에 머리글 추가';
$labels['deleteheader'] = '메시지에서 머리글 제거';
$labels['headername'] = '머리글 이름';
$labels['headervalue'] = '머리글 값';
$labels['headerpos'] = '머리글 위치';
$labels['headeratstart'] = '시작 지점에';
$labels['headeratend'] = '끝 지점에';
$labels['headeroccurrence'] = '머리글 존재/위치';
$labels['headerfromstart'] = '시작부터';
$labels['headerfromend'] = '끝부터';
$labels['headerpatterns'] = '머리글 값 패턴';
$labels['headermatchtype'] = '일치 유형:';
$labels['setvariable'] = '변수 설정';
$labels['setvarname'] = '변수명:';
$labels['setvarvalue'] = '변수 값:';
@ -157,26 +188,33 @@ $labels['asciicasemap'] = '대/소문자 구분 (ascii-casemap)';
$labels['asciinumeric'] = '숫자 (ascii-numeric)';
$labels['index'] = '색인:';
$labels['indexlast'] = '역방향';
$labels['vacation'] = '자리비움';
$labels['vacation.reply'] = '메시지 회신';
$labels['vacation.advanced'] = '고급 설정';
$labels['vacation.from'] = '회신 시 보내는 사람 주소';
$labels['vacation.subject'] = '제목';
$labels['vacation.body'] = '본문';
$labels['vacation.start'] = '시작 시간';
$labels['vacation.end'] = '종료 시간';
$labels['vacation.status'] = '상태';
$labels['vacation.on'] = '켬';
$labels['vacation.off'] = '끔';
$labels['vacation.addresses'] = '내 이메일 주소';
$labels['vacation.interval'] = '회신 주기';
$labels['vacation.after'] = '다음 이후에 자리비움 규칙 두기';
$labels['vacation.saving'] = '데이터를 저장하는 중...';
$labels['vacation.action'] = '수신 메시지 동작';
$labels['vacation.keep'] = '보관';
$labels['vacation.discard'] = '폐기';
$labels['vacation.redirect'] = '재전송';
$labels['vacation.copy'] = '사본을 다음 대상에게 전송';
$labels['forward'] = '전달';
$labels['forward.redirect'] = '재전송';
$labels['forward.copy'] = '사본을 다음 대상에게 전송';
$labels['forward.on'] = '켬';
$labels['forward.off'] = '끔';
$labels['forward.status'] = '상태:';
$labels['forward.action'] = '받은 메일에 대해 다음 동작을 실행:';
$labels['forward.saving'] = '데이터를 저장하는 중...';
$labels['filladdresses'] = '내 이메일 주소로 모두 채우기';
$labels['arialabelfiltersetactions'] = '필터 세트 동작';
@ -186,6 +224,7 @@ $labels['ariasummaryfilterslist'] = '필터 목록';
$labels['ariasummaryfiltersetslist'] = '필터 세트 목록';
$labels['filterstitle'] = '수신 메일 필터 편집';
$labels['vacationtitle'] = '자리비움 규칙 편집';
$labels['forwardtitle'] = '메일 전달 규칙 편집';
$labels['message'] = '메시지';
$labels['duplicate'] = '중복임';
$labels['notduplicate'] = '중복 아님';
@ -207,6 +246,16 @@ $messages['actiondeleteconfirm'] = '정말로 선택한 동작을 삭제하시
$messages['forbiddenchars'] = '필드에 금지된 문자가 존재합니다.';
$messages['cannotbeempty'] = '필드는 비어둘 수 없습니다.';
$messages['ruleexist'] = '지정한 이름의 필터가 이미 존재합니다.';
$messages['setactivateerror'] = '선택한 필터 세트를 활성화할 수 없습니다. 서버 오류가 발생했습니다.';
$messages['setdeactivateerror'] = '선택한 필터 세트를 비활성화할 수 없습니다. 서버 오류가 발생했습니다.';
$messages['setdeleteerror'] = '선택한 필터 세트를 삭제할 수 없습니다. 서버 오류가 발생했습니다.';
$messages['setactivated'] = '필터 세트가 성공적으로 활성화되었습니다.';
$messages['setdeactivated'] = '필터 세트가 성공적으로 비활성화되었습니다.';
$messages['setdeleted'] = '필터 세트가 성공적으로 삭제되었습니다.';
$messages['setupdated'] = '필터 세트가 성공적으로 업데이트되었습니다.';
$messages['setdeleteconfirm'] = '정말 선택한 필터 세트를 삭제하시겠습니까?';
$messages['setcreateerror'] = '필터 세트를 생성하지 못했습니다. 서버 오류가 발생했습니다.';
$messages['setcreated'] = '필터 세트를 성공적으로 생성했습니다.';
$messages['activateerror'] = '선택한 필터를 활성화할 수 없습니다. 서버 오류가 발생했습니다.';
$messages['deactivateerror'] = '선택한 필터를 비활성화할 수 없습니다. 서버 오류가 발생했습니다.';
$messages['deactivated'] = '필터가 성공적으로 비활성화되었습니다.';
@ -219,5 +268,10 @@ $messages['setexist'] = '세트가 이미 존재합니다.';
$messages['nodata'] = '최소 하나의 위치가 선택되어야 합니다!';
$messages['invaliddateformat'] = '유효하지 않은 날짜 또는 날짜 일부 형식';
$messages['saveerror'] = '데이터를 저장할 수 없습니다.. 서버 오류가 발생했습니다.';
$messages['vacationsaved'] = '자리비움 데이터를 성공적으로 저장했습니다.';
$messages['forwardsaved'] = '전달 데이터를 성공적으로 저장했습니다.';
$messages['emptyvacationbody'] = '휴가 메시지의 본문이 필요합니다!';
$messages['duplicate.conflict.err'] = '머리글 및 유일 식별자가 허용되지 않음.';
$messages['disabledaction'] = '동작이 허용되지 않았습니다.';
$messages['lastindexempty'] = '끝에서부터 세려면 인덱스 숫자가 필요합니다';
$messages['noflagset'] = '최소 하나의 깃발이 선택되어야 합니다.';

@ -91,6 +91,7 @@ $labels['none'] = 'joks';
$labels['fromset'] = 'iš rinkinio';
$labels['fromfile'] = 'iš failo';
$labels['filterdisabled'] = 'Filtras išjungtas';
$labels['filterenabled'] = 'Filtras įjungtas';
$labels['countisgreaterthan'] = 'kiekis didesnis nei';
$labels['countisgreaterthanequal'] = 'kiekis didesnis arba lygus';
$labels['countislessthan'] = 'kiekis mažesnis nei';
@ -273,3 +274,4 @@ $messages['emptyvacationbody'] = 'Atostogų pranešimui turinys būtinas!';
$messages['duplicate.conflict.err'] = 'Naudojimas antraštės ir identifikatoriaus kartu yra draudžiamas, negalimas.';
$messages['disabledaction'] = 'Veiksmas neleistinas.';
$messages['lastindexempty'] = 'Skaičiuojant nuo pabaigos yra reikalingas turinys';
$messages['noflagset'] = 'Privalo būti pasirinktas bent vienas požymis.';

@ -91,6 +91,7 @@ $labels['none'] = 'brak';
$labels['fromset'] = 'ze zbioru';
$labels['fromfile'] = 'z pliku';
$labels['filterdisabled'] = 'Filtr wyłączony';
$labels['filterenabled'] = 'Filtr włączony';
$labels['countisgreaterthan'] = 'ilość jest większa od';
$labels['countisgreaterthanequal'] = 'ilość jest równa lub większa od';
$labels['countislessthan'] = 'ilość jest mniejsza od';

@ -91,6 +91,7 @@ $labels['none'] = 'nehnum';
$labels['fromset'] = 'definição de';
$labels['fromfile'] = 'a partir do ficheiro';
$labels['filterdisabled'] = 'Filtro desactivado';
$labels['filterenabled'] = 'Filtro activado';
$labels['countisgreaterthan'] = 'contagem é maior que';
$labels['countisgreaterthanequal'] = 'contagem é maior ou igual a';
$labels['countislessthan'] = 'contagem é menor que';
@ -103,13 +104,13 @@ $labels['valueislessthan'] = 'valor é menor que';
$labels['valueislessthanequal'] = 'valor é menor ou igual a';
$labels['valueequals'] = 'valor é igual a';
$labels['valuenotequals'] = 'o valor não é igual a';
$labels['setflags'] = 'Definir indicadores para a mensagem';
$labels['addflags'] = 'Adicionar indicadores para a mensagem';
$labels['removeflags'] = 'Eliminar indicadores da mensagem';
$labels['setflags'] = 'Definir sinalizadores para a mensagem';
$labels['addflags'] = 'Adicionar sinalizadores à mensagem';
$labels['removeflags'] = 'Eliminar sinalizadores da mensagem';
$labels['flagread'] = 'Lida';
$labels['flagdeleted'] = 'Eliminada';
$labels['flaganswered'] = 'Respondida';
$labels['flagflagged'] = 'Marcada';
$labels['flagflagged'] = 'Sinalizada';
$labels['flagdraft'] = 'Rascunho';
$labels['addheader'] = 'Adicionar cabeçalho à mensagem';
$labels['deleteheader'] = 'Remover cabeçalho da mensagem';
@ -273,3 +274,4 @@ $messages['emptyvacationbody'] = 'É necessário o corpo da mensagem de férias!
$messages['duplicate.conflict.err'] = 'Ambos, cabeçalho e identificador único, não são permitidos.';
$messages['disabledaction'] = 'Ação não permitida.';
$messages['lastindexempty'] = 'É necessário o índice quando se conta a partir do fim';
$messages['noflagset'] = 'Deve seleccionar pelo menos um sinalizador.';

@ -91,6 +91,7 @@ $labels['none'] = 'žiadne';
$labels['fromset'] = 'zo súpravy';
$labels['fromfile'] = 'zo súboru';
$labels['filterdisabled'] = 'Filter vypnutý';
$labels['filterenabled'] = 'Filter zapnutý';
$labels['countisgreaterthan'] = 'počet je väčší ako';
$labels['countisgreaterthanequal'] = 'počet je väčší alebo rovný ako';
$labels['countislessthan'] = 'počet je menší ako';

@ -28,7 +28,7 @@ $labels['moveup'] = 'Ngjitu sipër';
$labels['movedown'] = 'Ulu poshtë';
$labels['filterallof'] = 'që ka përputhje me krejt rregullat vijues';
$labels['filteranyof'] = 'që ka përputhje me cilindo nga rregullat vijues';
$labels['filterany'] = 'të gjitha mesazhet';
$labels['filterany'] = 'krejt mesazhet';
$labels['filtercontains'] = 'përmban';
$labels['filternotcontains'] = 'nuk përmban';
$labels['filteris'] = 'është baras me';
@ -91,6 +91,7 @@ $labels['none'] = 'asnjë';
$labels['fromset'] = 'prej grupi';
$labels['fromfile'] = 'prej kartele';
$labels['filterdisabled'] = 'Filtër i çaktivizuar';
$labels['filterenabled'] = 'Filtri u aktivizua';
$labels['countisgreaterthan'] = 'numri është më i madh se';
$labels['countisgreaterthanequal'] = 'numri është më i madh ose baras me';
$labels['countislessthan'] = 'numri është më i vogël se';
@ -272,3 +273,4 @@ $messages['emptyvacationbody'] = 'Lënda e mesazhit të pushimeve është e domo
$messages['duplicate.conflict.err'] = 'Slejohet përdorimi i njëkohshëm i kryes dhe identifikuesit unik.';
$messages['disabledaction'] = 'Veprim jo i lejuar.';
$messages['lastindexempty'] = 'Treguesi është i domosdoshëm kur numërohet nga fundi';
$messages['noflagset'] = 'Duhet përzgjedhur të paktën një shenjë';

@ -21,6 +21,7 @@ $labels['filtername'] = 'Назив филтера';
$labels['newfilter'] = 'Нови филтер';
$labels['filteradd'] = 'Додај филтер';
$labels['filterdel'] = 'Обриши филтер';
$labels['actions'] = 'Радње';
$labels['scope'] = 'Распон';
$labels['moveup'] = 'Помери горе';
$labels['movedown'] = 'Помери доле';

@ -91,6 +91,7 @@ $labels['none'] = 'ingen';
$labels['fromset'] = 'från grupp';
$labels['fromfile'] = 'från fil';
$labels['filterdisabled'] = 'Filter inaktiverat';
$labels['filterenabled'] = 'Filter aktiverat';
$labels['countisgreaterthan'] = 'antal är större än';
$labels['countisgreaterthanequal'] = 'antal är större än eller lika med';
$labels['countislessthan'] = 'antal är mindre än';

@ -57,7 +57,7 @@ $labels['messagecopyto'] = 'İletiyi şuraya kopyala';
$labels['messagesendcopy'] = 'İletinin kopyasını şuraya gönder';
$labels['messagereply'] = 'İletiyle birlikte yanıtla';
$labels['messagedelete'] = 'İletiyi sil';
$labels['messagediscard'] = 'İletiyi yoksay';
$labels['messagediscard'] = 'İletiyi yok say';
$labels['messagekeep'] = 'İletiyi Gelen Kutusunda tut';
$labels['messagesrules'] = 'Gelen iletiler için:';
$labels['messagesactions'] = '...aşağıdaki işlemleri yürüt:';
@ -65,11 +65,11 @@ $labels['add'] = 'Ekle';
$labels['del'] = 'Sil';
$labels['sender'] = 'Gönderici';
$labels['recipient'] = 'Alıcı';
$labels['vacationaddr'] = 'E-Posta adreslerim:';
$labels['vacationaddr'] = 'E-posta adreslerim:';
$labels['vacationdays'] = 'İleti gönderme sıklığı (gün):';
$labels['vacationinterval'] = 'İleti gönderme sıklığı:';
$labels['vacationreason'] = 'İleti gövdesi (tatil nedeni):';
$labels['vacationfrom'] = 'Yanıt Adresi:';
$labels['vacationfrom'] = 'Gönderen adresine yanıtla:';
$labels['vacationsubject'] = 'İleti konusu:';
$labels['days'] = 'günler';
$labels['seconds'] = 'saniye';
@ -91,6 +91,7 @@ $labels['none'] = 'hiçbiri';
$labels['fromset'] = 'gönderi seti';
$labels['fromfile'] = 'gönderici dosya';
$labels['filterdisabled'] = 'Süzgeç devre dışı';
$labels['filterenabled'] = 'Süzgeç etkin';
$labels['countisgreaterthan'] = 'toplamı büyük';
$labels['countisgreaterthanequal'] = 'toplamı büyük ya da eşit';
$labels['countislessthan'] = 'toplamı az';
@ -190,7 +191,7 @@ $labels['indexlast'] = 'geriye yönelik';
$labels['vacation'] = 'Ofis Dışında';
$labels['vacation.reply'] = 'İletiyi yanıtla';
$labels['vacation.advanced'] = 'Gelişmiş ayarlar';
$labels['vacation.from'] = 'Yanıt Adresi';
$labels['vacation.from'] = 'Gönderen adresine yanıtla';
$labels['vacation.subject'] = 'Konu';
$labels['vacation.body'] = 'Metin';
$labels['vacation.start'] = 'Başlangıç saati';
@ -198,13 +199,13 @@ $labels['vacation.end'] = 'Bitiş saati';
$labels['vacation.status'] = 'Durum';
$labels['vacation.on'] = 'Etkin';
$labels['vacation.off'] = 'Devre dışı';
$labels['vacation.addresses'] = 'E-Posta adreslerim';
$labels['vacation.addresses'] = 'E-posta adreslerim';
$labels['vacation.interval'] = 'Yanıt aralığı';
$labels['vacation.after'] = 'Ofis dışında kuralını şunun arkasına koy';
$labels['vacation.saving'] = 'Veriler kaydediliyor...';
$labels['vacation.action'] = 'Gelen ileti işlemi';
$labels['vacation.keep'] = 'Koru';
$labels['vacation.discard'] = 'Yoksay';
$labels['vacation.discard'] = 'Yok say';
$labels['vacation.redirect'] = 'Şuraya yönlendir';
$labels['vacation.copy'] = 'Şuraya kopya gönder';
$labels['forward'] = 'İletiliyor';
@ -273,3 +274,4 @@ $messages['emptyvacationbody'] = 'Tatil iletisi metnini yazmalısınız!';
$messages['duplicate.conflict.err'] = 'Üst bilgi ve tekil belirteç aynı anda kullanılamaz.';
$messages['disabledaction'] = 'İşleme izin verilmiyor!';
$messages['lastindexempty'] = 'Sondan sayılırken dizin gereklidir';
$messages['noflagset'] = 'En az bir işaret seçilmelidir.';

@ -91,6 +91,7 @@ $labels['none'] = '無';
$labels['fromset'] = '從集合';
$labels['fromfile'] = '從檔案';
$labels['filterdisabled'] = '篩選已停用';
$labels['filterenabled'] = '已啟用篩選';
$labels['countisgreaterthan'] = '數量大於';
$labels['countisgreaterthanequal'] = '數量大於或等於';
$labels['countislessthan'] = '數量小於';

@ -104,9 +104,6 @@ if (window.rcmail) {
$('tr', rcmail.gui_objects.filtersetslist).each(function (i, e) { rcmail.managesieve_fixdragend(e); });
}
}
if (rcmail.gui_objects.sieveform && rcmail.env.rule_disabled)
$('#disabled').attr('checked', true);
});
};
@ -276,7 +273,7 @@ rcube_webmail.prototype.managesieve_updatelist = function(action, o)
// update row id
if (rowid > id) {
this.uid = rowid - 1;
this.uid = String(rowid - 1);
$(this).attr('id', 'rcmrow' + this.uid);
}
});
@ -295,7 +292,7 @@ rcube_webmail.prototype.managesieve_updatelist = function(action, o)
else
row.removeClass('disabled');
$('#disabled', $('iframe').contents()).prop('checked', o.disabled);
$('#fenabled', $('iframe').contents()).prop('checked', !o.disabled);
break;
@ -426,13 +423,11 @@ rcube_webmail.prototype.load_managesieveframe = function(add_url, reset)
if (reset)
this.reset_filters_list();
if (this.env.contentframe && window.frames && window.frames[this.env.contentframe]) {
var lock = this.set_busy(true, 'loading'),
target = window.frames[this.env.contentframe];
var target = this.get_frame_window(this.env.contentframe),
url = this.url('plugin.managesieve-action', '_framed=1' + (add_url ? ('&' + add_url) : ''));
target.location.href = this.env.comm_path
+ '&_action=plugin.managesieve-action&_framed=1&_unlock=' + lock
+ (add_url ? ('&' + add_url) : '');
if (target) {
this.location_href(url, target, true);
}
};
@ -684,7 +679,7 @@ function rule_header_select(id)
rule.val('contains');
rule_op_select(op, id, h);
rule_mod_select(id, h);
rule_mod_select(id, h, !is_header);
rule_mime_select(id);
obj.style.width = h == '...' ? '40px' : '';
@ -708,13 +703,16 @@ function rule_trans_select(id)
target.style.display = obj.value != 'content' ? 'none' : 'inline';
};
function rule_mod_select(id, header)
function rule_mod_select(id, header, reset)
{
var obj = document.getElementById('rule_mod_op' + id),
target = document.getElementById('rule_mod_type' + id),
duplicate = document.getElementById('rule_duplicate_div' + id),
index = document.getElementById('rule_index_div' + id);
if (reset)
obj.value = '';
if (!header)
header = document.getElementById('header' + id).value;

@ -1,5 +1,4 @@
#filtersetslistbox
{
#filtersetslistbox {
position: absolute;
top: 0;
bottom: 0;
@ -10,8 +9,7 @@
overflow: hidden;
}
#filtersscreen
{
#filtersscreen {
position: absolute;
top: 0;
right: 0;
@ -19,13 +17,11 @@
left: 205px;
}
#filtersscreen.nosetlist
{
#filtersscreen.nosetlist {
left: 0;
}
#filterslistbox
{
#filterslistbox {
position: absolute;
left: 0;
top: 0;
@ -35,34 +31,29 @@
}
#filterslist,
#filtersetslist
{
#filtersetslist {
width: 100%;
table-layout: fixed;
}
#filterslist tbody td,
#filtersetslist tbody td
{
#filtersetslist tbody td {
cursor: default;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
#filterslist tbody tr.disabled td,
#filtersetslist tbody tr.disabled td
{
#filtersetslist tbody tr.disabled td {
color: #999999;
text-decoration: line-through;
text-decoration: line-through;
}
#filtersetslist tbody td
{
#filtersetslist tbody td {
font-weight: bold;
}
/*
#filtersetslist tr.selected
{
#filtersetslist tr.selected {
background-color: #929292;
border-bottom: 1px solid #898989;
color: #FFF;
@ -70,20 +61,17 @@
}
*/
#filterslist tbody tr.filtermoveup td
{
#filterslist tbody tr.filtermoveup td {
border-top: 2px dotted #555;
padding-top: 0px;
}
#filterslist tbody tr.filtermovedown td
{
#filterslist tbody tr.filtermovedown td {
border-bottom: 2px dotted #555;
padding-bottom: 1px;
}
#filter-box
{
#filter-box {
position: absolute;
top: 0;
right: 0;
@ -92,37 +80,39 @@
overflow: hidden;
}
#filter-frame
{
#filter-frame {
border: none;
}
body.iframe
{
body.iframe {
min-width: 620px;
width: expression(Math.max(620, document.documentElement.clientWidth)+'px');
background-color: #F2F2F2;
}
#filter-form
{
#filter-form {
min-width: 550px;
width: expression(Math.max(550, document.documentElement.clientWidth)+'px');
white-space: nowrap;
padding: 20px 10px 10px 10px;
}
#filter-form legend, #filter-form label
{
#filter-form legend,
#filter-form label {
color: #666666;
}
filter-form .col-form-label {
#filter-form .col-sm-4,
#filter-form .col-form-label {
display: inline-block;
min-width: 75px;
min-width: 100px;
line-height: 2.5;
}
#filter-form input[type=checkbox] {
margin: 0;
}
#filter-form .col-form-label + div {
display: inline;
}
@ -131,48 +121,45 @@ filter-form .col-form-label {
margin: 0;
}
#rules, #actions
{
#rules,
#actions {
margin-top: 5px;
padding: 0;
border-collapse: collapse;
}
div.rulerow, div.actionrow
{
div.rulerow,
div.actionrow {
width: auto;
padding: 2px;
white-space: nowrap;
border: 1px solid #F2F2F2;
}
div.rulerow:hover, div.actionrow:hover
{
div.rulerow:hover,
div.actionrow:hover {
padding: 2px;
white-space: nowrap;
background: #F9F9F9;
border: 1px solid silver;
}
div.rulerow table, div.actionrow table
{
div.rulerow table,
div.actionrow table {
padding: 0px;
min-width: 600px;
width: expression(Math.max(600, document.documentElement.clientWidth)+'px');
}
td
{
td {
vertical-align: top;
}
td.advbutton
{
td.advbutton {
width: 1%;
}
td.advbutton a
{
td.advbutton a {
display: block;
padding-top: 14px;
height: 14px;
@ -184,136 +171,116 @@ td.advbutton a span {
display: none;
}
td.advbutton a.show
{
td.advbutton a.show {
background: url(images/down_small.gif) center no-repeat;
}
td.advbutton a.hide
{
td.advbutton a.hide {
background: url(images/up_small.gif) center no-repeat;
}
td.rowbuttons
{
td.rowbuttons {
text-align: right;
white-space: nowrap;
width: 1%;
}
td.rowactions
{
td.rowactions {
white-space: nowrap;
width: 1%;
padding-top: 2px;
}
td.rowtargets
{
td.rowtargets {
white-space: nowrap;
width: 98%;
padding-left: 3px;
padding-top: 2px;
}
td.rowtargets > div
{
td.rowtargets > div {
vertical-align: top;
margin-top: 2px;
}
td.rowtargets div.adv
{
td.rowtargets div.adv {
padding-top: 3px;
}
td.rowtargets div.adv span.label
{
td.rowtargets div.adv span.label {
display: inline-block;
padding-right: 10px;
min-width: 65px;
}
td.rowtargets div a
{
td.rowtargets div a {
margin-left: 10px;
}
td.rowtargets div.adv input
{
td.rowtargets div.adv input {
margin-bottom: 1px;
}
input.disabled, input.disabled:hover
{
input.disabled,
input.disabled:hover {
color: #999999;
}
input.error, textarea.error
{
input.error,
textarea.error {
background-color: #FFFF88;
}
input.box,
input.radio
{
input.radio {
border: 0;
margin-top: 0;
}
select.operator_selector
{
select.operator_selector {
width: 200px;
vertical-align: top;
}
td.rowtargets span,
td.rowtargets label,
span.label
{
span.label {
color: #666666;
font-size: 10px;
white-space: nowrap;
}
td.rowtargets label
{
td.rowtargets label {
color: black;
}
#footer
{
#footer {
padding-top: 5px;
width: 100%;
}
#footer .footerleft
{
#footer .footerleft {
padding-left: 2px;
white-space: nowrap;
float: left;
}
#footer .footerright
{
#footer .footerright {
padding-right: 2px;
white-space: nowrap;
text-align: right;
float: right;
}
.itemlist
{
.itemlist {
line-height: 25px;
}
.itemlist input
{
.itemlist input {
vertical-align: middle;
}
span.sieve.error
{
span.sieve.error {
color: red;
}
@ -321,8 +288,7 @@ span.sieve.error
display: none;
}
a.button.add
{
a.button.add {
background: url(images/add.png) no-repeat;
width: 30px;
height: 20px;
@ -330,16 +296,14 @@ a.button.add
display: inline-block;
}
a.button.del
{
a.button.del {
background: url(images/del.png) no-repeat;
width: 30px;
height: 20px;
display: inline-block;
}
a.button.disabled
{
a.button.disabled {
opacity: 0.35;
filter: alpha(opacity=35);
cursor: default;
@ -347,15 +311,13 @@ a.button.disabled
#filter-form select,
#filter-form input,
#filter-form textarea
{
#filter-form textarea {
font-size: 11px;
vertical-align: middle;
}
/* smart multi-row input field */
.listarea
{
.listarea {
border: 1px solid #666;
margin: 0;
padding: 1px;
@ -365,14 +327,12 @@ a.button.disabled
vertical-align: middle;
}
td.rowtargets > span.listarea
{
td.rowtargets > span.listarea {
vertical-align: top;
margin-top: 2px;
}
.listelement
{
.listelement {
display: block;
white-space: nowrap;
background-color: #fff;
@ -384,18 +344,15 @@ td.rowtargets > span.listarea
line-height: 16px;
}
.listarea.error .listelement
{
.listarea.error .listelement {
background-color: #FFFF88;
}
.listelement:first-child
{
.listelement:first-child {
border-top: none;
}
#filter-form .listelement input
{
#filter-form .listelement input {
border: none;
border-radius: 0;
box-shadow: none;
@ -408,13 +365,11 @@ td.rowtargets > span.listarea
background-color: transparent;
}
.listelement input:focus
{
.listelement input:focus {
box-shadow: none;
}
.listelement .reset
{
.listelement .reset {
display: inline-block;
width: 16px;
height: 16px;
@ -425,14 +380,12 @@ td.rowtargets > span.listarea
/* fixes for popup window */
body.iframe.mail
{
body.iframe.mail {
margin: 0;
padding: 0;
}
body.iframe.mail #filter-form
{
body.iframe.mail #filter-form {
padding: 10px 5px 5px 5px;
}

@ -51,12 +51,10 @@
font-weight: bold;
}
#managesieve-tip
{
#managesieve-tip {
z-index: 100000;
}
span.sieve.error
{
span.sieve.error {
color: red;
}

@ -17,10 +17,6 @@
<div class="footerleft">
<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" />
</div>
<div class="footerright">
<label for="disabled"><roundcube:label name="managesieve.filterdisabled" /></label>
<input type="checkbox" id="disabled" name="_disabled" value="1" />
</div>
</div>
<roundcube:endif />

@ -95,8 +95,8 @@ body.iframe
padding: 20px 10px 10px 10px;
}
#filter-form legend, #filter-form label
{
#filter-form legend,
#filter-form label {
color: #666666;
vertical-align: middle;
}
@ -105,12 +105,17 @@ body.iframe
border: none;
}
#filter-form .col-sm-4,
#filter-form .col-form-label {
display: inline-block;
min-width: 75px;
min-width: 100px;
line-height: 2.5;
}
#filter-form input[type=checkbox] {
margin: 0;
}
#filter-form .col-form-label + div {
display: inline;
}
@ -352,6 +357,7 @@ span.sieve.error
vertical-align: middle;
max-width: 280px;
}
/* revert larry style button */
#filter-form input.button
{

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save